@charset "utf-8";

/* 랜딩 스타일 풀페이지 공통 */
.fullpage{padding-top:120px; min-height:60vh;}
.page_section{padding:80px 0 120px;}
.page_section .heading{margin-bottom:50px;}
.page_placeholder{max-width:800px; margin:0 auto; padding:80px 20px; text-align:center; color:#6E6E6E; font-size:18px; line-height:1.7; background:#F4F4F2;}
.page_placeholder .page_link{margin-top:20px;}
.page_placeholder .page_link a{display:inline-block; padding:12px 24px; color:#fff; background:#1A1A1A; font-size:15px;}

/* 오시는길 — 프리미엄 톤 */
.location_page{
	--loc-brand: #4D4A45;
	--loc-muted: #7A7670;
	--loc-point: #5A7FA8;
	--loc-line: #E6E4E0;
	background:#fff;
	padding-bottom:0;
	font-family:'Pretendard', sans-serif;
}
.location_page .heading{margin-bottom:48px; text-align:center;}
.location_page .heading h3{
	margin:0;
	font-size:clamp(28px, 3.2vw, 36px);
	line-height:1.3;
	color:var(--loc-brand);
	font-weight:700;
	letter-spacing:-0.03em;
}
.location_page .heading h3 .blue{
	display:block;
	margin-top:10px;
	font-size:clamp(15px, 1.6vw, 18px);
	font-weight:600;
	letter-spacing:0.16em;
	color:var(--loc-point);
}
.location_page .heading .text{
	max-width:480px;
	margin:20px auto 0;
	font-size:17px;
	line-height:1.75;
	color:var(--loc-muted);
	word-break:keep-all;
}
.location_page .location_cs{
	position:relative !important;
	padding:0 0 100px !important;
	background:transparent;
	overflow:visible !important;
}
.location_page .location_cs_inner{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content:space-between;
	gap:40px 48px;
	width:100%;
	max-width:var(--content-max);
	margin:0 auto;
	padding:40px var(--content-gutter) 0;
	box-sizing:border-box;
	position:relative;
	z-index:1;
}
.location_page .location_cs .info{
	flex:1 1 360px;
	width:auto !important;
	max-width:520px;
	padding-right:0 !important;
	margin-top:0 !important;
}
.location_page .location_cs .info .item{
	margin-bottom:0;
}
.location_page .location_cs .info .item + .item{
	margin-top:36px;
	padding-top:36px;
	border-top:1px solid var(--loc-line);
}
/* 주소·진료시간 = 찾아오시는 길 타이포 스케일과 동일 */
.location_page .location_cs .info .item .subject{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:20px;
	font-size:28px;
	line-height:1.3;
	font-weight:700;
	letter-spacing:-0.02em;
	color:var(--loc-brand);
}
.location_page .location_cs .info .item .subject .subject_icon{
	flex:0 0 32px;
	width:32px;
	height:32px;
}
.location_page .location_cs .info .item.n1 .desc,
.location_page .location_cs .info .item .desc{
	position:relative;
	padding-left:14px;
	margin:0;
	font-size:16px;
	line-height:1.7;
	font-weight:400;
	color:#5C5955;
	word-break:keep-all;
}
.location_page .location_cs .info .item.n1 .desc::before,
.location_page .location_cs .info .item .desc::before{
	content:'';
	position:absolute;
	left:0;
	top:0.72em;
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--loc-point);
}
.location_page .location_cs .info .item.n1 .desc + .desc,
.location_page .location_cs .info .item .desc + .desc{
	margin-top:10px;
}
.location_page .location_cs .info .item.n1 .desc.desc_sub,
.location_page .location_cs .info .item .desc.desc_sub{
	font-size:14px;
	line-height:1.65;
	color:var(--loc-muted);
}
.location_page .location_cs .info .item.n2 .dl{
	position:relative;
	display:flex;
	align-items:baseline;
	flex-wrap:nowrap;
	width:100%;
	max-width:420px;
	margin-top:10px;
	padding-left:14px;
	box-sizing:border-box;
	font-size:16px;
	line-height:1.7;
	font-weight:400;
	color:#5C5955;
}
.location_page .location_cs .info .item.n2 .dl::before{
	content:'';
	position:absolute;
	left:0;
	top:0.72em;
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--loc-point);
}
.location_page .location_cs .info .item.n2 .dl:first-of-type{margin-top:0;}
.location_page .location_cs .info .item.n2 .dl .dt{
	flex:0 0 auto;
	width:auto;
	min-width:7.5em;
	margin-right:14px;
	white-space:nowrap;
	font-weight:700;
	color:var(--loc-brand);
}
.location_page .location_cs .info .item.n2 .dl .dd{
	flex:1 1 auto;
	min-width:0;
	white-space:nowrap;
	font-weight:400;
	color:#5C5955;
}
.location_page .location_cs .info .item.n2 .comment,
.location_page .location_cs .info .item .comment{
	margin-top:16px;
	font-size:14px;
	line-height:1.65;
	font-weight:600;
	color:var(--loc-point);
	word-break:keep-all;
}
.location_page .location_cs .maps .parking_video_btn{
	font-size:15px;
	line-height:1.4;
	font-weight:600;
	padding:14px 18px;
	letter-spacing:-0.02em;
}
.location_page .location_cs .maps{
	position:relative !important;
	left:auto !important;
	top:auto !important;
	right:auto !important;
	width:auto !important;
	height:auto !important;
	flex:0 1 640px;
	max-width:100%;
	overflow:visible !important;
	display:block !important;
	justify-content:flex-start !important;
	align-items:stretch !important;
	padding:0 !important;
	z-index:1 !important;
}
.location_page .location_cs .maps .maps_inner{
	width:100%;
	max-width:640px;
	margin:0;
}

.location_page .map_shortcut{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	align-items:stretch;
	gap:10px;
	margin-top:12px;
	width:100%;
}
.location_page .map_shortcut_btn{
	flex:1 1 0;
	min-width:0;
	display:block;
	min-height:52px;
	overflow:hidden;
	border-radius:0;
	text-decoration:none;
	transition:opacity 0.2s ease, transform 0.2s ease;
}
.location_page .map_shortcut_btn:hover{opacity:0.92; transform:translateY(-1px);}
.location_page .map_shortcut_btn img{
	display:block;
	width:100%;
	height:52px;
	object-fit:cover;
	object-position:center;
}

.location_page .location_guide_wrap{
	max-width:var(--content-max);
	margin:0 auto;
	padding:56px var(--content-gutter) 100px;
	box-sizing:border-box;
}
.location_page .location_guide_subject{
	margin:0 0 36px;
	padding-top:40px;
	border-top:1px solid var(--loc-line);
	font-size:28px;
	line-height:1.3;
	color:var(--loc-brand);
	font-weight:700;
	letter-spacing:-0.02em;
}

.location_page .location_guide{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:0 56px;
	box-sizing:border-box;
}
.location_page .guide_item{
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	column-gap:16px;
	row-gap:14px;
	padding:28px 0;
	border-top:1px solid var(--loc-line);
	background:transparent;
	box-sizing:border-box;
}
.location_page .guide_item:nth-child(1),
.location_page .guide_item:nth-child(2){
	border-top:none;
	padding-top:0;
}
.location_page .guide_icon{
	grid-column:1;
	grid-row:1;
	width:48px;
	height:48px;
	background:transparent;
	border:none;
	box-sizing:border-box;
	overflow:hidden;
}
.location_page .guide_icon img{
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
	padding:0;
	box-sizing:border-box;
}
.location_page .guide_body{display:contents;}
.location_page .guide_title{
	grid-column:2;
	grid-row:1;
	margin:0;
	font-size:18px;
	line-height:1.35;
	font-weight:700;
	color:var(--loc-brand);
	letter-spacing:-0.02em;
}
.location_page .guide_list{
	grid-column:1 / -1;
	grid-row:2;
	margin:0;
	padding:0;
	list-style:none;
	width:100%;
	box-sizing:border-box;
}
.location_page .guide_list li{
	position:relative;
	padding:0 0 10px 14px;
	font-size:16px;
	line-height:1.7;
	color:#5C5955;
	word-break:keep-all;
}
.location_page .guide_list li:last-child{padding-bottom:0;}
.location_page .guide_list li::before{
	content:'';
	position:absolute;
	left:0;
	top:0.72em;
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--loc-point);
}
.location_page .guide_list strong{color:var(--loc-brand); font-weight:700;}
.location_page .guide_list a{
	color:var(--loc-point);
	font-weight:700;
	text-decoration:none;
	border-bottom:1px solid var(--loc-point);
}
.location_page .guide_list a:hover{opacity:0.7;}
.location_page .guide_list li.is-note{
	margin-top:4px;
	padding-top:10px;
	border-top:1px solid var(--loc-line);
	font-size:14px;
	line-height:1.65;
	color:var(--loc-muted);
}
.location_page .guide_list li.is-note::before{display:none;}
.location_page .guide_list li.is-note{padding-left:0;}
.location_page .guide_list li.is-contact a{
	font-size:17px;
	letter-spacing:-0.02em;
}

@media all and (max-width:1000px){
	/* 로고+2줄 GNB 고정 헤더 높이만큼 확보 */
	.fullpage{padding-top:210px !important;}
	.page_section{padding:50px 0 80px;}
	.location_page .location_cs{padding:0 0 70px !important;}
	.location_page .location_cs_inner{
		flex-direction:column;
		padding:20px 20px 0;
		gap:28px;
	}
	.location_page .location_cs .info{
		max-width:none;
		width:100% !important;
	}
	.location_page .location_cs .info .item .subject{
		font-size:24px;
		margin-bottom:16px;
	}
	.location_page .location_cs .info .item .subject .subject_icon{
		flex:0 0 28px;
		width:28px;
		height:28px;
	}
	.location_page .location_cs .info .item.n1 .desc,
	.location_page .location_cs .info .item .desc{
		font-size:15px;
		line-height:1.7;
	}
	.location_page .location_cs .info .item.n1 .desc.desc_sub,
	.location_page .location_cs .info .item .desc.desc_sub{
		font-size:13px;
	}
	.location_page .location_cs .info .item.n2 .dl{
		font-size:15px;
		line-height:1.7;
		max-width:100%;
	}
	.location_page .location_cs .info .item.n2 .comment,
	.location_page .location_cs .info .item .comment{
		font-size:13px;
	}
	.location_page .location_cs .maps .parking_video_btn{
		font-size:14px;
		padding:13px 16px;
	}
	.location_page .location_cs .maps{
		width:100% !important;
		flex:1 1 auto;
	}
	.location_page .location_cs .maps .maps_inner{
		width:100%;
		max-width:640px;
		margin:0 auto;
	}
	.location_page .location_guide_wrap{padding:40px 16px 80px;}
	.location_page .location_guide_subject{
		margin-bottom:28px;
		padding-top:32px;
		font-size:24px;
	}
	.location_page .location_guide{
		grid-template-columns:1fr;
		gap:0;
	}
	.location_page .guide_item{
		padding:22px 0;
		column-gap:12px;
		row-gap:12px;
		border-top:1px solid var(--loc-line);
	}
	.location_page .guide_item:nth-child(1){
		border-top:none;
		padding-top:0;
	}
	.location_page .guide_item:nth-child(2){
		border-top:1px solid var(--loc-line);
		padding-top:22px;
	}
	.location_page .guide_icon{width:40px; height:40px;}
	.location_page .guide_title{font-size:17px;}
	.location_page .guide_list li{font-size:15px;}
	.location_page .map_shortcut_btn img{height:48px;}
}

@media all and (max-width:640px){
	.location_page .map_shortcut{gap:8px;}
	.location_page .map_shortcut_btn img{height:44px;}
	.location_page .location_guide_wrap{padding:36px 14px 64px;}
	.location_page .location_guide_subject{font-size:22px;}
	.location_page .location_cs .info .item .subject{
		font-size:22px;
		margin-bottom:14px;
	}
	.location_page .location_cs .info .item .subject .subject_icon{
		flex:0 0 26px;
		width:26px;
		height:26px;
	}
	.location_page .location_cs .info .item.n1 .desc,
	.location_page .location_cs .info .item .desc,
	.location_page .location_cs .info .item.n2 .dl{
		font-size:15px;
	}
	.location_page .location_cs .info .item.n1 .desc.desc_sub,
	.location_page .location_cs .info .item .desc.desc_sub,
	.location_page .location_cs .info .item.n2 .comment,
	.location_page .location_cs .info .item .comment{
		font-size:13px;
	}
	.location_page .guide_item{
		column-gap:10px;
		row-gap:10px;
		padding:20px 0;
	}
	.location_page .guide_icon{width:36px; height:36px;}
	.location_page .guide_title{font-size:16px;}
	.location_page .guide_list li{font-size:15px; line-height:1.65;}
	.location_page .guide_list li.is-contact a{font-size:16px;}
	.location_page .guide_list li.is-note{font-size:13px;}
}
