.main {overflow: hidden;}

@media(max-width:990px) {
    .font-25 {font-size: 1.875rem;}
    .font-20 {font-size: 1.875rem;}
    .font-18 {font-size: 1.5rem;}
}

input[type="checkbox"] {
    caret-color: red;
}

.visible-mo {display: none;}

@media(max-width:400px) {
    .visible-mo {display: block;}
}

.ls-0 {letter-spacing: normal;}
.opacity50 {opacity: 0.5;}
.root_daum_roughmap .wrap_controllers {display: none;}
.root_daum_roughmap .cont {display: none;}

/* 버튼 */
a.moreBtn {border-radius: 100px; padding: .8rem 2.5rem; box-sizing: border-box; position: relative; overflow: hidden; transition: all 0.8s 0.1s cubic-bezier(0.55, 0, 0.1, 1); border: 1px solid #fff;}
a.moreBtn span {position: relative; z-index: 1;}
a.moreBtn.point {border: 1px solid var(--pointcolor);}
a.moreBtn:before {position: absolute; left: 50%; top: 180%; transform: translateX(-50%) scaleY(1) scaleX(1.45);  width: 140%; height: 190%; background-color: rgba(0, 0, 0, 0.05); content: ""; transition: all 0.8s 0.1s cubic-bezier(0.0, 0, 0.1, 1);   border-radius: 50%;}
a.moreBtn:after {position: absolute; left: 50%; top: 180%; transform: translateX(-50%) scaleY(1) scaleX(1.45); width: 140%; height: 190%; background: var(--pointcolor); content: ""; transition: all 0.8s 0.1s cubic-bezier(0.55, 0, 0.1, 1);   border-radius: 50%;}
a.moreBtn img {transition: all 0.8s 0.1s cubic-bezier(0.55, 0, 0.1, 1); position: relative; z-index: 1;}


@media(min-width:769px) {
    a.moreBtn:hover {color: #fff !important; border: 1px solid var(--pointcolor);}
    a.moreBtn:hover:before {top: -35%; transform: translateX(-50%) scaleY(1.3) scaleX(0.8);}
    a.moreBtn:hover:after {top: -45%; background-color: var(--pointcolor); transform: translateX(-50%) scaleY(1.3) scaleX(0.8);}
    a.moreBtn:hover img {filter: brightness(0) invert(1);}
}

@media(max-width:768px) {
    a.moreBtn  {padding: 1.25rem 3rem; border: none !important; background: #233217; color: #fff !important;}
    a.moreBtn img {filter: brightness(0) invert(1);}
}

/* 슬라이드 - 공통 */
.swiper-button-next, .swiper-button-prev {position: initial; width: fit-content !important; height: auto; margin-top: 0; z-index: 8;}

.swiper-pagination {position: initial; width: fit-content !important;}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {opacity: 1;}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {background: var(--pointcolor);}
.swiper-pagination-progressbar {background: #e5e5e5;}

#mainSlide .swiper-slide {position: relative; overflow:hidden;-webkit-backface-visibility:hidden; backface-visibility:hidden; width: 100%;}
#mainSlide .swiper-slide .txt {position: absolute; left: 0; top: 55%; color: #fff; width: 100%;}
#mainSlide .swiper-slide .txt h2 {padding: 0 5%;}
#mainSlide .swiper-slide .txt .line {width: 100%; height: 1px; background: #fff; opacity: 0.3;}
#mainSlide .swiper-slide .txt .desc {gap: 3rem; padding: 0 5%;}
#mainSlide .swiper-slide.slide01 .txt .desc {gap: 6.25rem;}

#mainSlide .page-wrap {position: absolute; right:calc(10% + 0.4rem); top: 80%; z-index: 1; width: fit-content;}
#mainSlide .page-wrap .swiper-pagination-bullet {background: #fff; opacity: 0.3; margin: 0 0.4rem;}
#mainSlide .page-wrap .swiper-pagination-bullet-active {opacity: 1;}
#mainSlide .btn-wrap {gap: 2rem;}

@media(max-width:1440px) {
    #mainSlide .page-wrap  {right:calc(5% + 0.4rem);}
    #mainSlide .btn-wrap {margin-top: 3.5rem;}
}

@media(max-width:1240px) {
    #mainSlide .swiper-slide .txt {top: 50%; transform: translateY(-50%);}
    #mainSlide .swiper-slide .txt .desc {flex-direction: column; gap: 1rem; justify-content: flex-start; align-items: flex-start;}
    #mainSlide .swiper-slide.slide01 .txt .desc {flex-direction: row;}
}

@media(max-width:990px) {
    #mainSlide .swiper-slide.slide01 .txt h2 {line-height: 1 !important;}
}

@media(max-width:768px) {
    #mainSlide .swiper-slide.slide01 .txt .desc  {flex-direction: column; gap: 3rem;}

    #mainSlide .swiper-slide .txt .line {margin-top: 2rem;}

    #mainSlide .btn-wrap {flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 1rem; margin-top: 5.625rem;}
    #mainSlide .page-wrap  {right:calc(5% + 0.6rem);}
    #mainSlide .page-wrap .swiper-pagination-bullet {margin: 0 0.6rem;}
    #mainSlide .btn-wrap .font-18 {font-size: 1.75rem;}

}

@media(max-width:580px) {
    #mainSlide .swiper-slide .txt h2.font-150 {font-size: 6.25rem;}
}

@media(max-width:340px) {
    #mainSlide .swiper-slide.slide04 .txt .desc br {display: none !important;}
    #mainSlide .page-wrap {top: 85%;}
}

/* 배경 */
#mainSlide .swiper-slide .bg {height: 58rem; width: 100%; background-size: cover; background-position: center; background-repeat: no-repeat;}
#mainSlide .swiper-slide.slide01 .bg {background-image: url("/img/main/mainSlide01.jpg");}
#mainSlide .swiper-slide.slide02 .bg {background-image: url("/img/main/mainSlide02.jpg");}
#mainSlide .swiper-slide.slide03 .bg {background-image: url("/img/main/mainSlide03.jpg");}
#mainSlide .swiper-slide.slide04 .bg {background-image: url("/img/main/mainSlide04.jpg");}

@media(max-width:768px) {
    #mainSlide .swiper-slide .bg {height: 84rem;}
    #mainSlide .swiper-slide.slide01 .bg {background-image: url("/img/main/mainSlide01_m.jpg");}
    #mainSlide .swiper-slide.slide02 .bg {background-image: url("/img/main/mainSlide02_m.jpg");}
    #mainSlide .swiper-slide.slide03 .bg {background-image: url("/img/main/mainSlide03_m.jpg");}
    #mainSlide .swiper-slide.slide04 .bg {background-image: url("/img/main/mainSlide04_m.jpg");}
}


/* 인트로 */
.main #intro {background-image: url("/img/main/intro_bg.jpg"); background-position: center; background-size: cover; overflow: hidden;}
.main #intro .imgbox {width: 70%; margin: auto;}
.main #intro .box {position: absolute; bottom: 0; width: 30%;}
.main #intro .box.box01 {left: 0;}
.main #intro .box.box02 {right: 0;}

@media(max-width:1580px) {
    .main #intro .box {width: 27%;}
}

@media(max-width:1240px) {
    .main #intro .imgbox {width: auto;}
    .main #intro .box  {position: initial; text-align: center !important; width: 100%; margin-top: 3.5rem;}
    .main #intro .btn-wrap {justify-content: center;}

    .main #intro [data-aos=fade-right2] { transform: translate3d(0, 30px, 0);  }
    .main #intro [data-aos=fade-right2].aos-animate { transform: translateZ(0);}
    .main #intro [data-aos=fade-left2] { transform: translate3d(0, 30px, 0);  }
    .main #intro [data-aos=fade-left2].aos-animate { transform: translateZ(0);}
}

@media(max-width: 768px) {
    .main #intro {background-image: url("/img/main/intro_bg_m.jpg");}
}

/* 시그니처 */
.main #signature .flexList {--x-gap: 0rem; --y-gap: 0rem;}
.main #signature .cont .box {background: #233217; cursor: pointer;}

.main #signature .txtbox {position: absolute; left: 5%; top: 5%;}

.main #signature .viewBtn {position: absolute; right: 5%; bottom: 5%;}

@media(max-width:990px) {
    .main #signature .tit {padding: 100px 5%;}
    .main #signature .cont {width: 100%  !important;}
}

@media(min-width:769px) {
    .main #signature .cont .box .imgbox img {transition: 0.5s;}
    .main #signature .cont .box:hover .imgbox img {border-radius: 50%;}
    .main #signature .cont .box p.kor {opacity: 0; transition: 0.45s;}
    .main #signature .cont .box:hover p.kor {opacity: 1;}
    .main #signature .viewBtn img {transition: 0.45s;}
    .main #signature .cont .box:hover .viewBtn img {transform: translateX(5px);}
}

@media(max-width:320px) {
    .main #signature .tit  p br {display: none !important;}
}

/* 스페셜 */
.main #special .wrap .cont {gap: 8%; padding-bottom: 6.25rem;}
.main #special .specialSwiper2 {background-image: url("/img/main/special_bg.jpg"); width: 65.3125rem; padding: 6.25rem 1rem 6.25rem 7%; /* border-radius: 12.5rem 0 0 0; */ position: relative; margin-right: 50px; margin-top: -350px; z-index: 1;}
.main #special .specialSwiper2.aos-animate {border-radius: 12.5rem 0 0 0;}

/* tab부분 */
.main #special .box.tab {height: fit-content;}
.main #special .box.tab .swiper-pagination {position: initial; display: block; margin: 20% 0;}
.main #special .box.tab .swiper-pagination-bullet {margin: 0; width: 100%; opacity: 1; color: #cacaca; height: auto; background: transparent; text-align: left; transition: 0.45s; cursor: pointer; border-radius: 0; width: max-content; padding: 1rem 3rem; border-left: 2px solid #cacaca;} 
.main #special .box.tab .swiper-pagination img {opacity: 0; transform: translateX(-1.375rem); transition: 0.45s; width: 0;}
.main #special .box.tab .swiper-pagination-bullet-active {color: var(--pointcolor); border-left: 2px solid var(--pointcolor);}
.main #special .box.tab .swiper-pagination-bullet-active img {opacity: 1; transform: translateX(0); width: 1.375rem;  margin-right: 1rem;}


/* 페이지네이션 */
.main #special .page-wrap div {width: fit-content; margin: 5rem auto 0; padding-right: 10%;}
.main #special .page-wrap .swiper-pagination-bullet {background: #fff; opacity: 0.3; margin: 0 0.4rem;}
.main #special .page-wrap .swiper-pagination-bullet-active {opacity: 1;}

@media(max-width:1580px) {
    .main #special .specialSwiper2 {margin-top: -20rem;}
}

@media(max-width: 1440px) {
    .main #special .wrap .cont {gap: 5%;}
    .main #special .box.tab .swiper-pagination {margin: 15% 0;}
    .main #special .specialSwiper2 {margin-top: -18rem;}
}

@media(max-width: 1240px) {
    .main #special .box.tab .swiper-pagination {margin: 10% 0;}
    .main #special .specialSwiper2 {padding: 5rem 1rem 5rem 10%;}
}

@media(max-width: 990px) {
    .main #special .wrap .cont {flex-direction: column; justify-content: center; align-items: center; gap: 6.25rem; padding-bottom: 0;}
    .main #special .box {width: 100% !important;}
    .main #special .box.tab {order: -1; display: flex; justify-content: center;}
    .main #special .box.tab .swiper-pagination {margin: 0; width: 30rem !important;}
    .main #special .specialSwiper2 {width: 90%; margin: auto; float: none;  transform: translateY(0); margin-top: -80px;}
}

@media(max-width:768px) {
    .main #special .font-18 {font-size: 1.6875rem;}
    .main #special .box.tab {padding: 0 5%;}
    .main #special .specialSwiper2 {padding: 6.25rem 15% 4.5rem;}
    .main #special .swiper-slide > .flex {flex-direction: column; gap: 1.25rem;}
    .main #special .swiper-slide .width40 {width: 100%;}
    .main #special .desc {padding-left: 3rem; width: 100%;}
}

@media(max-width:425px) {
    .main #special .desc br {display: none !important;}
}

@media(max-width:360px) {
    .main #special .box.tab .swiper-pagination {margin: auto; width: 90% !important;}
}

/* 프로모션 */
.main #promotion {background-image: url("/img/main/promotion_bg.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center;}
/* .main #promotion .bg {position: absolute; left: 50%; top: 0; transform: translateX(-50%); z-index: -1; width: 100%; height: 100%; background-image: url("/img/main/promotion_bg.png"); background-position: center top; background-repeat: no-repeat;} */
.main #promotion .cont_box {gap: 5.5rem;}
.main #promotion .swiper-button {width: calc(calc(100% - 32rem) / 2); gap: 1.5rem; justify-content: flex-end;}
.main #promotion .swiper-button-prev:after {display: none;}
.main #promotion .swiper-button-next:after {display: none;}
.main #promotion .promotionSwiper {width: 32rem;}

.main #promotion .promotionSwiper2 {width: calc(calc(100% - 32rem) / 2);}

@media(max-width:990px) {
    .main #promotion {background-image: url("/img/main/promotion_bg_m.jpg"); }
    .main #promotion .font-18 {font-size: 1.5625rem;}
    .main #promotion .cont_box {flex-direction: column; gap: 2.5rem;}
    .main #promotion .promotionSwiper2 {width: 33rem; display: flex; justify-content: center; align-items: flex-start;}
    .main #promotion .swiper-button.box {display: none !important;}
    .main #promotion .swiper-button {width: 50%; display: flex !important; justify-content: flex-start;}
    .main #promotion .promotionSwiper2 .swiper-wrapper {width: 50%;}
}

@media(max-width:768px) {
    .main #promotion .promotionSwiper {width: 36rem;}
    .main #promotion .promotionSwiper2 {width: 36rem;}
}

@media(max-width:500px) {
    .main #promotion .promotionSwiper {width: 90%;}
    .main #promotion .promotionSwiper2 {width: 90%;}
}

@media(max-width:425px) {
    .main #promotion .swiper-button {width: 40%;}
    .main #promotion .promotionSwiper2 .swiper-wrapper {width: 60%;}
}

@media(max-width:360px) {
    .main #promotion .swiper-button {display: none !important;}
    .main #promotion .promotionSwiper2 .swiper-wrapper {width: 100%; text-align: center;}
    .main #promotion .promotionSwiper2 .swiper-wrapper .moreBtn {margin: auto;}
}

/* 장비 */
.main #equip {background: linear-gradient(to bottom, #fff 5%, #f4f8f2 50%);}
.main #equip .swiper-pagination {width: 100% !important; height: 2px;}

@media(max-width:1024px) {
    .main #equip .box {width: 50% !important;}
}

@media(max-width:768px) {
    .main #equip .wrap {flex-direction: column; padding-left: 10%; gap: 5rem; width: 100%; align-items: baseline !important;}
    .main #equip .box {width: 100% !important; padding-top: 0 !important;}
    .main #equip .box.tit {display: block; margin-right: 10%;}
}

/* 오시는길 */
#location .box.img {background: url("/img/main/location_bg01.jpg"); background-position: center; background-size: cover;}
#location .box.cont {background: url("/img/main/location_bg02.jpg"); background-position: center; background-size: cover;}

#location .button-wrap {gap: 1.5rem;}
#location .button-wrap.mo {display: none !important;}
#location .button-wrap a {width: 14rem; border-radius: 100px; padding: 1rem;}
#location .kakao {background: #f7e409; color: #381e1f;}
#location .naver {background: #3bab36; color: #fff;}

#location .mapbox > div {width: 100%; z-index: 1;}
#location .root_daum_roughmap .wrap_map {height: 23.75rem;}

#location .adress {display: flex; flex-direction: column; justify-content: space-between;}

#location .flexList {--x-gap: 3rem; --y-gap: 5rem;}
#location .subtit p {background: #192711; padding: 0.5rem 1rem;}
#location .timetable ul li {gap: 1.5rem; height: 3rem;}
#location .timetable .day {width: 6.25rem; text-align: justify; position: relative; display: block;}
#location .timetable .day:after {content: ''; display: inline-block; width: 100%;}

#location .visible-mo {display: none;}

@media(max-width:1440px) {
    #location .box.img {width: 30%;}
    #location .box.cont {width: 70%;}
}

@media(max-width:1240px) {
    #location .box.img {width: 20%;}
    #location .box.cont {width: 80%;}
}

@media(max-width:990px) {
    #location .box.img {display: none;}
    #location .box.cont {width: 100%;}
    #location .button-wrap a {width: 16rem;}
}

@media(max-width:768px) {
    #location .font-15 {font-size: 1.4375rem;}
    #location .font-18 {font-size: 1.75rem;}
    #location .font-25 {font-size: 2.5rem;}
    #location .font-50 {font-size: 4.6875;}
    #location .box.cont > .width80 {width: 90%;}
    #location .subtit {width: 65%;}
    #location .timetable .day {width: 10rem;}

    #location .button-wrap.mo {display: flex !important;}
    #location .button-wrap a {width: 50%;}
}


@media(max-width:500px) {
    #location .timetable ul li:last-child {margin-top: 2.5rem;}

}

@media(max-width:425px) {
    #location .visible-mo {display: block;}
}

@media(max-width:400px) {
    #location .subtit {width: 75%;}
    #location .button-wrap {flex-direction: column;}
    #location .button-wrap a {width: 100%;}
}

@media(max-width:319px) {
    #location .subtit {width: 100%; }
    #location .timetable ul li {flex-direction: column; height: auto; gap: 0.25rem; margin-top: 1.5rem;}
    #location .timetable .day:after {display: none;}
    #location .timetable ul li:last-child {margin-top: 1.5rem;}
}

/* 컨텍트 */
#contact {background-image: url("/img/main/contact_bg.jpg"); background-size: cover; background-position: center; padding: 3rem;}
#contact .wrap {width: 100%; padding: 5rem 5%; margin: auto; background: rgba(0,0,0,0.4); backdrop-filter: blur(10px);}
#contact .flexList {--x-gap: 0rem; position: relative;}
#contact .flexList:after {position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 1px; height: 70%; background:rgba(255,255,255,0.3); content: "";}

#contact .moreBtn {width: fit-content; margin: auto; border: 1px solid rgba(255,255,255,0.5);}
#contact .moreBtn:hover {border: 1px solid var(--pointcolor);}

@media(max-width:990px) {
    #contact .wrap > .flex-center {flex-direction: column; gap: 6.25rem;}
    #contact .wrap > .flex-center > .box {width: 100%;}
}

@media(max-width:768px) {
    #contact {background-image: url("/img/main/contact_bg_m.jpg"); }
    #contact .section_mini {padding: 80px 0;}
    #contact .flexList {--y-gap: 10rem;}
    #contact .flexList:after {width: 50%; height: 1px;}
}