body.fixed{overflow: hidden;}
.section{position : relative; overflow: hidden;}

.open-rotate-btn{display: flex;flex-direction: column;align-items: center;justify-content: center; width : 9.8rem; height : 9.8rem; background: #8B7D6F; border-radius: 50%; color : #ccc; position : absolute; line-height: 1.25em; right : 12rem; bottom : 7rem; transform: translateX(16rem); opacity: 0;
    &::before{position :absolute; content : ''; width : 100%;height : 100%; border-radius: 100%; border : 1px solid #fff; transform: scale(0.88);}
    &::after{position : absolute; content : ''; width : 13.9rem; height : 13.9rem; background: url(../images/main/open-rotate-text.png)no-repeat center / contain; animation : rotate-text 8s infinite linear;}
    p:nth-child(1){padding-top: 0.5rem;}
    b{color : #fff; font-size: 2.5rem;}
    span{color : #fff; font-size: 2.2rem; font-family: jost; font-weight: 700;}
}
@keyframes rotate-text {
    100%{transform: rotate(360deg);}
}

#intro{display: flex;align-items: center;justify-content: center; position : absolute; left : 0;top : 0; background: #004845; width : 100%; height : 100%;}
.intro-bg{display: flex; gap : 2.5rem; position :absolute; left : 0;top : 0; width : 100%; height : 100%; overflow: hidden;
    b{width : 1.1rem; background: rgba(255,255,255,0.03); flex-shrink: 0; clip-path: inset(100% 0 0);}
}
.intro-float-text{display: flex; width : 100%; overflow: hidden; opacity: 0.05; position : absolute;
    img{max-width: none; padding-right: 16%; width : 136.0417%; animation : intro-float-text 10s infinite linear}
}
@keyframes intro-float-text {
    100%{transform: translateX(-100%);}
}

.intro-tit-box-01{display: flex;align-items: center; color : #fff; gap : 1.6rem; position : relative; z-index: 1;
    .intro-desc-01{font-size: 2rem; letter-spacing: -0.04em;
        .char{opacity: 0; transform: translateX(0rem);}
    }
    .intro-line{width : 14.8rem; height : 1px; background: rgba(255,255,255,0.3); width : 0rem;}
    .intro-tit-01{font-family: NM; font-weight: 700; font-size: 3rem; 
        .char{opacity: 0; transform: translateX(0rem);}
    }
}

.intro-tit-box-02{position : absolute; display: flex;flex-direction: column;align-items: center; color : #fff; gap : 3.6rem;
    .intro-desc-02{font-size: 2rem; letter-spacing: -0.04em; font-weight: 300; transform: translateY(-16rem);
        .char{opacity: 0;}
    }
    .intro-tit-02{display: flex;flex-direction: column; align-items: center; font-size: 1.6rem; letter-spacing: -0.04em; font-weight: 300; transform: translateY(16rem); white-space: nowrap;
        b{font-size: 3rem; font-weight: 700; margin-top: 1rem;}
        .char{opacity: 0;}
    }
}

.visual-container{position : absolute; left : 0; top : 0; width: 100%; height : 100%; clip-path: inset(50% calc(50% - 0.5rem)); transform: translateY(-2rem);}
.visual-bg{position : absolute; left : 0; top : 0; width: 100%; height : 100%;overflow : hidden;
    img, video{width : 100%; height : 100%; object-fit: cover; object-position: center; transform: scale(1);}
}

.visual-inner{display: flex; position : relative; justify-content: center;  padding-top: 14.5rem;}
.visual-tit-box{display: flex; flex-direction : column; align-items: center; z-index: 1; color : #000; position : relative; letter-spacing: -0.04em;}
.visual-desc{font-size: 2.4rem; font-weight: 500; margin-bottom: 1.3rem;
    .char{opacity: 0;}
}
.visual-line{width : 12.5rem; height : 1px; background: rgba(255,255,255,0.3); width : 0rem;}
.visual-tit{font-family: NM; font-size : 5.2rem; margin-bottom: 3.5rem;
    .char{opacity: 0;}
}
.visual-logo{opacity : 0; font-size: 2rem; font-weight: 300; transform: translateY(5rem);
    .char{opacity: 0;}
}

.main-visual.t1{
    .intro-desc-01 .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.07s); transform: translateY(0);}
    .intro-line{width : 14.8rem; transition : 1.2s;}
    .intro-tit-01 .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.07s); transform: translateY(0);}
}
.main-visual.t2{
    .intro-float-text{transform: translateY(-20rem); opacity: 0; transition : 2s;}
    .intro-tit-box-01{transform: translateY(-10rem); opacity: 0; transition : 2s}
    .intro-bg > b{clip-path: inset(0); transition : 1.6s calc(var(--i) * 0.02s)}

    .intro-desc-02{transform: translateY(0); transition : 2s;
        .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.07s);}
    }
    .intro-tit-02{transform: translateY(0); transition : 2s;
        .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.07s);}
    }
}
.main-visual.t3{
    .intro-tit-box-02{gap : 53.9rem; transition : 2s;transform: translateY(2rem);}
    .visual-container{clip-path: inset(calc(50% - 24.15rem) calc(50% - 0.5rem)); transform: translateY(0rem); transition : 2s;}
}
.main-visual.t4{
    .intro-tit-box-02{gap : 100rem; transition : 2s;}
    .visual-container{clip-path: inset(0); transition : 2s;}
    .visual-bg > img,
	.visual-bg > video{transform: scale(1); transition : 5s;}

    .visual-desc .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.1s + 1s);}
    .visual-line{width : 12.5rem; transition : 2s 1.8s;}
    .visual-tit .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.1s + 2.4s);}

    .visual-logo{opacity : 1; transform: translateY(0); transition : 2s 3.2s;
        .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.1s + 3.2s);}
    }
    .open-rotate-btn{transform: translateX(0); opacity: 1; transition : 2s 3.2s}
}


/* LOCATION */
.location-slide{width : 100%; height : 100%;}
.location-container{display: flex; position : absolute; left :0;top : 0; width : 100%; height : 100%;
    & > div{display: flex;align-items: center;justify-content: center; width : 50%; flex-shrink: 0; transition : 1s; padding-top: 10rem ;
        &:nth-child(odd){background: #FAFAFA;
            .location-con-tit{transform: translateY(16rem);
                span{color : #8B7D6F}
            }
            .location-desc-tit{color : #8B7D6F}
            .location-img{transform: translateY(16rem);}
        }
    }
}
.location-inner{display: flex;flex-direction: column;gap : 5.8rem}
.location-con-box{display: flex; justify-content: space-between; align-items: end; opacity: 0;  transition : 0s 1.2s;}
.location-desc-box{padding-left: 4.7rem; position :relative;
    &::after{position : absolute; content : ''; width : 1px; height : 100%; background: #253748; opacity: 0.23; left : 0;top : 0; clip-path: inset(0 0 100%); transition : 0s 1.2s;}
}

.location-con-tit{font-family: MM; font-size: 4rem; font-weight: 400; color : #838383; transform: translateY(-16rem); transition : 0s 1.2s;
    span{color : #004845}
    .char{opacity: 0; transition : 0s 1.2s;}
}

.location-desc-box{display: flex;flex-direction: column;gap : 4.6rem; letter-spacing: -0.04em; transform: translateX(16rem); opacity: 0; transition : 0s 1.2s}
.location-desc-tit{font-size: 2.4rem; color : #004845;
    .char{opacity: 0; transition : 0s 1.2s}
}
.location-desc{font-size: 1.6rem; line-height: 1.5em;}

.location-img{position : relative; transform: translateY(-16rem); opacity: 0; transition : 0s 1.2s;}
.location-rotate-text{position : absolute; left : 0;top : 0; transform: translateX(-50%) translateY(-50%) scale(0); transition : 0s 1.2s;
    img{animation : rotate-text 8s infinite linear}
}

.t2{
    .location-container > div{transform: translateX(-100%);}
}
.t3{
    .location-container > div{transform: translateX(-200%);}
}
.main-location.active .on{
    .location-con-box{opacity: 1; transition : 1.4s}
    .location-con-tit{transform: translateY(0);  transition : 1.4s}
    .location-img{transform: translateY(0); opacity: 1; transition : 1.4s}
    .location-con-tit .char{opacity: 1; transition : 1s calc(var(--i) * 0.075s);}
    .location-desc-box{opacity: 1; transition : 1.4s .4s; transform: translateX(0);
        &::after{clip-path: inset(0); transition : 2s;}
        .location-desc-tit .char{opacity: 1; transition : 1s calc(var(--i) * 0.075s + .4s);}
    }
    .location-rotate-text{transform: translateX(-50%) translateY(-50%) scale(1); transition : 1.2s .4s;}
}

/* MAP */
.map-inner{display: flex; align-items: center; width : 100%; height : 100%; padding-right: 12.5rem;}
.map-img{position : absolute;left : 8rem; transform: translateX(-16rem); opacity: 0; transition : 0s 1.2s;}
.map-container{display: flex;flex-direction: column;align-items: center; margin-left: auto;text-align: center; padding-bottom: 9.2rem; margin-top: auto; transform: translateX(16rem); opacity: 0; transition : 0s 1.2s;}
.map-tit-box{letter-spacing: -0.04em; margin-bottom: 8.2rem;}
.map-desc{font-size: 2.5rem; font-weight: 300; margin-bottom: 1rem;}
.map-tit{font-size: 4.6rem;
    .char{opacity: 0; transition : 0s 1.2s;}
}
.map-btn-box{display: flex;gap : 4.3rem;
    a{display: flex;align-items: center;gap : 6.4rem; padding-bottom: 1.1rem; border-bottom : 1px solid rgba(0,0,0,0.4); font-size: 2.1rem; letter-spacing: -0.04em; position : relative;
        &::after{position :absolute; content : ''; width :100%; height : 1px; background: #294F51; left : 0; bottom : -1px; clip-path: inset(0 100% 0 0); transition : .5s;}
        &:hover{
            .plus{transform: rotate(180deg);}
            &::after{clip-path: inset(0);}
        }
        .plus{display: flex;align-items: center;justify-content: center; width : 2.6rem; height : 2.6rem; background: #294F51; border-radius: 50%; position : relative; transition : 0.5s;
            &::after{position :absolute; content : ''; width : 1px; height : 50%; background: #fff;}
            &::before{position :absolute; content : ''; width : 50%; height : 1px; background: #fff;}
        }
    }
}
.main-map.active{
    .map-img{transform: translateX(0); opacity: 1; transition : 1.2s .4s;}
    .map-container{transform: translateX(0); opacity: 1; transition : 1.2s .4s;}
    .map-tit .char{opacity: 1; transition : 1s calc(var(--i) * 0.075s + .4s);}
}

.map-info{display: flex;align-items: center;gap : 0.7rem; color : #000; font-size: 1.3rem; font-weight: 500; position : absolute; left : 40rem; bottom : 1.2rem; z-index: 1; transition :1.2s;
    &::before{display: flex;align-items: center;justify-content: center; position :relative; content :'!'; font-family: gotham; font-weight: 900; width : 2.4rem; height : 2.4rem; border-radius: 50%; border : 1px solid #000;}
}
.map-info-container{display : flex; align-items : center; justify-content : center; position : fixed; left : 0;top : 0; z-index : 100000;width : 100%;height : 100%; opacity : 0; pointer-events : none;transition : 0.5s;}
.map-info-container.on{opacity : 1; pointer-events : all;}
.map-info-bg{position : absolute; background: rgba(0,0,0,0.5); width : 100%;height : 100%; left : 0;top : 0; z-index : -1;}
.map-info-inner{display : flex; align-items : center; justify-content : center; gap : 24px; background: #fff; border-radius : 16px; padding : 120px 80px 50px; letter-spacing : -0.04em; font-weight : 500; font-size : 18px; position : relative; max-width : 60%;}
.map-info-inner::after{position : absolute; content : ''; width : 90%; height : 1px; background: rgba(0,0,0,0.2);top : 80px;}

.map-info-inner li{
    position : relative; padding-left: 16px;
    &+li{margin-top: 5px;}
    &::before{position : absolute; content : '※'; left : 0;top : 0;}
}
.map-info-inner > span{display : flex; align-items : center; justify-content : center; background: #004E50; color : #fff; font-family : PT; font-weight : 700; width : 36px;height : 36px; font-size : 20px; border-radius : 50%; flex-shrink : 0;}
.map-info-close{font-size : 30px; position : absolute; top : 16px; right : 24px;}

/* PREMIUM */
.main-premium{background: #EAE8DF;}
.premium-inner{display: flex; justify-content: space-between; max-width: 166rem; margin : 0 auto; align-items: start;padding-top: 6rem;}

.premium-img-box{display: flex;align-items: center; width : 104rem; height : 47.8rem; position : relative; margin-bottom: 2.9rem;
    &::before{position : absolute; content :''; width : 100%; height : 1px; background: rgba(0,0,0,0.32); clip-path: inset(0 100% 0 0); transition : 0s 1.2s;}
    .premium-img{position : absolute; border-radius: 0.9rem; box-shadow: 0 1rem 2rem rgba(0,0,0,0.16); transform: translateY(10rem); opacity: 0; transition : 0s 1.2s;
        img{width : 100%; height : 100%; object-fit: cover; object-position: center; border-radius: 0.9rem;}
        &.premium-img-01{width: 23.9rem; left : 7.7rem; top : 20.6rem;}
        &.premium-img-02{width : 15.7rem; left : 22.4rem; top : 8.7rem; transform: translateY(-10rem);}
        &.premium-img-03{width : 28.2rem; left : 40.5rem; top : 5.6rem}
        &.premium-img-04{width : 19.2rem; left : 60.1rem; top : 11.9rem; transform: translateY(-10rem);}
        &.premium-img-05{width : 14.5rem; left : 74.6rem; top : 8rem;}
        &.premium-img-06{width : 15.8rem; left : 83.3rem; top : 12.9rem; transform: translateY(-10rem);}
    }
    .premium-obj{position : absolute; transition : 0s 1.2s;
        &.premium-obj-01{width : 15.2rem; height : 15.2rem; border : 1px solid #253748; border-radius: 50%; left : 12.1rem; top : 26.4rem; transform: scale(0);}
        &.premium-obj-02{width : 4rem; height : 4rem; border : 0.5rem solid #8B7D6F; left : 26.3rem; bottom : 0; border-radius: 50%; transform: scale(0);}
        &.premium-obj-03{width : 15.2rem; height : 15.2rem; border : 1px solid #7BA220; border-radius: 50%; left : 68.1rem; top : 13rem; transform: scale(0);}
        &.premium-obj-04{width : 7rem; height : 24.3rem; border : 1px solid #fff; border-radius: 100px; left : 87.4rem; top : 16.4rem; transform: scaleY(0);}
        &.premium-obj-05{width : 4rem; height : 4rem; border-radius: 50%; background: #8B7D6F; right : 0;top : 0; transform: scale(0);}
    }
}

.premium-con{
    & + .premium-con{margin-top: 8.3rem;}
    .premium-con-tit-eng{font-family: MM; font-size: 1.9rem; color : #004845; font-weight: 400; margin-bottom: 2rem; transform: translateY(10rem); opacity: 0; transition : 0s 1.2s;}
    .premium-con-tit{font-size: 2.2rem; line-height: 1.5em; letter-spacing: -0.04em; margin-bottom: 1.3rem; transform: translateY(10rem); opacity: 0; transition : 0s 1.2s;}
    .premium-con-desc{font-size: 1.6rem; font-weight: 500; line-height: 1.5em; letter-spacing: -0.04em; transform: translateY(10rem); opacity: 0; transition : 0s 1.2s;}
}

.premium-center{display: flex;flex-direction: column;}
.premium-sub-tit{display: flex;align-items: center; font-size: 2rem; white-space: nowrap; font-weight: 400; gap : 2.8rem; letter-spacing: -0.04em; margin-bottom: 6.5rem; transform: translateX(-10rem); transition : 0s 1.2s;
    & > span{width : 100%; height : 1px; background: #ACACAC; clip-path: inset(0 100% 0 0); transition : 0s 1.2s;}
    .char{opacity: 0; transition : 0s 1.2s;}
}
.premium-tit{align-self: end; font-family: NM; font-size: 4rem; font-weight: 700; letter-spacing: -0.04em; transform: translateX(10rem); transition : 0s 1.2s;
    span{color : #8B7D6F;}
    .char{opacity: 0; transition : 0s 1.2s;}
}

.main-premium.active{
    .premium-img-box{
        &::before{clip-path: inset(0); transition : 2s .4s;}
        .premium-obj{transform: scale(1); transition : 1.2s 1.6s;}

        .premium-img{transform: translateY(0); opacity: 1;
            &.premium-img-01{transition : 1.2s .6s;}
            &.premium-img-02{transition : 1.2s .8s;}
            &.premium-img-03{transition : 1.2s 1s;}
            &.premium-img-04{transition : 1.2s 1.2s;}
            &.premium-img-05{transition : 1.2s 1.4s;}
            &.premium-img-06{transition : 1.2s 1.6s;}
        }
    }
    .premium-con{
        .premium-con-tit-eng{transform: translateY(0); opacity: 1; transition : 1.2s 1.6s;}
        .premium-con-tit{transform: translateY(0); opacity: 1; transition : 1.2s 1.75s;}
        .premium-con-desc{transform: translateY(0); opacity: 1; transition : 1.2s 1.9s;}
    }

    .premium-sub-tit{transform: translateX(0); transition : 1.2s .4s;
        & > span{clip-path: inset(0); transition : 2s 1.2s;}
        .char{opacity: 1; transition : 1s calc(var(--i) * 0.07s + .4s)}
    }
    .premium-tit{transform: translateX(0); transition : 1.2s 1.6s;
        .char{opacity: 1; transition : 1s calc(var(--i) * 0.1s + 1.6s)}
    } 
    
}

/* CONTACT */
.contact-bg{position :absolute; left : 0;top : 0; width : 100%; height : 100%; background: #F0EFEE;
    img{width : 100%; height : 100%; object-fit: cover; object-position: center; transform: scale(1.5); transition : 0s 1.4s;}
}

.contact-inner{display: flex; justify-content: center; position : relative; align-items: end; gap : 11.2rem; padding-top: 6rem;}
.contact-left{transform: translateX(-16rem); transition : 0s 1.4s; opacity: 0;}
.contact-right{transform: translateX(16rem); transition : 0s 1.4s; opacity: 0;}
.contact-tit{font-family: MM; font-weight: 700; color : #004845; font-size: 7.5rem; font-weight: 400; margin-bottom: 0.5rem;
    .char{opacity: 0; transform: translateY(-5rem); transition : 0s 1.4s;}
}
.contact-desc{font-size: 1.6rem; font-weight: 500; letter-spacing: -0.033rem; color : #313131; margin-bottom: 5rem; letter-spacing: -0.04em;}
.contact-unit{font-size: 1.6rem; font-family: PT; font-weight: 500; color : #000; margin-bottom: 17.3rem; letter-spacing: -0.04em; line-height : 1.5em}


.contact-address-list{width : 62.3rem; font-family: PT;}
.contact-address-list > li{display: flex;justify-content: space-between; align-items: end; padding-bottom: 2.6rem; position : relative;
    &::after{position :absolute; content : ''; left : 0; bottom : 0; width : 100%; height : 1px; background: #B2B2B2; clip-path: inset(0 100% 0 0); transition : 0s 1.4s;}
    & + li{margin-top: 3.7rem;}
}
.contact-address{display: flex;flex-direction: column; color : #1F1F1F; font-size: 1.6rem; letter-spacing: -0.04em; padding-bottom: 0.6rem; letter-spacing: -0.04em; font-weight: 500;
    b{font-size: 2.5rem; font-weight: 500; color : #004E50; margin-bottom: 1.3rem;}
}
.contact-btn-box{display: flex; gap : 2.1rem;
    a{display: flex; align-items: center; color : #1F1F1F; gap : 1.1rem; font-weight: 500;}
}

.main-contact.fp-active{
    .contact-inner > div{transform: translateX(0); opacity: 1; transition : 1.4s .4s;}
    .contact-tit .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.05s + .4s); transform: translateX(0);}
    .contact-address-list > li::after{clip-path: inset(0); transition : 2s .4s;}
}

@media(max-width : 1600px){
    html{font-size: 50%;}
}
@media(max-width : 1200px){
    html{font-size: 62.5%;}
    .open-rotate-btn{width : 80px; height : 80px; right : 24px; bottom : 24px; font-size: 14px;
        &::after{width : 100px; height : 100px;}
        p:nth-child(1){padding-top: 3px}
        b{font-size: 16px;}
        span{font-size: 18px;}
    }
    @keyframes rotate-text {
        100%{transform: rotate(360deg);}
    }
    .intro-bg{gap : 2.5rem;
        b{width : 1.1rem;}
    }

    .intro-tit-box-01{flex-direction: column;align-items: center; gap : 1.6rem; position : relative; z-index: 1;
        .intro-desc-01{font-size: 16px;}
        .intro-line{width : 1px; height : 0px;}
        .intro-tit-01{font-size: 24px; }
    }
    .intro-tit-box-02{gap : 3.6rem;
        .intro-desc-02{font-size: 2rem; letter-spacing: -0.04em; font-weight: 300; transform: translateY(-16rem);
            .char{opacity: 0;}
        }
        .intro-tit-02{display: flex;flex-direction: column; align-items: center; font-size: 1.6rem; letter-spacing: -0.04em; font-weight: 300; transform: translateY(16rem); white-space: nowrap;
            b{font-size: 3rem; font-weight: 700; margin-top: 1rem;}
            .char{opacity: 0;}
        }
    }

    .visual-container{position : absolute; left : 0; top : 0; width: 100%; height : 100%; clip-path: inset(50% calc(50% - 0.5rem)); transform: translateY(-2rem);}
    .visual-bg{position : absolute; left : 0; top : 0; width: 100%; height : 100%;overflow : hidden;
        img{width : 100%; height : 100%; object-fit: cover; object-position: center; transform: scale(1.5);}
    }

    .visual-inner{display: flex; position : relative; justify-content: center; padding-right: 0; padding-top: 12rem;}
    .visual-tit-box{display: flex; flex-direction: column; align-items: center; z-index: 1; position : relative; letter-spacing: -0.04em; gap : 10px}
    .visual-desc{font-size: 24px; font-weight: 500; margin-bottom: 10px;
        .char{opacity: 0;}
    }
    .visual-line{width : 1px; height : 0px;}
    .visual-tit{font-size : 36px; margin-bottom: 16px;}
    .visual-logo{font-size: 2rem; font-weight: 300; transform: translateY(5rem); position : relative; width : 240px;
        .char{opacity: 0;}
    }

    .main-visual.t1{
        .intro-desc-01 .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.07s); transform: translateY(0);}
        .intro-line{width : 1px; height : 30px; transition : 1.2s;}
        .intro-tit-01 .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.07s); transform: translateY(0);}
    }
    .main-visual.t2{
        .intro-float-text{transform: translateY(-20rem); opacity: 0; transition : 2s;}
        .intro-tit-box-01{transform: translateY(-10rem); opacity: 0; transition : 2s}
        .intro-bg > b{clip-path: inset(0); transition : 1.6s calc(var(--i) * 0.02s)}

        .intro-desc-02{transform: translateY(0); transition : 2s;
            .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.07s);}
        }
        .intro-tit-02{transform: translateY(0); transition : 2s;
            .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.07s);}
        }
    }
    .main-visual.t3{
        .intro-tit-box-02{gap : 24rem; transition : 2s;transform: translateY(2rem);}
        .visual-container{clip-path: inset(calc(50% - 10rem) calc(50% - 0.5rem)); transform: translateY(0rem); transition : 2s;}
    }
    .main-visual.t4{
        .intro-tit-box-02{gap : 100rem; transition : 2s;}
        .visual-container{clip-path: inset(0); transition : 2s;}
        .visual-bg > img{transform: scale(1); transition : 5s;}

        .visual-desc .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.1s + 1s);}
        .visual-line{width : 1px; height : 30px; transition : 2s 1.8s;}
        .visual-tit .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.1s + 2.4s);}

        .visual-logo{transform: translateY(0); transition : 2s 3.2s;
            .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.1s + 3.2s);}
        }
        .open-rotate-btn{transform: translateX(0); opacity: 1; transition : 2s 3.2s}
    }


    /* LOCATION */
    .main-location{margin-top: 24px;}
    .location-slide{width : 100%; height : 100%;}
    .location-container{display: block; position : relative;
        & > div{display: flex;align-items: center;justify-content: center; width : 100%; transition : 1s; padding : 18px 18px 48px;
            &:nth-child(odd){background: #FAFAFA;
                .location-con-tit{transform: translateY(16rem);
                    span{color : #8B7D6F}
                }
                .location-desc-tit{color : #8B7D6F}
                .location-img{transform: translateY(16rem);}
            }
        }
    }
    .location-inner{display: flex;flex-direction: column;gap : 24px;}
    .location-con-box{display: flex;flex-direction: column; justify-content:start; align-items: start; opacity: 0;  transition : 1.2s; order : 2;}
    .location-desc-box{padding-left: 0; position :relative;
        &::after{display: none;}
    }

    .location-con-tit{font-family: MM; font-size: 36px; font-weight: 400; color : #838383; transform: translateY(-16rem); transition : 1.2s; margin-bottom: 16px;
        span{color : #004845}
        .char{opacity: 0; transition : 1.2s;}
    }

    .location-desc-box{display: flex;flex-direction: column;gap : 16px; letter-spacing: -0.04em; transform: translateX(16rem); opacity: 0; transition : 1.2s}
    .location-desc-tit{font-size: 18px;
        .char{opacity: 0; transition : 1.2s}
    }
    .location-desc{font-size: 14px; line-height: 1.5em;}

    .location-img{position : relative; transform: translateY(-16rem); opacity: 0; transition : 1.2s; order : 1;}
    .location-rotate-text{position : absolute; left : 0;top : 0; transform: translateX(-50%) translateY(-50%) scale(0); transition : 1.2s; width : 80px;
        img{animation : rotate-text 8s infinite linear}
    }
    body .main-location .active{
        .location-con-box{opacity: 1; transition : 1.4s}
        .location-con-tit{transform: translateY(0);  transition : 1.4s}
        .location-img{transform: translateY(0); opacity: 1; transition : 1.4s}
        .location-con-tit .char{opacity: 1; transition : 1s calc(var(--i) * 0.075s);}
        .location-desc-box{opacity: 1; transition : 1.4s .4s; transform: translateX(0);
            &::after{clip-path: inset(0); transition : 2s;}
            .location-desc-tit .char{opacity: 1; transition : 1s calc(var(--i) * 0.075s + .4s);}
        }
        .location-rotate-text{transform: translateX(-50%) translateY(-50%) scale(1); transition : 1.2s .4s;}
    }

    /* MAP */
    .main-map{margin-top: 24px;}
    .map-inner{display: flex; flex-direction: column; align-items: center; width : 100%; height : 100%; padding-right: 0; padding :  36px 24px;}
    .map-img{position : relative;left : auto; transform: translateY(-16rem); opacity: 0; transition : 1.2s; width : 100%; margin : 0 auto 24px; z-index : 1;}
    .map-container{display: flex;flex-direction: column;align-items: center; margin-left: 0; margin-top: 0; text-align: center;padding-bottom: 0; transform: translateY(16rem); opacity: 0; transition : 1.2s; width : 100%;}
    .map-tit-box{margin-bottom: 36px;}
    .map-desc{font-size: 18px; margin-bottom: 10px;}
    .map-tit{font-size: 36px;
        .char{opacity: 0; transition : 1.2s;}
    }
    .map-btn-box{gap : 10px; width : 100%;
        a{width : 50%; justify-content: space-between; gap : 0; padding-bottom: 8px; font-size: 14px; 
            .plus{width : 18px; height : 18px;}
        }
    }
    .main-map.active{
        .map-img{transform: translateX(0); opacity: 1; transition : 1.2s .4s;}
        .map-container{transform: translateX(0); opacity: 1; transition : 1.2s .4s;}
        .map-tit .char{opacity: 1; transition : 1s calc(var(--i) * 0.075s + .4s);}
		.map-info{opacity :1; transition : 1s 1.4s;}
    }

	.map-info{font-size : 11px; left : 100%; transform : translateX(-100%); white-space : nowrap; gap : 3px; bottom : -150px; opacity : 0; transition : 1s;
		&::before{width : 16px; height : 16px;}
	}
    .map-info > span{width : 24px;height : 24px; font-size : 16px;}    
    .map-info-inner{gap : 16px;border-radius : 8px; padding : 80px 16px 24px; font-size : 14px; position : relative; max-width : 90%;}
    .map-info-inner::after{position : absolute; content : ''; width : 90%; height : 1px; background: rgba(0,0,0,0.2);top : 48px;}

    .map-info-inner li{
        position : relative; padding-left: 12px; font-size: 13px; line-height: 1.2em;
        &+li{margin-top: 3px;}
    }
    .map-info-inner > span{display: none;}
    .map-info-close{font-size : 30px; position : absolute; top : 10px; right : 16px;}

    /* PREMIUM */
    .main-premium{background: #EAE8DF;}
    .premium-inner{display: flex;flex-direction: column; justify-content:start; max-width: 100%;align-items: start;padding : 48px 16px;}

    .premium-img-box{display: flex;align-items: center; width : 1040px; height : 478px; position : relative; margin-bottom: 29px; zoom: calc((100vw - 32px) / 1040px);;
        &::before{position : absolute; content :''; width : 100%; height : 1px; background: rgba(0,0,0,0.32); clip-path: inset(0 100% 0 0); transition : 1.2s;}
        .premium-img{position : absolute; border-radius: 9px; box-shadow: 0 10px 20px rgba(0,0,0,0.16); transform: translateY(100px); opacity: 0; transition : 1.2s;
            img{width : 100%; height : 100%; object-fit: cover; object-position: center; border-radius: 0.9rem;}
            &.premium-img-01{width : 239px; left : 77px; top : 206px;}
            &.premium-img-02{width : 157px; left : 224px; top : 87px; transform: translateY(-100px);}
            &.premium-img-03{width : 282px; left : 405px; top : 56px}
            &.premium-img-04{width : 192px; left : 601px; top : 119px; transform: translateY(-100px);}
            &.premium-img-05{width : 145px; left : 746px; top : 80px;}
            &.premium-img-06{width : 158px; left : 833px; top : 129px; transform: translateY(-100px);}
        }
        .premium-obj{position : absolute; transition : 1.2s;
            &.premium-obj-01{width : 152px; height : 152px; border : 1px solid #253748; border-radius: 50%; left : 121px; top : 264px; transform: scale(0);}
            &.premium-obj-02{width : 40px; height : 40px; border : 5px solid #8B7D6F; left : 263px; bottom : 0; border-radius: 50%; transform: scale(0);}
            &.premium-obj-03{width : 152px; height : 152px; border : 1px solid #7BA220; border-radius: 50%; left : 681px; top : 130px; transform: scale(0);}
            &.premium-obj-04{width : 70px; height : 243px; border : 1px solid #fff; border-radius: 100px; left : 874px; top : 164px; transform: scaleY(0);}
            &.premium-obj-05{width : 40px; height : 40px; border-radius: 50%; background: #8B7D6F; right : 0;top : 0; transform: scale(0);}
        }
    }

    .premium-con{
        & + .premium-con{margin-top: -24px;}
        .premium-con-tit-eng{font-family: MM; font-size: 15px; color : #004845; font-weight: 400; margin-bottom:12px; transform: translateY(10rem); opacity: 0; transition : 1.2s;}
        .premium-con-tit{font-size: 18px; line-height: 1.5em; letter-spacing: -0.04em; margin-bottom: 12px; transform: translateY(10rem); opacity: 0; transition : 1.2s;}
        .premium-con-desc{font-size: 14px; font-weight: 500; line-height: 1.5em; letter-spacing: -0.04em; transform: translateY(10rem); opacity: 0; transition : 1.2s;}
    }

    .premium-center{display: flex;flex-direction: column; order : 1; margin-bottom: 36px;}
    .premium-left{order : 2; width : 100%;
        .premium-con:nth-child(2){text-align: right;}
    }
    .premium-right{order : 3; margin-top: -24px; width : 100%;
        .premium-con:nth-child(1){text-align: right; }
        .premium-con:nth-child(3){text-align: right; }
    }
    .premium-sub-tit{display: flex;align-items: center; font-size: 16px; white-space: nowrap; font-weight: 400; gap : 16px; letter-spacing: -0.04em; margin-bottom: 16px; transform: translateX(-10rem); transition : 1.2s;
        & > span{width : 100%; height : 1px; background: #ACACAC; clip-path: inset(0 100% 0 0); transition : 1.2s;}
        .char{opacity: 0; transition : 1.2s;}
    }
    .premium-tit{align-self: end; font-family: NM; font-size: 24px; font-weight: 700; letter-spacing: -0.04em; transform: translateX(10rem); transition : 1.2s;
        span{color : #8B7D6F;}
        .char{opacity: 0; transition : 1.2s;}
    }

    .main-premium.active{
        .premium-img-box{
            &::before{clip-path: inset(0); transition : 2s .4s;}
            .premium-obj{transform: scale(1); transition : 1.2s 1.6s;}

            .premium-img{transform: translateY(0); opacity: 1;
                &.premium-img-01{transition : 1.2s .6s;}
                &.premium-img-02{transition : 1.2s .8s;}
                &.premium-img-03{transition : 1.2s 1s;}
                &.premium-img-04{transition : 1.2s 1.2s;}
                &.premium-img-05{transition : 1.2s 1.4s;}
                &.premium-img-06{transition : 1.2s 1.6s;}
            }
        }
        .premium-con{
            .premium-con-tit-eng{transform: translateY(0); opacity: 1; transition : 1.2s 1.6s;}
            .premium-con-tit{transform: translateY(0); opacity: 1; transition : 1.2s 1.75s;}
            .premium-con-desc{transform: translateY(0); opacity: 1; transition : 1.2s 1.9s;}
        }

        .premium-sub-tit{transform: translateX(0); transition : 1.2s .4s;
            & > span{clip-path: inset(0); transition : 2s 1.2s;}
            .char{opacity: 1; transition : 1s calc(var(--i) * 0.07s + .4s)}
        }
        .premium-tit{transform: translateX(0); transition : 1.2s 1.6s;
            .char{opacity: 1; transition : 1s calc(var(--i) * 0.1s + 1.6s)}
        } 
        
    }

     /* CONTACT */
    .main-contact{margin-top: 24px;}
    .contact-bg{position :absolute; left : 0;top : 0; width : 100%; height : 100%; background: #F0EFEE;
        img{width : 100%; height : 100%; object-fit: cover; object-position: center; transform: scale(1.5); transition : 1.2s;}
    }

    .contact-inner{display: flex; flex-direction: column; justify-content: center; position : relative; align-items: end; gap : 4.8rem; padding : 48px 16px;}
    .contact-left{transform: translateX(-16rem); transition : 1.2s; opacity: 0;}
    .contact-right{transform: translateX(16rem); transition : 1.2s; opacity: 0;}
    .contact-tit{font-size: 36px; margin-bottom: 10px;
        .char{opacity: 0; transform: translateY(-5rem); transition : 1.2s;}
    }
    .contact-desc{font-size: 16px; font-weight: 700; letter-spacing: -0.033rem; margin-bottom: 24px}
    .contact-unit{font-size: 14px; margin-bottom: 24px;}


    .contact-address-list{width : 100%; font-family: PT; margin-top: 3.6rem;}
    .contact-address-list > li{display: flex;flex-direction: column; justify-content: center; align-items: start; padding-bottom: 2.6rem; position : relative; gap : 1.6rem;
        &::after{position :absolute; content : ''; left : 0; bottom : 0; width : 100%; height : 1px; background: rgba(255,255,255,0.22); clip-path: inset(0 100% 0 0); transition : 1.2s;}
        & + li{margin-top: 3.7rem;}
    }
    .contact-address{display: flex;flex-direction: column; font-size: 1.6rem; letter-spacing: -0.04em; padding-bottom: 0.6rem;
        b{font-size: 24px; margin-bottom: 8px;}
    }
    .contact-btn-box{display: flex; gap : 12px;;
        a{gap : 8px; font-size: 14px;
            img{width : 30px;}
        }
    }

    .main-contact.active{
        .contact-inner > div{transform: translateX(0); opacity: 1; transition : 1.4s .4s;}
        .contact-tit .char{opacity: 1; transition : 1.2s calc(var(--i) * 0.05s + .4s); transform: translateX(0);}
        .contact-address-list > li::after{clip-path: inset(0); transition : 2s .4s;}
    }
}