@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */
/* Sub */
.sub-visual.checkup-visual{ position: relative; display: flex; align-items: center; justify-content: center; margin-top: var(--header-height); min-height: clamp(320px, 42vw, 560px); padding: 80px var(--layout-inline) 120px; text-align: center; overflow: hidden; background: #111; }
.sub-visual.checkup-visual .sv-bg{ position: absolute; inset: 0; }
.sub-visual.checkup-visual .sv-bg img{ width: 100%; height: 100%; object-fit: cover; }
.sub-visual.checkup-visual .sv-bg::after{ content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.sub-visual.checkup-visual .sv-copy{ position: relative; z-index: 1; color: #fff; }
.sub-visual.checkup-visual .sv-eyebrow{ font-size: clamp(14px, 1.04vw, 18px); font-weight: 500; letter-spacing: 0.2em; opacity: 0.9; }
.sub-visual.checkup-visual h2{ margin-top: 16px; font-size: clamp(32px, 3.33vw, 56px); font-weight: 600; letter-spacing: -0.03em; line-height: 1.3; color: #fff; }
.sub-visual.checkup-visual p{ margin-top: 20px; font-size: clamp(16px, 1.04vw, 20px); line-height: 1.6; max-width: 640px; margin-left: auto; margin-right: auto; }
.lnb-wrap.checkup-lnb{ position: relative; z-index: 5; margin-top: -60px; border-bottom: 0; }
.lnb-wrap.checkup-lnb .lnb{ width: 100%; padding: 0 var(--layout-inline); }
.lnb-wrap.checkup-lnb .lnb ul{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: #fff; border-radius: var(--radius-md); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12); overflow: hidden; }
.lnb-wrap.checkup-lnb .lnb ul li{ border: 0; border-right: 1px solid var(--color-border); }
.lnb-wrap.checkup-lnb .lnb ul li:last-child{ border-right: 0; }
.lnb-wrap.checkup-lnb .lnb ul li a{ height: 60px; font-size: clamp(14px, 0.94vw, 18px); font-weight: 500; color: var(--color-body); transition: background 0.2s ease, color 0.2s ease; }
.lnb-wrap.checkup-lnb .lnb ul li.active a, .lnb-wrap.checkup-lnb .lnb ul li a:hover{ background: var(--color-main); color: var(--color-heading); font-weight: 600; }
/* 서브페이지 공통 — 피그마 서브메인 본문 스케일 (20px) · 컨텐츠~푸터 180px */
.sub-content-box{ padding: 120px 0 180px; }
.sub-content-box .real-cont{ min-height: 0; padding: 0; border-radius: 0; background: transparent; font-size: 20px; line-height: 1.7; letter-spacing: -0.03em; color: #505050; }
.sub-content-box .real-cont .page-title, .sub-content-box .real-cont .nhis-heading, .sub-article .page-title{ margin: 0 0 48px; font-size: 32px; font-weight: 700; line-height: 1.3; letter-spacing: -0.03em; color: #121212; }
.sub-content-box .real-cont .cont-heading{ margin: 80px 0 30px; font-size: 32px; font-weight: 700; line-height: 1.3; color: #121212; }
.sub-content-box .real-cont .cont-note, .sub-article > p, .sub-lead{ margin: 0 0 40px; font-size: 20px; line-height: 1.7; letter-spacing: -0.03em; color: #505050; }
.sub-content-box .real-cont .cont-note{ margin-top: 40px; margin-bottom: 0; }
/* 서브 공통 — 본문 20px · 불릿 5×5 #CCC */
.sub-content-box .real-cont .bullet-list, .sub-content-box .real-cont .features-bullets, .sub-content-box .real-cont .about-history .history-block__list, .sub-content-box .real-cont .about-doctors .doctor-career, .sub-content-box .real-cont .personal-detail-meta{ margin: 0; padding: 0; list-style: none; }
.sub-content-box .real-cont .bullet-list li, .sub-content-box .real-cont .features-bullets li, .sub-content-box .real-cont .about-history .history-block__list li, .sub-content-box .real-cont .personal-detail-meta li{ position: relative; padding-left: 15px; font-size: 20px; line-height: 1.6; letter-spacing: -0.03em; color: #505050; word-break: keep-all; }
.sub-content-box .real-cont .about-doctors .doctor-career li{ position: relative; padding-left: 15px; font-size: 18px; line-height: 1.6; letter-spacing: -0.03em; color: #505050; word-break: keep-all; }
.sub-content-box .real-cont .bullet-list li::before, .sub-content-box .real-cont .features-bullets li::before, .sub-content-box .real-cont .about-history .history-block__list li::before, .sub-content-box .real-cont .about-doctors .doctor-career li::before, .sub-content-box .real-cont .personal-detail-meta li::before{ content: ""; position: absolute; top: 0.72em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #cccccc; transform: translateY(-50%); }
/* NHIS sub (Figma 114:368 · 116:1013) */
.sub-visual.nhis-visual{ position: relative; display: flex; align-items: center; justify-content: center; margin-top: 0; height: 750px; padding: 0 var(--layout-inline) 120px; overflow: hidden; text-align: center; background: #111; }
.sub-visual.nhis-visual .sv-bg{ position: absolute; inset: 0; }
.sub-visual.nhis-visual .sv-bg img{ width: 100%; height: 100%; object-fit: cover; }
.sub-visual.nhis-visual .sv-bg::after{ content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); }
.sub-visual.nhis-visual .sv-copy{ position: relative; z-index: 1; color: #fff; }
.sub-visual.nhis-visual .sv-eyebrow{ font-size: 24px; font-weight: 500; line-height: 1.3; color: #fff; }
.sub-visual.nhis-visual h2{ margin-top: 6px; font-size: 72px; font-weight: 700; line-height: 1.3; color: #fff; }
.sub-visual.nhis-visual .sv-copy p:last-child{ margin-top: 20px; font-size: 18px; line-height: 1.6; color: #fff; }
.lnb-wrap.nhis-lnb{ position: absolute; top: 565px; left: 0; right: 0; z-index: 5; margin: 0; border: 0; display: flex; justify-content: center; }
.lnb-wrap.nhis-lnb .lnb{ width: auto; max-width: none; margin: 0; padding: 0; }
.lnb-wrap.nhis-lnb .lnb ul{ display: flex; align-items: center; gap: 30px; padding: 20px 40px; background: rgba(255, 255, 255, 0.15); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.lnb-wrap.nhis-lnb .lnb ul li, .lnb-wrap.nhis-lnb .lnb ul li:first-child{ flex: none; border: 0; }
.lnb-wrap.nhis-lnb .lnb ul li a{ display: flex; align-items: center; justify-content: center; width: auto; height: auto; min-height: 44px; padding: 8px 24px; background: transparent; font-size: 18px; font-weight: 500; color: #fff; white-space: nowrap; border-radius: 6px; transition: background 0.2s ease, color 0.2s ease; }
.lnb-wrap.nhis-lnb .lnb ul li.active a, .lnb-wrap.nhis-lnb .lnb ul li a:hover{ background: #fff; color: #121212; font-weight: 600; }
.lnb-wrap.nhis-lnb .lnb ul li a.is-unlinked:hover{ background: rgba(255, 255, 255, 0.12); color: #fff; font-weight: 500; }
.sub-content-box.nhis-page{ padding: 0 0 180px; }
.sub-content-box.nhis-page .real-cont{ min-height: 0; padding: 0; background: transparent; border-radius: 0; font-size: inherit; line-height: inherit; }
.nhis-3dep{ display: flex; align-items: center; justify-content: center; gap: 30px; padding: 120px 0 80px; }
.nhis-3dep a{ font-size: 28px; font-weight: 700; line-height: 1.3; color: #ccc; transition: color 0.2s ease; }
.nhis-3dep a.is-current{ color: var(--color-main); }
.nhis-3dep a:hover:not(.is-current):not(.is-unlinked){ color: #121212; }
.nhis-3dep .sep{ display: block; width: 1px; height: 24px; background: #ddd; }
.nhis-promo{ position: relative; overflow: hidden; min-height: 465px; padding: 80px 80px 80px 800px; border-radius: 16px; }
.nhis-promo-bg{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.nhis-promo-copy{ position: relative; z-index: 1; }
.nhis-promo--plus{ display: flex; align-items: center; justify-content: flex-end; }
.nhis-promo--plus .nhis-promo-copy{ width: 100%; }
.nhis-promo-title{ margin: 0; font-size: 40px; font-weight: 700; line-height: 1.3; letter-spacing: -0.03em; color: #121212; word-break: keep-all; }
.nhis-table-plus col.col-item{ width: 380px; }
.nhis-table-plus col.col-price{ width: 160px; }
.nhis-table.nhis-table-plus:not(.nhis-table-cancer) tbody th{ width: auto; text-align: left; font-size: 20px; font-weight: 600; word-break: keep-all; }
.nhis-table-plus td{ word-break: keep-all; }
.nhis-table-plus td:nth-last-child(-n+2){ text-align: center; white-space: nowrap; }
.nhis-table-plus .bullet-list{ gap: 16px; }
.nhis-table-plus .bullet-list span{ color: var(--color-sub); }
/* NHIS plus package cards */
.hnp-card-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; align-items: stretch; margin-top:80px;}
.hnp-card{ display: flex; flex-direction: column; align-items: center; min-width: 0; padding: 38px 28px 34px; border: 1px solid #d9dfe4; border-radius: 22px; background: #fff; text-align: center; }
.hnp-card-title{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; min-height: 68px; margin: 0; color: var(--color-sub, #0168b7); font-size: 32px; font-weight: 700; line-height: 1.4; letter-spacing: -0.045em; word-break: keep-all; }
.hnp-plus{ display: inline-flex; align-items: center; justify-content: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background-color: var(--color-main, #5ed1ff); color: #034677; font-size: 0; line-height: 0; background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor); background-size: 14px 2px, 2px 14px; background-position: center; background-repeat: no-repeat; }
.hnp-card-icon{ display: block; flex: none; width: 144px; height: 144px; margin: 8px auto 18px; background-image: url('/images/nhis-plus/package-icons-blue.png'); background-size: 300% 300%; background-repeat: no-repeat; }
.hnp-card-icon-1{ background-position: 0 0; }
.hnp-card-icon-2{ background-position: 50% 0; }
.hnp-card-icon-3{ background-position: 100% 0; }
.hnp-card-icon-4{ background-position: 0 50%; }
.hnp-card-icon-5{ background-position: 50% 50%; }
.hnp-card-icon-6{ background-position: 100% 50%; }
.hnp-card-icon-7{ background-position: 0 100%; }
.hnp-card-icon-8{ background-position: 50% 100%; }
.hnp-card-icon-9{ background-position: 100% 100%; }
.hnp-card-description{ display: flex; flex-direction: column; justify-content: center; flex: 1; width: 100%; min-height: 144px; padding: 22px 20px; border-radius: 12px; background: #f4f6f8; font-size: 18px; line-height: 1.7; color: var(--color-body, #505050); word-break: keep-all; overflow-wrap: anywhere; }
.hnp-card-description .bullet-list{ margin: 0; padding: 0; text-align: left; list-style: none; }
.hnp-card-description .bullet-list li{ position: relative; margin: 0; padding-left: 13px; font-size: inherit; line-height: inherit; }
.hnp-card-description .bullet-list li + li{ margin-top: 8px; }
.hnp-card-description .bullet-list li::before{ content: ""; position: absolute; left: 0; top: 0.85em; width: 4px; height: 4px; border-radius: 50%; background: var(--color-sub, #0168b7); transform: translateY(-50%); }
.hnp-card-description .bullet-list span{ color: inherit; }
.hnp-card-price{ display: flex; align-items: center; justify-content: center; gap: 22px; width: 100%; min-height: 62px; margin-top: 12px; padding: 12px; border-radius: 10px; background: var(--color-sub, #0168b7); color: #fff; line-height: 1.3; }
.hnp-card-price del{ font-size: 21px; color: #fff; opacity: 0.6; font-weight: 500; text-decoration-thickness: 1px; }
.hnp-price-arrow{ font-size: 29px; color: var(--color-main, #5ed1ff); }
.hnp-card-price strong{ font-size: 29px; font-weight: 750; }
.hnp-card-note{ display: block; margin-top: 8px; color: var(--color-sub, #0168b7); font-weight: 600; }
@media (max-width: 1100px){
	.hnp-card-grid{ gap: 22px; }
	.hnp-card{ padding: 28px 20px; }
	.hnp-card-description{ padding: 20px 16px; font-size: 17px; }
	.hnp-card-price{ gap: 14px; }
}
@media (max-width: 900px){
	.hnp-card-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px){
	.hnp-card-grid{ grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.hnp-card{ padding: 28px 22px; }
	.hnp-card-title{ min-height: 0; font-size: 32px; }
	.hnp-card-description{ min-height: 132px; font-size: 17px; }
	.hnp-card-icon{ margin-bottom: 12px; }
}
.nhis-signature{ display: block; width: 442px; height: 151px; max-width: 100%; object-fit: cover; object-position: left top; }
.nhis-promo-copy p{ margin-top: 24px; font-size: 24px; line-height: 1.6; color: #505050; }
.nhis-4dep{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 80px; }
.nhis-4dep a, .nhis-4dep button{ display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; margin: 0; padding: 0; border: 0; border-radius: 8px; background: #f4f4f4; color: #878787; font-family: inherit; font-size: 20px; font-weight: 700; line-height: 1.3; cursor: pointer; }
.nhis-4dep a.is-active, .nhis-4dep button.is-active{ background: var(--color-main); color: #fff; }
.nhis-4dep-panel[hidden]{ display: none !important; }
.nhis-block{ margin-top: 80px; }
.nhis-block + .nhis-block{ margin-top: 150px; }
.nhis-heading{ margin: 0 0 30px; font-size: 32px; font-weight: 700; line-height: 1.3; color: #121212; }
.nhis-page .real-cont .nhis-heading{ margin: 0 0 30px; }
.nhis-target{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.nhis-target li{ display: flex; flex-direction: column; align-items: center; gap: 15px; min-height: 161px; padding: 30px; border: 1px solid #ddd; border-radius: 8px; text-align: center; }
.nhis-target img{ display: block; width: 20px; height: 20px; }
.nhis-target p{ font-size: 20px; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; color: #505050; }
.nhis-table-wrap{ width: 100%; overflow-x: auto; }
.nhis-table{ width: 100%; border-collapse: collapse; table-layout: fixed; border-top: 2px solid #121212; }
.nhis-table col.col-item{ width: 300px; }
.nhis-table-cancer col.col-cat{ width: 200px; }
.nhis-table-cancer col.col-detail{ width: 200px; }
.nhis-table-cancer col.col-cycle{ width: 251px; }
.nhis-table th, .nhis-table td{ padding: 24px 30px; border-bottom: 1px solid #ddd; border-left: 1px solid #ddd; font-size: 18px; line-height: 1.6; color: #505050; vertical-align: middle; text-align: left; }
.nhis-table td{ font-weight: 400; }
.nhis-table thead th{ height: 80px; padding: 0; background: #f4f4f4; font-size: 20px; font-weight: 600; color: #121212; text-align: center; border-left: 1px solid #ddd; }
.nhis-table thead th:first-child, .nhis-table tbody th{ border-left: 0; }
.nhis-table:not(.nhis-table-cancer) td:first-child{ border-left: 0; }
.nhis-table tbody th{ font-weight: 500; color: #121212; text-align: center; }
.nhis-table:not(.nhis-table-cancer) tbody th{ width: 300px; font-size: 20px; line-height: 1.6; letter-spacing: -0.03em; }
.nhis-table:not(.nhis-table-cancer) tbody td{ font-size: 20px; line-height: 1.8; letter-spacing: -0.03em; }
.nhis-table-cancer tbody th, .nhis-table-cancer tbody td{ text-align: center; }
.nhis-table-cancer tbody th{ font-size: 20px; font-weight: 500; line-height: 1.3; letter-spacing: -0.03em; color: #121212; }
.nhis-table-cancer tbody td:not(.cell-target):not(:last-child), .nhis-table-cancer tbody tr > td:only-child{ font-size: 20px; font-weight: 500; line-height: 1.3; letter-spacing: -0.03em; color: #121212; }
.nhis-table-cancer tbody td.cell-target, .nhis-table-cancer tbody tr > td:last-child:not(:only-child){ font-size: 20px; font-weight: 400; line-height: 1.8; letter-spacing: -0.03em; color: #505050; }
.nhis-table-cancer tbody td.cell-target{ text-align: left; }
.nhis-prep-list{ display: flex; flex-direction: column; gap: 20px; }
.nhis-prep-list li{ display: flex; align-items: center; gap: 15px; min-height: 40px; }
.nhis-prep-list .num{ flex: 0 0 40px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #878787; color: #fff; font-size: 16px; font-weight: 700; line-height: 1; }
.nhis-prep-list strong{ flex: 0 0 51px; font-size: 20px; font-weight: 500; color: #121212; }
.nhis-prep-list p{ font-size: 20px; line-height: 1.3; color: #505050; }
@media (prefers-reduced-motion: reduce){
	.sub-visual.nhis-visual [data-aos], .nhis-page [data-aos]{ opacity: 1 !important; transform: none !important; }
}
@media (prefers-reduced-transparency: reduce){
	.lnb-wrap.nhis-lnb .lnb ul{ background: rgba(18, 18, 18, 0.72); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
/* Unlinked */
#gnb a.is-unlinked, .lnb a.is-unlinked, .nhis-3dep a.is-unlinked, .mobile-navigation a.is-unlinked{ cursor: default; }
/* Responsive */
@media (max-height: 900px){
	.main-visual .inner{ padding-top: 140px; padding-bottom: 0; gap: 48px; }
}
@media (max-width: 1200px){
	.contact-grid{ grid-template-columns: 1fr; }
	.program-row{ flex-direction: column; align-items: flex-start; }
	.program-meta{ flex-basis: auto; width: 100%; }
	.program-detail{ flex-direction: column; align-items: flex-start; width: 100%; }
	.program-accordion{ min-height: auto; }
	.program-item{ flex: none; }
	.sub-visual.nhis-visual{ height: auto; min-height: 520px; padding-bottom: 140px; }
	.sub-visual.nhis-visual h2{ font-size: clamp(40px, 6vw, 72px); }
	.sub-visual.nhis-visual .sv-eyebrow{ font-size: clamp(16px, 2vw, 24px); }
	.lnb-wrap.nhis-lnb{ top: auto; bottom: 24px; }
	.nhis-promo{ padding: 48px 40px 48px 48%; min-height: 360px; }
	.nhis-promo-copy p{ font-size: 20px; }
	.nhis-promo-title{ font-size: 32px; }
}
@media (max-width: 1024px){
	#gnb{ display: none; }
	.location-pill span:last-child{ display: none; }
	.mv-arrow{ display: none; }
	#header.site-header.is-gnb-open{ background: transparent; }
	#header.is-gnb-open .logo .logo-light{ display: block; }
	#header.is-gnb-open .logo .logo-dark{ display: none; }
	#header.site-header.is-gnb-open .submenu-bg{ height: 0 !important; border-top: 0; }
	.headline-top{ flex-direction: column; align-items: flex-start; }
	.footer-grid{ flex-direction: column; }
	.footer-sns h3, .footer-sns ul{ justify-content: flex-start; text-align: left; }
}
@media (max-width: 768px){
	.news-slider .slick-slide{ width: min(507px, calc(100vw - var(--layout-inline) * 2 - 24px)) !important; margin-right: 24px; }
	.news-controls{ flex-wrap: wrap; gap: 24px; }
	.news-progress{ flex: 1 1 100%; max-width: none; }
	.quick-cards{ grid-template-columns: 1fr; }
	.lnb-wrap.checkup-lnb .lnb ul{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lnb-wrap.checkup-lnb .lnb ul li:nth-child(2){ border-right: 0; }
	.popup-slide{ flex: 0 0 100%; display: none; }
	.popup-slide.is-active{ display: block; }
	.popup-track{ flex-direction: column; }
	.sub-content-box.nhis-page .real-cont, .sub-content-box.deep-page .real-cont{ padding: 0; }
	.lnb-wrap.nhis-lnb .lnb ul{ flex-wrap: wrap; justify-content: center; gap: 8px; padding: 12px 16px; }
	.lnb-wrap.nhis-lnb .lnb ul li a{ min-height: 44px; padding: 8px 14px; font-size: 15px; }
	.nhis-3dep{ flex-wrap: wrap; gap: 12px 16px; padding: 64px 0 40px; }
	.nhis-3dep a{ font-size: 18px; }
	.nhis-promo{ padding: 32px 24px; min-height: 0; }
	.nhis-promo--plus{ flex-direction: column; justify-content: center; }
	.nhis-promo-bg{ position: relative; height: 180px; margin: -32px -24px 24px; width: calc(100% + 48px); }
	.nhis-signature{ width: min(442px, 100%); height: auto; aspect-ratio: 442 / 151; object-fit: cover; object-position: left top; }
	.nhis-promo-copy p{ font-size: 16px; }
	.nhis-promo-title{ font-size: 26px; }
	.nhis-4dep a, .nhis-4dep button{ font-size: 16px; }
	.nhis-heading{ font-size: 24px; }
	.nhis-target{ grid-template-columns: 1fr; }
	.nhis-target li{ min-height: 0; }
	.nhis-target p{ font-size: 16px; }
	.nhis-table{ min-width: 720px; }
	.nhis-prep-list strong, .nhis-prep-list p{ font-size: 16px; }
	.lnb-wrap.sub-lnb .lnb .swiper{ gap: 8px; padding: 12px 16px; max-width: calc(100vw - 32px); }
	.lnb-wrap.sub-lnb .lnb .swiper-slide a{ font-size: 14px; padding: 8px 12px; }
	.about-doctors .doctor-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.feature-grid{ grid-template-columns: 1fr; }
	.reserve-cards{ grid-template-columns: 1fr; }
	.greet-split{ grid-template-columns: 1fr; max-width: 520px; }
	.about-history .history-layout{ grid-template-columns: 1fr; gap: 56px; padding-top: 40px; }
	.about-history .history-aside{ position: static; }
	.about-history .history-block__year{ font-size: 32px; }
	.about-history .history-marker{ font-size: 32px; }
	.about-history .history-timeline__line{ top: calc(32px * 1.3 / 2); }
	.location-split{ grid-template-columns: 1fr; }
	.location-info{ grid-template-columns: 1fr; }
}
/* Sub standard visual + LNB = 공단검진 서브메인과 동일 구조 */
.sub-visual.sub-visual--std{ position: relative; display: flex; align-items: center; justify-content: center; margin-top: 0; height: 750px; padding: 0 var(--layout-inline) 120px; overflow: hidden; text-align: center; background: #111; }
.sub-visual.sub-visual--std .sv-bg{ position: absolute; inset: 0; }
.sub-visual.sub-visual--std .sv-bg img{ width: 100%; height: 100%; object-fit: cover; }
.sub-visual.sub-visual--std .sv-bg::after{ content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); }
.sub-visual.sub-visual--std .sv-copy{ position: relative; z-index: 1; color: #fff; }
.sub-visual.sub-visual--std .sv-eyebrow{ font-size: 24px; font-weight: 500; line-height: 1.3; color: #fff; }
.sub-visual.sub-visual--std h2{ margin-top: 6px; font-size: 72px; font-weight: 700; line-height: 1.3; color: #fff; }
.sub-visual.sub-visual--std .sv-copy p:last-child{ margin-top: 20px; font-size: 18px; line-height: 1.6; color: #fff; max-width: 640px; margin-left: auto; margin-right: auto; }
.lnb-wrap.sub-lnb, .lnb-wrap.sub-lnb.sub-lnb--scroll{ position: absolute; top: 565px; left: 0; right: 0; bottom: auto; z-index: 5; display: flex; justify-content: center; width: auto; margin: 0; background: transparent; border: 0; border-bottom: 0; box-shadow: none; }
.lnb-wrap.sub-lnb .lnb{ width: auto; max-width: none; margin: 0; padding: 0; }
.lnb-wrap.sub-lnb .lnb .swiper{ width: auto; max-width: calc(100vw - var(--layout-inline) * 2); overflow: hidden; padding: 20px 40px; background: rgba(255, 255, 255, 0.15); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-sizing: border-box; }
.lnb-wrap.sub-lnb .lnb .swiper-wrapper{ align-items: center; }
.lnb-wrap.sub-lnb .lnb .swiper-slide{ flex: none; width: auto; border: 0; }
.lnb-wrap.sub-lnb .lnb .swiper-slide a{ display: flex; align-items: center; justify-content: center; width: auto; height: auto; min-height: 44px; padding: 8px 20px; border-radius: 6px; background: transparent; color: #fff; font-size: 18px; font-weight: 600; line-height: 1.3; white-space: nowrap; transition: background 0.2s ease, color 0.2s ease; }
.lnb-wrap.sub-lnb .lnb .swiper-slide.active a, .lnb-wrap.sub-lnb .lnb .swiper-slide a:hover{ background: #fff; color: #121212; }
.about-lead, .partner-intro{ max-width: none; margin: -16px 0 48px; font-size: 20px; line-height: 1.7; letter-spacing: -0.03em; color: #505050; }
.greeting-article{ background: #fff; }
.greeting-top{ margin-bottom: 0; }
.greeting-label{ display: block; margin: 0 0 24px; font-size: 22px; font-weight: 700; letter-spacing: -0.03em; color: var(--color-main); }
.greeting-headline{ margin: 0; font-size: 48px; font-weight: 300; line-height: 1.35; letter-spacing: -0.03em; color: #121212; }
.greeting-headline strong{ font-weight: 700; }
.greeting-split{ display: grid; grid-template-columns: 680px 1fr; gap: 120px; align-items: start; padding-top: 70px; }
.greeting-photo img{ display: block; width: 100%; aspect-ratio: 68 / 75; border-radius: 24px; object-fit: cover; object-position: center; }
.greeting-body{ margin-bottom: 56px; }
.greeting-body p{ margin: 0 0 26px; font-size: 20px; line-height: 1.7; letter-spacing: -0.03em; color: #505050; }
.greeting-body p:first-child{ margin-bottom: 40px; font-size: 40px; font-weight: 400; line-height: 1.4; color: #121212; }
.greeting-body p:first-child strong{ font-weight: 700; }
.greeting-body p:last-child{ margin-bottom: 0; }
.greeting-sign{ display: flex; justify-content: flex-end; align-items: center; gap: 24px; max-width: none; }
.greeting-sign__role{ font-family: "Pretendard", sans-serif; font-size: 20px; font-weight: 700; line-height: 1; letter-spacing: -0.03em; color: #121212; }
.greeting-sign__signature{ display: inline-block; font-family: "NanumSonPyeonJiCe", cursive; font-size: 56px; font-weight: 400; line-height: 1; letter-spacing: 0.2em; color: #121212; -webkit-text-size-adjust: none; text-size-adjust: none; }
/* 연혁 — Figma 2단 (좌 SINCE·슬로건 / 우 타임라인) */
.about-history .history-layout{ display: grid; grid-template-columns: minmax(280px, 460px) minmax(0, 1fr); gap: 0 clamp(108px, 10vw, 210px); align-items: start; padding-top: 60px; }
.about-history .history-aside{ position: sticky; top: 120px; display: flex; flex-direction: column; gap: 40px; }
.about-history .history-since{ margin: 0 0 -20px; font-size: clamp(48px, 5vw, 80px); font-weight: 800; line-height: 1.3; letter-spacing: -0.03em; color: #eee; }
.about-history .history-slogan{ margin: 0; }
.about-history .history-slogan p{ margin: 0; font-size: clamp(24px, 2.4vw, 32px); font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; color: var(--color-heading); }
.about-history .history-slogan p.history-slogan__accent{ color: var(--color-main); }
.about-history .history-desc{ margin: 0; font-size: 18px; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; color: var(--color-body); word-break: keep-all; }
.about-history .history-timeline{ position: relative; min-width: 0; }
.about-history .history-timeline__line{ position: absolute; left: 10px; top: calc(40px * 1.3 / 2); bottom: 0; width: 1px; background: #eee; }
.about-history .history-block{ position: relative; display: flex; gap: 60px; align-items: flex-start; padding-bottom: 63px; margin-bottom: 63px; }
.about-history .history-block:last-child{ padding-bottom: 0; margin-bottom: 0; }
.about-history .history-block:not(:last-child)::after{ content: ""; position: absolute; bottom: 0; left: 10px; right: 0; height: 1px; background: #eee; }
.about-history .history-marker{ position: relative; z-index: 1; flex: 0 0 20px; width: 20px; height: 1.3em; font-size: 40px; line-height: 1.3; display: flex; align-items: center; justify-content: center; }
.about-history .history-marker::before{ content: ""; flex-shrink: 0; width: 20px; height: 20px; border: 2px solid var(--color-sub); border-radius: 50%; background: #fff; box-sizing: border-box; }
.about-history .history-block__body{ flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.about-history .history-block__year{ margin: 0; font-size: 40px; font-weight: 700; line-height: 1.3; letter-spacing: -0.03em; color: var(--color-heading); }
.about-history .history-block__list{ margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 30px; }
.about-history .history-block__list li{ font-weight: 400; }
/* 특장점 */
.about-features .features-list{ margin: 0; padding: 0; list-style: none; }
.about-features .features-item{ padding: 0; border-bottom: none; }
.about-features .features-item + .features-item{ margin-top: 120px; }
.about-features .features-item__head{ display: flex; align-items: center; gap: 16px; margin-bottom: 32px; }
.about-features .features-item__num{ flex: 0 0 auto; font-family: var(--font-primary); font-size: clamp(32px, 3.5vw, 42px); font-weight: 700; line-height: 1; letter-spacing: -0.02em; color: var(--color-sub); }
.about-features .features-item__title{ margin: 0; font-family: var(--font-primary); font-size: 32px; font-weight: 700; line-height: 1.3; letter-spacing: -0.03em; color: var(--color-heading); word-break: keep-all; }
.about-features .features-accent{ font-style: normal; }
.about-features .features-accent--red{ color: var(--color-main); }
.about-features .features-accent--blue{ color: var(--color-sub); }
.about-features .features-hospitals{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.about-features .features-hospitals li{ display: flex; align-items: center; justify-content: center; min-height: 100px; padding: 20px 16px; border: 1px solid #eee; border-radius: 8px; background: #fff; }
.about-features .features-hospitals img{ display: block; width: 100%; max-width: 240px; height: auto; object-fit: contain; }
.about-features .features-certs{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.about-features .features-cert{ overflow: hidden; border-radius: 0 0 12px 12px; border: 1px solid #e8e8e8; background: #fff; }
.about-features .features-cert__head{ padding: 14px 16px; font-family: var(--font-primary); font-size: 20px; font-weight: 700; line-height: 1.45; letter-spacing: -0.02em; text-align: center; color: #fff; background: var(--color-sub); word-break: keep-all; }
.about-features .features-cert__body{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; min-height: 180px; padding: 24px 16px; background: #fff; text-align: center; }
.about-features .features-cert__body img{ display: block; width: 200px; height: 60px; object-fit: contain; }
.about-features .features-cert__body p{ margin: 0; font-size: 18px; font-weight: 700; line-height: 1.5; letter-spacing: -0.02em; color: #121212; }
.about-features .features-bullets li + li{ margin-top: 12px; }
.about-features .features-mindscan{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(338px, 541px); gap: 32px; align-items: center; }
.about-features .features-mindscan__visual{ display: flex; align-items: center; justify-content: flex-end; padding: 8px 0; }
.about-features .features-mindscan__visual img{ display: block; width: 100%; max-width: 710px; height: auto; }
@media (max-width: 1024px){
	.about-features .features-hospitals{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.about-features .features-certs{ grid-template-columns: 1fr; max-width: 360px; }
	.about-features .features-mindscan{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
	.about-features .features-item + .features-item{ margin-top: 80px; }
	.about-features .features-item__head{ align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 24px; }
	.about-features .features-item__title{ font-size: 26px; }
	.about-features .features-hospitals{ grid-template-columns: 1fr; }
	.about-doctors .doctor-grid{ grid-template-columns: 1fr; gap: 60px; }
	.about-doctors .doctor-group{ margin-bottom: 150px; }
	.about-doctors .doctor-group__title{ margin-bottom: 24px; font-size: 32px; }
	.about-doctors .doctor-card{ grid-template-columns: 284px 1fr; gap: 0 20px; }
	.about-doctors .doctor-photo{ width: 284px; height: 336px; }
	.about-doctors .doctor-photo img{ width: 284px; height: 336px; }
	.about-doctors .doctor-body{ padding: 24px 20px 24px 18px; }
	.sub-content-box:not(.nhis-page) .sub-article.about-doctors .doctor-name{ font-size: 22px !important; }
	.about-doctors .doctor-divider{ margin: 18px 0 14px; }
}
.about-doctors .doctor-group{ margin-bottom: 150px; }
.about-doctors .doctor-group:last-child{ margin-bottom: 0; }
.about-doctors .doctor-group__title{ margin-bottom: 32px; font-family: var(--font-primary); font-size: 40px; font-weight: 700; line-height: 1.3; letter-spacing: -0.02em; color: #121212; }
.tour-viewer{ position: relative; margin-bottom: 40px; }
.tour-viewer-slider .tour-viewer-slide{ outline: none; }
.tour-viewer-slider img{ display: block; width: 100%; aspect-ratio: 160 / 76; object-fit: cover; border-radius: 16px; }
.tour-viewer-nav button{ position: absolute; top: 50%; z-index: 3; display: flex !important; align-items: center; justify-content: center; width: 18px; height: 32px; margin-top: -16px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; transition: opacity 0.2s ease, transform 0.2s ease; }
.tour-viewer-nav .tour-viewer-prev{ left: 24px; }
.tour-viewer-nav .tour-viewer-next{ right: 24px; }
.tour-viewer-nav button img{ display: block; width: 18px; height: 32px; max-width: none; aspect-ratio: auto; border-radius: 0; filter: none; }
.tour-viewer-nav .slick-arrow.slick-hidden{ display: flex !important; visibility: visible !important; }
.tour-viewer-nav button.slick-disabled{ opacity: 0.35; pointer-events: none; }
.tour-viewer-nav button:not(.slick-disabled):hover{ opacity: 0.85; }
.tour-viewer-nav button:not(.slick-disabled):active{ transform: scale(0.95); }
.location-map-panel{ position: relative; height: 650px; border: 1px solid var(--color-border); border-radius: 24px; overflow: hidden; }
.location-map-panel__frame { position: absolute; inset: 0; }
.location-map-panel__frame .root_daum_roughmap {position: relative; width: 100%; height: 100% !important;}
.location-map-panel__frame .root_daum_roughmap .wrap_map {position: relative; width: 100%; height: 100% !important;}
.location-map-panel__frame .root_daum_roughmap .wrap_map .map {position: relative; width: 100%; height: 100% !important;}
.location-map-panel__frame iframe{ display: block; width: 100%; height: 100%; border: 0; pointer-events: none; }
.location-map-panel__overlay{ position: absolute; inset: 0 0 84px; z-index: 1; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0); transition: background 0.3s ease; cursor: default; }
.location-map-panel__overlay p{ margin: 0; padding: 0 24px; font-size: 20px; font-weight: 600; line-height: 1.5; letter-spacing: -0.03em; color: var(--color-white); text-align: center; opacity: 0; transition: opacity 0.3s ease; }
.location-map-panel__frame:hover .location-map-panel__overlay{ background: rgba(0, 0, 0, 0.55); }
.location-map-panel__frame:hover .location-map-panel__overlay p{ opacity: 1; }
.location-map-panel__bar{ position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; align-items: center; min-height: 84px; padding: 20px 50px; background: rgba(1, 104, 183, 0.95); border-radius: 0 0 24px 24px; }
.location-map-panel__bar-inner{ display: flex; flex-wrap: wrap; align-items: center; gap: 24px 100px; }
.location-map-panel__item{ display: flex; align-items: center; gap: 20px; }
.location-map-panel__label{ display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.location-map-panel__label img{ display: block; width: 24px; height: 24px; flex-shrink: 0; }
.location-map-panel__label span{ font-size: 18px; font-weight: 700; line-height: 1; letter-spacing: -0.03em; color: var(--color-white); white-space: nowrap; }
.location-map-panel__value{ margin: 0; font-size: 18px; font-weight: 400; line-height: 1.4; letter-spacing: -0.03em; color: var(--color-white); }
.location-map-panel__value a{ color: inherit; text-decoration: none; }
.location-guide{ display: grid; grid-template-columns: minmax(0, 730fr) minmax(0, 810fr); gap: 40px 60px; align-items: start; margin-top: 110px; }
.location-access{ display: flex; flex-direction: column; gap: 88px; min-width: 0; }
.location-access__title{ margin: 0 0 24px; padding-bottom: 20px; border-bottom: 2px solid var(--color-heading); font-size: 28px; font-weight: 700; line-height: 1.3; letter-spacing: -0.03em; color: var(--color-heading); }
.location-access__head{ display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.location-access__badge{ display: inline-flex; align-items: center; justify-content: center; min-width: 56px; height: 28px; padding: 0 12px; border-radius: 6px; font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: -0.03em; color: var(--color-white); }
.location-access__badge--subway{ background: #33a23d; }
.location-access__badge--car{ background: #f7941d; }
.location-access__name{ font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; color: var(--color-heading); }
.location-sketch{ min-width: 0; padding: 40px; background: var(--color-white); border: 1px solid var(--color-border); border-radius: 24px; }
.location-sketch img{ display: block; width: 100%; max-width: 100%; height: auto; margin: 0 auto; }
.location-split{ display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 24px; margin-bottom: 24px; }
.location-card{ display: flex; flex-direction: column; justify-content: center; padding: 48px 40px; background: #f7f8f9; border: 0; border-radius: 16px; }
.location-card h4{ margin-bottom: 16px; font-size: 24px; font-weight: 700; color: #121212; }
.location-card p{ margin-bottom: 16px; font-size: 20px; line-height: 1.7; color: #505050; }
.location-info{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.location-block{ padding: 36px 32px; background: #fff; border: 1px solid #ddd; border-radius: 8px; }
.location-block img{ width: 48px; height: 48px; object-fit: contain; margin-bottom: 20px; }
.location-block h4{ margin-bottom: 12px; font-size: 22px; font-weight: 700; color: #121212; }
.location-block p{ margin: 0 0 8px; font-size: 20px; line-height: 1.7; color: #505050; }
.about-doctors .doctor-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 60px; }
.about-doctors .doctor-card{ display: grid; grid-template-columns: 284px 1fr; align-items: start; gap: 0 24px; background: transparent; border: 0; }
.about-doctors .doctor-photo{ flex-shrink: 0; width: 284px; height: 336px; overflow: hidden; border-radius: 16px; background: #f0f0f0; }
.about-doctors .doctor-photo img{ display: block; width: 284px; height: 336px; border-radius: 16px; object-fit: cover; object-position: top center; }
.about-doctors .doctor-photo--zoom img{ transform: scale(1.13) translateY(-8%); transform-origin: top center; }
.about-doctors .doctor-body{ display: flex; flex-direction: column; justify-content: center; padding: 36px 32px 36px 28px; }
.about-doctors .doctor-name{ margin: 0; font-family: var(--font-primary); font-size: 28px; font-weight: 600; line-height: 1.35; letter-spacing: -0.02em; color: #121212; }
.about-doctors .doctor-name span{ font-weight: 600; }
.about-doctors .doctor-dept{ margin: 10px 0 0; font-family: var(--font-primary); font-size: 16px; font-weight: 500; line-height: 1.5; color: var(--color-main); }
.about-doctors .doctor-divider{ width: 100%; height: 1px; margin: 24px 0 20px; background: #ddd; }
.about-doctors .doctor-career-title{ margin: 0 0 12px; font-family: var(--font-primary); font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: -0.02em; color: #121212; }
.about-doctors .doctor-career li:first-child{ font-size: 18px; }
.about-doctors .doctor-career li + li{ margin-top: 8px; }
.process-steps{ display: grid; gap: 16px; counter-reset: none; }
.process-steps li{ display: grid; grid-template-columns: 64px 1fr; gap: 24px; align-items: center; padding: 32px 40px; border-radius: 16px; background: #f7f8f9; border: 0; }
.process-steps .step-num{ display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--color-main); color: #121212; font-size: 20px; font-weight: 700; }
.process-steps h4{ margin: 0 0 8px; font-size: 24px; font-weight: 700; color: #121212; }
.process-steps p{ margin: 0; font-size: 20px; line-height: 1.6; color: #505050; }
.sub-content-box .real-cont .sub-article:has(.corp-process) .page-title{ margin-bottom: 20px; font-size: 40px; }
.sub-content-box:not(.nhis-page) .real-cont .sub-article > p.corp-process-note{ margin: 0 0 24px; font-size: 18px !important; font-weight: 600; line-height: 1.6; color: #e84426; text-align: left; }
.corp-process{ display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; gap: 70px; }
.sub-content-box:not(.nhis-page) .real-cont .corp-process .corp-process__lead{ display: block; font-size: 22px !important; font-weight: 600; color: #121212; }
.sub-content-box .real-cont .corp-process .bullet-list > li:has(.corp-process__lead){ padding-left: 0; }
.sub-content-box .real-cont .corp-process .bullet-list > li:has(.corp-process__lead)::before{ display: none; }
.corp-process .bullet-list .bullet-list{ margin-top: 8px; padding-left: 2px; }
.sub-content-box .real-cont .corp-process .bullet-list li{ color: #121212; }
.sub-content-box .real-cont .corp-process .bullet-list > li:not(:has(.corp-process__lead)){ font-weight: 500; }
.sub-content-box:not(.nhis-page) .real-cont .corp-process .bullet-list .bullet-list li{ font-size: 18px !important; font-weight: 400; color: #505050; }
.sub-content-box .real-cont .corp-process .bullet-list .bullet-list li::before{ content: "-"; width: auto; height: auto; background: none; border-radius: 0; top: 0; transform: none; font-size: 18px; line-height: 1.6; color: #505050; }
.corp-process > li{ position: relative; display: grid; grid-template-columns: 310px 1fr; align-items: center; gap: 40px; min-height: 120px; padding: 32px 40px; background: #fff; border: 1px solid #ddd; border-radius: 16px; }
.corp-process > li:not(:last-child)::after{ content: ""; position: absolute; left: 50%; bottom: -46px; width: 22px; height: 22px; margin-left: -11px; border-right: 3px solid #bbb; border-bottom: 3px solid #bbb; transform: rotate(45deg); }
.corp-process__label{ display: flex; align-items: center; gap: 26px; }
.corp-process__icon{ display: flex; flex: 0 0 80px; align-items: center; justify-content: center; width: 80px; height: 80px; color: #878787; }
.corp-process__icon img, .corp-process__icon svg{ display: block; width: 100%; height: 100%; object-fit: contain; }
.sub-content-box .real-cont .corp-process h4{ margin: 0; font-size: 28px; font-weight: 700; line-height: 1.3; color: #121212; }
.bullet-list{ display: grid; gap: 12px; }
.caution-block{ padding: 40px 48px; border-radius: 16px; background: #f7f8f9; }
.caution-block + .caution-block{ margin-top: 16px; }
.caution-block h4{ margin-bottom: 20px; font-size: 24px; font-weight: 700; color: #121212; }
/* 검진 전 주의사항 */
.caution-page .sub-lead{ margin-bottom: 60px; }
.caution-section{ padding: 48px 56px; border: 1px solid var(--color-border); border-radius: 16px; background: #fff; }
.caution-section + .caution-section{ margin-top: 24px; }
.caution-section__head{ display: grid; grid-template-columns: 64px 1fr; gap: 24px; align-items: center; margin-bottom: 36px; padding-bottom: 32px; border-bottom: 1px solid var(--color-border); }
.caution-section__num{ display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--color-sub); color: #fff; font-size: 20px; font-weight: 700; line-height: 1; }
.caution-section__title{ margin: 0 0 8px; font-size: 28px; font-weight: 700; line-height: 1.3; letter-spacing: -0.03em; color: #121212; }
.caution-section__desc{ margin: 0; font-size: 18px; line-height: 1.5; letter-spacing: -0.03em; color: var(--color-caption); }
.caution-list{ display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.caution-list > li{ display: grid; grid-template-columns: 120px 1fr; gap: 24px; align-items: start; padding: 24px 0; border-top: 1px solid #eee; }
.caution-list > li:first-child{ border-top: 0; padding-top: 0; }
.caution-list > li:last-child{ padding-bottom: 0; }
.caution-list strong{ font-size: 20px; font-weight: 700; line-height: 1.5; letter-spacing: -0.03em; color: var(--color-sub); }
.caution-list p{ margin: 0; font-size: 20px; line-height: 1.6; letter-spacing: -0.03em; color: #505050; }
.caution-list p + p{ margin-top: 8px; }
.caution-em{ color: #121212; font-weight: 500; }
.caution-note{ font-size: 18px !important; color: var(--color-caption) !important; }
.caution-prep-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 32px; }
.caution-prep-card{ padding: 28px 32px; border-radius: 12px; background: var(--color-bg-soft); }
.caution-prep-card--wide{ grid-column: 1 / -1; }
.caution-prep-card__badge{ display: inline-block; margin-bottom: 12px; padding: 6px 14px; border-radius: 999px; background: var(--color-sub); color: #fff; font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: -0.03em; }
.caution-prep-card p{ margin: 0; font-size: 20px; line-height: 1.6; letter-spacing: -0.03em; color: #505050; }
.caution-reserve{ padding: 32px 36px; border-radius: 12px; background: #e8f3fb; }
.caution-reserve__title{ margin: 0 0 16px; font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; color: var(--color-sub); }
.caution-reserve__list{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 0; padding: 0; list-style: none; }
.caution-reserve__list li{ position: relative; padding-left: 14px; font-size: 20px; line-height: 1.5; letter-spacing: -0.03em; color: #505050; }
.caution-reserve__list li::before{ content: ""; position: absolute; top: 0.65em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--color-sub); }
.caution-callout{ margin: 24px 0 0; padding: 20px 24px; border-left: 4px solid var(--color-sub); border-radius: 0 8px 8px 0; background: #f7f8f9; font-size: 18px; line-height: 1.6; letter-spacing: -0.03em; color: #505050; }
.reserve-cards{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.reserve-card{ display: block; min-height: 180px; padding: 40px 36px; border-radius: 8px; background: #fff; border: 1px solid #ddd; transition: border-color 0.2s ease, background 0.2s ease; }
.reserve-card:hover{ border-color: var(--color-main); background: #f7fcff; transform: none; }
.reserve-card h4{ margin: 0 0 12px; font-size: 24px; font-weight: 700; color: #121212; }
.reserve-card p{ margin: 0; font-size: 20px; line-height: 1.6; color: #505050; }
.banner-link{ display: inline-flex; align-items: center; justify-content: center; min-height: 60px; margin-top: 16px; padding: 16px 40px; border-radius: 8px; background: var(--color-main); color: #121212; font-size: 20px; font-weight: 700; }
.partner-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.partner-grid li{ display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 32px 24px; border-radius: 8px; background: #fff; border: 1px solid #ddd; }
.partner-mark{ display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--color-bg-soft); font-size: 24px; font-weight: 700; color: var(--color-sub); }
.location-map{ margin-bottom: 32px; }
.map-placeholder{ display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 360px; border-radius: 16px; background: var(--color-bg-soft); color: var(--color-body); text-align: center; gap: 8px; }
.data-table{ width: 100%; border-collapse: collapse; table-layout: auto; background: #fff; border-top: 2px solid #121212; }
.data-table th, .data-table td{ padding: 24px 30px; border-bottom: 1px solid #ddd; border-left: 1px solid #ddd; text-align: left; font-size: 20px; line-height: 1.6; color: #505050; vertical-align: middle; }
.data-table th:first-child, .data-table td:first-child{ border-left: 0; }
.data-table thead th{ height: 80px; padding: 0 30px; background: #f4f4f4; font-size: 20px; font-weight: 600; color: #121212; text-align: center; }
.table-scroll, .package-table-wrap{ width: 100%; overflow-x: auto; }
.sub-content-box.fee-page .fee-article{ font-size: 16px; }
.sub-content-box.fee-page:not(.nhis-page) .sub-article.fee-article .fee-title{ font-size: 48px; font-weight: 700; }
.sub-content-box.fee-page:not(.nhis-page) .sub-article.fee-article p.fee-updated{ font-size: 18px !important; font-weight: 400; color: #878787; }
.fee-head{ position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 0; margin-bottom: 48px; }
.fee-title{ margin: 0; font-size: 48px; font-weight: 700; line-height: 1; letter-spacing: -0.03em; color: #121212; text-align: center; word-break: keep-all; }
.fee-updated{ position: absolute; right: 0; bottom: 0; margin: 0; font-size: 18px !important; font-weight: 400; color: #878787; line-height: 1.4; white-space: nowrap; }
.fee-table-wrap{ overflow-x: auto; }
.fee-table{ min-width: 1480px; table-layout: auto; }
.nhis-table.fee-table{ border: 0; border-top: 2px solid #121212; }
.nhis-table.fee-table th, .nhis-table.fee-table td{ border: 1px solid #ddd; }
.nhis-table.fee-table thead tr:first-child th:first-child, .nhis-table.fee-table:not(.nhis-table-cancer) tbody td:first-child, .nhis-table.fee-table:not(.nhis-table-cancer) td.fee-no{ border-left: 0; }
.nhis-table.fee-table thead tr:first-child th:last-child, .nhis-table.fee-table thead tr:nth-child(2) th:last-child, .nhis-table.fee-table tbody td:last-child{ border-right: 0; }
.nhis-table.fee-table thead th{ height: auto; padding: 14px 10px; font-size: 16px; font-weight: 600; line-height: 1.4; word-break: keep-all; }
.nhis-table.fee-table tbody th, .nhis-table.fee-table tbody td{ padding: 14px 12px; font-size: 16px; line-height: 1.5; letter-spacing: -0.03em; word-break: keep-all; text-align: center; vertical-align: middle; }
.nhis-table.fee-table thead tr:first-child th:nth-child(2), .nhis-table.fee-table:not(.nhis-table-cancer) tbody th{ width: 165px; min-width: 165px; font-size: 16px; font-weight: 600; }
.nhis-table.fee-table thead tr:first-child th:first-child, .nhis-table.fee-table td.fee-no{ width: 67px; min-width: 67px; white-space: nowrap; }
.nhis-table.fee-table thead tr:nth-child(2) th:nth-child(3), .nhis-table.fee-table td.fee-desc{ width: 359px; max-width: 359px; }
.nhis-table.fee-table thead tr:nth-child(2) th:nth-child(4), .nhis-table.fee-table thead tr:nth-child(2) th:nth-child(5), .nhis-table.fee-table thead tr:nth-child(2) th:nth-child(6), .nhis-table.fee-table tbody td:nth-last-child(6), .nhis-table.fee-table tbody td:nth-last-child(5), .nhis-table.fee-table tbody td:nth-last-child(4){ width: 103px; min-width: 103px; }
.nhis-table.fee-table td.fee-name{ text-align: left; }
.nhis-table.fee-table td.fee-desc{ text-align: center; }
.nhis-table.fee-table.add-fee-table{ min-width: 1100px; table-layout: fixed; }
.nhis-table.fee-table.add-fee-table thead th:first-child, .nhis-table.fee-table.add-fee-table tbody th, .nhis-table.fee-table.add-fee-table tbody td:first-child{ border-left: 0; }
.nhis-table.fee-table.add-fee-table col.col-cat{ width: 140px; }
.nhis-table.fee-table.add-fee-table col.col-name{ width: 280px; }
.nhis-table.fee-table.add-fee-table col.col-price{ width: 150px; }
.nhis-table.fee-table.add-fee-table thead tr:first-child th:first-child, .nhis-table.fee-table.add-fee-table:not(.nhis-table-cancer) tbody th{ width: 140px; min-width: 140px; }
.nhis-table.fee-table.add-fee-table thead tr:first-child th:nth-child(2){ width: 280px; }
.nhis-table.fee-table.add-fee-table td.fee-name, .nhis-table.fee-table.add-fee-table td.fee-desc{ width: auto; max-width: none; text-align: left; }
.nhis-table.fee-table.add-fee-table td.fee-name, .nhis-table.fee-table.add-fee-table td.fee-name span{ color: #0168b7 !important; font-weight: 500; }
.nhis-table.fee-table.add-fee-table td.fee-name .fee-name-detail{ color: #121212 !important; font-weight: 400; }
.nhis-table.fee-table.add-fee-table tr.fee-vax .fee-name, .nhis-table.fee-table.add-fee-table tr.fee-vax .fee-name span{ color: #121212 !important; font-weight: 400; }
.nhis-table.fee-table.add-fee-table td.fee-price{ white-space: nowrap; font-weight: 600; color: #121212; }
@media (max-width: 768px){
	.fee-head{ flex-direction: column; align-items: center; gap: 12px; min-height: 0; }
	.sub-content-box.fee-page:not(.nhis-page) .sub-article.fee-article .fee-title, .fee-title{ font-size: 32px; }
	.fee-updated{ position: static; transform: none; }
}
.board-placeholder{ padding: 80px 40px; border-radius: 16px; background: #f7f8f9; border: 0; text-align: center; color: #505050; font-size: 20px; }
.program-tabs{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 40px; }
.program-tabs button{ display: flex; align-items: center; justify-content: center; height: 60px; padding: 0 16px; border: 0; border-radius: 8px; background: #f4f4f4; color: #878787; font-family: inherit; font-size: 20px; font-weight: 700; cursor: pointer; }
.program-tabs button.is-active{ background: var(--color-main); border-color: var(--color-main); color: #fff; font-weight: 700; }
.program-cards{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; margin: 0; padding: 0; }
.program-cards li{ min-height: 180px; padding: 36px 32px; border: 1px solid #ddd; border-radius: 8px; }
.program-cards h4{ margin: 0 0 12px; font-size: 24px; font-weight: 700; color: #121212; }
.program-cards p{ margin: 0; font-size: 20px; line-height: 1.6; color: #505050; }
.btn-compare{ margin-top: 32px; min-height: 60px; padding: 16px 40px; border: 0; border-radius: 8px; background: var(--color-sub); color: #fff; font-family: inherit; font-size: 20px; font-weight: 700; cursor: pointer; }
.personal-article{ display: flex; flex-direction: column; gap: 40px; }
.personal-detail-article{ gap: 0; }
.personal-notice{ display: flex; align-items: center; gap: 24px; padding: 28px 40px; border: 0; border-radius: 24px; background: #f9f9f9; box-shadow: none; }
.personal-notice__icon{ flex: 0 0 56px; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--color-main); }
.personal-notice__icon img{ width: 28px; height: 28px; }
.personal-notice__text{ flex: 1; margin: 0; font-size: 18px; font-weight: 500; line-height: 1.7; letter-spacing: -0.03em; color: #333; }
.personal-notice__em{ font-weight: 700; color: var(--color-sub); }
.personal-notice__btn{ flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 148px; height: 56px; padding: 0 32px; border: 1px solid #121212; border-radius: 8px; background: transparent; color: #121212; font-size: 18px; font-weight: 500; letter-spacing: -0.03em; text-decoration: none; }
.personal-notice__btn:hover{ background: var(--color-main); border-color: var(--color-main); color: #fff; }
.personal-compare-wrap{ display: flex; justify-content: flex-end; margin-top: -10px; }
.personal-compare-btn{ display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 44px; padding: 10px 18px; border: 1px solid #121212; border-radius: 8px; background: #fff; color: #121212; font-family: inherit; font-size: 16px; font-weight: 500; letter-spacing: -0.03em; cursor: pointer; }
.personal-compare-btn img{ display: block; width: 16px; height: 16px; }
.personal-compare-btn:hover{ background: #121212; color: #fff; }
.personal-compare-btn:hover img{ filter: invert(1); }
.personal-programs{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 20px 0 0; padding: 0; }
.personal-card{ display: flex; flex-direction: column; height: 100%; min-height: 360px; padding: 32px 24px 28px; border: 1px solid #e5e5e5; border-radius: 16px; background: #fff; text-decoration: none; color: inherit; box-sizing: border-box; transition: border-color 0.2s ease; }
.personal-card:hover{ border-color: var(--color-main); }
.personal-card__visual{ width: 100%; margin: 0 0 30px; border-radius: 8px; overflow: hidden; background: #f4f4f4; }
.personal-card__visual img{ display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform 0.4s ease; }
.personal-card:hover .personal-card__visual img{ transform: scale(1.06); }
.personal-card h3{ margin: 0 0 16px; font-size: 24px; font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; color: #121212; text-align: center; word-break: keep-all; transition: color 0.2s ease; }
.personal-card:hover h3{ color: var(--color-main); }
.personal-card p{ margin: 0; font-size: 16px; font-weight: 400; line-height: 1.7; letter-spacing: -0.03em; color: #505050; word-break: keep-all; }
.personal-card__cost{ margin-top: auto; padding-top: 24px; }
.personal-card__chip{ display: inline-flex; align-items: center; justify-content: center; height: 28px; margin-bottom: 10px; padding: 0 12px; border-radius: 99px; background: #505050; color: #fff; font-size: 13px; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
.personal-card p.personal-card__price{ display: flex; align-items: center; flex-wrap: nowrap; margin: 0; font-size: 20px; font-weight: 600; line-height: 1.4; color: #121212; white-space: nowrap; }
.personal-card__price span + span{ margin-left: 10px; padding-left: 10px; border-left: 0; position: relative; }
.personal-card__price span + span::before{ content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 16px; background: #ddd; transform: translateY(-50%); }
.personal-compare-dialog{ width: min(1200px, calc(100% - 48px)); max-height: calc(100% - 80px); padding: 50px 32px; border: 0; border-radius: 16px; }
.personal-compare-dialog::backdrop{ background: rgba(18, 18, 18, 0.45); }
.personal-compare-dialog__head{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 0 24px; border-bottom: 0; }
.personal-compare-dialog__head h3{ margin: 0; font-size: 28px; font-weight: 700; letter-spacing: -0.03em; color: #121212; }
.personal-compare-dialog__close{ display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.personal-compare-dialog__close img{ display: block; width: 28px; height: 28px; }
.personal-compare-dialog__body{ overflow: auto; max-height: calc(90vh - 180px); padding: 0; }
.personal-compare-dialog__foot{ display: flex; justify-content: center; padding-top: 32px; }
.personal-compare-dialog__confirm{ min-width: 140px; height: 48px; padding: 0 32px; border: 0; border-radius: 8px; background: #121212; color: #fff; font-family: inherit; font-size: 16px; font-weight: 600; letter-spacing: -0.03em; cursor: pointer; }
.personal-compare-table{ width: 100%; border-collapse: collapse; border: 0; border-top: 2px solid #121212; }
.personal-compare-table th, .personal-compare-table td{ padding: 14px 12px; border: 1px solid #ddd; font-size: 16px; line-height: 1.5; letter-spacing: -0.03em; text-align: center; vertical-align: middle; word-break: keep-all; color: #505050; }
.personal-compare-table thead th{ position: sticky; top: 0; background: #f4f4f4; font-size: 16px; font-weight: 600; color: #121212; }
.personal-compare-table thead th:first-child, .personal-compare-table tbody th{ border-left: 0; }
.personal-compare-table thead th:last-child, .personal-compare-table tbody td:last-child{ border-right: 0; }
.personal-compare-table tbody th{ text-align: left; font-weight: 600; color: #121212; white-space: nowrap; }
.sub-content-box.personal-page:has(.nhis-3dep){ padding-top: 0; }
.sub-content-box.personal-page .real-cont > .personal-compare-btn{ display: flex; width: fit-content; margin: 0 0 20px auto; }
.personal-detail-box{ display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 40px 48px; border: 0; border-radius: 16px; background: #f9f9f9; box-sizing: border-box; }
.personal-detail-main{ flex: 1; min-width: 0; }
.personal-detail-box > .personal-notice__btn{ flex: 0 0 auto; }
.personal-detail-article .personal-detail-note + .personal-detail-items{ margin-top: 80px; }
.personal-detail-head{ margin-bottom: 22px; }
.sub-content-box .real-cont .personal-detail-title{ margin: 0; font-size: 28px; font-weight: 600; line-height: 1.3; letter-spacing: -0.03em; color: #121212; word-break: keep-all; }
.personal-detail-meta{ margin: 0; }
.sub-content-box .real-cont .personal-detail-meta li{ margin: 0; line-height: 1.4; color: #121212; }
.sub-content-box .real-cont .personal-detail-meta li + li{ margin-top: -1px; }
.personal-detail-meta span{ font-weight: 600; }
.personal-detail-meta span::after{ content: " : "; font-weight: 600; }
.personal-detail-note{ margin: 10px 0 0; font-size: 18px; font-weight: 400; line-height: 1.6; letter-spacing: -0.03em; color: #e84426; }
.personal-detail-items{ margin: 0; }
.sub-content-box .real-cont .personal-detail-items .nhis-heading{ margin: 0 0 30px; }
.personal-item-tabs{ display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; list-style: none; margin: 0 0 24px; padding: 0; }
.personal-item-tabs li{ min-width: 0; }
.personal-item-tabs button{ display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; padding: 10px 6px; border: 1px solid #ddd; border-radius: 8px; background: #fff; color: #121212; font-family: inherit; font-size: 16px; font-weight: 500; letter-spacing: -0.03em; line-height: 1.3; text-align: center; word-break: keep-all; box-sizing: border-box; cursor: pointer; transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.personal-item-tabs button:hover{ border-color: var(--color-sub); }
.personal-item-tabs button.is-active, .personal-item-tabs button.is-active:hover{ background: var(--color-sub); border-color: var(--color-sub); color: #fff; }
.personal-item-tabs button:focus-visible{ outline: 2px solid var(--color-sub); outline-offset: 2px; }
.personal-item-panels{ margin: 0; }
.personal-item-panel{ display: none; padding: 32px; border: 1px solid #ddd; border-top: 2px solid #121212; background: #fff; }
.personal-item-panel.is-active{ display: block; }
.personal-item-panel dl{ margin: 0; }
.personal-item-panel dt{ margin: 0 0 10px; font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; color: #121212; }
.personal-item-panel dd{ margin: 0 0 28px; font-size: 18px; font-weight: 400; line-height: 1.7; letter-spacing: -0.03em; color: #505050; word-break: keep-all; }
.personal-item-panel dd:last-child{ margin-bottom: 0; }
.tour-gallery{ display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.tour-item{ margin: 0; border-radius: 16px; overflow: hidden; background: #fff; border: 0; cursor: pointer; transition: box-shadow 0.2s ease, opacity 0.2s ease; }
.tour-item.is-active{ box-shadow: 0 0 0 2px var(--color-main); }
.tour-item img{ display: block; width: 100%; height:auto; aspect-ratio: 4 / 3; object-fit: cover; }
.additional-list .add-cat:first-child{ display: none; }
.add-cat{ margin-bottom: 56px; }
.add-cat-title{ margin-bottom: 20px; font-size: 24px; font-weight: 700; color: #121212; }
.add-items{ display: grid; grid-template-columns: 1fr; gap: 0; list-style: none; padding: 0; margin: 0; border-top: 2px solid #121212; }
.add-items li{ display: grid; grid-template-columns: minmax(220px, 360px) 1fr; gap: 40px; padding: 24px 8px; border-bottom: 1px solid #ddd; font-size: 20px; line-height: 1.7; align-items: start; }
.add-name{ font-weight: 600; color: #121212; }
.add-price{ flex-shrink: 0; font-weight: 400; color: #505050; }
.table-section-title{ margin: 80px 0 30px; font-size: 32px; font-weight: 700; color: #121212; }
.table-section-title:first-of-type{ margin-top: 0; }
.partner-head{ margin-bottom: 60px; text-align: center; }
.sub-content-box .real-cont .partner-head .page-title{ margin-bottom: 16px; font-size: 56px; }
.sub-content-box .real-cont .partner-head .partner-intro{ margin: 0; font-size: 20px; line-height: 1.7; }
.partner-logo-grid{ display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.partner-logo-item{ display: flex; align-items: center; justify-content: center; min-height: 96px; padding: 16px; background: #fff; border: 1px solid #ddd; border-radius: 8px; }
.partner-logo-item img{ display: block; max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain; }
.partner-logo-banner{ padding: 48px 40px; border-radius: 16px; background: #f7f8f9; border: 0; text-align: center; }
.partner-logo-banner img{ max-width: 100%; height: auto; }
.partner-bottom{ margin-top: 120px; }
.clinic-ext{ margin-top: 32px; }
.clinic-ext a{ display: inline-flex; align-items: center; min-height: 60px; padding: 0 32px; border-radius: 8px; background: var(--color-main); font-size: 20px; font-weight: 700; color: #121212; }
.clinic-panel{ display: grid; grid-template-columns: minmax(280px, 520px) 1fr; gap: 64px; align-items: center; padding: 0; }
.clinic-panel .page-title{ margin-bottom: 24px; }
.clinic-panel img{ width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.clinic-panel p{ font-size: 20px; line-height: 1.8; letter-spacing: -0.03em; color: #505050; }
/* 부설클리닉 — 진료과 인트로 (좌 카피 / 우 이미지) */
.clinic-intro{ display: grid; grid-template-columns: minmax(280px, 0.92fr) minmax(320px, 1.08fr); gap: clamp(40px, 5vw, 96px); align-items: center; margin: 0 0 72px; }
.clinic-intro__copy{ min-width: 0; }
.clinic-intro__en{ margin: 0 0 20px; color: var(--color-main); font-size: 13px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.3; text-transform: uppercase; }
.clinic-intro__slogan{ margin: 0 0 24px; color: var(--color-heading); font-size: 48px; font-weight: 700; letter-spacing: -0.04em; line-height: 1.35; word-break: keep-all; }
.clinic-intro__desc{ margin: 0 0 66px; max-width: 36em; color: var(--color-body); font-size: clamp(16px, 1.04vw, 18px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.8; word-break: keep-all; }
.clinic-intro__visual{ margin: 0; min-width: 0; }
.clinic-intro__visual img{ display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius-md); }
.clinic-dept-block + .clinic-dept-block{ margin-top: 120px; padding-top: 80px; border-top: 1px solid #eee; }
.clinic-block{ margin-top: 86px; }
.clinic-block + .clinic-block{ margin-top: 150px; }
.sub-content-box .real-cont .clinic-dept .nhis-heading{ margin: 0 0 30px; }
.clinic-tags{ display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.clinic-tags li{ display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid #e5e5e5; border-radius: 4px; background: #f7f8f9; font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -0.03em; color: #121212; }
.clinic-list{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.clinic-list[data-count="4"]{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.clinic-list li{ display: flex; flex-direction: column; min-height: 280px; padding: 36px 32px 40px; border: 1px solid #ececec; border-radius: 24px; background: #fff; box-shadow: 0 10px 32px rgba(18, 18, 18, 0.04); }
.clinic-card__head{ margin-bottom: 20px; }
.clinic-card__meta{ display: flex; align-items: baseline; gap: 8px; margin: 0; color: #9aa0a6; }
.clinic-card__meta .en{ font-size: 12px; font-weight: 600; letter-spacing: 0.08em; line-height: 1; text-transform: uppercase; }
.clinic-list strong{ display: block; margin-bottom: 16px; font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; color: #121212; }
.sub-content-box .clinic-dept .clinic-list p{ margin: 0; font-size: 18px; line-height: 1.75; letter-spacing: -0.03em; color: #6b6b6b; word-break: keep-all; }
.clinic-vaccine-table td{ text-align: center; }
.nhis-table.clinic-vaccine-table:not(.nhis-table-cancer) tbody th{ width: auto; }
.clinic-pdf-btn{ display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 148px; min-height: 44px; padding: 0 16px; border-radius: 4px; background: var(--color-sub); color: #fff; font-size: 16px; font-weight: 700; line-height: 1; text-decoration: none; cursor: pointer; transition: background 0.2s ease, transform 0.15s ease; }
.clinic-pdf-btn img{ display: block; width: 16px; height: 16px; flex-shrink: 0; }
.clinic-pdf-btn:hover, .clinic-pdf-btn:focus-visible{ background: #01549a; color: #fff; }
.clinic-pdf-btn:focus-visible{ outline: 3px solid var(--color-main); outline-offset: 3px; }
.clinic-pdf-btn:active{ transform: translateY(1px); }
@media (prefers-reduced-motion: reduce){
	.clinic-pdf-btn{ transition: none; }
}
@media (max-width: 1400px){
	.greeting-split{ grid-template-columns: minmax(320px, 42%) 1fr; gap: 64px; }
	.greeting-headline{ font-size: clamp(32px, 3.4vw, 48px); }
	.greeting-body p:first-child{ font-size: clamp(24px, 2.8vw, 40px); }
}
@media (max-width: 1200px){
	.sub-visual.sub-visual--std{ height: auto; min-height: 520px; padding-bottom: 140px; }
	.sub-visual.sub-visual--std h2{ font-size: clamp(40px, 6vw, 72px); }
	.sub-visual.sub-visual--std .sv-eyebrow{ font-size: clamp(16px, 2vw, 24px); }
	.lnb-wrap.sub-lnb, .lnb-wrap.sub-lnb.sub-lnb--scroll{ top: auto; bottom: 24px; }
}
@media (max-width: 1400px){
	.personal-programs{ grid-template-columns: repeat(4, minmax(220px, 1fr)); }
	.personal-page .real-cont{ overflow-x: auto; }
	.personal-item-tabs{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1024px){
	.program-tabs, .program-cards{ grid-template-columns: 1fr 1fr; }
	.personal-notice{ flex-wrap: wrap; padding: 24px; }
	.personal-notice__btn{ margin-left: auto; }
	.personal-programs{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.add-items li{ grid-template-columns: 1fr; gap: 8px; }
	.greeting-split{ grid-template-columns: 1fr; gap: 40px; }
	.greeting-photo img{ aspect-ratio: 4 / 3; }
	.clinic-intro{ grid-template-columns: 1fr; gap: 32px; }
	.clinic-list, .clinic-list[data-count="4"]{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px){
	.greeting-label{ font-size: 16px; margin-bottom: 16px; }
	.greeting-headline{ font-size: 28px; }
	.greeting-body p{ font-size: 18px; }
	.greeting-body p:first-child{ font-size: 24px; margin-bottom: 28px; }
	.greeting-sign{ gap: 16px; }
	.greeting-sign__role{ font-size: 16px; }
	.greeting-sign__signature{ font-size: 56px; letter-spacing: 0.2em; }
	.sub-content-box{ padding: 80px 0 120px; }
	.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features):not(.personal-article):not(.deep-article):not(.hc-guide):not(.hp-process):not(.hf-forms):not(.hr-guide){ font-size: 20px; }
	.sub-content-box .real-cont .bullet-list li, .sub-content-box .real-cont .features-bullets li, .sub-content-box .real-cont .about-history .history-block__list li{ font-size: 20px; }
	.sub-content-box .real-cont .about-doctors .doctor-career li{ font-size: 18px; }
	.sub-content-box .real-cont .page-title, .sub-content-box .real-cont .nhis-heading, .sub-article .page-title{ font-size: 26px; margin-bottom: 32px; }
	.sub-content-box .real-cont .partner-head .page-title{ font-size: 32px; margin-bottom: 16px; }
	.clinic-panel{ grid-template-columns: 1fr; gap: 32px; }
	.clinic-intro{ grid-template-columns: 1fr; gap: 32px; margin-bottom: 48px; }
	.clinic-intro__slogan{ font-size: 32px; }
	.clinic-intro__visual img{ aspect-ratio: 16 / 11; }
	.clinic-dept-block + .clinic-dept-block{ margin-top: 64px; padding-top: 48px; }
	.clinic-list, .clinic-list[data-count="4"]{ grid-template-columns: 1fr; }
	.clinic-list li{ min-height: 0; padding: 28px 24px 32px; }
	.clinic-list strong{ font-size: 22px; }
	.clinic-tags li{ font-size: 16px; }
	.process-steps li{ grid-template-columns: 48px 1fr; padding: 24px; }
	.process-steps .step-num{ width: 48px; height: 48px; font-size: 18px; }
	.corp-process > li{ grid-template-columns: 1fr; gap: 16px; padding: 24px; }
	.program-tabs, .program-cards{ grid-template-columns: 1fr; }
	.personal-programs{ grid-template-columns: 1fr; }
	.personal-card{ min-height: 0; }
	.personal-compare-btn{ font-size: 15px; font-weight: 500; min-height: 42px; padding: 8px 14px; }
	.personal-item-tabs{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.personal-detail-box{ flex-wrap: wrap; padding: 28px 24px; }
	.personal-detail-article .personal-detail-note + .personal-detail-items{ margin-top: 48px; }
	.personal-detail-head{ margin-bottom: 22px; }
	.sub-content-box .real-cont .personal-detail-title{ font-size: 28px; font-weight: 600; }
	.personal-detail-meta li{ font-size: 18px; }
	.personal-detail-note{ margin-bottom: 0; }
	.personal-item-panel{ padding: 24px; }
	.caution-block{ padding: 28px 24px; }
	.caution-page .sub-lead{ margin-bottom: 40px; }
	.caution-section{ padding: 28px 24px; }
	.caution-section__head{ grid-template-columns: 48px 1fr; gap: 16px; margin-bottom: 24px; padding-bottom: 20px; }
	.caution-section__num{ width: 48px; height: 48px; font-size: 16px; }
	.caution-section__title{ font-size: 22px; }
	.caution-section__desc{ font-size: 16px; }
	.caution-list > li{ grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
	.caution-list strong, .caution-list p, .caution-prep-card p{ font-size: 18px; }
	.caution-prep-grid{ grid-template-columns: 1fr; }
	.caution-reserve{ padding: 24px 20px; }
	.caution-reserve__list{ grid-template-columns: 1fr; }
	.caution-reserve__list li{ font-size: 18px; }
	.caution-callout{ font-size: 16px; }
}
.location-photo{ display: block; width: 100%; height: 100%; min-height: 360px; border-radius: 16px; margin-bottom: 0; object-fit: cover; }
.location-map-actions{ display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.location-map-actions .map-btn{ display: inline-flex; align-items: center; justify-content: center; min-height: 52px; gap: 8px; padding: 12px 24px; border-radius: 8px; background: #fff; border: 1px solid #ddd; font-weight: 600; font-size: 18px; color: #121212; }
@media (max-width: 1024px){
	.tour-viewer-nav .tour-viewer-prev{ left: 12px; }
	.tour-viewer-nav .tour-viewer-next{ right: 12px; }
	.partner-logo-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.add-items{ grid-template-columns: 1fr; }
	.location-info{ grid-template-columns: 1fr; }
	.about-history .history-block{ gap: 20px; padding-bottom: 48px; margin-bottom: 48px; }
	.about-history .history-block__body{ gap: 24px; }
	.about-history .history-block__list{ gap: 26px; }
}
@media (max-width: 640px){
	.tour-viewer{ margin-bottom: 28px; }
	.tour-viewer-slider img{ aspect-ratio: 4 / 3; }
	.tour-viewer-nav button{ width: 14px; height: 26px; margin-top: -13px; }
	.tour-viewer-nav button img{ width: 14px; height: 26px; }
	.partner-logo-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.partner-logo-item{ min-height: 80px; padding: 12px; }
	.partner-logo-item img{ max-height: 44px; }
	.greet-split{ grid-template-columns: 1fr; }
	.about-history .history-layout{ gap: 40px; padding-top: 24px; }
	.about-history .history-aside{ gap: 28px; }
	.about-history .history-desc{ font-size: 16px; }
	.about-history .history-block__year{ font-size: 28px; }
	.about-history .history-marker{ font-size: 28px; }
	.about-history .history-timeline__line{ top: calc(28px * 1.3 / 2); }
	.about-history .history-block{ padding-bottom: 36px; margin-bottom: 36px; }
	.location-split{ grid-template-columns: 1fr; }
	.location-map-panel{ height: auto; min-height: 470px; border-radius: 24px; }
	.location-map-panel__frame{ position: relative; height: 410px; }
	.location-map-panel__overlay{ inset: 0; }
	.location-map-panel__overlay p{ font-size: 16px; }
	.location-map-panel__bar{ position: relative; padding: 24px 20px; border-radius: 0; }
	.location-map-panel__bar-inner{ flex-direction: column; align-items: flex-start; gap: 20px; }
	.location-map-panel__item{ flex-direction: column; align-items: flex-start; gap: 10px; }
	.location-map-panel__value{ font-size: 16px; line-height: 1.5; }
	.location-guide{ grid-template-columns: 1fr; gap: 40px; margin-top: 70px; }
	.location-access{ gap: 80px; }
	.location-access__title{ margin-bottom: 20px; padding-bottom: 16px; font-size: 26px; }
	.location-access__name{ font-size: 18px; }
	.location-sketch{ padding: 24px; border-radius: 16px; }
	.location-sketch img{ width: 100%; }
	.sub-content-box .board-search .total-page{ line-height: 48px; }
	.sub-content-box .board-search .search .input{ height: 48px; border-radius: 4px; }
	.sub-content-box .board-search .search .btn-pack.medium{ height: 48px; line-height: 46px; border-radius: 4px; }
}
/* 서브 공통 타이포 — 본문 20px · 최소 18px
   제외: 인사말 · 연혁 · 특장점 · 공단검진(.nhis-page) */
.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features):not(.personal-article):not(.deep-article):not(.hc-guide):not(.hp-process):not(.hf-forms):not(.hr-guide):not(.wp-workplace){ font-size: 20px; line-height: 1.7; letter-spacing: -0.03em; color: #505050; }
.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features):not(.personal-article):not(.deep-article):not(.hc-guide):not(.hp-process):not(.hf-forms):not(.hr-guide):not(.wp-workplace):not(:has(.board-view)):not(:has(.board-white)):not(:has(.board-form)) :is(p, li, dd, dt, label, .sub-lead, .about-lead, .partner-intro, .cont-note, .add-items li, .map-placeholder):not(.fee-updated){ font-size: 20px; }
.sub-content-box.personal-page .personal-notice__text{ font-size: 18px; }
.sub-content-box.personal-page .personal-card p{ font-size: 16px; }
.sub-content-box.personal-page .personal-card p.personal-card__price{ font-size: 20px; font-weight: 600; color: #121212; }
.sub-content-box.personal-page .personal-item-panel dt{ font-size: 20px; }
.sub-content-box.personal-page .personal-item-panel dd{ font-size: 18px; }
.sub-content-box.personal-page .sub-article > p.personal-detail-note{ margin: 10px 0 0; font-size: 18px; color: #e84426; }
.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features):not(:has(.board-view)):not(:has(.board-white)):not(:has(.board-form)) .clinic-list p{ font-size: 18px; }
.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features) :is(.board-search .total-page, .board-list table thead th, .board-list-m .info, .board-list-m .store-addr, .simple-list .link-item .info, .location-map-actions .map-btn){ font-size: 18px; }
/* 게시판 상세 — board.css 원래 타이포 */
.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features):has(.board-view){ font-size: 16px; line-height: 1.5em; letter-spacing: normal; }
.sub-content-box .sub-article .board-view-tit h3{ font-size: 20px; line-height: 1.3em; letter-spacing: -0.015em; color: #333; }
.sub-content-box .sub-article .board-view-info{ font-size: 15px; line-height: 1.3em; color: #767676; }
.sub-content-box .sub-article .board-view-cnt, .sub-content-box .sub-article .board-view-cnt :is(p, li, dd, dt){ font-size: 16px; line-height: 1.7em; letter-spacing: normal; }
.sub-content-box .sub-article .board-prev-next{ font-size: 16px; line-height: 1.5em; letter-spacing: normal; }
.sub-content-box .sub-article .board-prev-next :is(dt, dd, dd a){ font-size: inherit; }
.sub-content-box .sub-article:has(.board-view) .buttons .btn-pack.medium{ font-size: 16px; }
/* 게시판 글쓰기 · 폼 — board.css 원래 타이포 */
.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features):has(.board-white), .sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features):has(.board-form){ font-size: 16px; line-height: 1.5em; letter-spacing: -0.03em; color: #505050; }
.sub-content-box .sub-article :is(.board-white, .board-form) table{ font-size: 16px; line-height: 1.5em; letter-spacing: -0.03em; }
.sub-content-box .sub-article :is(.board-white, .board-form) table :is(th, td, label){ font-size: inherit; line-height: inherit; letter-spacing: inherit; }
.sub-content-box .sub-article :is(.board-white, .board-form) :is(.input, textarea){ font-size: 15px; line-height: 1.5em; letter-spacing: normal; }
.sub-content-box .sub-article :is(.board-white, .board-form) td.editor{ padding: 16px 20px; border: 1px solid #eee; }
.sub-content-box .sub-article :is(.board-white, .board-form) tr td.editor:last-child{ border-right: 0; }
.sub-content-box .sub-article :is(.board-white, .board-form) tr:has(td.editor) th{ vertical-align: middle; border: 1px solid #eee; }
.sub-content-box .sub-article :is(.board-white, .board-form) .editor textarea.input{ display: block; width: 100%; box-sizing: border-box; background: #fff; }
.sub-content-box .sub-article :is(.board-white, .board-form) .editor textarea.input[rows="5"]{ min-height: 115px; }
.sub-content-box .sub-article :is(.board-white, .board-form) .editor textarea.input[rows="10"]{ min-height: 227px; }
.sub-content-box .sub-article :is(.board-white, .board-form) table th .form-required::after, .sub-content-box .sub-article .form-agree h3 .form-required::after{ content: "*"; display: inline-block; margin-left: 4px; color: #e84426; font-size: 16px; font-weight: 700; line-height: 1; vertical-align: 1px; }
.sub-content-box .sub-article:has(.board-white) .buttons .btn-pack.medium, .sub-content-box .sub-article:has(.board-form) .buttons .btn-pack.medium{ min-width: 120px; height: 52px; padding: 0 28px; line-height: 50px; font-size: 16px; border-radius: 4px; }
.sub-content-box .sub-article .form-agree h3{ font-size: 18px; line-height: 1.3em; letter-spacing: -0.03em; }
.sub-content-box .sub-article .form-agree dd{ font-size: 15px; line-height: 1.5em; }
.sub-content-box .sub-article .form-agree .check{ font-size: 16px; line-height: 1.5em; }
.sub-content-box .sub-article .board-white .form-help{ margin: 8px 0 0; font-size: 14px; line-height: 1.5em; letter-spacing: -0.03em; color: #767676; }
.sub-content-box .sub-article .board-white--personal .item.radiobox{ margin-right: 28px; }
.sub-content-box .sub-article .board-white--personal .radiobox label{ font-size: 16px; line-height: 1.5em; }
.sub-content-box .sub-article .board-white--personal .radiobox label::before{ width: 16px; height: 16px; margin-right: 8px; }
.sub-content-box .sub-article .board-white--personal .radiobox input:checked + label::before{ background: radial-gradient(circle, var(--color-sub) 4px, #fff 4px); border-color: var(--color-sub); }
.sub-content-box .sub-article .board-white--personal .radiobox input:focus + label::before{ outline: 2px solid var(--color-sub); }
.sub-content-box .sub-article .form-agree .privacy-table{ width: 100%; margin-top: 12px; border-collapse: collapse; border-top: 1px solid #ddd; font-size: 14px; line-height: 1.5em; letter-spacing: -0.03em; color: #505050; }
.sub-content-box .sub-article .form-agree .privacy-table th, .sub-content-box .sub-article .form-agree .privacy-table td{ padding: 12px 14px; border: 1px solid #ddd; vertical-align: top; text-align: left; }
.sub-content-box .sub-article .form-agree .privacy-table th{ background: #fafafa; color: #333; font-weight: 700; }
.sub-content-box .sub-article .form-agree .privacy-note{ margin: 12px 0 0; font-size: 14px; line-height: 1.6em; letter-spacing: -0.03em; color: #767676; }
/* 게시판 목록 — 서브 20px 상속 차단 · 번호·작성자·등록일·조회 18px */
.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features):has(.board-list){ font-size: 18px; line-height: 1.6; letter-spacing: normal; }
.sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features) .board-list table tbody td:not(.subject), .sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features) .board-list table tbody td.subject, .sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features) .board-list table tbody td.subject a, .sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features) .board-list-m .tit, .sub-content-box:not(.nhis-page) .sub-article:not(.greeting-article):not(.about-history):not(.about-features) .board-list-m .info{ font-size: 18px; }
/* 게시판 목록 — 행 세로 여백 */
.sub-content-box .board-list table thead th, .sub-content-box .board-list table tbody td{ height: auto; min-height: 76px; padding: 22px 5px; line-height: 1.6; }
.sub-content-box .board-list table tbody td:not(.subject){ font-size: 18px; }
.sub-content-box .board-list table tbody td.subject{ padding-left: 15px; padding-right: 15px; text-align: left; vertical-align: middle; }
.sub-content-box .board-list table tbody td.subject a, .sub-content-box .board-list table tbody td.subject img, .sub-content-box .board-list table tbody td.subject .comment{ display: inline-block; vertical-align: middle; }
.sub-content-box .board-list table tbody td.subject a{ line-height: 1.4; }
.sub-content-box .board-list table tbody td.subject a + .comment, .sub-content-box .board-list table tbody td.subject a + img[alt="비밀글"]{ margin-left: 10px; }
.sub-content-box .board-list table tbody td.subject .comment{ line-height: 1; }
/* 게시판 목록 — 답변·비밀글 아이콘 */
.sub-content-box .board-list table tbody td.subject img[alt="답변"], .sub-content-box .board-list table tbody td.subject img[alt="비밀글"]{ width: 17px; height: 16px; margin: 0; }
.sub-content-box .board-list table tbody td.subject img[alt="답변"]{ margin-right: 10px; filter: brightness(0) saturate(100%) invert(80%); }
.sub-content-box .board-list-m .tit{ display: inline-flex; align-items: center; flex-wrap: wrap; gap: 10px; line-height: 1.4; }
.sub-content-box .board-list-m .tit img[alt="답변"], .sub-content-box .board-list-m .tit img[alt="비밀글"]{ display: block; flex-shrink: 0; width: 17px; height: 16px; margin: 0; }
.sub-content-box .board-list-m .tit img[alt="답변"]{ filter: brightness(0) saturate(100%) invert(80%); }
/* 게시판 목록 — 댓글 수 (서브 컬러) */
.sub-content-box .board-list table tbody td.subject .comment, .sub-content-box .board-list-m .tit .comment{ color: var(--color-sub); }
/* 문의 상세 — 관리자 답글 (답글은 관리자만 작성) */
.sub-content-box .board-view.board-view-reply{ margin-top: 0; border-top: 0; }
.sub-content-box .board-view.board-view-reply .board-view-tit h3{ display: flex; align-items: center; gap: 10px; }
.sub-content-box .board-view.board-view-reply .board-view-tit h3 img{ display: block; width: 17px; height: 16px; filter: brightness(0) saturate(100%) invert(80%); }
/* 게시판 검색 — 입력·버튼 높이 · radius 8 */
.sub-content-box .board-search .total-page{ line-height: 52px; }
.sub-content-box .board-search .search .input{ height: 52px; font-size: 16px; border-radius: 4px; }
.sub-content-box .board-search .search .btn-pack.medium{ height: 52px; line-height: 50px; font-size: 16px; border-radius: 4px; }
/* 게시판 목록 — 글쓰기 버튼 */
.sub-content-box .sub-article:has(.board-list) .buttons .fr .btn-pack.medium.dark{ border-radius: 4px; background: var(--color-main); border-color: var(--color-main); color: #fff; }
.sub-content-box:not(.nhis-page) .sub-article.about-doctors .doctor-career li{ font-size: 18px !important; }
.sub-content-box:not(.nhis-page) .sub-article.about-doctors .doctor-career li:first-child{ font-size: 18px !important; }
.sub-content-box:not(.nhis-page) .sub-article.about-doctors .doctor-name{ font-size: 28px !important; font-weight: 600 !important; line-height: 1.35; letter-spacing: -0.02em; color: #121212; }
.sub-content-box:not(.nhis-page) .sub-article.about-doctors .doctor-name span{ font-weight: 600 !important; }
.sub-content-box:not(.nhis-page) .sub-article.about-doctors .doctor-dept{ font-size: 16px; color: var(--color-main); }
.sub-content-box:not(.nhis-page) .sub-article.about-doctors .doctor-career-title{ font-size: 18px; font-weight: 700; color: #121212; }
@media (max-width: 1024px){
	.sub-content-box:not(.nhis-page) .sub-article.about-doctors .doctor-name{ font-size: 22px; }
}
@media (prefers-reduced-motion: reduce){
	.sub-visual.sub-visual--std [data-aos]{ opacity: 1 !important; transform: none !important; }
}
/* 인사말 서명 — 본문 20px 상속·반응형 덮어쓰기 방지 */
.sub-content-box .real-cont .greeting-article .greeting-sign .greeting-sign__signature{ font-family: "NanumSonPyeonJiCe", cursive; font-size: 56px; font-weight: 400; line-height: 1; letter-spacing: 0.2em; }
/* 심층건강진단 */
.deep-article{ display: flex; flex-direction: column; gap: 0; }
.deep-hero{ display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border-radius: 16px; background: #f4f7fa; }
.deep-hero__copy{ display: flex; flex-direction: column; justify-content: center; padding: 48px 56px; }
.sub-content-box .real-cont .deep-hero__title{ margin: 0 0 20px; font-size: 40px; font-weight: 700; line-height: 1.4; letter-spacing: -0.04em; color: #121212; }
.sub-content-box .real-cont .deep-hero__title em{ font-style: normal; color: var(--color-sub); }
.deep-hero__copy > p{ margin: 0; font-size: 20px; line-height: 1.8; color: #505050; }
.deep-hero__keys{ display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; }
.deep-hero__keys li{ padding: 6px 14px; border: 1px solid #ddd; border-radius: 6px; background: #fff; font-size: 18px; color: #505050; }
.deep-hero__photo{ margin: 0; min-height: 360px; }
.deep-hero__photo img{ display: block; width: 100%; height: 100%; object-fit: cover; }
.deep-define{ display: flex; gap: 32px; align-items: flex-start; margin-top: 24px; padding: 32px 40px; border-radius: 16px; background: #f9f9f9; }
.deep-define strong{ flex: 0 0 180px; font-size: 20px; font-weight: 700; color: #121212; }
.deep-define p{ margin: 0; font-size: 18px; line-height: 1.7; color: #505050; }
.deep-nav{ position: sticky; top: var(--header-height); z-index: 5; margin: 80px 0 0; padding: 0; border-bottom: 1px solid #ddd; background: #fff; }
.deep-nav .swiper{ width: 100%; overflow: hidden; }
.deep-nav .swiper-slide{ width: auto; flex-shrink: 0; }
/* CMS/캐시 등 예전 flat 앵커 마크업 */
.deep-nav:not(:has(.swiper)){ display: flex; justify-content: center; flex-wrap: wrap; gap: 40px; }
.deep-nav > a, .deep-nav .swiper-slide a{ display: flex; align-items: center; gap: 8px; min-height: 64px; padding: 0 28px; font-size: 18px; font-weight: 600; color: #878787; text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; box-sizing: border-box; }
.deep-nav > a:hover, .deep-nav .swiper-slide a:hover{ color: var(--color-sub); }
.deep-nav > a span, .deep-nav .swiper-slide a span{ font-size: 14px; font-weight: 500; color: #bbb; }
.deep-nav > a.is-active, .deep-nav .swiper-slide a.is-active{ color: var(--color-sub); border-bottom-color: var(--color-sub); }
.deep-nav > a.is-active span, .deep-nav .swiper-slide a.is-active span{ color: var(--color-sub); }
.deep-block{ padding: 80px 0 0; scroll-margin-top: calc(var(--header-height) + 72px); }
.deep-block + .deep-block{ padding-top: 150px; }
.deep-head{ display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 36px; }
.sub-content-box.deep-page .real-cont .deep-head .nhis-heading{ margin: 0; font-size: 40px; }
.sub-content-box.deep-page .real-cont .deep-head .nhis-heading em{ font-style: normal; color: var(--color-main); }
.deep-head > p{ flex: 0 0 auto; max-width: none; margin: 0; font-size: 18px; line-height: 1.7; color: #505050; white-space: nowrap; }
.deep-cost{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.deep-cost li{ padding: 36px 32px; border: 1px solid #ddd; border-radius: 16px; background: #fff; }
.deep-cost li.is-support{ background: #e8f3fb; border-color: #d3e6f4; }
.deep-cost li.is-pay{ background: var(--color-sub); border-color: var(--color-sub); color: #fff; }
.deep-cost span{ display: block; margin-bottom: 16px; font-size: 16px; font-weight: 600; color: #505050; }
.deep-cost li.is-pay span{ color: rgba(255, 255, 255, 0.8); }
.deep-cost span em{ display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 99px; background: #fff; color: var(--color-sub); font-size: 12px; font-style: normal; font-weight: 700; }
.deep-cost strong{ display: block; font-size: 40px; font-weight: 700; letter-spacing: -0.04em; color: #121212; }
.deep-cost li.is-pay strong{ color: #fff; }
.deep-cost strong small{ margin-left: 4px; font-size: 18px; font-weight: 500; }
.sub-content-box.deep-page .real-cont .deep-cost p{ margin: 10px 0 0; font-size: 18px; color: #878787; }
.sub-content-box.deep-page .real-cont .deep-cost li.is-pay p{ color: #fff; }
.sub-content-box.deep-page .real-cont .deep-note{ margin: 20px 0 0; font-size: 16px; line-height: 1.7; color: #878787; }
.deep-note.is-alert, .deep-note a{ color: #e84426; }
.deep-link{ display: inline-flex; align-items: center; margin-top: 20px; font-size: 16px; font-weight: 600; color: var(--color-sub); }
.deep-link.is-primary{ justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 8px; background: var(--color-sub); color: #fff; }
.deep-elig-summary{ display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding: 28px 32px; border-radius: 16px; background: #f9f9f9; }
.deep-elig-summary strong{ display: block; margin-bottom: 6px; font-size: 20px; font-weight: 700; color: #121212; }
.sub-content-box.deep-page .real-cont .deep-elig-summary p{ margin: 0; font-size: 16px; color: #505050; }
.deep-elig-summary > span{ flex: 0 0 auto; padding: 6px 14px; border-radius: 99px; background: #e8f3fb; color: var(--color-sub); font-size: 14px; font-weight: 600; }
.deep-table col.col-doc{ width: 540px; }
.deep-table.nhis-table:not(.nhis-table-cancer) tbody td{ font-size: 18px; line-height: 1.7; }
.sub-content-box.deep-page .real-cont .deep-table td strong{ display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 20px; font-weight: 500; color: #121212; }
.sub-content-box.deep-page .real-cont .deep-table .deep-num{ display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: var(--color-sub); color: #fff; font-size: 13px; font-weight: 700; line-height: 1; }
.sub-content-box.deep-page .real-cont .deep-table:not(.deep-exam-table) .bullet-list li{ font-size: 18px; }
.sub-content-box.deep-page .real-cont .deep-table .deep-doc-note{ display: inline-block; margin-top: 4px; font-size: 16px; color: #878787; }
.deep-risk{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sub-content-box.deep-page .real-cont .deep-risk li{ padding: 16px; border-radius: 8px; background: #f7f8fa; font-size: 17px; line-height: 1.55; color: #505050; }
.deep-risk b{ display: block; margin-bottom: 4px; color: #121212; }
.deep-exam-table col.col-cat{ width: 280px; }
.deep-exam-table.nhis-table:not(.nhis-table-cancer) tbody th{ width: 280px; font-size: 20px; font-weight: 500; color: #121212; text-align: center; }
.deep-exam-table.nhis-table:not(.nhis-table-cancer) tbody td{ font-size: 20px; }
.deep-exam-table .deep-exam-items{ display: flex; flex-wrap: wrap; gap: 10px 40px; }
.deep-exam-table .deep-exam-items li{ flex: 0 1 280px; }
.deep-banner{ margin: 0 0 20px; padding: 18px 24px; border-radius: 10px; background: #e8f3fb; font-size: 17px; line-height: 1.7; color: #505050; }
.deep-banner strong{ color: var(--color-sub); }
.deep-add{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.deep-add li{ display: flex; flex-direction: column; padding: 32px; border: 1px solid #ddd; border-radius: 16px; background: #fff; }
.deep-add h4{ margin: 0 0 10px; font-size: 22px; font-weight: 700; color: #121212; }
.deep-add p{ margin: 0; font-size: 17px; color: #505050; }
.deep-add > span{ margin-top: 8px; font-size: 14px; color: #878787; }
.deep-add__price{ display: flex; align-items: baseline; justify-content: space-between; margin-top: auto; padding-top: 24px; }
.deep-add__price em{ font-style: normal; font-size: 14px; color: #878787; }
.deep-add__price strong{ font-size: 24px; font-weight: 700; color: var(--color-sub); }
.deep-consult{ display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 20px; padding: 32px 40px; border-radius: 16px; background: #f9f9f9; }
.sub-content-box.deep-page .real-cont .deep-consult > div strong{ display: block; margin-bottom: 8px; font-size: 24px; color: #121212; }
.sub-content-box.deep-page .real-cont .deep-consult > div p{ margin: 0; font-size: 18px; line-height: 1.7; color: #505050; }
.deep-consult__max{ flex: 0 0 auto; text-align: right; }
.deep-consult__max span{ display: block; margin-bottom: 4px; font-size: 14px; color: #878787; }
.deep-consult__max strong{ font-size: 36px; font-weight: 700; color: var(--color-sub); }
.deep-visit{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; padding: 0; list-style: none; }
.deep-visit li{ padding: 28px 32px; border: 1px solid #ddd; border-radius: 16px; }
.deep-visit strong{ display: block; margin-bottom: 8px; font-size: 20px; font-weight: 700; color: #121212; }
.sub-content-box.deep-page .real-cont .deep-visit p, .sub-content-box.deep-page .real-cont .deep-visit a{ margin: 0; font-size: 16px; color: #505050; }
.deep-visit a:hover{ color: var(--color-sub); }
.deep-apply{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 40px; }
.deep-apply article{ display: flex; flex-direction: column; padding: 36px 40px; border-radius: 16px; background: #f9f9f9; }
.deep-apply article:first-child{ background: #e8f3fb; }
.deep-apply__head{ display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 6px; }
.deep-apply h4{ margin: 0; font-size: 24px; font-weight: 700; color: #121212; }
.deep-apply > article > p{ margin: 0 0 20px; font-size: 16px; color: #505050; }
.deep-apply ol{ margin: 0; padding: 0; list-style: none; counter-reset: apply; }
.sub-content-box.deep-page .real-cont .deep-apply li{ position: relative; padding: 0 0 16px 36px; font-size: 18px; line-height: 1.6; color: #505050; }
.sub-content-box.deep-page .real-cont .deep-apply li:last-child{ padding-bottom: 0; }
.deep-apply li::before{ counter-increment: apply; content: counter(apply); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; background: #fff; color: var(--color-sub); font-size: 13px; font-weight: 700; line-height: 24px; text-align: center; }
.deep-apply .deep-link{ margin-top: 0; flex: 0 0 auto; width: fit-content; }
@media (max-width: 1024px){
	.deep-hero, .deep-cost, .deep-add, .deep-visit, .deep-apply, .deep-risk{ grid-template-columns: 1fr; }
	.deep-hero__photo{ min-height: 240px; }
	.deep-hero__copy{ padding: 32px 28px; }
	.deep-define, .deep-consult, .deep-head, .deep-elig-summary{ flex-direction: column; align-items: flex-start; }
	.deep-head > p{ white-space: normal; }
	.deep-define strong{ flex-basis: auto; }
	.deep-nav > a, .deep-nav .swiper-slide a{ min-height: 48px; padding: 0 16px; font-size: 15px; }
	.sub-content-box .real-cont .deep-hero__title{ font-size: 26px; }
	.deep-cost strong{ font-size: 32px; }
	.deep-block{ scroll-margin-top: calc(var(--header-height) + 96px); }
}
@media (max-width: 768px){
	.deep-exam-table .deep-exam-items li{ flex-basis: 100%; }
	.deep-consult__max{ text-align: left; }
	.deep-apply article, .deep-define, .deep-consult{ padding: 24px; }
}
.sub-content-box.deep-page .real-cont #examinations .deep-elig-summary p, .sub-content-box.deep-page .real-cont #additional .deep-note, .sub-content-box.deep-page .real-cont #application .deep-note, .sub-content-box.deep-page .real-cont #application .deep-visit p, .sub-content-box.deep-page .real-cont #application .deep-visit a{ font-size: 16px; }
/* Additional-checkup page only; no shared site styles are modified. */
.har-page{ font-family: var(--font-primary, "Wanted Sans", sans-serif); color: #121212; letter-spacing: -0.035em; scroll-margin-top: 110px; width: 100%; min-width: 0; }
.har-page *{ box-sizing: border-box; }
.har-tabs{ display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid #dce5ec; border-radius: 16px; overflow: hidden; margin-bottom: 50px; }
.har-tab{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 22px 10px; min-height: 140px; border: 0; border-right: 1px solid #e5edf2; border-bottom: 1px solid #e5edf2; background: #fff; color: #505050; font: 600 18px/1.4 var(--font-primary, sans-serif); letter-spacing: -0.035em; cursor: pointer; }
.har-tab:nth-child(7n){ border-right: 0; }
.har-tab:nth-child(n + 8){ border-bottom: 0; }
.har-tab img{ display: block; width: 60px; height: 60px; }
.har-tab[aria-selected="true"]{ color: #0168b7; background: #edf8fe; box-shadow: inset 0 -3px #0168b7; }
.har-tab:focus-visible{ outline: 3px solid #0168b7; outline-offset: -5px; }
.har-panel[hidden]{ display: none !important; }
.har-panel:focus-visible{ outline: 2px solid #5ed1ff; outline-offset: 5px; }
.har-panel{ width: 100%; overflow-x: auto; }
.har-panel h3{ font-size: 32px; line-height: 1.4; font-weight: 650; margin: 0 0 24px; }
/* 표 — 기존 additional(nhis-table) 간격·폰트·정렬 유지 */
.har-page table{ width: 100%; border-collapse: collapse; table-layout: fixed; border-top: 2px solid #121212; }
.har-name{ width: 300px; }
.har-price{ width: 260px; }
.har-page th, .har-page td{ padding: 24px 30px; border-bottom: 1px solid #ddd; border-left: 1px solid #ddd; font-size: 18px; line-height: 1.6; color: #505050; vertical-align: middle; text-align: left; word-break: keep-all; overflow-wrap: anywhere; }
.har-page thead th{ height: 80px; padding: 0; background: #f4f4f4; font-size: 20px; font-weight: 600; color: #121212; text-align: center; border-left: 1px solid #ddd; }
.har-page thead th:first-child, .har-page tbody th{ border-left: 0; }
.har-page tbody th{ width: 300px; font-weight: 500; color: #121212; text-align: center; font-size: 20px; line-height: 1.6; letter-spacing: -0.03em; white-space: pre-line; }
.har-page tbody td{ font-weight: 400; font-size: 20px; line-height: 1.8; letter-spacing: -0.03em; white-space: pre-line; }
.har-page td.har-cost{ text-align: center; white-space: nowrap; color: #0168b7; font-weight: 600; }
.har-page .har-desc-list{ display: block; margin-top: 16px; }
.har-page tbody th .har-subname{ display: block; color: #878787; font-size: 18px; font-weight: 400; }
.har-sr{ position: absolute; width: 1px; height: 1px; margin: -1px; clip: rect(0, 0, 0, 0); overflow: hidden; }
@media (max-width: 900px){
	.har-tab{ font-size: 15px; padding: 18px 4px; min-height: 122px; }
	.har-tab img{ width: 48px; height: 48px; }
}
@media (max-width: 700px){
	.har-page table{ min-width: 720px; }
}
@media (max-width: 600px){
	.har-tabs{ grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 32px; border-radius: 12px; }
	.har-tab{ flex-direction: row; min-height: 84px; gap: 8px; font-size: 15px; padding: 12px 8px; border-right: 1px solid #e5edf2 !important; border-bottom: 1px solid #e5edf2 !important; }
	.har-tab:nth-child(2n){ border-right: 0 !important; }
	.har-tab:nth-last-child(-n + 2){ border-bottom: 0 !important; }
	.har-tab img{ width: 40px; height: 40px; }
	.har-panel h3{ font-size: 27px; margin-bottom: 20px; }
}
/* 검진 전 주의사항 — 본문 전용 (.hc-guide 스코프) */
.hc-guide{ --hc-blue: #0168b7; --hc-sky: #5ed1ff; --hc-ink: #121212; --hc-body: #505050; color: var(--hc-body); font-family: var(--font-primary, "Wanted Sans", sans-serif); font-size: 20px; line-height: 1.75; letter-spacing: -0.03em; }
.hc-guide *{ box-sizing: border-box; }
.hc-guide .hc-section{ display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 60px; padding: 56px 0; border-top: 1px solid #dce4e9; scroll-margin-top: 120px; }
.hc-guide .hc-section:first-child{ padding-top: 0; border-top: 0; }
.hc-guide .hc-section:last-child{ padding-bottom: 0; }
.hc-guide .hc-section-title{ display: block; }
.hc-guide .hc-number{ display: block; flex: 0 0 auto; font-family: var(--font-primary); font-size: clamp(32px, 3.5vw, 42px); font-weight: 700; line-height: 1; letter-spacing: -0.02em; color: var(--color-sub); margin-bottom: 18px; }
.hc-guide .hc-section-title h3{ font-size: 30px; font-weight: 650; line-height: 1.4; letter-spacing: -0.04em; color: var(--hc-ink); margin: 0; word-break: keep-all; }
.hc-guide .hc-groups{ min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.hc-guide .hc-group{ background: #f7f9fb; border-radius: 16px; padding: 26px 32px; }
.hc-guide .hc-group h4{ font-size: 21px; line-height: 1.4; font-weight: 650; color: var(--hc-ink); margin: 0 0 18px; }
.hc-guide ul{ margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.hc-guide li{ margin: 0; padding: 0; font-size: 18px; line-height: 1.75; word-break: keep-all; overflow-wrap: anywhere; }
.hc-guide .hc-timed{ display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 16px; align-items: start; }
.hc-guide .hc-badge{ font-size: 14px; line-height: 26px; text-align: center; border-radius: 5px; white-space: nowrap; margin-top: 3px; font-weight: 650; letter-spacing: -0.02em; }
.hc-guide .hc-before{ background: #e5edf4; color: #36556e; }
.hc-guide .hc-day{ background: #0168b7; color: #fff; }
.hc-guide .hc-copy{ min-width: 0; }
.hc-guide strong{ font-weight: 650; color: #121212; }
.hc-guide small{ display: block; font-size: 16px; color: #686868; margin-top: 6px; line-height: 1.65; }
.hc-guide em{ font-style: normal; color: #c34339; }
.hc-guide .hc-note{ color: #bd3e34; font-size: 16px; padding-top: 3px; }
.hc-guide .hc-note strong{ color: inherit; }
.hc-guide .hc-plain{ position: relative; padding-left: 15px; }
.hc-guide .hc-plain::before{ content: ""; position: absolute; top: 0.72em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: #ccc; transform: translateY(-50%); }
@media (max-width: 1200px){
	.hc-guide .hc-section{ grid-template-columns: 210px minmax(0, 1fr); gap: 36px; }
	.hc-guide .hc-group{ padding: 24px; }
}
@media (max-width: 900px){
	.hc-guide .hc-section{ grid-template-columns: 1fr; gap: 24px; padding: 40px 0; }
	.hc-guide .hc-section-title{ display: flex; align-items: baseline; gap: 16px; }
	.hc-guide .hc-number{ margin: 0; }
	.hc-guide .hc-section-title h3{ font-size: 26px; }
	.hc-guide .hc-groups{ gap: 16px; }
}
@media (max-width: 600px){
	.hc-guide .hc-group{ padding: 22px 20px; border-radius: 12px; }
	.hc-guide .hc-group h4{ font-size: 19px; margin-bottom: 16px; }
	.hc-guide li{ font-size: 16px; line-height: 1.8; }
	.hc-guide .hc-timed{ display: flex; flex-direction: column; gap: 6px; }
	.hc-guide .hc-badge{ padding: 0 10px; font-size: 12px; line-height: 24px; margin: 0; }
	.hc-guide small, .hc-guide .hc-note{ font-size: 14px; }
	.hc-guide .hc-section-title h3{ font-size: 24px; }
	.hc-guide ul{ gap: 18px; }
}
/* Page-specific styles, isolated from the common layout. */
.hf-forms{ --hf-blue:#0168b7; --hf-sky:#5ed1ff; --hf-hwp:#0068b7; --hf-pdf:#e4002b; font-family:var(--font-primary,"Wanted Sans",sans-serif); font-size:18px; line-height:1.7; letter-spacing:-.03em; color:#505050; }
.hf-forms *{ box-sizing:border-box; }
.hf-forms h3,.hf-forms h4,.hf-forms p{ margin:0; }
.hf-forms .hf-download{ display:flex; align-items:center; justify-content:space-between; gap:30px; background:#f4f4f4; border:none; border-radius:16px; padding:34px 40px; margin-bottom:72px; }
.hf-forms .hf-download h3{ font-size:26px; line-height:1.4; font-weight:650; color:#121212; word-break:keep-all; }
.hf-forms .hf-download-actions{ display:flex; gap:12px; flex-shrink:0; }
.hf-forms .hf-download-btn{ display:inline-flex; align-items:center; gap:10px; padding:15px 18px; background:#fff; border:1px solid #ddd; border-radius:8px; text-decoration:none; color:#121212; font-size:16px; font-weight:600; line-height:1; white-space:nowrap; transition:background .2s,border-color .2s,color .2s; }
.hf-forms .hf-download-btn--hwp:is(:hover,:focus-visible){ background:var(--hf-hwp); border-color:var(--hf-hwp); color:#fff; }
.hf-forms .hf-download-btn--pdf:is(:hover,:focus-visible){ background:var(--hf-pdf); border-color:var(--hf-pdf); color:#fff; }
.hf-forms .hf-download-btn:is(:hover,:focus-visible) .hf-type{ border-color:currentColor; color:inherit; }
.hf-forms .hf-type{ display:inline-flex; align-items:center; flex-shrink:0; font-size:11px; letter-spacing:.03em; border:1px solid #ccc; border-radius:3px; line-height:1; padding:4px 5px; transition:border-color .2s,color .2s; }
.hf-forms .hf-download-btn>span:not(.hf-type):not(.hf-icon){ display:inline-flex; align-items:center; line-height:1; }
.hf-forms .hf-icon{ display:inline-flex; flex:0 0 20px; align-items:center; justify-content:center; width:20px; height:20px; line-height:0; color:inherit; }
.hf-forms .hf-icon svg{ display:block; width:20px; height:20px; }
.hf-forms .hf-section-title{ font-size:34px; font-weight:650; color:#121212; line-height:1.4; margin-bottom:32px; }
.hf-forms .hf-section+.hf-section{ margin-top:64px; }
.hf-forms .hf-heading{ margin-bottom:10px; }
.hf-forms .hf-heading h4{ font-size:26px; line-height:1.4; font-weight:600; color:var(--color-sub,#0168b7); word-break:keep-all; }
.hf-forms .hf-lead{ font-size:18px; margin-bottom:22px; color:#686868; }
.hf-forms caption{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.hf-forms .hf-age-table:not(.nhis-table-cancer) tbody th{ width:auto; }
/* rowspan/colspan 표 — nhis-table first-child·tbody th 보더 보정 */
.hf-forms .hf-age-table thead tr:first-child>th:first-child{ border-right:1px solid #ddd; }
.hf-forms .hf-age-table thead tr:not(:first-child) th{ border-left:1px solid #ddd; }
.hf-forms .hf-age-table tbody th{ border-left:1px solid #ddd; }
.hf-forms .hf-age-table tbody tr>th:first-child[colspan="2"], .hf-forms .hf-age-table tbody tr>th:first-child[rowspan]{ border-left:0; border-right:1px solid #ddd; }
.hf-forms .hf-age-table tbody tr>th:first-child:not([colspan="2"]):not([rowspan]){ border-left:1px solid #ddd; }
.hf-forms .hf-age-table td.center[rowspan]{ border-right:1px solid #ddd; }
.hf-forms .hf-age-table tbody td:first-child{ border-left:1px solid #ddd; }
.hf-forms .nhis-table th, .hf-forms .nhis-table td{ padding-left:20px; padding-right:20px; }
.hf-forms .nhis-table thead th{ padding-left:20px; padding-right:20px; }
.hf-forms .nhis-table .bullet-list{ display:flex; flex-direction:column; gap:8px; }
.hf-forms .nhis-table td.center{ text-align:center; }
.hf-forms .hf-exception-table tbody tr:first-child th{ background:#f4f4f4; font-weight:600; }
.hf-forms .hf-exception-table tbody tr:not(:first-child) td:first-child{ font-weight:500; color:#121212; text-align:center; }
.hf-forms .hf-footnotes{ margin-top:18px; color:#686868; font-size:16px; line-height:1.75; word-break:keep-all; }
.hf-forms .hf-footnotes p+p{ margin-top:8px; }
.hf-forms .hf-notice{ margin-top:40px; padding:30px 34px; border-radius:12px; background:#f7f9fb; }
.hf-forms .hf-notice h4{ font-size:22px; color:#121212; font-weight:650; margin-bottom:16px; }
.hf-forms .hf-notice ul{ padding:0; margin:0; list-style:none; display:flex; flex-direction:column; gap:18px; }
.hf-forms .hf-notice li{ padding-left:14px; position:relative; font-size:18px; line-height:1.7; word-break:keep-all; }
.hf-forms .hf-notice li:before{ content:""; position:absolute; left:0; top:.75em; width:4px; height:4px; background:#0168b7; border-radius:50%; }
.hf-forms .hf-notice .font-mid{ font-weight:600; color:#121212; }
.hf-forms .hf-scroll-hint{ display:none; }
.hf-forms a:focus-visible,.hf-forms .table-scroll:focus-visible{ outline:3px solid #5ed1ff; outline-offset:4px; }
@media(max-width:1200px){
	.hf-forms .hf-download{ align-items:flex-start; flex-direction:column; gap:22px; }
	.hf-forms .hf-age-table{ min-width:1080px; }
	.hf-forms .hf-scroll-hint{ display:block; font-size:14px; color:#686868; margin-bottom:10px; }
}
@media(max-width:650px){
	.hf-forms .hf-download{ padding:24px; margin-bottom:44px; border-radius:12px; }
	.hf-forms .hf-download h3{ font-size:23px; }
	.hf-forms .hf-download-actions{ flex-direction:column; width:100%; gap:10px; }
	.hf-forms .hf-download-btn{ width:100%; justify-content:space-between; font-size:15px; padding:13px; }
	.hf-forms .hf-section-title{ font-size:28px; margin-bottom:24px; }
	.hf-forms .hf-heading h4{ font-size:22px; }
	.hf-forms .hf-lead{ font-size:16px; }
	.hf-forms .hf-exception-table{ min-width:580px; }
	.hf-forms .hf-section+.hf-section{ margin-top:42px; }
	.hf-forms .hf-notice{ padding:24px 20px; }
	.hf-forms .hf-notice li{ font-size:18px; }
	.hf-forms .hf-footnotes{ font-size:16px; }
}
@media(prefers-reduced-motion:reduce){
	.hf-forms .hf-download-btn{ transition:none; }
}
/* Reservation guide: scoped styles only. */
.hr-guide{ --hr-blue:#0168b7; --hr-sky:#5ed1ff; font-family:var(--font-primary,"Wanted Sans",sans-serif); color:#505050; letter-spacing:-.03em; line-height:1.65; }
.hr-guide *{ box-sizing:border-box; }
.hr-guide h3,.hr-guide h4,.hr-guide p,.hr-guide dl,.hr-guide dd{ margin:0; }
.hr-guide .hr-section>h3{ font-size:32px; line-height:1.4; font-weight:650; color:#121212; margin-bottom:32px; }
.hr-guide .hr-flow{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px; margin:0; padding:0; list-style:none; }
.hr-guide .hr-flow>li{ position:relative; text-align:center; padding:0; margin:0; }
.hr-guide .hr-step{ display:block; font-size:13px; font-weight:650; color:#0168b7; letter-spacing:-.03em; margin:0 0 6px; }
.hr-guide .hr-flow-icon{ display:flex; align-items:center; justify-content:center; margin:0 auto 20px; background:#f2f9fd; width:128px; height:128px; border-radius:50%; }
.hr-guide .hr-flow-icon img{ width:80px; height:80px; }
.hr-guide .hr-flow>li:not(:last-child):after{ content:""; position:absolute; right:-22px; top:59px; width:10px; height:10px; border-top:2px solid #a6c7d9; border-right:2px solid #a6c7d9; transform:rotate(45deg); }
.hr-guide .hr-flow h4{ font-size:23px; font-weight:600; line-height:1.4; letter-spacing:-.03em; color:#121212; margin-bottom:10px; }
.hr-guide .hr-flow p{ font-size:17px; line-height:1.7; word-break:keep-all; }
.hr-guide .hr-contact{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:38px 48px; margin:64px 0 150px; background:#f4f4f4; border:0; border-radius:16px; }
.hr-guide .hr-contact h3{ color:#121212; font-size:25px; font-weight:650; margin-bottom:10px; }
.hr-guide .hr-contact p{ font-size:17px; color:#505050; margin-bottom:4px; }
.hr-guide .hr-contact-main>a{ font-size:38px; line-height:1.4; font-weight:650; letter-spacing:-.025em; color:#0168b7; text-decoration:none; }
.hr-guide .hr-hours{ border-left:1px solid #ddd; padding-left:48px; }
.hr-guide .hr-hours h4{ font-size:20px; font-weight:600; color:#121212; margin-bottom:14px; }
.hr-guide .hr-hours dl{ display:grid; gap:3px; }
.hr-guide .hr-hours dl>div{ display:flex; gap:30px; font-size:18px; }
.hr-guide .hr-hours dt{ width:54px; color:#686868; }
.hr-guide .hr-hours dd{ font-weight:550; color:#303840; font-variant-numeric:tabular-nums; }
.hr-guide .hr-types{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.hr-guide .hr-type{ display:flex; flex-direction:column; align-items:flex-start; padding:50px 30px; border:1px solid #ddd; border-radius:16px; background:#fff; }
.hr-guide .hr-type h4{ font-size:28px; color:#121212; line-height:1.4; font-weight:600; margin-bottom:14px; }
.hr-guide .hr-type p{ font-size:18px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; margin-bottom:70px; }
.hr-guide .hr-reserve-btn{ display:flex; justify-content:space-between; align-items:center; gap:14px; width:100%; margin-top:auto; padding:14px 18px; background:#fff; border:1px solid #121212; color:#121212; border-radius:8px; font:500 16px/1.5 var(--font-primary,sans-serif); cursor:pointer; transition:background .2s,border-color .2s,color .2s; white-space:nowrap; text-decoration:none; }
.hr-guide .hr-reserve-btn span{ font-size:22px; line-height:1; color:inherit; }
.hr-guide .hr-reserve-btn:hover{ background:var(--color-main,#5ed1ff); border-color:var(--color-main,#5ed1ff); color:#fff; }
.hr-guide button:focus-visible,.hr-guide a:focus-visible{ outline:3px solid #5ed1ff; outline-offset:4px; }
@media(max-width:1100px){
	.hr-guide .hr-flow{ gap:20px; }
	.hr-guide .hr-flow h4{ font-size:21px; }
	.hr-guide .hr-flow p{ font-size:16px; }
	.hr-guide .hr-flow>li:not(:last-child):after{ right:-12px; }
	.hr-guide .hr-types{ gap:16px; }
	.hr-guide .hr-type{ padding:50px 22px; }
	.hr-guide .hr-contact{ padding:32px; }
	.hr-guide .hr-hours{ padding-left:32px; }
	.hr-guide .hr-contact-main>a{ font-size:32px; }
}
@media(max-width:800px){
	.hr-guide .hr-flow{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
	.hr-guide .hr-flow>li:after{ display:none; }
	.hr-guide .hr-types{ grid-template-columns:1fr; gap:20px; }
	.hr-guide .hr-type{ display:flex; flex-direction:column; align-items:flex-start; }
	.hr-guide .hr-type h4{ font-size:25px; }
	.hr-guide .hr-type p{ font-size:17px; }
	.hr-guide .hr-reserve-btn{ margin-top:6px; }
	.hr-guide .hr-contact{ gap:28px; grid-template-columns:1fr; }
	.hr-guide .hr-hours{ border-left:0; border-top:1px solid #ddd; padding:22px 0 0; }
	.hr-guide .hr-section>h3{ font-size:28px; }
}
@media(max-width:500px){
	.hr-guide .hr-flow{ gap:26px 14px; }
	.hr-guide .hr-flow-icon{ width:92px; height:92px; margin:12px auto 16px; }
	.hr-guide .hr-flow-icon img{ width:62px; height:62px; }
	.hr-guide .hr-flow h4{ font-size:18px; }
	.hr-guide .hr-flow p{ font-size:14px; }
	.hr-guide .hr-flow p br{ display:none; }
	.hr-guide .hr-step{ font-size:11px; }
	.hr-guide .hr-contact{ padding:24px; margin:40px 0 150px; }
	.hr-guide .hr-contact-main>a{ font-size:29px; }
	.hr-guide .hr-contact p{ font-size:15px; }
	.hr-guide .hr-hours dl>div{ font-size:16px; gap:16px; }
	.hr-guide .hr-type{ padding:50px 20px; }
	.hr-guide .hr-type h4{ font-size:24px; }
	.hr-guide .hr-type p{ font-size:16px; }
	.hr-guide .hr-reserve-btn{ font-size:15px; }
	.hr-guide .hr-section>h3{ font-size:26px; margin-bottom:24px; }
}
@media(prefers-reduced-motion:reduce){
	.hr-guide .hr-reserve-btn{ transition:none; }
}
/* Scoped exclusively to the NHIS package body. */
.hnp-package{ --hnp-blue:#0168b7; --hnp-sky:#5ed1ff; font-family:var(--font-primary,"Wanted Sans",sans-serif); color:#121212; letter-spacing:-.035em; scroll-margin-top:110px; width:100%; min-width:0; }
*{ box-sizing:border-box; }
.hnp-heading{ margin:0 0 40px; }
.hnp-heading p{ font-size:18px; line-height:1.5; color:var(--hnp-blue); font-weight:600; margin:0 0 10px; }
.hnp-heading h3{ font-size:40px; line-height:1.3; font-weight:650; margin:0; }
.hnp-tabs{ display:grid; grid-template-columns:repeat(11,minmax(0,1fr)); gap:0; border:1px solid #dce6ec; border-radius:16px; background:#fff; overflow:hidden; margin:0 0 56px; }
.hnp-tab{ appearance:none; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:14px; min-width:0; min-height:142px; padding:24px 4px 22px; background:#fff; border:0; border-right:1px solid #e8eef2; border-bottom:4px solid transparent; border-radius:0; font:600 19px/1.4 var(--font-primary,sans-serif); letter-spacing:-.04em; color:#505050; cursor:pointer; }
.hnp-tab:last-child{ border-right:0; }
.hnp-tab img{ width:52px; height:52px; display:block; }
.hnp-tab[aria-selected="true"]{ background:#edf8fe; color:var(--hnp-blue); border-bottom-color:var(--hnp-blue); }
.hnp-tab:focus-visible{ outline:3px solid var(--hnp-blue); outline-offset:-5px; }
.hnp-panel[hidden]{ display:none!important; }
.hnp-panel:focus-visible{ outline:2px solid var(--hnp-sky); outline-offset:6px; }
.hnp-panel-head{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.hnp-panel-head>div{ display:flex; align-items:center; gap:18px; }
.hnp-index{ display:none; }
h4{ margin:0; font-size:32px; line-height:1.35; font-weight:650; }
.hnp-intro{ background:#f5f9fc; border-left:3px solid var(--hnp-sky); padding:24px 28px; font-size:20px; line-height:1.8; color:#505050; word-break:keep-all; overflow-wrap:anywhere; margin:0 0 32px; }
.hnp-table{ width:100%; overflow-x:auto; }
.hnp-col-cost{ width:160px; }
.hnp-desc-bullets{ display:block; margin-top:12px; }
.hnp-desc-warn{ display:flex; align-items:center; gap:8px; margin-top:6px; }
.hnp-desc-warn:before{ content:"!"; flex:none; display:flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; background:#e85d4c; color:#fff; font-size:11px; font-weight:700; line-height:1; }
.hnp-cost{ text-align:center; white-space:nowrap; color:var(--hnp-blue); }
.hnp-cost strong{ font-weight:600; margin-right:3px; font-variant-numeric:tabular-nums; }
.hnp-sr{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); }
@media(max-width:1200px){
	.hnp-tabs{ grid-template-columns:repeat(6,minmax(0,1fr)); }
	.hnp-tab{ border-bottom-width:3px; min-height:128px; padding:18px 4px; }
	.hnp-tab:nth-child(-n+6):not([aria-selected="true"]){ border-bottom-color:#e8eef2; }
	.hnp-tab:nth-child(6){ border-right:0; }
	.hnp-col-name{ width:28%; }
	.hnp-col-cost{ width:15%; }
}
@media(max-width:700px){
	.hnp-heading h3{ font-size:29px; }
	.hnp-heading{ margin-bottom:28px; }
	.hnp-tabs{ grid-template-columns:repeat(4,minmax(0,1fr)); border-radius:12px; margin-bottom:36px; }
	.hnp-tab{ min-height:102px; font-size:16px; gap:8px; padding:14px 3px; }
	.hnp-tab img{ width:40px; height:40px; }
	.hnp-tab:nth-child(6){ border-right:1px solid #e8eef2; }
	.hnp-tab:nth-child(4n){ border-right:0; }
	.hnp-tab:nth-child(-n+8):not([aria-selected="true"]){ border-bottom-color:#e8eef2; }
	h4{ font-size:27px; }
	.hnp-panel-head>div{ gap:12px; }
	.hnp-intro{ padding:20px; font-size:18px; margin-bottom:24px; }
}
@media(max-width:360px){
	.hnp-tabs{ grid-template-columns:repeat(3,minmax(0,1fr)); }
	.hnp-tab{ border-right:1px solid #e8eef2!important; }
	.hnp-tab:nth-child(3n){ border-right:0!important; }
}
/* Bulleted introductions and source-matched reservation legend. */
ul.hnp-intro{ list-style:none; padding:26px 30px; margin:0 0 24px; }
.hnp-intro li{ position:relative; padding-left:15px; margin:0; font-size:inherit; line-height:1.8; }
.hnp-intro li+li{ margin-top:10px; }
.hnp-intro li:before{ content:""; position:absolute; left:0; top:.72em; width:5px; height:5px; border-radius:50%; background:#cccccc; transform:translateY(-50%); }
.hnp-legend{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; background:#fff; border:1px solid #dce5ec; border-radius:16px; padding:18px 22px; margin:0 0 20px; font-size:16px; line-height:1.6; color:#121212; }
.hnp-legend>span{ display:flex; align-items:center; gap:9px; }
.hnp-swatch{ flex:none; width:15px; height:15px; border:1px solid #b6c0ca; background:#fff; }
.hnp-swatch-reserved{ background:#edf5ff; border-color:#b8cee9; }
tbody tr.hnp-reserved{ background:#edf5ff; }
tbody tr.hnp-same-day{ background:#fff; }
.hnp-reserve{ display:flex; justify-content:center; margin-top:56px; }
@media(max-width:700px){
	ul.hnp-intro{ padding:20px; }
	.hnp-legend{ padding:16px; font-size:14px; gap:10px; }
	.hnp-reserve{ margin-top:40px; }
}
/* 검진절차 — 본문 전용 (.hp-process 스코프) */
.hp-process{ --hp-blue: #0168b7; --hp-sky: #5ed1ff; font-family: var(--font-primary, "Wanted Sans", sans-serif); color: #505050; letter-spacing: -0.03em; }
.hp-process *{ box-sizing: border-box; }
.hp-process .hp-list{ margin: 0; padding: 0; list-style: none; }
.hp-process .hp-step{ position: relative; display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 64px; align-items: center; margin: 0; padding: 44px 40px; border-bottom: 1px solid #ddd; }
.hp-process .hp-step:first-child{ padding-top: 0; }
.hp-process .hp-step:last-child{ border-bottom: 0; padding-bottom: 0; }
.hp-process .hp-icon{ position: relative; display: flex; align-items: center; justify-content: center; width: 168px; height: 168px; border-radius: 50%; background: #f0f9fd; border: 1px solid #d7effa; }
.hp-process .hp-icon img{ display: block; width: 104px; height: 104px; }
.hp-process .hp-step-label{ display: block; color: var(--hp-blue); font-size: 14px; font-weight: 650; letter-spacing: -0.03em; line-height: 1.5; margin: 0 0 8px; }
.hp-process .hp-content h3{ margin: 0 0 16px; font-size: 30px; line-height: 1.3; font-weight: 650; letter-spacing: -0.035em; color: #121212; }
.hp-process .hp-content p{ margin: 0; word-break: keep-all; overflow-wrap: anywhere; font-size: 18px; line-height: 1.7; letter-spacing: -0.03em; }
.hp-process .hp-content .hp-lead{ font-size: 20px; color: #121212; font-weight: 500; }
.hp-process .hp-content .hp-desc{ margin-top: 5px; color: #686868; }
.hp-process .hp-button{ display: inline-flex; gap: 24px; align-items: center; justify-content: center; margin-top: 20px; padding: 12px 20px; min-height: 48px; border: 1px solid #121212; border-radius: 8px; color: #121212; background: #fff; font-size: 16px; line-height: 1.5; font-weight: 600; text-decoration: none; transition: background 0.2s, color 0.2s, border-color 0.2s; }
.hp-process .hp-button span{ font-size: 22px; line-height: 1; }
.hp-process .hp-button:hover{ background: var(--color-main); border-color: var(--color-main); color: #fff; }
.hp-process .hp-button:focus-visible{ outline: 3px solid #5ed1ff; outline-offset: 4px; }
.hp-process .hp-content .hp-followup{ margin-top: 14px; color: #0168b7; font-size: 17px; font-weight: 500; }
@media (max-width: 1100px){
	.hp-process .hp-step{ gap: 40px; padding: 38px 0; grid-template-columns: 150px minmax(0, 1fr); }
	.hp-process .hp-icon{ width: 144px; height: 144px; }
	.hp-process .hp-content h3{ font-size: 27px; }
}
@media (max-width: 700px){
	.hp-process .hp-step{ grid-template-columns: 64px minmax(0, 1fr); column-gap: 16px; row-gap: 8px; align-items: start; padding: 32px 0; }
	.hp-process .hp-icon{ grid-column: 1; grid-row: 1 / span 2; width: 64px; height: 64px; margin: 0; }
	.hp-process .hp-icon img{ width: 48px; height: 48px; }
	.hp-process .hp-content{ display: contents; }
	.hp-process .hp-step-label{ grid-column: 2; align-self: end; font-size: 11px; margin: 2px 0 0; }
	.hp-process .hp-content h3{ grid-column: 2; font-size: 23px; margin: 0 0 12px; }
	.hp-process .hp-content p, .hp-process .hp-button{ grid-column: 1 / -1; }
	.hp-process .hp-content .hp-lead{ font-size: 17px; margin-top: 8px; }
	.hp-process .hp-content .hp-desc{ font-size: 15px; margin-top: 0; }
	.hp-process .hp-button{ justify-self: start; display: inline-flex; flex-wrap: nowrap; gap: 14px; font-size: 14px; padding: 10px 12px; margin-top: 8px; }
	.hp-process .hp-content .hp-followup{ font-size: 15px; }
}
@media (max-width: 420px){
	.hp-process .hp-step{ grid-template-columns: 64px minmax(0, 1fr); gap: 14px; }
	.hp-process .hp-icon{ width: 64px; height: 64px; }
	.hp-process .hp-icon img{ width: 48px; height: 48px; }
	.hp-process .hp-button{ display: inline-flex; justify-content: space-between; gap: 5px; }
}
@media (prefers-reduced-motion: reduce){
	.hp-process .hp-button{ transition: none; }
}
/* Page body only: questionnaire banner. */
.hq-questionnaire{ position:relative; isolation:isolate; overflow:hidden; width:100%; min-width:0; scroll-margin-top:110px; min-height:420px; aspect-ratio:3/1; border-radius:20px; background:#edf8fd; font-family:var(--font-primary,"Wanted Sans",sans-serif); letter-spacing:-.035em; color:#121212; }
.hq-questionnaire *{ box-sizing:border-box; }
.hq-questionnaire .hq-art{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-1; }
.hq-questionnaire .hq-content{ position:relative; display:flex; flex-direction:column; justify-content:center; min-height:420px; height:100%; padding:60px clamp(32px,4vw,68px); width:66%; }
.hq-questionnaire .hq-label{ margin:0 0 5px; color:#0168b7; font-size:18px; font-weight:600; line-height:1.5; }
.hq-questionnaire h3{ margin:0 0 14px; font-size:clamp(30px,2.9vw,46px); font-weight:650; line-height:1.3; letter-spacing:-.045em; word-break:keep-all; }
.hq-questionnaire .hq-description{ margin:0 0 30px; font-size:18px; line-height:1.65; color:#505050; word-break:keep-all; }
.hq-questionnaire .hq-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.hq-questionnaire .hq-button{ display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:60px; padding:16px 22px; border:1px solid #0168b7; border-radius:8px; background:#0168b7; color:#fff; font:600 17px/1.5 var(--font-primary,sans-serif); letter-spacing:-.035em; cursor:pointer; white-space:nowrap; transition:none; }
.hq-questionnaire .hq-button span{ font-size:22px; line-height:1; font-weight:400; }
.hq-questionnaire .hq-secondary{ color:#fff; background:#087f83; border-color:#087f83; }
.hq-questionnaire .hq-button:focus-visible{ outline:3px solid #0168b7; outline-offset:4px; }
@media(min-width:1500px){
	.hq-questionnaire .hq-content{ min-height:initial; position:absolute; inset:0; }
}
@media(max-width:1000px){
	.hq-questionnaire .hq-content{ width:65%; padding:40px 32px; }
	.hq-questionnaire .hq-actions{ flex-direction:column; align-items:flex-start; }
	.hq-questionnaire .hq-button{ min-width:260px; }
	.hq-questionnaire .hq-art{ object-position:60% center; }
}
@media(max-width:600px){
	.hq-questionnaire{ aspect-ratio:auto; min-height:600px; border-radius:14px; }
	.hq-questionnaire .hq-content{ min-height:0; width:100%; height:auto; padding:34px 24px 320px; justify-content:flex-start; }
	.hq-questionnaire .hq-label{ font-size:18px; margin-bottom:2px; }
	.hq-questionnaire h3{ font-size:28px; margin-bottom:14px; }
	.hq-questionnaire .hq-description{ font-size:16px; margin-bottom:24px; }
	.hq-questionnaire .hq-actions{ gap:10px; align-items:stretch; }
	.hq-questionnaire .hq-button{ width:100%; min-width:0; min-height:56px; font-size:16px; padding:14px 18px; }
	.hq-questionnaire .hq-art{ inset:auto 0 0; height:300px; object-fit:cover; object-position:right bottom; width:100%; }
}
@media(prefers-reduced-motion:reduce){
	.hq-questionnaire .hq-button{ transition:none; }
}
.rsv-form .input-full{ width: 100%; }
.rsv-form .form-hint{ margin: 12px 0 0; font-size: 16px; line-height: 1.5; color: #767676; }
.rsv-form .form-reset-type{ display: inline-flex; align-items: center; height: 36px; margin-left: 4px; padding: 0 14px; border: 1px solid #ddd; border-radius: 4px; background: #fff; color: #505050; font-size: 16px; letter-spacing: -0.03em; cursor: pointer; }
.rsv-form .form-reset-type:hover{ border-color: #0168b7; color: #0168b7; }
.sub-content-box .sub-article form.rsv-form table{ font-size: 18px; line-height: 1.6em; }
.sub-content-box .sub-article form.rsv-form table th, .sub-content-box .sub-article form.rsv-form table td{ padding: 18px 24px; }
.sub-content-box .sub-article form.rsv-form table :is(th, td, label){ font-size: 18px; line-height: 1.6em; }
.sub-content-box .sub-article form.rsv-form .radiobox label{ font-size: 18px; }
.sub-content-box .sub-article form.rsv-form :is(.input, textarea){ font-size: 17px; line-height: 1.55em; }
.sub-content-box .sub-article form.rsv-form .input{ height: 52px; padding: 8px 18px; }
.sub-content-box .sub-article form.rsv-form textarea, .sub-content-box .sub-article form.rsv-form textarea.input{ height: auto; min-height: 140px; padding: 16px 18px; }
.sub-content-box .sub-article form.rsv-form td.editor{ padding: 20px 24px; }
.sub-content-box .sub-article form.rsv-form .captcha-wrap{ height: 52px; gap: 12px; }
.sub-content-box .sub-article form.rsv-form .captcha-wrap .input{ width: 200px; }
.sub-content-box .sub-article form.rsv-form table th .form-required::after{ font-size: 18px; }
.sub-content-box .sub-article form.rsv-form table th label, .sub-content-box .sub-article form.rsv-form .form-keep{ white-space: nowrap; }
.sub-content-box .sub-article form.rsv-form .form-required{ display: inline; white-space: nowrap; }
@media (max-width: 700px){
	.sub-content-box .sub-article form.rsv-form table th label, .sub-content-box .sub-article form.rsv-form .form-keep{ white-space: normal; }
}
.rsv-modal{ display: none; position: fixed; inset: 0; z-index: 2000; align-items: center; justify-content: center; background: rgba(18, 18, 18, 0.45); }
.rsv-modal.on{ display: flex; }
.rsv-modal-box{ width: min(420px, calc(100% - 40px)); padding: 36px 32px 28px; background: #fff; border-radius: 16px; text-align: center; }
.rsv-modal-box p{ margin: 0 0 24px; font-size: 18px; line-height: 1.6; letter-spacing: -0.03em; color: #121212; }
.rsv-modal-box .btn-pack{ min-width: 96px; }

/* 특정 사업장 예약 — 서브비주얼 없음 · 헤더는 스크롤 상태와 동일 */

body:not(.sub-visual) #container{ padding-top:var(--header-height); }
body:not(.sub-visual) #header.site-header{ background: #fff; box-shadow: 0 1px 0 rgba(18, 18, 18, 0.08); }
body:not(.sub-visual) #header .logo .logo-light{ display: none; }
body:not(.sub-visual) #header .logo .logo-dark{ display: block; }
body:not(.sub-visual) #header #gnb > ul > li > a{ color: #121212; }
body:not(.sub-visual) #header .location-pill{ color: var(--color-body, #121212); }
body:not(.sub-visual) #header .btn-m-menu span{ background: #121212; }
/* 특정 사업장 예약 — 본문 전용 (다른 서브페이지 톤) */
.wp-workplace{ --wp-blue: #0168b7; --wp-sky: #5ed1ff; --wp-ink: #121212; --wp-body: #505050; --wp-line: #dddddd; --wp-soft: #f2f9fd; --wp-gray: #f7f9fb; color: var(--wp-body); font-family: var(--font-primary, "Wanted Sans", sans-serif); font-size: 20px; line-height: 1.75; letter-spacing: -0.03em; }
.wp-workplace *{ box-sizing: border-box; }
.wp-workplace .wp-page-head{ margin: 0 0 100px; text-align: center; }
.wp-workplace .wp-page-title{ margin: 0 0 16px; font-size: 72px; font-weight: 700; line-height: 1.3; letter-spacing: -0.03em; color: var(--wp-ink); }
@media (max-width: 1200px){
	.wp-workplace .wp-page-title{ font-size: clamp(40px, 6vw, 72px); }
}
.wp-workplace .wp-lead{ margin: 0 auto; max-width: 800px; font-size: 20px; line-height: 1.7; color: var(--wp-body); word-break: keep-all; }
.wp-workplace .wp-sec{ padding: 64px 0; border-top: 1px solid var(--wp-line); }
.wp-workplace .wp-sec:first-of-type{ padding-top: 0; border-top: 0; }
.wp-workplace .wp-sec:last-of-type{ padding-bottom: 0; }
.wp-workplace .wp-sec-head{ display: block; margin-bottom: 40px; }
.wp-workplace .wp-num{ display: block; margin-bottom: 14px; font-family: var(--font-primary); font-size: clamp(32px, 3.5vw, 42px); font-weight: 700; line-height: 1; letter-spacing: -0.02em; color: var(--color-sub, var(--wp-blue)); }
.wp-workplace .wp-sec-head h3{ margin: 0; font-size: 32px; font-weight: 650; line-height: 1.4; letter-spacing: -0.04em; color: var(--wp-ink); word-break: keep-all; }
.wp-workplace .wp-sec-head p{ margin: 10px 0 0; font-size: 18px; line-height: 1.7; color: var(--wp-body); word-break: keep-all; }
.wp-workplace .wp-fg{ margin-bottom: 28px; }
.wp-workplace .wp-fg:last-child{ margin-bottom: 0; }
.wp-workplace .wp-fg2{ display: grid; grid-template-columns: 1fr 1fr; gap: 28px 24px; }
.wp-workplace .wp-label{ display: block; margin-bottom: 10px; font-size: 18px; font-weight: 650; letter-spacing: -0.03em; color: var(--wp-ink); }
.wp-workplace .wp-req{ color: #e11d48; margin-left: 2px; }
.wp-workplace .wp-input{ width: 100%; min-height: 60px; padding: 16px 20px; border: 1px solid var(--wp-line); border-radius: 8px; background: #fff; color: var(--wp-ink); font-family: inherit; font-size: 18px; letter-spacing: -0.03em; }
.wp-workplace .wp-input:focus{ outline: none; border-color: var(--wp-blue); box-shadow: 0 0 0 3px rgba(1, 104, 183, 0.12); }
.wp-workplace textarea.wp-input{ min-height: 140px; resize: vertical; line-height: 1.7; }
.wp-workplace .wp-hint{ margin-top: 12px; font-size: 16px; line-height: 1.6; color: #686868; }
.wp-workplace .wp-addr{ display: flex; gap: 10px; }
.wp-workplace .wp-addr .wp-input{ flex: 1; }
.wp-workplace .wp-addr-detail{ margin-top: 10px; }
.wp-workplace .wp-btn{ display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: 0 24px; border: 1px solid #121212; border-radius: 8px; background: #fff; color: #121212; font-family: inherit; font-size: 17px; font-weight: 600; letter-spacing: -0.03em; cursor: pointer; transition: background 0.2s, border-color 0.2s, color 0.2s; }
.wp-workplace .wp-btn:hover{ background: var(--wp-sky); border-color: var(--wp-sky); color: #fff; }
.wp-workplace .wp-btn-p{ background: var(--wp-blue); border-color: var(--wp-blue); color: #fff; }
.wp-workplace .wp-btn-p:hover{ background: #01569a; border-color: #01569a; color: #fff; }
.wp-workplace .wp-admin{ display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; padding: 22px 28px; border: 0; border-radius: 16px; background: var(--wp-soft); font-size: 17px; color: var(--wp-body); line-height: 1.7; word-break: keep-all; }
.wp-workplace .wp-admin label{ display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 16px; font-weight: 650; color: var(--wp-blue); cursor: pointer; }
.wp-workplace .wp-admin-panel{ display: none; margin-bottom: 20px; padding: 24px 28px; border: 1px solid #d7effa; border-radius: 16px; background: #fff; }
.wp-workplace .wp-admin-panel.on{ display: block; }
.wp-workplace .wp-admin-row{ display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.wp-workplace .wp-admin-row + .wp-admin-row{ margin-top: 12px; }
.wp-workplace .wp-admin-row .wp-input{ flex: 1; min-width: 140px; min-height: 52px; font-size: 16px; }
.wp-workplace .wp-admin-list{ display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.wp-workplace .wp-admin-item{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border: 1px solid var(--wp-line); border-radius: 8px; background: #fff; font-size: 16px; }
.wp-workplace .wp-admin-item button{ border: 0; background: transparent; color: var(--wp-blue); font-size: 16px; font-weight: 650; cursor: pointer; }
.wp-workplace .wp-exam-list{ display: flex; flex-direction: column; gap: 16px; }
.wp-workplace .wp-exam-card{ overflow: visible; border: 1px solid var(--wp-line); border-radius: 16px; background: #fff; }
.wp-workplace .wp-exam-card.on{ border-color: var(--wp-blue); background: var(--wp-soft); }
.wp-workplace .wp-exam-main{ display: flex; align-items: flex-start; gap: 16px; padding: 28px 32px; cursor: pointer; }
.wp-workplace .wp-exam-main input, .wp-workplace .wp-exam-sub-item input{ width: 20px; height: 20px; margin-top: 4px; accent-color: var(--wp-blue); }
.wp-workplace .wp-exam-title{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 23px; font-weight: 650; line-height: 1.4; color: var(--wp-ink); }
.wp-workplace .wp-exam-desc{ margin-top: 8px; font-size: 17px; line-height: 1.7; color: var(--wp-body); word-break: keep-all; }
.wp-workplace .wp-exam-sub{ padding: 0 32px 24px 68px; }
.wp-workplace .wp-exam-sub-item{ display: flex; align-items: flex-start; gap: 12px; margin-top: 10px; padding: 18px 20px; border: 1px solid var(--wp-line); border-radius: 12px; background: #fff; }
.wp-workplace .wp-exam-sub-item strong{ display: block; font-size: 18px; font-weight: 650; color: var(--wp-ink); }
.wp-workplace .wp-exam-sub-item p{ margin: 6px 0 0; font-size: 16px; line-height: 1.65; color: var(--wp-body); }
.wp-workplace .wp-age{ display: inline-block; padding: 3px 8px; border-radius: 4px; background: #e8f6fd; color: var(--wp-blue); font-size: 13px; font-weight: 650; }
.wp-workplace .wp-qtip{ display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border: 1px solid var(--wp-line); border-radius: 50%; background: #fff; color: #686868; font-size: 12px; font-weight: 700; cursor: help; }
.wp-workplace .wp-qtip:hover{ background: var(--wp-blue); border-color: var(--wp-blue); color: #fff; }
.wp-workplace .wp-cal-wrap{ display: grid; grid-template-columns: minmax(0, 640px) minmax(0, 1fr); gap: 60px; align-items: start; }
.wp-workplace .wp-cal{ overflow: hidden; border: 1px solid var(--wp-line); border-radius: 16px; }
.wp-workplace .wp-cal-head{ display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; background: var(--wp-soft); border-bottom: 1px solid var(--wp-line); }
.wp-workplace .wp-cal-head strong{ font-size: 22px; font-weight: 650; color: var(--wp-ink); }
.wp-workplace .wp-cal-nav button{ width: 40px; height: 40px; border: 1px solid var(--wp-line); border-radius: 8px; background: #fff; color: var(--wp-ink); font-size: 20px; cursor: pointer; }
.wp-workplace .wp-cal-grid{ display: grid; grid-template-columns: repeat(7, 1fr); padding: 16px; gap: 4px; }
.wp-workplace .wp-cal-dow, .wp-workplace .wp-cal-day{ min-height: 52px; border: 0; background: transparent; font-size: 16px; }
.wp-workplace .wp-cal-dow{ padding: 8px 0; color: #686868; font-size: 14px; font-weight: 650; text-align: center; }
.wp-workplace .wp-cal-dow.sun, .wp-workplace .wp-cal-day.sun{ color: #e11d48; }
.wp-workplace .wp-cal-dow.sat, .wp-workplace .wp-cal-day.sat{ color: #0168b7; }
.wp-workplace .wp-cal-day{ border-radius: 8px; color: var(--wp-ink); cursor: pointer; }
.wp-workplace .wp-cal-day:hover:not(:disabled):not(.off):not(.closed){ background: var(--wp-soft); }
.wp-workplace .wp-cal-day.off{ color: #d1d5db; cursor: default; }
.wp-workplace .wp-cal-day.closed{ background: #f4f4f4; color: #9ca3af; text-decoration: line-through; cursor: not-allowed; }
.wp-workplace .wp-cal-day.sel{ background: var(--wp-blue); color: #fff; }
.wp-workplace .wp-cal-day.today:not(.sel){ box-shadow: inset 0 0 0 1px var(--wp-blue); }
.wp-workplace.admin-on .wp-cal-day.closed{ background: #ffe8e8; color: #b91c1c; text-decoration: none; }
.wp-workplace .wp-time{ width: 100%; min-width: 0; }
.wp-workplace .wp-time h4{ margin: 0 0 14px; font-size: 20px; font-weight: 650; color: var(--wp-ink); }
.wp-workplace .wp-time-list{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.wp-workplace .wp-time-list .wp-hint{ grid-column: 1 / -1; }
.wp-workplace .wp-time-btn{ width: 100%; min-height: 52px; padding: 12px 18px; border: 1px solid var(--wp-line); border-radius: 8px; background: #fff; color: var(--wp-body); font-family: inherit; font-size: 17px; text-align: center; cursor: pointer; }
.wp-workplace .wp-time-btn:hover:not(:disabled){ background: var(--wp-soft); border-color: var(--wp-blue); }
.wp-workplace .wp-time-btn.on{ background: var(--wp-blue); border-color: var(--wp-blue); color: #fff; }
.wp-workplace .wp-time-btn:disabled{ background: #f4f4f4; color: #9ca3af; cursor: not-allowed; }
.wp-workplace .wp-summary{ margin-top: 24px; padding: 22px 28px; border-radius: 16px; background: var(--wp-soft); color: var(--wp-ink); font-size: 18px; font-weight: 550; }
.wp-workplace .wp-legend{ display: flex; gap: 20px; margin-top: 14px; font-size: 15px; color: #686868; }
.wp-workplace .wp-legend i{ display: inline-block; width: 12px; height: 12px; margin-right: 6px; border-radius: 3px; vertical-align: middle; }
.wp-workplace .wp-legend .l-ok{ background: var(--wp-blue); }
.wp-workplace .wp-legend .l-off{ background: #f4f4f4; border: 1px solid #ddd; }
.wp-workplace .wp-legend .l-closed{ background: #ffe8e8; }
.wp-workplace .wp-agree{ padding: 36px 40px; border: 0; border-radius: 16px; background: var(--wp-gray); }
.wp-workplace .wp-agree-row{ display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 650; color: var(--wp-ink); cursor: pointer; }
.wp-workplace .wp-agree-row input{ width: 20px; height: 20px; accent-color: var(--wp-blue); }
.wp-workplace .wp-privacy{ width: 100%; margin-top: 22px; border-collapse: collapse; font-size: 16px; }
.wp-workplace .wp-privacy th, .wp-workplace .wp-privacy td{ padding: 16px 18px; border: 1px solid var(--wp-line); background: #fff; text-align: center; color: var(--wp-body); line-height: 1.65; word-break: keep-all; }
.wp-workplace .wp-privacy th{ background: var(--wp-soft); color: var(--wp-ink); font-weight: 650; }
.wp-workplace .wp-agree-txt{ max-height: 140px; overflow: auto; margin-top: 18px; padding: 18px 20px; border: 1px solid var(--wp-line); border-radius: 8px; background: #fff; font-size: 16px; line-height: 1.7; color: #686868; }
.wp-workplace .wp-actions{ display: flex; justify-content: center; gap: 12px; margin-top: 80px; margin-bottom: 40px; }
.wp-workplace .wp-actions .wp-btn{ flex: 0 1 280px; min-width: 200px; }
.wp-modal .wp-actions{ display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.wp-modal{ display: none; position: fixed; inset: 0; z-index: 80; align-items: center; justify-content: center; padding: 24px; background: rgba(3, 14, 28, 0.45); }
.wp-modal.on{ display: flex; }
.wp-modal-box{ width: 100%; max-width: 560px; max-height: 80vh; overflow: auto; padding: 36px 32px; border-radius: 16px; background: #fff; }
.wp-modal-box h3{ margin: 0 0 12px; font-size: 26px; font-weight: 650; letter-spacing: -0.03em; color: var(--wp-ink); }
.wp-modal-box p{ margin: 0 0 18px; font-size: 17px; color: var(--wp-body); line-height: 1.7; }
.wp-modal-box .wp-addr{ margin-bottom: 8px; }
.wp-modal .wp-input{ width: 100%; min-height: 60px; padding: 16px 20px; border: 1px solid #dddddd; border-radius: 8px; background: #fff; color: #121212; font-size: 18px; }
.wp-modal .wp-addr{ display: flex; gap: 10px; }
.wp-modal .wp-btn{ display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 24px; border: 1px solid #121212; border-radius: 8px; background: #fff; color: #121212; font-size: 17px; font-weight: 600; cursor: pointer; }
.wp-modal .wp-btn-p{ background: #0168b7; border-color: #0168b7; color: #fff; }
.wp-addr-item{ margin-top: 10px; padding: 16px 18px; border: 1px solid #dddddd; border-radius: 8px; cursor: pointer; }
.wp-addr-item:hover{ background: #f2f9fd; border-color: #0168b7; }
.wp-addr-item strong{ display: block; margin-bottom: 4px; font-size: 17px; color: #121212; }
.wp-addr-item span{ font-size: 15px; color: #686868; }
#wpFloatTip{ display: none; position: fixed; z-index: 9999; width: 260px; padding: 14px 16px; border-radius: 8px; background: #030e1c; color: #fff; font-size: 15px; line-height: 1.65; pointer-events: none; }
#wpFloatTip.on{ display: block; }
#wpToast{ display: none; position: fixed; left: 50%; bottom: 28px; z-index: 90; padding: 14px 22px; border-radius: 8px; background: #030e1c; color: #fff; font-size: 16px; transform: translateX(-50%); }
#wpToast.on{ display: block; }
@media (max-width: 800px){
	.wp-workplace .wp-fg2, .wp-workplace .wp-cal-wrap{ grid-template-columns: 1fr; }
	.wp-workplace .wp-time{ width: 100%; }
	.wp-workplace .wp-time-list{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wp-workplace .wp-admin{ flex-direction: column; padding: 20px; }
	.wp-workplace .wp-exam-main{ padding: 22px 20px; }
	.wp-workplace .wp-exam-sub{ padding-left: 20px; padding-right: 20px; }
	.wp-workplace .wp-sec-head h3{ font-size: 26px; }
	.wp-workplace .wp-agree{ padding: 24px 20px; }
	.wp-workplace .wp-actions{ flex-direction: column; }
	.wp-workplace .wp-actions .wp-btn{ flex: 1; width: 100%; }
}
