/* nav */


/* *************** GNB *************** */
#header {position: fixed; top: 0; right: 0; left: 0; width: 100%; z-index: 100;height: 74px;}
#header.gnb_bg {min-height: 350px;box-shadow: 4px 4px 18px rgb(0 0 0 / 10%);}
#header .logo {
    background: url(/common/images/homepage/common/logo.svg) no-repeat;
    transition: all 0.4s ease-in-out;
    background-size: 115px 42px;
}
.logo {
    width: 115px;
    height: 43px;
    position: absolute;
    top: 16px;
    left: 32px;
    z-index: 9999;
}
#header #gnbMenu {position:relative; height: 100%; text-align: center;}
#header #gnbMenu > ul {margin:0 auto;}
#header #gnbMenu > ul > li {display:inline-block; position:relative; vertical-align:top; text-align: center;}
#header #gnbMenu > ul > li > a {padding:0 20px;display:block; font-size: 18px; font-weight: 500; height: 74px; line-height: 74px; color: #000; transition: all 0.5s ease-in-out;}
#header #gnbMenu > ul > li > a:after {content: ''; position: absolute; top: 80px; width: 0; left: 50%; height: 3px; background: #222222; transition: all 0.4s ease-in-out;}
#header #gnbMenu > ul > li:hover a:after {width: 100%; left: 0;}
#header #gnbMenu ul.subMenu {opacity:0; display: none; width:100%; vertical-align:top; text-align:center; padding-top: 25px;}  
#header #gnbMenu ul.subMenu li {margin:20px 0; width:100%; text-align:center; white-space:nowrap;}
#header #gnbMenu ul.subMenu li a {color:#666; font-size:15px; display:block; font-weight: 400;}
#header #gnbMenu ul.subMenu li a:hover {color: #000; font-weight: 500;}

#header.on #gnbMenu:before {width: 100%; position: absolute; background: #e9e9e9; height: 1px; top: 81px; left: 0; content: '';}
#header.on #gnbMenu ul.subMenu {opacity:1;}

#header.on #gnbMenu > ul > li > a {transition: all 0.5s ease-in-out; padding: 0 25px;}

#header.on #gnbMenu ul li, #header.black-header #gnbMenu ul li {text-align: center;}
#header.on .rMenu .side_menu .open_menu, #header.black-header .rMenu .side_menu .open_menu {background: url(/common/images/homepage/common/menu_open.svg) no-repeat; transition: all 0.4s ease-in-out;}

#MgnbMenu {display: none;}

.gnb_bg {background: #fff; transition: all .3s ease-out;}

.rMenu {position: absolute; top: 25px; right: 32px;z-index: 9999;}
.rMenu .side_menu {display: inline-block; vertical-align: top;}
.rMenu .side_menu .open_menu {width: 24px; height: 24px; text-indent: -9999px; cursor: pointer; background: url(/common/images/homepage/common/menu_open.svg) no-repeat; background-size: cover;}
.rMenu .side_menu .close_menu {width: 24px; height: 24px; text-indent: -9999px; cursor: pointer; background: url(/common/images/homepage/common/menu_close.svg) no-repeat; background-size: cover;}

.rMenu .lang_wrap {display: inline-block; margin-right: 20px;}
.rMenu .language {width: 100%; text-align: center;}
.rMenu .language a {display: flex; align-items: center; color: #000; transition: all 0.4s ease-in-out; font-weight: 500; font-size: 14px; letter-spacing: -0.28px;}
.rMenu .language a:after {content:url(/common/images/homepage/common/lang_arrow.svg); display: inline-block; margin-left:3px; transition: all 0.4s ease-in-out; width: 20px; height: 20px;}
.rMenu .lang_list {margin-top: 15px; display:none;}
.rMenu .lang_list li {text-align: center; color: #fff; padding: 15px 0;}

.rMenu .lang_wrap.over .language a:after{content: url(/common/images/homepage/common/lang_arrow_up.png);}
.rMenu .lang_wrap.over .lang_list {border: 1px solid #e5e5e5; background: #fff;}
.rMenu .lang_wrap.over .lang_list li:hover {background: #ebebeb;}
.rMenu .lang_wrap.over .lang_list li:hover a {color: #222;}
.rMenu .lang_wrap.over .lang_list li a {color: #666; font-weight: 500; font-size: 14rem;}

.m_lang_wrap {display: none;}

.quick_menu .menu_list_wrap {width: 100%;}
.quick_menu {position:fixed; width:0; height:100%; right:0; top:0; background: #fff; z-index:99999; opacity: 0; visibility: hidden; transition: all .5s ease-out;}
.quick_menu.open {width: 100%; opacity: 1; visibility: visible;}
.quick_menu.open .rMenu .lang_wrap a {color: #fff;}
.quick_menu figure {display:table; height:100%;}
.quick_menu .menu_list {display:table-cell; vertical-align:middle; color: #666666; font-family: 'Playfair Display'; font-weight: 400;}
.quick_menu .menu_list dl:after {content:''; clear:both; display:block;}
.quick_menu .menu_list dl {width: 16.66%; float: left;}
.quick_menu .menu_list dl dt {font-weight:500; font-size:28px; margin-bottom: 90px; color: #4B4A46;}
.quick_menu .menu_list dl dd {font-size:18px; color: #666666;}
.quick_menu .menu_list dl dd a {display: block; margin-bottom: 40px;}
/*.quick_menu .menu_list dl dd a:hover {text-decoration: underline; color: #fff;}*/

.quick_menu.open .rMenu .language a:after{content:url(/common/images/homepage/common/wh_lang_arrow.png); display:inline-block; margin-left:16px;}
.quick_menu.open .rMenu .lang_wrap.over .language a:after{content: url(/common/images/homepage/common/wh_lang_arrow_up.png);}

.scroll {position: fixed; bottom: 50px; left: calc(50% - 14.5px); z-index: 9999; cursor: pointer;}
.area .scroll {position: absolute;}
.scroll .icon {height: 55px; background: url(/common/images/homepage/common/scroll_icon.png) top center no-repeat;}
.scroll p {color: #fff; font-size: 13rem; text-align: center;}

.paging_info {color: #fff; letter-spacing: 3px; font-size: 15rem;}

/* main */
.bx-wrapper img {width: 100%;}

.container {width: 100%; margin: 0 auto;}
.wrap1440 {width: 1440px; margin: 0 auto;}
#container {margin: 120px 0 240px}

.main_visual {height:960px; width: 100%; position: relative; top: -74px; font-family: 'Playfair Display'; margin-bottom: -74px;}
.main_visual_title {position: absolute; top: 288px; left: 50%; transform: translateX(-50%); z-index: 9; width: 100%; padding: 0 20px;}
.main_visual_title h2 {
	color: #4B4A46;
	text-align: center;
	font-size: 72px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: -1.44px;
}
.main_visual_title p {
	color: #4B4A46;
	text-align: center;
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: -0.44px;
	margin-top: 24px;
}

.mainSlider .swiper-slide {height: 960px; background-size: cover !important; -webkit-background-size: cover !important;}
.mainSlider .slide1 {background: url(/common/images/homepage/index/main_slide_01.jpg) no-repeat;}
.mainSlider .slide2 {background: url(/common/images/homepage/index/main_slide_01.jpg) no-repeat;}
.mainSlider .slide3 {background: url(/common/images/homepage/index/main_slide_01.jpg) no-repeat;}


.main_content > div {width: 100%;}
.intro_section {padding-top: 220px;}
.intro_section h3 {
	color: #4B4A46;
	font-family: 'Playfair Display';
	text-align: center;
	font-size: 54px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	padding: 0 20px;
}
.intro_section p {
	color: #909090;
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	margin-top: 30px;
	padding: 0 20px;
}
.intro_section_img {margin-top: 171px; height: 874px; background-size: cover !important; background: url(/common/images/homepage/index/main_section_01.jpg) no-repeat;}
.intro_slide {padding: 240px 0 240px 380px;}
.intro_slide > h3 {
	color: #4B4A46;
	font-family: 'Playfair Display';
	font-size: 54px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: -1.08px;
}
.intro_slide > p {
	color: #909090;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	margin-top: 15px;
}

.introSlider {margin-top: 60px;} 
.introSlider img {
	/*width: 500px;*/
	height: 644px;
	object-fit: cover;
} 
.introSlider .swiper-wrapper {gap: 40px;}

.visual_slide {height: 1094px;}
.visual_slide .swiper-slide {height: 1094px; background-size: cover !important; display: flex; align-items: center; justify-content: flex-end; padding-right: 380px;}
.visual_slide .slide1 {background: url(/common/images/homepage/index/visual_slide_01.jpg) no-repeat;}
.visual_slide div {text-align: right;}
.visual_slide p {
	color: #4B4A46;
	font-family: 'Playfair Display';
	font-size: 48px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}
.visual_slide span {
	margin-top: 10px;
	color: #4B4A46;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%;
}


.fac_slide ul {display: flex; justify-content: space-between;}
.fac_slide ul li {width: 33.33%; margin-right: 0 !important;}
.fac_slide ul li a {
	height: 921px;
    background-size: cover !important;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 56px 70px 56px;
	color: #FFF;
}
.fac_slide ul .fac1 {background: url(/common/images/homepage/index/index_fac01.jpg) no-repeat;}
.fac_slide ul .fac2 {background: url(/common/images/homepage/index/index_fac02.jpg) no-repeat;}
.fac_slide ul .fac3 {background: url(/common/images/homepage/index/index_fac03.jpg) no-repeat;}
.fac_slide ul li a p {
	font-family: 'Playfair Display';
	font-size: 48px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}
.fac_slide ul li a span {
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%;
	margin-top: 10px;
}

/* container */

.mainText {
    position: absolute;
    left: 273px;
    top: 193px;
    z-index: 9;
    width: 55%;
}
.mainText h2 {
	color: #222222;
    font-weight: bold;
    font-size: 90rem;
    line-height: 1;
	transform: translateY(30px);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
	opacity: 0;
}
.mainText h2.active {
	opacity: 1;
    transform: translateY(0);
}

.mainSlide {position: relative; width: 100%; overflow: hidden; margin-bottom: 30px; padding-top: 75px;}
.mainSlide ul li .acco1 {background: url(/common/images/homepage/index/main_slide_01.jpg) center center no-repeat; background-size: cover;}
.mainSlide ul li .acco2 {background: url(/common/images/homepage/index/main_slide_02.jpg) center center no-repeat; background-size: cover;}
.mainSlide ul li .acco3 {background: url(/common/images/homepage/index/main_slide_03.jpg) center center no-repeat; background-size: cover;}
.mainSlide ul li {height: 695px;}

.mainSlide.over:hover li.active-slide .zoom_wrap {transform: scale3d(1.05, 1.05, 1.05) rotate(0.001deg); transition-duration: .6s; text-indent: -9999;}

.mainSlide .bx-wrapper .bx-viewport ul li img {width: 100%; height: auto;}
.mainSlide .bx-wrapper .bx-has-pager {position: absolute; top: 0; right: 35px;z-index: 9;}
.mainSlide .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item {display: inline-block;margin-bottom: 10px;}
.mainSlide .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item a {text-indent: -9999px; background: #878787;width: 60px;height: 1px;}
.mainSlide .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item a.active {background: #222222;height: 2px;}

.mainSlide .zoom {overflow: hidden;}
.mainSlide .zoom_wrap {background-position: center !important;width: 100%;clip-path: inset(0 50% 0 50%);transition: clip-path 1s ease-out;}
.mainSlide .zoom_wrap.active {clip-path: inset(0 0 0 0);}

.slide-nav-info {
    display: flex;
    align-items: center;
    /* 슬라이드 이미지 위에 배치하기 위한 포지션 조정 예시 */
    position: absolute;
    top: 0;
    right: 15%;
    width: 90%; 
    max-width: 250px; /* 원하는 너비 설정 */
    z-index: 10; /* 다른 요소 위에 표시되도록 설정 */
    color: #222222;
}

.progress-bar-wrap {
    flex-grow: 1; 
    height: 2px;
    background-color: #dcdcdc;
    overflow: hidden;
}

.progress-bar {
    height: 100%;
    width: 0; 
    height: 3px;
    background-color: #222222; /* 진행 바 색상 */
}

.current-index, .total-slides {
    font-size: 14px;
    font-weight: bold;
    min-width: 18px; /* 01을 표시하기 위한 최소 폭 */
    text-align: right;
    margin: 0 6px;
}

.pause-play-btn {
    margin-left: 5px;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    min-width: 18px;
}

.middle_section {background-color: #F2F2F2;padding-top: 640px;margin-top: -400px;height: 1920px;}
.middle_contents {width: 1560px;margin: 0 auto;position: relative;height: 1300px;}
.middle_contents > p {position: absolute;padding-left: 47px;top: 0;right: 0;color: #222222;font-size: 23rem;font-weight: bold;opacity: 0;}
.middle_contents > p::before {
	content: "";
	border-top: 1px solid #878787;
	width: 30px;
	height: 1px;
	position: absolute;
	left: 0;
	top: 15px;
}
.middle_contents .image01 {
	opacity: 0;
	position: absolute;
    top: 0;
    left: 0;
    width: 515px;
	height: 644px;
	object-fit: cover;
}
.middle_contents .image02 {
	opacity: 0;
	position: absolute;
    top:200px;
    right: 0;
    width: 670px;
	height: 850px;
	object-fit: cover;
}
.middle_contents > div {
	opacity: 0;
	position: absolute;
    top: 750px;
    left: 0;
    width: 700px;
}
.middle_contents > div h3 {color: #222222;font-weight: 600;font-size: 65rem;word-break: keep-all;}
.middle_contents > div p {margin-top: 25px;color: #222222;line-height: 1.5;font-weight: 500;font-size: 20rem;}

.middle_contents .image01,
.middle_contents .image02,
.middle_contents > div,
.middle_contents > p {
	transform: translateY(100px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.middle_contents .image01.active,
.middle_contents .image02.active,
.middle_contents > div.active,
.middle_contents > p.active {
	opacity: 1;
    transform: translateY(0);
}

.main_slide_section {position:relative;width: 100%;height: 951px;}
.main_slide_section .acco1 {background: url(/common/images/homepage/index/slide01.jpg) center center no-repeat; background-size: cover;}
.main_slide_section .acco2 {background: url(/common/images/homepage/index/slide02.jpg) center center no-repeat; background-size: cover;}
.main_slide_section .acco3 {background: url(/common/images/homepage/index/slide03.jpg) center center no-repeat; background-size: cover;}
.main_slide_section .bx-wrapper .bx-has-pager {
	position: absolute;
    bottom: 180px;
    width: 90%;
    left: 50%;
    margin-left: -45%;
 }
.main_slide_section .zoom {overflow: hidden;position: relative; height: 951px;}
.main_slide_section .zoom_wrap {background-position: center !important;width: 100%;height: 100%;clip-path: inset(0 50% 0 50%);transition: clip-path 1s ease-out;}
.main_slide_section.active .zoom_wrap {clip-path: inset(0 0 0 0);}

.main_slide_section .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item {display: inline-block;margin-bottom: 10px;width: 33%;}
.main_slide_section .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item a {text-indent: -9999px; background: #FFFFFF;width: 100%;height: 2px;vertical-align: bottom;}
.main_slide_section .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item a.active {background: #FFFFFF;height: 4px;}

.main_slide_section .slide_detail {
	position: absolute;
    top: 300px;
    width: 100%;
    text-align: center;
}
.main_slide_section .slide_detail strong {font-size: 56rem;font-weight: 600;}
.main_slide_section .slide_detail p {font-size: 20rem;margin-top: 30px;padding: 0 20px;line-height: 1.5;}
.main_slide_section .slide_detail a {font-size: 15px;border: 1px solid #707070;padding: 12px 49px;display: inline-block;width: auto;margin-top: 40px;}

/* 흰 글씨 테마 */
.main_slide_section .slide_detail.white strong,
.main_slide_section .slide_detail.white p,
.main_slide_section .slide_detail.white a {color: #fff;}
.main_slide_section .slide_detail.white a {border: 1px solid #fff;}

/* 스와이퍼 css 추가 */
.main-swiper {
  width: 100%;
  height: 100%;
}
.custom-tab-nav {
  position: absolute;
  bottom: 180px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 30px;
  width: 90%;
  max-width: 1300px;
}
.tab-btn {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  color: rgba(255, 255, 255, 0.6);
  font-size: 21px;
  outline: none;
  transition: color 0.3s ease;
}
.progress-line {
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, 0.3);
  margin-bottom: 12px;
  position: relative;
  overflow: hidden;
}

.progress-line .bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: #ffffff;
}

/* 활성화 상태 (Active) */
.tab-btn.active {
  color: #ffffff;
  font-weight: bold;
}

.tab-label span {
  margin-left: 6px;
  font-size: 14px;
  vertical-align: bottom;
}

/* zoom */

.zoom {overflow: hidden; position: relative; width: 100%; height: 100%;}
.middle_menu .zoom {display: table;}
.zoom_wrap {position: absolute; width: 100%; height: 100%; top: 0; left: 0; transform: scale3d(1, 1, 1) rotate(0deg); transition-duration: .6s; z-index: -1; text-indent: -9999px;}
/* .zoom-over:hover .zoom_wrap {transform: scale3d(1.05, 1.05, 1.05) rotate(0.001deg); transition-duration: .6s;} */
.zoom-over a {width: 100%; height: 100%;}


/* main_section */

.main_section {position: relative; padding: 190px 0;text-align: right;}
.main_section h3 {padding-left: 65px;margin-bottom: 50px;color: #222222;font-weight: 600;font-size: 60rem;}
.main_section > div {width: 90%;display: inline-block;text-align: left;position: relative; transform: translateX(100%);opacity: 0;transition: transform 1s ease-out, opacity 1s ease-out;}
.main_section .bx-wrapper .bx-has-pager {position: absolute; bottom: 10px; left: 64px;width: 90%;}
.main_section .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item {display: inline-block;margin-bottom: 10px;width: 33%;}
.main_section .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item a {text-indent: -9999px; background: #EBEBEB;width: 100%;height: 2px;vertical-align: bottom;}
.main_section .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item a.active {background: #5A5A5A;height: 4px;}

.main_acco_slide {height: 580px; position: relative;padding-left: 64px;padding-bottom: 85px;z-index: 90; }
.main_section > div.active {transform: translateX(0);opacity: 1;}
.main_acco_slide img {object-fit: cover;}

.main_acco_slide > a {
	color: #C2C2C2;
    font-size: 28px;
    text-decoration: underline;
    font-weight: 300;
    transform: rotate(270deg);
    position: absolute;
    top: 30px;
    left: -30px;
    z-index: 99;
}

/*.main_acco_slide {height: 580px; position: relative;padding-left: 64px;padding-bottom: 85px;z-index: 90; transform: translateX(100%);opacity: 0;transition: transform 1s ease-out, opacity 1s ease-out;}
.main_acco_slide.active {transform: translateX(0);opacity: 1;}*/

.main_acco_slide ul li .main_acco_zoom {height: 360px; overflow: hidden;}
.main_acco .zoom-over li div {position: absolute; width: inherit; height: inherit; top: 0; left: 0; transform: scale3d(1, 1, 1) rotate(0deg); transition-duration: .6s; z-index: -1}
.main_acco_slide .main_acco_name {width:100%; height: 110px;}
.main_acco_slide .main_acco_name a p {margin-top: 35px;color: #222222;font-weight: 600;font-size: 28rem;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;}
.main_acco_slide .main_acco_name a span {margin-top: 15px;font-size: 18rem;color: #B5B6B6;}


/*.sub_visual h2 {font-size: 40px; font-weight: 700; margin-bottom: 20px; margin-top: 40px; display: none;}
.sub_visual .zoom {height: 550px; padding-top: 190px;}
.sub_visual .acco {height: 550px; background: url(/common/images/homepage/acco/acco_visual.png) no-repeat;}
.sub_visual .news {height: 550px; background: url(/common/images/homepage/board/news_visual.jpg) no-repeat;}

.sub_visual .cafe {height: 550px; background: url(/common/images/homepage/diningBar/din_visual.jpg) no-repeat;}
.sub_visual .eatery {height: 550px; background: url(/common/images/homepage/diningBar/din_visual.jpg) no-repeat;}

.sub_visual .business {height: 550px; background: url(/common/images/homepage/facilities/fac_visual.jpg) no-repeat;}
.sub_visual .fitness {height: 550px; background: url(/common/images/homepage/facilities/fac_visual.jpg) no-repeat;}
.sub_visual .Banquet {height: 550px; background: url(/common/images/homepage/facilities/fac_visual.jpg) no-repeat;}
.sub_visual .story {height: 550px; background: url(/common/images/homepage/facilities/fac_visual.jpg) no-repeat;}

.sub_visual .fac {height: 550px; background: url(/common/images/homepage/facilities/fac_visual.jpg) no-repeat;}
.sub_visual .loc {height: 550px; background: url(/common/images/homepage/facilities/location_visual.jpg) no-repeat;}
.sub_visual .intro {height: 550px; background: url(/common/images/homepage/facilities/about_visual.jpg) no-repeat;}

.sub_visual .zoom {overflow: hidden;position: relative; height: 550px;}
.sub_visual .zoom_wrap {background-position: center !important;width: 100%;height: 100%;clip-path: inset(0 50% 0 50%);transition: clip-path 1s ease-out;}
.sub_visual.active .zoom_wrap {clip-path: inset(0 0 0 0);}*/


/* SUB */
.sub_visual {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 960px;
	font-family: 'Playfair Display';
}
.sub_visual_content {
	text-align: center;
}
.sub_visual p {
	color: #4B4A46;
	text-align: center;
	font-size: 32px;
	font-style: normal;
	font-weight: 400;
	line-height: 89%;
	letter-spacing: -0.64px;
}
.sub_visual h3 {
	color: #4B4A46;
	font-size: 72px;
	font-style: normal;
	font-weight: 400;
	line-height: 89%;
	letter-spacing: -1.44px;
	margin-top: 32px;
}

.sub_visual.room {background: url(/common/images/homepage/acco/acco_visual.jpg) no-repeat;}
.sub_visual.pool {background: url(/common/images/homepage/facilities/pool_visual.jpg) no-repeat;}

/*.sub_info {padding: 70px 0 0;letter-spacing: -0.5px;margin-top: 80px;}
.sub_info h3.title {font-weight: bold; font-size: 80rem;display: inline-block;color: #222222;}
.sub_info span.title  {margin-left: 20px;font-weight: 500; font-size: 30rem;display: inline-block;line-height: 36px;color: #222222;}

.sub_info h3.title,
.sub_info span.title {
	opacity: 0;
	transform: translateY(30px);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.sub_info h3.title.active,
.sub_info span.title.active {
	opacity: 1;
    transform: translateY(0);
}
*/

.sub_acco {position: relative;margin-bottom: 60px;}
.sub_acco h4 {
	font-family: 'Playfair Display';
	color: #4B4A46;
	font-size: 54px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: -1.08px;
}
.sub_acco p {
	color: #999;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	margin-top: 10px;
}
.sub_acco .btn_wrap a {
	font-family: 'Playfair Display';
	color: #4B4A46;
	text-align: center;
	font-size: 22px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: -0.44px;
	padding: 18px 5px;
	border: 1px solid #333333;
	min-width: 200px;
	text-align: center;
}
.sub_acco .btn_wrap {position: absolute;right: 0;top: 0;}
.sub_acco .btn_wrap a.btn {color: #4B4A46;}
.sub_acco .btn_wrap a.btn.bl {color: #fff;background: #4B4A46;}
.sub_acco .btn_wrap a.btn + a {margin-left: 14px;}


.sub_slide {position: relative; padding-bottom: 70px; margin-bottom: 60px;}

.sub_slide .outside {
	position: absolute;
    right: 0;
    bottom: 0;
}
.sub_slide .outside span a {text-indent: -9999px; width: 48px; height: 48px; border-radius: 50%; border: 1px solid #E4E4E4;}
.sub_slide .outside span#slider2-prev a {bottom: 0; right: 50px; background: url(/common/images/homepage/common/prev.svg) no-repeat center;}
.sub_slide .outside span#slider2-next a {bottom: 0; right: 0; background: url(/common/images/homepage/common/next.svg) no-repeat center;}
.sub_slide .outside span + span {margin-left: 12px;}


.sub_info {
  background-color: #f9f9f9;
  padding: 56px 0;
  width: 100%;
  margin-bottom: 120px;
}
.room-info-list {display: flex;}
.info-item {
  flex: 1;
  text-align: center;
  position: relative;
}
.info-item:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px; 
  height: 110px;
  background-color: #E9E9E9;
}
.info-item .icon {
  margin-bottom: 24px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.info-item .label {
  margin-bottom: 3px;
  color: #999;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
}
.info-item .value {
	color: #222;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 150%;
}


.sub_img {
	display: grid;
    grid-template-columns: 2fr 1fr; 
    gap: 60px;
	width: 100%;
	margin-bottom: 140px;
}
.gallery-item {
	width: 100%;
    height: 100%; 
    min-height: 400px; 
    overflow: hidden;
}
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    display: block;
}

.sub_detail {margin-bottom: 60px;}
.sub_detail div {border-bottom: 1px solid #E1E1E1; padding: 56px 0; display: flex; align-items: flex-start;justify-content: space-between;}
.sub_detail div ul {display: flex; overflow: hidden;width: calc(100% - 350px);justify-content: space-between;}
.sub_detail div h3 {
	color: #4B4A46;
	font-family: 'Playfair Display';
	font-size: 32px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: -0.64px;
	width: 340px;
}
.sub_detail .room_list {border-top: 1px solid #E1E1E1;}
.sub_detail .room_list ul li {float: left; width: 33%; vertical-align: top;}
.sub_detail .room_list ul li h4 {
	color: #333;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: 40px;
	text-transform: uppercase;
}
.sub_detail .room_list ul li span {
	color: #666;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 40px;
	text-transform: uppercase;
}
.sub_detail div ul li em {
	display: inline-block; 
	width: 100%; 
	vertical-align: top; 
	color: #666;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 40px;
	text-transform: uppercase;
}
.sub_detail .room_list.b25 ul li:nth-child(n+4) {margin-top: 40px;}

.sub_detail .use ul {flex-direction: column;}
.sub_detail .use ul li {margin-bottom: 5px; position: relative; padding-left: 16px;}
.sub_detail .use ul li:before {content: ''; display: inline-block; width: 4px; height: 4px; background: #666; border-radius: 50%; vertical-align: middle; margin-right: 7px; position: absolute; top: 18px; left: 5px;}
.sub_detail .use ul li.no-bl:before {display: none;}
.sub_detail .room_list ul li.pw100 {width: 100%;}

.sub_detail_box {background: #F8F8F8; padding: 48px 60px;}
.sub_detail_box p {
	color: #999;
	font-family: 'Playfair Display';
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: -0.36px;
	margin-bottom: 8px;
}
.sub_detail_box ul {display: flex;}
.sub_detail_box li {
	color: #222;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	position: relative;
}
.sub_detail_box li + li {
	padding-left: 24px;
}
.sub_detail_box li + li::before {
	content: "";
	position: absolute;
	border-left: 2px solid #CCC;
	width: 2px;
	height: 14px;
	left: 12px;
	top: 4px;
}



.amenities {margin-top: 130px;}
.amenities h4 {font-weight: 400;font-size: 50rem;margin-bottom: 33px;}
.amenities > ul {height: 280px;display: flex;}
.amenities > ul > li {width: 33.3%;height: 280px;}
.amenities > ul > li.amenities01 {background: url(/common/images/homepage/acco/amenities01.png) no-repeat;}
.amenities > ul > li.amenities02 {background: url(/common/images/homepage/acco/amenities02.png) no-repeat;}
.amenities > ul > li.amenities03 {background: url(/common/images/homepage/acco/amenities03.png) no-repeat;}
.amenities > div {margin-top: 73px;display: inline-block;width: 24.6%;vertical-align: top;}
.amenities > div > p {font-size: 25px;color: #222222;font-weight: 700;margin-bottom: 30px;}
.amenities > div > ul > li {font-size: 20px;color: #666666;}
.amenities > div > ul > li + li {margin-top: 18px;}

.guide {margin: 200px 0;}
.guide img {width: 670px;height: 549px;object-fit: cover;}
.guide > div {display: inline-block;width: calc(100% - 780px);margin-left: 80px;vertical-align: top;}
.guide h4 {font-weight: 400;font-size: 50rem;margin-bottom: 30px;}
.guide li {font-size: 20px;color: #666666;padding-left: 23px;position: relative;line-height: 1.5;}
.guide li::after {
	content: '';
	position: absolute;
	background: #666666;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	left: 10px;
	top: 14px;
}
.guide li + li {margin-top: 18px;}
.guide li.call::after {display: none;}
.guide li.call {background: url(/common/images/homepage/common/icon_call.svg) no-repeat left top 7px; padding-left: 32px; margin-top: 65px;}

.otherRoom {margin-top: 200px;position: relative;}
.otherRoom .otherRoom_slide a {height: 354px;background-size: cover !important;display: flex;justify-content: space-around;align-items: center;position: relative;}
.otherRoom .otherRoom_slide a.room01 {background: url(/common/images/homepage/acco/room01.jpg) no-repeat;}
.otherRoom .otherRoom_slide a.room02 {background: url(/common/images/homepage/acco/room02.jpg) no-repeat;}
.otherRoom .otherRoom_slide a p {color: #fff;font-size: 30px;}

.otherRoom .outside span {text-indent: -9999px; position: absolute; width: 78px; height: 15px; z-index: 999; background-size: cover !important; cursor: pointer;}
.otherRoom .outside #prev5 {top: 50%; transform: translateY(-50%); left: 40px; background: url(/common/images/homepage/common/other_prev.svg) no-repeat;}
.otherRoom .outside #next5 {top: 50%; transform: translateY(-50%); right: 40px; background: url(/common/images/homepage/common/other_next.svg) no-repeat;}

 
.fac_info {width: 1200px; position: relative; padding-top: 70px; overflow: hidden;}
.fac_info .left {float: left; margin-right: 50px;}
.fac_info .right {position: absolute; right: 0; width: 350px; height: 100%;}
.fac_info .right .seminar {height: 100%; background: #faf6f4; text-align: center;}
.fac_info .right .seminar img {display: inline-block; margin-top: 80px;}
.fac_info p {font-size: 18px; color: #333; margin-bottom: 10px;}
.fac_info table {font-size: 15px; width: 800px; margin-bottom: 30px;}
.fac_info table:last-child {margin-bottom: 0;}
.fac_info table th, .fac_info table td {font-size: 15px; text-align: center;}
.fac_info table thead, .fac_info table .head {height: 25px; background: #d0c1c3;}
.fac_info table .head th, .fac_info table .head td {height: 25px; padding: 0;}
.fac_info table thead th, .fac_info table thead td, .fac_info table .head th, .fac_info table .head td {color: #fff; border: 0; padding: 3px 0;}
.fac_info table tbody th {width: 100px; border-bottom: 1px solid #e6e6e6;}
.fac_info table tbody td {padding: 7px 10px; border-bottom: 1px solid #e6e6e6;}
.fac_info table th {color: #000; font-weight: 400;}
.fac_info table td {color: #777777; border-left: 1px solid #e6e6e6;}
.fac_info table .reception {background: #fff; width: 300px; border: 1px solid #e6e6e6 !important; color: #777777 !important;}
.fac_info table .reception ul {display: inline-block; margin: 0 auto;}
.fac_info table .reception ul li {float: left; margin: 0 20px;}
.fac_info table .reception ul li span {display: block; margin-bottom: 15px;}

.fac_menu_slide {position: relative; height: 200px; margin-top: 100px;}
.fac_menu_slide ul li {height: 200px;}
.fac_menu_slide ul li .slide1 {background: url(/common/images/homepage/facilities/fac_menu01.jpg) no-repeat; background-size: 100%;}
.fac_menu_slide ul li .slide2 {background: url(/common/images/homepage/facilities/fac_menu02.jpg) no-repeat; background-size: 100%;}

.map {width: 100%; height: 943px;}
.location {
	margin: 160px 0;
	display: flex;
    justify-content: flex-start;
    gap: 190px;
}
.location .loc_text h4 {font-size: 40rem;line-height: 1.5;}
.location .loc_con li {
	font-size: 20px;
	padding: 2px 0 2px 28px;
	background: url(/common/images/homepage/company/icon_map.svg) no-repeat left top 4px;
	color: #222222;
    line-height: 25px;
}
.location .loc_con li + li {margin-top: 20px;}
.location .loc_con li.call {background: url(/common/images/homepage/company/icon_call.svg) no-repeat left top 5px;background-size: 18px;}
.location .loc_con li.fax {background: url(/common/images/homepage/company/icon_fax.svg) no-repeat left top 5px;}

.introduce .intro_text {width: 1560px;margin: 0 auto;text-align: center;padding: 175px 0;}
.introduce .intro_text h3 {
    text-align: left;
    display: block;
    font-size: 90px;
    margin-bottom: 80px;
    line-height: 1;
}
.introduce .intro_text > div {width: 100%;text-align: left;margin-left: 300px;display: flex;flex-direction: column;}
.introduce .intro_text p {font-size: 40px;font-weight: 600;display: inline-block;text-align: left;margin-bottom: 35px;line-height: 1.5;}
.introduce .intro_text span {font-size: 20px;line-height: 1.8;color: #222222;}
.introduce .intro_text2 {width: 1560px;margin: 0 auto;display: flex;gap: 240px;padding: 190px 0;}
.introduce .intro_text2 p {font-size: 40px;font-weight: 600;line-height: 1.5;}
.introduce .intro_text2 span {font-size: 20px;color: #222222;line-height: 2;width: calc(100% - 667px);}
.introduce .intro_box {
	text-align: center;
	height: 885px;
	background: url(/common/images/homepage/index/slide_about01.jpg) center center no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    flex-direction: column;
    background-size: cover;
	background-position: center !important;
	width: 100%;
	clip-path: inset(0 50% 0 50%);
	transition: clip-path 1s ease-out;
}
.intro_box.active {clip-path: inset(0 0 0 0);}

.introduce .intro_box strong {
    font-size: 56px;
    font-weight: bold;
}
.introduce .intro_box p {font-size: 20px;line-height: 1.5;}
.introduce .intro_box .btn_wrap {display: flex;gap: 15px;justify-content: center;}
.introduce .intro_box .btn_wrap a {
    font-size: 19px;
	font-weight: 500;
    border: 1px solid #333333;
    padding: 29px 0;
    display: inline-block;
    width: 218px;
    margin-top: 20px;
    color: #333333;
}
.introduce .intro_box .btn_wrap a.black {background: #333333;color: #fff;}
.introduce .intro_img {width: 100%;}

.intro_text_tit,
.introduce .intro_text2 p,
.introduce .intro_text2 span,
.introduce .intro_box strong,
.introduce .intro_box p,
.introduce .intro_box .btn_wrap,
.intro_text_con p,
.intro_text_con span,
.introduce .intro_img {
	opacity: 0;
	transform: translateY(30px);
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.intro_text_tit.active,
.introduce .intro_text2 p.active,
.introduce .intro_text2 span.active,
.introduce .intro_box strong.active,
.introduce .intro_box p.active,
.introduce .intro_box .btn_wrap.active,
.intro_text_con p.active,
.intro_text_con span.active,
.introduce .intro_img.active {
	opacity: 1;
    transform: translateY(0);
}

/* footer */
.footer {padding-top: 100px; background: #303134;}
.footer > div {width: 1520px;margin: 0 auto;position: relative;color: #A1A1A1;line-height: normal;}
.footer-top {padding-bottom: 80px; display: flex; justify-content: space-between; align-items: flex-start;}
.footer .company_info {
	width: 718px;
    display: inline-block;
    vertical-align: top;
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	gap: 16px;
}
.footer .company_info li {line-height: normal; display: inline-block; font-size: 17px;}
.footer .company_info li:nth-child(2n - 1) {width: 30%;}
.footer .company_info li:nth-child(2n) {width: 67%;}
.footer .company_info li.inline {display: inline-block;}

.footer li.tit {
	color: #FFF;
	font-family: 'Playfair Display';
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: 89%;
	letter-spacing: -0.4px;
	width: 100% !important;
}
.footer .sns {display: flex;gap: 12px; flex-wrap: wrap;}
.footer .sns li a {display: inline-block; text-indent: -9999px;background-position: center center !important; width: 46px; border: 1px solid #414141; border-radius: 50%; height: 46px}
.footer .sns li a.insta {background: url(/common/images/homepage/common/insta.svg) no-repeat;}
.footer .sns li a.facebook {background: url(/common/images/homepage/common/facebook.svg) no-repeat;}
.footer .sns li a.blog {background: url(/common/images/homepage/common/blog.svg) no-repeat;}
.footer .sns li a.youtube {background: url(/common/images/homepage/common/youtube.svg) no-repeat;}
.footer .sns li a.twitter {background: url(/common/images/homepage/common/twitter.svg) no-repeat;}

.footer-bt {padding: 40px 0; border-top: 1px solid #404349; display: flex; justify-content: space-between;}
.footer-bt .copy {
	color: #757575;
	font-family: 'Playfair Display';
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 89%;
	letter-spacing: -0.32px;
}
.footer-bt .footer_menu {display: flex;gap: 32px;}
.footer-bt .footer_menu li a {font-size: 16px;color: #757575;font-weight: 400;}
.footer-bt .footer_menu .bold a {font-weight: 700;}
