@charset "utf-8";

html{
font-size:62.5%;
font-family:'Noto Sans JP', sans-serif;
}

body{
width:100%;
color:#333;
font-size:1.5rem;
letter-spacing:1px;
margin:0;
background:#ffffff;
}

img, img[class*="wp-image-"], img[class*="attachment-"] {
height:auto;
max-width:100%;
vertical-align:bottom;
image-rendering:auto;
backface-visibility:hidden;
}

img.scaled-image {
border:0;
margin:0;
}


h1{
color:#043a82;
font-size:4.6rem;
font-weight:700;
line-height:1.5;
text-align:center;
margin:40px 0;
display:block;
}

h1 span{
color:#000;
font-size:2.4rem;
font-weight:300;
line-height:1;
margin:20px auto 0 auto;
text-align:center;
display:block;
}

h2{
color:#043a82;
font-family: "Noto Serif JP", serif;
font-size:3.6rem;
font-weight:700;
line-height:1.5;
margin:0 0 10px 0;
display:block;
}

h3{
width:fit-content;
color:#043a82;
font-size:2.6rem;
font-weight:500;
line-height:2;
text-align:center;
margin:80px auto 10px auto;
display:block;
}

h4{
font-family: "Noto Serif JP", serif;
font-size:2.4rem;
font-weight:700;
line-height:1.5;
margin:0 0 10px 0;
display:block;
}

h5{
color:#043a82;
font-size:3.6rem;
font-weight:700;
line-height:1.5;
margin:0 0 60px 0;
display:block;
}

p{
font-size:1.7rem;
line-height:2;
padding:0;
margin:0;
display:block;
}

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;
}

#wrapper{
margin:0 auto;
width:100%;
overflow: hidden;
}

#content{
width:100%;
}


#home-mv{
width:100%;
height:100vh;
position:relative;
overflow:hidden;
z-index:5;
}

#home-mv video{
width:177.77777778vh;
min-height:100%;
min-width:100%;
display:table;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:-1;
}

#home-mv div{
width:90%;
color:#fff;
font-size:3rem;
font-weight:700;
line-height:1;
text-align:center;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#home-mv div span{
font-size:8.6rem;
margin:10px auto 0 auto;
display:block;
}

#navi-background{
width:100%;
height:60px;
background:#eef0f3;
position:fixed;
top:0;
left:0;
z-index:1;
}

#navi-block{
width:90%;
padding:10px 5%;
display:flex;
justify-content:space-between;
position:fixed;
z-index:10;
}
#navi-logo{
marin:auto 0;
display:table;
}
#navi-box{
width:680px;
color:#043a82;
font-size:1.5rem;
line-height:1;
margin:auto 0;
display:flex;
justify-content:space-between;
}
#navi-box a{
color:#043a82;
font-size:1.5rem;
font-weight:500;
line-height:1;
}


.sec-home{
width:90%;
max-width:1400px;
height:auto;
padding:0 0 80px 0;
margin:0 auto;
display:block;
}

.sec-common{
width:90%;
max-width:1200px;
height:auto;
padding:40px 0;
margin:0 auto;
display:block;
}
.post-common{
width:90%;
max-width:1000px;
height:auto;
padding:40px 0;
margin:0 auto;
display:block;
}

.lnk-common-box{
width:100%;
margin:20px 0 60px;
display:flex;
justify-content:center;
}
.lnk-common-box a{
color:#fff;
font-size:1.8rem;
font-weight:500;
line-height:2.2;
text-align:center;
margin:14px;
background:#043a82;
border-radius:20px;
}
.lnk-common-box-service a{
width:280px;
}
.lnk-common-box-support a{
width:180px;
}

.home-box-top{
width:100%;
padding-bottom:60px;
margin:0 0 0 0;
display:flex;
}
.home-box-top dt{
width:50%;
min-width:600px;
font-size:1.5rem;
line-height:1.8;
padding:0;
margin:auto 0;
display:table;
}
.home-box-top dt span{
font-size:6.4rem;
font-weight:900;
line-height:1.4;
display:inline;
}
.home-box-top dt div{
font-size:3.4rem;
font-weight:700;
line-height:1;
margin:20px 0;
display:block;
}
.home-box-top dt a{
width:260px;
color:#fff;
font-size:1.6rem;
line-height:3;
text-align:center;
padding:0;
margin:20px 10px 0 0;
background:#043a82;
border-radius:30px;
display:inline-table;
}

.home-box-top dd{
width:50%;
padding:0;
margin:auto;
display:table;
}

.home-box-common{
width:100%;
margin:80px 0 0 0;
display:flex;
}
.image-box-left{
flex-flow:wrap;
}
.image-box-right{
flex-flow:row-reverse;
}

.home-box-common dt{
width:50%;
padding:0;
margin:0;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
position:relative;
}
.home-box-common dt img{
position:absolute;
right:8%;
bottom:5%;
}
.home-box-common dt span{
color:#fff;
font-family: "Noto Serif JP", serif;
font-size:3.8rem;
font-weight:500;
line-height:1.2;
display:table;
position:absolute;
left:8%;
bottom:5%;
}
.home-box-common dd{
width:40%;
font-size:1.5rem;
line-height:1.5;
padding:40px 5%;
margin:auto;
display:table;
}
.home-box-common dd img{
margin-bottom:20px;
display:table;
}
.home-box-common dd span{
font-size:4.5rem;
font-weight:900;
line-height:1.3;
display:inline;
}
.home-box-common dd div{
font-size:2.8rem;
font-weight:900;
line-height:1;
margin:20px 0;
display:block;
}
.home-box-common dd a{
color:#fff;
font-size:1.6rem;
line-height:3;
padding:0 50px;
margin:20px 0 0 0;
background:#043a82;
border-radius:30px;
display:table;
}

#footer-box{
width:100%;
height:320px;
margin-top:80px;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
position:relative;
overflow:hidden;
}
#footer-box img{
position:absolute;
top:4%;
left:24%;
transform:translatex(-50%);
z-index:2;
}
#footer-box div{
width:max-content;
color:#fff;
font-size:8rem;
font-weight:900;
line-height:1;
position:absolute;
top:50%;
left:60%;
transform:translate(-50%,-50%);
z-index:1;
}
#footer-box div span{
font-size:10rem;
font-weight:900;
display:block;
}
#footer-box div a{
color:#fff;
font-size:1.6rem;
font-weight:500;
line-height:3;
padding:0 50px;
margin:20px auto 0 auto;
background:#043a82;
border-radius:30px;
display:table;
}


#footer-block{
width:90%;
padding:20px 5%;
margin:0;
background:#043a82;
display:flex;
justify-content:space-between;
}
#footer-block dt{
width:fit-content;
color:#fff;
font-size:1rem;
line-height:1.5;
padding:0;
margin:auto 0;
display:table;
}
#footer-block dt img{
margin:0 auto 10px 0;
display:table;
}
#footer-block dd{
width:fit-content;
padding:0;
margin:auto 0;
display:flex;
justify-content:space-between;
}
#footer-block dd a{
margin:10px;
display:table;
}


.contents-box-common{
width:100%;
padding:0;
margin:0;
display:flex;
}
.contents-box-common dt{
width:47%;
font-size:1.6rem;
font-weight:500;
line-height:1.8;
padding:0 1.5%;
margin:auto;
display:table;
}
.contents-box-common dt div{
font-size:3rem;
font-weight:700;
line-height:1.5;
margin:20px 0;
display:block;
}
.contents-box-common dt a{
width:260px;
color:#fff;
font-size:1.7rem;
font-weight:300;
line-height:2.2;
text-align:center;
margin:16px 10px 0 0;
background:#043a82;
border-radius:20px;
display:inline-table;
}
.contents-box-common dt span{
font-size:6rem;
font-weight:900;
line-height:1.5;
}
.contents-box-common dd{
width:50%;
padding:0;
margin:auto;
display:table;
}
.contents-box-common dd img{
width:auto;
max-width:100%;
height:auto;
margin:auto;
display:table;
}

.service-box, .recruitment-box{
width:100%;
padding:0;
margin:140px auto 0 auto;
display:flex;
}
.service-box dt, .recruitment-box dt{
width:50%;
padding:0;
marign:auto;
display:table;
}
.service-box dt img, .recruitment-box dt img{
width:100%;
max-width:100%;
display:table;
}
.service-box dd, .recruitment-box dd{
width:45%;
font-size:1.55rem;
line-height:1.8;
padding:0 2.5%;
margin:auto 0;
display:table;
}
.service-box dd span, .recruitment-box dd span{
font-size:3.4rem;
font-weight:700;
line-height:2;
display:block;
}
.service-box dd div, .recruitment-box dd div{
color:#043a82;
font-size:2rem;
font-weight:900;
line-height:1.5;
margin:6px 0 0 0;
display:block;
}
.service-box dd ul{
width:100%;
margin-top:10px;
}
.service-box dd ul li{
width:95%;
margin:10px 0 10px auto;
position:relative;
display:block;
}
.service-box dd ul li:before{
content:'・';
font-weight:900;
position:absolute;
top:0;
left:-20px;
}
.service-box dd ul li b{
font-weight:700;
}
.service-box dd img{
width:100%;
max-width:100%;
margin:30px 0 0 0;
display:table;
}

.service-image-box, .recruitment-image-box{
width:100%;
margin-top:60px;
display:flex;
justify-content:space-between;
}
.service-image-box div, .recruitment-image-box div{
width:364px;
font-size:1.55rem;
line-height:1.8;
display:table;
}
.service-image-box div span, .recruitment-image-box div span{
font-size:2.2rem;
font-weight:700;
line-height:1;
margin:10px 0;
display:block;
}
.service-image-box div a{
border-bottom:1px solid #000;
display:inline-block;
}

.support-box{
width:100%;
padding:0;
margin:80px 0 0 0;
display:flex;

}
.support-box dt{
width:50%;
padding:0;
margin:auto;
display:table;
}
.support-box dt img{
width:auto;
max-width:100%;
height:auto;
display:table;
}
.support-box dd{
width:46%;
font-size:1.7rem;
line-height:1.5;
padding:0 2%;
margin:auto;
display:table;
}
.support-box dd div{
font-family: "Noto Serif JP", serif;
font-size:2.6rem;
font-weight:700;
line-height:1.5;
display:block;
}
.support-box dd span{
font-size:2.2rem;
font-weight:700;
line-height:1.5;
margin:20px 0 0 0;
display:block;
}
.support-box dd u{
font-size:1.4rem;
margin-bottom:10px;
display:block;
}
.support-box dd ul{
width:100%;
}
.support-box ul li{
width:96%;
margin:0 0 6px auto;
display:block;
position:relative;
}
.support-box ul li:before{
content:'・';
font-weight:900;
position:absolute;
top:0;
left:-20px;
}
.support-box ul li span{
font-size:1.7rem;
line-height:1.5;
font-weight:700;
margin:0;
display:inline;
}



.support-wrap{
display:grid;
grid-template-rows:0fr;
transition:grid-template-rows 0.4s ease;
}
.support-wrap.is-open{
grid-template-rows: 1fr;
}
.support-inner{
overflow:hidden;
}

.support-content{
}

.btn-area{
text-align:center;
border-bottom:1px solid #000;
}
.toggle-btn{
color:#fff;
font-size:1.6rem;
font-weight:bold;
padding:12px 40px;
background:#003e8c;
border:0;
border-radius:12px 12px 0 0;
cursor:pointer;
}

.support-detail-box{
width:100%;
margin:60px 0 30px 0;
display:flex;
}
.support-detail-box img{
width:auto;
max-width:100%;
height:auto;
margin:auto;
display:table;
}
.support-detail-box div{
width:calc(100% - 330px);
font-size:1.5rem;
line-height:1.6;
margin:auto 0 auto auto;
display:table;
}
.support-detail-box table{
width:100%;
margin:20px 0;
border-collapse:collapse;
}
.support-detail-box table th{
font-size:2rem;
font-weight:700;
line-height:1.5;
text-align:left;
}
.support-detail-box table td{
font-size:1.8rem;
}
.support-detail-box table td span{
font-weight:700;
}
.support-detail-box table td img{
width:inherit;
max-width:100%;
height:auto;
margin:10px auto 10px 0;
display:table;
}

.support-detail-box div span{
font-size:1.8rem;
font-weight:700;
margin:20px 0 6px 0;
display:block;
}
.support-detail-box div u{
font-size:1.4rem;
text-decoration:none;
margin-top:6px;
display:block;
}


#recruitment-head-box{
width:100%;
height:400px;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
position:relative;
overflow:hidden;
z-index:1;
}
#recruitment-head-box img{
width:400px;
max-width:400px;
position:absolute;
top:10%;
left:24%;
transform:translatex(-50%);
z-index:2;
}
#recruitment-head-catch{
width:max-content;
color:#fff;
font-size:6rem;
font-weight:900;
line-height:1;
position:absolute;
top:50%;
left:60%;
transform:translate(-50%,-50%);
z-index:1;
}
#recruitment-head-catch span{
font-size:12rem;
font-weight:900;
display:block;
}

#recruitment-head-lnk-box{
width:90%;
max-width:1200px;
display:flex;
justify-content:center;
position:absolute;
bottom:5%;
left:50%;
transform:translatex(-50%);
z-index:3;
}
#recruitment-head-lnk-box a{
width:220px;
color:#fff;
font-size:1.6rem;
line-height:2.4;
text-align:center;
margin:10px;
background:#043a82;
border-radius:20px;
}

#recruitment-table{
width:100%;
border-collapse:collapse;
}
#recruitment-table th{
width:20%;
font-size:1.56rem;
font-weight:300;
line-height:1.5;
text-align:center;
padding:16px 0;
border-top:1px solid #555;
}
#recruitment-table td{
width:auto;
font-size:1.56rem;
font-weiht:300;
line-height:1.5;
padding:16px 2%;
border-top:1px solid #555;
border-left:1px solid #555;
}


.common-contents-box{
width:100%;
padding:120px 0;
margin:0;
display:flex;
}
.common-contents-box dt{
width:50%;
max-width:inherit;
height:800px;
padding:0;
display:table;
background-repeat:no-repeat;
background-size:contain;
position:relative;
}
.common-contents-box dt img{
position:absolute;
bottom:2%;
right:2%;
}
.common-contents-box dt span{
color:#fff;
font-family: "Noto Serif JP", serif;
font-size:3.8rem;
font-weight:500;
line-height:1.2;
display:table;
position:absolute;
left:8%;
bottom:5%;
}
.common-contents-box dd{
width:46%;
max-width:600px;
font-size:1.5rem;
line-height:1.5;
padding:0 2%;
display:table;
}
.common-contents-box dd img{
margin-bottom:20px;
display:table;
}
.common-contents-box dd span{
font-size:4.5rem;
font-weight:900;
line-height:1.3;
display:inline;
}
.common-contents-box dd dl{
font-size:2.8rem;
font-weight:900;
line-height:1;
margin:20px 0;
display:block;
}

.common-contents-box dd a{
color:#fff;
font-size:1.6rem;
line-height:3;
padding:0 50px;
margin:20px 0 0 0;
background:#043a82;
border-radius:30px;
display:table;
}

.common-contents-box-img-right{
margin:auto auto auto 0;
background-position:left center;
}
.common-contents-box-img-left{
margin:auto 0 auto auto;
background-position:right center;
}

.common-contents-box-txt-right{
margin:auto auto auto 0;
}
.common-contents-box-txt-left{
margin:auto 0 auto auto;
}

.common-contents-box-txt-right div{
max-width:600px;
margin:auto auto auto 0;
}
.common-contents-box-txt-left div{
max-width:600px;
margin:auto 0 auto auto;
}
.common-contents-box dd ul{
width:100%;
margin:0 0 20px 0;
}
.common-contents-box dd ul li{
width:97%;
font-size:2rem;
font-weight:700;
line-height:1.5;
margin:10px 0 10px auto;
display:block;
position:relative;
}
.common-contents-box dd ul li:before{
content:'・';
position:absolute;
top:0;
left:-20px;
}

#company-table{
width:100%;
border-collapse:collapse;
}
#company-table th{
width:30%;
font-size:1.4rem;
font-weight:300;
line-height:1.5;
text-align:center;
padding:10px 0;
margin:0;
border-top:1px solid #555;
}
#company-table td{
width:auto;
font-size:1.4rem;
font-weight:300;
line-height:1.5;
padding:10px 2%;
margin:0;
border-top:1px solid #555;
border-left:1px solid #555;
}




.nav-btns{
position:fixed;
top:50%;
right:0;
transform:translatey(-50%);
z-index:5;
}
.nav-btn{
width:64px;
font-size:1.2rem;
font-weight:700;
line-height:1;
text-align:center;
padding:6px 0;
margin:10px 0;
border:1px solid #043a82;
border-radius:20px 0 0 20px;
cursor:pointer;
}
#nav-back{
color:#043a82;
background:#fff;
}
#nav-next{
color:#fff;
background:#043a82;
}

.sec-move{
}

#telbox{
width:100%;
color:#043a82;
font-size:2rem;
font-weight:300;
line-height:1.5;
text-align:center;
margin:80px 0;
}
#telbox a{
font-size:6rem;
font-weight:700;
line-height:1;
margin:10px auto 0 auto;
display:table;
}


#contact-table{
width:80%;
margin:60px auto 0 auto;
border-collapse:collapse;
}
#contact-table th{
width:200px;
text-align:center;
padding:10px 0;
}
#contact-table th span{
color:#ff0000;
margin-left:4px;
}
#contact-table td{
width:auto;
padding:10px 2%;
}
#contact-table th p, #contact-table td p{
font-size:1.5rem;
font-weight:300;
line-height:1.5;
}

select{
font-size:1.7rem;
padding:6px;
margin-bottom:20px;
}

input[type="text"]{
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:0 auto;
border:1px solid #666;
border-radius:6px;
}

textarea{
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:0 auto;
border:1px solid #666;
border-radius:6px;
}

input[type="submit"]{
width:320px;
height:auto;
color:#fff;
font-size:1.5rem;
line-height:3;
text-align:center;
padding:0 40px;
margin:60px auto 0 auto;
background:#999;
border:0px;
border-radius:6px;
display:table;
}

#policy-box{
width:80%;
height:300px;
padding:10px;
margin:40px auto;
background:#eee;
overflow:scroll;
}
#policy-box p{
font-size:1.4rem;
line-height:1.5;
}
#policy-box span{
font-size:2rem;
margin-bottom:10px;
display:block;
}

.wpcf7-form-control-wrap{
margin:0 auto;
}

#policy-check p{
text-align:center;
}

#post-box{
width:100%;
display:flex;
flex-flow:wrap;
}
#post-box dl{
width:30%;
font-size:1.35rem;
line-height:1.5;
padding:0;
margin:15px 1.5%;
}
#post-box dl dt{
width:100%;
height:200px;
padding:0;
margin:0;
position:relative;
overflow:hidden;
}
#post-box dl dt img{
width:110%;
max-width:inherit;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#post-box dl dd{
width:100%;
padding:10px 0;
margin:0;
}
#post-box dl dd span{
width:100%;
font-size:1.3rem;
line-height:1.5;
display:block;
}
#post-box dl dd div{
width:100%;
font-size:1.7rem;
font-weight:700;
line-height:1.8;
padding:0;
margin:4px 0;
display:block;
}
#post-box dl dd a{
font-size:1.3rem;
font-weight:700;
margin:10px 0 0 auto;
border-bottom:1px solid #000;
display:table;
}


.pager{
width:100%;
text-align:center;
margin:80px auto 0px auto;
display:table;
}
.pager a{
color:#fff;
background:#043a82;
text-decoration:none;
}

a.page-numbers,
a.post-page-numbers,
.pager .current{
font-size:1.4rem;
font-weight:390;
line-height:1.6;
padding:8px 10px;
margin:0 6px;
}
.pager .current{
color:#000;
display:inline-block;
}

#post-lnk-box{
width:600px;
margin:60px auto;
display:flex;
justify-content:center;
}
#post-lnk-box a{
width:260px;
color:#fff;
font-size:1.5rem;
line-height:1;
text-align:center;
padding:10px 0;
margin:10px;
background:#043a82;
border-radius:20px;
}

#breadcrumb{
width:100%;
font-size:1.2rem;
line-height:1;
magrin:0 auto;
display:block;
}
#breadcrumb a{
color:#043a82;
border-bottom:1px solid #043a82;
}

dialog{
width:90%;
max-width:800px;
border:none;
background:transparent;
padding:0;
transition:1s;
}
dialog::backdrop{
background:rgba(0,0,0,0.8);
}

#navi{
display:none;
}






