@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Ephesis&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Beau+Rivage&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kapakana:wght@300..400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Great+Vibes&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,100..900;1,100..900&display=swap');

*{margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
html,body{width: 100%; position: relative;  color: #2d2d2d;  background-color: #fff;}
main{position: relative; overflow: hidden;}
section{position: relative;}
li{list-style: none;}
a{text-decoration: none; color: white;}
table{outline: 0px; border-spacing: 0px;}
figure{position: relative;}
a,button,input{box-shadow: none; border: 0; background-color: transparent;}
button, i{color: #1d1d1d;}
.swiper-slide{background-size: cover; background-repeat: no-repeat; background-position: center; background-color: white;}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next{background-image: none !important;}
.swiper-button-prev, .swiper-button-next{position: relative; width: auto; left: 0; right: 0; top: 0; bottom: 0;}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev{background: none;}

.dash-list li{position: relative; padding-left: 0.6em;}
.dash-list li::after{position: absolute; top: 0; left: 0; content: "-";}

.promessa {
  font-family: "Playfair Display", serif;  
}

.oswald {
  font-family: "Oswald", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.ephesis {
  font-family: "Ephesis", cursive !important;
  font-weight: 400 !important;
  font-style: normal;
}

.beau {
  font-family: "Beau Rivage", cursive !important;
  font-weight: 400;
  font-style: normal;
}

.kapakana {
  font-family: "Kapakana", cursive !important;
  font-optical-sizing: auto;
  font-weight: 200 !important;
  font-style: normal;
}
.great {
  font-family: "Great Vibes", cursive !important;
  font-style: normal;
}

.cormorant-garamond {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: italic;
}

.cormorant-garamond-ori {
  font-family: "Cormorant Garamond", serif !important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  letter-spacing:-2px;
}



.libre-franklin {
  font-family: "Libre Franklin", sans-serif !important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  
}









/*header*/
.hd{position: fixed;top: 0; left: 0; width: 100%; z-index: 30;  transition: 0.8s;}
.hd .header-fixed-wrap{position: relative; z-index: 15; transition: 0.8s;}
.hd .header-fixed-wrap .inner-con{display: flex; justify-content: space-between; padding-top: 65px;}
.hd .header-fixed-wrap .logo{width: 180px;  transition: 0.8s;} 
.hd .header-fixed-wrap .logo img{display: block; width: 100%;}


.hd .header-fixed-wrap .menu-btn{display:flex;align-items:center;gap:12px;height:40px;cursor:pointer;background:none;border:none;padding:0;}
.hd .header-fixed-wrap .menu-btn .menu-text{font-size:14px;letter-spacing:2px;color:#fff;font-weight:500;}
.hd .header-fixed-wrap .menu-btn .hamburger{width:40px;height:40px;position:relative;}
.hd .header-fixed-wrap .menu-btn .line{width:100%;height:1px;background-color:#fff;position:absolute;left:0;top:50%;transition:0.4s;}
.hd .header-fixed-wrap .menu-btn .line1{transform:translateY(-4px);}
.hd .header-fixed-wrap .menu-btn .line2{transform:translateY(4px);}
.hd .header-fixed-wrap .menu-btn.active .line1{transform:rotate(45deg);}
.hd .header-fixed-wrap .menu-btn.active .line2{transform:rotate(-45deg);}



.hd .header-contents-wrap{position: absolute; top: 0; left: 0; background-color: #313131; width: 100vw; height: 100vh; opacity: 0; pointer-events: none; transition: 0.8s;}
.hd .header-contents-wrap .inner-con{height: 100%;    display: flex;    flex-flow: column;    align-items: center;    justify-content: center;}
.hd .header-contents-wrap .top-con{display: flex; align-items: center; margin-bottom: 100px; width: 100%;}
.hd .header-contents-wrap .top-con .menu-img-wrap{width: 55%;}
.hd .header-contents-wrap .top-con .menu-img-list{position: relative; max-width: 415px;}
.hd .header-contents-wrap .top-con .menu-img-list img{max-width: 415px;}
.hd .header-contents-wrap .top-con .menu-img-list li{position: absolute; top: 0; left: 0; opacity: 0; /*transition: 0.8s;*/}
.hd .header-contents-wrap .top-con .menu-img-list li.on{opacity: 1;}

.hd .header-contents-wrap .top-con .main-menu-wrap{display: flex; align-items: center; width: 50%;}
.hd .header-contents-wrap .top-con .main-menu-wrap .menu-wrap{display: flex; flex-flow: column; align-items: start; justify-content: start;}
.hd .header-contents-wrap .top-con .main-menu-wrap .main-list{position: relative; display: flex; margin-bottom: 22px; align-items: start;}
.hd .header-contents-wrap .top-con .main-menu-wrap .main-list .cata-num{position: absolute; font-size: 14px; font-family: "Open Sans"; font-weight: 200; color: white; top: -20px;}
.hd .header-contents-wrap .top-con .main-menu-wrap .main-list .sub-menu{display: flex; flex-wrap: wrap; /*margin-top: 15px;*/}
.hd .header-contents-wrap .top-con .main-menu-wrap .main-list > a{font-size: 40px; font-family: "Open Sans"; font-weight: 300; padding-right: 15px; margin-right: 15px; position: relative;} 
.hd .header-contents-wrap .top-con .main-menu-wrap .main-list .sub-menu li{margin-right: 25px; /*margin-bottom: 20px;*/}
.hd .header-contents-wrap .top-con .main-menu-wrap .main-list .sub-menu li a{font-size: 16px; font-family: "Open Sans"; font-weight: 400; letter-spacing: -0.03em;}
.hd .header-contents-wrap .top-con .main-menu-wrap .main-list .sub-menu li a:hover{text-decoration:underline; color:#fff;}


/*.hd .header-contents-wrap .top-con .main-menu-wrap .main-list > a::after{width: 1px; height: 40px; content: ""; display: inline-block; background-color: white; transform: rotate(15deg); position: absolute; right: 0; top: 0;}*/
/*.hd .header-contents-wrap .top-con .main-menu-wrap .main-list > a::before{content: ""; display: block; width: 35px; height: 82px; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(55deg); border: 1px solid rgba(255,255,255,0.5); border-radius: 50%;}*/

.hd .header-contents-wrap .bottom-con{width: 100%; display: flex; padding-bottom: 60px;}
.hd .header-contents-wrap .bottom-con .tel-wrap{width: 50%; display: flex;}
.hd .header-contents-wrap .bottom-con .tel-wrap li{font-size: 18px; font-family: "Open Sans"; font-weight: 300; letter-spacing: -0.03em;}
.hd .header-contents-wrap .bottom-con .tel-wrap li:first-of-type::after{content: "/"; display: inline-block; color: white; margin: 0 5px;}
.hd .header-contents-wrap .bottom-con .sns-wrap{width: 50%; display: flex;}
.hd .header-contents-wrap .bottom-con .sns-wrap li{font-size: 14px; font-family: "Open Sans"; font-weight: 300; letter-spacing: -0.03em; margin-right: 30px; }
.hd .header-contents-wrap .bottom-con .sns-wrap li a{display: flex; justify-content: end;}
.hd .header-contents-wrap .bottom-con .sns-wrap li img{display: block;}
.hd .header-contents-wrap .bottom-con .sns-wrap li img{margin-right: 5px;}

.hd.click .header-fixed-wrap .menu-btn .line1{transform: rotate(45deg);}
.hd.click .header-fixed-wrap .menu-btn .line2{transform: rotate(-45deg);}
.hd.click .header-contents-wrap{opacity: 1; pointer-events: all;}

.room_data li {text-align: center;}
.room_data li .data {text-align: center;}
.room_data li .tit {text-align: center;}
.room_data li .data .room_data li .data {text-align: center;}
.room_data li .person_limit table {margin: 0 auto;}

/*탑 비쥬얼 - slide*/
.top-slide-wrap .con1 .top-vdo-wrap{height: 100vh;}
.top-vdo{width: 100%; height: 100%; position: relative;}
.top-vdo iframe{position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%;}
.top-vdo.horizon iframe{width: 110vw; height: 62vw;}
/* .top-vdo iframe.visible {opacity: 1; } */
.top-vdo iframe.hide{display: none;}
.top-vdo.vertical iframe{height: 100%; width: calc(177.777vh + 170px);}

.reser-wrap .top-vdo{overflow: hidden;}
.reser-wrap .top-vdo iframe{opacity: 1;}

.top-slide-wrap .con1 .swiper-slide{height: 100vh; background-size:cover;}
.top-slide-wrap .con1 .top-overflow{width: 170vw; border-radius: 0 0 50% 50%; overflow: hidden; transform: translateX(-35vw);}
.top-slide-wrap .con1 .top-move-box{width: 100vw; position: relative; transform: translateX(35vw);}
.top-slide-wrap .con1 .tit-wrap{position: absolute; bottom: 160px; left: 0; text-align: center; pointer-events: none; width: 100%; z-index: 15;}
.top-slide-wrap .con1 .tit-wrap .tit{overflow: hidden; color: white; overflow: hidden; letter-spacing:3px}
.top-slide-wrap .con1 .tit-wrap.on .tit h2{transform: translateY(0); ;}
.top-slide-wrap .con1 .tit-wrap .tit h2{font-size: 80px; font-weight: 300; font-family: "IvyMode",sans-serif; transform: translateY(1.2em); transition: 1.2s; opacity: 0.79;}

.top-slide-wrap .con1 .tit-wrap .basic-slide-btn {display: flex; justify-content: center; margin-top: 50px; pointer-events: all;}
.top-slide-wrap .con1 .tit-wrap .basic-slide-btn button{display: flex; align-items: center;}
.top-slide-wrap .con1 .tit-wrap .basic-slide-btn button a{font-size: 14px; font-family: "VentiCF"; font-weight: 400;}
.top-slide-wrap .con1 .tit-wrap .basic-slide-btn button .slide-line{display: block; width: 45px; height: 1px; background-color: rgba(255,255,255,0.5);}
.top-slide-wrap .con1 .tit-wrap .basic-slide-btn .center-deco{width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.5); display: flex; align-items: center; justify-content: center;}
.top-slide-wrap .con1 .tit-wrap .basic-slide-btn .center-deco .center-cir{display: block; width: 6px; height: 6px; background-color: white; border-radius: 50%;}

.top-slide-wrap .con1 .tit-wrap .basic-slide-btn .prev-btn{margin-right: 15px;}
.top-slide-wrap .con1 .tit-wrap .basic-slide-btn .next-btn{margin-left: 15px;}

.top-slide-wrap .con1 .tit-wrap .basic-slide-btn .next-btn-wrap{flex-flow: row-reverse;}
.top-slide-wrap .con1 .tit-wrap .basic-slide-btn{pointer-events: all;}
.top-slide-wrap .con1 .tit-wrap .movie-btn{pointer-events: all;}
/*탑 비쥬얼 - image*/
.top-img-wrap .con1 .top-img-wrap{width: 100%; height: 90vh; background-size: cover; background-repeat: no-repeat; background-position: center;}
.top-img-wrap .con1 .top-img-wrap .tit-wrap {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; max-width: 460px; height: 98%; border-radius: 50%; border: 1px solid white; display: flex; justify-content: center; align-items: center;}
.top-img-wrap .con1 .top-img-wrap .tit-wrap h3{width: 100%; display: flex; justify-content: center; color: white; font-size: 40px; font-family: "IvyMode",sans-serif; font-weight: 200; text-align: center;}
.tour-wrap.top-img-wrap .con1 .top-img-wrap .tit-wrap h3{justify-content: space-between;}
.top-img-wrap .con1 .top-img-wrap .tit-wrap h3 span{transform: translateY(1.2em); opacity: 0; transition: 1.2s;}
.top-img-wrap .con1 .top-img-wrap .tit-wrap.on h3 span{transform: translateY(0); opacity: 1;}
.tour-wrap.top-img-wrap .con1 .top-img-wrap .tit-wrap h3 span:first-of-type{margin-left: -60px;}
.tour-wrap.top-img-wrap .con1 .top-img-wrap .tit-wrap h3 span:last-of-type{margin-right: -60px;}
.reser-wrap.top-img-wrap .con1 .top-img-wrap{height: 100vh;}


/* -----------------------------------------
   공통 섹션 헤더 (History, About, Story 등)
-------------------------------------------- */
.section-header { text-align: center; margin-bottom: 40px; width: 100%; }
.section-header .sub-title { font-size: 12px;  color: #adadad; text-transform: uppercase; display: block; margin-top: 100px; margin-bottom:5px; letter-spacing:1px; font-weight:500;}
.section-header .main-title { font-size: 54px; font-weight: 300; color: #1d1d1d; line-height: 1.1; margin-bottom: 25px; font-family: "IvyMode", sans-serif; }
.section-header .header-line { width: 1px; height: 50px; background: #adadad; margin: 0 auto; }

/* -----------------------------------------
   타임라인/연혁 섹션 (History Section)
-------------------------------------------- */
.history-section { width: 100%; padding: 100px 0 0 0; font-family: "IvyMode", sans-serif; text-align: center; ; }
.history-container { max-width: 1450px; margin: 0 auto; padding: 0 30px; }
.timeline-minimal { position: relative; max-width: 1200px; margin: 0 auto; }
.timeline-node { position: relative; padding: 30px 0; z-index: 1; }
.timeline-node .year { font-size: 26px; color: #000; font-weight: 500; margin-bottom: 25px; font-family: "IvyMode", sans-serif;  display: inline-block; padding: 0 25px; position: relative; letter-spacing: 0.05em; }
.timeline-node .content { padding: 0 0px; }
.timeline-node .content p { font-size: 16px; line-height: 1.8; color: #2d2d2d; font-family: "Open Sans"; word-break: keep-all; margin-bottom: 5px; }
.timeline-node.current .year { font-weight: 500; color: #000; }

/* 이미지 삽입 영역 */
.node-image-wrap { padding: 40px 0; width: 100%; display: flex; justify-content: center; }
.vertical-img { width: 100%; max-width: 400px; height: 550px; overflow: hidden; border-radius: 200px 200px 0 0; box-shadow: 20px 20px 40px rgba(0,0,0,0.05); }
.vertical-img img { width: 100%; height: 100%; object-fit: cover; transition: 0.8s ease; }


.mb100{margin-bottom:100px;}


/* -----------------------------------------
   기존 미디어 쿼리에 합칠 반응형 코드
-------------------------------------------- */
/* 아래 코드는 기존 CSS의 @media (max-width: 1024px) 안에 넣거나, 
   파일 맨 마지막에 추가하세요. */
@media (max-width: 1024px) { 
    .section-header .main-title { font-size: 45px; } 
    .timeline-node .year { font-size: 24px; }
    .vertical-img { max-width: 320px; height: 450px; }
}
@media (max-width: 768px) { 
    .section-header { margin-bottom: 50px; margin-top:50px; } 
    .section-header .main-title { font-size: 36px; } 
    .timeline-node { padding: 30px 0; }
    .vertical-img { max-width: 280px; height: 400px; border-radius: 140px 140px 0 0; }
	.mb100{margin-bottom:50px;}
	.mb150{margin-bottom:100px;}
	.hd .header-fixed-wrap .menu-btn .hamburger{width:20px;height:20px;position:relative;}
	
}



/*카테고리*/
.intro-cata{padding-top: 220px;}
.intro-cata .line{width: 100%; height: 1px; background-color: #e0e0e0;}
.intro-cata .txt{display: flex; justify-content: space-between; margin-top: 30px;}
.intro-cata .txt span{font-size: 14px; font-family: "VentiCF",sans-serif; color: #e0e0e0; font-weight: 500; letter-spacing: -0.03em;}

/*메인*/
.main-wrap .visual-section .visual-img-wrap{width: 100%; height: 800px; background-size: cover; background-repeat: no-repeat; background-position: center; display: flex; justify-content: center; align-items: center;}
.main-wrap .visual-section .visual-tit-wrap{margin-top: 255px; margin-bottom: 320px; background-image: url(https://i.pinimg.com/1200x/05/45/04/054504e4faceeb61c885dcb08e15e317.jpg); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; /*background-size: cover;*/ background-position-y: 0%; background-attachment: fixed;}
.main-wrap .visual-section .visual-tit-wrap h2{font-size: 7vw; font-family: "IvyMode",sans-serif; font-weight: 400; color: #333; line-height: 1em; letter-spacing: 0.06em; }
.main-wrap .visual-section .visual-tit-wrap h3{font-size: 50px; font-weight: 500; font-family: "IvyMode",sans-serif;  letter-spacing: 0.06em;}
.main-wrap .visual-section .inner-img{overflow: hidden; max-width: 435px; border: 2px solid white; transition: 0.8s;position: relative;}
.main-wrap .visual-section .inner-img img{display: block; width: 100%;}
.main-wrap .visual-section .inner-img.on{border-radius: 50%;}

.main-wrap .movie-btn{width: 245px; height: 245px; position: absolute; right: 140px; bottom: 100px; z-index: 15; display: flex; justify-content: center; align-items: center;}
.main-wrap .movie-btn .svg-txt{position: absolute; top: 0; left: 0; width: 100%; height: 100%; fill: #f7f7f7; font-size: 26px; text-transform: uppercase; font-family: "IvyMode",sans-serif; letter-spacing:10px; animation: rollingTxt 30s infinite linear;}

.main-wrap .movie-btn .arrow-wrap{width: 50px; height: 10px; display: flex; align-items: center; position: relative; transition: 0.8s;}
.main-wrap .movie-btn:hover .arrow-wrap{transform: translateX(15px);}

.main-wrap .movie-btn .arrow-wrap .slide-arrow{width: 7px; height: 1px; position: absolute; margin-right: -6px; right: 5px;}
.main-wrap .movie-btn .arrow-wrap .slide-arrow::after{content: ""; display: block; width: 100%; height: 1px; background-color: white; position: absolute; top: 0; right: 0; transform: rotate(45deg); transform-origin: right;}
.main-wrap .movie-btn .arrow-wrap .slide-arrow::before{content: ""; display: block; width: 100%; height: 1px; background-color: white; position: absolute; top: 0; right: 0;transform: rotate(-45deg); transform-origin: right}
.main-wrap .movie-btn .arrow-wrap .slide-line{width: 100%; height: 1px; background-color: white;}

/*프롤로그*/
.view-wrap .intro-section{margin-top: 180px;}
.view-wrap .intro-section .tit{font-size: 98px; font-weight: 200; font-family: "IvyMode",sans-serif; color: #e0e0e0; line-height: 1.2; letter-spacing: 0.05em;}
.view-wrap .intro-section .tit span{display: block;}
.view-wrap .intro-section .img-wrap{position: absolute; top: 0; left: 50%; transform: translateX(-50%);}
.view-wrap .intro-section .img-wrap .img{border-radius: 50%; overflow: hidden; width: 450px; height: 450px; transform: rotate(-25deg); transition: 1.4s;}
.view-wrap .intro-section .img-wrap .img img{position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(25deg); display: block;}
.view-wrap .intro-section .img-wrap .img.on{width: 850px;}
.view-wrap .intro-section .txt-wrap{display: flex; justify-content: end; margin-bottom: 220px;}
.view-wrap .intro-section .txt-wrap p{font-size: 14px; font-weight: 300; font-family: "Open Sans"; margin-bottom: 20px;}

.view-wrap .visual-section{overflow: hidden;}
.view-wrap .visual-section .visual-img{width: 100%; height: 835px; max-height: 59vw; background-size: cover; background-repeat: no-repeat; background-position: center; overflow: hidden;}
.view-wrap .visual-section .visual-img .vdo-wrap{height: 59vw; width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
.view-wrap .visual-section .visual-img .vdo-wrap iframe{width: 100%; height: 59vw;}
.view-wrap .visual-section .visual-img .tit{font-size: 115px; letter-spacing: 0.05em; font-family: "IvyMode",sans-serif; font-weight: 500; color: white; position: absolute; bottom: 0; text-align: center; width: 100%; line-height: 0.75;}
.view-wrap .info-section{padding-top: 250px; padding-bottom: 130px;}
.view-wrap .info-section .txt-info-wrap{display: flex;}
.view-wrap .info-section .txt-info-wrap .txt-wrap{margin-right: 55px;}
.view-wrap .info-section .txt-info-wrap .txt-wrap p{font-size: 14px; font-family: "Open Sans"; font-weight: 300; line-height: 1.6;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h5{font-size: 14px; font-family: "VentiCF",sans-serif; font-weight: 300; display: flex; justify-self: start;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3{font-size: 67px; font-weight: 200; font-family: "IvyMode",sans-serif; text-align: right;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3 > span{display: flex; align-items: center; justify-content: end;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3 > span:nth-of-type(1){margin-right: 0.6em;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3 > span:nth-of-type(2){margin-right: 0.8em;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3 > span:nth-of-type(3){margin-right: 0.2em;}
.view-wrap .info-section .txt-info-wrap .tit-wrap .tit-box{overflow: hidden;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3 .overflow-txt{transform: translateY(1.2em); display: block; transition: 0.8s;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3 .tit-box.on .overflow-txt{transform: translateY(0);}

.view-wrap .info-section .txt-info-wrap .tit-wrap h3 .tit-box:nth-of-type(1) .overflow-txt{transition-delay: 0.2s;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3 .tit-box:nth-of-type(2) .overflow-txt{transition-delay: 0.3s;}
.view-wrap .info-section .txt-info-wrap .tit-wrap h3 .tit-box:nth-of-type(3) .overflow-txt{transition-delay: 0.4s;}


.view-wrap .info-section .txt-info-wrap .tit-wrap h3 .line{display: block; width: 4.33em; height: 1px; background-color: #969395; margin-right: 30px; transition-delay: 0.6s;}
.view-wrap .info-section .img-wrap{margin-top: -80px;}
.view-wrap .info-section .img-wrap .img{width: 25%; overflow: hidden; transition: 0.8s;}

.view-wrap .info-section .img-wrap .img.on.round{border-radius: 15px;}
.view-wrap .info-section .img-wrap .img.on.circle{border-radius: 50%; transition-delay: 0.2s;}
.view-wrap .info-section .img-wrap .img img{display: block; width: 100%;}
.view-wrap .info-section .img-wrap .flex-box{display: flex;}
.view-wrap .intro-section .reser-box{width: 215px; height: 125px; border-radius: 50%; border: 1px solid #e0cfc3; transform: rotate(-25deg) translateY(-50%); position: absolute; left: 50%; bottom: 35px; display: flex; justify-content: center; align-items: center; background-color: white; margin-top: -15px;}
.view-wrap .intro-section .reser-box a{display: block; width: 100%; height: 100%; font-size: 14px; font-weight: 200; font-family: "VentiCF",sans-serif; color: #e0e0e0; transform: rotate(25deg); text-align: center; padding-top: 45px;}
/*객실*/
.room-wrap .intro-section .img-wrap{max-width: 400px; position: relative; margin: 0 auto; margin-top: 280px; margin-bottom: 150px;}
.room-wrap .intro-section .img-wrap .svg-tit{position: absolute; width: 200%; left: -50%; top: -20%;}
.room-wrap .intro-section .img-wrap .svg-tit svg .cls-1{font-size:80px;fill:#e0e0e0;font-family:"IvyMode",sans-serif;font-weight:200;}
.room-wrap .intro-section .img-wrap .tit{transform: translateX(30%);}
.room-wrap .intro-section .img-wrap .tit h2{font-size: 105px; font-family: "IvyMode",sans-serif; font-weight: 200; letter-spacing: -0.03em; color: #e0e0e0; position: absolute; bottom: 0; right: 0;}


.room-wrap .intro-section .img-wrap .dom-img{border-radius: 200px 200px 0 0; overflow: hidden; max-width: 400px;}
.room-wrap .intro-section .img-wrap .dom-img img{display: block; width: 100%;}
.room-wrap .room-price-section{padding-bottom: 285px;}
.room-wrap .room-price-section #room_daily_price1{max-width: 1150px; margin: 0 auto;}

.room-wrap .info-section .top-info{display: flex; }
.room-wrap .info-section .top-info .txt-contents{width: 50%;}
.room-wrap .info-section .top-info .txt-contents .tit-wrap{display: flex;}
.room-wrap .info-section .top-info .txt-contents .tit-wrap .img{width: 340px;}
.room-wrap .info-section .top-info .txt-contents .tit-wrap .img img{display: block; width: 100%;}
.room-wrap .info-section .top-info .txt-contents .tit-wrap .img-mask.on video{transform: translateY(0%) scale(1.05);}
.room-wrap .info-section .top-info .txt-contents .tit-wrap .img-mask video{transform: translateY(-100%) scale(1.05);}
.room-wrap .info-section .top-info .txt-contents .tit-wrap .tit{position: absolute; left: 425px; z-index: 5;}
.room-wrap .info-section .top-info .txt-contents .tit-wrap .tit{font-size: 93px; font-weight: 200; font-family: "IvyMode",sans-serif;}
.room-wrap .info-section .top-info .txt-contents .tit-wrap .tit span{display: block;}
.room-wrap .info-section .top-info .txt-contents .txt-wrap{margin-top: 65px; margin-left: 90px;}
.room-wrap .info-section .top-info .txt-contents .txt-wrap p{font-size: 14px; font-family: "Open Sans"; letter-spacing: -0.03em; font-weight: 300; margin-bottom: 35px;}
.room-wrap .info-section .top-info .txt-contents .txt-wrap li{font-size: 14px; font-family: "Open Sans"; letter-spacing: -0.03em; font-weight: 300; display: flex; margin-bottom: 5px; white-space: nowrap;}
.room-wrap .info-section .top-info .txt-contents .txt-wrap li .list-tit{margin-right: 0.05em;}
.room-wrap .info-section .top-info .img-contents{width: 50%; display: flex; justify-content: end;}
.room-wrap .info-section .top-info .img-contents .img{max-width: 490px; border-radius: 250px 250px 0 0; overflow: hidden;}
.room-wrap .info-section .top-info .img-contents .img img{display: block; width: 100%;}
.room-wrap .info-section .bottom-info{display: flex; margin-left: 95px; align-items: flex-end;margin-top: 50px;}
.room-wrap .info-section .bottom-info .img{width: 515px; margin-right: 75px;}
.room-wrap .info-section .bottom-info .img img{display: block; width: 100%;}

.room-wrap .info-section .bottom-info a{font-size: 14px; font-family: "VentiCF",sans-serif; font-weight: 300; color: white; padding: 15px 20px; position: relative; display: inline-block; letter-spacing: -0.03em; margin-bottom: 50px; transition: 0.8s;}
.room-wrap .info-section .bottom-info a span{display: inline-block;  padding: 5px 15px; position: relative; z-index: 5;}
.room-wrap .info-section .bottom-info a .bg{position: absolute; top: 0; left: 0; width: calc(100% - 20px); height: calc(100% - 4px); margin-top: 2px; margin-left: 10px; background-color: #e0e0e0;  transition: 0.6s; z-index: 2;}
.room-wrap .info-section .bottom-info a .bg.hover-bg{background-color: white; z-index: 3; transform: scaleX(0);}
.room-wrap .info-section .bottom-info a:hover .hover-bg{transform: scaleX(1);}
.room-wrap .info-section .bottom-info a:hover{color: #e0e0e0;}
.room-wrap .info-section .bottom-info a::after{content: ""; display: inline-block; width: 1px; height: 100%; background-color: #e0e0e0; position: absolute; left: 0; top: 0;}
.room-wrap .info-section .bottom-info a::before{content: ""; display: inline-block; width: 1px; height: 100%; background-color: #e0e0e0; position: absolute; right: 0; top: 0;}

.room-wrap .room-nav-section{display: flex; padding-top: 240px; margin-bottom: 300px;}
.room-wrap .room-nav-section .img-wrap{width: 23.45%; position: relative; display: flex;}
.room-wrap .room-nav-section .img-wrap.img-left{display: flex; align-items: flex-end;}
.room-wrap .room-nav-section .img-wrap.img-right{display: flex; align-items: flex-start;}
.room-wrap .room-nav-section .img-wrap .img-box{position: relative; width: 100%; transition: 1.2s;}
.room-wrap .room-nav-section .img-wrap .img-box li{width: 100%; position: absolute; top: 0; left: 0; opacity: 0; transition: 0.8s;}
.room-wrap .room-nav-section .img-wrap .img-box li.on{opacity: 1;}
.room-wrap .room-nav-section .img-wrap .img-box li img{display: block; width: 100%;}

.room-wrap .room-nav-section .img-wrap.img-left .img-box{transform: translateY(-30%);}
.room-wrap .room-nav-section .img-wrap.img-right .img-box{transform: translateY(50%);}
.room-wrap .room-nav-section .img-wrap .svg-txt{position: absolute; bottom: 0; left: 0; width: 195px; font-size: 36.5px; fill: #333; transform: translate(-50%,50%); font-family: "VentiCF"; animation: rollingTxt_translate 30s infinite linear}

.room-wrap .room-nav-section .list-wrap{width: 53.1%; margin-top: 55px;}
.room-wrap .room-nav-section .list-wrap li{text-align: center; margin-bottom: 35px;}
.room-wrap .room-nav-section .list-wrap li a{font-size: 36px; font-family: "IvyMode",sans-serif; font-weight: 300; color: #333; position: relative;}
.room-wrap .room-nav-section .list-wrap li a::after{content: ""; display: block; width: calc(100% + 15px); height: 1px; background-color: #d1b9a7; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) scale(0); transition: 0.8s;}
.room-wrap .room-nav-section .list-wrap li.on a::after{transform: translate(-50%,-50%) scale(1);}


/*스페셜*/
.special-wrap .info-section{padding-top: 0px; /*padding-bottom: 350px;*/}
.special-wrap .info-section .img-wrap{ position: absolute;}
.special-wrap .info-section .img-wrap.img-right{right: 0; top: 0; width: 50%; transition: 1.2s;}
.special-wrap .info-section .img-wrap.img-right .img{position: relative;}
.special-wrap .info-section .img-wrap.img-right .svg-txt{position: absolute; left: 0; top: 40px; transform: translateX(-50%); width: 170px; font-size: 42px; font-family: "VentiCF",Arial, Helvetica, sans-serif; letter-spacing: -0.03em; animation: rollingTxt_translate 30s infinite linear}
.special-wrap .info-section .img-wrap.img-right img{display: block; width: 100%;}
.special-wrap .info-section .img-wrap.img-left{left: 0; bottom: 0; display: flex; align-items: center;}
.special-wrap .info-section .img-wrap.img-left .txt{margin-left: 139px;}
.special-wrap .info-section .img-wrap.img-left .txt h5{font-size: 14px; font-weight: 200; font-family: "VentiCF"; margin-bottom: 30px; letter-spacing: -0.03em;}
.special-wrap .info-section .img-wrap.img-left .txt p{font-size: 14px; line-height: 22px; font-family: "Open Sans"; font-weight: 400; /*margin-bottom: 15px;*/}
.special-wrap .info-section .img-wrap.img-left .txt p b{font-weight: 400;}
.special-wrap .info-section .img-wrap.img-left .img{max-width: 390px; border-radius: 200px 200px 0 0; overflow: hidden;}
.special-wrap .info-section .img-wrap.img-left .img img{display: block; width: 100%;}
.special-wrap .info-section .txt-wrap{display: flex;  position: relative; z-index: 15; padding-top: 0px; padding-bottom: 600px;}
.special-wrap .info-section .txt-wrap .tit-box .tit{font-size: 95px; font-family: "IvyMode",sans-serif; font-weight: 200;}
.special-wrap .info-section .txt-wrap .tit-box .tit span{display: block; color:#666;}
.special-wrap .info-section .side-deco-txt{position: absolute; left: 0; top: 50%; display: flex; transform: rotate(90deg) translateX(-50%); transform-origin: top left;}
.special-wrap .info-section .side-deco-txt h3{ display: flex;}
.special-wrap .info-section .side-deco-txt span{font-size: 14px; font-weight: 200; font-family: "VentiCF",sans-serif; margin:0 22px ; display: block;}
.special-wrap .visual-section{margin-bottom: 325px;}
.special-wrap .visual-section .visual-img{height: 800px; background-size: cover; background-repeat: no-repeat; background-position: center;}




/*투어*/
.tour-wrap .info-section{padding-top: 40px;}
.tour-wrap .info-section .tour-info .big-img{max-width: 570px;}
.tour-wrap .info-section .tour-info .big-img img{display: block;  max-width: 100%;  border-radius: 200px 200px 0 0; margin-bottom:50px;  overflow: hidden;}
.tour-wrap .info-section .tour-info .small-img{max-width: 255px;}
.tour-wrap .info-section .tour-info .small-img img{display: block; width: 100%; border-radius: 200px 200px 0 0;}
.tour-wrap .info-section .txt-wrap .tit{ margin-bottom: 30px;}
/*.tour-wrap .info-section .txt-wrap .tit::after{content: ""; display: block; width: 100%; height: 1px; background-color: #adadad; margin-top: 20px; transform: scaleX(0); transition: 1.2s; transition-delay: 0.4s;}*/
.tour-wrap .info-section .txt-wrap .tit.on::after{transform: scaleX(1);}
.tour-wrap .info-section .txt-wrap .tit h5{font-size: 14px; font-weight: 400; font-family: "Open Sans"; margin-bottom: 20px;}
.tour-wrap .info-section .txt-wrap .tit h2{font-size: 25px; font-weight: 400; font-family: "IvyMode",sans-serif; letter-spacing: -0.02em;}
.tour-wrap .info-section .txt-wrap .txt h5{display: flex;  align-items: center; justify-content: center;}
.tour-wrap .info-section .txt-wrap .txt h5 .line{width: 55px; height: 1px; background-color: #e9e4e7; display: block; margin-right: 10px; transform: scaleX(0); transition: 0.8s; transition-delay: 0.4s; transform-origin: left;}
.tour-wrap .info-section .txt-wrap .txt h5.on .line{transform: scaleX(1);}
.tour-wrap .info-section .txt-wrap .txt h5{font-size: 16px; line-height: 28px; color: #575757; font-family: "Open Sans"; font-weight: 500; margin-bottom: 10px;  letter-spacing:-1px; text-align:center;}
.tour-wrap .info-section .txt-wrap .txt h5.vision{font-size: 40px; color:#000; font-family: "IvyMode",sans-serif; font-weight: 300;}
.tour-wrap .info-section .txt-wrap .txt h5 .location{font-size: 13px; font-family: "Open Sans"; font-weight: 400; margin-left: 10px;}
.tour-wrap .info-section .txt-wrap .txt p{font-size: 14px; color: #2d2d2d; font-family: "Open Sans"; font-weight: 400; l }
.tour-wrap .info-section .txt-wrap .txt.pt30{ padding-top:50px; }
.tour-wrap .info-section .txt-wrap .pt40{ padding-top:40px; }


.tour-wrap .info-section .tour-info{margin-bottom: 100px;  display: flex;  flex-direction: column;  align-items: center;}
.tour-wrap .info-section .img-wrap{position: relative; display:flex; justify-content:center; }
.tour-wrap .info-section .txt-wrap{width: 50%;}
.tour-wrap .info-section .right-info .txt-wrap{ display: flex; flex-flow: column; align-items: center; justify-content: center; margin-bottom: 45px; text-align:center;}
.tour-wrap .info-section .right-info .txt-wrap .tit{margin-bottom: 30px;}
.tour-wrap .info-section .right-info .txt-wrap .txt{}
.tour-wrap .info-section .right-info .img-wrap .big-img{width: calc(100% - 160px);}
.tour-wrap .info-section .right-info .img-wrap .small-img{position: absolute; bottom: -35px; right: 0; transform: translateY(100px); transition: 1.2s;}
.tour-wrap .info-section .left-info{flex-flow: row-reverse;}
.tour-wrap .info-section .left-info .img-wrap{display: flex; justify-content: end; align-items: start;}
.tour-wrap .info-section .left-info .img-wrap .big-img{ overflow: hidden; transition: 1.2s;}
.tour-wrap .info-section .left-info .txt-wrap{display: flex; flex-flow: column; justify-content: start; align-items: start;}
.tour-wrap .info-section .left-info .pc-img-box{display: flex; justify-content: center; width: 100%; margin-left: -30px;}
.tour-wrap .info-section .left-info .txt-wrap .tit{margin-bottom: 40px;}
.tour-wrap .info-section .left-info .txt-wrap .txt{margin-top: 0px;}
.tour-wrap .info-section .left-info .txt-wrap .tit h5{text-align: center;}

/*오시는길*/
.map-wrap .info-section{padding-top: 220px; padding-bottom: 580px;}
.map-wrap .map-box .tit{font-size: 100px; font-family: "IvyMode",sans-serif; font-weight: 200; color: #e0e0e0; position: relative; z-index: 5; text-align: center; width: 100%;}
.map-wrap .map-box .tit.top-tit{margin-bottom: -0.5em;}
.map-wrap .map-box .tit.bottom-tit{margin-top: -0.5em;}
.map-wrap .map-box .map-container{border-radius: 50%; overflow: hidden;}
.map-wrap .map-box .map-container .root_daum_roughmap .wrap_controllers{display: none;}

.map-wrap .txt-wrap{text-align: center; margin-top: 140px;}
.map-wrap .txt-wrap h5{font-size: 14px; font-weight: 400; font-family: "Open Sans"; margin-bottom: 20px;}
.map-wrap .txt-wrap p{font-size: 14px; font-weight: 400; font-family: "Open Sans"; margin-bottom: 60px;}
.map-wrap .txt-wrap a{display: inline-block; font-size: 14px; font-weight: 400; font-family: "Open Sans"; color: #2d2d2d; padding: 0 10px;}
.map-wrap .txt-wrap a::after{content: ""; display: block; width: calc(100% + 10px); margin-left: -5px; margin-top: 5px; height: 1px; background-color: #2d2d2d;}

/*예약안내*/
.reser-wrap .intro-section .txt-wrap .inner-950{display: flex; flex-flow: column; justify-content: start; align-items: flex-start;}

.reser-wrap .intro-section{margin-bottom: 240px; padding-top: 150px;} 
.reser-wrap .intro-section .txt-wrap{padding-top: 235px;}
.reser-wrap .intro-section .txt-wrap .tit{text-align: center; padding-bottom: 200px;}
.reser-wrap .intro-section .txt-wrap .tit h3{font-size: 100px; font-family: "IvyMode",sans-serif; font-weight: 200; color: #e0e0e0;}
.reser-wrap .intro-section .txt-wrap .tit h5{font-size: 40px; font-family: "IvyMode",sans-serif; font-weight: 200; color: #e0e0e0;}
.reser-wrap .intro-section .txt-wrap .txt{padding-top: 25px; padding-left: 25px; padding-bottom: 100px; border-top: 1px solid #969395; padding-right: 250px;}
.reser-wrap .intro-section .txt-wrap .txt ol{margin-bottom: 20px;}
.reser-wrap .intro-section .txt-wrap .txt li{font-size: 14px; font-family: "Open Sans"; font-weight: 400; line-height: 1.8;letter-spacing: -0.03em;}
.reser-wrap .intro-section .txt-wrap .txt li a{color: #2d2d2d;}
.reser-wrap .intro-section .txt-wrap .txt p{font-size: 13px; font-family: "Open Sans"; font-weight: 400; line-height: 1.8; letter-spacing: -0.03em;}

.reser-wrap .intro-section .img-wrap{position: absolute; width: 100%; height: 100%;}
.reser-wrap .intro-section .img-wrap .img{position: absolute;}
.reser-wrap .intro-section .img-wrap .img img{display: block; width: 100%;}
.reser-wrap .intro-section .img-wrap .img1{width: 330px; left: 0; top: 50%; transform: translateY(-50%);}
.reser-wrap .intro-section .img-wrap .img2{width: 295px; top: 0; left: 50%; transform: translateX(-50%);}
.reser-wrap .intro-section .img-wrap .img3{width: 750px; right: 0; bottom: 0;}

.reser-wrap .intro-section .img-wrap .img .img-box{transform: scale(0); transition: 0.8s; border-radius: 50%; overflow: hidden;}
.reser-wrap .intro-section .img-wrap .img .img-box img{transform: scale(1); transition: 0.8s;}
.reser-wrap .intro-section .img-wrap .img.on .img-box{transform: scale(1);}
.reser-wrap .intro-section .img-wrap .img.on .img-box img{transform: scale(1);}


.reser-wrap .price-section{margin-bottom: 200px;}

.reser-wrap .info-section {display: flex;}
.reser-wrap .info-section .reser-info-wrap{width: 50%;}
.reser-wrap .info-section .refund-wrap{width: 50%;}

.reser-wrap .info-section h3{font-size: 22px; font-family: "IvyMode",sans-serif; font-weight: 300; color: #e0e0e0; display: inline-block; margin-bottom: 30px;}
.reser-wrap .info-section h3 span{position: relative; z-index: 5;}
.reser-wrap .info-section h3::after{content: ""; display: block; width: calc(100% + 30px); margin-left: -15px; height: 15px; background-color: #f8f1f1; margin-top: -0.5em; transform: scaleX(0); transition: 0.8s; transition-delay: 0.4s;}
.reser-wrap .info-section h3.on::after{transform: scaleX(1);}
.reser-wrap .info-section p{font-size: 14px; font-family: "Open Sans"; letter-spacing: 0.02em; font-weight: 400; line-height: 1.6;}
.reser-wrap .info-section .reser-info-wrap p{margin-bottom: 100px;}
.reser-wrap .info-section .reser-info-wrap h5{font-size: 14px; font-family: "Open Sans"; font-weight: 400; color: #e0e0e0; margin-bottom: 15px;}
.reser-wrap .info-section .reser-info-wrap .info{margin-bottom: 50px;}
.reser-wrap .info-section .reser-info-wrap li{font-size: 14px; font-family: "Open Sans"; font-weight: 400;}

.reser-wrap .info-section .refund-wrap{padding-left: 150px;}
.reser-wrap .info-section .refund-wrap table{ text-align: center; border: 1px solid #e0e0e0; max-width: 100%; margin-top: 50px;}
.reser-wrap .info-section .refund-wrap table th, .reser-wrap .info-section .refund-wrap table td{text-align: center; padding:10px 0; font-size: 14px; width: 33.3333%; font-family: "GmarketSans"; font-weight: 400; letter-spacing: -0.04em; text-align: center;}
.reser-wrap .info-section .refund-wrap table th{background-color: #e0e0e0 ; color: white;}

.reser-wrap .rsv_cal_b td.nm_room{background-color: transparent;}
.reser-wrap .rsv_cal_h .ssn td{background-color: transparent;}
.reser-wrap .rsv_cal_h td.blank{background-color: transparent;}
.reser-wrap .rsv_cal_h .htr td{background-color: transparent;}

.movie-wrap .info-section{padding-top: 120px; padding-bottom: 180px;}
.notice-wrap .info-section{padding-top: 120px; padding-bottom: 180px;}

/*객실 프리뷰*/
.room-preview-section .inner-con{padding-top: 0px;}
.room-preview-section .svg-tit{position: absolute; top: -50px; left: 0; width: 130%; margin-left: -15%;  z-index: 15; pointer-events: none; transform: rotate(-20deg);}
.room-preview-section .svg-tit .cls-1{font-size: 217px; fill: #e0e0e0; font-family: "IvyMode",sans-serif; font-weight: 200;}
.room-preview-section .room-preview-info-wrap{margin-top: 160px;}

.room-preview-section .room-preview-info-wrap{/*padding-bottom: 245px;*/}
.room-preview-section .room-preview-info-wrap{display: flex; position: relative;}
.room-preview-section .room-preview-info-wrap .left-wrap{width: 50%; padding: 0 60px;}
.room-preview-section .room-preview-info-wrap .left-wrap .txt{margin-top: 29px;}

.room-preview-section .room-preview-info-wrap .left-wrap .tit{margin-top: 50px; margin-bottom: 0px;}
.room-preview-section .room-preview-info-wrap .left-wrap .tit h2{font-size: 40px;  font-weight: 200; letter-spacing: -0.03em;}
.room-preview-section .room-preview-info-wrap .left-wrap .tit h2 span{display: block;}
.room-preview-section .room-preview-info-wrap .left-wrap .tit h2 .overflow-box{overflow: hidden;}
.room-preview-section .room-preview-info-wrap .left-wrap .tit h2 .overflow-box .overflow-txt{transform: translateY(1.2em); transition: 1.2s;}
.room-preview-section .room-preview-info-wrap .left-wrap .tit h2 .overflow-box.on .overflow-txt{transform: translateY(0);}



.room-preview-section .room-preview-info-wrap .left-wrap .txt p{font-size: 14px; color:#555; line-height:19px; letter-spacing:0; white-space: nowrap; margin-bottom: 0px; }
.room-preview-section .room-preview-info-wrap .left-wrap .slide-page-wrap {display: flex; align-items: center; margin-top: 75px; margin-left: -115px;}
.room-preview-section .room-preview-info-wrap .left-wrap .slide-page-wrap .page-number{display: flex; align-items: center; margin-right: 50px;}
.room-preview-section .room-preview-info-wrap .left-wrap .slide-page-wrap .num{font-size: 14px; font-weight: 300; font-family: "VentiCF",sans-serif; width: 1em; text-align: center;}
.room-preview-section .room-preview-info-wrap .left-wrap .slide-page-wrap .dash{width: 90px; height: 1px; background-color: #2d2d2d; display: block; margin: 0 20px;}
.room-preview-section .room-preview-info-wrap .left-wrap .control-btn-wrap{display: flex; align-items: center;}
.room-preview-section .room-preview-info-wrap .left-wrap .control-btn-wrap button{font-size: 20px; font-weight: 300; font-family: "VentiCF",sans-serif; cursor: pointer;}
.room-preview-section .room-preview-info-wrap .left-wrap .control-btn-wrap .center-line{width: 1px; height: 20px; /*background-color: #797778;*/ display: block; margin: 0 15px;}

.room-preview-section .room-preview-info-wrap .right-wrap{width: 50%; padding: 0 60px;}
.room-preview-section .room-preview-info-wrap .right-wrap .tit{margin-top: 170px; margin-bottom: 50px;}
.room-preview-section .room-preview-info-wrap .right-wrap .tit h2{font-size: 40px; font-family: "IvyMode",sans-serif; font-weight: 200; letter-spacing: -0.03em;}
.room-preview-section .room-preview-info-wrap .right-wrap .tit h2 span{display: block;}
.room-preview-section .room-preview-info-wrap .right-wrap .tit h2 .overflow-box{overflow: hidden;}
.room-preview-section .room-preview-info-wrap .right-wrap .tit h2 .overflow-box .overflow-txt{transform: translateY(1.2em); transition: 1.2s;}
.room-preview-section .room-preview-info-wrap .right-wrap .tit h2 .overflow-box.on .overflow-txt{transform: translateY(0);}
.room-preview-section .room-preview-info-wrap .swiper-slide{height: 630px;}
.room-preview-section .room-preview-info-wrap .center-tit{position: absolute; top: 97px; left:214px; width: 100%; text-align: center; font-size: 46px; color:#666; font-family: "IvyMode";   font-weight: 200;  letter-spacing: -0.05px;}




/*스페셜 프리뷰*/
.special-preview-section{padding-bottom: 185px;}
.special-preview-section .inner-con{display: flex; justify-content: flex-end; max-height: 735px;}
.special-preview-section .tit-wrap{position: absolute; top: -90px; left: 0;  transform-origin: top left; z-index: 15;}
.special-preview-section .tit-wrap h2{ font-weight: 200;  color: #595959; line-height: 1em; letter-spacing: -0.03em; font-size: 64px; }
.special-preview-section .tit-wrap h2 span{display: block;}
.special-preview-section .tit-wrap h2:first-of-type{color: #e0e0e0; margin-bottom: 115px;}
.special-preview-section .special-preview-slide{width: 45%;}
.special-preview-section .special-preview-slide .swiper-slide{height: 735px;}
.special-preview-section .txt-wrap{position: relative; width: 32.5%; padding-left: 85px; display: flex; flex-flow: column; justify-content: end;}
.special-preview-section .txt-wrap .txt-list-wrap{position: relative; min-height: 100px; width: 100%;}
.special-preview-section .txt-wrap .txt-list-wrap .list{ position: absolute; top: 0; left: 0; opacity: 0; pointer-events: none; width: 100%; transition: 0.6s;}
.special-preview-section .txt-wrap .txt-list-wrap .list.on{opacity: 1; pointer-events: all;     font-family: "Open Sans";}
.special-preview-section .txt-wrap .txt-list-wrap .list h5{ font-size: 16px; font-weight: 500; margin-bottom: 5px;}
.special-preview-section .txt-wrap .txt-list-wrap .list p{font-size: 14px; font-weight: 300;}
.special-preview-section .txt-wrap .slide-btn-wrap{display: flex; align-items: center; margin-bottom: 60px; cursor: pointer;}
.special-preview-section .txt-wrap .slide-btn-wrap > div{position: relative; display: flex; align-items: center;}
.special-preview-section .txt-wrap .slide-btn-wrap .circle{width: 23px; height: 35px; border-radius: 50%; /*border: 1px solid #555354;*/}
.special-preview-section .txt-wrap .slide-btn-wrap .arrow-wrap{width: 50px; height: 10px; display: flex; align-items: center; margin-left: -20px;}
.special-preview-section .txt-wrap .slide-btn-wrap .arrow-wrap .slide-arrow{width: 7px; height: 1px; position: relative; margin-right: -6px;}
.special-preview-section .txt-wrap .slide-btn-wrap .arrow-wrap .slide-arrow::after{content: ""; display: block; width: 100%; height: 1px; background-color: #555354; position: absolute; top: 0; left: 0; transform: rotate(45deg); transform-origin: left;}
.special-preview-section .txt-wrap .slide-btn-wrap .arrow-wrap .slide-arrow::before{content: ""; display: block; width: 100%; height: 1px; background-color: #555354; position: absolute; top: 0; left: 0;transform: rotate(-45deg); transform-origin: left;}
.special-preview-section .txt-wrap .slide-btn-wrap .arrow-wrap .slide-line{width: 100%; height: 1px; background-color: #555354;}

.special-preview-section .txt-wrap .slide-btn-wrap .prev{margin-right: 45px;}

.special-preview-section .txt-wrap .slide-btn-wrap .prev .circle{left: 0;}
.special-preview-section .txt-wrap .slide-btn-wrap .next{transform: rotateY(180deg); }
.special-preview-section .link-btn{width: 120px; height: 120px; border: 1px solid #adadad; display: flex; justify-content: center; align-items: center; position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 70%); z-index: 15; border-radius: 50%;}
.special-preview-section .link-btn i{color: #adadad;}

.special-preview-section .tit-wrap h2 .overflow-box{overflow: hidden;}
.special-preview-section .tit-wrap h2 .overflow-box .overflow-txt{transform: translateY(1.2em); transition: 1.2s;}
.special-preview-section .tit-wrap h2 .overflow-box.on .overflow-txt{transform: translateY(0);}

.special-preview-section .tit-wrap h2:nth-of-type(2) .overflow-txt{transition-delay: 0.2s;}

/*푸터*/
.ft {height:310px}
.ft .ft-overflow{ overflow: hidden; padding-top: 10px;}
.ft .ft-round-wrap{width: 120%; margin-left: -10%; border-radius: 100% 100% 0 0; background-color: #c5c5c5b0}
.ft .inner-con{ padding-top: 50px; padding-bottom: 35px;}
.ft .ft-vdo-wrap{position: absolute; top: 0; right: 0; transform: translateY(-80%);}
.ft .ft-vdo-wrap a{display: flex;}
.ft .ft-vdo-wrap .txt-wrap{color: #e0e0e0; margin-left: -80px;}
.ft .ft-vdo-wrap .txt-wrap h3{font-size: 20px; font-family: "IvyMode",sans-serif; margin-bottom: 10px;}
.ft .ft-vdo-wrap .txt-wrap p{font-size: 14px; font-family: "Open Sans"; font-weight: 300; margin-bottom: 15px;}
.ft .ft-vdo-wrap .txt-wrap i{font-size: 42px;color: #e0e0e0;}
.ft .ft-logo{width: 260px; margin: 0 auto; margin-bottom: 30px;}
.ft .ft-logo img{display: block; width: 100%;}
.ft .ft-top-info{display: flex; justify-content: space-between; margin-bottom: 25px;}
.ft .ft-top-info .address{font-size: 14px; font-weight: 300; font-family: "Open Sans"; line-height: 1.6; color: white;}
.ft .ft-top-info .ft-menu-wrap li{margin-left: 25px;}
.ft .ft-top-info .ft-menu-wrap .sub-menu{display: none;}
.ft .ft-top-info .ft-menu-wrap .cata-num{display: none;}
.ft .ft-top-info .ft-menu-wrap .menu-wrap{display: flex; justify-content: end; align-items: center; margin-top: 30px;}
.ft .ft-top-info .ft-menu-wrap a{font-size: 14px; font-weight: 500; font-family: "Open Sans";}
.ft .ft-bottom-info{display: flex; justify-content: space-between;}
.ft .ft-bottom-info .copyright{font-size: 11px; font-family: "OpenSans",sans-serif; font-weight: 400; color: white;}
.ft .ft-bottom-info .sns-wrap{display: flex; align-items: center;}
.ft .ft-bottom-info .sns-wrap li{margin-left: 20px;}
.ft .ft_adm{display: inline-block;margin-top: 10px; border-bottom: 1px solid #fff; padding-bottom: 2px;}
.ft .login{display: inline-block;}
.ft .login::after{width: 100%; height: 1px; display: block; content: ""; background-color: #fff;}


/*비디오 팝업*/
.vdo-popup-wrap{opacity: 0; pointer-events: none; position: fixed; top: 0; left: 0; z-index: 100; width: 100vw; height: 100vh; background-color: rgba(0,0,0,0.8); display: flex; justify-content: center; align-items: center; transition: 0.8s;}
.vdo-popup-wrap .vdo-wrap{width: 45vh; height: 80vh; position: relative;}
.vdo-popup-wrap .vdo-wrap .close-btn{width: 80px; height: 80px; position: absolute; right: -40px; top: -40px; cursor: pointer;}
.vdo-popup-wrap .vdo-wrap .close-btn .line{position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background-color: white;}
.vdo-popup-wrap .vdo-wrap .close-btn .line1{transform: rotate(45deg);}
.vdo-popup-wrap .vdo-wrap .close-btn .line2{transform: rotate(-45deg);}
.vdo-popup-wrap iframe{width: 100%; height: 100%;}

.vdo-popup-wrap.visible{opacity: 1; pointer-events: all;}

.inner-con{max-width: 1450px; margin: 0 auto; position: relative;}
.inner-1060{max-width: 1060px; margin: 0 auto; position: relative;}
.inner-950{max-width: 950px; margin: 0 auto; position: relative;}

.m-map{display: none;}


/*scroll-animation*/
.scroll-obj{transition: 1.4s;}
.scroll-obj.fadeY{opacity: 0; transform: translateY(30px);}
.scroll-obj.fadeX{opacity: 0; transform: translateX(30px);}
.scroll-obj.fadeXR{opacity: 0; transform: translateX(-30px);}
.scroll-obj.fadeY.on{opacity: 1; transform: translateY(0px);}
.scroll-obj.fadeX.on{opacity: 1; transform: translateX(0px);}
.scroll-obj.fadeXR.on{opacity: 1; transform: translateX(0px);}
.scroll-obj.scrollY{transform: translateY(1.2em);}
.scroll-obj.scrollY.on{transform: translateY(0);}
.scroll-obj.lineY{transform: scaleY(0); transform-origin: top;}
.scroll-obj.lineY.on{transform: scaleY(1);}
.scroll-obj.lineX{transform: scaleX(0); transform-origin: left;}
.scroll-obj.lineX.on{transform: scaleX(1);}

.img-mask{display: block; transform: translateY(100%); overflow: hidden; position: relative;  width: 100%;  height: 100%;}
.img-mask.on{transform: translateY(0);}
.img-mask img{transform: translateY(-100%); transition: 1.4s;}
.img-mask.on img{transform: translateY(0%);}
.img-mask iframe{transform: translateY(-100%); transition: 1.4s;}
.img-mask.on iframe{transform: translateY(0%);}
.img-mask video{transform: translateY(-100%); transition: 1.4s;}
.img-mask.on video{transform: translateY(0%);}



.m-br{display: none;}
@keyframes rollingTxt {
    from{
        transform: rotate(0);
    }
    to{
        transform: rotate(360deg);
    }
}

@keyframes rollingTxt_translate {
    from{
        transform: translate(-50%,50%) rotate(0);
    }
    to{
        transform: translate(-50%,50%) rotate(360deg);
    }
}

@keyframes rollingTxt_translateX {
    from{
        transform: translateX(-50%) rotate(0);
    }
    to{
        transform: translateX(-50%) rotate(360deg);
    }
}

@media all and (min-width: 1025px){
    .hd.fixed .header-fixed-wrap{background-color: #c2b0a2c4;}
    .hd.fixed .header-fixed-wrap .inner-con{padding-top: 20px; padding-bottom: 10px;}
    .hd.fixed .header-fixed-wrap .logo{width: 150px; margin-top: -10px;}
    
}

@media all and (max-width: 1550px) {
    .inner-con{width: calc(100% - 100px);}
    
}

@media all and (max-width: 1400px) {
    .main-wrap .movie-btn{right: 0;}
    .room-preview-section .room-preview-info-wrap .left-wrap .txt p{font-size: 13px;}
    .room-preview-section .room-preview-info-wrap .left-wrap{padding: 0 50px;}
    
}

@media all and (max-width: 1024px) {
    .room-preview-section .room-preview-info-wrap .left-wrap{width: 70%; padding: 0;}
    .room-preview-section .room-preview-info-wrap .right-wrap{width: 50%; position: absolute; top: 0; right: 0; padding: 0; z-index: 5;}
    .room-preview-section .room-preview-info-wrap .swiper-slide{height: 70vw;}
    .room-preview-section .room-preview-info-wrap .right-wrap .tit{margin-bottom: 25px;}
    .room-preview-section .room-preview-info-wrap .right-wrap .swiper-slide{height: 50vw;}
    
    .room-preview-section .room-preview-info-wrap .left-wrap .txt{margin-top: 200px;}
    .room-preview-section .room-preview-info-wrap .left-wrap .slide-page-wrap{margin-left: 0;}
    .room-preview-section .svg-tit{width: 100%; left: 0;}
    .room-preview-section .inner-con{padding-top: 200px;}
    .special-preview-section .special-preview-slide{width: 60%;}
    .special-preview-section .txt-wrap{width: 40%;}
    
    .special-preview-section .tit-wrap h2{font-size: 52px;}
    .special-preview-section .tit-wrap h2:first-of-type{margin-bottom: 60px;}
    .view-wrap .intro-section .img-wrap .img.on{width: 65vw;}
    .view-wrap .intro-section .img-wrap .img{width: 32vw; height: 32vw;}
    .view-wrap .intro-section .tit{font-size: 6vw;}
    .view-wrap .intro-section .tit-wrap{margin-bottom: 100px;}
    .view-wrap .intro-section .reser-box{bottom: 115px;}
    .view-wrap .info-section .txt-info-wrap{flex-flow: column-reverse;}
    .view-wrap .info-section .txt-info-wrap .txt-wrap{margin-top: 80px; margin-bottom: 100px;}

    .room-wrap .info-section .top-info{display: block;}
    .room-wrap .info-section .top-info .txt-contents{width: 100%;}
    .room-wrap .info-section .top-info .txt-contents .txt-wrap{margin-left: 0; margin-top: 35px;}
    .room-wrap .info-section .top-info .txt-contents .txt-wrap p{font-size: 13px; margin-bottom: 20px;}
    .room-wrap .info-section .top-info .txt-contents .txt-wrap li{font-size: 13px; white-space: inherit; display: block; margin-bottom: 15px;}
    .room-wrap .info-section .top-info .txt-contents .txt-wrap li span{display: block;}
    .room-wrap .info-section .top-info .txt-contents .tit-wrap .tit{left: 0; position: relative; font-size: 32px; margin-top: 125px;}
    .room-wrap .info-section .top-info .txt-contents .tit-wrap .img{width: 60%;}
    .room-wrap .info-section .bottom-info{margin-left: 0; margin-top: 30px;}
    .room-wrap .info-section .bottom-info a{font-size: 13px; padding: 5px 15px;}
    .room-wrap .info-section .bottom-info .img{display: none;}
    
    .room-wrap .info-section .top-info .txt-contents .tit-wrap{display: block;}
    .room-wrap .info-section .top-info .img-contents{position: absolute; right: 0; top: 12vw;}
    .room-wrap .info-section .top-info .img-contents .img{height: 52vw;}
    .reser-wrap .intro-section .img-wrap .img1{width: 25%; top: auto; bottom: 25px;}
    .reser-wrap .intro-section .img-wrap .img2{width: 30%; left: auto; right: -15px; top: -60px;}
    .reser-wrap .intro-section .img-wrap .img3{width: 52%; bottom: -50px; right: -20px;}
    .reser-wrap .info-section .reser-info-wrap{width: 100%;}
    .reser-wrap .info-section .refund-wrap{width: 100%; padding-left: 0;}
    .reser-wrap .info-section{flex-flow: column;}
    .tour-wrap .info-section .right-info .img-wrap .big-img{width: calc(100% - 25px);}
    .tour-wrap .info-section .right-info .txt-wrap .txt{padding-left: 15px;}
    .tour-wrap .info-section .right-info .txt-wrap .tit{margin-bottom: 60px;}
    .tour-wrap .info-section .txt-wrap .txt h5 .line{display: none;}
}
@media all and (max-width: 900px){
    .inner-con{width: calc(100% - 50px);}
    .hd .header-contents-wrap .inner-con{padding-top: 50px; justify-content: center;}
    .hd .header-contents-wrap .top-con{margin-bottom: 35px;}
    .hd .header-contents-wrap .top-con .menu-img-wrap{display: none;}
    .hd .header-contents-wrap .top-con .main-menu-wrap{width: 100%;}
    .hd .header-contents-wrap .top-con .main-menu-wrap .main-list > a::after{height: 25px;}
    .hd .header-contents-wrap .top-con .main-menu-wrap .main-list > a::before{display: none;}
    .hd .header-contents-wrap .top-con .main-menu-wrap .main-list .sub-menu{margin-top: 0px;}
    .hd .header-contents-wrap .top-con .main-menu-wrap .main-list .sub-menu li{margin-right: 10px; margin-bottom: 10px;}
    .hd .header-contents-wrap .top-con .main-menu-wrap .main-list .sub-menu li a{font-size: 12px;}
    .hd .header-contents-wrap .top-con .main-menu-wrap .main-list > a{font-size: 20px; padding-right: 10px; margin-right: 10px;}
    .hd .header-contents-wrap .top-con .main-menu-wrap .main-list .cata-num{font-size: 12px; top: -10px; display: none;}
    .hd .header-contents-wrap .top-con .main-menu-wrap .main-list{margin-bottom: 25px; }
    .hd .header-contents-wrap .bottom-con{display: block; padding-bottom: 0;}
    .hd .header-contents-wrap .bottom-con .tel-wrap{width: 100%;}
    .hd .header-contents-wrap .bottom-con .sns-wrap{width: 100%;}
    .hd .header-contents-wrap .bottom-con .tel-wrap li{font-size: 14px;}
    .hd .header-contents-wrap .bottom-con .sns-wrap{display: none;}
    .hd .header-contents-wrap .bottom-con .sns-wrap li{font-size: 13px;}

    .hd .header-fixed-wrap .logo{width: 125px;}
    .hd .header-fixed-wrap .menu-btn{margin-top: 5px;}
    .hd .header-fixed-wrap .inner-con{padding-top: 10px; padding-bottom: 10px;}
    .hd .header-fixed-wrap{background-color: #c3b1a3;}
    .con1{padding-top: 67.5px;}
}

@media all and (max-width: 700px){
    .top-vdo iframe{pointer-events: all;}
    .inner-con{width: calc(100% - 30px);}
    .vdo-popup-wrap .vdo-wrap .close-btn{width: 50px; height: 50px; right: -25px; top: -25px;}
    .top-slide-wrap .con1 .top-overflow{width: 200vw; transform: translateX(-50vw);}
    .top-slide-wrap .con1 .top-move-box{transform: translateX(50vw);}
    .top-slide-wrap .con1 .tit-wrap .tit h2{font-size: 32px;}    
    .top-slide-wrap .con1 .swiper-slide{height: 300px;}
    .top-slide-wrap .con1 .tit-wrap{bottom: 30px;}

    .top-img-wrap .con1 .top-img-wrap{height: 300px;}
    .top-img-wrap .con1 .top-img-wrap .tit-wrap{width: 44%;height: 81%; margin-top: 34px;}
    .top-slide-wrap .con1 .top-vdo-wrap{height: 300px;}
    .top-img-wrap .con1 .top-img-wrap .tit-wrap h3{font-size: 20px;}
    
    .main-wrap .movie-btn{display: none;}
    .intro-cata{padding-top: 30px;}
    
    .main-wrap .visual-section .inner-img{    max-width: 46vw;isolation: isolate;}
    
    .intro-cata .txt{margin-top: 15px;}
    .intro-cata .txt span{font-size: 13px;}

	.room-preview-section .room-preview-info-wrap .center-tit{position: absolute; top: -30px; left:0px; width: 100%; text-align: center; font-size: 24px; font-family: "IvyMode";   font-weight: 200;  letter-spacing: 0.04em;}


	.main-wrap .visual-section .visual-tit-wrap h2 {
		font-size: 9vw;
		font-family: "IvyMode", sans-serif;
		font-weight: 400;
		color: #333;
		line-height: 1em;
		letter-spacing: 0.05em;
	}    

.ft .ft-logo img{display: block; width: 60%; margin:0 auto; padding-top:20px;}

.ft .inner-con{ padding-top: 0px; padding-bottom: 45px !important;}


.section-header .sub-title {margin-top: 0px;}

.rolling-res-wrap {display:none;}



.room-preview-section .inner-con{padding-top: 0px;}
    .room-preview-section .room-preview-info-wrap{flex-flow: column-reverse; /*padding-bottom: 80px;*/}
    .room-preview-section .room-preview-info-wrap .left-wrap{padding: 0; width: 100%; margin-bottom:60px;}
    .room-preview-section .room-preview-info-wrap .right-wrap{padding: 0; width: 100%; margin-bottom: 15px;}
    .room-preview-section .room-preview-info-wrap .left-wrap .txt p{white-space: initial; font-size: 13px;}
    .room-preview-section .room-preview-info-wrap .swiper-slide{height: 112vw;}
    .room-preview-section .room-preview-info-wrap .left-wrap .slide-page-wrap{margin-left: 0; margin-top: 30px;}
    .room-preview-section .room-preview-info-wrap .left-wrap .slide-page-wrap .num{font-size: 13px;}
    .room-preview-section .svg-tit{display: none;}
    .room-preview-section .room-preview-info-wrap{margin-top: 50px;}
    .room-preview-section .room-preview-info-wrap .left-wrap .txt{margin-top: 25px;}
    .room-preview-section .room-preview-info-wrap .right-wrap{position: relative;}
    .room-preview-section .room-preview-info-wrap .right-wrap .swiper-slide{height: 87vw;}
    .room-preview-section .room-preview-info-wrap .right-wrap .m-vdo-wrap .swiper-slide{height: 52vw; margin-bottom: 15px;}
    .room-preview-section .room-preview-info-wrap .right-wrap .m-vdo-wrap .swiper-slide iframe{width: 100%; height: 100%;}
    .room-preview-section .room-preview-info-wrap .right-wrap .tit h2{font-size: 32px;}
    .room-preview-section .room-preview-info-wrap .right-wrap .tit{margin-top: 0px; margin-left: 15px; margin-bottom: 30px;}
    .main-wrap .visual-section .visual-tit-wrap{margin-top: 50px; margin-bottom: 50px;}
    .main-wrap .visual-section .visual-img-wrap{height: 300px;}
    .main-wrap .visual-section .visual-tit-wrap h3{font-size: 5vw;}
    .special-preview-section .inner-con{flex-flow: column;}
    .special-preview-section .special-preview-slide{width:100%;}
    .special-preview-section{padding-top: 40px;}
    .special-preview-section .tit-wrap{top: -35px;}
    .special-preview-section .tit-wrap h2{font-size: 32px;}
    .special-preview-section .tit-wrap h2:first-of-type{margin-bottom: 15px;}
    .special-preview-section .special-preview-slide .swiper-slide{height: 350px;}
    .special-preview-section .txt-wrap{width: 100%; flex-flow: column-reverse; padding-top: 15px;}
    .special-preview-section .txt-wrap{padding-left: 0;}
    .special-preview-section .txt-wrap .txt-list-wrap .list h5{font-size: 14px;}
    .special-preview-section .txt-wrap .txt-list-wrap .list p{font-size: 13px;}
    .special-preview-section .link-btn{width: 100px; height: 100px;  transform: translate(0); bottom: 0; right: 0; left: auto;}
    
    .intro-cata{padding-top: 30px;}
    .view-wrap .intro-section .img-wrap .img{width: 40vw; height: 40vw;}
    
    .view-wrap .intro-section .img-wrap .img.on{width: 60vw;}
    .view-wrap .intro-section .img-wrap .img img{width: 80vw;}
    .view-wrap .intro-section .img-wrap{top: auto; bottom: 0; left: auto; right: 0; transform: translateX(0);}
    .view-wrap .intro-section .tit{font-size: 6vw; margin-bottom: 30px;}
    .view-wrap .intro-section .reser-box{display: none;}
    .view-wrap .intro-section{margin-top: 70px; padding-bottom: 20px; margin-bottom: 50px;}
    .view-wrap .intro-section .txt-wrap{margin-bottom: 125px;}
    .view-wrap .intro-section .txt-wrap p{font-size: 13px;}
    .view-wrap .visual-section .visual-img{height: 300px;}
    .view-wrap .visual-section .visual-img .tit{font-size: 32px;}
    .view-wrap .info-section .txt-info-wrap{flex-flow: column-reverse;}
    .view-wrap .info-section .txt-info-wrap .tit-wrap h3{font-size: 32px;}
    .view-wrap .info-section .txt-info-wrap .tit-wrap h5{font-size: 14px;}
    .view-wrap .info-section .txt-info-wrap .txt-wrap p{font-size: 13px;}
    .view-wrap .info-section .txt-info-wrap .txt-wrap{margin-right: 0; margin-top: 30px; margin-bottom: 0;}
    .view-wrap .info-section .img-wrap .img{width: 50%;}
    .view-wrap .info-section .img-wrap{margin-top: 30px;}
    .view-wrap .info-section .img-wrap .flex-box{flex-wrap: wrap;}
    .view-wrap .info-section{padding-top: 60px; padding-bottom: 50px;}
    .view-wrap .intro-section .tit-wrap{margin-bottom: 0;}
    
    .map-wrap .map-box .tit{font-size: 32px;}
    .map-wrap .map-box .map-container{width: 320px; margin: 0 auto; height: 250px;}
    .map-wrap .info-section{padding-top: 80px; padding-bottom: 200px;}
    .map-wrap .txt-wrap{margin-top: 50px;}
    .map-wrap .txt-wrap h5{margin-bottom: 15px;}
    .map-wrap .txt-wrap p{font-size: 13px; margin-bottom: 25px;}

    .tour-wrap.top-img-wrap .con1 .top-img-wrap .tit-wrap h3 span:last-of-type{display: none;}
    .tour-wrap.top-img-wrap .con1 .top-img-wrap .tit-wrap h3 span:first-of-type{display: none;}
    .tour-wrap.top-img-wrap .con1 .top-img-wrap .tit-wrap h3{justify-content: center; font-size: 20px;}

    .tour-wrap .info-section .img-wrap{width: 100%;}
    .tour-wrap .info-section .tour-info{flex-flow: column;}
    .tour-wrap .info-section .right-info .img-wrap .big-img{width: 100%; margin-top:50px;}
    .tour-wrap .info-section .right-info .img-wrap .small-img{bottom: 0; transform: translateY(50px);}
    .tour-wrap .info-section .tour-info .small-img img{width: 40vw;}
    .tour-wrap .info-section .txt-wrap{width: 100%; margin-top: 10px;}
    .tour-wrap .info-section .txt-wrap .tit h5{font-size: 12px; margin-bottom: 15px;}
    .tour-wrap .info-section .txt-wrap .tit h2{font-size: 28px;}
    .tour-wrap .info-section .right-info .txt-wrap .tit{margin-bottom: 20px;}
    .tour-wrap .info-section .right-info .txt-wrap .txt{padding-left: 0;}
    .tour-wrap .info-section .txt-wrap .txt h5{font-size: 14px; margin-bottom: 15px; line-height: 24px;}
    .tour-wrap .info-section .txt-wrap .txt h5 .location{font-size: 11px;}
    .tour-wrap .info-section .tour-info{margin-bottom: 0px;}
    .tour-wrap .info-section .left-info .img-wrap .big-img{width: 70vw;}
    .tour-wrap .info-section .left-info .img-wrap{display: block;}
    .tour-wrap .info-section .tour-info .small-img{position: absolute; bottom: 0; right: 0; width: 40vw; transform: translateY(50px);}
    .tour-wrap .info-section .tour-info .small-img img{width: 100%; display: block;}
    .tour-wrap .info-section .left-info .txt-wrap .tit h5{text-align: left;}
    .tour-wrap .info-section{padding-bottom: 0; padding-top: 0px;}
    .tour-wrap .info-section .txt-wrap .txt h5 .line{display: none;}
    .tour-wrap .info-section .txt-wrap .txt p{font-size: 13px;}
    .tour-wrap .info-section .txt-wrap .txt p br{}
    .tour-wrap .info-section .txt-wrap .txt p br.m-br{display: block;}
    .tour-wrap .info-section .left-info .txt-wrap .txt{margin-top: 0;}
    .tour-wrap .info-section .left-info .txt-wrap .tit{margin-bottom: 50px;}
    .room-wrap .intro-section .img-wrap .svg-tit{width: 150%; left: -25%; top: -15%;}
    .room-wrap .intro-section .img-wrap .tit h2{font-size: 50px;}
    .room-wrap .intro-section .img-wrap{width: calc(100% - 50px);}
    .room-wrap .intro-section .img-wrap{margin-top: 120px;    transform: scale(0.8); margin-bottom: 50px;}
    .room-wrap .week_date p{font-size: 14px; padding: 0 10px;}
    .room-wrap .room-price-section{padding-bottom: 150px;}
    .room-wrap .info-section .top-info .txt-contents .tit-wrap .img{width: 100%;}
    .room-wrap .info-section .top-info .img-contents{top: 70vw;}

    .room-wrap .room-nav-section .list-wrap li{margin-bottom: 20px;}
    .room-wrap .room-nav-section .list-wrap li a{font-size: 24px;}
    .room-wrap .room-nav-section .img-wrap{position: absolute;}
    .special-wrap .info-section{padding-top: 0px; padding-bottom: 0px;}
    .room-wrap .room-nav-section .list-wrap{width: 100%; position: relative; z-index: 5;}
    .room-wrap .room-nav-section .img-wrap{width: 35%;}
    .room-wrap .room-nav-section .img-wrap .svg-txt{width: 120px; height:120px; display: none;}
    .room-wrap .room-nav-section .img-wrap.img-right{right: 0; top: 0;}
    .room-wrap .room-nav-section .img-wrap.img-left{left: 0; bottom: 0;}
    .room-wrap .room-nav-section{padding-top: 80px; margin-bottom: 100px;}

    /* .special-wrap .info-section .img-wrap{position: relative;} */
    .special-wrap .info-section .txt-wrap .tit-box .tit{font-size: 9vw;}
    .special-wrap .info-section .txt-wrap{padding-top: 50px;}
    .special-wrap .info-section .img-wrap.img-right .svg-txt{width: 120px; height: 120px; top: 0; bottom: 0; display: none;}
    .special-wrap .info-section .side-deco-txt{display: none;}
    .special-wrap .info-section .img-wrap.img-left .img{width: 50%;}
    .special-wrap .info-section .img-wrap.img-left{align-items: start; flex-flow: column; position: relative;}
    .special-wrap .info-section .txt-wrap{padding-bottom: 15px;}
    .special-wrap .info-section .img-wrap.img-left .img{margin-top: -50px; margin-bottom: 30px; width:100%;}
    .special-wrap .info-section .img-wrap.img-left .txt{margin-left: 0;}
    .special-wrap .info-section .img-wrap.img-left .txt h5{margin-bottom: 15px;}
    .special-wrap .info-section .img-wrap.img-left .txt p{font-size: 13px;}
    .special-wrap .visual-section{margin-bottom: 50px;}
    .special-wrap .visual-section .visual-img{height: 300px;}
    .special-preview-section{padding-bottom: 0;}
    .reser-wrap .info-section{flex-flow: column;}
    .reser-wrap .info-section .reser-info-wrap{width: 100%;}
    .reser-wrap .info-section .refund-wrap{width: 100%; padding-left: 0;}
    .reser-wrap .info-section h3{font-size: 18px;}
    .reser-wrap .info-section p{font-size: 13px;}
    .reser-wrap .info-section .reser-info-wrap p{margin-bottom: 30px;}
    .reser-wrap .info-section .reser-info-wrap li{font-size: 13px;}
    .reser-wrap .info-section .reser-info-wrap h5{font-size: 14px; margin-bottom: 5px;}
    .reser-wrap .info-section .reser-info-wrap .info{margin-bottom: 20px;}
    .reser-wrap .info-section .refund-wrap{margin-top: 50px;}
    .reser-wrap .info-section .refund-wrap table th, .reser-wrap .info-section .refund-wrap table td{font-size: 12px;}
    .reser-wrap .price-section{margin-bottom: 65px;}
    .reser-wrap .rsv_cal_t p{font-size: 13px; padding: 0 10px;}
    .reser-wrap .intro-section{padding-top: 80px; margin-bottom: 150px;}
    .reser-wrap .intro-section .txt-wrap{padding-top: 0;}
    .reser-wrap .intro-section .txt-wrap .tit{width: 100%; text-align: center; padding-bottom: 30px;}        
    .reser-wrap .intro-section .txt-wrap .tit h3{font-size: 10vw;}
    .reser-wrap .intro-section .txt-wrap .tit h5{font-size: 8vw;}
    .reser-wrap .intro-section .txt-wrap .txt{padding-left: 0; padding-right: 0;}
    .reser-wrap .intro-section .txt-wrap .txt li{font-size: 13px;}
    .reser-wrap.top-img-wrap .con1 .top-img-wrap{height: 300px;}
    
    .notice-wrap .info-section{padding-top: 30px; padding-bottom: 80px;}
    .movie-wrap .info-section{padding-top: 30px; padding-bottom: 80px;}
    .ft .ft-vdo-wrap img{width: 180px;}
    .ft .ft-vdo-wrap .txt-wrap h3{font-size: 18px;}
    .ft .ft-vdo-wrap .txt-wrap p{font-size: 13px;}
    .ft{text-align: center;}
    .ft .ft-logo{width: 145px; margin-bottom: 10px;}
    .ft .ft-top-info .address{font-size: 13px;}
    .ft .ft-top-info{display: block;}
    .ft .ft-menu-wrap{display: none;}
    .ft .ft-bottom-info{flex-flow: column-reverse; align-items: center;}
    .ft .ft-bottom-info .sns-wrap li{margin: 0 15px;}
    .ft .ft-bottom-info .copyright{margin-top: 15px;}
    .ft .inner-con{padding-bottom: 45px;}
    .ft .ft-round-wrap{width: 200vw; transform: translateX(-50vw); margin-left: 0; border-radius: 50% 50% 0 0; }
    .m-map{display: block;}
    .pc-map{display: none;}
    .m-br{display: block;}
.q-map{display: none !important;}
}



.history-section { width: 100%; padding: 100px 0 0 0; font-family: "IvyMode", sans-serif; text-align: center;  }
.history-container { max-width: 1450px; margin: 0 auto; padding: 0 30px; }
.history-header { margin-bottom: 0px; }
.history-header .sub-title { font-size: 11px; letter-spacing: 2px; color: #adadad; text-transform: uppercase; display: block; margin-bottom: 8px; font-family: "Open Sans";}
.history-header .main-title { font-size: 54px; font-weight: 300; color: #1d1d1d; line-height: 1; margin-bottom: 20px; font-family: "IvyMode", sans-serif; }
.history-header .header-line { width: 1px; height: 50px; background: #adadad; margin: 0 auto; }

.common-header-section { width: 100%; padding: 100px 0 0 0; font-family: "IvyMode", sans-serif; text-align: center;  }
.common-header-container { max-width: 1450px; margin: 0 auto; padding: 0 30px; }
.common-header { margin-bottom: 0px; }
.common-header .sub-title { font-size: 11px; letter-spacing: 2px; color: #adadad; text-transform: uppercase; display: block; margin-bottom: 8px; font-family: "Open Sans";}
.common-header .main-title { font-size: 54px; font-weight: 300; color: #1d1d1d; line-height: 1; margin-bottom: 20px; font-family: "IvyMode", sans-serif; }
.common-header .header-line { width: 1px; height: 50px; background: #adadad; margin: 0 auto; }



.timeline-minimal { position: relative; max-width: 1200px; margin: 0 auto; }
/* 타임라인 노드 스타일 */
.timeline-node { position: relative; padding: 30px 0; z-index: 1; }
.timeline-node .year { font-size: 28px; color: #000; font-weight: 400; margin-bottom: 25px;  display: inline-block; padding: 0 25px; position: relative; letter-spacing:-1px; }
.timeline-node .content { padding: 0 0px; }
.timeline-node .content p { font-size: 14px; line-height: 1.6; color: #2d2d2d; font-family: "Open Sans"; word-break: keep-all; margin-bottom: 5px; }
.timeline-node .content p.tit { font-size: 16px; line-height: 1.6; color: #2d2d2d; font-weight:600; letter-spacing:-1px; margin-bottom: 10px; }
.timeline-node .content p:last-child { margin-bottom: 0; }
.timeline-node.current .year { font-weight: 500; color: #000;}
/* 이미지 삽입 영역 스타일 */
.node-image-wrap { padding: 40px 0; width: 100%; display: flex; justify-content: center; }
.vertical-img { width: 100%; max-width: 400px; height: 550px; overflow: hidden; border-radius: 200px 200px 0 0; box-shadow: 20px 20px 40px rgba(0,0,0,0.05); }
.vertical-img img { width: 100%; height: 100%; object-fit: cover; transition: 0.8s ease; }
.vertical-img:hover img { transform: scale(1.05); }
/* 반응형 */
@media (max-width: 1024px) { .history-header .main-title { font-size: 40px; } .timeline-node .year { font-size: 24px; } .vertical-img { max-width: 320px; height: 450px; } }
@media (max-width: 1024px) { .common-header .main-title { font-size: 40px; } .timeline-node .year { font-size: 24px; } .vertical-img { max-width: 320px; height: 450px; } }
@media (max-width: 768px) { .history-section { padding: 60px 0 0 0; } .timeline-node { padding: 40px 0; } .vertical-img { max-width: 280px; height: 400px; border-radius: 140px 140px 0 0; } }
@media (max-width: 768px) { .common-header-section { padding: 60px 0 0 0; } .timeline-node { padding: 30px 0; } .vertical-img { max-width: 280px; height: 400px; border-radius: 140px 140px 0 0; } }



/* Vender Section Style */
.vender-section { width: 100%; padding: 0 0; text-align: center; }
.vender-container { max-width: 1400px; margin: 0 auto; }

/* Vender Intro */
.vender-intro { margin-bottom: 80px; }
.vender-desc p { font-size: 17px; line-height: 1.5; color: #555; font-family: "Open Sans"; word-break: keep-all; letter-spacing:-0.5px;}

/* Vender Grid */
.vender-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.vender-card { 
    padding: 30px 20px; border-bottom: 1px solid #dfdfdf; 
    border-radius: 0px; /* 박스 라운드 추가 */
    transition: 0.4s; display: flex; flex-direction: column; justify-content: center; align-items: center;
    text-decoration: none; /* 링크 밑줄 제거 */
}
.vender-card:hover {    cursor:pointer; }
.vender-card span { font-size: 18px; color: #1d1d1d; font-weight: 500; margin-bottom: 8px; display: block; font-family: "S-CoreDream", sans-serif; }
.vender-card small { font-size: 11px; color: #adadad; text-transform: uppercase; letter-spacing: 1px; font-family: "Open Sans"; }

/* 반응형 */
@media (max-width: 1024px) {
    .vender-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .vender-section { padding: 0px 0; }
    .vender-intro { margin-bottom: 50px; }
    .vender-desc p { font-size: 14px; }
    .vender-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } /* 모바일에서 2칸 유지 */
    .vender-card { padding: 30px 10px; } /* 모바일에서 라운드 및 패딩 조정 */
    .vender-card span { font-size: 16px; }
    .vender-card small { font-size: 10px; }
}


/* Recruit Section */
.recruit-section { width: 100%; padding: 0 0;  text-align: center; }
.recruit-container { max-width: 900px; margin: 0 auto; }

/* 비주얼 이미지 */
.recruit-visual { margin-bottom: 80px; display: flex; justify-content: center; }
.arch-img { width: 100%; max-width: 450px; height: 550px; overflow: hidden; border-radius: 225px 225px 0 0; box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
.arch-img img { width: 100%; height: 100%; object-fit: cover; }

/* Recruit 전용 아치형 마스크 설정 */
.recruit-section .arch-img { 
    width: 100%; 
    max-width: 450px; 
    height: 550px; 
    overflow: hidden; 
    border-radius: 225px 225px 0 0; /* 아치 형태 유지 */
    box-shadow: 0 20px 40px rgba(0,0,0,0.05);
    
    position: relative;
}

/* 기존 마스크 효과 강제 적용 및 보정 */
.recruit-section .img-mask { 
    display: block; 
    width: 100%; 
    height: 100%;
    transform: translateY(100%); /* 처음엔 아래에 숨김 */
    overflow: hidden; 
    transition: transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.recruit-section .arch-img.on .img-mask { 
    transform: translateY(0); /* 스크롤 시 위로 올라옴 */
}

.recruit-section .img-mask img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover;
    transform: translateY(-100%); /* 이미지 자체는 반대로 내려가서 고정된 것처럼 보이게 함 */
    transition: transform 1.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.recruit-section .arch-img.on .img-mask img { 
    transform: translateY(0); 
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .recruit-section .arch-img { height: 400px; max-width: 320px; border-radius: 160px 160px 0 0; }
    .recruit-intro { margin-bottom: 0px !important; }
	.recruit-item {padding: 40px 0 !important;}
}



/* 도입부 */
.recruit-intro { margin-bottom: 50px; }
.recruit-intro p { font-size: 16px; line-height: 1.5; color: #575757; font-family: "Open Sans"; word-break: keep-all; letter-spacing:-1px; }

/* 세로 리스트 센터 정렬 */
.recruit-list-wrap {  }
.recruit-item { padding: 60px 0; border-bottom: 1px solid #e7e7e7; display: flex; justify-content: center; }

.item-info { width: 100%; max-width: 600px; } /* 센터 유지를 위한 너비 제한 */
.item-info h3 { font-size: 25px; color: #000; margin-bottom: 25px; font-weight: 400; letter-spacing: 1px;  }
.item-info h3 span{ font-size: 16px; color: #000; margin-bottom: 25px; font-weight: 400; letter-spacing: -1px; font-family: "Open Sans", sans-serif; }
.item-info .point-txt { font-size: 22px; color: #575757; font-weight: 500; font-family: "Open Sans", sans-serif; }

/* 텍스트 리스트 - 중앙 정렬 속 불릿 유지 */
.txt-list { display: inline-block; text-align: left; } /* 박스는 왼쪽 정렬하여 불릿 라인 맞춤 */
.txt-list p { 
    font-size: 16px; line-height: 1.6; color: #555; font-family: "Open Sans"; letter-spacing:-0.2px; 
    position: relative; padding-left: 18px; white-space: nowrap;
}
.txt-list p::before { 
    content: '·'; position: absolute; left: 0; top: 0;
    color: #555555; font-weight: bold; font-size: 20px; 
}

/* 지원하기 버튼 */
.recruit-action { margin-top: 60px; margin-bottom:90px; }
.apply-btn { 
    display: inline-block; width: 240px; height: 75px; line-height: 75px; 
    background: #7b7b7b; color: #fff; text-decoration: none; font-size: 16px; 
    letter-spacing: 2px; border-radius: 40px;  font-family: "Open Sans"; letter-spacing:-1px;
}
.apply-btn:hover { background: #555;  }

/* 반응형 */
@media (max-width: 768px) {
    .recruit-section { padding: 0px 0; }
    .arch-img { height: 400px; max-width: 320px; }
    .item-info h3 { font-size: 22px; }
    .txt-list p { font-size: 14px; white-space: normal; }
    .apply-btn { width: 100%; max-width: 280px; }
.recruit-action { margin-top: 60px; margin-bottom:40px; }
}

/* 기존 CSS 마지막에 추가 또는 병합 */

/* 인터랙션 초기 상태 설정 */
.scroll-obj {
    opacity: 0;
    transition: all 1.2s ease-out; /* 부드러운 움직임 */
}

.scroll-obj.fadeY {
    transform: translateY(50px); /* 아래에서 대기 */
}

/* 스크롤 시 'on' 클래스가 붙으면서 나타남 */
.scroll-obj.on {
    opacity: 1;
    transform: translateY(0);
}

/* 지원하기 버튼 호버 효과 강화 */
.apply-btn {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.apply-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
    text-decoration:underline;
    z-index: -1;
}

.apply-btn:hover::before {
    left: 100%; /* 버튼 위로 빛이 지나가는 효과 */
}

.apply-btn:hover {
    background: #948571;
   
    
}



/* 모달 레이아웃 */
.modal-overlay { 
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; 
    background: rgba(0,0,0,0.7); z-index: 1000; 
    display: none; justify-content: center; align-items: center; 
}
.modal-content { 
    background: #fff; width: 90%; max-width: 700px; max-height: 90vh; 
    padding: 60px 50px; border-radius: 20px; position: relative; overflow-y: auto; 
}
.modal-close { 
    position: absolute; top: 30px; right: 30px; font-size: 30px; 
    color: #1d1d1d; cursor: pointer; background: none; border: none; 
}

/* 모달 헤더 */
.modal-header { text-align: center; margin-bottom: 40px; }
.modal-header h2 { font-size: 36px; color: #1d1d1d; margin-bottom: 10px; }
.modal-header p { font-size: 14px; color: #adadad; font-family: "Open Sans"; }

/* 폼 스타일 */
.apply-form .form-group { margin-bottom: 25px; text-align: left; }
.apply-form label { 
    display: block; font-size: 14px; color: #1d1d1d; font-weight: 500; 
    margin-bottom: 8px; font-family: "Open Sans"; 
}
.apply-form input, .apply-form select, .apply-form textarea { 
    width: 100%; padding: 15px; border: 1px solid #e0e0e0; background: #fafafa; 
    border-radius: 8px; font-size: 14px; transition: 0.3s; outline: none; 
}
.apply-form input:focus, .apply-form textarea:focus { border-color: #d1b9a7; background: #fff; }
.form-flex { display: flex; gap: 20px; }
.form-flex .form-group { flex: 1; }

/* 파일 업로드 */
.file-upload { display: flex; align-items: center; gap: 15px; }
.file-upload input[type="file"] { display: none; }
.file-label { 
    background: #adadad; color: #fff; padding: 10px 20px; border-radius: 5px; 
    cursor: pointer; font-size: 13px; margin-bottom: 0 !important; 
}
.file-name { font-size: 13px; color: #adadad; }

/* 제출 버튼 */
.submit-btn { 
    width: 100%; height: 60px; background: #1d1d1d; color: #fff; border-radius: 30px; 
    font-size: 16px; letter-spacing: 2px; transition: 0.4s; cursor: pointer; 
}
.submit-btn:hover { background: #d1b9a7; }

/* 반응형 */
@media (max-width: 768px) {
    .modal-content { padding: 40px 20px; }
    .form-flex { flex-direction: column; gap: 0; }
}


/* 공통 레이아웃 */

.gallery-section { 
    padding: 60px 0;     
    width: 100%; /* 전체 너비 확보 */
}



/* 탭과 페이징, 예약섹션은 중앙 정렬을 유지하기 위해 별도 처리 */
.gallery-section .inner-con { 
    max-width: 1920px; /* 기존 중앙 정렬 유지 */
    margin: 0 auto; 
    padding: 0 20px; 
}

/* --- 회전하는 상담예약 버튼 --- */
.rolling-res-wrap {
    position: fixed; /* absolute에서 fixed로 변경 */
    right: 40px;     /* 우측 여백 */
    bottom: 40px;    /* 하단 여백 (스크롤 시 계속 이 위치 유지) */
    z-index: 9999;   /* 최상단에 위치하도록 설정 */
    pointer-events: none; /* 래퍼 자체는 클릭 방해 안되게 함 */
}

.rolling-btn {
    pointer-events: auto; /* 버튼만 클릭 가능하게 설정 */
    display: block;
    width: 110px;    /* 고정형일 때는 살짝 작게 조절해도 세련됨 */
    height: 110px;
    background: #111; 
    border-radius: 50%;
    position: relative;
    text-decoration: none;
    transition: transform 0.3s ease, background 0.3s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15); /* 떠 있는 느낌을 위한 그림자 */
}

.rolling-btn:hover { transform: scale(1.1) rotate(-5deg); }

/* 글자 회전 애니메이션 */
.rolling-btn svg {
    width: 100%;
    height: 100%;
    animation: rotateText 12s linear infinite;
}

.rolling-btn path { fill: none; }
.rolling-btn text { 
    fill: #fff; /* 글자색 흰색 */
    font-size: 11px; 
    font-weight: 500; 
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* [추가] 중앙의 얇은 화살표 아이콘 */
.rolling-btn .arrow-icon {
    position: absolute;
    top: 50%;
    left: 42%;
    transform: translate(-50%, -50%);
    width: 30px; /* 화살표 전체 폭 */
    height: 1px; /* 화살표 선 굵기 (얇게) */
    background: #fff; /* 화살표 색상 */
    transition: 0.3s ease;
}

/* 화살표 머리 부분 (삼각형) */
.rolling-btn .arrow-icon::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 1px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

/* 호버 시 화살표 애니메이션 */
.rolling-btn:hover .arrow-icon {
    transform: translate(-50%, 45%); /* 살짝 오른쪽으로 이동 */
}

@keyframes rotateText {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}







/* 1. 탭 메뉴 스타일 */
.gallery-tabs { 
    display: flex; justify-content: center; flex-wrap: wrap; 
    gap: 15px 40px; margin-bottom: 60px; list-style: none; padding: 0;

}
.gallery-tabs li { 
    font-size: 14px; font-weight: 500; color: #999; 
    cursor: pointer; position: relative; transition: 0.3s;
    letter-spacing: -0.01em; text-transform: uppercase;
font-family: "Open Sans";

}
.gallery-tabs li:hover, .gallery-tabs li.active { color: #111; }
.gallery-tabs li.active::after {
    content: ''; display: block; width: 100%; height: 1px; 
    background: #111; position: absolute; bottom: -8px; left: 0;
}

/* 2. 갤러리 그리드 (기본 3열) */
.gallery-grid { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 40px 30px; 
}
.gallery-item { cursor: pointer; }
.gallery-item .img-box { 
    aspect-ratio: 3.5 / 4.5; overflow: hidden; background: #f8f8f8; 
}
.gallery-item img { 
    width: 100%; height: 100%; object-fit: cover; 
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1);
}
.gallery-item:hover img { transform: scale(1.08); }
.gallery-item .txt-box { padding: 20px 0; text-align: left; }
.gallery-item h3 { font-size: 16px; font-weight: 500; margin-bottom: 8px; color: #111; font-family: "Open Sans"; }
.gallery-item p { font-size: 13px; color: #888; letter-spacing: 0.02em; }

/* 3. 페이징 스타일 */
.pagination-wrap {
    display: flex; justify-content: center; align-items: center;
    margin-top: 80px; gap: 20px;
}
.pg-num-list { display: flex; list-style: none; gap: 10px; padding: 0; }
.pg-num-list li a {
    display: block; font-size: 14px; color: #ccc; text-decoration: none;
    padding: 5px 12px; transition: 0.3s;
}
.pg-num-list li.active a, .pg-num-list li:hover a { color: #111; font-weight: 700; }

.pg-btn {
    width: 34px; height: 34px; border: 1px solid #eee; border-radius: 50%;
    position: relative; transition: 0.3s;
}
.pg-btn::before {
    content: ''; position: absolute; width: 7px; height: 7px;
    border-top: 1px solid #555; border-right: 1px solid #555;
    top: 50%; left: 50%;
}
.prev-pg::before { transform: translate(-30%, -50%) rotate(-135deg); }
.next-pg::before { transform: translate(-70%, -50%) rotate(45deg); }
.pg-btn:hover { border-color: #111; background: #111; }
.pg-btn:hover::before { border-color: #fff; }

/* 4. 예약 배너 섹션 */
.reservation-banner { 
    margin-top: 120px; padding: 80px 40px; background: #fdfdfd;
    border-top: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0;
    display: flex; justify-content: space-between; align-items: center;
}
.res-text h4 { font-size: 28px; font-family: "Open Sans"; margin-bottom: 15px; letter-spacing: 0.1em; }
.res-text p { font-size: 15px; color: #666; font-weight: 300; }
.res-btn { 
    display: inline-block; padding: 18px 50px; background: #111; color: #fff;
    text-decoration: none; font-size: 14px; letter-spacing: 0.1em; transition: 0.4s;
}
.res-btn:hover { background: #333; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
.arrow-icon { margin-left: 10px; }

/* 반응형 모바일 (Responsive) */
@media (max-width: 1024px) {
    .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .reservation-banner { padding: 60px 20px; }
	.rolling-res-wrap { right: 10px; top: -50px; transform: scale(0.8); }
}

@media (max-width: 768px) {
    .gallery-section { padding: 60px 0; }
    .gallery-tabs { gap: 25px 20px; justify-content: center; margin-bottom: 40px; }
    .gallery-tabs li { font-size: 12px; }
    .gallery-grid { grid-template-columns: repeat(1, 1fr); }
    .reservation-banner { flex-direction: column; text-align: center; gap: 40px; }
    .res-text h4 { font-size: 22px; }
    .res-btn { width: 100%; box-sizing: border-box; }
.rolling-res-wrap { position: relative; right: auto; top: 0; margin: 0 auto 40px; }
}
}



/* 상세 페이지 전체 컨테이너 */
.gallery-detail-container { padding: 100px 0; background: #fff; }
.inner-con { max-width: 1060px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }

/* 1. 상단 정보 영역 */
.detail-top-info { text-align: center; margin-bottom: 60px; }
.detail-cate { 
    display: flex; justify-content: center; align-items: center; gap: 10px;
    font-size: 18px; letter-spacing: -0.01em; color: #1d1d1d; margin-bottom: 20px; margin-top:30px;

}
.detail-cate .eng { font-weight: 600; }
.detail-cate .kor { color: #1d1d1d; }

.detail-tit { 
    font-size: 40px; font-family: "Open Sans"; font-weight: 500; color: #111; 
    margin-bottom: 35px; line-height: 1.2; 
}

.detail-text-area { max-width: 750px; margin: 0 auto; line-height: 1.6; color: #666; font-size: 15px; letter-spacing:-0.06em; }
.detail-info-line { margin-top: 30px; font-size: 14px; color: #bbb; display: flex; justify-content: center; gap: 20px; letter-spacing:1px;}

/* 2. 이미지 영역 (폭 900px 제한) */
.detail-img-list { max-width: 900px; margin: 0 auto; padding: 0 20px; }
.img-row { width: 100%; margin-bottom: 50px; overflow: hidden; }
.img-row img { width: 100%; height: auto; display: block; transition: 0.5s; }
.img-row:last-child { margin-bottom: 0; }

/* 3. 하단 내비게이션 */
.detail-nav-box { margin-top: 100px; border-top: 1px solid #eee; padding-top: 60px; }
.nav-flex { display: flex; justify-content: space-between; align-items: center; }

.nav-btn { width: 40%; text-decoration: none; transition: 0.3s; }
.nav-btn .dir { font-size: 11px; color: #bbb; letter-spacing: 0.2em; display: block; margin-bottom: 5px; }
.nav-btn .subject { font-size: 16px; color: #333; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; letter-spacing:-0.08em;}

.prev { text-align: left; }
.next { text-align: right; }
.nav-btn:hover .subject { color: #888; }

.nav-list-center { 
    display: flex; flex-direction: column; align-items: center; gap: 8px; 
    text-decoration: none; color: #111; font-weight: 700; font-size: 17px;
}
.list-dot { width: 4px; height: 4px; background: #111; border-radius: 50%; }

/* --- 반응형 (Responsive) --- */
@media (max-width: 1024px) {
    .detail-tit { font-size: 30px; }
    .detail-img-list { max-width: 100%; } /* 패드에서는 좀 더 넓게 */
}

@media (max-width: 768px) {
    .gallery-detail-container { padding: 60px 0; }
    .detail-tit { font-size: 24px; padding: 0 10px; }
    .detail-text-area { font-size: 14px; padding: 0 15px; }
    .img-row { margin-bottom: 20px; }
    
    /* 모바일에서 제목 숨김 */
    .nav-btn .subject { display: none; }
    .nav-btn { width: auto; }
	.reservation-text-area .desc-ko {font-size: 1.8rem !important; }
.reservation-form textarea {
   
    font-size: 1.7rem !important; 
    font-family: "Open Sans"  !important;   
}

.reservation-text-area .desc-en { font-size: 1.6rem !important; }
.reservation-text-area .notice-text { font-size: 1.6rem !important; }

}




/* 폰트 및 공통 */
.reservation-container, .reservation-container input, .reservation-container textarea, 
.reservation-container button, .modal-content {
    font-family: "Open Sans";
}

.reservation-container { padding: 50px 0;  text-align: center; }
.reservation-container .inner-con { max-width: 600px; margin: 0 auto; padding: 0 20px; }

/* 필수 표시 (*) 스타일 */
.required {
    color: #f44336;
    font-size: 1rem;
    vertical-align: middle;
    margin-left: 2px;
    display: inline-block;
}

/* 텍스트 영역 */
.reservation-text-area { margin-bottom: 50px; }
.reservation-text-area .desc-ko { font-size: 1rem; color: #575757; font-weight: 500; line-height: 1.4; margin-bottom: 15px; letter-spacing:-1px;  font-family: "Open Sans";}
.reservation-text-area .desc-en { font-size: 0.9rem; color: #888; font-weight: 400; }
.reservation-text-area .notice-text { margin-top: 30px; font-size: 1rem; color: #a38f7a; border-top: 1px solid #ddd; padding-top: 20px; }

/* 폼 그룹 */
.reservation-form { text-align: left; }
.form-group { margin-bottom: 30px; }
.reservation-form label { display: block; font-size: 0.95rem; color: #111; margin-bottom: 8px; font-weight: 600; letter-spacing:-0.5px;}

/* 인풋/텍스트에리어 (Radius 0) */
.reservation-form input[type="text"],
.reservation-form input[type="tel"],
.reservation-form input[type="date"],
.reservation-form textarea {
    width: 100%; padding: 12px 15px; background: #fff;
    border: 1px solid #dbdbdb; border-radius: 0; /* 라디우스 제거 */
    font-size: 0.82rem; color: #333; box-sizing: border-box; outline: none;
    transition: all 0.3s;	
	height : 55px; /* 명시적 높이 지정으로 정렬 오류 방지 */
	letter-spacing: -1px;
font-family: "OpenSans",sans-serif;
   
}
.reservation-form textarea { rows: 8; min-height: 180px; } /* 높이 증가 */
.reservation-form input:focus, .reservation-form textarea:focus { border-color: #333; }

/* 가로 레이아웃 */
.form-row { display: flex; gap: 15px; }
.form-row .form-group { flex: 1; }
.label-flex { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }

/* 원형 체크박스 공통 스타일 (미정/개인정보) */
.custom-check-wrap { display: flex; align-items: center; gap: 5px; }
.custom-check-wrap input[type="checkbox"] {
    appearance: none; -webkit-appearance: none;
    width: 18px; height: 18px; border: 1px solid #dbdbdb;
    border-radius: 50%; cursor: pointer; position: relative; background: #fff;
}
.custom-check-wrap input[type="checkbox"]:checked { background: #333; border-color: #333; }
.custom-check-wrap input[type="checkbox"]:checked::after {
    content: '✓'; color: #fff; font-size: 11px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
}
.custom-check-wrap label { font-weight: 500; color: #3d3d3d; font-size: 0.85rem; cursor: pointer; margin: 0; letter-spacing:-0.5px;}
.custom-check-wrap.mini label { font-size: 0.78rem; color: #888; }

/* 개인정보 섹션 */
.privacy-section { /*border-top: 1px solid #eee;*/ padding-top: 10px; }
.privacy-flex { display: flex; justify-content: space-between; align-items: center; }

/* 전문보기 버튼 스타일 */
.view-btn-box {
    background: #fff; border: 1px solid #ccc; color: #292929;
    padding: 6px 16px;  cursor: pointer;
    transition: 0.2s; border-radius: 30px; letter-spacing:-0.08px; font-weight:500;
}
.view-btn-box:hover { background: #f2f2f2; color: #333; border-color: #999; }

/* 이미지 스타일 버튼 그룹 (반응형) */
.form-footer-btns { display: flex; gap: 10px; margin-top: 40px; }
.form-footer-btns button {
    flex: 1; padding: 15px 0; font-size: 1rem; font-weight: 500;
    cursor: pointer; transition: 0.3s; box-sizing: border-box;
    border-radius: 0; /* 직선 스타일 */
}
.btn-cancel { background: #fff; border: 1px solid #ccc; color: #111; }
.btn-submit { background: #1a1a1a; border: 1px solid #1a1a1a; color: #fff; }

.btn-cancel:hover { background: #f9f9f9; }
.btn-submit:hover { background: #948571; }


/* 레이아웃 정렬 */
.label-flex {
    display : flex;
    justify-content : space-between;
    align-items : center; /* 세로 중앙 정렬 */
    margin-bottom : 10px;
    height : 24px; /* 높이 고정으로 가로 라인 일치 */
}

.label-flex label {
    margin-bottom : 0 !important;
    line-height : 24px;
}

/* 미정 체크박스 영역 정렬 */
.unfixed-check {
    display : flex;
    align-items : center;
    gap : 6px;
}

.unfixed-check input[type="checkbox"] {
    margin : 0; /* 기본 마진 제거 */
    width : 16px;
    height : 16px;
    cursor : pointer;
	-webkit-appearance: none;   
    border: 1px solid #dbdbdb;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    background: #fff;
	
}

.unfixed-check label {
    font-size : 0.9rem !important;
    color : #6f6f6f !important;
    font-weight : 400 !important;
    cursor : pointer;
    line-height : 1 !important; /* 체크박스와의 정렬을 위해 조정 */

}

/* --- 미정 체크박스 선택 시 스타일 보정 --- */
.unfixed-check input[type="checkbox"]:checked {
    background: #333;
    border-color: #333;
}
.unfixed-check input[type="checkbox"]:checked::after {
    content: '✓';
    color: #fff;
    font-size: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}




/* 인풋 박스 높이 통일 (date와 text 인풋 높이 일치) */
.reservation-form input[type="text"],
.reservation-form input[type="date"] {
    height : 55px; /* 명시적 높이 지정으로 정렬 오류 방지 */
    padding : 0 15px;
    line-height : 48px;
    border : 1px solid #dbdbdb;    
    letter-spacing:-1px;
    box-sizing : border-box;
    width : 100%;
    font-size : 0.85rem;
	
}

/* 비활성화 상태 스타일 */
.reservation-form input:disabled {
    background-color : #f5f5f5 !important;
    color : #bbb !important;
    border-color : #ddd !important;
    cursor : not-allowed;
    border-radius: 10px;
}

/* --- 모달 팝업 스타일 --- */
.modal-overlay {
    display: none; /* 기본 숨김 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 99999;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}

.modal-content {
    background: #fff;
    width: 100%;
    max-width: 500px;
    border-radius: 15px;
    padding: 30px;
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    text-align: left;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.modal-header h3 { font-size: 1.2rem; font-weight: 700; margin: 0; }
.modal-close-x { background: none; border: none; font-size: 2rem; cursor: pointer; color: #999; line-height: 1; }

.modal-body {
    height: 250px;
    overflow-y: auto;
    border: 1px solid #eee;
    padding: 15px;
    font-size: 0.85rem;
    line-height: 1.6;
    color: #666;
    background: #fafafa;
    margin-bottom: 20px;
}

.close-btn {
    width: 100%;
    padding: 15px;
    background: #7b7b7b;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
    cursor: pointer;
}





/* 모달 및 반응형 */
@media (max-width: 480px) {
    .form-row { flex-direction: column; gap: 0; }
    .privacy-flex { flex-direction: column; align-items: flex-start; gap: 15px; }
    .view-btn-box { width: 100%; text-align: center; }
    .form-footer-btns { gap: 8px; }
	.modal-content { padding: 20px; }
    .modal-body { height: 200px; font-size:1.6em;}
	.modal-header h3 { font-size: 1.8rem;  }

.close-btn { font-size: 1.6em; }

.modal-close-x { background: none; border: none; font-size: 4rem; cursor: pointer; color: #999; line-height: 1; }





}



/* Contact Container 전용 스타일 */
.contact-container { padding: 50px 0 80px; text-align: center; }
.contact-container .inner-con { max-width: 700px; margin: 0 auto; padding: 0 20px; }

/* 상단 타이틀 디자인 */
.contact-title { font-size: 2rem; font-weight: 800; letter-spacing: 2px; color: #111; margin-bottom: 5px; }
.header-line-short { width: 40px; height: 2px; background: #a38f7a; margin: 20px auto 0; }

/* 폼 요소 보정 */
.reservation-form input[type="email"] {
    width: 100%; padding: 12px 15px; background: #fff;
    border: 1px solid #dbdbdb; border-radius: 10px;
    height : 55px; font-size: 0.85rem; color: #333; box-sizing: border-box; outline: none;
    letter-spacing: -0.5px;
}

/* 제안내용 전용 높이 */
.reservation-form textarea#proposal_content {
    min-height: 150px;
    line-height: 1.6;
    padding: 20px;
font-family: "Open Sans";
}

/* 반응형 대응 */
@media (max-width: 768px) {
    .contact-title { font-size: 1.6rem; }
    .form-row { flex-direction: column; gap: 0; }
    .contact-container { padding: 40px 0 60px; }
	.reservation-form label {font-size: 1.75rem !important; }
.reservation-form input { font-size : 1.8rem !important;}
.form-footer-btns button {  font-size: 1.8rem !important;   }
.modal-header h3 { font-size: 2.2rem !important; }

.modal-body {font-size: 1.65rem !important;}



}

/* 기존 공통 스타일 유지 (필수!) */
.required { color: #f44336; font-size: 1rem; vertical-align: middle; margin-left: 2px; }
.reservation-form label { display: block; font-size: 0.95rem; color: #111; margin-bottom: 8px; font-weight: 600; letter-spacing:-0.5px; text-align: left;}
.form-footer-btns { display: flex; gap: 10px; margin-top: 40px; }
.form-footer-btns button { flex: 1; padding: 18px 0; font-size: 1rem; font-weight: 600; cursor: pointer;  }
.btn-cancel { background: #fff; border: 1px solid #ccc; color: #111; }
.btn-submit { background: #7b7b7b; border: 1px solid #7b7b7b; color: #fff; }




/* Corporate Contact 전용 스타일 */
.corporate-contact { padding: 50px 0 80px; text-align: center; }
.corporate-contact .inner-con { max-width: 700px; margin: 0 auto; padding: 0 20px; }

/* 웨딩베뉴 유무 라디오 버튼 커스텀 */
.venue-radio-group { display: flex; gap: 30px; margin-top: 15px; }
.radio-item { display: flex; align-items: center; gap: 8px; cursor: pointer; }

.radio-item input[type="radio"] {
    appearance: none; -webkit-appearance: none;
    width: 20px; height: 20px; border: 1px solid #dbdbdb;
    border-radius: 50%; cursor: pointer; position: relative; background: #fff;
    margin: 0;
}

.radio-item input[type="radio"]:checked {
    border-color: #333; background: #333;
}

.radio-item input[type="radio"]:checked::after {
    content: ''; width: 8px; height: 8px; background: #fff;
    border-radius: 50%; position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}

.radio-item label {
    font-size: 0.9rem !important; color: #3d3d3d !important;
    font-weight: 500 !important; cursor: pointer; margin-bottom: 0 !important;
}

/* 기존 스타일 기반 추가 보정 */
.reservation-form input[type="email"] {
    width: 100%; padding: 12px 15px; background: #fff;
    border: 1px solid #dbdbdb; border-radius: 10px;
    height: 55px; font-size: 0.85rem; color: #333; box-sizing: border-box; outline: none;
}

/* 반응형 처리 */
@media (max-width: 768px) {
    .form-row { flex-direction: column; gap: 0; }
    .venue-radio-group { gap: 20px; }

.radio-item label {
    font-size: 1.9rem !important; color: #3d3d3d !important;
    font-weight: 500 !important; cursor: pointer; margin-bottom: 0 !important;
}

}




.custom-btn-wrap {
  display: flex;
  justify-content: center;
  gap: 5px;
  padding: 40px 0;
}

.custom-btn-wrap.single a {
  width: auto;
  min-width: 260px;
}

.custom-btn-wrap.double a {
  flex: 1;
  max-width: 320px;
}

/* 버튼 내부 정렬 */
.black-round-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 18px 20px;
  text-decoration: none;
}

@media (max-width: 768px) {

  .custom-btn-wrap {
    flex-direction: column;
    padding: 20px 16px;
    gap: 0px;
  }

  /* 버튼 공통 */
  .custom-btn-wrap a {
    width: 100%;
    border-radius: 50px !important;
    display: flex;
    justify-content: space-between;
  }

  /* 텍스트 왼쪽 / 화살표 오른쪽 */
  .black-round-btn {
    justify-content: space-between;
    align-items: center;
  }

  .black-round-btn .txt {
    text-align: left;
    font-size: 14px;      /* 메인 텍스트 */
    line-height: 1.4;
  }

  .black-round-btn .txt br {
    display: none; /* 줄바꿈 제거해서 더 깔끔 */
  }

  .black-round-btn .txt small,
  .black-round-btn .txt span {
    font-size: 12px; /* 서브 텍스트 */
  }

  /* 화살표 오른쪽 고정 */
  .arrow-icon {
    flex-shrink: 0;
    margin-left: 12px;
  }

}






/* 독자적인 버튼 스타일 */
.black-round-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: #7b7b7b;
    color: #fff !important;
    padding: 16px 30px 16px 30px;     
    text-decoration: none;
    font-family: "Open Sans", sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    position: relative;
    letter-spacing:-0.5px;
    border-radius:30px;
}

/* 화살표 직선 영역 */
.arrow-icon {
    display: block;
    width: 35px; /* 기본 직선 길이 */
    height: 1px;
    background-color: #fff;
    margin-left: 15px;
    position: relative;
    transition: all 0.3s ease;
}

/* 오른쪽 위로만 뻗는 사선 */
.arrow-icon::after {
    content: '';
    position: absolute;
    right: 0; /* 직선의 오른쪽 끝 */
    top: 0;   /* 직선의 라인 위치 */
    width: 15px; /* 사선 길이 */
    height: 1px;
    background-color: #fff;
    /* -45도 회전하여 위쪽 방향으로 향하게 함 */
    transform: rotate(30deg); 
    /* 오른쪽 끝점을 기준으로 회전시켜 직선과 결합 */
    transform-origin: right top; 
    transition: all 0.3s ease;
}

/* 마우스 호버 효과 */
.black-round-btn:hover {
    background-color: #948571;
    padding-right: 65px;
    padding-left: 55px;
letter-spacing:-0.5x;
}

.black-round-btn:hover .arrow-icon {
    width: 35px; /* 호버 시 직선이 길어짐 */
}

/* 반응형 대응 */
@media (max-width: 480px) {
    .black-round-btn {
       width:80%
        padding: 15px 0;
font-size: 1.6rem;
    }

.time-label .en {  font-size: 2.8rem !important;  }
.time-label .ko { display: block; font-size: 1.85rem !important;  }
.partner-intro-area { text-align: center; margin-bottom: 50px !important;  }
.partner-grid li a { font-size: 1.8rem !important; }


}


/* Partner Timeline Container */
.partner-timeline-container { padding: 60px 0; font-family: 'Open Sans'; }
.partner-timeline-container .inner-con { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* 상단 소개 문구 */
.partner-intro-area { text-align: center; margin-bottom: 120px; }
.partner-intro-area .intro-ko { margin-bottom: 25px; }
.partner-intro-area .intro-ko p { font-size: 1rem; color: #575757; font-weight: 500; line-height: 1.7; letter-spacing: -0.5px; }
.partner-intro-area .intro-en { margin-bottom: 35px; }
.partner-intro-area .intro-en p { font-size: 0.95rem; color: #888; font-weight: 400; line-height: 1.6; letter-spacing: 0.3px; }
.partner-intro-area .intro-divider { width: 1px; height: 60px; background-color: #e5e5e5; margin: 0 auto; }

/* 타임라인 레이아웃 */
.timeline-item { display: flex; margin-bottom: 60px; position: relative; }
.time-label { width: 280px; text-align: right; padding-right: 50px; flex-shrink: 0; box-sizing: border-box; }
.time-label .en { display: block; font-size: 1.5rem; font-weight: 400; color: #111; letter-spacing: -0.8px; font-family: 'Open Sans'; line-height: 1.2; }
.time-label .ko { display: block; font-size: 0.95rem; color: #555555; margin-top: -1px; font-weight: 400; }

/* 중앙 수직선 및 포인트 */
.timeline-item::before { content: ''; position: absolute; left: 280px; top: 10px; bottom: -60px; width: 1px; background-color: #e5e5e5; }
.timeline-item:last-child::before { display: none; }
.timeline-item::after { content: ''; position: absolute; left: 276px; top: 12px; width: 9px; height: 9px; background-color: #fff; border: 2px solid #a38f7a; border-radius: 50%; z-index: 1; }

/* 우측 컨텐츠 그리드 (5열 정렬) */
.content-box { flex-grow: 1; padding-left: 50px; padding-top: 5px; }
.partner-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px 15px; }
.partner-grid li { position: relative; padding-left: 12px; line-height: 1.4; }
.partner-grid li::before { content: '-'; position: absolute; left: 0; color: #bbb; font-size: 0.8rem; }
.partner-grid li a { text-decoration: none; color: #555; font-size: 0.92rem; transition: all 0.2s; display: inline-block; letter-spacing: -0.5px; }
.partner-grid li a:hover { color: #000; font-weight: 700; }


/* --- Responsive --- */
@media (max-width: 1100px) {
    .time-label { width: 220px; padding-right: 30px; }
    .timeline-item::before { left: 220px; }
    .timeline-item::after { left: 216px; }
    .partner-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
    .partner-intro-area .intro-ko p { font-size: 1.8rem; }
    .partner-intro-area .intro-en p { font-size: 1.6rem; }
    .timeline-item { flex-direction: column; margin-bottom: 40px; }
    .timeline-item::before, .timeline-item::after { display: none; }
    .time-label { width: 100%; text-align: left; padding-right: 0; margin-bottom: 15px; }
    .content-box { padding-left: 0; }
    .partner-grid { grid-template-columns: repeat(3, 1fr); gap: 10px 5px; }
    .partner-grid li a:hover {
    color: inherit;
    font-weight: normal;
  }

}
@media (max-width: 480px) {
    .partner-grid { grid-template-columns: repeat(2, 1fr); }
}


/* 공통 */
.corporate-service-wrap { font-family: 'Open Sans', sans-serif; overflow-x: hidden; }
.header-line-center { width: 30px; height: 1px; background: #a38f7a; margin: 20px auto; }

/* 히어로 섹션 */
.corporate-hero { position: relative; height: 60vh; min-height: 500px; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; }
.hero-img-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; z-index: -1; filter: brightness(0.7); }
.corporate-hero .hero-text .sub-tit { display: block; font-size: 1rem; letter-spacing: 3px; margin-bottom: 20px; text-transform: uppercase; color: #a38f7a; }
.corporate-hero .hero-text .main-tit { font-size: 2.4rem; line-height: 1.4; font-weight: 700; letter-spacing: -1px; }

/* 메리트 섹션 */
.merit-section { padding: 100px 0; background-color: #fff; }
.section-title { text-align: center; margin-bottom: 60px; }
.section-title h3 { font-size: 2.2rem; font-weight: 300; letter-spacing: 5px; color: #111; margin-bottom: 10px; }
.section-title p { color: #888; font-size: 1rem; }

.merit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.merit-item { padding: 0px 0 0 0px;  transition: 0.3s; }
.merit-item:hover { transform: translateY(-10px);  }
.merit-item .num { font-size: 1.5rem; color: #a38f7a; font-weight: 700; margin-bottom: 20px; }
.merit-item h4 { font-size: 1.2rem; font-weight: 500; margin-bottom: 10px; color: #575757; }
.merit-item p { font-size: 0.9rem; color: #666; line-height: 1.6; word-break: keep-all; }

/* 서비스 프로세스 섹션 */
.process-section { padding: 100px 0; background-color: #fcfcfc; }
.process-row { display: flex; align-items: center; max-width: 1200px; margin: 0 auto 100px; padding: 0 20px; gap: 80px; }
.process-row.reverse { flex-direction: row-reverse; }
.process-row:last-child { margin-bottom: 0; }

.process-img { flex: 1.2; height: 450px; background-size: cover; background-position: center; }
.process-text { flex: 1; text-align: left; }
.process-text .step-label { font-size: 0.85rem; color: #a38f7a; font-weight: 700; margin-bottom: 15px; text-transform: uppercase; }
.process-text h3 { font-size: 2.2rem; font-weight: 400; color: #111; margin-bottom: 5px; }
.process-text .en { font-size: 0.95rem; color: #888; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; }
.process-text .ko { font-size: 1.05rem; color: #444; line-height: 1.7; word-break: keep-all; }

/* --- Responsive --- */
@media (max-width: 1024px) {
    .corporate-hero .hero-text .main-tit { font-size: 1.8rem; }
    .merit-grid { grid-template-columns: repeat(2, 1fr); }
    .process-row { gap: 40px; }
    .process-img { height: 350px; }
}

@media (max-width: 768px) {
    .merit-grid { grid-template-columns: 1fr; }
    .process-row, .process-row.reverse { flex-direction: column; gap: 30px; margin-bottom: 60px; }
    .process-img { width: 100%; height: 280px; }
    .process-text { text-align: center; }
    .section-title h3 { font-size: 1.8rem; }
}




/* 공통 */
.inner-1160 { max-width: 1160px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.vision-mission-section { padding: 120px 0; background: #fff; font-family: 'Open Sans', sans-serif; overflow: hidden; }

/* Vision 로우 */
.vision-row { display: flex; align-items: center; gap: 80px; margin-bottom: 150px; position: relative; }

.vision-img-group { flex: 1.2; position: relative; }
.vision-img-group .main-img { width: 85%; height: 600px; background-size: cover; background-position: center; }
.vision-img-group .arch-img { 
    position: absolute; right: 0; bottom: -50px; width: 45%; height: 350px; 
    background-size: cover; background-position: center; 
    border-radius: 150px 150px 0 0; /* 아치 형태 */
    box-shadow: 15px 15px 30px rgba(0,0,0,0.1);
}

.vision-text { flex: 0.8; }
.eng-title { font-size: 3.5rem; font-weight: 300; color: #111; margin-bottom: 40px; letter-spacing: -1px; }

.ko-desc strong { display: block; font-size: 1.25rem; font-weight: 700; color: #111; margin-bottom: 20px; }
.ko-desc p { font-size: 1rem; color: #444; line-height: 1.8; margin-bottom: 5px; word-break: keep-all; }

/* Mission 로우 */
.mission-row { display: flex; align-items: flex-start; gap: 80px; }

.mission-text { flex: 1; padding-top: 50px; }
.mission-item { margin-bottom: 60px; }
.mission-item h4 { font-size: 1.15rem; font-weight: 700; color: #111; margin-bottom: 20px; }
.mission-item .ko { font-size: 0.95rem; color: #444; line-height: 1.7; margin-bottom: 15px; word-break: keep-all; }
.mission-item .en { font-size: 0.85rem; color: #999; line-height: 1.6; font-style: italic; }

.mission-img { flex: 1; }
.mission-img .side-img { width: 100%; height: 650px; background-size: cover; background-position: center; }

/* --- Responsive --- */
@media (max-width: 1024px) {
    .vision-row, .mission-row { gap: 40px; }
    .eng-title { font-size: 2.8rem; }
}

@media (max-width: 768px) {
    .vision-mission-section { padding: 80px 0; }
    .vision-row, .mission-row { flex-direction: column; gap: 60px; text-align: left; }
    
    .vision-img-group .main-img { width: 100%; height: 400px; }
    .vision-img-group .arch-img { width: 50%; height: 250px; bottom: -30px; }
    
    .mission-img .side-img { height: 400px; }
    .vision-text, .mission-text { width: 100%; }    
    .eng-title { font-size: 2.5rem; margin-bottom: 25px; }

	
}



/* --- 비즈니스 제휴 섹션 스타일 --- */
.business-alliance-section {
    font-family: "Open Sans", "Spoqa Han Sans Neo", sans-serif;
    padding: 60px 0;
    color: #333;
    overflow: hidden;
}

.biz-inner-1160 {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px;
}

/* 상단 정보 (Detail Top Info) */
.detail-top-info { text-align: center;  }
.detail-tit { font-size: 17px; font-weight: 500; color: #575757; margin-bottom: 10px; letter-spacing: -1.5px; }
.detail-text-area p { font-size: 15px; color: #666; line-height: 1.6; font-weight: 400; }

/* 핵심 메리트 지그재그 레이아웃 */
.merit-zigzag-layout {
    max-width: 1160px;
    margin: 0 auto 0px;
    padding: 0 20px;
    box-sizing: border-box;
}

.merit-zigzag-grid {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
}

/* PC 지그재그 애니메이션 효과 */
.merit-item.up { transform: translateY(10px); }
.merit-item.down { transform: translateY(0px); }

/* 이미지 박스 */
.merit-item.up .img-box { position: relative; width: 100%; }
.merit-item.up .img-box img { width: 100%;
    max-width: 400px;
    height: 450px;  object-fit: cover; filter: brightness(0.98); border-radius:50% 0 40% 0; margin-bottom:60px;}


.merit-item.up .img-box-sq { display: flex;  justify-content: center; position: relative; width: 100%; }
.merit-item.up .img-box-sq img { width: 100%;  max-width: 100%; margin-right: 20px;  height: 100%;  object-fit: cover; filter: brightness(0.98); margin-bottom:10px;}



/* 배경 텍스트 (IvyMode 적용) */
.big-num {
    position: absolute;
    top: 50px;
    /*left: 12px;*/
    font-size: 60px;
    font-family: "IvyMode", sans-serif;
    font-weight: 700;
    color: #c5c5c5;
    opacity: 0.9;
    z-index: 2;
    line-height: 0.8;
}

/* 리스트 콘텐츠 그룹 */
.merit-content-group { margin-bottom: 18px; }
.merit-content-group:last-child { margin-bottom: 0; }

/* 오버랩 타이틀 (PC 1줄 유지) */
.overlap-tit {
    font-size: 35px;
    font-weight: 800;
    color: #000;
    padding-top: 10px;
    margin-bottom: 15px;
    z-index: 3;
    letter-spacing: -1.5px;
    white-space: nowrap; 
    display: block;
}

.text-box { padding-right: 20px; }
.text-box p { font-size: 14px; color: #666; line-height: 1.5; word-break: keep-all; letter-spacing:-1px;}

/* Service Direction 세로 정렬 */
.service-direction-v2 { text-align: center; margin-top: 50px; }
.dir-vertical-layout { display: flex; flex-direction: column; align-items: center; max-width: 1160px; margin: 0 auto; }
.dir-card-item { width: 100%; padding: 50px 0; border-top: 1px solid #eee; display: flex; flex-direction: column; align-items: center; }
.dir-card-item:last-child { border-bottom: 1px solid #eee; }
.dir-icon-wrap { margin-bottom: 30px; }
.dir-icon-wrap img { width: 120px; height: 120px; }
.dir-content h5 { font-size: 28px; font-weight: 400; margin-bottom: 20px; color: #000; letter-spacing: -1px; }
.dir-content p { font-size: 14px; color: #666; line-height: 1.6; word-break: keep-all; letter-spacing: -1px; }

/* ############################################################ */
/* ################ 모바일 최적화 (768px 이하) ################ */
/* ############################################################ */

@media (max-width: 1024px) {
    .overlap-tit { font-size: 28px; }

}

@media (max-width: 768px) {


    .business-alliance-section { padding: 50px 0; }
    
    /* 타이틀 크기 조정 */
    .detail-tit { font-size: 1.8rem; margin-bottom: 5px; }
    .detail-text-area p { font-size: 16px; }

    /* 1열 레이아웃으로 변경 */
    .merit-zigzag-grid { grid-template-columns: 1fr; gap: 0px !important; }
    
    /* 지그재그 효과 해제 (모바일 가독성) */
    .merit-item.up, .merit-item.down { transform: translateY(0); }
	.merit-item { padding-top:0px; }

.merit-item.up .img-box-sq { display:flex; flex-wrap: wrap;  position: relative; width: 100%; }
.merit-item.up .img-box-sq img { width: 100%;  max-width: 100%; margin-right: 0px;  height: 100%;  object-fit: cover; filter: brightness(0.98); margin-bottom:30px !important;}

.merit-item.up .img-box img { width: 100%;
    max-width: 400px;
    height: 450px;  object-fit: cover; filter: brightness(0.98); border-radius:50% 0 40% 0; margin-bottom:30px !important;}

    
    /* 배경 텍스트 크기 축소 */
    .big-num { font-size: 45px; top: 15px; }

    /* 오버랩 타이틀 모바일 최적화 */
    .overlap-tit { 
        font-size: 22px; 
        white-space: normal; /* 모바일 줄바꿈 허용 */
        line-height: 1.3;
        padding-top: 0;
    }

	.merit-item h4 {
		font-size: 2rem;
		font-weight: 600;
		margin-bottom: 10px;
		color: #333;
		letter-spacing: -1px;
        margin-top:30px;
	}
    
    .merit-content-group { 
        margin-bottom: 0px; 
        padding-bottom: 30px;
        border-bottom: 1px solid #f9f9f9; 
    }
    .merit-content-group:last-child { border-bottom: none; }
	

    .text-box { padding-right: 0; }
    .text-box p { font-size: 14px; letter-spacing:-0.5px; }

    /* 서비스 디렉션 모바일 최적화 */
    .dir-card-item { padding: 40px 0; }
    .dir-icon-wrap img { width: 90px; height: 90px; }
    .dir-content h5 { font-size: 22px; }
    .dir-content p { font-size: 14px; }
}




/* Venue Section Style */
.venue-section { width: 100%; padding: 0 0; text-align: center;  }
.venue-container { max-width: 1400px; margin: 0 auto; }

/* Venue Intro */
.venue-intro { margin-bottom: 80px; margin-top:60px;}
.venue-desc p { font-size: 14px; line-height: 1.5; color: #555; font-family: "Open Sans"; word-break: keep-all; letter-spacing: -0.5px; }

/* Venue Grid */
.venue-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; width:600px; margin:0 auto; }
.venue-card { 
    padding: 30px 20px; 
    border-bottom: 1px solid #dfdfdf; 
    border-radius: 0px; 
    transition: 0.4s; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center;
    text-decoration: none; 
}
.venue-card:hover { transform: translateY(-7px); cursor: pointer; }
.venue-card span { font-size: 18px; color: #1d1d1d; font-weight: 500; margin-bottom: 8px; display: block; font-family: "S-CoreDream", sans-serif; }
.venue-card small { font-size: 11px; color: #adadad; text-transform: uppercase; letter-spacing: 1px; font-family: "Open Sans"; }

/* 반응형 */
@media (max-width: 1024px) {
    .venue-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .venue-section { padding: 0px 0; }
    .venue-intro { margin-bottom: 50px; }
    .venue-desc p { font-size: 14px; }
    .venue-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } /* 모바일 2칸 유지 */
    .venue-card { padding: 30px 10px; border-radius: 8px; } /* 패딩 조정 */
    .venue-card span { font-size: 16px; }
    .venue-card small { font-size: 10px; }
}



/* 채용 정보 레이아웃 */
.rc-info-container {
    width: 100%;
    margin-bottom: 0px;
    border-top: 2px solid #333;
    font-size: 15px;
    color: #444;
}

.rc-info-row {
    display: flex;
    border-bottom: 1px solid #eee;
    padding: 20px 0;
    align-items: flex-start;
}

.rc-info-label {
    width: 150px;
    padding-left:10px;
    font-weight: 600;
    color: #222;
    flex-shrink: 0;
    letter-spacing:-1px;
}

.rc-info-content {
   flex-grow: 1;
    line-height: 1.6;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: -0.8px;
}

.rc-qualification {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: #666;
}

/* 다운로드 버튼 */
.rc-download-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 15px;
    border: 1px solid #ccc;
    margin-top: 10px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    transition: all 0.3s;
}

.rc-download-btn:hover {
    background-color: #f8f8f8;
    border-color: #888;
}

.download-icon {
    margin-left: 8px;
    font-style: normal;
}

/* 하단 유의사항 */
.rc-notice-box {
    padding: 25px 0 0 0;
    text-align: center;
    font-size: 15px;
    font-weight:400;
    color: #777;
    line-height: 1.5;
    letter-spacing:-0.8px;
}

.rc-highlight {
    color: #222;
    font-weight: 500;
    margin-top: 10px;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .rc-info-row {
        flex-direction: column;
        padding: 15px 0;
    }
    
    .rc-info-label {
        width: 100%;
        margin-bottom: 8px;
        font-size: 15px;
        color: #000; /* 모바일에서는 라벨을 가볍게 처리 */
    }
    
    .rc-info-content {
        font-size: 14px;
        padding-left:10px;
    }
    
    .rc-notice-box {
        font-size: 13px;
        text-align: left; /* 모바일은 좌측 정렬이 가독성이 좋음 */
    }
}


/* 섹션 구분선 */
.rc-section-divider {
    width: 100%;
    height: 2px;
    background-color: #333333;
    margin: 40px 0;
}

/* 폼 타이틀 스타일 */
.rc-form-title-wrap {
    margin-bottom: 30px;
    text-align: center; /* 중앙 정렬 (원하시면 left로 변경 가능) */
}

.rc-form-main-title {
    font-size: 24px;
    font-weight: 600;
    color: #222;
    margin-bottom: 8px;
    letter-spacing: -1px;
}

.rc-form-sub-title {
    font-size: 14px;
    color: #888;
}

/* 모바일 반응형 조절 */
@media (max-width: 768px) {
    .rc-section-divider {
        margin: 30px 0;
    }
    
    .rc-form-main-title {
        font-size: 20px;
        text-align:left;
    }
    
    .rc-form-sub-title {
        font-size: 13px;
    }
}


/* 파일 업로드 전체 컨테이너 */
.rc-file-upload-wrapper {
    width: 100%;
   
}

.rc-file-input-box {
    display: flex;
    gap: 10px;    
}

/* 파일명이 표시되는 가짜 인풋 */
.rc-file-name-display {
    flex-grow: 1;
    height: 45px;
    padding: 0 15px;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    color: #666;
    font-size: 14px;
    border-radius: 4px;
    outline: none;
}

/* 실제 숨겨진 파일 인풋 */
#rc_file_upload {
    display: none;
}

/* 파일 선택 버튼 스타일 */
.rc-file-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
	align-content: center;
    height: 55px;
    padding: 0 20px !important;
    background-color: #333;
    color: #fff  !important;
    font-size: 14px !important;    
    cursor: pointer;
    border-radius: 4px;
    transition: background 0.3s;
    white-space: nowrap;
}

.rc-file-btn:hover {
    background-color: #555;
}

/* 하단 가이드 텍스트 */
.rc-file-guide {
    margin-top: 8px;
    font-size: 12px;
    color: #999;
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .rc-file-input-box {
        flex-direction: column;
        align-items: stretch;
    }
    .rc-file-btn {
        width: 100%;
    }
}



/* 섹션 전체 */
.biz-map-location-section {
    padding: 60px 0;    
    text-align: center;
}

/* 지도 영역 - 테두리 제거 */
.map-flat-area {
    width: 100%;
max-width: 650px; /* 버튼의 적절한 너비 */
    margin-bottom: 50px;
    overflow: hidden;
    margin:0 auto;
}
.root_daum_roughmap { width: 100% !important; border: none !important; }
.root_daum_roughmap .wrap_map { border: none !important; height: 400px !important; }

/* 정보 영역 */
.map-info-footer {
    max-width: 800px; /* 텍스트와 버튼 폭 제한으로 가독성 확보 */
    margin: 0 auto;
}

.info-content-wrap h3 {
    font-size: 32px;
    color: #111;
    margin-bottom: 20px;
    font-weight: 300;
    margin-top:50px;
}

.info-content-wrap .address {
    font-size: 18px;
    color: #444;
    margin-bottom: 15px;
    word-break: keep-all;
}

.contact-details {
    font-size: 15px;
    color: #888;
    margin-bottom: 40px;
}
.contact-details span { margin: 0 10px; }
.contact-details b { color: #111; font-weight: 600; }

/* 버튼 영역 - 세로 정렬 및 중앙 정렬 */
.navi-btn-vertical {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    justify-content: center;
}

.btn-map {
    width: 100%;
    max-width: 300px; /* 버튼의 적절한 너비 */
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
}

.btn-map.kakao { background: #ebebeb; color: #3c1e1e; }
.btn-map.tmap { background: #1a1a1a; color: #fff; }
.btn-map:hover { opacity: 0.8; transform: translateY(-2px); }

/* --- 반응형 모바일 --- */
@media (max-width: 768px) {
    .biz-map-location-section { padding: 60px 0; }
    .root_daum_roughmap .wrap_map { height: 300px !important; }
    
    .info-content-wrap h3 { font-size: 26px; }
    .info-content-wrap .address { font-size: 16px; padding: 0 20px; }
    
    .contact-details { display: flex; flex-direction: column; gap: 5px; margin-bottom: 30px; }
    .btn-map { max-width: 100%; } /* 모바일에서는 버튼이 꽉 차게 */
}

/* 카카오맵 하단 주소 영역 디자인 */
.root_daum_roughmap .wrap_controllers {
    background-color: #f6f6f6 !important; /* 배경색 변경 */
    border-top: 1px solid #ddd !important;
    padding: 20px !important;
}

.root_daum_roughmap .wrap_controllers .info_dt {
    font-size: 14px !important;
    color: #1d1d1d !important; /* 글자색 변경 */
    font-weight: 500 !important;
    margin-bottom: 5px !important;
}

.root_daum_roughmap .wrap_controllers .info_dd {
    font-size: 13px !important;
    color: #555 !important;
    line-height: 1.6 !important;
}

/* 비즈니스 인포 섹션 전체 */
.biz-info-section {
    padding: 100px 0; /* 위아래 넉넉한 여백 확보 */
    text-align: center;
    background-color: #fff;
    font-family: "Open Sans", sans-serif;
}

.biz-info-section .promessa {
    font-size: 38px;
    margin-bottom: 25px;
    color: #111;
    font-weight: 300;
}

.biz-info-section .address {
    font-size: 18px;
    margin-bottom: 20px;
    color: #444;
    word-break: keep-all;
}

.contact-row {
    font-size: 15px;
    color: #888;
    margin-bottom: 40px; /* SNS 영역과의 간격 */
}
.contact-row b { color: #111; font-weight: 600; }
.contact-row .bar { margin: 0 15px; color: #eee; }

/* 소셜 링크 스타일 */
.sns-link-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px; /* 인스타와 블로그 사이 간격 */
    margin-bottom: 50px; /* 네비 버튼과의 간격 */
}

.sns-item {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #888;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.sns-item:hover {
    color: #111;
    text-decoration: underline;
}

/* SNS 아이콘 공통 */
.sns-item .icon {
    display: inline-block;
    width: 20px; height: 20px;
    margin-right: 8px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
/* [수정] 네이버 블로그 (n) 로고 적용 - SVG 방식으로 변경 */
.sns-item.naver-blog .icon {
    /* 기존 background-image 주소를 지우고 아래 SVG 코드를 넣습니다. */
    background-image: url('/img/naver.png'); 
    background-size: contain; /* 비율 유지 */
}

/* [추가] 인스타그램 컬러 로고 비율 조정 */
.sns-item.instagram .icon {
    /* 기존 이미지 주소 유지 */
    background-image: url('https://cdn-icons-png.flaticon.com/512/174/174855.png'); 
    background-size: contain;
}

/* --- 반응형 최적화 --- */
@media (max-width: 768px) {
    .biz-info-section { padding: 60px 0; }
    .biz-info-section .promessa { font-size: 28px; }
    .contact-row { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
    .contact-row .bar { display: none; }
    .sns-link-wrap { gap: 20px; margin-bottom: 40px; }
    .sns-item { font-size: 13px; }
    .sns-item .icon { width: 18px; height: 18px; margin-right: 6px; }
}



/* 변수 및 초기화 */
:root {
    --green : #7b7b7b; /* 브랜드 메인 컬러 */
	--white : #fff; /* 브랜드 메인 컬러 */
    --black : #000000;
    --gray-bg : #eff1f6;
    --text-gray : #9A9EA7;
    --btn-size : 5.4rem; /* 모든 버튼의 기본 크기 */
}

/* 퀵메뉴 전체 컨테이너 */
.quick_wrap { 
    position : fixed; 
    right : 1.5rem; 
    bottom : 5vh; 
    z-index : 100; 
    opacity : 0; 
    transition : opacity 0.3s; 
    pointer-events : none; 
}
.quick_wrap.show { opacity : 1; pointer-events : auto; }

/* 공통 버튼 그림자 및 라운드 */
.quick_wrap .quick_btn, 
.quick_wrap .reserv_btn, 
.quick_wrap .top_btn {
    box-shadow : 0 0 15px 0 rgba(0, 0, 0, 0.15);
    border-radius : 1rem;
    overflow : hidden;
}


svg {overflow: visible;}



/* =========================================
   1. 상단 퀵메뉴 버튼 (호버 시 확장형)
   ========================================= */
.quick_wrap .quick_btn { 
    display : flex; 
    align-items : flex-end; 
    height : var(--btn-size); 
    background-color : var(--green); 
    color : #fff; 
    transition : height 0.6s; 
}

.quick_wrap .quick_btn .quick_box .box { 
    display : flex; 
    flex-direction : column; 
    align-items : center; 
    justify-content : center; 
    width : var(--btn-size); 
    height : var(--btn-size); 
    text-decoration : none;
    color : inherit;
    transition : background-color 0.3s, opacity 0.6s; 
}

.quick_wrap .quick_btn .quick_box .box:not(.quick) { opacity : 0; }
.quick_wrap .quick_btn .quick_box .box .ico { height : 2rem; }
.quick_wrap .quick_btn .quick_box .box .ico svg,
.quick_wrap .quick_btn .quick_box .box .ico img { width : 100%; height : 100%; object-fit : contain; fill : #fff; }
.quick_wrap .quick_btn .quick_box .box .txt { margin-top : 0.6em; text-align : center; font-size : 0.75rem; font-weight : 500; }

/* =========================================
   2. 간편예약 버튼 및 폼
   ========================================= */
.quick_wrap .reserv_btn { position : relative; margin-top : 0.8rem; box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
    border-radius: 1rem;}
.quick_wrap .reserv_btn .btn { 
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 5.4rem;
    height: 5.4rem;
    border-radius: 1rem;
    background-color: #7b7b7b;
    color: #fff;
    fill: #fff;
    font-size: 1.35rem;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
    overflow-x: hidden;
}
.quick_wrap .reserv_btn .btn .ico { font-size : 1.8rem; margin-bottom : -2px; }
.quick_wrap .reserv_btn .btn .txt { font-size : 0.75rem; font-weight : 500; }

/* 예약 폼 (Popup) */
.quick_wrap .reserv_btn .quick_form { 
    position : absolute; left : 0; bottom : -5.4rem; transform : translateX(-100%); 
    min-width : 40rem; padding : 4rem 3.5rem; background-color : var(--gray-bg); 
    opacity : 0; transition : opacity 0.5s; pointer-events : none; border-radius : 1rem 0 0 1rem;
}
.quick_wrap .reserv_btn .quick_form.on { opacity : 1; pointer-events : visible; }
.quick_wrap .reserv_btn .quick_form > .tit { font-size : 2.6rem; font-weight : 700; color : #000; }
.quick_wrap .reserv_btn .quick_form > .txt { margin-top : 1em; font-size : 1.4rem; color : var(--text-gray); }

/* 폼 입력 요소 */
.quick_wrap .reserv_btn .quick_form .form_box { width : 100%; margin-top : 2.5rem; }
.quick_wrap .reserv_btn .quick_form .form_box .inp { position : relative; width : 100%; height : 5.5rem; margin-top : 1rem; border-radius : 0.5rem; background-color : #fff; overflow : hidden; }
.quick_wrap .reserv_btn .quick_form .form_box .inp input { width : 100%; height : 100%; border : 0; padding : 0 1.5rem; font-size : 1.6rem; font-weight : 500; }
.quick_wrap .reserv_btn .quick_form .form_box .inp .placeholder { position : absolute; left : 1.5rem; top : 50%; transform : translateY(-50%); font-size : 1.6rem; color : var(--text-gray); pointer-events : none; }
.quick_wrap .reserv_btn .quick_form .form_box .inp input:focus + .placeholder,
.quick_wrap .reserv_btn .quick_form .form_box .inp input:not(:placeholder-shown) + .placeholder { opacity : 0; }

/* 체크박스 및 버튼 */
.quick_wrap .reserv_btn .quick_form .priv_chk_box { display : flex; align-items : center; margin-top : 1.5rem; }
.quick_wrap .reserv_btn .quick_form .priv_chk_box label { font-size : 1.3rem; color : var(--text-gray); cursor : pointer; display : flex; align-items : center; }
.quick_wrap .reserv_btn .quick_form .btn_wrap { margin-top : 3rem; }
.quick_wrap .reserv_btn .quick_form .btn_wrap .form_btn { width : 100%; height : 6rem; background : var(--black); color : #fff; border : none; border-radius : 0.5rem; font-size : 1.8rem; font-weight : 600; cursor : pointer; }

/* 닫기 버튼 */
.quick_wrap .reserv_btn .quick_form .cls_btn { position : absolute; left : 0; top : 0; transform : translateX(-100%); width : 5rem; height : 5rem; background : var(--black); display : flex; align-items : center; justify-content : center; border-radius : 1rem 0 0 1rem; cursor : pointer; }
.quick_wrap .reserv_btn .quick_form .cls_btn svg { width : 50%; fill : #fff; }

/* =========================================
   3. TOP 버튼
   ========================================= */
.quick_wrap .top_btn { 
    position : relative; 
    display : flex; 
    align-items : center; 
    justify-content : center; 
    width : var(--btn-size); 
    height : var(--btn-size); 
    margin-top : 1.2rem; 
    background-color : #fff; 
    cursor : pointer; 
}
.quick_wrap .top_btn svg { width : 45%; height : 45%; fill : #7b7b7b; transition : all 0.3s; }

/* =========================================
   4. 반응형 및 호버 설정
   ========================================= */

/* PC 환경 호버 (1240px 이상) */
@media screen and (min-width : 1240px){   
    /* 5.4rem * 6개 = 32.4rem */
    .quick_wrap .quick_btn:hover { height : 27.6rem; } 
    .quick_wrap .quick_btn .quick_box:hover .box { opacity : 1; }
    .quick_wrap .quick_btn .quick_box .box:hover { background-color : #948571; }
    
    .quick_wrap .reserv_btn .btn:hover { background-color : #948571; color : var(--white); }
    .quick_wrap .top_btn:hover svg { fill : var(--black); transform : 
translateY(-5px); }
}

/* 태블릿/노트북 (중간 해상도 대응) */
@media screen and (max-width : 1921px) {  
    .quick_wrap { right : 3rem; }
}

/* 모바일 환경 (769px 이하) */
@media screen and (max-width : 768px){
    html { font-size : 7.7px; }
    .quick_wrap { position : fixed; right : 0; left : 0; bottom : 0; width : 100%; background : var(--green); opacity : 1; pointer-events : auto; }
    .quick_wrap .quick_btn { height : auto; width : 100%; border-radius : 0; box-shadow : none; }
    .quick_wrap .quick_btn .quick_box { display : flex; width : 100%; }
    .quick_wrap .quick_btn .quick_box .box { flex : 1; opacity : 1 !important; height : auto; padding : 15px 0; }
    .quick_wrap .quick_btn .quick_box .box .txt { font-size : 12px; }
    
    /* 모바일에서 플로팅 요소 숨김 */
    .quick_wrap .reserv_btn, .quick_wrap .top_btn { display : none; }
}




/* 1. 최외곽 컨테이너 */
.ca_partners_wrap {
    width: 100%;
    max-width: 850px;
    margin: 0 auto 60px;
    position: relative;
}

/* 2. UL 리스트 설정 */
.ca_partners {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* 3. 개별 LI 아이템 (데스크탑: 한 줄에 5개 기준) */
.ca_partners .item {
    width: 20%; 
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

/* 4. 썸네일 박스 */
.ca_partners .cp_thumbnail {
    position: relative;
    overflow: hidden;
    width: 150px;
    height: 150px;
    margin-bottom: 35px;
    border-radius: 10px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
    transition: 0.4s;
    background: #fff;
}

.ca_partners .cp_thumbnail:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
}

.ca_partners .cp_thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 로고 비율 유지 */
    padding: 10px; /* 로고 여백 */
    box-sizing: border-box;
}

/* --- 반응형 구간 --- */

/* 태블릿 (1180px 이하) */
@media all and (max-width: 1180px) {
    .ca_partners_wrap { top: 190px; }
    .ca_partners .item { width: 25%; } /* 한 줄에 4개 */
    .ca_partners .cp_thumbnail { width: 130px; height: 130px; }
}

/* 모바일 핵심 (768px 이하): 2열 배치 */
@media screen and (max-width: 768px) {
    .ca_partners_wrap { 
        top: 100px; 
        padding: 0 15px; 
    }
    .ca_partners .item { 
        width: 50%; /* 무조건 한 줄에 2개 */
        margin-bottom: 10px;
    }
    .ca_partners .cp_thumbnail { 
        width: 140px; 
        height: 140px; 
        margin-bottom: 20px;
    }
}

/* 소형 모바일 (480px 이하) */
@media all and (max-width: 480px) {
    .ca_partners .cp_thumbnail { 
        width: 120px; 
        height: 120px; 
    }
}

/* 상단 여백 조절용 (기존 코드 유지 및 정리) */
@media all and (max-width: 1700px) { .ca_partners_wrap { top: 0px; } }
@media all and (max-width: 1540px) { .ca_partners_wrap { top: 0px; } }
@media all and (max-width: 1280px) { .ca_partners_wrap { top: 0px; } }









