﻿.fp-overflow {
	width: 100%;
}


.site-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 90px;
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(8px);
	z-index: 9999;
}

.header-inner {
	max-width: 1400px;
	height: 90px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.logo {
	height: 40px;
}

/* ======================
   PC Navigation
====================== */
.main-nav {
	display: flex;
	justify-content: center;
}

.nav-list {
	display: flex;
	gap: 100px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav-list a {
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	color: #000;
	line-height: 40px;
}

/* ======================
   Mobile Header Button
====================== */
.mobile-menu-btn {
	display: none;
	background: none;
	border: 0;
	cursor: pointer;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
}

.mobile-menu-btn span {
	display: block;
	width: 24px;
	height: 2px;
	background: #000;
	position: relative;
}

.mobile-menu-btn span::before,
.mobile-menu-btn span::after {
	content: '';
	position: absolute;
	left: 0;
	width: 24px;
	height: 2px;
	background: #000;
}

.mobile-menu-btn span::before { top: -8px; }
.mobile-menu-btn span::after  { top: 8px; }

/* ======================
   Mobile Nav (PC Hidden)
====================== */
.mobile-nav {
	display: none;
}

/* ======================
   Mobile (vw 기반)
====================== */
@media (max-width: 768px) {

	/* Header */
	.site-header {
		height: 24vw;                 /* 90px */
	}

	.header-inner {
		height: 24vw;
		padding: 0 6.4vw;             /* 24px */
	}

	.main-nav {
		display: none;
	}

	/* 로고 중앙 */
	.header-left {
		display: none;
	}

	.header-center {
		flex: 1;
		display: flex;
		justify-content: center;
	}

	.logo {
		height: 10.6vw;               /* 40px */
		max-height: 40px;
	}

	/* 햄버거 버튼 */
	.mobile-menu-btn {
		display: flex;
		width: 10.6vw;                /* 40px */
		height: 10.6vw;
	}

	.mobile-menu-btn span {
		width: 6.4vw;                 /* 24px */
		height: 0.53vw;               /* 2px */
	}

	.mobile-menu-btn span::before {
		top: -2.1vw;                  /* 8px */
	}
	.mobile-menu-btn span::after {
		top: 2.1vw;
	}

	/* ======================
	   Mobile Nav Slide
	====================== */
	.mobile-nav {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #fff;
		z-index: 10000;
		transform: translateX(100%);
		transition: transform .4s ease;
	}

	.mobile-nav.active {
		transform: translateX(0);
	}

	/* X 버튼 */
	.mobile-nav-close {
		position: absolute;
		top: 6.4vw;                   /* 24px */
		right: 6.4vw;
		width: 10.6vw;
		height: 10.6vw;
		background: none;
		border: 0;
		cursor: pointer;
	}

	.mobile-nav-close::before,
	.mobile-nav-close::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 6.4vw;
		height: 0.53vw;
		background: #000;
	}

	.mobile-nav-close::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.mobile-nav-close::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	/* Menu List */
	.mobile-menu {
		padding-top: 15vw;             /* 120px */
		padding-left: 9.8vw;           /* 36.9px */
		font-size: 5.5vw;              /* 25.85px */
		color: #898989;
	}

	.menu-item {
		padding: 7vw 0;               /* 52.6px */
		text-transform: uppercase;
		cursor: pointer;
	}

	.menu-item.active {
		color: #000;
	}

	.divider {
		height: 0.48vw;                /* 1.8px */
		background: linear-gradient(90deg, #c2c2c2, #fff 75%);
	}
}

/* =====================
   Footer Base
===================== */
.site-footer,
.footer-cta,
.footer-info,
.footer-bottom {
	width: 100%;
}

.site-footer {
	font-family: 'Inter', 'Pretendard', sans-serif;
	color: #fff;
}

/* 공통 inner */
.footer-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 24px;
	display: flex;
	justify-content: space-between;
	gap: 40px;
}

/* =====================
   CTA 영역
===================== */
.footer-cta {
	background: #005C36;
}

.footer-cta .cta-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.footer-cta .label {
	font-size: 13px;
	font-weight: 700;
	color: #E0E0E0;
}

.footer-cta strong {
	font-size: 20px;
	font-weight: 700;
}

.cta-buttons {
	display: flex;
	gap: 16px;
	align-items: center;
}

.btn-outline {
	padding: 10px 28px;
	border: 1px solid #fff;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	color:#fff;
}

/* =====================
   Info 영역
===================== */
.footer-info {
	background: #333;
}

.footer-logo img {
	max-width: 200px;
}

.footer-block {
	font-size: 13px;
	line-height: 1.7;
}

.footer-block .label {
	display: block;
	margin-top: 16px;
	font-size: 13px;
	color: #E0E0E0;
}

.footer-block.small {
	font-size: 12.5px;
	color: #E0E0E0;
}

/* =====================
   Footer Bottom
===================== */
.footer-bottom {
	background: #222;
	padding: 20px 16px;
	text-align: center;
	font-size: 12px;
}

.footer-links {
	margin-bottom: 8px;
}
.footer-bottom a {
	color: #fff;
}

.footer-links a {
	margin: 0 6px;
	color: #ccc;
}

/* =====================
   Responsive
===================== */
@media (max-width: 1024px) {
	.footer-inner {
		flex-wrap: wrap;
	}
}

@media (max-width: 768px) {
	.footer-inner {
		flex-direction: column;
		text-align: center;
	}

	.cta-buttons {
		justify-content: center;
	}

	.footer-logo {
		margin-bottom: 20px;
	}
}


.section {
	position: relative;
	display: flex;
	align-items: center;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.section .section_titles {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;

	line-height: 1.6;
	font-size: 23px;
	color: #fff;
	font-family: 'Pretendard';
	text-align: center;
}

.section .section_titles .section_title {
	margin-top: 20px;
	line-height: 1.3;
	font-size: 55px;
	font-weight: 700;
	font-family: 'Inter';
}

@media (max-width: 768px) {
	.section .section_titles {
		font-size: 18px;
	}

	.section .section_titles .section_title {
		font-size: 32px;
	}
}

@media (max-width: 480px) {
	.section .section_titles .section_title {
		font-size: 26px;
	}
}

.video-section {
	position: relative;
	overflow: hidden;
}

.bg-video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%);
	z-index: 1;
}

/* 텍스트는 영상 위로 */
.video-section .section_titles {
	position: relative;
	z-index: 2;
}

.one-eye {
	width: 100%;
	background: #fff;
	padding: 100px 0;
}

.one-eye-inner {
	max-width: 1400px;
	margin: 0 auto;
}

/* 제목 */
.one-eye-title {
	text-align: center;
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 80px;
	color: #333;
	font-family: Pretendard;
}

/* 목록 */
.one-eye-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(6, max-content);
	gap: 40px;
	padding: 0;
	margin: 0;
	justify-content: center;
}

/* 아이템 */
.one-eye-list li {
	text-align: center;
	font-size: 14px;
	font-family: Inter;
	color: #555;
	cursor: pointer;
}

/* 원형 아이콘 */
.one-eye-circle {
	width: 200px;
	height: 200px;
	margin: 0 auto 20px;

	border-radius: 50%;
	border: 1px solid rgba(85, 85, 85, 0.3);
	box-shadow: 0 0 6px rgba(85, 85, 85, 0.3);

	display: flex;
	align-items: center;
	justify-content: center;
}

.one-eye-circle img {
	width: auto;     /* ✅ 이미지 원본 크기 유지 */
	height: auto;
	max-width: none;
	max-height: none;
	display: block;
}

@media (max-width: 1400px) {
	.one-eye-list {
		grid-template-columns: repeat(3, max-content);
	}
}

@media (max-width: 768px) {
	.one-eye {
		padding: 80px 0;
	}

	.one-eye-title {
		font-size: 24px;
		margin-bottom: 50px;
	}

	.one-eye-list {
		grid-template-columns: repeat(2, max-content);
		gap: 28px;
	}

	.one-eye-circle {
		width: 140px;
		height: 140px;
	}
}

@media (max-width: 480px) {
	.one-eye-circle {
		width: 110px;
		height: 110px;
	}
}


/* =====================
   SUB PAGE TOP
===================== */
.sub-page-top {
	width: 100%;
}

.sub-visual {
	width: 100%;
	height: 620px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	display: flex;
	align-items: center;
	justify-content: center;
}

.sub-visual-inner {
	text-align: center;
	color: #fff;
	padding: 0 24px;
}

.sub-tit1 {
	font-size: 23px;
	font-family: 'Playfair Display';
	opacity: 0.9;
	text-shadow: 1px 1px 10px rgba(0,0,0,.7);
}

.sub-tit2 {
	margin-top: 12px;
	font-size: 34px;
	font-family: 'Lora';
	font-weight: 700;
	line-height: 1.3;
	text-shadow: 1px 1px 10px rgba(0,0,0,.7);
}

.sub-divider {
	display: block;
	width: 142px;
	height: 1px;
	background: #fff;
	margin: 30px auto 0;
}

/* =====================
   HELLO SECTION
===================== */
.hello {
	max-width: 1280px;
	margin: 100px auto 100px;
	padding: 70px;

	border: 1px solid rgba(0,0,0,.08);
	border-radius: 60px;

	display: flex;
	gap: 60px;
	align-items: center;
}

.hello-left img {
	width: 100%;
	max-width: 420px;
	display: block;
}

.hello-right {
	flex: 1;
}

.hello-sub {
	font-size: 23px;
	margin-bottom: 10px;
}

.hello-title {
	font-size: 34px;
	font-weight: 600;
	margin-bottom: 25px;
}

.hello-text {
	font-size: 22px;
	line-height: 1.8;
}

/* =====================
   RESPONSIVE
===================== */
@media (max-width: 768px) {
	.sub-visual { height: 360px; }
	.sub-tit2 { font-size: 24px; }

	.hello {
		flex-direction: column;
		padding: 40px;
		gap: 40px;
	}

	.hello-title { font-size: 26px; }
	.hello-text { font-size: 16px; }
}


/* ===============================
   PENSION PAGE WRAPPER
================================ */
.pension {
	max-width: 1280px;
	margin: 120px auto;
	padding: 0 24px;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 80px;
	text-align: center;
}

.pension-title {
	font-size: 34px;
	font-weight: 600;
	letter-spacing: -0.5px;
	line-height: 50px;
}

/* ===============================
   PENSION TOOLBAR
================================ */
.pension-toolbar {
	width: 100%;
	display: flex;
	justify-content: end;
	align-items: center;
	gap: 20px;
}

.pension-filter {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
}

.pension-actions {
	display: flex;
	gap: 16px;
}

.pension-actions input {
	width: 320px;
	padding: 14px 16px;
	border: 1px solid #d2d2d2;
	box-sizing:border-box;
}

.pension-write {
	background: #005c36;
	color: #fff;
	padding: 14px 32px;
	border: none;
	font-size: 16px;
	cursor: pointer;
}

/* ===============================
   PENSION LIST GRID
================================ */
.pension-list {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

/* ===============================
   PENSION CARD
================================ */
.pension-item {
	text-align: left;
	cursor:pointer;
}

.pension-thumb {
	position: relative;
	max-height:250px;
}

.pension-thumb .thum {
	width: 100%;
	height: 250px;
	object-fit: cover;
}

/* overlay icons */
.pension-meta {
	position: absolute;
	top: 0;
	right: 0;

	width: 100%;
	height: 40px;
	padding: 0 12px;

	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;

	background: linear-gradient(to bottom, rgba(0,0,0,.6), transparent);
	color: #fff;
	font-size: 12px;
}

/* title & date */
.pension-item h3 {
	font-size: 16px;
	font-weight: 600;
	margin: 16px 0 8px;
}

.pension-item .date {
	font-size: 12px;
	color: #777;
	font-family: Montserrat;
}

/* ===============================
   MORE BUTTON
================================ */
.pension-more {
	margin-top: 40px;
	padding: 16px 48px;
	border: 1px solid #3e3e3e;
	background: none;
	font-size: 18px;
	color: #3e3e3e;
	cursor: pointer;
}

/* ===============================
   RESPONSIVE
================================ */
@media (max-width: 1024px) {
	.pension-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.pension {
		margin: 80px auto;
		gap: 60px;
	}

	.pension-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.pension-actions {
		flex-direction: column;
	}

	.pension-actions input {
		width: 100%;
	}

	.pension-list {
		grid-template-columns: 1fr;
	}
}














.pension {}
.pension .pension_title {margin-top:250px; font-size:48px; font-weight:600; text-align:center;}
.pension ul {width:1400px; margin:80px auto 60px;}
.pension ul:after {content:''; display:block; clear:both;}
.pension ul li {float:left; width:415px; margin-bottom:15px; margin-left:40px; text-align:center; font-family:'Inter'; list-style:none;}
.pension ul li .pension-image {width:415px; height:240px; margin-bottom:15px; overflow:hidden;}
.pension ul li .pension-image img {width:100%;}
.pension ul li:first-child {margin:0;}
.pension ul li:nth-child(3n+1) {margin:0;}

.pensions {}
.pensions .pension_title {margin-top:100px; font-size:34px; font-weight:600; text-align:center;}
.pensions ul {width:1400px; margin:80px auto 60px;}
.pensions ul:after {content:''; display:block; clear:both;}
.pensions ul li {float:left; width:415px; margin-bottom:50px; margin-left:40px; padding-bottom:30px; font-size:16px; font-weight:600; text-align:center; font-family:'Inter'; border-bottom:1px solid #ddd; list-style:none;}
.pensions ul li .pension-image {width:415px; height:240px; margin-bottom:15px; overflow:hidden;}
.pensions ul li .pension-image img {width:100%;}
.pensions ul li span {margin-top:25px; font-size:9px; font-weight:400; display:block;}
.pensions ul li:first-child {margin:0;}
.pensions ul li:nth-child(3n+1) {margin:0;}

.pension_add {width:195px; height:65px; line-height:25px; margin:65px auto 150px; padding:20px; font-size:18px; font-weight:500; color:#3e3e3e; text-align:center; border:1px solid #3e3e3e; cursor:pointer;}

.menu_link {text-align: center; justify-content: center; display: flex; flex-direction: column; color:#333; font-size: 12px; font-family: Montserrat; font-weight: 400; text-transform: uppercase; line-height: 40px; word-wrap: break-word; text-shadow: 1px 1px 10px rgba(255, 255, 255, 0.80);cursor:pointer;}

.pension_view {max-width:1280px; margin:0 auto; border-bottom:1px solid #ddd;}
.pension_view .pension_title {margin-top:150px; font-size:14px; font-weight:300; text-align:center;}
.pension_view .title {line-height:70px; font-size:34px; font-weight:600; text-align:center;}
.pension_view .title_sub {line-height:50px; text-align:center; border-bottom:1px solid #ddd;}
.pension_view .title_sub div {margin-right:7px; font-size:14px; font-weight:400; color:#333; display:inline-block;}
.pension_view .title_sub div:last-child {margin:0;}
.pension_view .title_sub div span {margin-right:7px; color:#999;}
.pension_view .title_sub div.dot {color:#999;}
.pension_view .content {width:100%; max-width:1280px; margin:0 auto; padding:80px 0;}

.board-icon {margin-top:100px; margin-bottom:50px; text-align:center;}
.board-icon .good, .board-icon .bad {display:inline-block; line-height:24px; font-size:32px; font-weight:500; color:#666; text-align:center; cursor:pointer;}
.board-icon div.bad {margin-left:100px;}
.board-icon div img {margin:12px 0;}
.board-icon div span {font-size:18px;}


.room-menu {
	max-width: 1280px;
	margin: 100px auto 0;
	padding: 20px 0;

	display: flex;
	justify-content: center;
	flex-wrap: wrap;

	border-top: 1px solid #949494;
	border-bottom: 1px solid #949494;
}

.room-menu-item {
	padding: 15px 40px;
}

.room-menu-item a {
	text-decoration: none;
	color: #949494;
	font-size: 16px;
}

.room-menu-item.active a {
	color: #000;
	font-weight: 600;
}

/* 모바일 */
@media (max-width: 768px) {
	.room-menu-item {
		padding: 12px 20px;
	}
}

/* =====================
   SECTION TITLE
===================== */
.room-title {
	margin: 100px 0 20px;
	font-size: 34px;
	text-align: center;
	font-weight: 600;
}

/* =====================
   ROOMS GRID
===================== */
.rooms {
	max-width: 1280px;
	margin: 0 auto 50px;
	padding: 0 10px;
}

.rooms ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
	padding: 0;
	margin: 0;
	list-style: none;
}

/* 카드 */
.room-card {
	cursor: pointer;
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
}

.room-card img {
	width: 100%;
	height: 250px;
	object-fit: cover;
}

/* 텍스트 */
.room-card h3 {
	margin: 14px 0 6px;
	font-size: 18px;
	font-weight: 600;
}

.room-card p {
	margin: 0;
	font-size: 13px;
	color: #666;
	font-family: Montserrat;
}

/* ✅ 태블릿 */
@media (max-width: 1024px) {
	.rooms ul {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ✅ 모바일 */
@media (max-width: 480px) {
	.rooms ul {
		grid-template-columns: 1fr;
	}

	.room-title {
		font-size: 26px;
	}
}

/* 공통 영역 컨테이너 */
.price-section {
	width: 100%;
	max-width: 1280px;
	margin: 100px auto 0;
	padding: 0 16px;
	box-sizing: border-box;
	font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;
	color: #000;
}

/* 타이틀 */
.price-title {
	margin: 0 0 24px;
	font-size: 34px;
	line-height: 1.5;
	letter-spacing: -0.5px;
	font-weight: 600;
	text-align: center;
}

/* 테이블 래퍼 (작은 화면에서 가로 스크롤 방지) */
.price-table-wrap {
	width: 100%;
	max-width: 840px;
	margin: 0 auto 32px;
	overflow-x: auto;
}

/* 실제 테이블 */
.price-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 640px; /* 너무 찌그러지지 않게 최소값 */
	font-size: 14px;
	text-align: center;
}

/* 헤더 */
.price-table thead th {
	background-color: #ebebeb;
	border: 1px solid #ddd;
	padding: 10px 8px;
	font-weight: 500;
	line-height: 1.4;
}

/* 바디 셀 */
.price-table tbody td {
	border: 1px solid #ddd;
	padding: 10px 8px;
	line-height: 1.4;
}

/* 짝수 줄 살짝 배경 */
.price-table tbody tr:nth-child(2n) {
	background-color: #fafafa;
}

/* ----------------- 반응형 ----------------- */
@media (max-width: 768px) {
	.price-section {
		margin-top: 60px;
	}

	.price-title {
		font-size: 26px;
	}

	.price-table {
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.price-title {
		font-size: 22px;
	}

	.price-table {
		min-width: 560px; /* 모바일에서 가로 스크롤 */
	}
}

.price-guide {
	max-width: 840px;
	width: 100%;
	margin: 60px auto;
	padding: 32px;
	border: 1px solid #ddd;
	background: #fff;
	box-sizing: border-box;
	font-family: Inter, Pretendard, sans-serif;
}

.price-guide-title {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 24px;
}

.price-guide-grid,
.price-guide-body {
	display: flex;
	gap: 24px;
}

.price-guide-column,
.price-guide-col {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.guide-item,
.guide-block {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 14px;
	line-height: 1.35;
	color: #000;
}

.guide-block p {
	margin: 0;
}

.price-guide p {
	margin: 0;
}

.price-guide ul {
	margin: 0;
	padding-left: 18px;
}

.price-guide li {
	list-style: disc;
	margin-bottom: 4px;
}

.divider {
	margin: 0 6px;
	color: #ddd;
}

.badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	font-family: Inter;
	white-space: nowrap;
}

.badge-blue {
	background: #eaf9ff;
	border: 1px solid #b4eaff;
	color: #005e83;
}

.badge-purple {
	background: #edf2ff;
	border: 1px solid #cdd7ff;
	color: #432dd6;
}

.badge-green {
	background: #eafef6;
	border: 1px solid #a8f5d2;
	color: #007b55;
}

.badge-red {
	background: #fff2f2;
	border: 1px solid #fdd9df;
	color: #c80239;
}

.badge-orange {
	background: #fef3ea;
	border: 1px solid #f5c2a8;
	color: #b00000;
}

.badge-yellow {
	background: #fffbf2;
	border: 1px solid #f1d06f;
	color: #bd9000;
}

.badge-sky {
	background: #eaf9ff;
	border: 1px solid #b4eaff;
	color: #005e83;
}

.benefit strong {
	font-weight: 600;
}

@media (max-width: 900px) {
	.price-guide-grid,
	.price-guide-body {
		flex-direction: column;
		gap: 32px;
	}

	.price-guide {
		padding: 20px;
	}
}















.info-box {
	font-size: 14px;
	line-height: 1.6;
}

.info-box.wide {
	grid-column: span 2;
}

.badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 6px;
}

.badge.blue { background:#eaf4ff; color:#1a5fd1; }
.badge.purple { background:#f0edff; color:#4a3ad4; }
.badge.green { background:#eafaf1; color:#1d9b60; }
.badge.red { background:#ffecec; color:#c80000; }
.badge.orange { background:#fff0e0; color:#d26a00; }
.badge.yellow { background:#fff8e1; color:#b38b00; }





.price-info {
	width: 100%;
	max-width:1280px;
	margin:50px auto;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	text-align: left;
	font-size: 16px;
	color: #000;
	font-family: Inter;
}
.price-info .b {
	position: relative;
	font-size: 24px;
	line-height: 22px;
}
.price-info .wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.price-info .div {
	position: relative;
	line-height: 22px;
}
.price-info .frame-parent {
	align-self: stretch;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: 10px;
	color: #595959;
	font-family: Pretendard;
}
.price-info .group {
	height: 90px;
	flex: 1;
	border-radius: 5px;
	background-color: rgba(217, 217, 217, 0);
	border: 1px solid #e0e0e0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 11px 24px;
	gap: 10px;
}
.price-info .div2 {
	position: relative;
	line-height: 24px;
	font-weight: 600;
}
.price-info .div3 {
	position: relative;
	font-size: 18px;
	line-height: 26px;
	font-weight: 600;
	color: #1a1a1a;
}
.price-info .parent3 {
	height: 90px;
	width: 309.5px;
	border-radius: 5px;
	background-color: rgba(217, 217, 217, 0);
	border: 1px solid #e0e0e0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 11px 24px;
	gap: 10px;
}
.price-info .div20 {
	display: flex;
	align-items: flex-start;
}
.price-info .frame-wrapper {
	width: 1280px;
	background-color: #fafafa;
	display: none;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px 22px 24px 24px;
	box-sizing: border-box;
	color: #767676;
}
.price-info .parent8 {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.slider {position:relative; width:100%; max-width:1280px; margin:100px auto 0;}
.slider .prevArrow {position:absolute;top:300px; left:0; z-index:9; cursor:pointer;}
.slider .nextArrow {position:absolute;top:300px; right:0; z-index:9; cursor:pointer;}
.slider .slick_slider img {width:100%;}
.slider .slick_slider_nav {margin-top:15px;}
.slider .slick_slider_nav img {width:100%;}
.slider .slick_slider_nav .slick-list {margin: 0 1px;}
.slider .slick_slider_nav .slick-slide {margin:0 13px;}
.slider .slick_slider_nav li {cursor:pointer;}

.tour_list {
	width: 100%;
	max-width: 1280px;
	margin: 100px auto;
	padding: 0 20px;
}

.tour_list .tour_title {
	font-size: 34px;
	font-weight: 600;
	text-align: center;
}

.tour_list ul {
	margin-top: 80px;
}

.tour_list ul li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 30px 0;
	border-bottom: 1px solid #ddd;
	cursor: pointer;
}

.tour_list ul li img {
	width: 50%;
	max-width: 600px;
	display: block;
}

.tour_list ul li .text-area {
	width: 50%;
	font-family: 'Noto Sans KR';
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
}

.tour_list ul li .text-area .tit {
	font-size: 18px;
	font-weight: 500;
}

.tour_list ul li .text-area .txt {
	font-size: 14px;
	line-height: 1.6;
}

/* ======================
   Mobile Responsive
====================== */
@media (max-width: 768px) {

.slider .prevArrow {top:22.67vw;}
.slider .nextArrow {top:22.67vw;}

	.tour_list {
		margin: 20vw auto;
	}

	.tour_list .tour_title {
		font-size: 8vw;          /* 약 30px */
	}

	.tour_list ul {
		margin-top: 12vw;
	}

	.tour_list ul li {
		flex-direction: column;
		align-items: flex-start;
		gap: 5vw;
		padding: 8vw 0;
	}

	.tour_list ul li img {
		width: 100%;
		max-width: 100%;
	}

	.tour_list ul li .text-area {
		width: 100%;
		align-items: flex-start;
		gap: 3vw;
	}

	.tour_list ul li .text-area .tit {
		font-size: 5vw;        /* 약 18px */
	}

	.tour_list ul li .text-area .txt {
		font-size: 3.8vw;      /* 약 14px */
		line-height: 1.7;
	}
}


.tour-view {
	width: 100%;
	max-width: 1280px;
	margin: 100px auto;
	padding: 0 20px;
	font-size: 14px;
	line-height: 26px;
	letter-spacing: -0.01em;
	font-family: 'Noto Sans KR';
}

.tour-view .tour_title {
	font-size: 34px;
	font-weight: 600;
	text-align: center;
}

.tour-view .tour-img {
	display: block;
	margin: 80px auto 20px;
	max-width: 100%;
}

/* ======================
   Mobile Responsive
====================== */
@media (max-width: 768px) {

	.tour-view {
		margin: 20vw auto;
		font-size: 3.8vw;        /* 약 14px */
		line-height: 6.8vw;      /* 약 26px */
	}

	.tour-view .tour_title {
		font-size: 8vw;          /* 약 30px */
		line-height: 1.3;
	}

	.tour-view .tour-img {
		margin: 10vw auto 6vw;
		width: 100%;
	}
}


.map_contents {
	width: 100%;
	max-width: 1280px;
	margin: 50px auto;
	padding: 70px;
	background: #fff;
	border-radius: 60px;
	box-shadow: 9px 4px 28px rgba(0,0,0,.08);
	font-family: Pretendard;
}

.map-inner {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.map-title {
	font-size: 40px;
	font-weight: 600;
}

.map-body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	font-size: 15px;
}

.map-image {
	width: 100%;
	object-fit: cover;
}

.info-group {
	display: flex;
	flex-direction: column;
	gap: 33px;
}

.info-block {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.info-item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 14px;
}

.info-title {
	display: grid;
	grid-template-columns: 24px auto;
	align-items: center;
	column-gap: 8px;
	font-weight: 600;
}

.info-title img {
	width: 24px;
	height: 24px;
}

.info-content {
	line-height: 30px;
	font-weight: 300;
}

.info-header {
	display: flex;
	align-items: center;
	gap: 16px;
	font-weight: 600;
}

.info-header.dual {
	justify-content: space-between;
}

.info-label {
	display: flex;
	align-items: center;
	gap: 8px;
}

.info-label img,
.info-header img {
	width: 24px;
	height: 24px;
}

.info-text-row {
	display: flex;
	gap: 20px;
	font-size: 14px;
}

.info-text-row p {
	flex: 1;
	line-height: 30px;
	font-weight: 300;
}

.info-description {
	font-size: 14px;
	line-height: 30px;
}

.info-description strong {
	font-weight: 600;
}

/* 반응형 */
@media (max-width: 768px) {
	.map_contents {
		padding: 30px 20px;
		border-radius: 30px;
	}

	.map-title {
		font-size: 28px;
	}

	.info-header.dual {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.info-text-row {
		flex-direction: column;
		gap: 10px;
	}
}


/* ===== Section ===== */
.room-info {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width:1280px;
	margin:100px auto 50px;
	text-align: left;
	font-size: 24px;
	color: #000;
	font-family: Inter, sans-serif;
}

/* ===== Title ===== */
.room-info__title {
	font-size:24px;
	line-height: 22px;
	font-weight: 700;
}

/* ===== Card Wrapper ===== */
.room-info__cards {
	width: 100%;
	display: flex;
	gap: 14px;

	font-size: 10px;
	color: #595959;
	font-family: Pretendard, sans-serif;
}

/* ===== Card ===== */
.room-info__card {
	flex: 1;
	height: 90px;

	display: flex;
	flex-direction: column;
	gap: 10px;

	padding: 11px 24px;
	border-radius: 5px;
	border: 1px solid #e0e0e0;
	background-color: transparent;
}

/* ===== Label ===== */
.room-info__label {
	line-height: 24px;
	font-weight: 600;
}

/* ===== Value ===== */
.room-info__value {
	font-size: 18px;
	line-height: 26px;
	font-weight: 600;
	color: #1a1a1a;
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
	.room-info__cards {
		flex-wrap: wrap;
	}

	.room-info__card {
		flex: 1 1 calc(50% - 7px);
	}
}

@media (max-width: 480px) {
	.room-info__card {
		flex: 1 1 100%;
	}
}

.room-info--amenities {
	width: 100%;
	background-color: #fafafa;
	border-radius: 2px;
	margin-top:50px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	font-family: Pretendard, sans-serif;
	color: #595959;
}

/* Section */
.room-info__section {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.room-info__section-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 26px;
	color: #595959;
}

/* ===== 편의시설 ===== */
.facility-list {
	display: grid;
	gap: 40px;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 14px;
	grid-template-columns: repeat(4, 1fr);
}

.facility-item {
	display: flex;
	align-items: center;
	padding: 0 20px;
	gap: 6px;
}

.facility-icon {
	width: 14px;
	height: 14px;
	background-color: #d9d9d9;
	border-radius: 3px;
	flex-shrink: 0;
}

/* ===== 어메니티 ===== */
.amenity-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 60px;
}

.amenity-column {
	list-style: none;
	padding: 0 20px;
	margin: 0;

	display: flex;
	flex-direction: column;
	gap: 12px;

	font-size: 14px;
	color: #767676;
}

.amenity-column li {
	line-height: 20px;
	letter-spacing: 0.14px;
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
	.amenity-grid {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 20px;
	}
	.facility-list {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 20px;
	}
}

@media (max-width: 480px) {
	.amenity-grid {
		grid-template-columns: 1fr;
	}
}

.room-price {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width:1280px;
	margin:100px auto 50px;
	font-family: Inter, sans-serif;
	font-size: 16px;
	color: #000;
}

/* 제목 */
.room-price__title {
	font-size: 24px;
	line-height: 22px;
	font-weight: 700;
}

/* 안내 문구 */
.room-price__notice {
	line-height: 22px;
}

/* 카드 그리드 */
.room-price__grid {
	display: flex;
	gap: 14px;

	font-size: 10px;
	color: #595959;
	font-family: Pretendard, sans-serif;
}

/* 기본 카드 */
.price-card {
	flex: 1;
	height: 90px;
	padding: 11px 24px;

	display: flex;
	flex-direction: column;
	gap: 10px;

	border: 1px solid #e0e0e0;
	border-radius: 5px;
	box-sizing: border-box;
}

.price-card__label {
	line-height: 24px;
	font-weight: 600;
}

.price-card__value {
	font-size: 18px;
	line-height: 26px;
	font-weight: 600;
	color: #1a1a1a;
}

/* 옵션 카드 */
.room-price__options {
	display: flex;
	gap: 14px;

	font-size: 10px;
	color: #595959;
	font-family: Pretendard, sans-serif;
}

.option-card {
	width: 309.5px;
	height: 90px;
	padding: 11px 24px;

	display: flex;
	flex-direction: column;
	gap: 10px;

	border: 1px solid #e0e0e0;
	border-radius: 5px;
	box-sizing: border-box;
}

.option-card__label {
	line-height: 24px;
	font-weight: 600;
}

.option-card__value {
	font-size: 18px;
	line-height: 26px;
	font-weight: 600;
	color: #1a1a1a;
}

/* 하단 주의사항 */
.room-price__notes {
	display: flex;
	gap: 150px;
	font-size: 16px;
}

.room-price__notes p {
	line-height: 22px;
}


/* 시즌 정보 */
.room-price__season {
	background-color: #fafafa;
	padding: 24px 22px 24px 24px;

	display: flex;
	flex-direction: column;
	gap: 10px;

	color: #767676;
}

/* ===== 반응형 (디자인 유지) ===== */
@media (max-width: 768px) {
	.room-price__grid,
	.room-price__options {
		flex-wrap: wrap;
	}

	.price-card {
		flex: 1 1 calc(50% - 7px);
	}

	.option-card {
		width: 100%;
	}

	.room-price__notes {
		flex-direction: column;
		gap: 8px;
	}
}

@media (max-width: 480px) {
	.price-card {
		flex: 1 1 100%;
	}
}

.reservation-btn {
	background-color: rgb(0, 103, 82);
	display: block;
	width:360px;
	margin: 30px auto 0;
	text-align: center;
	padding: 20px;
	font-size:18px;
	color:#fff;
}

.room-refund {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;

	max-width:1280px;
	margin:50px auto 50px;

	font-family: Inter, sans-serif;
	font-size: 24px;
	color: #000;
}

/* 제목 */
.room-refund__title {
	font-size:24px;
	line-height: 22px;
	font-weight: 700;
}

/* 테이블 전체 */
.refund-table {
	width: 100%;
	border: 1px solid #e0e0e0;
	display: flex;
	flex-direction: column;

	font-family: Pretendard, sans-serif;
	font-size: 14px;
	color: #1a1a1a;
}

/* 한 줄 */
.refund-row {
	display: flex;
	padding: 14px 24px;
	gap: 10px;
	background-color: #ffffff;
}

/* 헤더 */
.refund-row--head {
	background-color: #fafafa;
	color: #595959;
	font-weight: 600;
}

/* 안내 */
.refund-row--notice {
	background-color: #fafafa;
	font-size: 12px;
	color: #595959;
}

/* 셀 */
.refund-cell {
	display: flex;
	align-items: center;
	flex: 1;
	line-height: 24px;
}

/* 좌쪽 */
.refund-cell--left {
	justify-content: flex-start;
	font-weight: 600;
}

/* 우쪽 */
.refund-cell--right {
	justify-content: flex-end;
	font-weight: 600;
}

/* 일반 텍스트 */
.refund-row:not(.refund-row--head) .refund-cell--left {
	font-weight: 500;
}

/* 하단 안내 셀 */
.refund-cell--note {
	flex: 1;
	font-weight: 500;
}

.refund-cell--empty {
	flex: 1;
}

/* ===== 반응형 ===== */
@media (max-width: 480px) {
	.refund-row {
		padding: 12px 16px;
	}

	.refund-row--notice {
		flex-direction: column;
		gap: 6px;
	}

	.refund-cell--right {
		justify-content: flex-start;
	}
}



/* ===============================
   naesan-table Reset
=============================== */
.naesan-table * {
	box-sizing: border-box;
}

.naesan-table {
	font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
	color: #222;
	line-height: 1.6;
	padding-bottom:50px;
}

/* ===============================
   Hero
=============================== */
.naesan-table .nt-hero {
	position: relative;
	width: 100%;
	height: 650px;
	overflow: hidden;
	max-width:1280px;
	margin:100px auto 0;
}

.naesan-table .nt-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.naesan-table .nt-hero::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 220px;
	background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,0));
}

.naesan-table .nt-hero-text {
	position: absolute;
	left: 32px;
	bottom: 40px;
	z-index: 2;
	color: #fff;
}

.naesan-table .nt-title {
	display: block;
	font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
	font-size: 34px;
	font-weight: 600;
}

.naesan-table .nt-subtitle {
	font-size: 16px;
	font-weight: 500;
	opacity: .9;
}

/* ===============================
   Section Common
=============================== */
.naesan-table .nt-section {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
}

.naesan-table .nt-section-title {
	font-size: 22px;
	font-weight: 700;
	margin: 60px 0 24px;
}

.naesan-table .nt-desc {
	font-size: 14px;
	color: #666;
	margin-bottom: 24px;
}

/* ===============================
   Info
=============================== */
.naesan-table .nt-info-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
}

.naesan-table .nt-info-box {
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 20px 16px;
	text-align: center;
}

.naesan-table .nt-info-box span {
	display: block;
	font-size: 13px;
	color: #777;
	margin-bottom: 6px;
}

.naesan-table .nt-info-box strong {
	font-size: 15px;
	font-weight: 600;
}

/* ===============================
   Price
=============================== */
.naesan-table .nt-price-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 16px;
}

.naesan-table .nt-price-grid--half {
	grid-template-columns: repeat(2, 1fr);
}

.naesan-table .nt-price-box {
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	padding: 20px 16px;
	text-align: center;
}

.naesan-table .nt-price-box span {
	display: block;
	font-size: 13px;
	color: #777;
	margin-bottom: 6px;
}

.naesan-table .nt-price-box strong {
	font-size: 15px;
	font-weight: 600;
}

/* ===============================
   Notice
=============================== */
.naesan-table .nt-notice {
	margin-top: 20px;
	list-style: none;
	font-size: 13px;
	color: #777;
	padding-left: 0;
}

.naesan-table .nt-notice li {
	margin-top: 6px;
}

/* ===============================
   Responsive
=============================== */
@media (max-width: 1024px) {
	.naesan-table .nt-info-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.naesan-table .nt-price-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.naesan-table .nt-hero {
		height: 420px;
		margin-top: 80px;
	}

	.naesan-table .nt-hero-text {
		left: 20px;
		bottom: 24px;
	}

	.naesan-table .nt-title {
		font-size: 24px;
	}

	.naesan-table .nt-subtitle {
		font-size: 14px;
	}

	.naesan-table .nt-info-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.naesan-table .nt-price-grid,
	.naesan-table .nt-price-grid--half {
		grid-template-columns: 1fr;
	}
}
/* ===============================
   Refund Notice
=============================== */
.naesan-table .nt-refund-notice {
	max-width: 1280px;
	margin: 60px auto 0;
	padding: 0 20px;
}

.naesan-table .nt-refund-call {
	font-size: 15px;
	font-weight: 600;
	color: #333;
}

.naesan-table .nt-refund-sub {
	margin-top: 6px;
	font-size: 13px;
	color: #777;
}

/* ===============================
   Refund Table
=============================== */
.naesan-table .nt-refund {
	margin-top: 60px;
}

.naesan-table .nt-refund-table {
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	overflow: hidden;
}

.naesan-table .nt-refund-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 14px 20px;
	border-top: 1px solid #e5e5e5;
	font-size: 14px;
}

.naesan-table .nt-refund-row:first-child {
	border-top: none;
}

/* Header */
.naesan-table .nt-refund-head {
	background: #fafafa;
	font-weight: 600;
}

/* Align */
.naesan-table .nt-refund-row > div:last-child {
	text-align: right;
	font-weight: 600;
}

/* Description */
.naesan-table .nt-refund-desc {
	margin-top: 14px;
	font-size: 13px;
	color: #777;
}

/* ===============================
   Responsive
=============================== */
@media (max-width: 640px) {
	.naesan-table .nt-refund-row {
		padding: 12px 14px;
		font-size: 13px;
	}

	.naesan-table .nt-refund-row > div:last-child {
		text-align: left;
		margin-top: 4px;
	}
}






