body {
	overflow-x: hidden;
}

.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-3 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.box {
	padding: 6px 0;
	line-height: 2;
}

.box strong {
	display: block;
	background-color: #e9e9e9;
	padding: 0 8px;
	border-radius: 3px;
}

.select-wrap {
	border-color: #e9e9e9;
	padding: 6px 12px;
	width: 100%;
	line-height: 1.5;
	border-radius: 0.375rem;
	-webkit-appearance: none;
	appearance: none;
	/*background: url(../images/arrow_down.svg) no-repeat 90% 50% / 11px;*/
}

input[type="text"]::placeholder {
	color: #b0b0b0;
}

.dark-switch-wrap {
	background-color: #212529;
	padding: 4px 2px;
	border-radius: 0.375rem;
}

.dark-switch-wrap input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
}

.dark-switch-wrap label {
	color: #b8b8b8;
	padding: 2px 8px;
	cursor: pointer;
	position: relative;
	z-index: 0;
	border-radius: 0.375rem;
}

.dark-switch-wrap label:nth-child(2) {
	margin: 0 0 0 4px;
}

.dark-switch-wrap label:nth-child(4) {
	margin: 0 4px 0 0;
}

.dark-switch-wrap input[type="radio"]:checked+label {
	color: #212529;
	background-color: #fff;
}

button.view {
	background-color: #38b37a;
}

button.view:hover {
	background-color: #217850;
}

@media(min-width:992px) {
	.page-title-self {
		border-bottom: 1px dashed #e4e4e4;
		margin-bottom: 30px;
	}
}

@media(max-width:991px) {
	.select-wrap {
		/*background: url(../images/arrow_down.svg) no-repeat 97% 50% / 11px;*/
	}
}

.txt-wrap {
	background-color: #F9E2C4;
	padding: 32px;
	color: var(--cnvs-themesubcolor2);
	letter-spacing: 1px;
	text-align: justify;
}

@media (min-width: 1200px) {
	.txt-wrap {
		width: 424px;
		top: 50%;
		transform: translateY(-47%);
		right: 0;
	}

	.width-lg-75 {
		width: 75%;
	}
}

.icon-close {
	cursor: pointer;
	font-size: 24px;
}

.modal-title {
	font-size: 24px;
	line-height: 1.3;
}

.text-notice {
	color: #FF0000;
}

/* banner */
.swiper-slide {
	aspect-ratio: 16 / 9;
	display: flex;
	align-items: center;
	justify-content: center;
}

.swiper-slide::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
}

.banner-wrap {
	margin-bottom: 32px;
}

.banner-title {
	font-size: 48px;
	font-weight: 700;
	margin-bottom: 32px;
}

.banner-content {
	font-size: 20px;
	line-height: 1.75;
	text-align: justify;
}

@media screen and (max-width: 1200px) {
	.banner-title {
		font-size: 36px;
	}

	.banner-content {
		font-size: 16px;
	}
}

@media screen and (max-width: 768px) {
	.banner-title {
		font-size: 4.5vw;
	}

	.banner-content {
		font-size: 14px;
	}
}

@media screen and (max-width: 576px) {
	.banner-wrap {
		margin-bottom: 0;
	}

	.banner-title {
		font-size: 20px;
		margin-bottom: 8px;
	}

	.banner-content {
		display: none;
	}
	
	.banner-button {
		margin: 0;
		padding: 8px 16px;
	}
}

/* section */
.sc-mb {
	margin-bottom: 32px;
}

.sc-title {
	font-size: 36px;
	margin-bottom: 32px;
	letter-spacing: 1px;
}

.separator-line {
	display: block;
	width: 50px;
	height: 2px;
	background-color: var(--cnvs-themesubcolor);
	margin: 0 auto;
}

@media screen and (max-width: 576px) {
	section {
		--cnvs-content-padding: 3rem;
	}

	.sc-title {
		font-size: 30px;
		margin-bottom: 16px;
	}
}

/* breadcrumb */
.breadcrumb {
	margin-top: 0;
}

@media screen and (min-width: 992px) {
	.breadcrumb {
		height: 350px;
	}
}

.breadcrumb::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.25);
}

.breadcrumb_title {
	color: #fff;
}

.breadcrumb_list {
	list-style: none;
	padding: 0;
	margin: 0;
	color: #fff;
	gap: 8px;
}

.breadcrumb_list li a,
.breadcrumb_list li span {
	color: #fff;
}

.breadcrumb_list li a:hover {
	color: var(--cnvs-themesubcolor);
}

/* about */
.about-title {
	font-size: 28px;
	color: var(--cnvs-themesubcolor2);
}

.about-slogun {
	font-family: Corinthia, serif;
	position: absolute;
	right: 0px;
	top: 0;
	line-height: 1 !important;
	color: rgba(var(--cnvs-themesubcolor2-rgb), 0.2);
	font-size: 64px;
	font-weight: 600;
}

@media screen and (max-width: 1200px) {
	.about-slogun {
		right: 20px;
	}
}

/* h1 */
.h1-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 0;
}

.h1-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.5);
}

.h1-txt {
	position: relative;
	z-index: 1;
}

/* room */
.room {
	cursor: pointer;
}

.category {
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--cnvs-themesubcolor4);
	padding: 4px 16px 4px 24px;
	line-height: 1.75;
	letter-spacing: 1px;
}

.category::before {
	content: '';
	display: block;
	position: absolute;
	width: 38.5px;
	height: 100%;
	top: 0;
	left: -20px;
	clip-path: polygon(0 0, 55% 0, 100% 100%, 45% 100%);
	background-color: var(--cnvs-themesubcolor3);
}

.img-frame {
	overflow: hidden;
	background-color: #D9D9D9;
}

.img-frame img {
	aspect-ratio: 3 / 2;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: all 0.3s ease-out;
}

.img-frame:hover img {
	transform: scale(1.1);
}

.room-content {
	background-color: #FFF7EE;
	padding: 32px 8px;
}

.room-name {
	font-size: 24px;
	line-height: 1.5;
	font-weight: 700;
	margin-bottom: 4px;
	letter-spacing: 1px;
	text-align: center;
	color: var(--cnvs-themesubcolor2);
	transition: all 0.3s ease-out;
}

.room-name:not(.no-hover):hover {
	color: var(--cnvs-themesubcolor);
}

.room-detail {
	line-height: 1.75;
	text-align: center;
	color: #b98f50;
	min-height: 27px;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	padding: 0 32px;
}

.room-detail p {
	margin-bottom: 0;
}

.room-button {
	background-color: #FFB4B4;
	padding: 8px 10px;
	color: #fff;
	text-align: center;
	transition: all 0.3s ease-out;
}

.room-button:hover {
	background-color: var(--cnvs-themesubcolor);
}

/* room modal*/
.modal-room-header {
	background-color: #E9A5A5;
}

.modal-room-body {
	overflow-x: hidden;
}

.modal-room-body::-webkit-scrollbar {
	width: 6px;
	background-color: #E0E0E0;
}

.modal-room-body::-webkit-scrollbar-thumb {
	background-color: #ABABAB;
}

.modal-room-body .owl-carousel .item img {
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 2;
	object-fit: contain;
	background-color: #D9D9D9;
}


/* news */
.news-content {
	padding: 32px 0;
}

.date {
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #b98f50;
	color: #fff;
	padding: 4px 8px 2px;
	min-width: 55px;
	border-top: 2px solid var(--cnvs-themesubcolor);
}

.date-month {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1.5 !important;
}

.date-day {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1.5 !important;
}

.news-title {
	font-size: 24px;
	margin-bottom: 10px;
	letter-spacing: 1px;
	color: var(--cnvs-themesubcolor2);
	font-weight: 700;
	transition: all 0.3s ease-out;
}

.news-title:not(.no-hover):hover {
	color: var(--cnvs-themesubcolor);
}

.news-text {
	border-top: 1px solid var(--cnvs-themesubcolor3);
	padding-top: 8px;
	margin-bottom: 0;
	text-align: justify;
	letter-spacing: 1px;
	color: #7C5530;
}

.news-date {
	font-size: 16px;
	color: rgb(66, 32, 0);
	margin-bottom: 16px;
}

/* news outter */
.news {
	cursor: pointer;
	min-height: 512px;
}

.news_outter {
	overflow: hidden;
	max-height: 512px;
}

.news_outter.active {
	overflow-y: auto;
	max-height: 950px;
}

.news_outter::-webkit-scrollbar {
	width: 6px;
	background-color: #E0E0E0;
	border-radius: 6px;
}

.news_outter::-webkit-scrollbar-thumb {
	background-color: #ABABAB;
	border-radius: 6px;
}

@media screen and (max-width: 1400px) {
	.news {
		min-height: 472px;
	}

	.news_outter {
		max-height: 472px;
	}
}

@media screen and (max-width: 1199px) {
	.news {
		min-height: 432px;
	}

	.news_outter {
		max-height: 432px;
	}
}

@media screen and (max-width: 991px) {
	.news {
		min-height: 459px;
	}

	.news_outter {
		max-height: 459px;
	}
}

@media screen and (max-width: 767px) {
	.news {
		min-height: unset;
	}

	.news_outter {
		overflow: auto;
		max-height: unset;
	}
}

/* news modal*/
.modal-news-header {
	background-color: var(--cnvs-themesubcolor);
}

.modal-news-body::-webkit-scrollbar {
	width: 6px;
	background-color: #E0E0E0;
}

.modal-news-body::-webkit-scrollbar-thumb {
	background-color: #ABABAB;
}

.social-share__btn {
	display: flex;
	gap: 12px;
}

.social-share__btn a {
	font-size: 24px;
}

.social-share__text {
	display: flex;
	align-items: center;
	font-size: 18px;
	color: var(--cnvs-themesubcolor2);
}

.soc_fb {
	color: #008CFF;
}

.soc_line {
	color: #00D126;
}

.soc_link {
	color: var(--cnvs-themesubcolor2);
}

.soc_fb:hover,
.soc_line:hover,
.soc_link:hover {
	color: var(--cnvs-themesubcolor);
}


/* contact */
.mb-32 {
	margin-bottom: 32px;
}

.contact-mw {
	min-width: 152px;
}

.google-map {
	height: 600px;
	width: 100%;
}

.contact-bg {
	background-color: #FFF3E0;
}

.contact-info {
	padding: 32px 64px;
	letter-spacing: 1px;
	color: var(--cnvs-themesubcolor2);
}

.contact-info a {
	color: var(--cnvs-themesubcolor2);
	transition: all 0.3s ease-out;
}

.contact-info a:hover {
	color: var(--cnvs-themesubcolor);
}

.list p {
	margin-bottom: 8px;
}

@media screen and (max-width: 1200px) {
	.google-map {
		height: auto !important;
		min-height: 652px !important;
		width: 100%;
	}
}

@media screen and (max-width: 991px) {
	.google-map {
		height: 300px !important;
		min-height: unset !important;
		width: 100%;
	}

	.contact-info {
		padding: 32px 16px;
	}
}


/* footer */
.copyright {
	margin-top: 32px;
	font-size: 14px;
	letter-spacing: 1px;
	color: #fff;
}

.copyright a {
	color: #fff;
	transition: all 0.3s ease-out;
}

.copyright a:hover {
	color: var(--cnvs-themesubcolor);
}


/* sns line */
#sns-line {
	position: fixed;
	top: 40%;
	right: 30px;
	background-color: #00C300;
	padding: 4px;
	width: 85px;
	height: 85px;
	border-radius: 10px;
	color: #fff;
	transition: all 0.3s ease-out;
	z-index: 999;
}

#sns-line:hover {
	background-color: var(--cnvs-themesubcolor);
}

#sns-line .icon-size {
	font-size: 48px;
	line-height: 48px;
}

#sns-line .word-size {
	letter-spacing: 1px;
	font-weight: 400;
	font-size: 14px;
	margin-bottom: 0;
}

@media screen and (max-width: 991px) {
	#sns-line {
		right: 8px;
	}
}

/* booking */
.booking_btn {
	position: fixed;
	top: calc(40% + 98px);
	right: 30px;	
	width: 144px;
	height: 86px;
	z-index: 999;
	transition: all 0.3s ease-out;
}

.booking_btn:hover {
	filter: brightness(0.75);
}

.booking_btn_mob {
	display: none;
	position: fixed;
	bottom: 24px;
	left: 8px;
	margin: 0 auto;
	width: calc(100% - 16px);
	background-color: var(--cnvs-themecolor);
	color: var(--cnvs-themesubcolor2);
	text-align: center;
	padding: 16px 0;
	border-radius: 10px;
	font-size: 20px;
	font-weight: 600;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
	z-index: 999;
	transition: all 0.3s ease-out;
}

.booking_btn_mob:hover {
	background-color: var(--cnvs-themesubcolor);
	color: var(--cnvs-themesubcolor2);
}

@media screen and (max-width: 991px) {
	.booking_btn {
		right: 8px;
	}
}

@media screen and (max-width: 768px) {
	.booking_btn {
		display: none;
	}

	.booking_btn_mob {
		display: block;
	}
}

/* gototop*/
#gotoTop .icon-size {
	font-size: 32px;
	line-height: 40px;
}

#gotoTop .word-size {
	letter-spacing: 1px;
	font-weight: 400;
	font-size: 16px;
	margin-bottom: 0;
}

@media screen and (max-width: 991px) {
	#gotoTop {
		--cnvs-gotoTop-position-boxed-right: 8px;
	}
}

@media screen and (max-width: 768px) {
	#gotoTop {
		--cnvs-gotoTop-position-boxed-bottom: 100px;
	}	
}

/* privacy */
.privacy .fbox-content {
	padding: 0 0 32px 8px;
}

.privacy .feature-box:last-child .fbox-content {
	padding: 0 0 0 8px;
}