@charset "UTF-8";
/* CSS Document */

/*ベース*/

body{font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    max-width: 1920px;
    margin: auto;
	text-align: center;
	padding:auto; 
    position: relative;	
    letter-spacing: .1rem;
    line-height: 2rem;
}

.of-x{overflow-x: hidden;}
    
.sp {display: block !important;}
  .pc {display: none !important;}


a{color:black;}
a:visit{color:black;}
a:hover{color:lightgray;}



.wrap{width:80%;
margin: auto;}

.mother{position: relative;}

/*分割*/
.calam2{flex: 1 1 50%; }
.calam3{flex: 1 1 33%; }
.calam4{flex: 1 1 25%; }



/*ボックス系*/
.box1{content: "";
    width:100%;
max-height:350px;
    overflow-y: hidden;
    
}

.box2{content: "";
    width:100%;
max-height:250px;
    overflow-y: hidden;}

.box1 img{object-fit: cover;
width:100%;}

.box2 img{ object-fit: cover;
object-position: center center;
width:100%;}


/*ヘッダー*/
header{position: fixed;
width:100%;
z-index: 99;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header img{width:50px;
    display: inline-block;
    float:left;
}


/*セクション*/
section{margin-top: 3rem;
}

 .news ul{font-size: .8rem;
    width:95%;
}
    
#news li{border-bottom: 1px solid #176FC7;
margin-bottom: 1rem;
padding-left: 1rem;}


/*サブページ用*/
.sub-top{
    width:70%;
margin-left: auto;
object-fit: cover;
    object-position: top;
height:700px;}

.sub-text{position: absolute;
z-index: 98;
top:30%;
left:0;
width:70%;
font-size: .8rem;
padding-right: 1rem;}


.images{width:100%;
aspect-raito:5/2;
margin: 0;}

.images img{width: 100%;
  object-fit: cover;}



/*背景*/

.bg-blue{background-color:#D0E8FF;}
.bg-blue2{background-color:#176FC7;}
.bg-white{background-color:#FFFFFF;}

/*ボタン*/
.button{background-color:#176FC7;
    border-radius: 30px;
text-align: center;
margin: auto;
width:80%;
}

.form{
position: fixed;
top:80%;
z-index: 999;
background-color:#176FC7;
    border-radius: 30px;
color:white;
width:auto;
    padding: 1rem 2rem;
right:10px;}

/*文字*/
h3,h2{margin-bottom: 1rem;}

p{margin-bottom: .8rem;}

.pink{color:#EC848E;
font-weight: 800;}

.blue{color:#176FC7;
font-weight: 800;}

.access{font-weight: 800;
    text-align: left;
    width:80%;
    margin: auto;
}

.title{color:white;}

/*バナー系*/
.menu{
     background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
}

.mbg1{background-image: url("../img/top3.jpg");}

.mbg2{background-image: url("../img/top2.jpg");
}

.mbg3{background-image: url("../img/ie.jpg");
}
/*テキストボックス*/
.text-box{
margin: auto;
text-align: left;
width:70%;
}


.text-box2{display: inline-block;
    opacity: .8;
    margin:2rem 0;
    padding:2rem 1rem 3rem 2rem;
    text-align: left;
}

.bnr{margin:1rem auto;
text-align: center;
border-radius: 10px;
}

.pc-bnr3{width:47%;
padding: 1rem;
}


/*位置*/
.flex2{display: flex;
    flex-direction: column;}


.flex{flex-wrap: wrap;
}  

.logo{width:40%;}



/*テーブル*/
table {border: 1px solid gray;
border-collapse:collapse;
border-spacing: 0;
margin: auto;
width:90%;
}

td{text-align: left;
padding: 2rem;}

tr:first-child th{background: linear-gradient(270deg,rgba(245, 204, 248, 1) 0%, rgba(213, 40, 106, 1) 100%); 
color:white;
    padding:1rem;
border-bottom:none;}


tr {border-bottom: 1px solid gray;
padding: 1.5rem;}

th{background-color: lightgray;
padding:.8rem;}

table a{color:black;}

/*topスライドショー*/
.top{width:100%;
height:800px;
padding-top: 80px;
margin-bottom: 10rem;}

.top-text{position: absolute;
font-size: .8rem;
z-index: 98;
left: 0;
top:30%;
padding-right: 2rem;}



.slide img{object-fit: cover;
    object-position: top;
width: 100%;
height:800px;}


@keyframes slide {
  0% { opacity: 0; }
  20% { opacity: 1; }
  60% { opacity: 1; }
  80% { opacity: 0; }
  100% { opacity: 0; }
}

.slide:nth-child(1) {
  animation: slide 9s infinite;
}

.slide:nth-child(2) {
  animation: slide 9s 3s infinite;
}

.slide:nth-child(3) {
  animation: slide 9s 6s infinite;
}

 /*フッター*/
    


    /* ハンバーガーアイコン */
.hamburger {
  width: 30px;
  height: 30px;
  display: flex;
  justify-content:space-around;
  cursor: pointer;
  margin-left:auto;
  margin-right: 5px;
  z-index: 1001; /* メニューより前 */
}

.hamburger span {
  display: block;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  transition: 0.3s;
  margin: .2rem;
      z-index: 3;
}

/* メニュー */
.nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 70%;
  height: 100vh;
  background: rgba(0,0,0,0.9);
  color: #fff;
  transition: right 0.3s ease;
  z-index: 1000;
}

.nav ul {
  list-style: none;
  padding: 80px 20px;
  margin: 0;
}
.nav li {
  margin-bottom: 20px;
    display: block;
}
.nav a {
  color: #fff;
  text-decoration: none;
  font-size: 1rem;
}


    
/* メニュー開いた状態 */
.nav.open {
  right: 0;
}

/* ハンバーガー開いた時のアニメーション */
.hamburger.open span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.hamburger.open span:nth-child(2) {
  opacity: 0;
}
.hamburger.open span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/*ここからPCの表示*/
@media screen and (min-width : 768px){


.sp {display: none !important;}
.pc {display: block !important;}

/*ヘッダー*/

    
header ul{text-align: right;
margin-right: 0;
}
header li{display: inline-block;
}
header a{color: white;}

    
/*分割*/
.calam2{flex: 1 1 50%; }
.calam3{flex: 1 1 33%; }
.calam4{flex: 1 1 25%; }



/**/
    .pc-flex{display: flex;
        flex-wrap: wrap;
    justify-content:space-between;
    align-items: stretch;}
    
    .pc-bnr{flex: 1 1 30%;
    padding:1rem;}
    
    .pc-bnr2{max-width: 33%;
        padding:1rem;}
    
    .pc-bnr3{width:23%;
      padding:2rem;
    }
}
