@charset "utf-8";

/* 내용관리 */
#ctt { background:#fff; }
.ctt_admin { text-align:right; }
#ctt header h1 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#ctt_con { }
#ctt_con img { max-width:100%; height:auto; }
.ctt_img { text-align:center; }

.location_intro { width:100%; max-width:1230px; line-height:1; margin:0 auto; padding:clamp(40px, 10vw, 80px) 15px clamp(80px, 12vw, 140px); text-align:center; font-size:16px; word-break:keep-all; }

#location_wrap1 { scroll-margin-top:clamp(120px, 16vw, 240px); }
#location_wrap2 { margin-top:clamp(50px, 10vw, 100px); scroll-margin-top:clamp(120px, 16vw, 240px); }

.contents_title { display:flex; flex-flow:column; align-items:center; justify-content:center; width:100%; text-align:center; }
.contents_title .tit { line-height:1.3; font-size:clamp(26px, 4vw, 46px); font-weight:700; color:#111; letter-spacing:-0.02em; }
.contents_title .txt { margin-top:clamp(8px, 1.5vw, 16px); line-height:1.6; font-size:clamp(12px, 2.2vw, 20px); font-weight:400; color:#777; letter-spacing:-0.02em; }

.location_map { width:100%; max-width:1200px; margin:0 auto; margin-top:clamp(30px, 3.5vw, 40px); border-radius:clamp(8px, 1vw, 14px); overflow:hidden; background:#f2f2f2; }
.location_map img { display:block; width:100%; aspect-ratio:1200 / 560; object-fit:cover; }
.location_map .contact_map { width:100% !important; }
.location_map .wrap_map { height:clamp(400px, 50vw, 600px) !important; }
.location_map .wrap_controllers { display:none; }
.location_map .cont { display:none; }

.location_card { display:grid; grid-template-columns:300px 1fr; width:100%; max-width:1200px; margin:clamp(18px, 2vw, 26px) auto 0; border:1px solid #d9d9d9; border-radius:clamp(8px, 1vw, 14px); overflow:hidden; background:#fff; text-align:left; }
.location_card_title { display:flex; flex-flow:column; justify-content:center; padding:clamp(30px, 4vw, 40px); background:#f3f6fa; }
.location_card_title .icon { display:flex; align-items:center; justify-content:center; width:clamp(34px, 3vw, 50px); height:clamp(34px, 3vw, 50px); margin-bottom:clamp(22px, 2.5vw, 34px); color:#1d438a; font-size:clamp(30px, 4vw, 50px); }
.location_card_title h2 { line-height:1.3; font-size:clamp(24px, 3vw, 36px); font-weight:700; color:#1d438a; letter-spacing:-0.04em; word-break:keep-all; }
.location_card_title p { margin-top:clamp(18px, 2vw, 28px); line-height:1.7; font-size:clamp(14px, 2.2vw, 18px); font-weight:300; color:#555; letter-spacing:-0.02em; word-break:keep-all; }

.location_card_contents { display:flex; flex-flow:column; justify-content:center; min-width:0; padding:clamp(30px, 4vw, 40px); }
.info_grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(20px, 3vw, 45px); }
.info_item { min-width:0; }
.info_item h3,
.transport_item h3 { display:flex; align-items:center; gap:8px; padding-bottom:clamp(12px, 1.6vw, 18px); border-bottom:1px solid #d9d9d9; line-height:1.3; font-size:clamp(16px, 2vw, 22px); font-weight:700; color:#111; letter-spacing:-0.03em; }
.info_item h3 i,
.transport_item h3 i { color:#111; font-size:0.95em; }
.info_item p,
.transport_item p { display:flex; margin-top:clamp(14px, 1.8vw, 22px); line-height:1.5; font-size:clamp(14px, 1.8vw, 18px); font-weight:300; color:#111; letter-spacing:-0.02em; word-break:keep-all; }
.info_item p + p,
.transport_item p + p { margin-top:10px; }
.transport_item p { flex-flow:column; }
.info_item p span { display:flex; flex-shrink:0; margin-right:10px; font-weight:600; color:#111; }
.transport_item p span { display:flex; flex-shrink:0; margin-bottom:5px; font-weight:600; color:#1d438a; }

.map_btn_wrap { display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(10px, 1.4vw, 16px); margin-top:clamp(28px, 3.5vw, 45px); }
.map_btn { display:flex; align-items:center; justify-content:flex-start; gap:clamp(8px, 1vw, 12px); height:clamp(44px, 4vw, 56px); padding:0 clamp(14px, 2vw, 22px); border:1px solid #1d438a; border-radius:clamp(5px, 0.7vw, 8px); background:#fff; font-size:clamp(14px, 1.5vw, 17px); font-weight:600; color:#1d438a; letter-spacing:-0.03em; transition:all 0.25s ease; }
.map_btn:hover { background:#1d438a; color:#fff; }
.map_btn img { display:block; flex:0 0 clamp(20px, 2vw, 26px); width:clamp(20px, 2vw, 26px); height:clamp(20px, 2vw, 26px); object-fit:contain; }
.map_btn span { display:block; flex-shrink:0; }
.map_btn i { margin-left:auto; }

.transport_grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(20px, 3vw, 45px); }
.notice_box { display:flex; align-items:center; gap:8px; width:100%; margin-top:clamp(25px, 3vw, 42px); padding:clamp(10px, 1.5vw, 14px) clamp(14px, 2vw, 20px); border:1px solid #e0e0e0; border-radius:clamp(5px, 0.7vw, 8px); background:#f7f7f7; line-height:1.5; font-size:clamp(14px, 1.8vw, 16px); font-weight:300; color:#555; letter-spacing:-0.02em; }
.notice_box i { color:#1d438a; }

.parking_grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(14px, 2vw, 24px); }
.parking_item { min-width:0; text-align:center; }
.parking_img { border-radius:clamp(8px, 1vw, 14px); overflow:hidden; position:relative; background:#eee; }
.parking_img img { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; transition:all 0.35s ease; }
.parking_img span { display:flex; align-items:center; justify-content:center; width:clamp(30px, 3vw, 42px); height:clamp(30px, 3vw, 42px); border-radius:50%; background:#1d438a; color:#fff; font-size:clamp(13px, 1.5vw, 17px); font-weight:700; position:absolute; left:10px; top:10px; }
.parking_item p { margin-top:clamp(12px, 1.5vw, 18px); line-height:1.6; font-size:clamp(14px, 2vw, 18px); font-weight:600; color:#1d438a; letter-spacing:-0.03em; }
.parking_item:hover .parking_img img { transform:scale(1.05); }


/* 반응형 */
@media (max-width: 1200px){

	.location_map,
	.location_card { width:90%; }
	.location_card { display:block; }
	.location_card_title p br { display:none; }

}

@media (max-width: 980px){

	.location_card { grid-template-columns:240px 1fr; }
	.location_card_title { padding:35px 28px; }
	.location_card_contents { padding:35px 28px; }
	.info_grid,
	.transport_grid { gap:24px; }

}

@media (max-width: 760px){

	.location_intro { padding:45px 0 80px; }

	.location_map,
	.location_card { width:90%; }

	.location_map img { aspect-ratio:1 / 0.75; }

	.location_card_title { padding:30px 24px; }
	.location_card_title .icon { margin-bottom:18px; }

	.location_card_contents { padding:30px 24px; }

	.info_grid,
	.transport_grid,
	.parking_grid { grid-template-columns:1fr; gap:28px; }

	.map_btn_wrap { grid-template-columns:1fr; }

}

@media (max-width: 540px){

	.location_intro { padding:40px 0 70px; }

	.location_card_title,
	.location_card_contents { padding:26px 20px; }

	.location_map img { aspect-ratio:1 / 0.9; }

	.parking_img img { aspect-ratio:16 / 10; }

}

@media (max-width: 430px){

	.location_card_title h2 { font-size:24px; }
	.info_item h3,
	.transport_item h3 { font-size:16px; }

}