@charset "utf-8";

/*
	** MAIN CSS
*/

.main-visual {
	position: relative;
	margin-bottom: 90px;
}
.main-visual .img-box {
	display: block;
	height: 790px;
}
.main-visual .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.main-visual .item-box {
	position: absolute;
	bottom: 70px;
	left: 0;
	z-index: 5;
	width: 100%;
}
.main-visual .title-box {
	margin-bottom: 90px;
}
.main-visual .title-box .title {
	font-size: 3em;
	font-weight: 700;
	font-family: 'SEBANG_Gothic', sans-serif;
	text-align: center;
}
.main-visual .weather-box {
	text-align: center;
	position: relative;
	z-index: -1;
}
.main-visual .weather-box .text-box {
	display: inline-flex;
	align-items: center;
	margin: 0 auto;
	padding: 10px;
	border-radius: 99px;
	background: rgba(0,0,0,0.4);
}
.main-visual .weather-box .text {
	position: relative;
	padding: 0 15px;
	font-size: var(--font-size-18);
	color: #fff;
}
.main-visual .weather-box .text:not(:last-child):after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 16px;
	background: #fff;
}
.main-visual .weather-box .text strong {
	font-size: var(--font-size-18);
}
.main-visual .reserve-search-box {
	margin-bottom: 50px;
}
.main-visual .reserve-search-box .tab-box {
	margin-bottom: 0;
}
.main-visual .reserve-search-box .tab-btn {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	font-size: var(--font-size-18);
	border: 1px solid var(--secondary-color);
	border-bottom: none;
	border-radius: 15px 15px 0 0;
}
.main-visual .reserve-search-box .tab-btn:not(.active) {
	background: #d8eaef;
	border-color: #c4dce3;
	color: var(--secondary-color);
}
@media all and (max-width: 1023px) {
	.main-visual {
		margin-bottom: 70px;
	}
	.main-visual .item-box {
		bottom: auto;
		top:150px;
	}
	.main-visual .img-box {
		height: 700px;
	}
	.main-visual .title-box {
		margin-bottom: 50px;
	}
	.main-visual .title-box .title {
		font-size: 2.5em;
	}
	.main-visual .weather-box .text {
		padding: 0 12px;
		font-size: var(--font-size-16);
	}
	.main-visual .weather-box .text:not(:last-child):after {
		height: 12px;
	}
	.main-visual .reserve-search-box {
		margin-bottom: 30px;
	}
	.main-visual .reserve-search-box .tab-btn {
		font-size: var(--font-size-16);
	}
}
@media all and (max-width: 767px) {
	.main-visual {
		margin-bottom: 40px;
	}
	.main-visual .item-box {
		top:110px;
	}
	.main-visual .item-box:has(.calendar-wrap.active),
	.main-visual .item-box:has(.count-wrap.active) {
		z-index: 505;
	}
	.main-visual .img-box {
		height: 600px;
	}
	.main-visual .title-box {
		margin-bottom: 25px;
	}
	.main-visual .title-box .title {
		font-size: var(--font-size-26);
	}
	.main-visual .weather-box .text {
		font-size: var(--font-size-14);
	}
	.main-visual .reserve-search-box {
		margin-bottom: 20px;
	}
	.main-visual .reserve-search-box .tab-btn {
		font-size: var(--font-size-14);
		border-radius: 10px 10px 0 0;
	}
	.main-visual .reserve-search-box .tab-btn .icon-custom {
		display: none;
	}
}



.main-section section {
	margin-bottom: 100px;
}
.main-section-title {
	display: flex;
	align-items: center;
	gap: 35px;
	margin-bottom: 30px;
}
.main-section-title .title {
	font-size: 2.125em;
}
.main-section-title .text {
	position: relative;
	display: inline-block;
	padding: 8px 22px;
	border-radius: 99px;
	background: var(--secondary-color);
	font-size: var(--font-size-17);
	color: #fff;
}
.main-section-title .text::after {
	content: "";
	position: absolute;
	left: -5px;
    bottom: -1px;
    border-style: solid;
    border-width: 7px 15px 7px 0px;
    border-color: transparent var(--secondary-color) transparent transparent;
    transform: rotate(-35deg);
}
.main-section-title .underline {
	position: relative;
}
.main-section-title .underline::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 9px;
	background: linear-gradient(to right, #9eedf1, #fff);
}
.swiper-button.main-button-more::after {
	content: "\2b";
}
@media all and (max-width: 1023px) {
	.main-section section {
		margin-bottom: 80px;
	}
	.main-section-title {
		gap: 25px;
	}
}
@media all and (max-width: 767px) {
	.main-section section {
		margin-bottom: 60px;
	}
	.main-section-title {
		flex-direction: column;
		gap: 20px;
	}
	.main-section-title .title {
		font-size: var(--font-size-30);
	}
	.main-section-title .text {
		padding: 8px 18px;
		font-size: var(--font-size-15);
	}
	.main-section-title .underline::after {
		height: 7px;
	}
}

.main-section .main-row {
	display: flex;
	gap: 0 4%;
}
@media all and (max-width: 767px) {
	.main-section .main-row {
		display: block;
	}
}

.swiper-button {
	display: flex;
    align-items: center;
    justify-content: center;
	width: 38px;
	height: 38px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: unset;
	color: #ddd;
	transition: var(--transition);
}
.swiper-button::after {
	font-size: var(--font-size-18);
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
}
.swiper-button:hover {
	border-radius: 8px;
	border-color: var(--secondary-color);
	color: var(--secondary-color);
}
.swiper-button.swiper-button-prev {left: -60px;}
.swiper-button.swiper-button-next {right: -60px;}
.swiper-button.swiper-button-prev::after {content: "\f104";}
.swiper-button.swiper-button-next::after {content: "\f105";}
.swiper-button-lock {
	display: none;
}
.swiper-pagination {
	--bullet-size: 11px;
    position: unset;
	margin-top: 20px;
}
.swiper-pagination-bullet {
	width: var(--bullet-size);
	height: var(--bullet-size);
	margin: 0 3px !important;
	border: 1px solid var(--secondary-color);
	background: transparent;
	opacity: 1;
}
.swiper-pagination-bullet-active {
	background: var(--secondary-color);
}
@media all and (max-width: 1023px) {
	.swiper-button:is(.swiper-button-prev, .swiper-button-next) {
		display: none;
	}
}
@media all and (max-width: 767px) {
	.swiper-button {
		width: 32px;
		height: 32px;
	}
	.swiper-button::after {
		font-size: var(--font-size-16);
	}
	.swiper-pagination {
		margin-top: 15px;
	}
	.swiper-pagination {
		--bullet-size: 10px;
		margin-top: 12px;
	}
}


.main-section .main-package {
	margin-bottom: 140px;
}
.main-package .tab-type02 .tab-box {
	margin-bottom: 0;
}
.main-package .tab-type02 .tab-item {
	flex: 0 0 auto;
}
.main-package .tab-type02 .tab-btn {
	height: 35px;
	padding: 0 22px;
}
.main-package .button {
	min-width: 235px;
}
@media all and (max-width: 1023px) {
	.main-section .main-package {
		margin-bottom: 110px;
	}
	.main-package .tab-type02 .tab-list {
		gap: 8px;
	}
	.main-package .tab-type02 .tab-btn {
		font-size: var(--font-size-16);
	}
}
@media all and (max-width: 767px) {
	.main-section .main-package {
		margin-bottom: 80px;
	}
	.main-package .tab-type02 .tab-btn {
		height: 33px;
    	padding: 0px 18px;
		font-size: var(--font-size-16);
	}
	.main-package .button {
		min-width: auto;
	}
}


.main-theme-slide {
	position: relative;
}
.main-theme-slide .swiper-slide {
	padding: 5px;
}
.main-theme-slide .item-box {
	position: relative;
	display: block;
	border-radius: 8px;
	border: 1px solid #f0f0f0;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.04);
	overflow: hidden;
}
.main-theme-slide .item-box::before {
	content: "\2b";
	font-weight: 400;
	font-family: "Font Awesome 6 Pro";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	color: #fff;
	font-size: var(--font-size-20);
	background: var(--primary-color);
	border-radius: 50%;
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
}
.main-theme-slide .item-box::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	opacity: 0;
	visibility: hidden;
	transition: var(--transition);
}
.main-theme-slide .item-box:hover::before,
.main-theme-slide .item-box:hover::after {
	opacity: 1;
	visibility: visible;
}
.main-theme-slide .img-box {
	aspect-ratio: 4 / 5;
}
.main-theme-slide .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--transition);
}
.main-theme-slide .item-box:hover .img-box img {
	transform: scale(1.15) rotate(-2deg);
}
.main-theme-slide .text-box {
	position: absolute;
	top: 0;
	left: 0;
	padding: 50px 30px;
	color: #fff;
}
.main-theme-slide .text-box .desc {
	margin-bottom: 12px;
	font-size: var(--font-size-17);
	font-weight: 300;
}
.main-theme-slide .text-box .title {
	font-size: var(--font-size-26);
	font-weight: 600;
}
@media all and (max-width: 767px) {
	.main-theme-slide .item-box::before {
		width: 65px;
		height: 65px;
		font-size: var(--font-size-18);
	}
	.main-theme-slide .text-box {
		padding: 40px 20px;
	}
	.main-theme-slide .text-box .desc {
		font-size: var(--font-size-16);
	}
	.main-theme-slide .text-box .title {
		font-size: var(--font-size-24);
	}
}


.main-news {
	width: 60%;
	position: relative;
}
.main-news .list-box {
	border-top: 1px solid #d9dbe1;
}
.main-news .item-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 40px;
	padding: 25px 15px;
	border-bottom: 1px solid #d9dbe1;
}
.main-news .item-box:hover {
	border-bottom-color: var(--secondary-color);
}
.main-news .item-box .title {
	font-size: var(--font-size-18);
}
.main-news .item-box .date {
	font-weight: 300;
	color: #777777;
}
.main-news .main-button-more {
	position: absolute;
	top: 0;
	right: 0;
}
.main-banner {
	width: 36%;
	padding-top: 70px;
	position: relative;
}
.main-banner .img-box {
	width: 100%;
	height: 300px;
	aspect-ratio: 5 / 3;
	border: 1px solid #f0f0f0;
	border-radius: 8px;
	overflow: hidden;
}
.main-banner .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.main-banner .swiper-pagination {
	position: absolute;
	bottom: auto;
	left: auto;
	top: 0;
	right: 0;
	text-align: right;
}
@media all and (max-width: 1023px) {
	.main-news {
		width: 55%;
	}
	.main-banner {
		width: 41%;
	}
}
@media all and (max-width: 767px) {
	.main-news, .main-banner {
		width: 100%;
	}
	.main-news .item-box {
		gap: 0 25px;
		padding: 20px 10px;
	}
	.main-news .item-box .title {
		font-size: var(--font-size-16);
	}
	.main-news .item-box .date {
		font-size: var(--font-size-15);
	}
	.main-news .main-button-more {
		top: 3px;
	}
	.main-banner .img-box {
		height: auto;
	}
	.main-banner .swiper-pagination {
		position: unset;
		text-align: center;
	}
}


.main-wrapper .goods-slide .item-box {
	position: relative;
}
.main-wrapper .goods-slide .item-box::before,
.main-wrapper .goods-slide .item-box::after {
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s ease-in-out;
	z-index: 20;
}
.main-wrapper .goods-slide .item-box::before {
	content:"";
	background:rgba(0,0,0,0.5);
	color: #fff;
	font-size: var(--font-size-24);
	padding-top:20px;
}
.main-wrapper .goods-slide .item-box::after {
	content:"";
	background:url("../img/layout/logo.png") no-repeat center 42%;
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(87deg) brightness(103%) contrast(101%);
}
.main-wrapper .goods-slide .item-box:hover::before,
.main-wrapper .goods-slide .item-box:hover::after {
	opacity: 1;
	visibility: visible;
}
@media all and (max-width: 767px) {
	.main-wrapper .goods-slide .item-box::before {
		font-size: var(--font-size-20);
	}

}