/* intro - main */
body.no-scroll {
    overflow: hidden;
}

.intro_sec { 
    position: fixed;
    top: 0;
    z-index: 10000;
    width: 100%;
    height: 100vh;
    background-color: #393028;
    animation: introFadeOut 1.5s ease forwards;
    animation-delay: 3s;
    touch-action: none;
    pointer-events: none;
}
.intro_sec .logo {
    margin: 28px auto;
}
.kkk_wrap {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 63px;
}
.kkk_wrap .kkk_box {
    width: 184px;
    /* height: 233px; */
    /* background-color: aquamarine; */
    opacity: 0;
    font-size: 200px;
    color: #fff;
}
.kkk_box img { width: 100%; object-fit: cover;}
/* 1, 2번째 박스: 페이드인 */
.kkk_wrap .kkk_box:nth-child(1) {
    animation: fadeIn 1.2s ease forwards;
    animation-delay: 0.3s;
}
.kkk_wrap .kkk_box:nth-child(2) {
    animation: fadeIn 1.2s ease forwards;
    animation-delay: 0.6s;
}

/* 3번째 박스: 회전 + 페이드인 */
.kkk_wrap .kkk_box:nth-child(3) {
    animation: rotateFadeIn 1.7s ease forwards;
    animation-delay: 1.1s;
    width: 217px;
}
/* intro 섹션 사라지는 애니메이션 */
@keyframes introFadeOut {
    from {
        opacity: 1;
        visibility: visible;
    }
    to {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
}
/* 페이드인 키프레임 */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 회전하면서 페이드인 */
@keyframes rotateFadeIn {
    /* from {
        opacity: 0;
        transform: rotate(180deg) scale(0.5);
    }
    to {
        opacity: 1;
        transform: rotate(0deg) scale(1) translateY(-14px);
    } */
    0% {
        opacity: 0;
        transform: rotate(-180deg) scale(0.5);
    }
    65% {
        opacity: 1;
        transform: rotate(17deg) scale(1) translateY(-14px);
    }
    75% {
        opacity: 1;
        transform: rotate(17deg) scale(1) translateY(-14px);
    }
    100% {
        opacity: 1;
        transform: rotate(0deg) scale(1) translateY(-14px);
    }
}
@media (max-width:768px){
    .intro_sec {
        animation-delay: 2.3s;
    }
    .kkk_wrap .kkk_box:nth-child(1), .kkk_wrap .kkk_box:nth-child(2) {
        display: none;
    }
    .kkk_wrap .kkk_box:nth-child(3) {
        animation-delay: 0.2s;
    }

}
/* main */

.section01 { position: relative; width: 100%; height: 100%; max-height: 979px; display: flex; flex-wrap: nowrap; }
.scroll_box { position: relative; width: 0; background: url('/images/common/bg01.jpg');}
.scroll_box > span::before { content: ''; display: block; width: 2px; height: 200px; background: #bababa; margin: 0 auto; position: absolute; bottom: 0; left: 0; right: 0; }
.scroll_box > span::after { content: ''; display: block; width: 10px; height: 10px; background: #50504f; border-radius: 100%; margin: 0 auto; position: absolute; bottom: 200px; left: 0; right: 0; animation: scroll_main 3s ease-in-out infinite  }
@keyframes scroll_main {
    0% { bottom: 200px; opacity: 0; }
    30% { opacity: 1; }
    70% { opacity: 1; }
    100% { bottom: 0px; opacity: 0; }
}
.video{
    width:100%;
    margin: 0 auto;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}
video{
    margin: none;
}
.main_slide { position: relative; width: 100%; /*max-width: 1650px;*/ overflow: hidden; }
.main_slide .swiper-wrapper .swiper-slide img { 
    width: 100%; height: 100%; object-fit: cover; 
    /* transition: transform 1.5s ease-in-out;
    transform: scale(1.2); */
}
.main_slide .swiper-wrapper .swiper-slide-active img {
    /* transform: scale(1); */
}
.main_slide .swiper-slide > .txt { position: absolute; display: block; z-index: 100; width: 440px; height: 130px; 
    background: url('/images/common/bg01.jpg'); 
    
    right: 0; bottom: 0; text-align: center; 
}
.main_slide .swiper-slide > .txt span { display: block; margin-top: 25px; font-size: 0.9em; color: #243933; text-transform: uppercase; font-family: "El Messiri", sans-serif; }
.main_slide .swiper-slide > .txt p { font-size: 1.1em; line-height: 2em; color: #313131; text-transform: uppercase; font-family: "El Messiri", sans-serif;}
pre{font-family: 'Arita-dotum-Medium'; font-weight: 500;}
.main_button { position: absolute; display: block; z-index: 100; width: 440px; height: 130px; right: 0; bottom: 0; text-align: center; }
.main_button > .scroll { position: absolute; width: 100px; bottom: 25px; right: 210px; z-index:100000; }
.main_button > .scroll .main-scrollbar { height: 3px; opacity: 1 !important; }

.main_button > .current { color: #414241; font-size: 0.8em; font-style: italic; }
.main_button > .current .main-pagination{ bottom: 20px !important; left: unset !important; right: 130px !important; width: 80px !important; }

.main_button > .move { position: absolute; width: 80%; left:50%; top: 50%; transform: translate(-50%,-50%); }
.main_button > .move .visual_prev { float: left; cursor: pointer; }
.main_button > .move .visual_next { float: right; cursor: pointer; }
.main_button > .move i > img {width: 13px;}
/* @media (max-width: 900px) {
.main_slide .swiper-slide > .txt { position: absolute; display: block; z-index: 100; width: 200px; height: 130px; background: white; right: 0; bottom: 0; text-align: center; }
.main_button { position: absolute; display: block; z-index: 100; width: 200px; height: 130px; right: 0; bottom: 0; text-align: center; }
} */
 @media(max-width:800px){
    .main_button {width: 100%;}
    .main_button > .scroll {width: 50%; right: 50%; transform: translateX(50%);}
    .main_slide .swiper-slide > .txt { width: 100%; height: 70px; background: rgba(255, 255, 255, 0.5);}
 }
@media (max-width: 800px) {
    .section01 { position: relative; width: 100%; height: 100vw; max-height: 550px; display: flex; flex-wrap: nowrap; }
    .main_slide .swiper-slide > .txt span { display: block; margin-top: 15px; font-size: 0.6em; color: #243933; text-transform: uppercase;  }
    .main_slide .swiper-slide > .txt p { font-size: 0.88em; line-height: 2em; color: #313131; text-transform: uppercase;  }
    .main_slide .swiper-wrapper .swiper-slide img { object-position: 50% 75%; }

    .main_button { width: 100%; height: 70px; }
    .main_button > .move { 
        width: 87%;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%); 
    }
    /* .main_button > .move i > img { width: 13px; } */
    .main_button > .scroll, .main_button > .current { display: none; }

    .scroll_box > span::before { content: ''; display: block; width: 2px; height: 100px; background: #bababa; margin: 0 auto; position: absolute; bottom: 0; left: 0; right: 0; }
    .scroll_box > span::after { content: ''; display: block; width: 10px; height: 10px; background: #50504f; border-radius: 100%; margin: 0 auto; position: absolute; bottom: 100px; left: 0; right: 0; animation: scroll 3s ease-in-out infinite  }
    @keyframes scroll {
        0% { bottom: 100px; opacity: 0; }
        30% { opacity: 1; }
        70% { opacity: 1; }
        100% { bottom: 0px; opacity: 0; }
    }
}
/* ㅋ 모양 메인 2영역 sec02 */
section.main_sec02 {
    position: relative;
    height: 109vh;
    background: #F6F4F1 url('/images/main/kkk_bg.png') no-repeat center;
    /* background: url('/images/main/kkk_bg.png') no-repeat center; */
    /* background: #F6F4F1; */
}
.main_sec02 .text {
    position: absolute;
    bottom: 130px;
    left: 100px;
    text-align: right;
    transition: all 1s ease;
    transition-delay: 1.0s;
    opacity: 0;
}
.main_sec02.active .text{
    opacity: 1;
}
.main_sec02 .text h2 {
    margin-bottom: 20px;
    font-size: 45px;
    /* font-family: serif; */
    font-weight: 400;
    -webkit-text-fill-color: transparent; /* 내부 투명 (webkit 계열) */
     color: transparent;              /* 텍스트 자체는 투명 */
    -webkit-text-stroke: 1px #AF4600;/* 글자 테두리 색 */

     /* 내부 채움용 그라데이션 배경 (초기엔 안보이게) */
    background: linear-gradient(90deg, #AF4600 0%, #AF4600 100%);
    background-size: 0% 100%; /* 처음엔 내부 완전 투명 */
    background-repeat: no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-size 2s ease;
    transition-delay: 1.0s;
}

/* 왼쪽부터 오른쪽으로 점진적으로 색이 채워짐 */
.main_sec02.active h2 {
  background-size: 100% 100%;
}

.main_sec02 .text p {
    font-size: 17px;
    letter-spacing: 0.85px;
    line-height: 2;
    color: #333;
}

.main_sec02 > img {
    position: absolute;
    transition: all 1s ease;
    filter: brightness(0.5);
    transition-delay: 1s;
}
.main_sec02 > img.img01 {
    max-width: 29%;
    top: 7vw;
    left: 27%;
}
.main_sec02 > img.img02 {
    max-width: 29%;
    top: 24vw;
    left: 27%;
}
.main_sec02 > img.img03 {
    max-width: 17%;
    top: 7vw;
    left: 56%;
}
.main_sec02 > img.img04 {
    max-width: 17%;
    top: 28vw;
    left: 56%;
}
.main_sec02.active > img { filter: brightness(1);}
.main_sec02.active img.img01{
    top: 8vw;
    left: 14%;
}
.main_sec02.active img.img02 {
    top: 34vw;
    left: 63%;
}
.main_sec02.active img.img03 {
    top: 17vw;
    left: 40%;
}
.main_sec02.active img.img04 {
    top: 6vw;
    left: 72%;
}
@media(max-width:1500px){
    .main_sec02 > img.img01, .main_sec02 > img.img03 {
        top: 9vw;
    }
    .main_sec02 > img.img02 {
        top: 26vw;
    }
    .main_sec02 > img.img04 {
        top: 30vw;
    }
}
@media(max-width:1200px){
    section.main_sec02 { height: 93vh;}
    .main_sec02 > img.img01, .main_sec02 > img.img03 {
        top: 12vw;
    }
    .main_sec02 > img.img02 {
        top: 29vw;
    }
    .main_sec02 > img.img04 {
        top: 33vw;
    }
}
@media(max-width:1024px){
    section.main_sec02 { height: 80vh; background-size: cover;}
    .main_sec02 .text {
        bottom: 60px;
        left: 70px;
    }
}
@media(max-width:768px){
    .main_sec02 .text {
        left: auto;
        right: 20px;

        -webkit-user-select: none; /* Chrome, Safari, iOS */
        -moz-user-select: none;    /* Firefox */
        -ms-user-select: none;     /* IE10+ */
        user-select: none;         /* Standard */
        -webkit-touch-callout: none; /* iOS Safari touch callout */
        -webkit-tap-highlight-color: transparent; /* remove tap highlight on mobile */
        touch-action: manipulation; /* improve touch behavior */
    }
    .main_sec02 .text h2 {
        font-size: 30px;
    }
    .main_sec02 .text p {
        font-size: 13px;
        letter-spacing: 0.55px;
        line-height: 1.8;
    }
    .main_sec02 > img.img01, .main_sec02 > img.img02 { 
        max-width: 45%;
        left: 15%;
    }
    .main_sec02 > img.img03, .main_sec02 > img.img04 { 
        max-width: 25%;
        left: 60%;
    }
    .main_sec02 > img.img02 {
        top: 40vw;
    }
    .main_sec02 > img.img04 {
        top: 44vw;
    }
    .main_sec02.active img.img01 {
        top: 8vw;
        left: 14%;
    }
    .main_sec02.active img.img02 {
        top: 34vw;
        left: 46%;
        z-index: 1;
    }
    .main_sec02.active img.img03 {
        top: 5vw;
        left: 68%;
    }
    .main_sec02.active img.img04 {
        top: 36vw;
        left: 12%;
    }

}
@media(max-width:500px){
    section.main_sec02 { height: 400px;}
    .main_sec02 .text { bottom: 0px; }
}
@media(max-width:380px){
    .main_sec02 .text h2 {
        font-size: 26px;
    }
    .main_sec02 .text { bottom: 30px; }
}

.section .main_logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 170px;
    background-color: #202C4D;
}
.section .main_logo img {
    width: 414px;
}

@media(max-width:500px) {
    .section .main_logo {
        height: 76px;
    }
    .section .main_logo img {
        width: 186px;
    }
}


.section02 {position: relative; width: 100%; height: 100%; max-height: 979px; 
    
    /* background: url(/images/common/bg_shuttle_pc.png) no-repeat 50% 50%;
    background-size: cover; */
}
.section02::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(/images/common/bg_shuttle_pc.png) no-repeat 50% 50%;
    background-size: cover;
    filter: hue-rotate(0deg);
    animation: bgFilterAnimation 8s infinite normal;
}
@keyframes bgFilterAnimation {
    0% {
        filter: hue-rotate(0deg);
    }
    50% {
        filter: hue-rotate(360deg);
    }
    100% {
        filter: hue-rotate(0deg);
    }
}
.section02 .roomlist.swiper-wrapper, .section02 .roomlist_m > .swiper-wrapper { 
    z-index: -1 !important;
    /* opacity: 0;
    transition: opacity 0.5s ease-in-out;  */
}
.section02 .roomlist.swiper-wrapper img, .section02 .roomlist_m > .swiper-wrapper img{ 
    /* opacity: 0;
    transition: opacity 0.5s ease-in-out;  */
}

.section02 > .title { width: 100%; text-align: center; color: #000000; padding: 5% 0 2.5% 0; }
.section02 > .title h1 {
    position: relative; 
    text-transform: uppercase; 
    font-size: 2.7em; 
    letter-spacing: 1.5px; 
    color: #1A2A58;
}
.section02 > .title h1:after { 
    content: ''; display: block; position: absolute;
    top: 90px; left: 50%; transform: translateX(-50%);
    width: 46px; height: 2px; 
    background-color: #1A2A58;
}
.section02 > .title p {margin-top: 70px; font-weight: 500; font-size: 0.9em; opacity: 0;}

.btn_slide {
    position: absolute;
    z-index: 1;
    top: 34%;
    left: 39%;
    width: 34%;
    height: 45%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.btn_slide .more_box {
    display: inline-block;
    width: 100%;
    height: 100%;
}
.room_slide {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    padding-top: 10px;
    padding-right: 37px;
}
.room_slide .roomlist_move {
    position: absolute;
    top: 25%;
    right: 29%;
    width: 44vw;
    height: 1px;
    z-index: 10;
}
.room_slide .roomlist_move li {
    display: flex;
    justify-content: space-between;
}
.room_slide .roomlist_move .visual_prev { cursor: pointer; }
.room_slide .roomlist_move .visual_next { cursor: pointer; }
.room_slide .roomlist_move img {width: 140%;} 

@media(max-width:1700px){
    .room_slide .roomlist_move {
        top: 29%;
        right: 32%;
    }
}
@media(max-width:1500px){
    .room_slide .roomlist_move {
        top: 29%;
        right: 32%;
        width: 688px;
    }
}
@media(max-width:1200px){
    .room_slide .roomlist_move {
        top: 36%;
        right: 32%;
        width: 688px;
    }
}

.roomlist { width: 100%; max-width: 100%; margin: 0 auto; 
    /* background: url('/images/common/bg_shuttle_pc.png') no-repeat top center ; 
    background-size: 1000px 373px; */
    
}
.roomlist .bg_box {
    
}
.roomlist li { margin: 0 auto !important; }
.roomlist li a { display: flex; margin: 0 auto !important; justify-content: center; cursor: default;}
.roomlist li a > .name { writing-mode: vertical-rl; color: #393d3c; font-family: 'Arita-dotum-Medium'; font-weight: 500; }
.roomlist li a > .name span{writing-mode:horizontal-tb }
.roomlist li a > .box { 
    position: relative; width: 1000px; color: #fff; cursor: pointer; 
    width: 100%;
    height: 100%;
    text-align: right;
}
.roomlist li a > .box img {max-height: 482px; position: relative;}
.roomlist li a > .box > .hover { position: absolute;  width: 100%; top: 65.5%; left: 0;  box-sizing: border-box; padding: 4% 8%; opacity: 1; transition: all 0.3s; }
.roomlist li a > .box > .hover h1 {
    font-size: 1.8em; 
    padding-right: 42%;
    text-shadow: 2px 2px 1px #333;
}
.section02 .more_view {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 38px;
    height: 38px;
    margin: 14px 0 20px;
    border: 2px solid #fff;
    border-radius: 50%;
    text-align: center;
    background: #fff;
}
.section02 .more_view img {
    display: inline-block;
    transition: 0.5s;
    width: 28px;
    filter: invert(1);
}

.roomlist_m { position: relative; touch-action: auto !important;}
.roomlist_m > .swiper-wrapper { height: unset !important; }
.roomlist_m ul li > .img {width: 100%; margin: 0 auto; box-sizing: border-box;  }
.roomlist_m ul li > .img .room_img { width: 100%; }
.roomlist_m ul li > .img .txt { padding-bottom: 8%; background-color: #799afa; }
.roomlist_m ul li > .img .txt h1 {margin-top: 7%; font-size: 1.2em; font-weight: 500; }
.roomlist_m ul li > .img .txt span:nth-of-type(1) { float: left; font-size: 0.8em; font-family: 'Arita-dotum-Medium'; }
.roomlist_m ul li > .img .txt span:nth-of-type(2) { float: right; vertical-align: middle; }
.roomlist_m ul li > .img .txt span:nth-of-type(2) img { width: 50px; max-width: 100%; }
.roomlist_btn { position: absolute; left: 50%; top: 45%; transform: translate(-50%, -50%); z-index: 10; width: 90%; display: flex; justify-content: space-between; }
.roomlist_btn i { cursor: pointer; }

@media (max-width: 1200px) {
    .section02 > .title { width: 100%; text-align: center; padding: 0 0 2.5% 0; }
    .btn_slide {
        top: 33%;
        left: 39%;
        width: 39%;
        height: 45%;
    }
}
@media (max-width: 900px) {
    .section02 { 
        width: 100%; height: unset; max-height: unset; padding-top: 8%; 
        /* background: url('/images/common/bg_shuttle_mo.png') no-repeat; 
        background-size: 128% auto;
        background-position: 56% 71%; */
    }
    .section02::before {
        background: url('/images/common/bg_shuttle_mo.png') no-repeat; 
        background-size: 128% auto;
        background-position: 56% 71%;
    }
    .section02 > .title h1 {margin-bottom: 15px; text-transform: uppercase; font-size: 1.2em; letter-spacing: 1.5px; }
    .section02 > .title h1:after{
        top: 45px; left: 50%; transform: translateX(-50%);
        width: 46px; height: 2px; 
    }
    .section02 > .title p {position: relative; font-size: 0.8em; margin-top: 30px; opacity: 1;}
    .roomlist_m ul li > .img .txt span:nth-of-type(2) img { width: 45px; }
    .roomlist_btn { left: 50%; top: -6%; transform: translate(-50%, -50%); z-index: 10; width: 50%; display: flex; justify-content: space-between; }

    .btn_slide {
        top: 46%;
        left: 36%;
        width: 62%;
        height: 34%;
    }
    .section02 .more_view {
        width: 25px;
        height: 25px;
        margin: 10px;
    }
    .section02 .more_view img {
        width: 19px;
    }
    .roomlist_m ul li .room_name {
        position: absolute;
        top: 66%;
        right: 43%;
        width: max-content;
        color: #fff;
        font-size: 16px;
        text-shadow: 2px 2px 1px #333;
    }

}
@media (max-width: 670px) {
    .section02 { padding: 12% 0 0 0;}
    /* .roomlist_m { padding-bottom: 15%; } */
}
@media (max-width: 570px) {
    .section02 { padding: 15% 0 0 0;}
    .section02 > .title h1:after{
        
    }
    /* .main_slide .swiper-slide > .txt {opacity:70%;} */
    .scroll_box{
        display:none;
    }
}
@media (max-width:768px){
    .roomlist_m ul li .room_name {
        top: 66%;
        right: 43%;
    }
}
@media (max-width:500px){
    .roomlist_m ul li .room_name {
        top: 60%;
        right: 45%;
    }
}
@media (max-width:430px){
    .roomlist_m ul li .room_name {
        top: 59%;
        right: 47%;
    }
}
@media (max-width:399px){
    .roomlist_m ul li .room_name {
        top: 58%;
        right: 47%;
    }
}

@media (max-width:370px){
    .roomlist_m ul li .room_name {
        top: 57%;
        right: 47%;
    }
}

.section03 { 
    position: relative; width: 100%; 
    /* background: url('/images/common/bg04.jpg'); */
    background: #F6F4F1;
    background-size: cover; 
    background-position: top right;
    box-sizing: border-box; padding-top: 10%; 
}

.section03 .bg_container {
    position: absolute;
    top: 0; right: 0; 
    width: 100%; height: 100%;
    overflow: hidden;
}
.section03 .bg_container::before {
    content: "";
    position: absolute;
    top: 0; right: 0; 
    width: 1340px; height: 400%;
    /* background: url('/images/common/bg04_line.png'); */
    opacity: 0.3; 
    pointer-events: none; 
    /* animation: moveBackground 20s cubic-bezier(0.65, 0.05, 0.36, 1) infinite; */
} 
@keyframes moveBackground { 
    0% {
        background-position: 0 0%;
        opacity: 0.3;
        filter: brightness(0.6) hue-rotate(180deg);
    }
    25% {
        filter: brightness(1) hue-rotate(90deg);
    }
    50% {
        background-position: 0 60%;
        opacity: 0.8;
        filter: brightness(1) hue-rotate(0);
    }
    75% {
        filter: brightness(1) hue-rotate(90deg);
    }
    100% {
        background-position: 0 100%;
        opacity: 0.3;
        filter: brightness(0.6) hue-rotate(180deg);
    }
}
.section03 > .inner { position: relative; display: flex; flex-wrap: wrap; }
.section03 > .inner > .left { width: 100%; max-height: 100vh; position: sticky; top: 0; }
.section03 > .inner > .left .left_bg {
    position: absolute;
    width: 34%;
    height: 100vh;
    background: url('/images/main/roomlist_left_bg.jpg') no-repeat center;
    background-size: cover;
}
.section03 > .inner > .left > h1 {
    letter-spacing: 3; text-indent: 2%; font-size: 2.3em; 
    padding: 30% 0 0 1%;
    font-weight: 400;

    -webkit-text-fill-color: transparent; /* 내부 투명 (webkit 계열) */
     color: transparent;              /* 텍스트 자체는 투명 */
    -webkit-text-stroke: 1px #FF6600;/* 글자 테두리 색 */

     /* 내부 채움용 그라데이션 배경 (초기엔 안보이게) */
    background: linear-gradient(90deg, #FF6600 0%, #FF6600 100%);
    /* background: linear-gradient(90deg, #fff 0%, #fff 100%); */
    background-size: 0% 100%; /* 처음엔 내부 완전 투명 */
    background-repeat: no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-size 6s ease;
    transition-delay: 1.0s;
}

/* 왼쪽부터 오른쪽으로 점진적으로 색이 채워짐 */
.section03.on .left > h1 {
  background-size: 100% 100%;
}
.section03 > .inner > .left > .txt { 
    width: 35%; 
    padding-top: 15px;
    padding-left: 3.1%;
}
.section03 > .inner > .left > .txt p { font-size: 1.3em; font-family: "El Messiri", sans-serif; letter-spacing: 2px; font-weight: bold;}
.section03 > .inner > .left > .txt p::after { content: ''; display: block; width: 100%; height: 1px; background: #ffffff; margin: 0 auto; margin: 4% 0; }
.section03 > .inner > .left > .txt span { display: block; font-size: 0.9em; line-height: 1.7em; padding-bottom: 20%; color: #fff;}
.section03 > .inner .left > .txt > a:hover { opacity: 0.4; transition: all 0.3s; } 
.section03 > .inner .right { display: flex; justify-content: flex-end; width: 55vw; margin-left: -55vw; margin-top: 5vw; margin-bottom: 5vw;  } 
.section03 > .inner .right .img .img_list {gap: 8%; width: 55vw; margin-right: 4.5vw; }
.section03 > .inner .right .img .img_list .img_mo {display: none;}
.section03 > .inner .right .img_list {display: flex; flex-wrap: wrap; justify-content: space-between; }
.section03 > .inner .right .img_list li { z-index: 50; position: relative; }
.section03 > .inner .right .img_list li.img_pc { max-width: 46%;}
.section03 > .inner .right .img_list li:nth-of-type(2n) {padding: 14% 0 0 0; }
.section03 > .inner .right .img_list li:nth-of-type(2n+1) { margin-top: -10%;}
.section03 > .inner .right .img_list li img.img_pc { transition: all 1s ease; border-radius: 23px;}
.section03 > .inner .right .img_list h3 { margin: 7px 0; font-size: 25px; font-family: 'gowun-dodum'; letter-spacing: 1.3px}
.right .img_list h3 .big-number { /* 객실명 뒤 숫자 크게 */
    font-size: 1.3em;
    margin-left: 6px;
}

.section03 > .inner .right .img_list li .more_view {  /*이동 화살표 감싸는 박스*/
    position: absolute;
    top: 52%; 
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 34px;
    height: 34px;
    /* border: 1px solid #fff; */
    border-radius: 50%;
    background-color: #393028;
    transition: all 0.3s;
    opacity: 0;
}
/* 홀수 리스트 버튼 위치 조정 */
.section03 > .inner .right .img_list li:nth-of-type(2n-1) .more_view {
    top: 38%;
}
.section03 > .inner .right .img_list li .more_view img {
    width: 70%;
    margin-left: -3px;
    transition: all 0.3s ease;
}
.section03 > .inner .right .img_list li:hover .more_view {
   opacity: 1;
}
/* .section03 > .inner .right .img_list li:hover .more_view img {
    filter: invert(1);
} */
.section03 > .inner .right .img_list li:hover img.img_pc {
    filter: brightness(1.2);
}
@media(max-width:900px){
    .section03 > .inner > .left .left_bg { display: none;}
    .section03 > .inner .right .img_list li:nth-of-type(2n-1) {
        margin-top: -24%; 
    }
    .section03 > .inner .right .img_list li:nth-of-type(1) {
        margin-top: 0; 
    }
    .section03 > .inner .right .img_list li:nth-of-type(2n) {
        padding: 5% 0 0 0; 
    }
    .section03 > .inner .right .img_list li:nth-of-type(2) {
        padding: 30% 0 0 0; 
    }
    .section03 > .inner .right .img_list li .more_view {
        display: none;
        opacity: 1;
        width: 27px;
        height: 27px;
        bottom: 47px;
        right: 8px;
        background: #ffffff;
    }
    .section03 > .inner .right .img_list li .more_view img {
        filter: invert(1);
    }
    .section03 > .inner .right .img_list li .circle {
        opacity: 1;
        display: none;
    }
}
@media(max-width:768px){
    
    
}


.pc_only { display: block; }
.mo_only { display: none; }

.section03 .inner_m { width: 100%; }
.section03 > .inner_m img { width: 100%; max-width: 100%; margin: 0; }
.section03 .inner_m > .txt { width: 90%; text-align: right; padding-bottom: 6%; }
.section03 .inner_m > .txt h1 { text-align: left; font-size: 2em; letter-spacing: 2.3px; opacity: 0.8; color: white; padding: 0 0 5% 3%; box-sizing: border-box; }
.section03 .inner_m > .txt p { font-size: 1em; font-weight: bold; }
.section03 .inner_m > .txt p::after { display: block; content: ''; width: 100%; height: 1px; background: #393d3c; margin: 1.5% auto; }
.section03 .inner_m > .txt span { font-size: 0.7em; }
.section03 .inner_m > .img01 { display: flex; width: 100%; align-items: flex-end; justify-content: space-between; }
.section03 .inner_m > .img01 > img { width: 65%; max-width: 100%; }
.section03 .inner_m > .img01 > .btn { width: 35%; margin: 5% 3%; text-align: center; }
.section03 .inner_m > .img01 > .btn:hover { opacity: 0.5; transition: all 0.3s; }
.section03 .inner_m > .img02 { width: 100%; display: flex; justify-content: flex-end; box-sizing: border-box; padding: 5% 0 0 20%; }

@media (max-width: 900px) {
    body {overflow-x: hidden; overscroll-behavior: none; touch-action: pan-y;}
    .section03 { 
        width: 100%; 
        /* background: url('/images/common/m/bg04.jpg');  */
        box-sizing: border-box; 
        padding: 5% 0 !important; 
    }
    .section03 .bg_container::before {
        content: "";
        position: absolute;
        top: 19%; right: 0; 
        width: 100%; height: 400%;
        /* background: url('/images/common/m/bg04_line.png'); */
        background-size: 100% auto;
        opacity: 0.3; 
        pointer-events: none; 
        /* animation: moveBackground 20s cubic-bezier(0.65, 0.05, 0.36, 1) infinite; */
    } 
    .section03 > .inner {
        display: block;
    }
    .section03 > .inner > .left {
        position: static;
    }
    .section03 > .inner > .left > h1 {
        padding-top: 10%;
        padding-bottom: 3%;
        text-align: center;
        font-size: 1.9em;
        letter-spacing: 1.4px;
    }
    .section03 > .inner > .left > .txt p {
        font-size: 1.2em;
    }
    .section03 > .inner > .left > .txt span {
        padding-left: 10px;
        font-size: 0.75em;

    }
    .section03 > .inner > .left > .txt {
        width: 100%;
        padding-right: 10%;
        box-sizing: border-box;
        display: none;
    }
    .section03 > .inner .right .img .img_list {
        gap: 18px;
        justify-content: space-between;
        width: auto;
        margin: 0;
        padding: 0px 20px;
    }
    .section03 > .inner .right .img_list li {
        width: 47%;
    }
    .section03 > .inner .right .img_list li:nth-of-type(2n) {
        /* margin-left: 30%; */
    }
    .section03 > .inner .right .img .img_list .img_mo {display: block; border-radius: 10px;}
    .section03 > .inner .right .img .img_list .img_pc {display: none;}
    .section03 > .inner .right {
        width: 100%;
        margin-left: 0;
    }

    .pc_only { display: none; }
    .mo_only { display: block; }
    .section03 > .inner .right .img_list h3 {
        font-size: 18px;
        text-align: right;
        padding-right: 8px;
    }
}
@media(max-width:500px){
    .section03 > .inner .right .img_list h3 {
        font-size: 12px;
        padding-right: 1px;
    }
    .right .img_list h3 .big-number {
        font-size: 1.5em;
        margin-left: 2px;
    }
}
@media (max-width: 340px) {
    .section03 > .inner .right .img .img_list {
        gap: 15px;
        padding: 0px 10px;
    }
}
.section04 { width: 100vw; overflow: hidden; position: relative; }
.section04 > .inner { position: relative; width: 100%; }
.section04 > .inner > .zoom { position: sticky; top: 0; width: 100%; vertical-align: top; transition: all 2s; /*transition-timing-function: ease-in-out;*/}
.section04 > .inner > .inner_img > .fixed_img {height: auto; position: absolute; top: 0; width: 100%; z-index: 9000; }
.section04 > .inner > .inner_img > .fake { }
.section04 > .inner > .inner_img > .img_txt {z-index:10000; text-shadow: -65px -65px 65px #fff,65px 65px 65px #fff,-85px -85px 85px #fff,85px 85px 85px #fff,-85px 85px 85px #fff, 85px -85px 85px #fff, -55px 55px 65px #fff, 55px -55px 65px #fff; display: inline; position: absolute; top: 50%; left: 50%; right: 0; transform:translate(-50%,-50%); width: 20%; font-size: 1.1em; line-height: 1.5em; text-align: center; color: #fff;  transition: all 0.2s; }
/* #trigger1 { position: absolute; top: 45%; opacity: 0; } */
#trigger2 { position: absolute; top: 32%; opacity: 0; }

footer {position: relative; width: 100vw; 
    /* background: url('/images/common/bg05.jpg');  */
    padding: 4% 0; 
    font-size: 0.9em; 
    overflow: hidden; 
    font-weight: normal !important;
    font-family: 'gowun-dodum';
}
.footer_flex { 
    display: flex; justify-content: space-between; align-items: center;
}
.footer_inner { width: 80%; padding-left: 10%;}
.footer_logo { width: 20%;}
.footer_inner .number { /*대표번호*/
    display: block;
    margin-bottom: 20px;
    font-size: 28px;
    letter-spacing: 1.12px;
    width: max-content;
}
.footer_inner .number span { /* TEL */
    font-size: 17px;
    letter-spacing: 3.4px;
}
.yeowan_link_wrap {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 30px;
}
.yeowan_link {
    display: flex;
    align-items: center;
    color: #10193a;
    -webkit-text-stroke: 0.3px #10193a;
}
.yeowan_link img {
    width: 30px;
    margin-right: 7px;
}
.yeowan_link span {
    display: inline-block;
}
footer .footer_inner > h3 { padding: 1.7% 0 1.3% 0; }
footer .footer_info li { line-height: 1.6em; }
footer .footer_info02 li { display: inline-block; padding: 1% 0; }
footer .footer_info02 li:nth-of-type(1):hover, footer .footer_info02 li:nth-of-type(2):hover { opacity: 0.5; transition: all 0.3s; }
footer .footer_info02 li b:hover { opacity: 0.5; transition: all 0.3s; }
footer .footer_info02 li+li:before { content: '|'; display: inline-block; margin: auto 5px; }
footer .footer_info02 li img { vertical-align: middle; }

@media (max-width: 900px) {
    footer {font-size: 0.73em;}
    .footer_flex { margin: 80px 0 20px;}
    .footer_logo { display: none;}
    .footer_inner .number { /*대표번호*/
        font-size: 25px;
        letter-spacing: 1px;
    }
    .footer_inner .number span { /* TEL */
        font-size: 15px;
        letter-spacing: 3px;
    }
    footer .footer_logo a { display: block; width: 100px; margin: 0 auto; }
    footer .footer_logo a img { width: 100%; }
    footer .footer_inner > h3 { padding: 3% 0; font-size: 1em; }
    /* footer .footer_inner .footer_info01 { font-size: 0.8em; } */
    footer .footer_inner .footer_info02 { width: 100% !important; font-size: 0.6em; }
    footer .footer_info02 li+li:before { content: '|'; display: inline-block; margin: auto 1px; }
    footer .footer_info02 li img { width: 15px; vertical-align: middle; }
}

.section.main_reser {
    background: url(/images/main/main_reser_bg.jpg);
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.section.main_reser .inner {
    position: relative;
    overflow: hidden;
    max-width: 1430px;
    width: 90%;
    height: 70%;
    text-align: center;
    background: url(/images/main/main_reser04.jpg) no-repeat center;
    /* filter: grayscale(0.2); */
}
.section.main_reser .inner h2 {
    font-size: 5vw;
    font-weight: 400;
    -webkit-text-fill-color: transparent; /* 내부 투명 (webkit 계열) */
     color: transparent;              /* 텍스트 자체는 투명 */
    -webkit-text-stroke: 1px #6f5d50;
    background: linear-gradient(48deg, #fff 0%, #AF4600 100%); /* 채우는 색상*/
    background-size: 0% 100%; /* 처음엔 내부 완전 투명 */
    background-repeat: no-repeat;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-size 2s ease;
    transition-delay: 0.3s;
}

/* 왼쪽부터 오른쪽으로 점진적으로 색이 채워짐 */
.section.main_reser.on .inner h2 {
  background-size: 100% 100%;
  margin-top: 20px;
}
.section.main_reser .inner p {
    font-size: 17px;
    letter-spacing: 0.85px;
    line-height: 2;
    color: #ffedd7;
    font-weight: 600;
    text-shadow: 1px 1px #333;
}
.section.main_reser a.reser_more { /* more 버튼 */

}
.reser_more {
  position: absolute;
  bottom: -36%;
  left: 50%;
  transform: translateX(-50%);
  transition: all 1.2s ease;
  transition-delay: 1s;
  opacity: 0.7;
}
.reser_more img {
    width: 110px;
    filter: grayscale(0.2);
}
.section.main_reser.on .reser_more {
    bottom: -10%;
    opacity: 1;
}
.section.main_reser.on .reser_more:hover {
    animation: updown 1s ease;
}
@keyframes updown {
    0% { bottom: -10%;}
    50% { bottom: -15%;}
    100% { bottom: -10%;}
}

@media(max-width:900px){
    .section.main_reser {
        height: 47vh;
    }
    .section.main_reser .inner {
        width: 100%;
        height: 100%;
        text-align: center;
        background: url(/images/main/m/main_reser.jpg) no-repeat center;
        background-size: 100% auto;
    }
    .section.main_reser .inner h2 {
        /* background: linear-gradient(90deg, #ff9c02 0%, #ff9c02 100%); */
        font-size: 10vw;
    }
    .section.main_reser .inner p {
        font-size: 13px;
        letter-spacing: 0.65px;
        font-weight: 600;
        color: #a19a89;
        text-shadow: none;
    }
    .reser_more img {
        width: 80px;
    }
    .section.main_reser.on .reser_more {
        bottom: -23%;
    }

    a.story_more .more_view {
        background: #333;
    }
    a.story_more .more_view img {
        filter: invert(0);
    }
    a.story_more .circle {
        display: none;
    }
}
@media(max-width:768px){
    .section.story a.story_more {
        bottom: 15px;
    }
    a.story_more span {
        font-size: 16px;
    }
    a.story_more .more_view {
        right: -48px;
    }
}
/* 어바웃 : 메인 스페셜미리보기 템플릿*/

.section03.about { 
    background: url('/images/about/bg04.jpg');
    background-size: cover; 
    background-position: top right;
    color: #1A2A58;
}

.section03.about > .inner > .left > .txt {
    color: #232323;
}
.section03.about > .inner > .left > .txt p::after {
    background: #232323;
}
@media(max-width:900px){
    .section03 > .inner > .left > .txt span {
        padding-bottom: 6%;
    }
    .section03.about > .inner .right .img_list li {
        margin-top: 5%;
        margin-bottom: 5%;
    }
    .section03.about > .inner .right .img_list li:nth-of-type(n+5) {
        display: none;
    }
    
}