
/* header */
header { background: #fff; z-index:250;position:fixed;top:0;width:100%;height:65px;border-bottom:1px solid #e8e8e8;}
header .logo {position:absolute;top:7px;left:20px; z-index: 200; }
header .gnb {position:absolute;top:0;right:0;width:600px; background: #fff; border-bottom:1px solid #e8e8e8; }
header .gnb > li {float:left;position:relative;width: 25%;}
header .gnb > li > a {padding:24.5px 0;}
header .gnb > li a {display:block;font-size:15px;text-align:center; font-weight: 300; }
header .gnb > li a:hover {color:#575757;}
header .nv_btn {position:absolute;top:80px;right:15px;z-index:15;}

/* footer */
footer { background:#414141;width:100%; padding: 10px; color:#e8e8e8;font-size:11px;overflow:hidden; margin-top: 30px;}
footer span { font-weight: 300;  }
footer .in {overflow:hiden;padding:10px 0;font-size:11px;}
footer .in .made {float:left;padding-left:30px;}
footer .in .made a {color:#e8e8e8;}
footer .in address {float:right;padding-right:30px;text-align:right;line-height:1.3em; display:flex; align-items:center;}
div.footer_logo2{margin-right:10px;}
div.footer_logo2 > img{width:70px;}

/* Swiper */
.swiper-button-prev,
.swiper-button-next {  }
.swiper-button-prev::after,
.swiper-button-next::after { color: #fff; text-shadow: 0 0 2px rgba(0, 0, 0, 0.3); }
.swiper-pagination {}
.swiper-pagination-bullet {}
.swiper-pagination-bullet-active { background: #fff; }

/* common-slide */
/* .section {position:relative;width:100%;height:100%;overflow:hidden;z-index:200; } */
.ttl {padding:110px 0 35px;font-size:40px;text-align:center; font-weight: 200; }
.ttl span {display:block;}


/* Index Page ----------------------------------------------------------------------------- */

/* visual */
#index .visual {position:relative; width: 100%; height:100vh; background-repeat: no-repeat; background-size: cover; background-position: 50% 50%;}
/* #index .visual img { width: 100%; height: 100%; object-fit: cover; object-position: center center; } */
/* visual이 영상일 경우 */
#index .visual #mov {position:relative;width:100%;height:100vh;min-height:700px;overflow:hidden;}
#index .visual #mov #MyVideo	{position:absolute;top:50%;left:50%;transform: translate(-50%,-50%);background-repeat:no-repeat;background-position:50% 50%;}
#index .visual #mov #MyVideo	{min-width:100%;min-height:100%;width:auto;height:auto;object-fit:cover;background-size:cover;}
#index .visual .mov_ttl {position:absolute;top:50%;left:50%;margin:-150px 0 0 -300px;width:600px;height:300px;z-index:20;}
#index .visual .bbg {position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:0.3;z-index:10;}

/* preview */
#index .preview { max-width: 1200px; margin: 0 auto; margin-top: 100px; }

/* room */
#index .room {
    max-width:1200px;
    margin:100px auto 0;
}

#index .room .items {
    display:flex;
    align-items:flex-start;
    gap:80px;
}

/* 왼쪽 객실 목록 */
#index .room .room-list {
    width:48%;
}

#index .room .room-list-item {
    width:100%;
    margin-bottom:40px;
    cursor:pointer;
    opacity:0.55;
    transition:
        opacity 0.4s,
        transform 0.4s;
}

#index .room .room-list-item:last-child {
    margin-bottom:0;
}

#index .room .room-list-item:hover,
#index .room .room-list-item.active {
    opacity:1;
}

#index .room .room-list-item.active {
    transform:translateX(15px);
}

#index .room .room-list-item a {
    display:block;
}

#index .room .room-image {
    position:relative;
    width:100%;
    overflow:hidden;
}

#index .room .room-image::after {
    content:"";
    display:block;
    padding-bottom:66.666%;
}

#index .room .room-image img {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform 0.6s;
}

#index .room .room-list-item:hover img,
#index .room .room-list-item.active img {
    transform:scale(1.04);
}

#index .room .room-list-item p {
    position:relative;
    margin-top:14px;
    padding-left:0;
    color:#222;
    font-size:17px;
    line-height:1.5;
    text-align:left;
    transition:padding-left 0.4s;
}

#index .room .room-list-item p::before {
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:0;
    height:1px;
    background:#222;
    transition:width 0.4s;
}

#index .room .room-list-item:hover p,
#index .room .room-list-item.active p {
    padding-left:42px;
}

#index .room .room-list-item:hover p::before,
#index .room .room-list-item.active p::before {
    width:30px;
}

/* 오른쪽 객실 정보 */
#index .room .room-detail {
    position:sticky;
    top:130px;
    width:calc(52% - 80px);
    min-height:500px;
    padding-top:20px;
}

#index .room .room-detail-inner {
    padding:50px;
    border-top:1px solid #222;
    border-bottom:1px solid #ddd;
    box-sizing:border-box;
}

#index .room .room-detail-name {
    margin-bottom:45px;
    color:#222;
    font-size:32px;
    font-weight:300;
    line-height:1.4;
}

#index .room .room-detail-info li {
    display:flex;
    align-items:flex-start;
    padding:18px 0;
    border-bottom:1px solid #eee;
    color:#555;
    font-size:14px;
    line-height:1.8;
}

#index .room .room-detail-info li:first-child {
    border-top:1px solid #eee;
}

#index .room .room-detail-info strong {
    flex:none;
    width:105px;
    color:#222;
    font-weight:500;
}

#index .room .room-detail-info span {
    flex:1;
    word-break:keep-all;
}

#index .room .room-detail-link {
    position:relative;
    display:inline-block;
    margin-top:40px;
    padding:0 40px 12px 0;
    color:#222;
    font-size:13px;
    letter-spacing:0.15em;
}

#index .room .room-detail-link::before {
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:1px;
    background:#222;
}

#index .room .room-detail-link::after {
    content:"";
    position:absolute;
    right:0;
    bottom:4px;
    width:10px;
    height:10px;
    border-top:1px solid #222;
    border-right:1px solid #222;
    transform:rotate(45deg);
}

/* facility */
#index .facility {width:1200px;margin:0 auto; padding-top: 3vw; margin-top: 100px; }
#index .facility h4 {font-size:25px;text-align:center;font-weight:bold;margin-bottom:10px;}
#index .facility ul {overflow:hidden;}
#index .facility ul li {float:left;margin-bottom:50px;}
#index .facility ul li.last {margin-right:0;}
#index .facility ul li > a {width:570px;height:350px;margin:0 30px 70px 0;display:block;}
#index .facility ul li > a div {width:100%;height:100%;}
#index .facility ul li > a span {margin-top:15px;font-size:20px;text-align:center;display:block; font-weight: 300; }
#index .facility ul li > a > b {display:block;padding-top:15px;font-size:20px;text-align:center; font-weight: 300; display: none; }  

/* location */
#index .location { margin-top: 100px; }
#index .location h3.ttl > span {text-align:center;display:block;margin-top:30px; margin-bottom: 10px; font-weight: 300; font-size: 16px; }
#index .location h3.ttl b {text-align:center;display:block; font-weight: 300; font-size: 16px; }
#index .location #map {max-width:1200px; margin: 0 auto; }	
#index .location #map .root_daum_roughmap { max-width: 1200px; width: 90vw !important; margin: 0 auto; }

/* reserve */
#index .reserve { position:relative;max-width:1200px;margin:0 auto; margin-top: 100px; }
#index .reserve .iframe,
#index .reserve .iframe2 { max-width:1200px;margin:0 auto;height:auto;}
#index .reserve .btn {overflow:hidden;width:210px;margin:0 auto 30px;}
#index .reserve .btn li {float:left;}
#index .reserve .btn li a {margin-right:10px;padding:10px 0;width:100px;text-align:center;font-size:13px;font-weight:bold;display:block;background:#616161;color:#aeaeae;}
#index .reserve .btn li a.rvg {margin-right:0;}
#index .reserve .btn li a.active {background:#62647d;color:#fff;}
#index .reserve .contents {max-width:1000px; width: 90vw; margin:100px auto 0;}
#index .reserve .contents h2 {width:250px;margin:0 auto 30px;}
#index .reserve .contents table {max-width:1000px; width: 90vw; border:1px solid #e7e7e7;font-family:'돋움',Dotum !important;}
#index .reserve .contents table tr th,td {color:#676767;text-align:center;font-size:13px;}
#index .reserve .contents > div > h4 {margin-bottom:10px;}
#index .reserve .contents ul li { background:url(http://gonylab.speedgabia.com//thehealing9/main/images/li_b.gif) no-repeat left 3px; padding-left:10px;font-size:12px;line-height:1.5em; color:#676767; font-family:'돋움',Dotum !important; }
#index .reserve .contents ul li span {color:#ee3939;}
#index .reserve .r_info_01 {position:relative;margin-bottom:30px;}
#index .reserve .r_info_01 table {margin-bottom:10px;}
#index .reserve .r_info_01 table .room_ {background:#efefef;}
#index .reserve .r_info_01 table .price {width:120px;}
#index .reserve .r_info_01 table > thead {line-height:1.1em;}
#index .reserve .r_info_01 table > thead {background:#f8f8f8;}
#index .reserve .r_info_01 table > thead tr th{font-weight:bold;}
#index .reserve .r_info_01 table > tbody tr td{line-height:3em;}
#index .reserve .r_info_02 {margin:50px 0;} 
#index .reserve .r_info_03 {margin:50px 0; display: none;} 
#index .reserve .r_info_04 {padding-bottom:150px;}
#index .reserve .r_info_04 table {line-height:1.5em;margin-top:20px;}
#index .reserve .r_info_04 table > thead {background:#f2f2f2;}



/* Room Page ----------------------------------------------------------------------------- */
#room {}
#room .photo { margin-top: 100px; }
#room .photo .swiper { max-width: 1200px; margin: 0 auto; }

#room .info {color:#212121;text-align:center; max-width: 1000px; width:60vw;margin:100px auto 100px;padding-bottom:50px;}
#room .info h3 {font-size:30px;font-weight:400;margin-bottom:50px;}
#room .info h3 span {display:block;font-size:20px;margin-top:15px;font-weight:bold;}
#room .info .reserve-b {width:300px;margin:0 auto;padding-bottom:25px;overflow:hidden;}
#room .info .reserve-b div {float:left;width:140px;margin:0 5px;}
#room .info .reserve-b div a {display:block;padding:10px 0;color:#fff;font-size:15px;}
#room .info .reserve-b div.reserve_btn a {background:#62647d;}
#room .info .reserve-b div.info_btn a {background:#616161;}
#room .info ul li {line-height:1.6; margin-bottom: 10px; font-weight:400; text-align: left; display: flex; }
#room .info ul li .info-section { display: inline-block; width: 10%; }
#room .info ul li .info-content { display: inline-block; width: 90%; }



/* Facility Page ----------------------------------------------------------------------------- */
.facility_info {color:#212121;text-align:center;width:50vw;margin:100px auto 100px;padding-bottom:50px;}
.facility_info h3 {font-size:30px;font-weight:400;margin-bottom:50px;}
.facility_info h3 span {display:block;font-size:20px;margin-top:15px;font-weight:bold;}
.facility_info .reserve-b {width:300px;margin:0 auto;padding-bottom:25px;overflow:hidden;}
.facility_info .reserve-b div {float:left;width:140px;margin:0 5px;}
.facility_info .reserve-b div a {display:block;padding:10px 0;color:#fff;font-size:15px;}
.facility_info .reserve-b div.reserve_btn a {background:#62647d;}
.facility_info .reserve-b div.info_btn a {background:#616161;}
.facility_info ul li {  line-height: 1.8; font-weight:400; text-align: center; }

/* 환불규정 */
#index .reserve .contents .refund_notice{
    width:90vw;
    max-width:1000px;
    margin:20px auto 0;
    padding:30px;
    border:1px solid #e7e7e7;
    background:#fafafa;
    color:#676767;
    line-height:1.9;
    font-size:14px;
    box-sizing:border-box;
    font-family:'돋움', Dotum;
}

#index .reserve .contents .refund_notice h4{
    margin-bottom:20px;
    font-size:20px;
    color:#222;
}

#index .reserve .contents .refund_notice p{
    margin-bottom:15px;
}

#index .reserve .contents .refund_notice ul{
    margin:15px 0;
    padding-left:18px;
}

#index .reserve .contents .refund_notice li{
    margin-bottom:8px;
    list-style:disc;
    background:none;
    padding-left:0;
    font-size:14px;
}

#index .reserve .contents .refund_notice .notice{
    margin-top:20px;
    color:#d9534f;
    font-weight:bold;
}

/* 객실 상세정보 */
#room .info {
    position: relative;
    max-width: 1040px;
    width: 70vw;
    margin: 90px auto 120px;
    padding: 55px 65px 60px;
    border-top: 1px solid #222;
    border-bottom: 1px solid #ddd;
    background: #fff;
    box-sizing: border-box;
}

#room .info h3 {
    position: relative;
    margin-bottom: 50px;
    padding-bottom: 22px;
    font-size: 32px;
    font-weight: 500;
    color: #111;
    text-align: center;
}

#room .info h3::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 35px;
    height: 1px;
    background: #222;
    transform: translateX(-50%);
}

#room .info ul {
    max-width: 900px;
    margin: 0 auto;
}

#room .info ul li {
    display: flex;
    align-items: flex-start;
    padding: 14px 0;
    border-bottom: 1px solid #ececec;
    line-height: 1.9;
}

#room .info ul li:last-child {
    border-bottom: 0;
}

#room .info ul li .info-section {
    flex: none;
    width: 110px;
    color: #111;
    font-size: 14px;
    font-weight: 600;
}

#room .info ul li .info-content {
    flex: 1;
    color: #222;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.9;
    word-break: keep-all;
}

#room .info ul li.delt {
    margin-top: 15px;
    padding: 22px 25px;
    border: 0;
    background: #f3f3f3;
    border-radius: 4px;
}

#room .info ul li.delt .info-detail {
    color: #222 !important;
    font-weight: 400;
    line-height: 2 !important;
}

/* 예약안내 버튼 */
#room .reserve-guide-btn {
    margin-top: 45px;
    text-align: center;
}

#room .reserve-guide-btn a {
    display: inline-block;
    padding: 15px 45px;
    border: 1px solid #222;
    color: #222;
    font-size: 15px;
    font-weight: 500;
    transition: .3s;
}

#room .reserve-guide-btn a:hover {
    background: #222;
    color: #fff;
}

/* header */
header{
    position:fixed;
    top:0;
    left:0;
    z-index:250;
    width:100%;
    height:72px;
    background:#fff;
    border-bottom:1px solid #eee;
    box-sizing:border-box;
}

/* 로고 */
header .logo{
    position:absolute;
    top:50%;
    left:28px;
    z-index:10;
    transform:translateY(-50%);
}

header .logo img{
    display:block;
    width:auto;
    max-height:48px;
}

/* 메뉴 */
header .gnb{
    position:absolute;
    top:0;
    left:50%;
    right:auto;
    width:auto;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:46px;
    background:transparent;
    border:0;
    transform:translateX(-50%);
}

header .gnb > li{
    float:none;
    width:auto;
    margin:0;
}

header .gnb > li > a{
    position:relative;
    display:block;
    padding:27px 0 24px;
    color:#111;
    font-size:15px;
    font-weight:400;
    letter-spacing:.02em;
    text-align:center;
    white-space:nowrap;
    transition:color .3s;
}

header .gnb > li > a::after{
    content:"";
    position:absolute;
    bottom:18px;
    left:50%;
    width:0;
    height:1px;
    background:#111;
    transform:translateX(-50%);
    transition:width .3s;
}

header .gnb > li > a:hover{
    color:#666;
}

header .gnb > li > a:hover::after,
header .gnb > li.active > a::after{
    width:100%;
}

#room .photo{
    margin-top:72px;
}

/* SNS */
header .sns{
    position:absolute;
    top:50%;
    right:28px;
    transform:translateY(-50%);
}

header .sns a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
}

header .sns img{
    width:22px;
    height:22px;
    opacity:.8;
    transition:.3s;
}

header .sns a:hover img{
    opacity:1;
    transform:scale(1.1);
}

/* 공동구매 스탠다드 객실 숨김 */
#index .room .room-list-item:nth-child(5) {
    display: none !important;
}
/* 공동구매 예약안내 - 스탠다드 객실 4개 숨김 */
#index #ROOM_CODE tbody tr:nth-child(n+20):nth-child(-n+23) {
    display: none !important;
}

/* 객실 위치 안내 버튼 */
#index .reserve .floor-guide-btn {
    text-align: center;
    margin: -15px auto 40px;
}

#index .reserve .floor-guide-btn a {
    display: inline-block;
    padding: 11px 25px;
    background: #fff;
    border: 1px solid #62647d;
    color: #62647d;
    font-size: 13px;
    font-weight: 500;
    transition: .3s;
}

#index .reserve .floor-guide-btn a:hover {
    background: #62647d;
    color: #fff;
}

/* 층별 배치도 팝업 */
.floor-guide-popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0,0,0,.8);
    align-items: center;
    justify-content: center;
    padding: 50px 20px 20px;
    box-sizing: border-box;
}

.floor-guide-inner {
    position: relative;
    width: 100%;
    max-width: 700px;
    max-height: calc(100vh - 90px);
    overflow-y: auto;
    background: #203438;
}

.floor-guide-inner img {
    display: block;
    width: 100%;
    height: auto;
}

.floor-guide-close {
    position: fixed;
    top: 15px;
    right: 25px;
    background: none;
    border: 0;
    color: #fff;
    font-size: 36px;
    cursor: pointer;
    z-index: 100000;
}

/* 모바일 */
@media (max-width: 768px) {
    #index .reserve .floor-guide-btn {
        margin: -15px auto 35px;
    }

    #index .reserve .floor-guide-btn a {
        font-size: 12px;
        padding: 12px 20px;
    }

    .floor-guide-popup {
        padding: 55px 10px 10px;
    }

    .floor-guide-inner {
        max-width: 100%;
        max-height: calc(100dvh - 70px);
    }

    .floor-guide-close {
        top: 10px;
        right: 15px;
        font-size: 32px;
    }
}