@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Dots&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:auto;
backface-visibility:hidden;
}

img.scaled-image {
border:0;
margin:0;
}


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:1;
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:1;
}

#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-image-mv-logo{
width:auto;
max-width:100%;
height:auto;
display:table;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#home-image-mv-bnr{
padding:15px 20px 15px 60px;
background:#d11a22;
clip-path: polygon(15% 0%, 100% 0%, 100% 100%, 0% 100%);
display:block;
position:absolute;
bottom:0;
right:0;
}
#home-image-scroll{
position:absolute;
bottom:3%;
left:50%;
transform:translatey(-50%);
}



#global-navi{
width:90%;
padding:10px 5%;
background:#002e5c;
position:fixed;
top:0;
left:0;
z-index:2;
}
#global-navi-logo{
padding:10px 40px 10px 20px;
background:#fff;
clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 0% 100%);
position:absolute;
top:0;
left:0;
}
#global-navi-box{
width:600px;
color:#fff;
margin:0 0 0 auto;
display:flex;
justify-content:space-between;
}
#global-navi-box a{
color:#fff;
font-size:1.4rem;
padding:0 6px;
}


.sec-home, .sec-common, #footer-sec{
width:90%;
max-width:1100px;
height:auto;
margin:0 auto;
}
.sec-home, .sec-common{
padding:80px 5%;
}
#footer-sec{
max-width:inherit;
}

#post-sec{
width:90%;
max-width:980px;
padding:100px 0;
margin:0 auto;
}


p{
font-size:1.68rem;
font-weight:360;
line-height:1.8;
margin:0;
}


h1, h2, h3{
width:100%;
font-size:2.6rem;
font-weight:700;
margin:0 auto 60px auto;
display:flex;
justify-content:center;
}
.h1-left{
width:190px;
padding:0 10px 0 0;
margin:0;
display:table;
}
.h2-left img{
width:177px;
max-width:inherit;
margin:0 auto 0 0;
display:block;
}

.h2-left{
width:110px;
padding:0 10px 0 0;
margin:0;
display:table;
}
.h2-left img{
width:100px;
max-width:inherit;
margin:0 auto 0 0;
display:block;
}

.h3-left{
width:50px;
padding:0 10px 0 0;
margin:0;
display:table;
}
.h3-left img{
width:40px;
max-width:inherit;
margin:0 auto 0 0;
display:block;
}

h4{
width:100%;
font-size:1.8rem;
font-weight:360;
line-height:1.8;
text-align:center;
margin:0 0 40px 0;
display:block;
}


h5{
font-size:2.4rem;
line-height:1.5;
text-align:left;
marin:0 0 80px0;
display:block;
}



.h-right{
width:max-content;
padding:0;
margin:auto 0 0 0;
display:block;
}
.h-right div{
color:#002e5c;
font-family: "Zen Dots", sans-serif;
font-size:5.6rem;
font-weight:500;
line-height:1.2;
display:block;
}
.h-right span{
color:#002e5c;
font-family: "Zen Dots", sans-serif;
font-size:2.6rem;
font-weight:500;
line-height:1;
display:block;
}
.h-right span u{
color:#000;
font-family: "Noto Sans JP", sans-serif;
font-size:2rem;
font-weight:700;
line-height:1;
text-decoration:none;
padding:0 0 0 20px;
}


.sec-home-background{
width:100%;
position:relative;
}
.sec-home-background-image-top-right{
width:auto;
position:absolute;
top:-36px;
right:0;
z-index:0;
}
.sec-home-background-image-bottom-left{
width:auto;
position:absolute;
bottom:-36px;
left:0;
transform:scale(-1, -1);
z-index:0;
}

#home-movie{
max-width:80%;
margin:0 auto;
display:block;
}


.home-content-block, .recruit-content-block{
width:100%;
padding:0 0 100px 0;
margin:0;
display:flex;
}
.block-image-left{
flex-flow:wrap;
}
.block-image-right{
flex-flow:row-reverse;
}

.block-image-left dt{
background-position:right center;
}
.block-image-right dt{
background-position:left center;
}

.home-content-block dt, .recruit-content-block dt{
width:50%;
height:360px;
padding:0;
margin:0;
background-repeat:no-repeat;
background-size:cover;
position:relative;
display:block;
}

.home-content-block dt span, .recruit-content-block dt span{
color:#fff;
font-family: "Zen Dots", sans-serif;
font-size:5rem;
font-weight:500;
line-height:1;
display:block;
position:absolute;
top:50%;
transform:translatey(-50%);
}
.home-content-block-span-left, .recruit-content-block-span-left{
right:33%;
}
.home-content-block-span-right, .recruit-content-block-span-right{
left:28%;
}

.home-content-block-dt-image-left, .recruit-content-block-dt-image-left{
position:absolute;
top:50%;
right:-17%;
transform:translatey(-50%);
}
.home-content-block-dt-image-right, .recruit-content-block-dt-image-right{
position:absolute;
top:50%;
left:-17%;
transform:translatey(-50%);
}
.home-content-block dd, .recruit-content-block dd{
width:30%;
max-width:500px;
font-size:1.6rem;
line-height:1.5;
padding:0 10%;
margin:auto 0;
display:block;
}
.home-content-block dd span{
font-size:2.6rem;
font-weight:700;
line-height:1.4;
margin-bottom:20px;
display:block;
}
.home-content-block dd a, .home-lnk-btn, .common-lnk{
width:240px;
font-size:1.6rem;
line-height:1;
text-align:center;
padding:10px 0;
margin:20px 0 0 0;
border:1px solid #000;
border-radius:20px;
display:block;
}

.recruit-content-block dd div{
font-size:3.5rem;
font-weight:700;
margin-bottom:20px;
display:block;
}
.recruit-content-block dd div span{
color:#d11a22;
font-size:4rem;
display:block;
}


.common-lnk{
margin:60px auto !important;
}


#home-product-box{
width:1000px;
padding:0;
margin:0 auto;
display:flex;
justify-content:space-between;
}
#home-product-box dt{
width:48%;
color:#fff;
font-size:1.2rem;
text-align:center;
padding:0;
margin:0;
}

#home-product-box dd{
width:48%;
color:#fff;
font-size:1.2rem;
text-align:left;
padding:0;
margin:0;
display:flex;
flex-direction:column;
}
#home-product-box dd table{
width:100%;
}
#home-product-box dd table td{
width:46%;
color:#fff;
font-size:1.2rem;
text-align:center;
padding:0 2%;
}

#home-product-box dt img, #home-product-box dd table td img{
margin-bottom:15px;
}


#home-recruit-movie-background{
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-recruit-box{
color:#fff;
display:flex;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#home-recruit-box dt{
padding:0;
margin:0;
}
#home-recruit-box dd{
width:stretch;
color:#fff;
font-size:2.4rem;
font-weight:700;
padding:0 0 0 5%;
margin:auto 0;
}
#home-recruit-box dd span{
width:inherit;
font-family: "Zen Dots", sans-serif;
font-size:5rem;
font-weight:700;
display:block;
}

#footer-sec{
color:#fff;
font-size:0.8rem;
line-height:1.2;
text-align:right;
padding:40px 5%;
}
#footer-sec div{
font-size:1.2rem;
margin-bottom:10px;
}
#footer-sec div img{
padding-left:10px;
}

.products-block, .equipment-block, .equipment-block-image, .company-block{
width:96%;
padding:4% 2%;
display:flex;
justify-content:space-between;
}
.equipment-block-image{
width:92%;
padding:0 4%;
flex-flow:wrap;
}
.equipment-block-image img{
width:31%;
max-width:100%;
margin-bottom:4%;
}

.company-block{
text-align:center;
display:block;
}
#company-block-image{
width:100%;
margin:40px 0% 0 0%;
display:flex;
justify-content:space-between;
}


.products-block-split, .equipment-block-split{
width:46%;
font-size:1.4rem;
line-height:1.5;
padding:2%;
display:block;
}
.products-block-split img, .equipment-block-split img{
max-width:100%;
height:auto;
display:block;
}
.products-block-split table{
width:100%;
margin:10px 0;
border-collapse:collapse;
}
.products-block-split table th{
width:28%;
font-size:1.4rem;
line-height:1.5;
font-weight:360;
text-align:left;
padding:4px 2%;
border:1px solid #000;
}
.products-block-split table td{
width:62%;
font-size:1.4rem;
line-height:1.5;
font-weight:360;
padding:4px 2%;
border:1px solid #000;
}
.products-block-logo, .equipment-block-logo{
width:40px;
margin-bottom:20px;
display:block;
}
.products-block-split dl, .equipment-block-split dl{
width:100%;
padding:0;
margin:0 0 10px 0;
}
.products-block-split dl dt, .equipment-block-split dl dt{
width:100%;
font-size:2rem;
font-weight:700;
padding:0;
margin:0;
display:block;
}
.products-block-split dl dd, .equipment-block-split dl dd{
width:100%;
font-size:1.6rem;
font-weight:500;
margin:10px 0 0 0;
display:block;
}
.products-block-split span, .equipment-block-split span{
font-size:1.6rem;
font-weight:700;
padding:0;
margin:0;
display:block;
}

.products-block-example-box{
width:92%;
padding:0 4%;
margin:80px 0;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}
.products-block-example-box dl{
width:100%;
font-size:1.4rem;
padding:0;
margin:30px 0;
display:block;
}
.products-block-example-box dl span{
font-size:2rem;
font-weight:500;
margin-right:30px;
}

.products-block-example-box div{
width:30%;
font-size:1.4rem;
line-height:1.5;
padding:20px 0;
}
.products-block-example-box div span{
font-size:1.5rem;
font-weight:700;
margin:6px 0;
display:block;
}

.products-project-block{
width:100%;
display:flex;
justify-content:space-between;
}
.products-project-block div{
width:23%;
font-size:1.4rem;
font-weight:700;
line-height:1.5;
text-align:center;
margin:20px 0;
}
.products-project-block div img{
margin-bottom:10px;
}

.products-project-table{
width:100%;
font-size:1.4rem;
line-height:1.5;
margin-top:60px;
border-collapse:collapse;
}
.products-project-table th{
font-weight:360;
text-align:left;
padding:6px 2%;
border:1px solid #000;
}
.products-project-table td{
font-weight:360;
text-align:left;
padding:6px 2%;
border:1px solid #000;
}

#equipment-table{
width:100%;
font-size:1.4rem;
border-collapse:collapse;
}
#equipment-table th{
font-weight:360;
text-align:center;
padding:6px 0;
background:#f0f7ff;
border:1px solid #000;
}
#equipment-table td{
padding:6px 2%;
border:1px solid #000;
}

.company-table{
width:100%;
border-collapse:collapse;
}
.company-table th{
font-weight:360;
padding:6px 2%;
border:1px solid #000;
}
.company-table td{
font-weight:360;
padding:6px 2%;
border:1px solid #000;
}

#maps{
width:100%;
height:450px;
border:0;
}


#recruit-head-box{
width:100%;
height:100vh;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
position:relative;
z-index:0;
}
#recruit-head-catch{
max-width:100%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:0;
}
#recruit-head-box a{
position:absolute;
bottom:20px;
left:50%;
transform:translatex(-50%);
z-index:1;
}

.recruit-greetings-block{
width:100%;
padding:0;
margin:0 0 140px 0;
display:flex;
justify-content:center;
}
.recruit-greetings-block dt{
width:500px;
font-size:1.6rem;
line-height:2;
padding:0;
margin:auto 0;
}
.recruit-greetings-block dt div{
font-size:1.5rem;
font-weight:500;
margin-top:20px;
display:block;
}
.recruit-greetings-block dt div span{
font-size:2.4rem;
margin-left:10px;
}
.recruit-greetings-block dd{
width:50%;
text-align:left;
padding:0;
margin:0;
}
.recruit-greetings-block dd img{
width:auto;
marin:auto auto auto 0;
display:table;
}


#post-box{
width:100%;
margin:0 0 0 0;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}

#post-box dl{
width:30%;
padding:0;
margin:20px 1.5%;
}
#post-box dl dt{
width:100%;
height:200px;
padding:0;
margin:0;
position:relative;
overflow:hidden;
}
#post-box dl dt img{
width:120%;
max-width:inherit;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#post-box dl dd{
width:100%;
font-size:1.4rem;
line-height:1.6;
padding:0;
margin:0;
}
#post-box dl dd div{
font-size:1.4rem;
font-weight:700;
line-height:1.5;
margin:6px 0;
display:block;
}


.pager{
width:100%;
text-align:center;
margin:80px auto 0px auto;
display:table;
}
.pager a{
color:#002e5c;
background:#fff;
text-decoration:none;
border-bottom:1px solid #002e5c;
}

a.page-numbers,
a.post-page-numbers,
.pager .current{
font-size:2rem;
font-weight:390;
line-height:1.6;
padding:0px 4px;
margin:0 6px;
}
.pager .current{
color:#000;
display:inline-block;
}

#form{
width:640px;
height:2100px;
margin:100px auto 0 auto;
display:block;
}


.fade{
opacity:0;
transition-duration:1s;
visibility:hidden;
}
.vertical{
transform:translateY(80px);
}
.beside-left{
transform:translatex(-50px);
}
.beside-right{
transform:translatex(50px);
}

.scroll{
opacity:1;
visibility:visible;
transform:translate(0,0);
}

#totop{
position:fixed;
right:1%;
bottom:1%;
z-index:1;
}


#navi{
display:none;
}








