@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display&display=swap');



.primary_c{
color: #006aad;
}

.secondary_c{
color: #0087ef;
}

.secondary_bg{
background-color: #0087ef;
}

.tertiary_c{
color: #006aad;
}

.tertiary_bg{
background-color: #0046AB;
}

.bg_c1{
background-color: #B7DEFD;
}

.complementary_c{
color: #ee5300;
}


.txt_ruby{
font-size: .8em;
vertical-align: top;
}


/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/

.box{
opacity: 0;
}

/*==================================================
ふわっ
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
from {
opacity: 0;
transform: translateY(100px);
}

to {
opacity: 1;
transform: translateY(0);
}

}



.effect-fade {
opacity: 0;
transform: translate(0, 50px); /* フェードインで動く高さを指定 */
transition: all 1000ms; /* フェードインにかかる時間を指定 */
}
.effect-scroll {
opacity: 1;
transform: translate(0, 0);
}

.effect-fade {
opacity: 0;
transform: translate(0, 50px);
transition: all 1000ms;
}
.effect-scroll {
opacity: 1;
transform: translate(0, 0);
}
/* 以下が追加の部分 */
/* 2つ目の要素に400msのdelayをかける */
.effect-fade:nth-of-type(2) {
-moz-transition-delay: 400ms;
-webkit-transition-delay: 400ms;
-o-transition-delay: 400ms;
-ms-transition-delay: 400ms;
}
/* 3つ目の要素に800msのdelayをかける */
.effect-fade:nth-of-type(3) {
-moz-transition-delay: 800ms;
-webkit-transition-delay: 800ms;
-o-transition-delay: 800ms;
-ms-transition-delay: 800ms;
}
/* 4つ目の要素に800msのdelayをかける */
.effect-fade:nth-of-type(3) {
-moz-transition-delay: 1200ms;
-webkit-transition-delay: 1200ms;
-o-transition-delay: 1200ms;
-ms-transition-delay: 1200ms;
}




/* PC */
@media screen and (min-width:751px) {

.swiper {
width: 100%;
margin-top: 17rem;
}

.headerfix{
/* position: fixed; */
top:0;
width: 100%;
z-index: 10;
/*background: #fff;*/
z-index: 999;
}

/* header */

header{
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
z-index: 1;
position: relative;
padding: 1.8rem 0;
background: rgb(37 169 224);
}

.header1{
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.header2{
width: 380px;
}
.header2 h1 a:hover{
opacity: 1;
}

.header2 h1 a img{
width: 100%;
}

.header3{
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
}

.header4{
display: flex;
flex-wrap: wrap;
align-items: center;
text-align: center;
margin-right: 30px;
}

.header4:last-child{
margin-right: 0;
}

.header6{
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
flex-direction: column;
}


.header7{
width: 100%;
text-align: center;
font-size: 1.6rem;
margin-bottom: .8rem;
font-weight: 400;
letter-spacing: .2rem;
color: #fff;    
}

.header9{
width: 100%;
font-family: "Inter Tight", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}

.header9 a{
font-weight: 500;
line-height: 1;
letter-spacing: 0.15rem;
font-size: 2.8rem;
color: #fff;
display: flex;
align-items: center;  
justify-content: center;

}

.header9 a::before{
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 2.5rem;
height: 2.5rem;
margin-right: .3rem;
vertical-align: middle;
background-size: cover;
}

.header15{
width: 20rem;
text-align: center;
border-radius: 10px;
border: solid 1px #fff;    
}

.header15 a{
width: 100%;
color: #fff;
padding: 1.5rem 0;
font-size: 2rem;
display: block;
text-align: center;
}

.header15 a span.label {
font-size: 1.6rem;
top: -1.5rem;
left: calc(50% - 60px);
display: block;
width: 80%;
padding: 0.2rem 0;
color: #ffffff;
border-radius: 5px;
background: #006aad;
margin: 0 auto;
}

.header15 a span.label:before,
.header15 a span.label:after {
position: absolute;
left: calc(50% - 10px);

content: "";
}

.header15 a span.txt{    
display: flex;
align-items: center;
justify-content: center;
margin: 0 0 .2rem;
}
.header15 a span.txt::before{
content: "";
background: url("../images/ic_arrow5.svg");
display: inline-block;
width: 1.3rem;
height: 1.3rem;
margin-right: 1rem;
vertical-align: middle;
}

}


/* sp */
@media screen and (max-width:750px) {

/* header */

header{
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
height: 7rem;
position: fixed;
top: 0;
z-index: 100;
background: rgb(37 169 224);
}
.header1{
width: 100%;
margin: 0 5.5rem 0 0;
vertical-align: middle;
text-align: center;
}

.header2{
width: 100%;
margin: 0 auto;
}

.header2 h1{
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}

.header2 h1 a{
display: inline-block;
}

.header2 h1 a img{
height: 4.5rem;
}


.header3{
display: none;
width:100%;
margin: 0 auto;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
text-align: center;
}

.header4{
width: 30rem;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
background: #fff;
}

.header6{
width: 100%;
}

.header6 a{
font-size: 2.8rem;
font-weight: 500;
line-height: 1;
letter-spacing: 0.15rem;
align-items: baseline;
}

.header6 a::before{
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 2rem;
height: 2rem;
margin-right: .3rem;
vertical-align: middle;
}


.header7{
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.header9{
}

.header9 a{
display: block;
font-size: 2.5rem;
line-height: 1;
color: #63c06b;
width: 20rem;

}

.header9 div{
display: block;
font-size: 2.5rem;
line-height: 1;
color: #63c06b;
width: 20rem;

}

.header9 a span{

}

.header9 a span::before{
background: url("../images/ic_tel.svg");
display: inline-block;
width: 1.8rem;
height: 1.8rem;
margin: 0 .2rem 0 0;
vertical-align: middle;
}

}



/* PC */
@media screen and (min-width:751px) {

/* nav */


/*========= ドロップダウンのためのCSS ===============*/

/*==ナビゲーション全体の設定*/
nav{
text-align: center;
padding: .5rem 0;
border-top: solid 1px #fff;
}

/*ナビゲーションを横並びに*/
.navul, .navul2{
/*2階層目の基点にするためrelativeを指定*/
position: relative;
list-style: none;
display: flex;
justify-content: center;
/* max-width: 1120px; */
width: 1200px;    
margin: 0 auto;
}

.navul div.navulli1{
flex: 1; /* 各子要素に同じ幅を持たせる */
text-align: center;
}


.has-child{
margin: 0 0 0 0;   
}


/*2階層目以降は横並びにしない*/
.navul2{
display: block;
}

/*ナビゲーションのリンク設定*/
.navulli1 a,
.navulli2 a,
.has-child a
{
/*矢印の基点にするためrelativeを指定*/
position: relative;
display: block;
text-decoration: none;
padding: 1rem 0;
transition: all .3s;
font-size: 1.6rem;
color: #fff;
}

.navulli2 a{
padding:20px;
}

.navulli1 a:hover,
.navulli2 a:hover,
.has-child a:hover{
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/

.has-child > a::before{
position: absolute;
left:0;
top:60px;
width:6px;
height:6px;
border-top: 2px solid #fff;
border-right:2px solid #fff;
transform: rotate(135deg);
}

/*==2階層目以降の画像設定*/

.has-child img{
width: 70%;
height: auto;
transition: all .5s;
vertical-align: bottom;
border-radius: 31% 69% 44% 56% / 53% 30% 70% 47%;
}


/*== 2層目の設定 */

.navul2{
position: absolute;
top: 7rem;
z-index: 4;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
visibility: hidden;
opacity: 0;
transition: all .4s;
background: #B2EAF6;
width: 99vw;
width: 100%;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
/* border-top: 1px solid #DFDCD7; */
overflow: hidden;
}


/*hoverしたら表示*/
.has-child:hover > .has-childhover{
visibility: visible;
opacity: 1;
z-index: 100;
}

/*各ナビゲーション横幅*/
.navulli2{
/* background: #f8f6f3; */
display: flex;
align-items: center;
}

.navulli2b{
width: 25rem;
background: #f8f6f3;
display: flex;
align-items: center;}

.has-child-img{
width: 20rem;
display: flex;
justify-content: center;
align-items: center;

}

.has-child-2{
margin: 0 auto;
width: 100rem;
padding: 1rem 0;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.has-child-3{
width: 53rem;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: center;
}

/*ナビゲーションaタグの形状*/
.navulli2 a,
.navulli2b a{
font-size: 1.5rem;
text-align: left;
padding: 1.5rem 3rem;
position: relative;
background: #fff;
border-radius: 200px;
}

.navulli2 a span::before,
.navulli2b a span::before{
display: block;
position: absolute;
top: 2rem;
left: 0.6rem;
width: 0.8rem;
height: 0.8rem;
background-color: #f5b5c5;

}

.navulli2 a:hover,
.navulli2 a:active{

}




}




/* sp */
@media screen and (max-width:750px) {

/* nav */

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
position: fixed;
z-index: -1;
display: none;
top: 0;
width: 100%;
height: calc(100vh);
transition: all 0.3s;
background-color: #eef5f6;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
display: block;
z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
/*ナビの数が増えた場合縦スクロール*/
position: fixed;
z-index: 999; 
width: 100%;
height: 100vh;/*表示する高さ*/
overflow: auto;
-webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav .navul,
#g-nav .navul2 {
display: none;
/*ナビゲーション天地中央揃え*/
z-index: 999;
}

#g-nav.panelactive .navul {
display: flex !important;
flex-wrap: wrap;
justify-content: space-between;
margin: 2rem auto 0;
width: 200px;
}

/*リストのレイアウト設定*/

.navulli1,
.navulli2,
.has-child{
/*list-style: none;
width: 100%;
border-bottom: solid 2px #fff;*/
list-style: none;
text-align: center;
width: 100%;


}

.navulli1:nth-child(2n),
.navulli2:nth-child(2n),
.has-child:nth-child(2n){
}

.navulli1 a,
.navulli2 a,
.has-child a{
text-decoration: none;
padding: 1.2rem 0 1rem 0;
display: block;
text-transform: uppercase;
letter-spacing: 0rem;
font-size: 1.8rem;
border-radius: 5px;
width: 100%;
margin: 0 auto;
}

#g-nav.panelactive .has-child-3{
width: 100%;
display: none !important;
flex-wrap: wrap;
justify-content: flex-start;
margin: .5rem auto 0;
}

#g-nav.panelactive .navulli2{
width: 100%;
margin: 0 0 .5rem 0;
align-items: center;
display: flex;
}

#g-nav.panelactive .navulli2:nth-child(2n){
}

#g-nav.panelactive .navulli2 a{
font-size: 1.3rem;
line-height: 1.2;
padding: .5rem 1rem;
display: block;
width: 100%;
letter-spacing: -0.05rem;
background: #fff;
}

#g-nav.panelactive .navulli2 img{
width: 100%;
border-radius: 10px 3px 10px 3px;
}

.has-child-2{
width: 100%;
display: flex;
flex-wrap: wrap;
}

.has-child-3{
width: 100%;
display: flex;
flex-wrap: wrap;
}




/*========= ボタンのためのCSS ===============*/
.openbtn{
position: fixed;
z-index: 9999;
top: 1.2rem;
right: 1.5rem;
cursor: pointer;
width: 3.5rem;
height: 3.5rem;
}

/*×に変化*/	
.openbtn span{
display: inline-block;
transition: all .4s;
position: absolute;
height: 2px;
border-radius: 2px;
background-color: #ffffff;
width: 100%;
}

.active span{
/*display: inline-block;
transition: all .4s;
position: absolute;
height: 2px;
border-radius: 2px;
background-color: #0075DC !important;
width: 100%;*/
}

.openbtn span:nth-of-type(1) {
top:1rem;	
}

.openbtn span:nth-of-type(2) {
top:2.2rem;
}

.openbtn span:nth-of-type(3) {
top:3.4rem;
}

.openbtn.active span:nth-of-type(1) {
top: 1rem;
transform: translateY(6px) rotate(-45deg);
width: 100%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
top: 2.2rem;
transform: translateY(-6px) rotate(45deg);
width: 100%;
}

.openbtn.active span{
background-color: rgb(37 169 224);
}

.spnavinfo__w{
width: 100%;
display: flex;
flex-wrap: wrap;
align-content: center;
}

.spnavinfo1{

}

.spnavinfo2{

}

/* nav */


}






/* PC */
@media screen and (min-width:751px) {

/* footer */
footer{
width: 100%;
padding: 8rem 0 0;
}

.footer__w{
width: 940px;
display: flex;
margin: 0 auto;
justify-content: space-between;
align-items: flex-start;
width: clamp(700px, 100%, 1060px);
}

/*footer横並びnav*/
.f_nav_beside{
display: flex;
flex-wrap: wrap;
line-height: 2.4em;
justify-content: center;
width: 100%;
padding: 1rem 0 1rem;
background: #25a9e0;
}
.f_nav_beside div {
margin-left: 1em;
margin-right: 1em;
}
.f_nav_beside div a {
font-size: 1.5rem;
color: #fff;
}
/*/footer横並びnav*/    

.footer1{
width: 600px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-right: 5rem;
}

.footer2{
width: 100%;
text-align: center;
margin-bottom: 5rem;
}

.footer2 img{
width: 500px;
}

.footer15{
width: 100%;
text-align: center;
margin-bottom: 2rem;
}

.footer15 span{
display: inline-block;
text-align: center;
font-size: 1.3rem;
line-height: 1.8;
font-weight: 400;
color: #000;
}

.footer3{
width: 100%;
margin-bottom: 1.5rem;
}

.footer7 {
margin: 0 0 3rem;
font-size: 1.8rem;
font-weight: 500;
line-height: 1.5;
text-align: center;
border: solid 1px #ccc;
padding: 1rem;

}
.footer7  span {
position: relative;
display: inline-block;
margin: 0 .5rem .5rem .5rem;
background:linear-gradient(transparent 60%, #ff6 60%);
}

.footer8 {
width: 100%;
margin-bottom: 2rem;
}

.footer8 a {
width: 100%;
display: block;
font-size: 3rem;
font-weight: 500;
line-height: 1;
font-family: "Asap", serif;
}

.footer8 a span::before {
content: "";
background: url(../images/ic_tel.svg);
display: inline-block;
width: 2rem;
height: 2rem;
margin: 0 .3rem 0 0;
vertical-align: middle;
background-size: cover;
}

.footer5{
width: 100%;
font-size: 1.6rem;
padding: 0 0 0 1rem;
font-weight: 400;
margin-bottom: .5rem;
}

.footer9{
width: 100%;
margin-bottom: 3rem;
}   
.txt_accent{
    padding: 2px 8px 4px;
        font-size: 1.7rem;
        color: #ffffff;
        background: #ec4040;
        display: inline;
        text-align: center;
    }
    .txt_accent2 {
        padding: 10px 15px 10px;
        color: #ec4040;
        border: 1px #e92727 dotted;
        margin: 10px 0 0;
        display: inline-block;
        line-height: 2;
    }
 .card_w {
    width: 100%;
    margin: -20px auto;
  } 
 .card1 {
    display: inline-block;
    position: relative;
    top: 16px;
    z-index: 1;
    left: 20px;
  }    
  .card1 span {
    display: inline-block;
    text-align: center;
    padding: 1px 15px;
    border-radius: 100px;
    background: #071241;
    color: #fff;
  }    
  .card2 {
    border: solid 1px #ccc;
    padding: 30px 20px;
    border-radius: 10px;
  }    
  .card2 img {
    width: 100%;
  }    
.footer10{
width: 100%;
display: flex;
}  
.footer10:first-child{
border-bottom: 1px solid #ccc;
padding: 0 0 2rem;
}     
.footer10 p{
font-size: 1.8rem;
margin: 0 0 .5rem;
}    
.footer12{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
max-width: 280px;
width: 100%;
}
.footer16 {
width: 300px;
}    
.footer16 a {
width: 100%;
color: #fff;
padding: 2rem 0;
font-size: 1.8rem;
display: block;
text-align: center;
border-radius: 5px;
background: linear-gradient(135deg, #25a9e0 0%, #1982de 100%);
}   
.footer16 a span {
display: flex;
align-items: center;
justify-content: center;
}  
.footer16 a span::before {
content: "";
background: url(../images/ic_arrow5.svg);
display: inline-block;
width: 1.3rem;
height: 1.3rem;
margin-right: 1rem;
vertical-align: middle;
}   
.footer17{
width: 100%;
position: relative;
margin-bottom: 4rem;    
}    
.footer18{
width: 150px;
}    
.footer18 span {
font-size: 1.7rem;
padding: 3px 0;
border-radius: 5px;
display: inline-block;
width: 120px;
text-align: center;
/*background: #e7e7e7;*/
background: #f5f5f5;   
}   
.footer19 {
flex: 1;
} 
.footer19 a {
width: 100%;
display: block;
font-size: 3.5rem;
color: #4b4948;
font-weight: 400;
line-height: 1;
font-family: "Inter Tight", sans-serif;
}    
.footer19 a span::before {
content: "";
background: url(../images/ic_tel.svg);
background-size: cover;
display: inline-block;
width: 3.2rem;
height: 3.2rem;
margin: 0 10px 0 0;
vertical-align: bottom;
} 
.footer_r{
flex: 1;
}    
.g-map_r {
flex: 1;
}    
.g-map_r iframe {
width: 100%;
height: 400px;
border-radius: 10px;
margin: 0 0 2rem;
}

.footer13{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-bottom: 1px solid #b2eaf6;
}

.footer14{
width: 100%;

}

.footer14 a{
color: #000;
font-size: 1.4rem;
padding: 1rem 1rem;
display: block;
font-weight: 400;
}

.footer14 a:hover{
background: #b2eaf6;

}

.footer14 a span{
display: block;
position: relative;
}

.footer14 a span::after{
content: "";
background: url("../images/ic_arrow6.svg");
width: 1.3rem;
height: 1.3rem;
position: absolute;
right: 0;
top: 0.6rem;
display: block;
background-size: cover;
}
.footer20{
display: flex;
flex-direction: column;
}
.footer21{
margin: 0 0 1rem;
}
.g-map iframe{
height: 500px;
width: 100%;
}


}







/* sp */
@media screen and (max-width:750px) {


/* footer */
footer{
width: 100%;
padding:4rem 0 0;
}

.footer__w{
width: 90%;
display: flex;
flex-wrap: wrap;
margin: 0 auto;
justify-content: space-between;
align-items: flex-start;
}

/*footer横並びnav*/
.f_nav_beside{
display: flex;
flex-wrap: wrap;
line-height: 2.5;
background: #25a9e0;
padding: 2rem 0 2rem;
}
.f_nav_beside div {
display: block;
width: 50%;
text-align: center;
padding: 0 2vw;
line-height: 1;
margin: 1rem 0;
}
.f_nav_beside div a {
font-size: 1.4rem;
color: #fff;
}
/*/footer横並びnav*/ 


.footer1{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.footer2{
width: 100%;
text-align: center;
margin-bottom: 2rem;
}

.footer2 img{
width: 70%;
}


.footer15{
width: 100%;
padding: 0 3rem;
margin-bottom: 2rem;
}

.footer15 span{
display: inline-block;
font-size: 1.3rem;
line-height: 1.8;
font-weight: 400;
color: #000;
}


.footer3{
width: 100%;
margin-bottom: 1.5rem;
}
.footer_r {
width: 100%;
}
.footer7 {
margin: 0 0 3rem;
font-size: 1.5rem;
font-weight: 500;
line-height: 1.5;
text-align: center;
border: solid 1px #ccc;
padding: 1rem;

}
.footer7 span {
position: relative;
display: inline-block;
margin: 0 .5rem .5rem .5rem;
background: linear-gradient(transparent 60%, #ff6 60%);
}
.footer8 {
width: 100%;
margin-bottom: 2rem;
text-align: center;
}

.footer8 a{
width: 100%;
display: block;
font-size: 3rem;
font-weight: 500;
line-height: 1;
font-family: "Asap", serif;
}

.footer8 a span::before {
content: "";
background: url(../images/ic_tel.svg);
display: inline-block;
width: 2rem;
height: 2rem;
margin: 0 .3rem 0 0;
vertical-align: middle;
background-size: cover;
}

.footer9 {
width: 100%;
margin-bottom: 1rem;
} 
    .txt_accent {
        padding: .2rem .3rem;
        font-size: 1.5rem;
        color: #ffffff;
        line-height: 1.3;
        background: #ec4040;
        text-align: center;
    }   
        .txt_accent2 {
                padding: .8rem 1.5rem .8rem;
        color: #ec4040;
        border: 1px #e92727 dotted;
        margin: 10px 0 0;
        display: inline-block;
        line-height: 1.5;
    }
  .card_w {
    width: 100%;
  }    
 .card1 {
    display: inline-block;
    position: relative;
    top: 16px;
    z-index: 1;
    left: 20px;
  }  
  .card1 span {
    display: inline-block;
    text-align: center;
    padding: 1px 15px;
    border-radius: 100px;
    background: #071241;
    color: #fff;
  } 
  .card2 {
    border: solid 1px #ccc;
    padding: 5vw 2vw;
    border-radius: 10px;
  } 
 .card2 img {
    width: 100%;
  }
.footer10 {
width: 100%;
display: flex;
}
.footer10:first-child {
border-bottom: 1px solid #ccc;
padding: 0 0 2rem;
}    
.footer10 p{
margin: 0 0 .5rem;
} 
.footer5{
width: 100%;
color: #000;
font-size: 1.4rem;
padding: 0 .5rem 0 .5rem;
font-weight: 400;
}


.footer12{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 0 2rem;
}

.g-map_r {
width: 100%;
}    
.g-map_r iframe {
width: 100%;
height: 320px;
}
.footer13{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-bottom: 1px solid #efe0e0;
}

.footer14{
width: 100%;

}

.footer14 a{
color: #000;
font-size: 1.4rem;
padding: 1.5rem 1rem;
display: block;
font-weight: 400;
}

.footer14 a:hover{
background: #b2eaf6;

}

.footer14 a span{
display: block;
position: relative;
}

.footer14 a span::after{
content: "";
background: url("../images/ic_arrow6.svg");
width: 1.3rem;
height: 1.3rem;
position: absolute;
right: 0;
top: .8rem;
display: block;
}
.footer16 {
width: 100%;
}
.footer16 a {
width: 100%;
color: #fff;
padding: 2rem 0;
font-size: 1.6rem;
display: block;
text-align: center;
border-radius: 5px;
background: linear-gradient(135deg, #25a9e0 0%, #1982de 100%);
}   
.footer16 a span {
display: flex;
align-items: center;
justify-content: center;
}  
.footer16 a span::before {
content: "";
background: url(../images/ic_arrow5.svg);
display: inline-block;
width: 1.3rem;
height: 1.3rem;
margin-right: 1rem;
vertical-align: middle;
}    
.footer17 {
width: 100%;
position: relative;
/* border: solid 1px #25a9e0; */
/* border-radius: 8px; */
margin: 0 0 2rem;    
}
.footer18 {
width: 8em;
}
.footer18 span {
font-size: 1.4rem;
padding: 3px 10px;
border-radius: 5px;
display: inline-block;
text-align: center;
background: #f5f5f5;   
}
.footer19 {
flex: 1;
}    
.footer19 a {
width: 100%;
display: block;
font-size: 2.8rem;
color: #4b4948;
font-weight: 400;
line-height: 1;
font-family: "Inter Tight", sans-serif;
}
.footer19 a span {
display: flex;
align-items: center;
}    
.footer19 a span::before {
content: "";
background: url(../images/ic_tel.svg);
background-size: cover;
display: inline-block;
width: 2rem;
height: 2rem;
margin: 0 .5rem 0 0;
vertical-align: bottom;
}
.footer20 {
display: flex;
flex-direction: column;
flex: 1;
}
.footer21 {
margin: 0 0 1rem;
}
.g-map {
width: 100%;
height: 320px;
}

.g-map iframe{
width: 100%;
height: 320px;
}

}





/* PC */
@media screen and (min-width:751px) {


table.headertimetable8{
width: calc(100%);
background: #fff;
margin: 0 auto;

}

table.headertimetable8 th{
background: #25a9e0;
color: #fff;    
text-align: center;
font-weight: 500;
font-size: 1.6rem;
padding: 2rem 0;
line-height: 1.6;
width: 10.5%;
letter-spacing: .1rem;
}

table.headertimetable8 th:first-child{
width: 26.5%;
}

table.headertimetable8 th:last-child {
}

table.headertimetable8 td{

        text-align: center;
        font-weight: 500;
        font-size: 2rem;
        /* padding: 2rem 0; */
        line-height: 1.6;
        letter-spacing: 0.05rem;
        border-bottom: 1px solid #d9d4d4;
        vertical-align: middle;
        height: 80px;
}
table.headertimetable8 td span.txt_s{
font-size: 1.6rem;
padding: 0!important;
line-height: 1.6;
letter-spacing: 0.05rem;
}
table.headertimetable8 td:first-child{
/*background: #f5f9fa;*/
border-radius: 10px 0 0 10px;
}

table.headertimetable8 tr{
}

.headertimetable20{
font-family: "Inter Tight", sans-serif;
}

.headertimetable16{
width: 450px;
}

.headertimetable16 a{
display: inline-block;
text-align: center;
background: #fff;
font-size: 1.6rem;
color: #1ea189;
border: 1px solid #1ea189;
font-weight: 700;
line-height: 1;
box-shadow: 4px 4px 10px #ced1d8;
box-sizing: content-box;
width: 450px;
}

.headertimetable16 a:hover{
opacity: .7;
}

.headertimetable16 a img{
width: 100%;
}


.headertimetable19{
color: #ccc;
font-weight: 400;
}


}



/* sp */
@media screen and (max-width:750px) {


table.headertimetable8{
width: calc(100%);
background: #fff;
margin: 0 auto;

}

table.headertimetable8 th{
background: #25a9e0;
color: #fff;
text-align: center;
font-weight: 500;
font-size: 1.4rem;
padding: 1rem 0;
line-height: 1.6;
width: 10.5%;
letter-spacing: .1rem;
}

table.headertimetable8 th:first-child{
width: 26.5%;
}

table.headertimetable8 td{
background: #fff;
text-align: center;
font-weight: 500;
font-size: 1.4rem;
/*padding: 1.2rem 0;*/
line-height: 1.6;
letter-spacing: 0.05rem;
border-bottom: 1px solid #d9d4d4;
vertical-align: middle;
        height: 60px;    
}
table.headertimetable8 td span.txt_s{
font-size: 1.3rem;
padding: 0!important;
line-height: 1.4;
letter-spacing: 0.05rem;
}
table.headertimetable8 td:first-child{
border-radius: 10px 0 0 10px;
}

table.headertimetable8 tr{
}

.headertimetable20{
font-family: "Inter Tight", sans-serif;
}

.headertimetable16{
width: 450px;
}

.headertimetable16 a{
display: inline-block;
text-align: center;
background: #fff;
font-size: 1.6rem;
color: #1ea189;
border: 1px solid #1ea189;
font-weight: 700;
line-height: 1;
box-shadow: 4px 4px 10px #ced1d8;
box-sizing: content-box;
width: 450px;
}

.headertimetable16 a:hover{
opacity: .7;
}

.headertimetable16 a img{
width: 100%;
}

.headertimetable19{
color: #ccc;
font-weight: 400;
}


}






/* sp */
@media screen and (max-width:750px) {
.swiper {
}

/* sp footer */

.spfooternav__w{
width: 100%;
display: flex !important;
justify-content: space-between;
position: fixed;
bottom: 0;
z-index: 10000;
flex-wrap: wrap;
height: 70px;    
}

.spfooternav1{
width: calc(100% - 16rem);
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
padding: 0.7rem 0;
background: #fff;
}

.spfooternav1:nth-child(2){
border-right: none;
}

.spfooternav2{
width: 100%;
text-align: center;
font-size: 1.3rem;
line-height: 1.1;
letter-spacing: 0rem;
}
.spfooternav3{
width: 100%;
text-align: center;
margin-bottom: .1rem;
}

.spfooternav3 a{
font-size: 2.5rem;
letter-spacing: 0.05rem;
align-items: baseline;
font-weight: 400;
line-height: 1;
font-family: "Inter Tight", sans-serif;

}
.spfooternav3 a span{
display: flex;
justify-content: center;
}
.spfooternav3 a span::before{
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 2.3rem;
height: 2.3rem;
margin-right: .1rem;
vertical-align: middle;
background-size: cover;
}

.spfooternav4{
width: 8rem;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #25a9e0 0%, #1982de 100%);
}

.spfooternav4 a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-size: 1rem;
color: #fff;
letter-spacing: 0rem;
text-align: center;
}

.spfooternav4 a span{

}

.spfooternav4 a span::before{
content: "";
background: url("../images/ic_calendar2.svg") no-repeat;
display: block;
width: 2rem;
height: 2rem;
margin: 0 auto .5rem;
}
.spfooternav5{
width: 8rem;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #2bbd9e 0%, #0d9276 100%);
}

.spfooternav5 a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-size: 1rem;
color: #fff;
letter-spacing: 0rem;
text-align: center;
}

.spfooternav5 a span{

}

.spfooternav5 a span::before{
content: "";
background: url("../images/ic_interview-sheet2.svg") no-repeat;
display: block;
width: 2.3rem;
height: 2.3rem;
margin: 0 auto .5rem;
}

/* sp footer */

}




/* PC */
@media screen and (min-width:751px) {

/* pagetop */


#page-top {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 99;
}
#page-top a {
width: 60px;
display: block;
opacity: 0.9;
transition: all .3s ease;
}
#page-top a:hover {
text-decoration: none;
opacity: .5;
}


#page-top a img{
width: 100%;
display: block;
}


/* pagetop */
}

/* sp */
@media screen and (max-width:750px) {

/* pagetop */


#page-top {
position: fixed;
bottom: 11rem;
right: 0.8rem;
}
#page-top a {
width: 4rem;
display: block;
opacity: 0.9;
transition: all .3s ease;
}
#page-top a:hover {
text-decoration: none;
opacity: .5;
}


#page-top a img{
width: 100%;
display: block;
opacity: .8;
}


/* pagetop */

}




/* PC */
@media screen and (min-width:751px) {

/* copyright */


.copyright {
width: 100%;
padding: 2rem 0;
text-align: center;
color: #fff;
font-size: 1.3rem;
background: #25a9e0;
}

/* copyright */
}



/* sp */
@media screen and (max-width:750px) {
/* copyright */


.copyright {
width: 100%;
padding: 1rem 0;
text-align: center;
color: #fff;
font-size: 1.3rem;
background: #25a9e0;    
}

/* copyright */
}







/* sp */
/*
@media screen and (min-width:751px) and (max-width:984px) {
*/
/* nav */

/*
.header3 {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
width: 380px;
margin-right: 7rem;
}

.header4 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 210px;
text-align: center;
margin-right: 0;
}

.header7 {
width: 100%;
text-align: center;
font-size: 1.5rem;
margin-bottom: .2rem;
font-weight: 400;
letter-spacing: 0.1rem; 
}

.header9 a {
font-size: 2.3rem;
font-weight: 500;
line-height: 1;
letter-spacing: 0.15rem;
align-items: baseline;
color: #fff;
}

.header15 {
width: 17rem;
}

.header15 a {
width: 100%;
color: #fff;
padding: 1rem 0;
font-size: 1.6rem;
display: block;
text-align: center;
border-radius: 3px;
}

.swiper {
width: 100%;
margin-top: 14rem;
}
*/

/*========= ナビゲーションのためのCSS ===============*/
/*
#g-nav{
position: fixed;
z-index: -1;
display: none;
top: 0;
width: 100%;
height: calc(100vh);
transition: all 0.3s;
background-color: #eef5f6;
}
*/
/*アクティブクラスがついたら透過なしにして最前面へ*/
/*
#g-nav.panelactive{
display: block;
z-index:999;

}
*/
/*ナビゲーションの縦スクロール*/
/*
#g-nav.panelactive #g-nav-list{
position: fixed;
z-index: 999; 
width: 100%;
height: 100vh;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
*/
/*ナビゲーション*/
/*
#g-nav .navul,
#g-nav .navul2 {
display: none;
z-index: 999;
}
*/
/*
#g-nav.panelactive .navul {
width: 100%;
display: flex !important;
flex-wrap: wrap;
justify-content: space-between;
margin: 3rem auto 0;
flex-direction: column;
}
*/
/*リストのレイアウト設定*/
/*
.navulli1,
.navulli2,
.has-child{
list-style: none;
text-align: center;
width: 100%;
margin: 0 0 1rem 0;
}

.navulli1:nth-child(2n),
.navulli2:nth-child(2n),
.has-child:nth-child(2n){
}

.navulli1 a,
.navulli2 a,
.has-child a{
text-decoration: none;
padding: 0.5rem 0;
display: block;
text-transform: uppercase;
letter-spacing: 0rem;
font-weight: 700;
font-size: 1.6rem;
border-radius: 5px;
width: 100%;
margin: 0 auto;
color: #0075DC;
}

#g-nav.panelactive .has-child-3{
width: 100%;
display: none !important;
flex-wrap: wrap;
justify-content: flex-start;
margin: .5rem auto 0;
}

#g-nav.panelactive .navulli2{
width: 100%;
margin: 0 0 .5rem 0;
align-items: center;
display: flex;
}

#g-nav.panelactive .navulli2:nth-child(2n){
}

#g-nav.panelactive .navulli2 a{
font-size: 1.3rem;
line-height: 1.2;
padding: .5rem 1rem;
display: block;
width: 100%;
letter-spacing: -0.05rem;
background: #fff;
}

#g-nav.panelactive .navulli2 img{
width: 100%;
border-radius: 10px 3px 10px 3px;
}

.has-child-2{
width: 100%;
display: flex;
flex-wrap: wrap;
}

.has-child-3{
width: 100%;
display: flex;
flex-wrap: wrap;
}
*/



/*========= ボタンのためのCSS ===============*/
/*
.openbtn{
position: fixed;
z-index: 9999;
top: 1.2rem;
right: 1.5rem;
cursor: pointer;
width: 3.5rem;
height: 3.5rem;
}
*/
/*×に変化*/	
/*
.openbtn span{
display: inline-block;
transition: all .4s;
position: absolute;
height: 2px;
border-radius: 2px;
background-color: #ffffff;
width: 100%;
}

.active span{
display: inline-block;
transition: all .4s;
position: absolute;
height: 2px;
border-radius: 2px;
background-color: #0075DC !important;
width: 100%;
}

.openbtn span:nth-of-type(1) {
top:1rem;	
}

.openbtn span:nth-of-type(2) {
top:2.2rem;
}

.openbtn span:nth-of-type(3) {
top:3.4rem;
}

.openbtn.active span:nth-of-type(1) {
top: 1rem;
transform: translateY(6px) rotate(-45deg);
width: 100%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
top: 2.2rem;

transform: translateY(-6px) rotate(45deg);
width: 100%;
}




.spnavinfo__w{
width: 100%;
display: flex;
flex-wrap: wrap;
align-content: center;
}

.spnavinfo1{

}

.spnavinfo2{

}


}
*/












