@charset "utf-8";


.contTitle{font-size:5.2rem;font-weight:600;letter-spacing:-0.02em;color:#000;}

.mainBanner{position:relative;}
.mainBanner .slick-slide{font-size:0;vertical-align:top;}
.mainBanner .inner{height:100%;}
.mainBanner .mainBannerText{color:#fff;position:absolute;z-index:1;top:50%;transform:translateY(-50%);}
.mainBanner .mainBannerText .bigText{font-size:8rem;font-weight:600;margin-bottom:0;padding-top:5px;line-height:1.1385;letter-spacing:-0.025em;}
.mainBanner .mainBannerText .bigText span{font-size:5.4rem;}
.mainBanner .mainBannerText dl{font-weight:300;}
.mainBanner .mainBannerText dl dt{font-size:2.8rem;margin:6.427% 0 2.478%;}
.mainBanner .mainBannerText dl dd{font-size:2rem;color:rgba(255, 255, 255, 0.4);line-height:1.5;}
.mainBanner .slick-dots{display:none !important;}

.mainBanner .slick-controls{display:none}

.inner{max-width:1560px;margin:0 auto;}

.slide-pause{width:28px;height:28px;position:relative;background:#0bae4b;border-radius:50%;border:0;}
.slide-pause:before{width:3px;height:10px;background:#fff;position:absolute;left:10px;top:9px;content:'';}
.slide-pause:after{width:3px;height:10px;background:#fff;position:absolute;left:15px;top:9px;content:'';}
.slide-play{width:28px;height:28px;position:relative;background:#0bae4b;border-radius:50%;border:0;}
.slide-play:before{width:0;height:0;display:inline-block;position:absolute;left:50%;top:50%;content:"";border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid transparent;border-left:6px solid #fff;transform:translate(-50%, -50%);margin-left:4px;}

.mainProducts{padding:142px 0 147px;background:#eee;overflow:hidden;}
.mainProducts .contTitle{text-align:center;margin-bottom:71px;}
.mainProducts .slick-controls{display:flex;align-items:center;justify-content:center;margin-top:47px;}
.mainProducts .slick-controls .pagingInfo{margin:0 20px;}
.mainProducts .slick-controls .visual-progress-box .visual-progress{display:block;width:200px;height:2px;overflow:hidden;background-color:#c1c1c1;background-image:linear-gradient(to right, #000, #000);background-repeat:no-repeat;background-size:11.111% 100%;transition:background-size .4s ease-in-out;}

.mainProducts .productSlider{text-align:center;font-size:2.2rem;}
.mainProducts .productSlider .imgBox{position:relative;margin-bottom:27px;}
.mainProducts .productSlider .imgBox .productIcon{display:none;position:absolute;top:0;left:0;}
.mainProducts .productSlider .imgBox:hover:before{display:block;}
.mainProducts .productSlider .imgBox:hover .productIcon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.mainProducts .productSlider .imgBox:before{display:none;background-color: rgba( 0, 0, 0, 0.5 );width:100%;height:100%;border-radius:100%;content:'';position:absolute;content:'';top:50%;left:50%;transform:translate(-50%, -50%);}

.mainProducts .slick-list{margin:0 -20px;}
.mainProducts .slick-slide{margin:0 20px;}

.mainRecruit{height:535px;position:relative;display:flex;align-items:center;background-image:url('/en/img/main/mainrecruit_bg_img02.jpg');background-attachment:fixed;background-size:cover;background-position:center;background-repeat:no-repeat;}
.mainRecruit .contTitle{color:#fff;}
.mainRecruit .inner .flexCont{text-align:center;}
.mainRecruit .inner .flexCont > div p{color:#fff;font-size:2.2rem;margin:16px 0 70px;line-height:1.4;}
.mainRecruit .inner .flexCont > ul{display:flex;align-items:center;justify-content:center;margin:20px 0 0 20px;flex-shrink:0;}
.mainRecruit .inner .flexCont > ul li{position:relative;padding:0 35px;text-align:center;}
.mainRecruit .inner .flexCont > ul li:last-child{padding-right:0;}
.mainRecruit .inner .flexCont > ul li:after{width:1px;height:69px;background:#998e89;right:0;top:50%;transform:translateY(-50%);content:'';position:absolute}
.mainRecruit .inner .flexCont > ul li:last-child:after{display:none;}
.mainRecruit .inner .flexCont > ul li dl dd{color:#fff;margin-top:11px;}

.mainGraph{padding:150px 0;}
.mainGraph .inner .flexCont{display:flex;justify-content:space-between;}
.mainGraph .inner .flexCont dl dt{font-size:4.4rem;font-weight:600;line-height:1.3637;letter-spacing:-0.03em;}
.mainGraph .inner .flexCont dl dd{font-size:2.2rem;line-height:1.546;color:#555;margin-top:20px;}
.mainGraph .inner .arrowDesign{display:inline-block;margin-top:6px;font-size:1.8rem;letter-spacing:-0.02em;color:#000;}

.arrowDesign{position:relative;}
.arrowDesign:after{width:29px;height:1px;content:'';background:#da291c;right:-38px;top:50%;position:absolute;}
.arrowDesign span:after{width:13px;height:1px;content:'';background:#da291c;right:-40px;top:50%;transform:rotate(-45deg) translateY(-50%);position:absolute;margin-top:5px;}
.arrowDesign span:before{width:13px;height:1px;content:'';background:#da291c;right:-39px;top:50%;transform:rotate(45deg) translateY(-50%);;position:absolute;margin-top:-4px;}


.mainGraph .inner .flexCont > .imgBox{margin-left:2.693%;flex-shrink:0;padding-right:5px;}


.mainMedia{padding-bottom:143px;overflow:hidden;}
.mainMedia .inner{max-width:1400px;position:relative;padding:0 !important;}
.mainMedia .contTitle{text-align:center;margin-bottom:46px;}
.mainMedia .mediaSlider{letter-spacing:-0.02em;}
.mainMedia .mediaSlider .title{font-size:2rem;margin:32px 0 7px;}
.mainMedia .mediaSlider .date{color:#8f8f8f;font-size:1.4rem;}


.mainMedia .arrowBox button{width:70px;height:70px;background:#555;border-radius:50%;border:0;position:absolute;top:50%;transform:translateY(-50%);margin-top:-42px;}
.mainMedia .arrowBox button:hover{background:#0baf4d;}
.mainMedia .arrowBox button:after{width:24px;height:2px;content:'';background:#fff;right:24px;top:50%;margin-top:-1px;position:absolute;}
.mainMedia .arrowBox button span:after{width:15px;height:2px;content:'';background:#fff;top:50%;position:absolute;margin-top:4px;}
.mainMedia .arrowBox button span:before{width:16px;height:2px;content:'';background:#fff;top:50%;position:absolute;margin-top:-6px;}
.mainMedia .arrowBox .slick-prev:after{right:21px;}
.mainMedia .arrowBox .slick-prev span:after{transform:rotate(45deg);left:21px;}
.mainMedia .arrowBox .slick-prev span:before{transform:rotate(-45deg);left:21px;}
.mainMedia .arrowBox .slick-next span:after{transform:rotate(-45deg);right:20px;}
.mainMedia .arrowBox .slick-next span:before{transform:rotate(45deg);right:20px;}

.mainMedia .arrowBox .slick-prev{left:-35px;}
.mainMedia .arrowBox .slick-next{right:-35px;} 

.mediaSlider .slick-slide{max-width:427px;margin:0 30px;}
.mediaSlider .slick-list{overflow:unset;}


@media all and (max-width:1600px){
.inner{max-width:100%;padding:0 20px;}
.mainBanner .inner .mainBannerCont{width:40%;margin-left:5%;}
.mainBanner .inner .mainBannerCont img{max-width:100%;}

.mainBanner .inner .mainBannerText .bigText{font-size:11rem;}
.mainBanner .inner .mainBannerText dl dt{font-size:2.6rem;line-height:1.5;}
.mainBanner .inner .mainBannerText dl dd{font-size:1.9rem;}




.mainGraph{word-break:keep-all;}
.mainGraph .inner .flexCont dl br{display:none;}
}

@media all and (max-width:1520px){

.mainBanner .inner .mainBannerText .bigText{font-size:6rem;}
.mainBanner .mainBannerText .bigText span{font-size:5rem;}

.mainMedia .arrowBox .slick-prev{left:20px;}
.mainMedia .arrowBox .slick-next{right:20px;} 

}

@media all and (max-width:1440px){
.mainMedia .inner{max-width:1400px;position:relative;padding:0 20px !important;}
}

@media all and (max-width:1279px){


.mainGraph .inner .flexCont > .imgBox{width:40%;}
.mainGraph .inner .arrowDesign{margin-top:50px;}

.mainRecruit{height:450px;}
.mainRecruit .inner .flexCont{display:block;}
.mainRecruit .inner .flexCont > ul{margin:50px 0 0;}

}

@media all and (max-width:979px){
.mainBanner .inner{flex-wrap:wrap;}
.mainBanner .inner .mainBannerText{order:1;margin-top:20px;}
.mainBanner .inner .mainBannerText dl dt{margin:30px 0 20px;}
.mainBanner .inner .mainBannerCont{width:70%;order:0;margin:0 auto;}
.mainBanner .inner .mainBannerCont img{margin:0 auto;}

.mainGraph .inner .flexCont{display:block;}
.mainGraph .inner .flexCont > .imgBox{width:60%;margin:50px auto 0;}

}

@media all and (max-width:767px){


.mainProducts{padding:71px 0 73.5px;}
.mainProducts .contTitle{margin-bottom:35px;}
.mainProducts .slick-list{margin:0 -10px;}
.mainProducts .slick-slide{margin:0 10px;}
.mainProducts .productSlider .imgBox{margin-bottom:13.5px;}

.mainBanner .inner .mainBannerText{order:1;margin-top:0;}
.mainBanner .inner .mainBannerText .bigText{padding-top:0;}

.mainGraph{padding:75px 0;}
.mainGraph .inner .flexCont dl dt{font-size:3.8rem;line-height:1.25;}
.mainGraph .inner .flexCont dl dd{font-size:2rem;margin-top:10px;}
.mainGraph .inner .flexCont > .imgBox{width:80%;margin:50px auto 0;}

.mainRecruit{height:365px;}
.mainRecruit .inner .flexCont > ul li{flex:1;padding:0;}
.mainRecruit .inner .flexCont > ul li img{width:32px;}
.mainRecruit .inner .flexCont > div p{margin:16px 0 30px;}
.mainRecruit .inner .flexCont > div p br{display:none;}

.mediaSlider .slick-slide{margin:0 15px;}



.mainMedia{padding-bottom:71.5px;}
.mainMedia .contTitle{margin-bottom:23px;}
.mainMedia .mediaSlider .title{margin:16px 0 3.5px;}
.mainMedia .mediaSlider .slick-slide{max-width:300px;}
.mainMedia .arrowBox button{width:50px;height:50px;margin-top:-20px;}
.mainMedia .arrowBox button:after{width:18px;right:18px;}
.mainMedia .arrowBox button span:after{width:12px;margin-top:3px;}
.mainMedia .arrowBox button span:before{width:13px;margin-top:-5px;}
.mainMedia .arrowBox .slick-prev:after{right:13px;}
.mainMedia .arrowBox .slick-prev span:after{left:15px;}
.mainMedia .arrowBox .slick-prev span:before{left:15px;}
.mainMedia .arrowBox .slick-next span:after{right:15px;}
.mainMedia .arrowBox .slick-next span:before{right:15px;}

.arrowDesign:after{width:23px;right:-32px;}
.arrowDesign span:after{width:11px;right:-35px;top:50%;margin-top:4px;}
.arrowDesign span:before{width:11px;right:-34px;top:50%;margin-top:-4px;}


}

@media all and (max-width:501px){
.mainBanner .inner .mainBannerCont{width:80%;}

.mainBanner .inner .mainBannerText .bigText{font-size:5.2rem;}
.mainBanner .mainBannerText .bigText span{font-size:4rem;}
.mainBanner .inner .mainBannerText dl dt{margin:30px 0 15px;}


.mainRecruit{height:600px;}
.mainRecruit .inner .flexCont > ul{flex-wrap:wrap;justify-content:flex-start;}
.mainRecruit .inner .flexCont > ul li{width:50%;flex:unset;}
.mainRecruit .inner .flexCont > ul li:nth-child(n+3){margin-top:45px;}
.mainRecruit .inner .flexCont > ul li:nth-child(2n):after{display:none;}
.mainRecruit .inner .flexCont > ul li:last-child:after{display:block;}

.mediaSlider .slick-slide{margin:0 10px;}

}

@media all and (max-width:480px){
.mainRecruit{background-attachment:unset;}
}