@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=WDXL+Lubrifont+JP+N&display=swap');

html{
font-size:62.5%;
font-family:'Noto Sans JP', sans-serif;
}

body{
width:100%;
color:#333;
font-size:1.5rem;
margin:0;
background:#ffffff;
}

img, img[class*="wp-image-"], img[class*="attachment-"] {
height:auto;
max-width:100%;
vertical-align:bottom;
image-rendering:crisp-edges;
backface-visibility:hidden;
}

img.scaled-image {
border:0;
margin:0;
}

h1{
width:100%;
color:#2c95ae;
font-family: "WDXL Lubrifont JP N", sans-serif;
font-size:7rem;
font-weight:500;
line-height:1.2;
margin:0 0 40px 0;
border-bottom:4px solid #6bb5c6;
display:table;
}
h1 span{
font-size:2.4rem;
margin-left:20px;
}

h2{
width:100%;
color:#2c95ae;
font-size:5rem;
font-weight:700;
line-height:1.2;
margin:80px 0;
border-bottom:4px solid #6bb5c6;
display:table;
}
h2 span{
font-family: "WDXL Lubrifont JP N", sans-serif;
font-size:3rem;
font-weight:500;
margin-left:30px;
}

h3{
width:100%;
color:#555;
font-size:3.2rem;
font-weight:700;
line-height:1.5;
text-align:center;
margin:40px 0;
display:table;
}

ul{list-style:none;padding:0;}

.inv-a{
display:table;
}

.inv-b{
display:none;
}

a{
color:#333;
text-decoration:none;
transition:1s;
}

a:hover{
color:#333;
text-decoration:none;
opacity:0.8;
transition:1s;
}

p{
font-size:1.6rem;
font-weight:390;
line-height:2;
}

#wrapper{
margin:0 auto;
width:100%;
}

#content{
width:100%;
overflow:hidden;
}


#home-sec{
width:90%;
max-width:1400px;
height:auto;
padding:60px 5%;
margin:0 auto;
position:relative;
}

#common-sec{
width:90%;
max-width:1200px;
height:auto;
padding:0 5% 50px 5%;
margin:0 auto;
position:relative;
}


#sec-back-image{
width:auto;
max-width:100%;
opacity:0.3;
position:absolute;
z-index:-1;
}
.sec-back-image-right{
top:-10%;
right:-50%;
}
.sec-back-image-left{
top:-10%;
left:-50%;
}


#top-image-box{
width:100%;
height:600px;
margin:0;
display:block;
position:relative;
transform:scale(1);
overflow:hidden;
z-index:1;
}

#top-image-box video{
width:177.77777778vh;
min-height:100%;
min-width:100%;
display:table;
position:fixed;
top:50%;
left:50%;
transform:translate(-50%,-50%);
position:absolute;
z-index:-1;
}
#top-image-logo{
width:360px;
max-width:440px;
display:table;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:1;
}
#top-image-charactor{
width:auto;
max-width:350px;
position:absolute;
bottom:-60px;
left:5%;
z-index:0;
}

#home-menu-box{
width:100%;
background:#2c95ae;
position:sticky;
top: 0;
z-index:10;
}
#home-menu-box div{
width:90%;
max-width:1200px;
padding:15px 0;
margin:0 auto;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}


#menu-logo{
width:325px;
color:#fff;
font-family: "WDXL Lubrifont JP N", sans-serif;
font-size:2.7rem;
line-height:1.2;
margin:auto 0;
display:table;
}
#menu-logo span{
font-size:2.4rem;
margin:auto 0 0 10px;
}

#navi-lnk-box{
width:800px;
margin:auto 0;
display:flex;
flex-flow:wrap;
justify-content:center;
}

#navi-lnk-box a{
width:190px;
color:#fff;
font-size:1.3rem;
line-height:2.2;
text-align:center;
margin:5px auto;
background:#0a7c9b;
display:table;
}


#home-contents-box{
width:100%;
margin:0 0 0 0;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}

#home-onestop-box{
width:23%;
max-width:320px;
padding:0;
margin:30px 0 0 0;
display:table;
}
#home-onestop-img{
width:100%;
max-width:inherit;
margin:0 0 6px 0;
display:table;
}
#home-onestop-box span{
width:100%;
font-size:1.8rem;
font-weight:700;
line-height:1;
margin:0 0 5px 0;
display:table;
}
#home-onestop-box div{
width:100%;
color:#2c95ae;
font-family: "WDXL Lubrifont JP N", sans-serif;
font-size:1.6rem;
line-height:1;
display:flex;
justify-content:space-between;
}
#home-onestop-box div img{
width:49px;
height:10px;
margin-top:auto;
display:table;
}

#home-why-box{
width:30%;
max-width:420px;
margin:30px 0 0 0;
display:table;
border-collapse:collapse;
}
#home-why-box th{
width:50%;
height:168px;
color:#2c95ae;
font-size:2rem;
font-weight:390;
line-height:1.5;
text-align:left;
padding:0;
}
#home-why-box th span{
width:100%;
font-family: "WDXL Lubrifont JP N", sans-serif;
font-size:6rem;
line-height:1;
margin-bottom:10px;
display:table;
}
#home-why-box td{
width:100%;
color:#000;
font-size:1.3rem;
line-height:1.5;
vertical-align:top;
}
#home-why-box td img{
margin-bottom:10px;
}


#home-message-box{
width:100%;
padding:0;
margin:0;
display:flex;
justify-content:flex-start;
}
#home-message-box div{
width:calc(100% - 360px);
font-size:1.4rem;
font-weight:390;
line-height:2;
padding:0;
margin:0;
display:table;
}
#home-message-box div span{
width:100%;
font-size:2rem;
text-align:right;
margin:10px 0;
display:table;
}
#home-message-box img{
width:270px;
margin:auto;
display:table;
}


#footer-box{
width:90%;
max-width:1400px;
color:#fff;
padding:0 5%;
margin:0 auto;
border-collapse:collapse;
}
#footer-box th{
width:420px;
font-size:1.2rem;
font-weight:390;
text-align:left;
}
#footer-box th span{
font-family: "WDXL Lubrifont JP N", sans-serif;
font-size:2.2rem;
}
#footer-box th img{
width:100%;
max-width:320px;
margin:15px 0;
display:table;
}

#footer-box td{
width:300px;
font-weight:390;
padding:0 20px;
vertical-align:top;
}
#footer-box td span{
width:100%;
font-size:1.4rem;
line-height:2;
margin-bottom:6px;
display:table;
border-bottom:1px solid #fff;
}
#footer-box td div{
width:100%;
display:flex;
}
#footer-box td div ul{
width:33%;
margin:0;
}
#footer-box td div ul li, #footer-box td div ul a{
color:#fff;
font-size:1.2rem;
line-height:1.6;
}

#common-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:center;
}
#head-content-box{
width:270px;
height:150px;
margin:10px auto;
background:#6bb5c6;
position:relative;
}
#head-content-box span{
width:95%;
color:#fff;
font-size:1.7rem;
font-weight:500;
line-height:2;
text-align:center;
display:table;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}

#content-box{
width:30%;
height:280px;
margin:0 auto;
position:relative;
}
#common-content-box-back-logo{
width:240px;
opacity:0.4;
position:absolute;
top:40px;
left:50%;
transform:translatex(-50%);
}
#content-box dt{
width:90%;
color:#fff;
font-size:1.6rem;
font-weight:500;
line-height:1.5;
text-align:center;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#common-content-box-img{
width:auto;
max-width:100%;
margin:0 auto 5px auto;
display:table;
}


#flow-box{
width:30%;
max-width:340px;
margin:0 auto 20px auto;
}
#flow-box dt{
width:100%;
padding:0;
margin:0;
position:relative;
display:table;
}
#flow-box dt span{
color:#2c95ae;
font-size:8rem;
font-style:italic;
font-weight:700;
line-height:1;
text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
-1px 1px 0 #FFF, 1px -1px 0 #FFF,
0px 1px 0 #FFF,  0-1px 0 #FFF,
-1px 0 0 #FFF, 1px 0 0 #FFF;
position:absolute;
bottom:-20px;
right:20px;
}
#flow-box dd{
width:100%;
font-size:1.3rem;
padding:0 0 0 0;
margin:0;
display:table;
}
#flow-box dd div{
width:100%;
font-size:1.6rem;
font-weight:700;
line-height:2;
margin:10px 0;
display:table;
}


#reason-box{
width:46%;
margin:20px 2%;
border-collapse:collapse;
display:block;
}
#reason-box th{
width:50px;
color:#2c95ae;
font-size:8rem;
font-style:italic;
font-weight:700;
line-height:1;
}
#reason-box td{
width:auto;
font-size:1.4rem;
line-height:1.8;
}
#reason-box td span{
width:95%;
color:#2c95ae;
font-size:1.8rem;
font-weight:500;
line-height:1.4;
margin:24px 0 0 5%;
display:table;
}



.faq-item {
padding:30px 0;
border-bottom:1px solid #ccc;
}
.faq-item:last-child{
border-bottom:none;
}

.faq-question{
color:#2c95ae;
font-size:2rem;
font-weight:500;
line-height:1.4;
cursor:pointer;
}

.faq-answer{
font-size:1.6rem;
font-weight:400;
line-height:1.4;
max-height:0;
overflow:hidden;
transition:max-height 0.4s ease-out, padding 0.4s ease-out;
}

.faq-answer.active{
padding:10px 0 0 0;
max-height:200px;
}

.faq-answer p:last-child{
margin-bottom:0;
}















