/* 공통 */
._s{
    word-break: keep-all;
}
.txtBx{}
dl{}
dl dt{
    font-size: 36px;
    font-weight: 700;
    font-family: 'Gestura Display';
    letter-spacing: -0.025em;
    line-height: calc(60 / 36 * 100%);
}
dl dd{
    font-size: 18px;
    line-height: calc(30 / 18 * 100%);
    letter-spacing: -0.025em;
    font-weight: 400;
}

@media screen and (max-width: 1680px) {
    dl dt{font-size: clamp(32px, 32/1440*100vw, 34px);}
}
@media screen and (max-width: 1440px) {
    dl dt{font-size: clamp(28px, 28/1280*100vw, 32px);}
    dl dd{font-size: clamp(16px, 16/1280*100vw, 18px);}
}
@media screen and (max-width: 1280px) {}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 820px) {}
@media screen and (max-width: 500px) {
    dl dt{font-size: clamp(24px, 24/360*100vw, 28px);}
}
@media screen and (max-width: 360px) {
    dl dd br{display: none;}
    dl dd{font-size: 14px;}
}



/* s_01 */
.s_01{
    position: relative;
    height: 100vh;
    box-sizing: border-box;
    overflow: hidden;
}
.s_01 .wrap{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    overflow: hidden;
}

.s_01 .imgBx {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    /* pointer-events: none; */
}

.s_01 .imgBx .img_inner {
    display: flex;
    justify-content: space-between;
    height: 100%;
}

.s_01 .imgBx .img_inner .col {
    display: flex;
    width: 100%;
    max-width: 560px;
}
.s_01 .imgBx .img_inner ._left {
    align-items: flex-start;
}
.s_01 .imgBx .img_inner ._right {
    align-items: flex-end;
}

.s_01 .imgBx .img_inner .img {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.s_01 .imgBx .img_inner .img .mob {display: none;}
.s_01 .imgBx .img_inner .img::before {
    content: '';
    display: block;
    padding-bottom: calc(680 / 560 * 100%);
}

.s_01 .imgBx .img_inner .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    will-change: transform;
}

._l, ._r {will-change: transform, clip-path;}

@media screen and (max-width: 1680px) {
    .s_01 .imgBx .img_inner .col{max-width: clamp(400px, 400/1440*100vw, 560px);}
}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1280px) {
    .s_01 .imgBx .img_inner .col{max-width: clamp(300px, 300/1024*100vw, 400px);}
}
@media screen and (max-width: 1024px) {
    .s_01 .imgBx .img_inner .col{max-width: clamp(220px, 220/820*100vw, 300px);}
}
@media screen and (max-width: 820px) {
    .s_01 .imgBx .img_inner .img .pc {display: none;}
    .s_01 .imgBx .img_inner{flex-direction: column;}
    .s_01 .imgBx .img_inner .img .mob {display: block;}
    .s_01 .imgBx .img_inner .img::before {padding-bottom: calc(330 / 600 * 100%);}
    .s_01 .imgBx .img_inner .col {
        max-width: clamp(400px, 400/500*100vw, 550px);
    }
}
@media screen and (max-width: 500px) {}
@media screen and (max-width: 360px) {}

/* s_02 */
.s_02 {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}
.s_02 .imgBx {
    position: relative;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}
.s_02 .imgBx::before {
    content: '';
    display: block;
    padding-bottom: calc(980 / 1920 * 100%);
}
.s_02 .imgBx img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    object-fit: cover;
    will-change: transform;
}
.s_02 .wrap {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translateX(-50%);
    /* width: 100%; */
    padding-bottom: 120px;
    box-sizing: border-box;
}
.s_02 .txtBx {
    color: #fff;
    box-sizing: border-box;
}
.s_02 .txtBx dl {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.s_02 .txtBx dl dt {font-weight: 600;}
.s_02 .txtBx dl dd { text-align: right; font-weight: 300; }

@media screen and (max-width: 1680px) {
}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1280px) {
}
@media screen and (max-width: 1024px) {
    .s_02 .wrap{padding-bottom: 80px;}
    .s_02 .imgBx::before {height: 80vh;padding-bottom: 0;}
    .s_02 .imgBx img {left: 50%;transform: translateX(-50%);height: 100vh;}


    .s_02 .txtBx dl{flex-direction: column;align-items: flex-start;gap: 1em;}
    .s_02 .txtBx dl dd {text-align: left;}
}
@media screen and (max-width: 820px) {
    .s_02 .txtBx dl dd br{display: none;}
}
@media screen and (max-width: 500px) {}
@media screen and (max-width: 360px) {}


/* s_03 */
.s_03{
    height: 100vh;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.s_03:before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 1px;
    background-color: #fcf0d6;
}

.s_03 .txtBx dl{color: #000;}
.s_03 .txtBx dl dt{
    /* font-size: 36px; */
    font-weight: 700;
    /* font-family: 'Gestura Display';
    letter-spacing: -0.025em;
    line-height: calc(60 / 36 * 100%); */
}
.s_03 .txtBx dl .videoArea{
    margin-top: 40px;
    position: relative;
    max-width: 443px;
}
.s_03 .txtBx dl .videoArea::before{
    content: '';
    display: block;
    padding-bottom: calc(264 / 443 * 100%);
}
.s_03 .txtBx dl .videoArea video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.s_03 .txtBx dl dd{
    /* font-size: 18px;
    line-height: calc(30 / 18 * 100%);
    letter-spacing: -0.025em;
    font-weight: 400; */
    margin-top: calc(35 / 18 * 1em);
}


.s_03 .imgBx {
    position: absolute;top: 0;right: 0;
    will-change: transform;
    clip-path: inset(0% 0% 100% 0%);
}
.s_03 .imgBx .img{position: relative;max-width: 960px;width: 50vw;height: 100vh;}
.s_03 .imgBx .img::before{
    content: '';
    display: block;
    padding-bottom: calc(980 / 960 * 100%);
}
.s_03 .imgBx .img > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 1680px) {}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1280px) {}
@media screen and (max-width: 1024px) {
    .s_03{flex-direction: column-reverse;height: auto;padding-bottom: 80px;box-sizing: border-box;}
    .s_03 .imgBx {
        position: relative;
        width: 100%;
        clip-path: none;
    }
    .s_03 .imgBx .img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    .s_03 .txtBx {margin-top: 60px;}
    .s_03 .txtBx dl .videoArea{max-width: 100%;}
}
@media screen and (max-width: 820px) {}
@media screen and (max-width: 500px) {
    .s_03 .txtBx dl dd br{display: none;}
}
@media screen and (max-width: 360px) {}

/* s_04 */
.s_04 {
    position: relative;
    overflow: hidden;
}
.s_04 .imgBx {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #000;
    /* height: 100vh; */
}
.s_04 .imgBx::before {
    content: '';
    display: block;
    /* padding-bottom: calc(1580 / 1920 * 100%); */
    padding-bottom :0;
    height: 190vh;
}
.s_04 .imgBx > img {
    position: absolute;
    top: 0;
    left: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 200vh;
    object-fit: cover;
    will-change: transform;
}

.s_04 .cont {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.s_04 .cont .txt{color: #fff;}
.s_04 .cont .txt dl{}
.s_04 .cont .txt dl dt{
    /* font-size: 36px; */
    font-family: 'Gestura Display';
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: calc(44 / 36);
    margin-bottom: calc(40 / 36 * 1em);
}
.s_04 .cont .txt dl dd{
    /* font-size: 18px; */
    line-height: calc(30 / 18);
    letter-spacing: -0.025em;
    font-weight: 300;
}

.s_04 .cont .left{
    display: flex;justify-content: space-around;
    align-items: flex-start;
}
.s_04 .cont .left .txt{
    padding-top: calc(100 / 18 * 1em);
}
.s_04 .cont .left .img{position: relative;width: 100%;max-width: 660px;}
.s_04 .cont .left .img::before{
    content: '';
    display: block;
    padding-bottom: calc(803 / 660 * 100%);
}
.s_04 .cont .left .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.s_04 .cont .right{
    display: flex;align-items: flex-end;
    justify-content: space-between;
    position: relative;
    padding-top: 120px;
    box-sizing: border-box;
}
.s_04 .cont .right .img{position: relative;width: 100%;max-width: 920px;}
.s_04 .cont .right .img::before{
    content: '';
    display: block;
    padding-bottom: calc(590 / 920 * 100%);
}
.s_04 .cont .right .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 1680px) {
    .s_04 .cont .right{justify-content: space-around;}
    .s_04 .cont .left .img{max-width: clamp(500px, 500/1440*100vw, 660px);}
    .s_04 .cont .right .img{max-width: clamp(600px, 600/1440*100vw, 920px);}
}
@media screen and (max-width: 1440px) {
}
@media screen and (max-width: 1280px) {
    .s_04 .cont .left .img{max-width: clamp(400px, 400/1024*100vw, 500px);}
    .s_04 .cont .right .img{max-width: clamp(500px, 500/1024*100vw, 600px);}

    .s_04 .imgBx::before {
        height: 160vh;
    }
    .s_04 .imgBx > img {
        height: 180vh;
    }
}
@media screen and (max-width: 1024px) {
    /* .s_04 .cont .left{flex-direction: column-reverse;gap: 40px;} */
    .s_04 .cont .left .txt{padding-top: calc(40 / 18 * 1em);}
    .s_04 .cont .left .img{max-width: clamp(320px, 320/820*100vw, 400px);}
    .s_04 .cont .right .img{max-width: clamp(380px, 380/820*100vw, 500px);}
}
@media screen and (max-width: 820px) {
    .s_04 .imgBx::before {display: none;}
    .s_04 .imgBx > img {
        position: absolute;
        width: 100%;
        height: 100%;
        /* left: 50; */
    }
    .s_04 .cont {
        position: relative;
        padding: 100px 0;
        flex-direction: column;
    }
    .s_04 .cont .left {
        flex-direction: column;
        gap: 40px;
        width: 100%;
    }
    .s_04 .cont .left .img { max-width: 100%; }
    .s_04 .cont .left .txt { padding-top: 0; }
    .s_04 .cont .right {
        flex-direction: column-reverse;
        gap: 40px;
        padding-top: 0;
        width: 100%;
        align-items: flex-start;
        margin-top: 60px;
    }
    .s_04 .cont .right .img { max-width: 100%; }
}
@media screen and (max-width: 500px) {}
@media screen and (max-width: 360px) {}