@charset "utf-8";

#mainVisual{position:relative;width:100%;height:100vh}
#mainVisual .img_wrap{overflow:hidden;opacity:.75;position:absolute;bottom:50px;width:calc(100% - 180px);left:50%;transform:translateX(-50%);height:50vh;border-radius:130px 0;transition:all 1s}
#mainVisual .img_wrap:after{opacity:0;display:block;content:"";position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;background:linear-gradient(0deg, rgba(0,0,0,0.75) 0%, rgba(255,255,255,0) 80%);transition:all 1s .2s}
#mainVisual .img_wrap .main_slide{height:100%}
#mainVisual .img_wrap ul li{opacity:0!important;position:absolute;left:0;top:0;transform:translate3d(0,0,0)!important;width:100%!important;height:100%;background:url('./main_img1.jpg') center no-repeat;background-size:105%}
#mainVisual .img_wrap ul li.bg02{background-image:url('./main_img2.jpg')}
#mainVisual .img_wrap ul li.bg03{background-image:url('./main_img3.jpg')}
#mainVisual .img_wrap ul li.bg04{background-image:url('./main_img4.jpg')}
#mainVisual .img_wrap ul li.swiper-slide-active{opacity:1!important}

#mainVisual .main_txt{display:flex;gap:125px;position:absolute;top:50%;left:calc((100% - 1480px) / 2);z-index:101;transform:translateY(-50%);width:100%;max-width:1480px;margin-top:-105px;color:#111}
#mainVisual .main_txt .tit{position:relative;padding-left:50px}
#mainVisual .main_txt .tit:before{position:absolute;width:20px;height:20px;background-color:var(--primary);border-radius:100%;content:"";left:0;top:-30px}
#mainVisual .main_txt .tit p{font-size:72px;line-height:1.2;font-weight:100}
#mainVisual .main_txt .tit p span{font-weight:700}
#mainVisual .main_txt .desc{padding-top:10px;font-size:20px;white-space:pre-line}

#mainVisual.on .img_wrap{opacity:1;bottom:0;width:100%;height:100vh;border-radius:0}
#mainVisual.on .img_wrap:after{opacity:1}
#mainVisual .main_txt.off{opacity:0;transition:opacity .4s}
#mainVisual .main_txt.on{flex-flow:column;gap:40px;color:#fff}
#mainVisual .main_txt.on .tit p{overflow:hidden;font-size:68px}
#mainVisual .main_txt.on .tit p span{display:inline-block;transform:translateY(100%)}
#mainVisual .main_txt.on .desc{padding:0 0 0 50px}
#mainVisual .main_txt.active{opacity:1;top:auto;bottom:18%;transform:none;transition:opacity 1s}
#mainVisual .main_txt.active .tit p span{transform:translateY(0);transition:all 1s .4s}

@media(max-width:1480px){
#mainVisual .main_txt{left:0}    
}
@media(max-width:1700px){
#mainVisual .img_wrap ul li{background-size:cover}
}
@media(min-width:1921px){
#mainVisual .img_wrap ul li{background-size:cover}
}
