@charset "utf-8";

#intro1_wrap{padding-bottom: 90px;}
#intro1{position: relative;}
#intro1:before{content: ''; position: absolute; right: 0; top: 80px; width: 1160px; height: 103%; background-color: #2a2929;}
#intro1 .inner{display: flex;}
#intro1 .l_cont{width: 780px; background: url('/images/sub/intro1_img1.webp')no-repeat center center/cover;}
#intro1 .r_cont{padding-left: 75px; width: calc(100% - 780px);}
#intro1 .r_cont .eng{line-height: 80px; opacity: .5; font-size: 2.2rem; font-weight: 600; letter-spacing: 0.9em;} 
#intro1 .r_cont .txt{padding-top: 90px;}
#intro1 .r_cont .txt h3{font-size: 3.6rem; color: #fff;}
#intro1 .r_cont .txt h4{margin-top: 1.5em; font-size: 2.4rem;}
#intro1 .r_cont .txt .text{margin-top: 3.75em;}
#intro1 .r_cont .txt .text p{font-size: 1.9rem; line-height: 1.6em; color: #fff; opacity: .9; font-weight: 300;}
#intro1 .r_cont .txt .text p + p{margin-top: 1.4em;}
#intro1 .r_cont .txt .name{margin-top: 4em; font-size: 2.0rem; font-weight: 600; color:#fff}
@media all and (max-width:1600px){
    #intro1:before{top: 60px;}
    #intro1 .l_cont{width: 680px;}
    #intro1 .r_cont{padding-left: 60px; width: calc(100% - 680px);}
    #intro1 .r_cont .eng{line-height: 60px; letter-spacing: 0.5em; font-size: 2.0rem;}
    #intro1 .r_cont .txt{padding-top: 60px;}
}
@media all and (max-width:1400px){
    #intro1 .l_cont{width: 45%;}
    #intro1 .r_cont{width: 55%;}
}
@media all and (max-width:1280px){
    #intro1:before{width: 100%;}
    #intro1 .inner{display: block;}
    #intro1 .l_cont{width: 100%; aspect-ratio: 16/9;}
    #intro1 .r_cont {padding-top:50px; padding-left: 0;  width: 100%;}
    #intro1 .r_cont .eng{line-height: 1.2; font-size: 1.8rem; letter-spacing: 0.2em;}
    #intro1 .r_cont .txt{padding-top: 40px;}
}
@media all and (max-width:768px){
    #intro1 .r_cont{padding-top: 6vw;}
    #intro1 .r_cont .txt{padding-top: 5vw;}
    #intro1 .r_cont .txt h3{font-size: 3.2rem;}
    #intro1 .r_cont .txt h4{font-size: 2.2rem;}
    #intro1 .r_cont .txt .text p{font-size: 1.8rem;}
}
@media all and (max-width:480px){
    #intro1 .r_cont .txt h3{font-size: 2.8rem;}
     #intro1 .r_cont .eng{font-size: 1.5rem;}

}



#busiTop{padding-bottom: 90px; background: url('/images/sub/intro2_sb.webp')no-repeat left 420px;}
#busiTop .img{width: 100%; height: 520px;; background: url('/images/sub/intro2_top.webp')center center/cover;}
#busiTop .txt_wrap{display: flex; align-items: flex-start; }
#busiTop .txt_wrap .title{margin-top: -60px; width: 460px; padding:70px; display: flex;align-items: center; background-color: #2a2929; color: #fff;}
#busiTop .txt_wrap .title dl{}
#busiTop .txt_wrap .title dl dt{margin-bottom: 1.125em; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.2em;}
#busiTop .txt_wrap .title dl dd{font-size: 3.6rem; font-weight: 700;}
#busiTop .txt_wrap .txt{width: calc(100% - 460px); padding: 40px; padding-right: 0;}
#busiTop .txt_wrap .txt > p{font-size: 2.0rem; color: #555; line-height: 1.65em;}
#busiTop .txt_wrap .txt .list{margin-top: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
#busiTop .txt_wrap .txt .list li{padding: 60px 50px; font-size: 2.0rem; border-radius: 15px; background-color: #fff; box-shadow: 2.5px 2.5px 20px rgba(0, 0, 0, 0.08);}
#busiTop .txt_wrap .txt .list li > span{text-decoration: underline; font-weight: 700;}
#busiTop .txt_wrap .txt .list li > p{margin-top: 1em; font-size: 2.0rem; font-weight: 600; color: #555;}

@media all and (max-width:1600px){
    #busiTop .txt_wrap .txt .list li{padding: 50px 30px;}
}
@media all and (max-width:1400px){
    #busiTop .txt_wrap{display: block;}
    #busiTop .txt_wrap .title{display: inline-block; width: auto; padding: 60px;}
    #busiTop .txt_wrap .txt{width: 100%; padding: 30px; padding-left: 0;}
}
@media all and (max-width:768px){
     #busiTop{background-position: left bottom; padding-bottom: 40px;}
     #busiTop .img{height: 400px;}
      #busiTop .txt_wrap .title{padding: 40px;}
      #busiTop .txt_wrap .title h3{font-size: 3.2rem;}
    #busiTop .txt_wrap .txt .list li{padding: 30px 20px;}
}
@media all and (max-width:568px){
     #busiTop .img{height: 300px;}
    #busiTop .txt_wrap .title{padding: 25px;}
    #busiTop .txt_wrap .title h3{font-size: 2.8rem;}
    #busiTop .txt_wrap .txt > p{font-size: 1.9rem;}
    #busiTop .txt_wrap .txt .list li{padding: 15px;}
    #busiTop .txt_wrap .txt .list li > p{font-size: 1.8rem;}

}


.line-h{width: 100%; height: 1px; background-color: rgba(0, 0, 0, 0.1);}


.intro2_part{padding: 130px 0;}
@media all and (max-width:1280px){
.intro2_part{padding: 110px 0;}
}
@media all and (max-width:768px){
.intro2_part{padding: 90px 0;}
}
@media all and (max-width:568px){
.intro2_part{padding: 70px 0;}
}
@media all and (max-width:480px){
.intro2_part{padding: 15vw 0;}
}

.s_tit{margin-bottom: 60px;}
.s_tit h3{font-size: 3.6rem; color: #222; line-height: 1.4em;}
.s_tit h4{margin-top: 2.5em; font-size: 2.4rem; color: #222; line-height: 1.4em;}
.s_tit p{margin-top: 1.4em; font-size: 2.0rem; line-height: 1.65em; color: #555;}
@media all and (max-width:768px){
    .s_tit{margin-bottom: 40px;}
    .s_tit h3{font-size: 3.2rem;}
    .s_tit h4{font-size: 2.2rem;}
    .s_tit p{font-size: 1.9rem;}
}
@media all and (max-width:480px){
    .s_tit{margin-bottom: 5vw;}
}
#dotList{ margin: -0.5em 0; font-size: 1.8rem;}
#dotList > li{position: relative; padding: 0.5em 0; display: flex; gap: 0.5em;  color: #555;}
#dotList > li:before{content: '·'; font-weight: 900; font-size: 1.6em; line-height: 1.8rem;}


#dotList.wh > li{color: #fff;}


#intro2-1.cont_wrap{display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px;}
#intro2-1.cont_wrap .cont_item{padding: 50px; display: flex;justify-content: center; align-items: center; border:1px solid #e5e5e5; border-radius: 40px;}
#intro2-1.cont_wrap .cont_item .inbox{width: 100%; }
#intro2-1.cont_wrap .cont_item .inbox dl{padding-bottom: 2em; margin-bottom: 2em; border-bottom: 1px solid #e5e5e5; text-align: center; color: #222;}
#intro2-1.cont_wrap .cont_item .inbox dl dt{margin-bottom: 1em; font-size: 2.4rem; font-weight: 700;}
#intro2-1.cont_wrap .cont_item .inbox dl dd{font-size: 3.0rem; font-weight: 300;}
#intro2-1.cont_wrap .cont_item .inbox dl dd b{font-size: 1.6em; font-weight: 700;}
#intro2-1.cont_wrap .cont_item .inbox dl dd:has(.st){font-size: 2.4rem; font-weight: 400;}
#intro2-1.cont_wrap .cont_item.ver2{background-color: #e27d3a; border:none; box-shadow: 2.5px 2.5px 20px rgba(0, 0, 0, 0.25);}
#intro2-1.cont_wrap .cont_item.ver2 .inbox dl{color: #fff;}
@media all and (max-width:1024px){
    #intro2-1.cont_wrap {gap: 30px;}
    #intro2-1.cont_wrap .cont_item{padding: 30px;}
}
@media all and (max-width:768px){
    #intro2-1.cont_wrap{grid-template-columns: repeat(1, 1fr); gap: 20px;}
}

#intro2-2.cont_wrap{display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;}
#intro2-2.cont_wrap .cont_item{position: relative;}
#intro2-2.cont_wrap .cont_item:before{content: '';position: absolute;; left: 0; bottom: 0; width: 100%; height: 100%; background: linear-gradient(transparent, transparent, transparent, #00000033, #00000044, #00000055, #00000066, #00000077);;}
#intro2-2.cont_wrap .cont_item p{position: absolute; text-align: center; z-index: 3; left: 50%; bottom: 2em; transform: translateX(-50%); color: #fff; font-size: 2.4rem; font-weight: 700;}
#intro2-2.cont_wrap .cont_item img{width: 100%;}
@media all and (max-width:768px){
    #intro2-2.cont_wrap{gap: 15px;}
    #intro2-2.cont_wrap{grid-template-columns: repeat(1, 1fr);}
}

.go_inq_box{position: relative; padding: 100px 0; background-color: #392e28; color: #fff;}
.go_inq_box .line{position: absolute; --locpx:20px;  background-color: rgba(255, 255, 255, 0.1);}
.go_inq_box .top_line{height: 1px; width: 100%; left: 0; top: var(--locpx);}
.go_inq_box .bottom_line{height: 1px; width: 100%; left: 0; bottom: var(--locpx);}
.go_inq_box .left_line{width: 1px; height: 100%; left: var(--locpx); top: 0;}
.go_inq_box .left_line.no2{left: calc(var(--locpx)*2);}
.go_inq_box .right_line{width: 1px; height: 100%; right: var(--locpx); top: 0;}
.go_inq_box .right_line.no2{right: calc(var(--locpx)*2);}

.go_inq_box .b-inner{display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;}
.go_inq_box .b-inner h3{margin-bottom: 0.8em; font-size: 3.6rem;}
.go_inq_box .b-inner h3 span{color: #ffe5c0;}
.go_inq_box .b-inner a{display: inline-block; padding: 1em 2em; border-radius: 8px; background-color: #dba355; color: #000; font-weight: 700; font-size: 2.2rem; line-height: 1;}



#intro3{padding-bottom: 130px; position: relative;}
#intro3:before{content: '' ; position: absolute; width: 100%; height: 50%; bottom: 0; left: 0; background-color: #cfae81;}
#intro3 .cont_wrap{}
#intro3 .cont_wrap .img{border-radius: 80px; overflow: hidden; box-shadow: 0 0 40px rgba(0, 0, 0, 0.08);}
#intro3 .cont_wrap .img img{max-width: 100%; }
@media all and (max-width:768px){
    #intro3 .cont_wrap .img{border-radius: 7vw;}
}



#product1 #tabWrap {margin-bottom: 60px;}
#product1 #tabWrap ul {display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;}
#product1 #tabWrap ul li a{display: inline-block; padding: 1em 1.125em; color: #412b1b; font-size: 1.8rem; font-weight: 700; border:1px solid #412b1b; border-radius: 50px;}
#product1 #tabWrap ul li.active a{background-color: #412b1b; color: #fff;}


#product1 .list{display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;}
#product1 .list li{}
#product1 .list li img{width: 100%;}
#product1 .list li dl{font-size: 2.4rem; margin-top: 1em;;}
#product1 .list li dl dt{font-weight: 700;color: #000;}
#product1 .list li dl dd{margin-top: 0.75em; font-size: 1.9rem; color: #666;}
@media all and (max-width:1280px){
    #product1 .list{ grid-template-columns: repeat(3, 1fr);}
}
@media all and (max-width:768px){
    #product1 .list{ grid-template-columns: repeat(2, 1fr);}
}
@media all and (max-width:568px){
    #product1 #tabWrap {margin-bottom: 35px;}
    #product1 .list{gap: 20px;}
    #product1 .list li dl{font-size: 2.0rem;}
    #product1 .list li dd{font-size: 1.8rem;}
}


#infra_top{}
#infra_top .s_tit{margin-bottom: 0;}
#infra_top .s_tit h4{margin-top: 1em; font-weight: 500;;}
#infra_top dl{}
#infra_top dl dt{display: flex; gap: 1em; align-items: flex-end;}
#infra_top dl dt h3{font-size: 5.0rem; color: #222;}
#infra_top dl dt h4{font-size: 2.4rem; padding-bottom: 2px;}
#infra_top dl dd{margin-top: 1.2em; font-size: 2.0rem; color: #555; line-height: 1.65em;}

#infra1-1{margin-top: -150px;}
#infra1-1 .img img{width: 100%;}
#infra1-1 .s_tit{margin-top: -200px;}
#infra1-1 .cont_wrap{margin-top: -200px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;}
#infra1-1 .cont_wrap .cont_item{padding: 40px; background-color: #fff; box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.08); border-radius: 20px;}
#infra1-1 .cont_wrap .cont_item h4{position: relative; font-size: 2.4rem; padding-bottom: 1em; margin-bottom: 1em; color: #222;}
#infra1-1 .cont_wrap .cont_item h4:before{content: ''; position: absolute; left: 0;bottom: 0; width: 40px; height: 3px; background-color: #dba355;}
#infra1-1 .cont_wrap .cont_item p{font-size: 1.7rem;}
@media all and (max-width:1400px){
    #infra1-1{margin-top: -50px;}
    #infra1-1 .s_tit{margin-top: -150px;}
}
@media all and (max-width:1280px){
    #infra1-1{margin-top: 0;}
    #infra1-1 .s_tit{margin-top: -100px;}
    #infra1-1 .cont_wrap{gap: 20px;}
}
@media all and (max-width:1024px){
    #infra1-1{margin-top:30px;}
    #infra_top dl dt h3{font-size: 4.0rem;}
    #infra_top dl dt h4{font-size: 2.0rem;}
    #infra_top dl dd{font-size: 1.8rem;}
     #infra1-1 .cont_wrap{margin-top: -100px; grid-template-columns: repeat(2, 1fr);}
}
@media all and (max-width:768px){
    #infra1-1 .s_tit{margin-top: -50px;}
     #infra1-1 .cont_wrap{margin-top: -8vw;}
}
@media all and (max-width:568px){
     #infra_top dl dt{display: block;}
     #infra_top dl dt h4{margin-top: 1.8em;}
     #infra_top dl dd br{display: none;}
     #infra1-1 .s_tit{margin-top: 0px;}
     #infra1-1 .cont_wrap .cont_item{padding: 2em;}
}

#infra1-2{padding-top: 120px; display: flex; align-items: center; gap: 100px;}
#infra1-2 .img{width: 55%;}
#infra1-2 .img img{width: 100%; height: 100%; object-fit: cover;}
@media all and (max-width:1280px){
    #infra1-2 .img{width: 50%; height: 60vw;}
    #infra1-2{gap: 50px;}
}
@media all and (max-width:1024px){
    #infra1-2{display: block;}
    #infra1-2 .img{width: 100%;}
    #infra1-2 .s_tit{width: 100%; margin-top: 40px;}
}
@media all and (max-width:568px){
    #infra1-2{padding-top: 60px;}
    #infra1-2 .s_tit p br{display: none;}
}
#infra1-3{padding: 160px 0 0;}
#infra1-3 .cont_wrap{display: grid; grid-template-columns: repeat(4, 1fr); gap: 50px;}
#infra1-3 .cont_wrap .cont_item{box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.08);}
#infra1-3 .cont_wrap .cont_item img{width: 100%;}
@media all and (max-width:1280px){
    #infra1-3{padding: 130px 0 0;}
}
@media all and (max-width:1024px){
    #infra1-3{padding: 110px 0 0;}
    #infra1-3 .cont_wrap{gap: 25px;}
}
@media all and (max-width:768px){
    #infra1-3{padding: 90px 0 0;}
    #infra1-3 .cont_wrap{grid-template-columns: repeat(3, 1fr); }
}
@media all and (max-width:568px){
    #infra1-3{padding: 70px 0 0;}
    #infra1-3 .s_tit p br{display: none;}
    #infra1-3 .cont_wrap{grid-template-columns: repeat(2, 1fr); gap: 20px;}
}


#intro1-4.cont_wrap{}
#intro1-4.cont_wrap .cont_item{display: flex;}
#intro1-4.cont_wrap .cont_item:nth-child(even){flex-direction: row-reverse;}
#intro1-4.cont_wrap .cont_item > div{width: 50%;}
#intro1-4.cont_wrap .cont_item .img.img1{background: url('/images/sub/infra1_img5.webp')center center/cover;}
#intro1-4.cont_wrap .cont_item .img.img2{background: url('/images/sub/infra1_img6.webp')center center/cover;}
#intro1-4.cont_wrap .cont_item .img.img3{background: url('/images/sub/infra1_img7.webp')center center/cover;}
#intro1-4.cont_wrap .cont_item .txt{padding: 7% 4%;}
#intro1-4.cont_wrap .cont_item .txt dl{padding-bottom: 1.5em; margin-bottom: 1.5em; border-bottom: 1px solid #dba355;;}
#intro1-4.cont_wrap .cont_item .txt dl dt{font-size: 3.2rem; color: #dba355; font-weight: 700;}
#intro1-4.cont_wrap .cont_item .txt dl dd{margin-top: 0.3em; font-size: 2.8rem; color: #222; font-weight: 700;}
#intro1-4.cont_wrap .cont_item .txt p{font-size: 1.7rem; line-height: 1.4em;}
#intro1-4.cont_wrap .cont_item .txt p + p{margin-top: 0.75em;}

#intro1-4.cont_wrap .cont_item .txt .dash{position:  relative; display: flex; gap: 0.5em; }
#intro1-4.cont_wrap .cont_item .txt .dash::before{content: '-'; }
@media all and (max-width:1024px){
    #intro1-4.cont_wrap .cont_item .txt dl dt{font-size: 2.8rem;}
    #intro1-4.cont_wrap .cont_item .txt dl dd{font-size: 2.4rem;}
    #intro1-4.cont_wrap .cont_item .txt p{font-size: 1.8rem;}
}
@media all and (max-width:768px){
    #intro1-4.cont_wrap .cont_item{display: block;}
    #intro1-4.cont_wrap .cont_item > div{width: 100%;}
     #intro1-4.cont_wrap .cont_item .img{aspect-ratio: 16/9;}
     #intro1-4.cont_wrap .cont_item .txt{margin-bottom: 2em; padding: 5% 0;}
}

#infra1-5 img{width: 100%;}
#infra1-5 .slick-slide{margin-inline:15px;}



#comm2{}
#comm2 .b2b{margin-top: 30px; border-top: 3px solid #000; border-bottom: 3px solid #000; padding: 24px 0;}
#comm2 .b2b dl{display: flex; align-items: center; gap: 1em;}
#comm2 .b2b dl dt{display: inline-block; padding: 10px 16px; background-color: #000; color: #fff; font-size: 2.4rem; font-weight: 600;}
#comm2 .b2b dl dd{color: #000; font-size: 3.0rem; font-weight: 700;}
#comm2 .b2b  p{font-size: 2.0rem; margin-top: 1em; color: #777;}
#comm2 .qna dl{margin-top: 55px;}
#comm2 .qna dl dt{font-size: 3.0rem; font-weight: 600; color: #000;}
#comm2 .qna dl dd{margin-top: 25px; padding: 30px; font-size: 2.0rem; color: #555; line-height: 1.65em; background-color: #f5f5f5;}
@media all and (max-width:768px){
    #comm2 .b2b dl{display: block;}
    #comm2 .b2b dl dd{margin-top: 5px;}
    #comm2 .b2b  p{font-size: 1.8rem;}
#comm2 .qna dl{margin-top: 35px;}
#comm2 .qna dl dt{font-size: 2.4rem;}
#comm2 .qna dl dd{margin-top: 15px; padding: 1.5em; font-size: 1.8rem;}
}