body.fixed{overflow: hidden;}

/************************************************
********************* VISUAL ********************
************************************************/

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

.visual-inner{display: flex;justify-content: center; width : 100%; max-width: 1740px; height : 100%; margin : 0 auto; position : relative; padding-top: 200px;}

.visual-tit-box{display: flex;flex-direction: column; color : #fff; gap : 18px}

.visual-tit{font-family: times-new-roman; font-weight: 400; font-size: 39px; letter-spacing: 0.45em; line-height: 1em;}

.visual-tit .char{opacity: 0; transform: translateY(-100px);}

.visual-sub-tit{font-family: Noto Sans KR; letter-spacing: -0.03em; font-weight: 300; opacity: 0;}
.visual-sub-tit b{font-weight: 500;}

.visual-sub-tit-01{transform: translateX(-100px);}
.visual-sub-tit-02{align-self: end; padding-right: 0.8em; transform: translateX(100px);}

.open-rotate-btn{display: flex;flex-direction: column;align-items: center;justify-content: center; width : 143px;height : 143px;position :absolute; right : 0; bottom : 57px; opacity: 0; transform: translateX(100px); transition : 1.2s;}
.on .open-rotate-btn{transform: translateX(0); opacity: 1; transition-delay: 3.5s;}
.open-rotate-btn::after{position :absolute; content : ''; width : 100%;height : 100%; background: url(../images/main/open-rotate-text.png)no-repeat center / contain; animation : rotate-text 8s infinite linear}
@keyframes rotate-text {
    100%{transform: rotate(360deg);}
}

.open-rotate-btn > p{font-size: 19px; font-family: PT; font-weight: 700; letter-spacing: -0.04em; color : #fff;}

/************************************************
********************* PREMIUM *******************
************************************************/

.premium-slide{width : 100%;height : 100%;}

.premium-container{display: flex; position :absolute; width : 100%;height : 100%; top : 0;left : 0; transition : transform 1.2s;}
.t3 .premium-container{transform: translateX(-100%);}
.t4 .premium-container{transform: translateX(-200%);}
.premium-container > div{width : 100%;height : 100%; flex-shrink: 0; overflow: hidden; position : relative;}

.premium-left{width : 100%;height : 100%; flex-shrink: 0; overflow: hidden; transition : width 1.2s;}
.t2 .premium-left,
.t3 .premium-left{width : 60%;}
.premium-bg{width : 100%;height : 100%; object-fit: cover; object-position: 10% center; transform: scale(1.2); transition : 0s 1.2s;}
.active .premium-bg{transform: scale(1);transition : 3s;}

.premium-right{display: flex;flex-direction: column;align-items: center;justify-content: center; width : 40%;height : 100%;position :absolute; position : absolute;top : 0;right : 0; transition : transform 1.2s; transform: translateX(100%);}
.t2 .premium-right,
.t3 .premium-right{transform: translateX(0);}

.premium-tit{font-size: 54px; color : #A99270; position: relative; font-family: times-new-roman;line-height: 1em; margin-bottom: 67px;}

.premium-tit > span{font-size: 35px; font-family: AV; font-weight: 400; transform: translateX(-100px) translateY(30px) rotate(-10deg);position : absolute; left : -40px; top : -30px; color : #000; opacity: 0;  transition : 1s 0s;}
.t2 .premium-tit > span{opacity: 1; transform: rotate(-10deg); transition: 1s 1s;}

.premium-tit .char{opacity: 0;}

.premium-desc-01{font-size: 18px; font-family: NM; font-weight: 700;color : #101010; line-height: 1.8em; letter-spacing: -0.06em; margin-bottom: 46px;}
.premium-desc-01 > .color{color : #A99270; font-weight: 800;}
.premium-desc-01 .line{transform: translateX(-100px); opacity: 0;}

.premium-desc-02{font-family: Noto Sans KR; font-size: 16px; font-weight: 500; letter-spacing: -0.06em; color : #242424; line-height: 1.8em;}
.premium-desc-02 .line{transform: translateX(-100px); opacity: 0;}

.premium-02{display: flex; align-items: center; padding-top: 50px;}
.premium-inner{display: flex;flex-direction: column; justify-content: center;align-items: center; width : 100%; max-width: 1580px; margin : 0 auto;height : 672px; position : relative;}

.premium-con-box{position : absolute;}
.premium-con-box-01{left : 0;top : 0;}
.premium-con-box-02{right : 305px;bottom : 0; width : 0px; white-space: nowrap}

.premium-con{transition : 0.7s; opacity: 0;}
.premium-con-box-02 .premium-con{}

.t4 .premium-con{transform: translateX(0); opacity: 1; transition-delay: calc(var(--i) * 0.15s + 0.7s);}

.premium-con + .premium-con{margin-top: 85px;}
.premium-con-tit{font-size: 20px; font-family: NM; letter-spacing: -0.06em; font-weight: 700; color : #A99270; margin-bottom: 16px;}
.premium-con-desc{font-size: 16px; letter-spacing: -0.06em; font-family: Noto Sans KR; font-weight: 400; color : #101010; line-height: 1.8em;}


.premium-img-box{display: flex;gap : 16px; position :absolute;}
.premium-img-left{display: flex;flex-direction: column;align-items: end; gap : 16px}
.premium-img-right{display: flex;flex-direction: column;align-items: end; gap : 16px;padding-top: 110px;}
.premium-img-top{display: flex;align-items: end;gap : 16px}
.premium-img-tit{align-self: center;position : relative; font-family: times-new-roman; font-size: 54px; font-weight: 700; line-height: 1em;}
.premium-img-tit .char{opacity: 0;}

.premium-img-tit > span{position : absolute; font-family: AV; white-space: nowrap; font-size: 35px; left : -40px; top : -30px; transform: translateX(-100px) translateY(30px) rotate(-10deg); font-weight: 400;opacity: 0; transition : 0s 1.2s;}
.t4 .premium-img-tit > span{opacity: 1; transform: rotate(-10deg); transition: 1s 1s;}

.premium-img{position :relative;}
.premium-img > img:not(.premium-obj-01){width : 100%;height : 100%; object-fit: cover; object-position: center;}

.premium-obj-01{position : absolute;bottom : -25px; left : -120px;}

.premium-img::after{transition : 2s; opacity: 0;}
.premium-img-01::after{position : absolute; content : ''; width : 26px; height : 26px; background: #000; top : 0; right : calc(100% + 16px); transform: translateX(-200px);}
.premium-img-02::after{position : absolute; content : ''; width : 26px; height : 26px; background: #A99270; top : calc(100% + 16px); left : 0; transform: translateY(200px);}
.premium-img-03::after{position : absolute; content : ''; width : 26px; height : 26px; background: #A99270; bottom : calc(100% + 16px); left : 0; transform: translateY(-200px);}
.premium-img-04::after{position : absolute; content : ''; width : 26px; height : 26px; background: #000; bottom : calc(100% + 16px); right : 0; transform: translateX(200px);}

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

.premium-img-01{transform: translateX(-200px) translateY(-100px);}
.premium-img-02{transform: translateY(200px) translateX(-100px);}
.premium-img-03{transform: translateY(-200px) translateX(100px);}
.premium-img-04{transform: translateY(0px) translateX(200px);}
.premium-img-05{transform: translateX(200px) translateY(100px);}
.premium-img{transition : 1.2s;}

.t4 .premium-img{transform: translateX(0);}

.premium-obj-02{position : absolute; bottom : 0;left : 46%; transform: translateX(-50%);}

.premium-video {position : relative;}
.premium-video > video{width : 100%;height : 100%; object-fit : cover; object-position : center;}
.premium-info{color : #fff; font-size : 15px; font-family : PT; letter-spacing : -0.04em; position : absolute; bottom : 30px; right : 30px;}

/************************************************
********************* ENVI *******************
************************************************/

.envi-slide{width : 100%;height : 100%;}
.envi-inner{display: flex; position : absolute; left : 0;top : 0;width : 100%;height : 100%; transition : transform 1.2s; z-index: 1;}
.t3 .envi-inner{transform: translateX(-100%);}
.t4 .envi-inner{transform: translateX(-200%);}
.envi-inner > div{overflow: hidden;width :100%;height : 100%; flex-shrink: 0; position : relative;}
.envi-01{background: #000;}
.envi-01 .envi-bg{width : 100%;height : 100%; transition : 1.2s;}
.t2 .envi-01 .envi-bg,
.t3 .envi-01 .envi-bg,
.t4 .envi-01 .envi-bg{width : 60%;}
.envi-01 .envi-bg > img{width : 100%;height : 100%; object-fit: cover; object-position: center; transform: scale(1.25); transition : transform 5s;}
.active .envi-01 .envi-bg > img{transform: scale(1);}

.envi-01 .envi-con{display: flex;align-items: center;justify-content: center; width : 40%;height : 100%; position :absolute; right : 0;top : 0; transform: translateX(100%); transition : 1.2s;}
.t2 .envi-01 .envi-con,
.t3 .envi-01 .envi-con,
.t4 .envi-01 .envi-con{transform: translateX(0);}

.envi-con-inner{}
.envi-desc-01{font-family: NM; font-weight: 700; font-size: 18px; line-height: 1.8em; color : #fff; margin-bottom: 42px;}
.envi-desc-01 .line{transform: translateX(-100px); opacity: 0;}

.envi-sub-tit{font-family: NM; font-weight: 700;color : #A99270; margin-bottom: 94px; line-height: 1.5em; font-size: 24px;}
.envi-sub-tit .char{opacity: 0;}

.envi-line{width : 161px;height : 1px; background: #656565; clip-path: inset(0 50%); transition : 0s 1.2s;}
.active .t2 .envi-line{clip-path: inset(0); transform: rotate(-33deg);transition : transform 1s 1.2s, clip-path 1s 1s;}

.envi-desc-02{margin-top: 83px; font-size: 16px; font-family: Noto Sans KR; letter-spacing: -0.06em; color : #B2B2B2; font-weight: 500; line-height: 1.8em;}
.envi-desc-02 .line{transform: translateX(-100px); opacity: 0;}

.envi-02{display: flex;align-items: center;}
.envi-02-inner{width : 100%;max-width: 1740px; margin : 0 auto;position :relative; z-index: 1;}
.envi-02 .envi-bg{width : 100%;height : 100%; position : absolute;}
.envi-02 .envi-bg > img{width : 100%;height : 100%; object-fit: cover; object-position: center;}

.envi-02 .envi-tit-box{padding-top: 50px; position : absolute; left : 0;top : 0; z-index: 1; pointer-events: none;}
.envi-02 .envi-tit{font-family: times-new-roman; font-size: 122px;color : #A99270; font-weight: 400; line-height: 1.2em;}
.envi-02 .envi-tit.italic{font-style: italic; color : #4B4B4B;}

.envi-02 .envi-tit .char{opacity: 0; transform: translateY(-100px);}

.envi-list{display: flex;flex-direction: column;align-items: end;width : 100%;}
.envi-list > li{display: flex;justify-content: end;  align-items: center;position : relative;width : 100%;}
.envi-list > li::after{position : absolute;content : ''; width : 100%;height : 1px; background: #222; bottom : 0; left : 0; clip-path: inset(0 100% 0 0); transition : 2s;}
.envi-list > li:first-child::before{position : absolute;content : ''; width : 100%;height : 1px; background: #222; top : 0; left : 0; clip-path: inset(0 100% 0 0); transition : 2s;}

.active .t3 .envi-list > li::before,
.active .t3 .envi-list > li::after{clip-path: inset(0); transition-delay: .4s;}

.envi-list-inner{display: flex; cursor: pointer; opacity: 0; transition : 1.2s;}

.envi-list-01 .envi-list-inner{transform: translateX(200px);}
.envi-list-02 .envi-list-inner{transform: translateX(200px);}
.envi-list-03 .envi-list-inner{transform: translateX(200px);}
.envi-list-04 .envi-list-inner{transform: translateX(200px);}

.active .t3 .envi-list-inner{transform: translateX(0); opacity: 1; transition-delay: calc(var(--i) * 0.1s + 1s);}

.envi-con{display: flex; align-items: center;gap : 41px}
.envi-con-tit{font-family: NM; font-weight: 700; letter-spacing: -0.06em; color : #fff; font-size: 20px;}
.envi-con-tit > span{color : #A99270}

.envi-con-desc{font-size: 16px; letter-spacing: -0.06em; color : #6C6C6C; line-height: 1.5em;}

.envi-list-01{padding-right: 120px;}
.envi-list-01 .envi-list-img{margin-right: 117px;}

.envi-list-02{}
.envi-list-02 .envi-list-img{margin-left: 253px;}

.envi-list-03{padding-right: 410px}
.envi-list-03 .envi-list-img{margin-left: 145px;}

.envi-list-04{padding-right: 420px}
.envi-list-04 .envi-list-img{margin-right: 38px;}

.envi-list-img{position : relative}
.envi-list-img-inner{overflow: hidden;}
.envi-list-img-inner > img{width : 100%;height : 100%; object-fit: cover; object-position: center;transition : transform 2s;}
.envi-list > li:hover .envi-list-img-inner > img{transform: scale(1.1);}

.envi-rotate-btn{display: flex;align-items: center;justify-content: center; position :absolute;width : 68px; height : 68px; background: #A99270; border-radius: 50%; top : 0;right : 0; transform: translateX(50%) translateY(-50%) scale(1); opacity: 0; transition : opacity 0.7s; pointer-events: none;;}
.envi-list > li:hover .envi-rotate-btn{opacity : 1;}
.envi-rotate-btn::after{position : absolute; content : ''; width : 121px;height : 121px; background: url(../images/main/envi-rotate-text.png)no-repeat center / contain; animation : rotate-text 8s infinite linear}

.envi-03{}

.envi-03 .envi-bg{display: flex;align-items: center;justify-content: center; position : absolute; width : 100%;height : 100%;left : 0;top : 0;}
.envi-map{width : 100%;height : 100%; object-fit: cover; object-position: center; transform: scale(1.2); transition : transform 2s;}
.active .t4 .envi-map{transform: scale(1);}
.envi-map-obj{position : absolute;z-index: 1; opacity: 0; transition : 1.2s;}
.envi-map-obj-01{transform: translateX(-30vw) translateY(-5vw) scale(1); width : 26.7188%;}
.envi-map-obj-02{transform: translateX(27vw) translateY(-2vw) scale(0.5); width : 36.4063%; transform-origin: center left;}

.active .t4 .envi-map-obj-01{transform: translateX(-30vw) translateY(-5vw) scale(1); opacity: 1; transition-delay: 1s;}
.active .t4 .envi-map-obj-02{transform: translateX(27vw) translateY(-2vw) scale(1); opacity: 1; transition-delay: 1s;}

.envi-03-inner{display: flex;flex-direction: column;justify-content: end; width : 100%; max-width: 1650px; margin : 0 auto; position : relative;z-index: 1;height : 100%; padding-bottom: 138px;}


.envi-03 .envi-tit{font-size: 54px; color : #000; position: relative; font-family: times-new-roman;line-height: 1em; margin-bottom: 8px;}
.envi-03 .envi-tit > span{font-size: 35px; font-family: AV; font-weight: 700; transform: translateX(-100px) translateY(30px) rotate(-10deg); opacity: 0; position : absolute; left : -40px; top : -30px; color : #000; transition : 0s 1.2s;}

.active .t4 .envi-03 .envi-tit > span{opacity: 1; transform: rotate(-10deg); transition: 1s 1s;}

.envi-03 .envi-tit .char{opacity: 0;}

.envi-small-tit{font-size: 18px; font-family: Noto Sans KR; letter-spacing: -0.06em; font-weight: 500; color : #242424; margin-bottom: 16px;}
.envi-small-tit .char{opacity: 0;}

.envi-03 .envi-desc{font-size: 24px; font-family: NM; letter-spacing: -0.06em; font-weight: 700; color : #101010;}
.envi-03 .envi-desc .char{opacity: 0;}

/************************************************
********************* LOCATION *******************
************************************************/

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

.location-inner{display: flex;flex-direction: column;align-items: center;}

.location-tit{font-family: times-new-roman; font-size: 43px; margin-bottom: 5px;}
.location-tit .char{opacity: 0;}
.location-desc{font-family: Noto Sans KR; font-size: 16px; letter-spacing: -0.04em; margin-bottom: 95px; font-weight: 400; transform: translateY(50px); opacity: 0; transition : 1.2s;}
.fp-active .location-desc{transform: translateY(0); opacity: 1;}

.location-container{display: flex; align-items: end; gap : 60px;}

.location-map{transform: translateX(-100px); opacity: 0; transition : 1.2s;}
.fp-active .location-map{transform: translateX(0); opacity: 1; transition-delay: 1s;}

.location-con{transform: translateX(100px); opacity: 0; transition : 1.2s;}
.fp-active .location-con{transform: translateX(0); opacity: 1; transition-delay: 1s;}

.location-name{font-family: Noto Sans KR; font-size: 25px; font-weight: 500; letter-spacing: -0.04em; color : #83673E; margin-bottom: 8px;}
.location-address{font-size: 16px; font-family: Noto Sans KR; letter-spacing: -0.04em; font-weight: 500; color : #1F1F1F; margin-bottom: 37px;}
.location-btn-box{display: flex;gap : 7px}

