@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html{
font-size:62.5%;
font-family:'Noto Sans JP', sans-serif;
}

body{
width:100%;
color:#333;
font-size:1.6rem;
font-weight:360;
line-height:2;
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;}

h1{
width:100%;
font-family: "Noto Serif JP", serif;
font-size:4rem;
font-weight:700;
line-height:1;
text-align:center;
margin:0 0 80px 0;
display:block;
}
h1 span{
width:100%;
font-family:'Noto Sans JP', sans-serif;
font-size:1.6rem;
font-weight:400;
line-height:1;
text-align:center;
margin:15px auto 0 auto;
display:table;
}

#bottom-catch{
margin:160px auto 0 auto;
}

h2{
font-family: "Noto Serif JP", serif;
width:100%;
font-size:2.8rem;
font-weight:500;
line-height:1.3;
text-align:center;
margin:0 0 20px 0;
display:block;
}
h2 span{
font-family:'Noto Sans JP', sans-serif;
width:100%;
font-size:1.2rem;
font-weight:400;
line-height:1;
text-align:center;
margin:12px auto 0 auto;
display:table;
}

h3{
width:100%;
font-family: "Noto Serif JP", serif;
font-size:3rem;
font-weight:700;
line-height:1.5;
text-align:center;
padding:0 0 40px 0;
margin:0 0 20px 0;
border-bottom:4px solid #bf0d23;
display:block;
}
h3 span{
width:100%;
font-family:'Noto Sans JP', sans-serif;
font-size:1.5rem;
font-weight:500;
line-height:1;
text-align:center;
margin:15px auto 0 auto;
display:table;
}

h4{
width:100%;
font-family: "Noto Serif JP", serif;
font-size:2.8rem;
font-weight:500;
line-height:2;
text-align:center;
margin:80px 0;
display:block;
}

h5{
width:100%;
font-size:2rem;
font-weight:500;
line-height:2;
text-align:left;
margin:80px 0 40px 0;
display:block;
}


p{
width:100%;
padding:0;
margin:0;
}

p a{
color:#bf0d23;
margin:0 4px;
border-bottom:1px solid #bf0d23;
}

.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-sec, #common-sec, #post-sec{
height:auto;
padding:100px 0;
margin:0 auto;
display:block;
}
#home-sec{
width:90%;
max-width:1400px;
}
#common-sec{
width:92%;
max-width:1100px;
}
#post-sec{
width:90%;
max-width:900px;
}

#home-contents-box{
width:auto;
min-width:900px;
max-width:1400px;
margin:20px auto 0 auto;
display:flex;
flex-flow:wrap;
}

#home-contents-box a{
width:calc(30% - 22px);
max-width:468px;
height:160px;
color:#bf0d23;
font-size:1.4rem;
text-align:center;
padding:20px 10px;
margin:40px 1.5%;
background:#fff;
border:1px solid #eee;
filter:drop-shadow(0px 0px 4px rgba(128,128,128,0.4));
display:grid;
}
#home-contents-box img{
width:auto;
max-width:100%;
margin:auto auto;
display:block;
}

#home-box, #common-contents-box{
max-width:1100px;
min-width:900px;
padding:0;
margin:80px auto 0 auto;
display:flex;
}
.home-box-img-left, .contents-box-img-left{
flex-flow:wrap;
}
.home-box-img-right, .contents-box-img-right{
flex-flow:row-reverse;
}
#home-box dt, #common-contents-box dt{
width:54%;
padding:0;
margin:0;
}
#home-box dd, #common-contents-box dd{
width:calc(46% - 60px);
font-size:1.4rem;
line-height:1.8;
padding:0 30px;
margin:auto 0;
display:table;
}
#home-box dd a{
color:#fff;
font-size:1.5rem;
line-height:3;
padding:0 80px;
margin:40px auto 0 auto;
background:#bf0d23;
display:table;
}

#footer-box{
width:100%;
color:#fff;
text-align:center;
padding:60px 0;
margin:0;
background:#ee9200;
}

#footer-box img{
max-width:100%;
margin:0 8px 20px 8px;
display:inline-block;
}


#header-box{
width:100%;
background:rgba(255,255,255,0.8);
display:flex;
flex-flow:wrap;
justify-content:space-between;
position:fixed;
top:0;
left:0;
z-index:15;
}

#hader-box-logo{
width:140px;
margin:auto 0 auto 2%;
display:table;
}
#hader-box-logo img{
width:140px;
display:table;
}

#navi-box{
width:820px;
margin:auto 0;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}
#navi-box a{
color:#000;
font-size:1.3rem;
line-height:1;
margin:auto 0;
display:table;
text-align:center;
}
#navi-box a span{
width:100%;
font-size:1rem;
line-height:1;
margin-top:5px;
display:table;
}

#head-buy-bnr{
width:200px;
color:#fff;
padding:10px 0;
margin:0;
background:#bf0d23;
}
#head-buy-bnr table{
width:100%;
margin:auto 0;
border-collapse:collapse;
}
#head-buy-bnr th{
width:auto;
padding:0 10px;
}
#head-buy-bnr td{
color:#fff;
font-size:1.3rem;
text-align:center;
padding:0 10px 0 0;
}
#head-buy-bnr td span{
width:100%;
font-size:1rem;
text-align:center;
margin-top:5px;
display:table;
}

#common-lnk-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:center;
}
#common-lnk-box a{
color:#fff;
font-size:1.4rem;
line-height:1.8;
padding:0 30px;
margin:0 10px;
background:#bf0d23;
border-radius:20px;
}


#common-flow-box{
width:96%;
padding-left:4%;
display:flex;
justify-content:center;
}
#common-flow-box img{
max-width:100%;
display:table;
filter:drop-shadow(0px 0px 4px rgba(128,128,128,0.4));
}
#flow-item{
margin-right:-6px;
}

#common-contents-box dd div{
width:100%;
color:#bf0d23;
font-family: "Noto Serif JP", serif;
font-size:2.8rem;
font-weight:700;
line-height:1;
text-align:center;
margin:0 0 20px 0;
display:block;
}
#common-contents-box dd div span{
width:100%;
color:#333;
font-family: "Noto Serif JP", serif;
font-size:1.4rem;
font-weight:500;
line-height:1;
margin-top:15px;
text-align:center;
display:block;
}
#common-contents-box dd img{
max-width:100%;
display:table;
}

#contents-box-dd-img-right{
margin:10px auto 0 0;
}
#contents-box-dd-img-left{
margin:10px 0 0 auto;
}

.anchor{
padding-top:80px;
margin-top:-80px;
display:block;
position:relative;
z-index:-1;
}

#contents-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}
#contents-box div{
width:48%;
max-width:580px;
font-family: "Noto Serif JP", serif;
font-size:1.5rem;
font-weight:600;
line-height:2;
margin:auto 0;
display:table;
}
#contents-box div img{
width:auto;
max-width:100%;
display:table;
}
#contents-box div div{
width:100%;
text-align:right;
dsiplay:block;
}
#contents-box div span{
font-size:3rem;
margin-left:10px;
}

#contents-box div table{
width:100%;
font-family:'Noto Sans JP', sans-serif;
border-collapse:collapse;
}
#contents-box div table th{
width:25%;
font-size:1.4rem;
font-weight:400;
line-height:1.5;
text-align:left;
vertical-align:top;
padding:5px 0;
margin:0;
}
#contents-box div table td{
width:75%;
font-size:1.4rem;
font-weight:400;
line-height:1.5;
padding:5px 0;
margin:0;
}


#contents-box dl{
width:47%;
max-width:500px;
padding:0;
margin:0;
box-shadow: 0px 0px 15px -5px #777777;
background:#fff;
display:flex;
align-items:center;
}
#contents-box dl dt{
width:32%;
padding:20px 4%;
margin:0;
text-align:center;
}
#contents-box dl dd{
width:56%;
font-size:1.5rem;
line-height:1.5;
padding:20px 4% 20px 0;
margin:0;
}
#contents-box dl dd span{
width:100%;
font-size:2.4rem;
font-weight:700;
line-height:1;
text-align:center;
padding:0;
margin:0 0 20px 0;
display:table;
color:#bf0d23;
}

#enkaku-box{
width:100%;
border-collapse:collapse;
}
#enkaku-box th{
width:20%;
color:#fff;
font-size:1.6rem;
font-weight:300;
line-height:1.5;
text-align:center;
vertical-align:top;
padding:10px 0;
}
#enkaku-box td{
width:auto;
color:#fff;
font-size:1.6rem;
font-weight:300;
line-height:1.5;
padding:10px 0;
}

#recruit-head{
width:100%;
height:100vh;
background-repeat:no-repeat;
background-position:top center;
background-size:cover;
position:relative;
}
#recruit-head span{
color:#fff;
font-family: "Noto Serif JP", serif;
font-size:4rem;
font-weight:700;
line-height:2;
padding:0 30px;
display:table;
background:rgba(191,13,35,0.7);
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
z-index:2;
width:717px;
}

#recruit-box{
width:100%;
padding:0;
margin:60px 0;
display:flex;
flex-flow:wrap;
justify-content:space-between;
}
#recruit-box dt{
width:48%;
max-width:500px;
padding:0;
margin:auto 0;
display:table;
}
#recruit-box dd{
width:100%;
font-size:2rem;
line-height:2;
padding:0;
margin:auto 0;
display:table;
text-align:center;
}
#recruit-box dd div{
width:100%;
font-weight:700;
line-height:1;
text-align:center;
margin:0 0 30px 0;
display:block;
}

#recruit-table{
width:100%;
border-collapse:collapse;
}
#recruit-table th{
width:25%;
font-size:1.5rem;
font-weight:390;
text-align:left;
vertical-align:top;
line-height:1.5;
padding:13px 0;
margin:0;
border-bottom:solid 2px #bf0d23;
font-weight:600;
}
#recruit-table td{
width:75%;
font-size:1.5rem;
font-weight:390;
line-height:1.5;
padding:13px 0;
margin:0;
border-bottom:solid 2px #ebb6bc;
}

#recruit-contents-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:center;
gap:60px 5%;
}
#recruit-contents-box dl{
width:30%;
max-width:500px;
padding:0;
margin:0;
box-shadow: 0px 0px 15px -5px #777777;
background:#fff;
}
#recruit-contents-box dl dt{
width:100%;
padding:0;
margin:0;
text-align:center;
}
#recruit-contents-box dl dt img{
padding:20px 4%;
width:140px;
}
#recruit-contents-box dl dd{
width:92%;
font-size:1.5rem;
line-height:1.5;
padding:20px 4%;
margin:0;
}
#recruit-contents-box dl dd span{
width:100%;
font-size:2.4rem;
font-weight:700;
line-height:1;
text-align:center;
padding:0;
margin:0 0 20px 0;
display:table;
color:#bf0d23;
}

#recruit1,#recruit2,#recruit3,#recruit4,
#recruit-sec1,#recruit-sec2,#recruit-sec3,#recruit-sec4{
display:none;
}
#recruit1:checked ~ #recruit-sec1,
#recruit2:checked ~ #recruit-sec2,
#recruit3:checked ~ #recruit-sec3,
#recruit4:checked ~ #recruit-sec4{
display:block;
}
#common-lnk-box label{
color:#fff;
font-size:1.4rem;
line-height:1.8;
padding:0 30px;
margin:0 10px;
background:#bf0d23;
border-radius:20px;
border:solid 1px #fff;
cursor:pointer;
}
#recruit1:checked ~ #common-lnk-box label[for="recruit1"],
#recruit2:checked ~ #common-lnk-box label[for="recruit2"],
#recruit3:checked ~ #common-lnk-box label[for="recruit3"],
#recruit4:checked ~ #common-lnk-box label[for="recruit4"]{
background:#fff;
border:solid 1px #bf0d23;
color:#bf0d23;
}
#recruit-entry{
color:#fff;
font-size:1.5rem;
line-height:3;
padding:0 80px;
margin:40px auto 0 auto;
background:#bf0d23;
display:table;
}

#tel{
font-size:6rem;
font-weight:700;
line-height:1;
margin:0 auto 40px auto;
display:table;
}

#contact-box{
width:800px;
margin:60px auto;
display:table;
}
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 #bf0d23;
border-radius:4px;
}

textarea{
width:90%;
height:auto;
font-size:1.5rem;
padding:20px 10px;
margin:40px auto 0 auto;
border:1px solid #bf0d23;
border-radius:10px;
}

input[type="submit"]{
width:200px;
height:auto;
color:#fff;
font-size:1.5rem;
line-height:3;
text-align:center;
padding:0 20px;
margin:60px auto 0 auto;
background:#f5ba00;
border:0px;
border-radius:0px;
display:table;
}

.wpcf7-not-valid-tip{
color:#ff8ca3;
font-size:1.4rem;
font-weight:normal;
display:block;
}

#common-lnk{
color:#fff;
font-size:1.4rem;
font-weight:390;
line-height:3.5;
padding:0 60px;
margin:60px auto 0 auto;
background:#bf0d23;
border-radius:10px;
display:table;
}

#common-box{
width:100%;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}

#news-box{
width:30%;
max-width:460px;
font-size:1.4rem;
font-weight:390;
line-height:1.5;
padding:0;
margin:0 1.5% 60px 1.5%;
display:table;
}
#news-box div{
width:100%;
height:30vh;
position:relative;
overflow:hidden;
}
#news-box div img{
width:auto;
max-width:115%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#news-box span{
width:100%;
color:#bf0d23;
font-size:1.2rem;
line-height:2;
display:table;
}

.pager{
width:100%;
text-align:center;
margin:20px auto 0 auto;
display:table;
}
.pager a{
color:#bf0d23;
text-decoration:underline;
}

a.page-numbers,
a.post-page-numbers,
.pager .current{
font-size:1.4rem;
font-weight:390;
line-height:1.6;
padding:0 10px;
margin:0 6px;
}
.pager .current{
color:#000;
display:inline-block;
}


#products-box{
width:100%;
padding:0;
margin:80px 0 0 0;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}

#products-box dl{
width:30%;
max-width:400px;
padding:0;
margin:0 1.5% 60px 1.5%;
display:flex;
flex-flow:wrap;
justify-content:flex-start;
}
#products-box dl dt{
width:100%;
height:240px;
padding:0;
margin:0;
position:relative;
overflow:hidden;
}
#products-box dl dt img, #products-box dl a img{
max-width:110%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
#products-box dl a{
width:48%;
height:110px;
padding:0;
margin:5px 1% 0 1%;
position:relative;
overflow:hidden;
}
#products-box dl span{
color:#bf0d23;
font-size:1.2rem;
line-height:1.5;
padding:0;
margin:10px 0;
display:table;
}
#products-box dl div{
width:100%;
font-size:1.4rem;
font-weight:390;
line-height:1;
padding:0;
margin:0;
display:table;
}

.back-color01{
padding-top:100px;
margin-top:-200px;
background:#fef8e5;
}
.back-color02{
padding-top:100px;
margin-top:-160px;
background:#faeeef;
}

#navi{
display:none;
}


#company-title{
font-size:2.8rem;
}
#contents-box div table#company-outline th{
border-bottom:solid 2px #bf0d23;
padding:10px 0;
font-weight:600;
}
#contents-box div table#company-outline td{
border-bottom:solid 2px #ebb6bc;
padding:10px 0;
}










