.visual-bg{position : absolute;left : 0;top : 0;width : 100%;height : 100%;overflow: hidden;background: #000;}
.visual-bg > img{width : 100%;height : 100%;object-fit: cover;object-position: center 100%;animation : visual-bg 6s both ease-in-out}
@keyframes visual-bg {
    0%{opacity: 0;transform: scale(1.25);}
    30%{opacity: 1;}
    100%{object-position: center 50%;}
}

.visual-inner{display: flex;flex-direction: column;justify-content: center;align-items: center;position : relative;transform : translateY(50%);width : 100%;max-width: 1780px;position :relative;margin : 0 auto;height : 100%;}

.visual-desc-box{margin-bottom: 42px;}
.visual-desc{font-size: 30px; color : #fff;font-family: pretendard;letter-spacing: -0.04em; font-weight : 300;}
.visual-desc span{color : #E40072; font-weight : 700;}
.visual-desc .char{opacity: 0;transform: translateY(50px);}

.visual-line{width : 1px; height : 70px; background: rgba(255,255,255,0.42);clip-path: inset(0 0 100%);}

.visual-title{margin-bottom: 41px; transform: translateY(100px);clip-path: inset(36.9% 0 0 0);opacity: 0;}

.visual-list{display: flex;}
.visual-list > li{border-right : 1px solid rgba(255,255,255,0.2);width : 156px;text-align: center; line-height: 1.6em; color : #fff;font-family: pretendard; font-weight: 500;}
.visual-list > li:first-child{border-left: 1px solid rgba(255,255,255,0.2);}

.visual-list > li > span{color : #E40072;font-weight: 700;font-size : 18px;}

.visual-sub-title{font-size: 131px; color : #B0A3D0;font-family: OneStoreMobileGothicTitleFont;margin-top: 40px;}

.visual-open{display: flex;flex-direction: column;align-items: center;justify-content: center;font-size: 17px;font-family: pretendard; letter-spacing: -0.033em; font-weight: 700;width : 84px;height : 84px; background: #E40072; border-radius: 50%;position : absolute;right : 0; bottom: 68px; color : #fff; opacity: 0;transform: translateX(100px);} 
.visual-open::after{position : absolute;content: '';width : 116px; height: 116px; background: url(/assets/images/main/visual-rotate-text.png)no-repeat center / contain; animation : rotate-text 6s infinite linear}
@keyframes rotate-text {
    0%{transform: rotate(0);}
    100%{transform: rotate(360deg);}
}
.visual-open b{font-size: 22px;}

/**/
.premium-bg{position : absolute;left : 0;top : 0;width : 100%;height : 100%;overflow: hidden;}
.premium-bg > img{width : 100%;height : 100%;object-fit: cover;object-position: center 100%;transform: scale(1.25);transition : transform 3s}
.active .premium-bg > img{transform: scale(1);}

.premium-slide{width :100%;height : 100%;display: flex;align-items: center;justify-content: center;}
.premium-slide .swiper-slide{display: flex;align-items: center;justify-content: center;}
.premium-img-box{display: flex;gap : 15px; position : absolute;}
.premium-img-box > div{display: flex;flex-direction: column;gap : 15px; transition : transform 1s .4s}

.active .swiper-slide-active .premium-img-left{transform: translateY(40px);transition : transform 1s 1.4s}
.active .swiper-slide-active .premium-img-right{transform: translateY(-40px);transition : transform 1s 1.4s}

.premium-img-box > div > img{opacity : 0; transition : opacity 1s .4s, transform 1s .4s;}

.premium-img-01{transform: translateX(-100px);}
.premium-img-02{transform: translateY(100px);}
.premium-img-03{transform: translateY(-100px);}
.premium-img-04{transform: translateX(100px);}

.active .swiper-slide-active .premium-img-box > div > img{transform: translateX(0); opacity: 1;}


.premium-inner{position : absolute;z-index: 1; width : 100%;max-width: 1780px; height : 100%;padding-top: 196px;}
.premium-title-01{font-size: 24px; letter-spacing: -0.04em;font-weight: 300;margin-bottom: 7px; line-height: 1em;}
.premium-title-01 b{font-weight: 500;}
.premium-title-01 .char{transform: translateY(-50px);opacity: 0;}

.premium-title-02{display: flex;align-items: center; gap : 13px; font-size: 36px; font-family: futura-pt-bold;line-height: 1em; margin-bottom: 52px; letter-spacing: .5em;opacity: 0;transition : letter-spacing 1s .4s, opacity 1s .4s;}
.active .premium-title-02{letter-spacing: 0.2em;opacity: 1;}
.premium-title-02 span{width : 94px;height : 1px; background: #000;clip-path: inset(0 100% 0 0);transition : clip-path 1s .4s;}
.active .premium-title-02 span{clip-path: inset(0);}

.premium-navigation{display: flex;gap :10px; align-items: center;opacity: 0;transform: translateY(50px);transition : opacity 1s .4s, transform 1s .4s;}
.active .premium-navigation{transform: translateY(0);opacity: 1;transition : opacity 1s 1.4s, transform 1s 1.4s;}
.premium-prev,
.premium-next{display: flex;align-items: center;justify-content: center; width : 23px;height : 23px; border-radius: 50%;position : relative;background: #EDEDED;cursor : pointer;}
.premium-next{background: #1B1436}

.premium-prev::after,
.premium-next::after{position :  absolute;content: ''; width : 5px; height : 5px; border-top : 2px solid #06033C; border-left : 2px solid #06033C}

.premium-prev::after{transform: rotate(-45deg);}
.premium-next::after{transform: rotate(135deg); border-color : #fff}

.premium-rect{width : 1px;height : 14px; background: #06033C;}

.premium-con-box{width : 748px;position : relative;height : 718px;}
.premium-con-box > div{display: flex;flex-direction: column;gap : 103px; position: absolute;white-space: nowrap;height : 100%;}

.premium-con-left{right : 100%; justify-content: end;text-align: end;}
.premium-con-right{left : 100%;}

.premium-con-01,
.premium-con-02{display: flex;flex-direction: column;align-items: end;}

.premium-icon{margin-bottom: 19px;}

.premium-con-num{font-size: 15px; font-family: futura-pt-bold; letter-spacing: 0.2em; color : #1B1436; margin-bottom: 32px;}

.premium-con-title{font-size: 20px; font-family: pretendard; font-weight: 500; letter-spacing: -0.04em; color : #542785; margin-bottom: 19px;}

.premium-con-02 .premium-con-title,
.premium-con-03 .premium-con-title{color : #968C67}

.premium-con-title b{font-weight: 700;}

.premium-con-desc{font-size: 16px; font-family: pretendard; letter-spacing: -0.04em; line-height: 1.8em;}

.premium-con{opacity: 0; transition : transform 1s .4s, opacity 1s .4s}

.premium-con-01,
.premium-con-02{transform: translateX(-50px);}
.premium-con-03,
.premium-con-04{transform: translateX(50px);}

.active .swiper-slide-active .premium-con{transform: translateX(0); opacity: 1;}

.active .swiper-slide-active .premium-con-01{transition-delay: 1.4s;}
.active .swiper-slide-active .premium-con-02{transition-delay: 1.6s;}
.active .swiper-slide-active .premium-con-03{transition-delay: 1.8s;}
.active .swiper-slide-active .premium-con-04{transition-delay: 2s;}

.premium-cursor{display: flex;align-items: center;justify-content: center; width : 84px; height : 84px; border-radius: 50%; background: #A59C7D; color : #fff; font-family: ofelia-text;position : fixed;z-index: 10; transform: scale(0) translateY(-50%) translateY(-50%);transition : transform 1s; pointer-events: none;}
.on.premium-cursor{transform: scale(1) translateX(-50%) translateY(-50%);}
.premium-cursor::after{position : absolute; content : ''; width : 120px;height : 120px; background: url(/assets/images/main/premium-rotate-text.png)no-repeat center / contain; animation : rotate-text 6s infinite linear}

/**/
.envi-inner{display: flex;width : 100%;height : 100%;}
.envi-inner > div{display: flex;flex-direction: column;align-items: center;justify-content: center; width : 50%;position : relative;padding-top: 50px;overflow: hidden;}
.envi-left{background: url(/assets/images/main/envi-bg-01.jpg)no-repeat center / cover;}
.envi-right{background: url(/assets/images/main/envi-bg-02.jpg)no-repeat center / cover;}

.envi-dim{display: flex; position : absolute;width : 100%;height : 100%;overflow: hidden;pointer-events: none;z-index: 10;left : 0;top : 0;}
.envi-dim > span{background: rgba(255,255,255,0.5);width : 33.3333%; height : 100%; clip-path: inset(0);transition : clip-path 1s .4s;}

/* .envi-left .envi-dim > span:nth-child(odd){background: #E40072;}
.envi-right .envi-dim > span:nth-child(even){background: #E40072;} */

.active .envi-left .envi-dim > span{clip-path: inset(100% 0 0);}
.active .envi-right .envi-dim > span{clip-path: inset(0 0 100%);}

.active .envi-dim > span:nth-child(1){transition-delay: .4s;}
.active .envi-dim > span:nth-child(2){transition-delay: .6s;}
.active .envi-dim > span:nth-child(3){transition-delay: .8s;}

.envi-title{text-align: center; transform: translateY(-50px);opacity: 1;transition : opacity 1s .4s, transform 1s .4s;opacity: 0;}
.active .envi-title{transform: translateY(0);opacity: 1;transition : opacity 1s 1s, transform 1s 1;}
.envi-title > p{font-size: 26px; font-weight: 300; letter-spacing: -0.04em;}
.envi-title > p b{font-size: 35px; font-weight: 500; letter-spacing: -0.04em; color : #542785; line-height: 1.2em;}

.envi-right .envi-title > p{color : #fff;}
.envi-right .envi-title > p b{color : #E40072;}

.envi-slide{width : 100%; }

.envi-slide .swiper-slide{display: flex;flex-direction: column;align-items: center;text-align: center;}

.envi-img{display: flex;align-items: center;justify-content: center; width : 514px;height : 471px;position :relative;margin-bottom: 15px;}

.envi-img > img{clip-path: circle(20% at 50% 50%);transition : clip-path 1s .4s, opacity 1s .4s;opacity: 0;}
.active .swiper-slide-active .envi-img > img{clip-path: circle(80% at 50% 50%);opacity: 1;transition : clip-path 2s 1s, opacity 1s .4s;}

.envi-sign{font-family: AntroVectra;;font-size: 45px; letter-spacing: 0.1em;line-height: 1em; color :#fff;position : absolute;bottom : 0;right : -30px; transform: rotate(-25deg) translateX(-100px);transition : transform 1s .4s, opacity 1s .4s;opacity: 0;}
.active .swiper-slide-active .envi-sign{transform: rotate(-25deg) translateX(0px);opacity: 1;}
.envi-sign > p:nth-child(2){padding-left: 200px;}

.envi-con{transform: translateY(50px);opacity: 0;transition : transform 1s .4s, opacity 1s .4s;}
.active .swiper-slide-active .envi-con{transform: translateY(0); opacity: 1;transition : transform 1s 1s, opacity 1s 1s;}
.envi-con-title{font-size: 23px; font-family: pretendard; letter-spacing: -0.04em; color : #542785; font-weight: 500;margin-bottom: 18px;;}
.envi-slide-02 .envi-con-title{color : #E40072}

.envi-con-desc{font-size: 16px; font-family: pretendard; letter-spacing: -0.04em; font-weight: 500; color : #1C1C1C; line-height: 1.5em;}
.envi-slide-02 .envi-con-desc{color : #fff}

.envi-pagination{display: flex;align-items: center;gap : 42px; margin-top: 68px;}
.envi-pagination > .swiper-pagination-bullet{display: flex;align-items: center;justify-content: center; margin : 0;width : 10px;height : 10px; background: #4A4A4A; border-radius: 50%;position : relative;opacity: 1;}
.envi-pagination > .swiper-pagination-bullet::after{position : absolute;content:''; width : 26px;height : 26px; border : 1px solid #542785; border-radius: 50%; transform: scale(0); transition : transform .5s;}
.envi-pagination-02 > .swiper-pagination-bullet::after{border-color: #E40072;}

.envi-pagination > .swiper-pagination-bullet-active::after{transform: scale(1);}
.envi-pagination > .swiper-pagination-bullet-active{background: #542785;}
.envi-pagination-02 > .swiper-pagination-bullet-active{background: #E40072;}

/**/
.main-section-location .fp-tableCell{display: flex;align-items: center;justify-content: center;}
.location-bg{position : absolute;left : 0;top : 0;width : 100%;height : 100%;overflow: hidden;}
.location-bg > img{width : 100%;height : 100%;object-fit: cover;object-position: center 100%;transform: scale(1.25);transition : transform 3s}
.active .location-bg > img{transform: scale(1);}

.location-inner{position :relative;width : 100%;max-width: 1030px;}

.location-title-box{display: flex;justify-content: space-between;align-items: end;padding-bottom: 27px;position : relative; margin-bottom: 73px;}
.location-title-box::after{position : absolute;content: '';width : 100%;height : 1px; bottom : 0;left : 0;background: #767676; clip-path: inset(0 100% 0 0); transition : clip-path 1s .4s}
.fp-active .location-title-box::after{clip-path: inset(0);}

.location-title{font-size: 70px;font-family: athena;font-weight: 400; color : #542785;line-height: 1em;}
.location-title .char{opacity: 0;transform: translateY(-50px);}

.location-desc{font-size: 16px; color : #272727; font-family: pretendard;letter-spacing: -0.04em;line-height: 1em;transform: translateX(-50px);opacity: 0;transition : transform 1s .4s, opacity 1s .4s}
.fp-active .location-desc{transform: translateX(0);opacity: 1;}
.location-desc span{color : #542785; font-weight: 700;}

.location-map-box{display: flex;align-items: end; gap : 41px;transform: translateX(-50px);opacity: 0;transition : transform 1s .4s, opacity 1s .4s}
.fp-active .location-map-box{transform: translateX(0);opacity: 1;}

.location-address{display: flex;align-items: center; gap : 14px;font-size: 18px;font-weight: 500;font-family: Noto Sans KR;font-weight: 500; letter-spacing: -0.06em; margin-bottom: 9px;transform: translateX(50px);opacity: 0;transition : transform 1s .4s, opacity 1s .4s}
.fp-active .location-address{transform: translateX(0);opacity: 1;}

.location-address > span{display: flex;align-items: center;justify-content: center; width : 108px;text-align: center;border-left : 1px solid #542785; border-right : 1px solid #542785;height : 15px; font-weight: 700;}

.location-btn-box{display: flex;gap : 8px;justify-content: start; align-items: center; margin-bottom: 37px;transform: translateX(50px);opacity: 0;transition : transform 1s .4s, opacity 1s .4s}
.fp-active .location-btn-box{transform: translateX(0);opacity: 1;transition : transform 1s .5s, opacity 1s .5s}

.location-info{font-size: 18px; font-weight: 700; letter-spacing: -0.06em; font-family: Noto Sans KR; color : #0A0A0A; margin-bottom: 5px;transform: translateX(50px);opacity: 0;transition : transform 1s .4s, opacity 1s .4s}
.fp-active .location-info{transform: translateX(0);opacity: 1;transition : transform 1s .6s, opacity 1s .6s}

.location-info span{color : #E40073}

.location-tel{display: flex; align-items: center;font-size: 51px; gap : 5px; line-height: 1em;transform: translateX(50px);opacity: 0;transition : transform 1s .4s, opacity 1s .4s}
.fp-active .location-tel{transform: translateX(0);opacity: 1;transition : transform 1s .7s, opacity 1s .7s}

.location-tel span{font-family: futura-pt;}