@charset "utf-8";


#mVisual{width: 100%; height: 100vh; position: relative; min-height: 900px;}
#mVisual .visual{width: 100%; height: 100%;}
#mVisual .visual > div{height: 100%;}
#mVisual .visual > div > div{height: 100%;}
#mVisual .visual .mv{width: 100%; height: 100%; background-color: #000;}
#mVisual .youtube{position: absolute; width: 100%; height: 100%; z-index: -1; top: 0; left: 0;}
#mVisual .youtube iframe{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 120vw;}
#mVisual .visual .mv.mv1{background: url('../img/main/mv1.png') center center / cover no-repeat;}
#mVisual .visual .mv.mv2{background: url('../img/main/mv2.png') center center / cover no-repeat;}
#mVisual .visual .mv.mv3{background: url('../img/main/mv3.png') center center / cover no-repeat;}
#mVisual .visual .mv.mv4{background: url('../img/main/mv4.png') center center / cover no-repeat;}
#mVisual .visual .mv .video{width: 100%; height: 100%; position: absolute; opacity: 0.8;}
#mVisual .visual .mv .video video{width: 100%; height: 100%; object-fit: cover;}
#mVisual .visual .mv .inner{height: 100%;}
#mVisual .visual .mv .inner .txt{position: absolute; left: 50%; transform: translateX(-50%); height: 100%; display: flex; flex-direction: column; justify-content: center; color: #fff; text-align: center;width: 100%;}
#mVisual .visual .mv .inner .txt h3{font-size: 42px; margin-bottom: 30px; line-height: 54px;}
#mVisual .visual .mv .inner .txt p{font-size: 20px; font-weight: 500; line-height: 1.6em;}

#mVisual .scroll{position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);text-align: center;}
#mVisual .scroll .gage{width: 2px; height: 80px; background-color: rgba(255,255,255,0.4); position: relative; overflow: hidden; margin: 0 auto;}
#mVisual .scroll .gage .bar{background-color: #ffffff; height: 50px; width: 2px;  position: absolute; left: 0; animation: scrollba 2s infinite ease-in-out;}
#mVisual .scroll p{color: #fff; margin-top: 15px;opacity: 0.9;}

#mVisual .slick-dots{position: absolute; bottom: 30%; left: 50%; transform: translateX(-50%);}
#mVisual .slick-dots li button{background: transparent; width: 11px; height: 11px; border: 1px solid #fff; opacity: 1;}
#mVisual .slick-dots li.slick-active button{background: #fff;}

@keyframes scrollba{
    0%{top: -45px;}
	70%{top: 80px;}
	100%{top: 80px;}
}

br.mo{display: none;}

@media all and (max-width:1580px){
    #mVisual .youtube iframe{width: 1920px; left: 10%; transform: translate(-20%, -50%);}
}
@media all and (max-width:1280px){
    #mVisual .visual .mv .inner .txt h3{font-size: 35px; margin-bottom: 25px; line-height: 45px;}
	#mVisual .visual .mv .inner .txt p{font-size: 18px;}
    
	#mVisual .scroll{bottom: 30px;}
}
@media all and (max-width:976px){
    #mVisual .youtube iframe{height: 200vw; left: 0%;}
}
@media all and (max-width:768px){
    #mVisual{height: 700px; min-height: 0;}
	#mVisual .visual .mv .inner .txt h3{font-size: 32px; margin-bottom: 20px; line-height: 42px;}
	#mVisual .visual .mv .inner .txt p{font-size: 16px;}
    
	#mVisual .scroll{bottom: 5%;}
    #mVisual .scroll .gage{height:50px;}
    #mVisual .scroll .gage .bar{height: 30px; animation: scrollba 3s infinite ease-in-out;}
    #mVisual .scroll p{font-size: 12px;}
    
    #mVisual .slick-dots{bottom: 25%;}
    #mVisual .slick-dots li button{width: 8px; height: 8px;}
}
@media all and (max-width:500px){
    #mVisual .visual .mv .inner .txt p{font-size: 14px;}
    br.mo{display: block !important;}
}


.p-Part{padding: 140px 0;}

@media screen and (max-width:1280px){
    .p-Part{padding: 120px 0;}
}
@media screen and (max-width:980px){
    .p-Part{padding: 100px 0;}
}
@media screen and (max-width:680px){
    .p-Part{padding: 80px 0;}
}
@media screen and (max-width:480px){
    .p-Part{padding: 60px 0;}
}

#sec1 .inner{display: flex;}
#sec1 .inner > div{width: 50%;}
#sec1 h3{font-family: "Marcellus", serif; font-size: 90px; font-weight: normal; letter-spacing: -0.04em;}
#sec1 p{font-size: 20px; line-height: 40px; color: #444; letter-spacing: -0.04em; margin-top: 50px;}
#sec1 .l_box .txt{padding: 70px 0 120px;}
#sec1 .l_box .img{text-align: center;}
#sec1 .r_box{padding-left: 120px;}
#sec1 .r_box a{margin-top: 30px; background: #000; border-radius: 8px; padding: 10px 20px; color: #fff; display: inline-block;font-size:17px; transition: 0.3s;border: 1px solid #000;box-sizing: border-box;}
#sec1 .r_box a:hover{transition: 0.3s; background: #fff; color: #000;}
#sec1 .r_box a span{display: inline-block;margin-left: 10px;}

.m_txt{text-align: center;}
.m_txt h3{font-family: "Marcellus", serif; font-size: 90px; font-weight: normal; letter-spacing: -0.04em;}
.m_txt p{font-size: 20px; line-height: 40px; color: #444; letter-spacing: -0.04em; margin-top: 50px;}

@media screen and (max-width:1400px){
    #sec1 h3{font-size: 80px;}
    #sec1 .l_box .txt{padding: 50px 0 100px;}
    #sec1 .r_box{padding-left: 80px;}

    .m_txt h3{font-size: 80px;}
}
@media screen and (max-width:1280px){
    #sec1 h3{font-size: 70px;}
    #sec1 p{font-size: 18px; line-height: 35px; margin-top: 40px;}
    #sec1 .l_box .txt{padding: 30px 0 70px;}
    #sec1 .r_box{padding-left: 50px;}
    #sec1 .r_box a{margin-top: 20px; font-size: 16px;}

    .m_txt h3{font-size: 70px;}
    .m_txt p{font-size: 18px; line-height: 35px; margin-top: 40px;}
}
@media screen and (max-width:1080px){
    #sec1 h3{font-size: 55px;}
    
    .m_txt h3{font-size: 55px;}
}
@media screen and (max-width:880px){
    #sec1 .inner{flex-wrap: wrap;gap: 50px;}
    #sec1 .inner > div{width: 100%;}
    #sec1 .l_box .txt{padding: 0 0 40px;}
    #sec1 .l_box .img{width: 100%;}
    #sec1 .l_box .img img{width: 100%;}
    #sec1 .r_box{padding-left: 0px; display: flex; flex-wrap: wrap;justify-content: end;}
    #sec1 .r_box .txt{order: 1; text-align: right;}
    #sec1 .r_box .img{order: 2; width: 100%;}
    #sec1 .r_box .img img{width: 100%;}
    #sec1 .r_box p{margin-top: 0;}
    #sec1 .r_box a{margin-bottom: 50px;}
}
@media screen and (max-width:480px){
    #sec1 h3{font-size: 5rem;}
    #sec1 p{font-size: 1.7rem; line-height: 3rem; margin-top: 30px;}
    #sec1 .r_box a{font-size: 1.6rem; padding: 1rem 2rem;}

    .m_txt h3{font-size: 5rem;}
    .m_txt p{font-size: 1.7rem;line-height: 3rem; margin-top: 30px;}
}


#sec2{background: #00070f url('../img/main/sec2_bg.png') center top / contain no-repeat;}
#sec2 .m_txt{color: #fff;}
#sec2 .m_txt p{color: #fff; opacity: 0.9;}
#sec2 .cont{position: relative; margin: 150px 0 60px;}
#sec2 .cont ul{display: flex; flex-wrap: wrap;justify-content: space-between; padding-top: 100px; }
#sec2 .cont ul li{width: calc(440px + 80px); color: #fff;}
#sec2 .cont ul li:nth-child(odd){padding-left: 80px;}
#sec2 .cont ul li:nth-child(even){padding-right: 80px; margin-top: 100px;}
#sec2 .cont ul li:nth-child(2){padding-top: 100px;}
#sec2 .cont ul li:nth-child(3){margin-top: -100px;}
#sec2 .cont ul li:nth-child(5){margin-top: -100px; padding-bottom: 120px;}
#sec2 .cont ul li h3{margin: 30px 0 20px; font-size: 32px;}
#sec2 .cont ul li p{font-size: 18px; opacity: 0.8; line-height: 32px;}
#sec2 .cont .line{position: absolute; left: 50%;top: 0; bottom: 0;width: 1px;background-color:#fff;transform: translateX(-1px);opacity: 0.4;}
#sec2 .cont .line .bar{position: absolute; left: 0; top: 0px; width: 1px; height: 200px;background: #238bfd;transition: height .15s linear;}


@media screen and (max-width:1400px){
    #sec2 .cont{position: relative; margin: 100px 0 60px;}
    #sec2 .cont ul li{width: calc(440px + 40px);}
    #sec2 .cont ul li:nth-child(odd){padding-left: 40px;}
    #sec2 .cont ul li:nth-child(even){padding-right: 40px;}
    #sec2 .cont ul li:nth-child(5){padding-bottom: 100px;}
}
@media screen and (max-width:1280px){
    #sec2 .cont ul li{width: 440px;}
    #sec2 .cont ul li:nth-child(odd){padding-left: 0px;}
    #sec2 .cont ul li:nth-child(even){padding-right: 0px;}
    #sec2 .cont ul li h3{font-size: 25px;}
    #sec2 .cont ul li p{font-size: 16px; line-height: 28px;}
}
@media screen and (max-width:1080px){
    #sec2 .cont ul{padding-top: 80px;}
    #sec2 .cont ul li{width: 380px;}
    #sec2 .cont ul li img{width: 100%;}
    #sec2 .cont ul li p br{display: none;}
    #sec2 .cont ul li:nth-child(2){padding-top:50px;}
    #sec2 .cont ul li:nth-child(3){margin-top: -50px;}
    #sec2 .cont ul li:nth-child(5){margin-top: -50px; padding-bottom: 70px;}
}
@media screen and (max-width:980px){
    #sec2 .cont{position: relative; margin: 70px 0 30px;}
    #sec2 .cont ul li{width: 360px;}
}
@media screen and (max-width:880px){
    #sec2 .cont .line{left: 0; width: 2px;}
    #sec2 .cont .line .bar{width: 2px;}
    #sec2 .cont ul{justify-content: flex-end; padding-top: 40px;gap: 80px;}
    #sec2 .cont ul li{width: 95%; padding-top: 0 !important; margin-top: 0 !important;}
}
@media screen and (max-width:480px){
    #sec2 .cont{margin: 50px 0 20px;}
    #sec2 .cont ul{padding-top: 20px;gap: 50px;}
    #sec2 .cont ul li{width: 95%; padding-top: 0 !important; margin-top: 0 !important;}
    #sec2 .cont ul li h3{font-size: 2.5rem; margin: 25px 0 10px;}
    #sec2 .cont ul li p{font-size: 1.6rem; line-height: 2.8rem;}
    #sec2 .cont ul li:nth-child(5){padding-bottom: 20px;}
}


.lesson_list{margin-top: 100px;}
.lesson_list ul{display: flex; justify-content: center; gap: 140px; position: relative;}
.lesson_list ul:after{position: absolute; content: '';width: 100%; height: 1px; background: #b2b2b2; left: 50%; transform: translateX(-50%); top: 150px;z-index: -1;}
.lesson_list ul li{text-align: center;}
.lesson_list ul li .img{width: 300px;}
.lesson_list ul li .img img{border: 1px solid #b2b2b2;border-radius: 100%;}
.lesson_list ul li .txt{margin-top: 30px;}
.lesson_list ul li .txt h3{font-size: 27px;}
.lesson_list ul li .txt h3 span{color: #238bfd;}
.lesson_list ul li .txt p{color: #444; margin-top: 30px; line-height: 32px; font-size: 18px;}


@media screen and (max-width:1400px){
    .lesson_list ul{gap: 100px;}
}
@media screen and (max-width:1280px){
    .lesson_list{margin-top: 50px;}
    .lesson_list ul{gap: 70px;}
    .lesson_list ul:after{top: 125px;}
    .lesson_list ul li .img{width: 250px;margin: 0 auto;}
    .lesson_list ul li .txt p{margin-top: 20px; line-height: 28px; font-size: 16px;}
}
@media screen and (max-width:980px){
    .lesson_list ul{flex-wrap: wrap; justify-content: center;}
    .lesson_list ul:after{display: none;}
    .lesson_list ul li{width: 100%; position: relative;}
    .lesson_list ul li:after{position: absolute; content: '';width: 100%; height: 1px; background: #b2b2b2; left: 50%; transform: translateX(-50%); top: 150px;z-index: -1;}
    .lesson_list ul li .img{width: 90%; max-width: 300px;}
}
@media screen and (max-width:480px){
    .lesson_list ul{gap: 50px;}
    .lesson_list ul li:after{top: 32.5vw;}
    .lesson_list ul li .img{width: 90%; max-width: 65vw;}
    .lesson_list ul li .txt h3{font-size: 2.5rem;}
    .lesson_list ul li .txt p{font-size: 1.7rem; line-height: 2.8rem;}
}


#sec4{background: url('../img/main/sec4_bg.png') center center / cover no-repeat;}
#sec4 .ytb {position: relative;width: 100%;max-width: 1280px;  margin: 70px auto 120px;padding-top: 51.4%;}
#sec4 .ytb iframe {position: absolute;top: 0; left: 0;width: 100%;height: 100%;border: 0;}
#sec4 #sheet_list ul{}
#sec4 #sheet_list ul .slick-slide{margin: 0 15px;}
#sec4 #sheet_list ul .li_wr{}
#sec4 #sheet_list ul .btn_wr{}
#sec4 #sheet_list ul .sct_img{width: 100%; height: 260px;position: relative; overflow: hidden;}
#sec4 #sheet_list ul .sct_img a{width: 100%; display: inline-block; height: 100%; position: relative;}
#sec4 #sheet_list ul .sct_img a img{height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
#sec4 #sheet_list ul .sct_img a {position: relative;display: block;overflow: hidden;}
#sec4 #sheet_list ul .sct_img a::before {content: ""; position: absolute; inset: 0; background: inherit; filter: blur(30px); transform: scale(1.5); z-index: -1;}
#sec4 #sheet_list ul .sct_img a img {display: none;}
#sec4 #sheet_list ul .txt_wr {margin-top: 30px;}
#sec4 #sheet_list ul .sct_txt {font-size: 18px;overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
#sec4 #sheet_list ul .sct_cost {font-size: 20px; font-weight: bold;margin-top: 40px;}

@media screen and (max-width:1280px){
    #sec4 .ytb {margin: 60px auto 90px;padding-top: 56.2%;}
    #sec4 #sheet_list ul .sct_cost {margin-top: 30px;}
}
@media screen and (max-width:780px){
    #sec4 .ytb {margin: 50px auto 70px;}
    #sec4 #sheet_list ul .sct_cost {margin-top: 20px;}
    #sec4 #sheet_list ul .slick-slide{margin: 0 10px;}
}
@media screen and (max-width:480px){
    #sec4 #sheet_list ul .txt_wr {margin-top: 20px;}
    #sec4 #sheet_list ul .sct_txt {font-size: 1.8rem;}
    #sec4 #sheet_list ul .sct_cost {font-size: 2rem; margin-top: 10px;}
}


.root_daum_roughmap .cont,
.root_daum_roughmap .wrap_controllers{display: none;}
#daumRoughmapContainer1744259252920 img[src*="marker_bus"] {display: none !important;}
.root_daum_roughmap .wrap_map{height: 100%;}


#sec5 .map_list{display: flex; gap: 120px; justify-content: space-between; margin-top: 100px;}
#sec5 .map_list > div{width: 50%;}
#sec5 .map_list > div .img{height: 360px;}
#sec5 .map_list > div .txt .top{display: flex;justify-content: space-between; align-items: center; margin: 30px 0 40px;padding-bottom: 30px;border-bottom: 1px solid #eee;}
#sec5 .map_list > div .txt h3{font-size: 27px;}
#sec5 .map_list > div .txt h3 span{color: #238bfd;}
#sec5 .map_list > div .txt ul{display: flex;gap: 10px;align-items: center;}
#sec5 .map_list > div .txt dl{display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;}
#sec5 .map_list > div .txt dl dt{display: flex; align-items: center; font-size: 20px; font-weight: 600;gap: 15px;}
#sec5 .map_list > div .txt dl dd{color: #666; background: #f3f3f3; font-size: 16px; padding: 3px 15px; border-radius: 100px;}


@media screen and (max-width:1400px){
    #sec5 .map_list{gap: 60px;}
    #sec5 .map_list > div .txt dl{gap: 10px;justify-content: end;}
    #sec5 .map_list > div .txt dl dt{width: 100%;}
}
@media screen and (max-width:1280px){
    #sec5 .map_list{gap: 40px; margin-top: 60px;}
}
@media screen and (max-width:980px){
    #sec5 .map_list{flex-wrap: wrap;gap: 70px;}
    #sec5 .map_list > div{width: 100%;}
}
@media screen and (max-width:480px){
    #sec5 .map_list{gap: 40px; margin-top: 40px;}
    #sec5 .map_list > div .img{height: 300px;}
    #sec5 .map_list > div .txt .top{margin: 20px 0 30px; padding-bottom: 20px;}
    #sec5 .map_list > div .txt h3{font-size: 2.3rem;}
    #sec5 .map_list > div .txt ul{gap: 5px;}
    #sec5 .map_list > div .txt dl{gap: 2rem;}
    #sec5 .map_list > div .txt dl dt{font-size: 1.8rem; gap: 10px;}
    #sec5 .map_list > div .txt dl dd{width: 100%; text-align: center;font-size: 1.7rem;}
}


#sec6{background: url('../img/main/sec6_bg.png') center center / cover no-repeat;}
#sec6 .inner{padding: 40px 0;}
#sec6 .m_txt{color: #fff;}
#sec6 .m_txt p{color: #fff; opacity: 0.9;}
#sec6 ul{margin-top: 70px; display: flex; justify-content: center;gap: 20px;}
#sec6 ul li{width: 125px; background: #238bfd; border-radius: 5px; overflow: hidden;}
#sec6 ul li:nth-child(2){background: #000;}
#sec6 ul li a{width: 100%; height: 100%; display: inline-block; text-align: center; color: #fff; padding: 15px 0;font-size: 17px; font-weight: 600;transition: 0.3s;}
#sec6 ul li a:hover{background: #fff; color: #000; transition: 0.3s;}
#sec6 ul li a span{margin-left: 10px;}

@media screen and (max-width:480px){
    #sec6 ul li{width: 40%;}
    #sec6 ul li a{font-size: 1.6rem;}
}