@charset "utf-8";

html{
font-size:62.5%;
font-family: "Noto Sans JP", sans-serif;
}

body{
width:100%;
color:#333;
font-size:1.6rem;
font-weight:350;
line-height:1.8;
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;
}


ul{list-style:none;padding:0;}

.inv-a{
display:table;
}

.inv-b{
display:none;
}

h1{
width:100%;
color:#080059;
font-family: "Noto Serif JP", serif;
font-size:3.4rem;
font-weight:700;
margin:0 0 60px 0;
display:table;
}

h1 span{
font-size:1.8rem;
text-align:center;
margin:0 auto;
display:table;
}

h2{
width:100%;
color:#333;
font-size:2.6rem;
font-weight:360;
line-height:1;
padding:0 0 20px 0;
margin:100px 0 30px 0;
display:table;
border-bottom:1px solid #333;
}

h3{
width:100%;
color:#080059;
font-family: "Noto Serif JP", serif;
font-size:2.2rem;
font-weight:700;
line-height:1.8;
text-align:center;
margin:0 0 60px 0;
display:table;
}

h4{
width:100%;
color:#171c61;
font-size:2.4rem;
font-weight:500;
line-height:1;
padding:0 0 0 10px;
margin:60px 0 30px 0;
border-left:4px solid #171c61;
display:table;
}


#heading-common{
width:96%;
color:#fff;
font-size:2rem;
padding:4px 2%;
margin:60px auto;
display:table;
background:#171c61;
border-radius:6px;
}
#heading-common::before{
content:'|';
font-size:1.7rem;
margin-right:10px;
}
#heading-common span{
font-size:1.6rem;
margin-left:10px;
}


p{
width:100%;
font-weight:350;
padding:0;
margin:0;
display:table;
}

p span, #works-box div span{
color:#171c61;
font-size:2.2rem;
font-weight:380;
}

p a{
color:#5791eb;
text-decoration:underline;
}

p img{
margin-top:6px;
margin-bottom:6px;
}

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%;
}

#sec{
width:1100px;
height:auto;
padding:80px 0;
margin:0 auto;
}
#post-sec{
width:900px;
height:auto;
padding:0 0;
margin:0 auto;
}


#navi-box-background{
width:100%;
height:65px;
background:rgba(0,0,0,0.7);
position:fixed;
top:0;
left:0;
z-index:9;
}

#navi-box{
width:96%;
padding:10px 2%;
display:flex;
flex-flow:wrap;
justify-content:space-between;
position:fixed;
top:0;
left:0;
z-index:15;
}
#navi-logo{
width:240px;
margin:0;
display:table;
}

#navi-menu{
width:auto;
margin:auto 0;
display:table;
}
#navi-menu a{
color:#fff;
font-size:1.4rem;
font-weight:300;
line-height:1;
padding:0 10px;
border-right:1px solid #fff;
}

#caption{
width:100%;
color:#080059;
font-family: "Noto Serif JP", serif;
font-size:2.6rem;
font-weight:700;
line-height:1;
text-align:center;
margin:100px 0 40px 0;
display:table;
}
#caption span{
font-family: "Noto Sans JP", sans-serif;
font-size:1.6rem;
font-weight:500;
margin:10px auto 0 auto;
display:table;
}

#home-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}

#home-box dl{
width:520px;
padding:0;
margin:20px auto;
box-shadow: 1px 3px 6px 0px rgba(170, 170, 170, 0.35);
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#home-box dl img{
width:100%;
display:table;
}
#home-box dl dt{
width:80px;
padding:30px;
margin:auto 0;
display:table;
}
#home-box dl dt img{
width:auto;
}
#home-box dl dd{
width:calc(100% - 160px);
font-size:1.3rem;
line-height:1.5;
padding:0 20px 20px 0;
margin:15px 0;
display:table;
}
#home-box dl dd span{
width:100%;
color:#171c61;
font-family: "Noto Serif JP", serif;
font-size:2rem;
font-weight:700;
margin-bottom:6px;
display:table;
}
#home-box dl dd ul{
width:100%;
font-size:1rem;
margin-top:10px;
}
#home-box dl dd ul li{
width:100%;
display:table;
}

#home-box dl dd a{
width:40px;
margin:0 0 0 auto;
display:table;
}

#home-box div{
width:340px;
font-size:1.3rem;
line-height:1.4;
box-shadow: 1px 3px 6px 0px rgba(170, 170, 170, 0.35);
display:flex;
}
#home-box div img{
width:120px;
max-width:100%;
display:table;
}
#home-box div div{
width:95%;
text-align:left;
padding:0 1% 10px 4%;
display:table;
}
#home-box div span{
width:100%;
font-size:1.5rem;
font-weight:700;
text-align:left;
margin:6px 0;
display:table;
}

#map{
width:100%;
height:450px;
border:0;
margin:0 0 0 0;
display:block;
}

#footer-box{
width:96%;
padding:80px 2% 40px 2%;
margin:0;
background:#fff;
display:flex;
flex-flow:wrap;
justify-content:flex-end;
}
#footer-box dt{
font-size:1.2rem;
line-height:1.4;
text-align:right;
padding:0;
margin:auto 0 auto auto;
display:table;
}
#footer-box dt div{
color:#171c61;
font-family: "M PLUS Rounded 1c", sans-serif;
font-size:2.4rem;
font-weight:400;
line-height:1.2;
margin:0 0 10px auto;
display:table;
}
#footer-box dt div img{
width:30px;
margin:auto 10px;
}
#footer-box dd{
font-size:1rem;
line-height:1;
padding:0;
margin:0 0 0 20px;
display:table;
}
#footer-box dd img{
width:140px;
max-widt:100%;
padding:6px;
margin-bottom:4px;
border:1px solid #000;
display:table;
}


#head-box{
width:100%;
height:160px;
overflow:hidden;
position:relative;
z-index:10;
}
#head-box img, #head-box-snd img{
width:inherit;
min-width:1400px;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:10;
}
#head-box span{
color:#fff;
font-family: "Noto Serif JP", serif;
font-size:2.8rem;
display:table;
position:absolute;
top:55%;
left:50%;
transform:translate(-50%,-50%);
z-index:10;
}

#page-box-common{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}

#page-box-common a{
width:200px;
color:#fff;
font-size:1.5rem;
line-height:1;
text-align:center;
padding:20px 0;
display:table;
background:#5791eb;
}

#works-box{
width:100%;
margin:0 0 0px 0;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#works-box img{
width:320px;
margin:0 0 auto 0;
display:table;
}
#works-box div{
width:calc(96% - 320px);
padding:0 2%;
margin:0 0 auto 0;
display:table;
}
#works-box div span{
display:table;
}

#maintenance-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:center;
}
#maintenance-box img{
width:auto;
max-width:340px;
margin:30px;
display:table;
}

#table-common, #table-enkaku, #fire-act-box{
width:100%;
margin:80px 0;
border-collapse:collapse;
}
#table-common th, #table-enkaku th, #fire-act-box th{
width:300px;
font-weight:inherit;
padding:10px 0;
}
#table-common td, #table-enkaku td, #fire-act-box td{
width:calc(98% - 300px);
padding:10px 0 10px 2%;
}

#table-common th, #fire-act-box th{
background:#eee;
border-bottom:1px solid #fff;
}
#table-enkaku th{
background:#fff;
border-bottom:1px dashed #eee;
}
#table-common td, #fire-act-box td{
border-bottom:1px solid #eee;
}
#table-enkaku td{
border-bottom:1px dashed #eee;
}


.result-lnk{
width:115px !important;
line-height:1.5 !important;
padding:15px 0 !important;
background:#5889c7 !important;
}
.result-lnk-sng{
line-height:2.8 !important;
}


#result-box, #qualifications-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#result-box div{
width:50%;
font-size:1.5rem;
line-height:2;
text-align:left;
display:table;
}
#result-box div::before{
content:'・';
}

#qualifications-box div{
width:33%;
font-size:1.6rem;
line-height:2;
text-align:left;
display:table;
}


#company-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#company-box img{
width:320px;
padding:0;
display:table;
}
#company-box div{
width:calc(98% - 320px);
padding:0 0 0 2%;
display:table;
}

#common-lnk{
width:260px;
color:#fff;
font-size:1.5rem;
line-height:2.6;
text-align:center;
margin:60px auto;
background:#5889c7;
border-radius:30px;
display:table;
}
#common-lnk::before{
content:'>';
margin-right:6px;
}

#head-box-snd{
width:100%;
height:680px;
overflow:hidden;
position:relative;
z-index:10;
}
#head-box-snd img{
}
#head-box-snd div{
color:#fff;
font-family: "Noto Serif JP", serif;
font-size:4rem;
text-align:center;
display:table;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:10;
}
#head-box-snd div span{
font-size:1.8rem;
font-weight:500;
margin:0 auto;
display:table;
}
#head-box-snd dl{
width:1100px;
display:flex;
flex-flow:wrap;
justify-content:space-between;
position:absolute;
bottom:60px;
left:50%;
transform:translatex(-50%);
z-index:10;
}
#head-box-snd dl a{
width:170px;
color:#fff;
font-size:1.4rem;
line-height:1.5;
text-align:center;
padding:10px 0;
background:rgba(23,28,97,0.7);
}
.head-box-snd-sng{
line-height:3 !important;
}

#recruit-box, #contribution-box{
width:100%;
font-weight:400;
padding:0;
margin:0 0 80px 0;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#recruit-box dt{
width:200px;
font-size:1.2rem;
text-align:center;
padding:0;
margin:0 0 0 40px;
background:#f5f5f5;
display:table;
}
#recruit-box dt img{
width:auto;
margin-bottom:20px;
max-width:100%;
}
#recruit-box dt ruby{
font-size:1.8rem;
margin-left:6px;
}
#recruit-box dd{
width:calc(100% - 240px);
padding:0;
margin:0;
display:table;
}
#recruit-box div{
width:100%;
margin-top:20px;
display:block;
}


#contribution-box img{
width:100%;
margin:0 0 20px 0;
display:table;
}

#sdgs-box, #sdgs-bnr-box{
width:100%;
display:flex;
flex-flow:wrap;
}
#sdgs-box{
margin:0 0 10px 0;
justify-content:flex-start;
}
#sdgs-box img{
width:520px;
margin:0 auto;
display:table;
}
#sdgs-bnr-box{
margin:40px 0 10px 0;
justify-content:space-between;
}
#sdgs-bnr-box img{
width:100px;
margin:10px;
display:table;
}


#sdgs-det-box{
width:100%;
font-size:1.5rem;
margin:0 0 40px 0;
display:flex;
}

#sdgs-det-box img{
width:100px;
margin:0 20px 0 0;
display:table;
}
#sdgs-det-box div{
width:auto;
margin:auto;
display:table;
}
#sdgs-det-box dl{
width:45%;
margin:auto 5% auto auto;
display:flex;
}


#contribution-video{
width:100%;
height:auto;
margin:auto auto 40px auto;
display:table;
}

#tel-lnk{
color:#171c61;
font-size:5rem;
font-weight:500;
text-decoration:none;
margin:0 20px;
}


input[type="text"], input[type="email"] {
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:40px auto 0 auto;
border:1px solid #999;
border-radius:4px;
}

textarea{
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:40px auto 0 auto;
border:1px solid #999;
border-radius:10px;
}

input[type="submit"]{
width:200px;
height:auto;
color:#fff;
font-size:1.6rem;
line-height:3;
text-align:center;
padding:0 40px;
margin:60px auto 0 auto;
background:#171c61;
border:0px;
border-radius:10px;
display:table;
}


.wpcf7-not-valid-tip{
font-size:1.5rem;
}


#news-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}

#post-box{
width:300px;
padding:0;
margin:0 32px;
}
#post-box a{
width:100%;
height:200px;
padding:0;
margin:0;
overflow:hidden;
display:table;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
position:relative;
}
#post-box a img{
width:110%;
max-width:inherit;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#post-box a div{
color:#fff;
font-size:1.2rem;
line-height:2;
padding:0 20px;
position:absolute;
top:0;
left:0;
}

#post-box dd{
width:100%;
color:#333;
font-size:1.2rem;
padding:6px 0 30px 0;
margin:0;
}
#post-box dd span{
font-size:1.4rem;
font-weight:500;
line-height:1.5;
display:block;
}


.pager{
text-align:center;
margin:30px auto;
display:table;
}
.pager a{
color:#171c61;
text-decoration:none;
}

a.page-numbers,
.pager .current{
font-size:1.4rem;
font-weight:700;
background:#fff;
padding:6px 10px;
margin:0 6px;
border-radius:2px;
}
.pager .current{
color:#fff;
background:#171c61;
display:inline-block;
}

#dl-asw01{
width:600px;
height:800px;
margin:40px auto 0 auto;
border:0;
display:table;
}

#dl-asw02{
width:600px;
height:480px;
margin:40px auto 0 auto;
border:0;
display:table;
}

#download-box{
width:100%;
margin-top:40px;
display:flex;
flex-flow:wrap;
justify-content:center;
}
#download-box a{
font-size:1.5rem;
line-height:1.5;
margin:10px auto;
border-bottom:1px solid #666;
display:table;
}
#download-box img{
max-width:100%;
margin-right:6px;
}

#navi{
display:none;
}

