
:root{--navy:#0f4c81;--navy-deep:#0a3e6b;--blue:#3b82c4;--sky:#77bceb;--light:#e8f2fb;--pale:#f7fbff;--ink:#17354f;--muted:#64798b;--line:#dbe8f3;--white:#fff;--red:#cf5360;--shadow:0 18px 45px rgba(15,76,129,.12);--shadow-soft:0 10px 28px rgba(15,76,129,.08);--radius:22px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#fff;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.container{width:min(var(--max),calc(100% - 54px));margin:0 auto}.skip-link{position:absolute;left:-9999px;top:10px;z-index:9999;background:#fff;padding:8px 12px;border-radius:8px}.skip-link:focus{left:12px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-bottom:1px solid rgba(216,232,244,.92)}.header-inner{height:96px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:13px;flex:0 0 auto}.brand-symbol{width:54px;height:54px;filter:drop-shadow(0 4px 8px rgba(30,115,175,.12))}.brand-type{display:flex;flex-direction:column;line-height:1}.brand-kicker{font-size:8px;letter-spacing:.16em;color:#4e7b9d;margin:0 0 6px;font-weight:700;white-space:nowrap}.brand-type strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:31px;letter-spacing:.13em;color:var(--navy);font-weight:700}.brand-type small{margin-top:8px;font-size:9px;letter-spacing:.34em;color:var(--navy);font-weight:700}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700;color:#385a73;white-space:nowrap}.desktop-nav a{position:relative;padding:36px 0 31px}.desktop-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:22px;height:2px;background:var(--blue);transition:.22s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--navy)}.desktop-nav a:hover:after,.desktop-nav a.active:after{left:0;right:0}.header-phone{display:flex;align-items:center;gap:10px;padding:11px 19px;background:linear-gradient(135deg,var(--navy),#176cae);color:#fff;border-radius:999px;font-size:15px;font-weight:800;letter-spacing:.03em;box-shadow:0 9px 22px rgba(15,76,129,.18)}.header-phone svg{width:18px;height:18px}.menu-button{display:none;margin-left:auto;width:45px;height:45px;border:0;background:transparent;padding:9px;cursor:pointer}.menu-button span{display:block;height:2px;background:var(--navy);margin:6px 0;border-radius:2px}.mobile-menu{background:#fff;border-top:1px solid var(--line);padding:12px 24px 20px;box-shadow:0 16px 40px rgba(15,76,129,.08)}.mobile-menu a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-weight:700}.mobile-menu-phone{color:var(--navy)}
.hero{position:relative;height:610px;overflow:hidden;background:#eef7fd}.hero-photo{position:absolute;inset:0;background:url('../images/hero-clinic-v32-1280.jpg') center 50%/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#f7fbff 0%,rgba(247,251,255,.97) 31%,rgba(247,251,255,.74) 47%,rgba(247,251,255,.13) 69%,rgba(247,251,255,0) 82%)}.hero-deco{position:absolute;border-radius:50%;filter:blur(.1px);opacity:.55}.hero-deco-a{width:280px;height:280px;left:-125px;bottom:-120px;background:radial-gradient(circle at 62% 35%,rgba(129,200,237,.42),rgba(232,246,255,.08) 62%,transparent 64%)}.hero-deco-b{width:190px;height:190px;left:35%;top:-95px;background:radial-gradient(circle,rgba(122,192,235,.25),transparent 70%)}.hero-inner{position:relative;height:100%;z-index:2;display:flex;align-items:center}.hero-copy{width:min(640px,58%);padding:48px 0 44px}.hero-kicker{margin:0 0 10px;color:#4b82aa;font-size:12px;font-weight:800;letter-spacing:.16em}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;margin:0;color:var(--navy-deep);font-size:clamp(42px,4.7vw,66px);line-height:1.25;letter-spacing:.035em;font-weight:700}.hero h1 span{display:inline-block;margin-top:4px}.hero-depts{margin:18px 0 14px;color:#163f65;font-size:22px;font-weight:800;letter-spacing:.13em}.hero-facts{list-style:none;padding:0;margin:0 0 25px;display:flex;flex-wrap:wrap;gap:11px 26px}.hero-facts li{display:flex;align-items:center;gap:9px;color:#194a70;font-size:15px;font-weight:700}.hero-facts svg{width:21px;height:21px;color:#1569a8}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:11px 21px;border-radius:11px;font-size:14px;font-weight:800;letter-spacing:.02em;transition:.2s ease;border:1.5px solid transparent;box-shadow:none}.btn svg{width:17px;height:17px;flex:0 0 auto}.btn-primary{background:linear-gradient(135deg,var(--navy),#176dae);color:#fff;box-shadow:0 10px 23px rgba(15,76,129,.19)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 27px rgba(15,76,129,.25)}.btn-outline{background:rgba(255,255,255,.95);color:var(--navy);border-color:#93bde0;box-shadow:0 5px 16px rgba(15,76,129,.06)}.btn-outline:hover{transform:translateY(-2px);background:#fff;border-color:var(--blue)}.hero-message{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;margin:26px 0 0 8px;color:#2a78b7;font-size:17px;line-height:1.65;letter-spacing:.04em;transform:none}.hero-badges{position:absolute;right:1.4%;top:42px;display:flex;flex-direction:column;gap:12px}.round-badge{width:122px;height:122px;border-radius:50%;background:rgba(255,255,255,.94);border:1px solid rgba(182,214,237,.8);box-shadow:0 12px 28px rgba(15,76,129,.11);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--navy);line-height:1.4}.round-badge svg{width:23px;height:23px;margin-bottom:5px}.round-badge span{font-size:12px;font-weight:700}.round-badge strong{font-size:17px}.hero-underlay{position:relative;z-index:4;background:#fff;box-shadow:0 -5px 24px rgba(15,76,129,.045)}.hero-underlay-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:30px;align-items:center;padding-top:18px;padding-bottom:18px}.department-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);height:100%}.department-mini{display:flex;align-items:center;justify-content:center;gap:14px;min-height:118px;padding:13px 20px;border-right:1px solid var(--line);color:var(--navy);transition:.2s}.department-mini:last-child{border-right:0}.department-mini:hover{background:#f8fbfe}.department-mini svg{width:45px;height:45px;flex:0 0 auto}.department-mini span{display:flex;flex-direction:column}.department-mini strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px;letter-spacing:.08em}.department-mini small{margin-top:4px;font-size:11px;color:#62798d;line-height:1.45}.hours-compact{border:1px solid var(--line);border-radius:16px;background:#fbfdff;padding:13px 15px;box-shadow:0 9px 22px rgba(15,76,129,.05)}.hours-compact-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.hours-compact-head strong{color:var(--navy);font-size:15px}.hours-compact-head a{color:#4986b5;font-size:11px;font-weight:800}.hours-compact table{width:100%;border-collapse:collapse;text-align:center;font-size:11px;color:#294d6a}.hours-compact th,.hours-compact td{border:1px solid #d8e6f1;padding:4px 5px}.hours-compact thead th{background:#eef6fc;color:#315f82}.hours-compact tbody th{text-align:left;background:#fff;white-space:nowrap}.hours-compact tbody th small{display:block;font-size:9px;color:#6e8293;font-weight:500}.hours-compact td{color:var(--navy);font-size:14px;font-weight:900}.hours-compact .sun{color:var(--red)}.hours-compact p{margin:6px 2px 0;color:#6c8192;font-size:10px}.section{padding:92px 0}.section-soft{background:linear-gradient(180deg,#f8fbfe,#f2f7fb)}.eyebrow{margin:0 0 10px;color:#5b96c2;font-size:11px;letter-spacing:.2em;font-weight:900}.section-heading{text-align:center;max-width:720px;margin:0 auto 40px}.section-heading h2,.director-copy h2,.first-copy h2,.access-card h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--navy);font-size:clamp(30px,3.2vw,45px);line-height:1.38;margin:0 0 13px}.section-heading>p:last-child{margin:0;color:var(--muted)}.section-heading.align-left{text-align:left;margin:0}.department-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.department-card{position:relative;background:#fff;padding:31px 30px 29px;border-radius:19px;border:1px solid #deebf5;box-shadow:var(--shadow-soft);overflow:hidden;transition:.23s}.department-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--navy),var(--sky))}.department-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(15,76,129,.11)}.dept-number{font-family:Georgia,serif;color:#a5c9e4;font-size:28px;letter-spacing:.08em}.department-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:26px;color:var(--navy);margin:7px 0 7px}.department-card p{color:var(--muted);margin:0 0 16px}.department-card a{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-weight:800;font-size:14px}.split-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:center}.hours-notes{display:grid;gap:10px;margin-top:24px}.hours-notes div{padding:14px 16px;background:var(--pale);border-left:3px solid var(--blue);border-radius:7px}.hours-notes small{display:block;color:var(--muted);font-weight:700}.hours-notes strong{color:var(--navy);font-size:15px}.hours-card{border:1px solid var(--line);border-radius:19px;padding:19px;background:#fff;box-shadow:var(--shadow-soft);overflow:auto}.hours-card table{border-collapse:collapse;width:100%;min-width:560px;text-align:center}.hours-card th,.hours-card td{padding:15px 11px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.hours-card th:last-child,.hours-card td:last-child{border-right:0}.hours-card thead th{background:#f1f7fc;color:var(--navy)}.hours-card tbody th{text-align:left;color:var(--navy);background:#fbfdff}.hours-card td{font-size:19px;color:var(--navy);font-weight:900}.hours-card .sun{color:var(--red)}.hours-card small{font-weight:500;color:var(--muted)}.table-note{font-size:12px;color:var(--muted);margin:11px 2px 0}.notice-band{background:linear-gradient(135deg,#0d456f,#0f568b);color:#fff}.notice-grid{display:grid;grid-template-columns:repeat(3,1fr)}.notice-grid>div{padding:25px 27px;border-right:1px solid rgba(255,255,255,.15)}.notice-grid>div:last-child{border-right:0}.notice-grid strong{font-size:15px}.notice-grid p{font-size:12px;opacity:.82;margin:4px 0 0}.director-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center}.director-photo-wrap{position:relative;border-radius:26px;overflow:hidden;background:var(--light);box-shadow:var(--shadow)}.director-photo{width:100%;height:540px;object-fit:cover;object-position:50% 42%}.director-photo-wrap:after{content:"";position:absolute;inset:auto 0 0;height:25%;background:linear-gradient(transparent,rgba(15,76,129,.08))}.director-copy p:not(.eyebrow){color:var(--muted);font-size:15px}.director-name{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column}.director-name small{color:var(--muted)}.director-name strong{font-size:20px;color:var(--navy)}.first-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.first-copy p{color:var(--muted)}.check-list{list-style:none;padding:0;margin:21px 0 28px;display:grid;gap:9px}.check-list li{position:relative;padding-left:33px}.check-list li:before{content:"✓";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--light);color:var(--navy);display:grid;place-items:center;font-weight:900}.photo-stack{display:grid;grid-template-columns:1.15fr .85fr;gap:13px;align-items:stretch}.photo-stack img{height:350px;width:100%;object-fit:cover;border-radius:19px;box-shadow:0 12px 26px rgba(15,76,129,.09)}.access-section{padding-bottom:112px}.access-grid{display:grid;grid-template-columns:.85fr 1.15fr;background:#f6fafe;border-radius:25px;overflow:hidden;box-shadow:var(--shadow)}.access-card{padding:50px}.address{color:var(--muted)}.address strong{color:var(--ink)}.access-list{margin:25px 0}.access-list>div{display:grid;grid-template-columns:66px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.access-list dt{font-weight:800;color:var(--navy)}.access-list dd{margin:0}.access-list a{color:var(--navy);font-weight:800}.access-actions{display:flex;gap:9px;flex-wrap:wrap}.parking-note{font-size:12px;color:var(--muted);margin-top:15px}.access-photo-wrap img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center}.site-footer{background:#0b3e69;color:#fff;padding:47px 0 22px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:28px;align-items:center}.footer-brand .brand-type strong,.footer-brand .brand-type small{color:#fff}.footer-brand .brand-kicker{display:none}.footer-grid p{margin:0;color:#dceaf5}.footer-phone{text-align:right}.footer-phone a{font-size:22px;font-weight:900;color:#fff}.footer-bottom{margin-top:30px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);font-size:11px;color:#adc8dc}.mobile-bottom-bar{display:none}
@media(max-width:1120px){.desktop-nav{gap:15px}.desktop-nav a{font-size:12px}.header-phone{padding:10px 14px}.brand-kicker{display:none}.brand-type strong{font-size:27px}.hero-badges{right:.2%}.round-badge{width:110px;height:110px}}
@media(max-width:980px){.desktop-nav,.header-phone{display:none}.menu-button{display:block}.header-inner{height:80px}.hero{height:560px}.hero-copy{width:64%}.hero-badges{display:none}.hero-underlay-grid{grid-template-columns:1fr}.department-mini{min-height:96px}.split-layout,.director-grid,.first-grid,.access-grid{grid-template-columns:1fr}.department-grid{grid-template-columns:1fr}.director-photo{height:470px}.photo-stack img{height:300px}.access-photo-wrap{order:-1}.access-photo-wrap img{min-height:360px}.notice-grid{grid-template-columns:1fr}.notice-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.notice-grid>div:last-child{border-bottom:0}.footer-grid{grid-template-columns:1fr}.footer-phone{text-align:left}}
@media(max-width:700px){.container{width:min(100% - 26px,var(--max))}.header-inner{height:70px}.brand-symbol{width:39px;height:39px}.brand-type strong{font-size:22px}.brand-type small{font-size:7px;margin-top:6px}.hero{height:auto;padding-bottom:0;background:#fff;display:flex;flex-direction:column}.hero-photo{position:relative;order:0;height:310px;background-image:url('../images/hero-clinic-v32-768.jpg');background-position:center}.hero-overlay{display:none}.hero-deco{display:none}.hero-inner{height:auto;display:block;margin-top:-36px;order:1}.hero-copy{width:100%;padding:24px 21px 25px;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -12px 26px rgba(15,76,129,.08)}.hero-kicker{font-size:10px;margin-bottom:6px}.hero h1{font-size:33px;line-height:1.31}.hero-depts{font-size:17px;margin:13px 0 11px}.hero-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:18px}.hero-facts li{font-size:12px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:#fafdff}.hero-facts svg{width:18px;height:18px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero-actions .btn-primary{grid-column:1/-1}.btn{min-height:48px;padding:10px 13px;font-size:13px;border-radius:10px}.hero-message{display:none}.hero-underlay{box-shadow:none;border-top:1px solid var(--line)}.hero-underlay-grid{padding-top:0;padding-bottom:0;gap:0}.department-mini-grid{margin:0 -13px;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.department-mini{flex-direction:column;gap:5px;min-height:114px;padding:13px 5px;text-align:center}.department-mini svg{width:34px;height:34px}.department-mini strong{font-size:16px}.department-mini small{font-size:9px}.hours-compact{margin:16px 0;border-radius:13px;padding:10px}.hours-compact table{font-size:9px}.hours-compact th,.hours-compact td{padding:4px 3px}.hours-compact tbody th small{font-size:7px}.hours-compact td{font-size:12px}.hours-compact p{font-size:9px}.section{padding:67px 0}.section-heading{margin-bottom:28px}.department-card{padding:25px}.split-layout,.director-grid,.first-grid{gap:31px}.hours-card{padding:11px;border-radius:16px}.hours-card th,.hours-card td{padding:12px 9px}.director-photo{height:380px}.photo-stack{grid-template-columns:1fr 1fr}.photo-stack img{height:210px;border-radius:15px}.access-card{padding:31px 22px}.access-photo-wrap img{min-height:300px}.footer-grid{padding-bottom:38px}.mobile-bottom-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr 1.12fr;bottom:0;left:0;right:0;z-index:110;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(15,76,129,.1);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:62px;font-size:10px;font-weight:800;color:var(--navy);border-right:1px solid var(--line)}.mobile-bottom-bar svg{width:20px;height:20px}.mobile-bottom-bar .mobile-call{background:linear-gradient(135deg,var(--navy),#176cae);color:#fff;border-right:0}.site-footer{padding-bottom:87px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.department-card,.department-mini{transition:none}}

/* ===== v3 visual refinement: original A-concept fidelity ===== */
.brand{gap:14px}
.brand-emblem{width:60px;height:60px;display:grid;place-items:center;flex:0 0 auto}
.brand-emblem svg{width:100%;height:100%;display:block}
.brand-type{min-width:184px}
.brand-kicker{font-size:7.5px;letter-spacing:.18em;color:#5d86a4;margin:0 0 6px;font-weight:800}
.brand-type strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:30px;line-height:1;letter-spacing:.15em;color:#0b477d;font-weight:700;text-shadow:0 .2px 0 #0b477d}
.brand-en{display:flex;align-items:center;gap:8px;margin-top:8px;width:100%}
.brand-en i{display:block;height:1px;flex:1;background:linear-gradient(90deg,transparent,#9bc5e4)}
.brand-en i:last-child{background:linear-gradient(90deg,#9bc5e4,transparent)}
.brand-en small{font-family:Georgia,"Times New Roman",serif;font-size:8px;letter-spacing:.31em;color:#27648f;font-weight:700;white-space:nowrap}
.footer-brand .brand-en i{background:rgba(255,255,255,.35)}
.footer-brand .brand-en small{color:#fff}

/* Buttons: slimmer, more architectural, closer to the original A mockup */
.btn{position:relative;min-height:49px;border-radius:10px;padding:10px 19px;letter-spacing:.035em;overflow:hidden}
.btn:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.16),transparent 42%);opacity:.7}
.btn-primary{background:linear-gradient(180deg,#135b96 0%,#0c4b81 100%);border-color:#0c4b81;box-shadow:0 7px 18px rgba(15,76,129,.17)}
.btn-primary:hover{box-shadow:0 10px 22px rgba(15,76,129,.23)}
.btn-outline{background:rgba(255,255,255,.96);border-color:#89b6d9;color:#0e528a;box-shadow:0 3px 10px rgba(15,76,129,.045)}
.btn-outline:hover{background:#f8fcff;border-color:#5e9dcc}
.hero-actions{gap:9px}

/* First-view information placement matches the original A proposal */
.hero-underlay-grid{grid-template-columns:1.38fr .92fr;grid-template-areas:"departments hours";gap:22px;align-items:stretch;padding-top:14px;padding-bottom:14px}
.department-mini-grid{grid-area:departments}
.hours-compact{grid-area:hours;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:11px 13px;border-radius:14px}
.hours-compact-head{margin-bottom:5px}
.hours-compact-head strong{font-size:15px;letter-spacing:.04em}
.hours-compact table{table-layout:fixed;width:100%}
.hours-compact th:first-child{width:29%}
.hours-compact th,.hours-compact td{padding:4px 2px}
.department-mini{min-height:124px}

@media(max-width:1120px){
  .brand-emblem{width:52px;height:52px}.brand-type{min-width:164px}.brand-type strong{font-size:26px}
}

@media(max-width:980px){
  .hero-underlay-grid{grid-template-columns:1fr;grid-template-areas:"hours" "departments";gap:0}
  .hours-compact{margin:16px 0 14px}
}

@media(max-width:700px){
  .brand{gap:9px}.brand-emblem{width:42px;height:42px}.brand-type{min-width:0}.brand-kicker{display:none}.brand-type strong{font-size:22px;letter-spacing:.13em}.brand-en{gap:5px;margin-top:6px}.brand-en small{font-size:6.5px;letter-spacing:.24em}.brand-en i{max-width:18px}

  /* On mobile, hours sit directly below the hero CTAs, before department icons. */
  .hero-underlay-grid{grid-template-areas:"hours" "departments";padding-top:0;padding-bottom:0}
  .hours-compact{margin:13px 0 12px;padding:10px 8px;border-radius:12px;overflow:hidden}
  .hours-compact-head{padding:0 2px 4px}
  .hours-compact-head strong{font-size:14px}.hours-compact-head a{font-size:10px}
  .hours-compact table{width:100%;min-width:0;table-layout:fixed;font-size:9px}
  .hours-compact th:first-child{width:28%}
  .hours-compact th:not(:first-child),.hours-compact td{width:auto}
  .hours-compact th,.hours-compact td{padding:4px 1px;white-space:normal;line-height:1.2}
  .hours-compact thead th{font-size:9px}
  .hours-compact tbody th{font-size:9px;white-space:normal;padding-left:4px}
  .hours-compact tbody th small{font-size:7px;line-height:1.15;margin-top:2px}
  .hours-compact td{font-size:11px}
  .hours-compact p{font-size:8.5px;line-height:1.45;margin-top:6px;text-align:center}
  .department-mini-grid{margin:0 -13px}

  /* Detailed timetable also fits in one viewport without horizontal swipe. */
  .hours-card{overflow:hidden;padding:8px 6px}
  .hours-card table{width:100%;min-width:0;table-layout:fixed;font-size:9px}
  .hours-card th:first-child{width:28%}
  .hours-card th,.hours-card td{padding:8px 1px;white-space:normal;line-height:1.2}
  .hours-card thead th{font-size:9px}
  .hours-card tbody th{font-size:9px;padding-left:4px}
  .hours-card small{font-size:7px;line-height:1.15}
  .hours-card td{font-size:12px}
  .table-note{font-size:9px;text-align:center}
}
.footer-brand .brand-emblem{width:48px;height:48px}
.footer-brand .brand-type strong{color:#fff;font-size:25px}
.footer-brand .brand-en small{color:#dceffc}
.footer-brand .brand-en i{background:rgba(255,255,255,.30)}

/* ===== v4 typography scale-up & clearer timetable ===== */
body{font-size:17px;line-height:1.85}
.desktop-nav{font-size:14px}
.header-phone{font-size:16px;padding:12px 21px}
.hero-kicker{font-size:13px}
.hero h1{font-size:clamp(46px,5vw,72px)}
.hero-depts{font-size:24px}
.hero-facts li{font-size:16px}
.btn{font-size:15px;min-height:52px;padding:12px 22px}
.hero-message{font-size:19px}

.department-mini strong{font-size:22px}
.department-mini small{font-size:12px;line-height:1.55}
.hours-compact{padding:14px 16px}
.hours-compact-head strong{font-size:17px}
.hours-compact-head a{font-size:12px}
.hours-compact table{font-size:12px}
.hours-compact th,.hours-compact td{padding:6px 4px}
.hours-compact tbody th{font-size:12px}
.hours-compact tbody th small{font-size:10px}
.hours-compact td{font-size:17px}
.hours-compact p{font-size:11px;line-height:1.55}

.quick-item small{font-size:13px}
.quick-item strong{font-size:19px}
.quick-item span:not(.quick-icon){font-size:14px}
.eyebrow{font-size:12px}
.section-heading>p:last-child,
.department-card p,
.director-copy p:not(.eyebrow),
.first-copy p,
.access-card p,
.address,
.access-list dd,
.notice-grid p,
.parking-note{font-size:17px}
.department-card h3{font-size:28px}
.department-card a{font-size:15px}
.notice-grid strong{font-size:17px}
.access-list dt{font-size:16px}
.access-list a{font-size:17px}
.director-name strong{font-size:23px}
.director-name small{font-size:14px}
.check-list li{font-size:17px}
.footer-grid p{font-size:16px}
.footer-phone a{font-size:25px}

.hours-notes small{font-size:13px}
.hours-notes strong{font-size:17px}
.hours-card{padding:22px}
.hours-card th,.hours-card td{padding:17px 12px}
.hours-card thead th{font-size:15px}
.hours-card tbody th{font-size:15px}
.hours-card td{font-size:21px}
.hours-card small{font-size:12px}
.table-note{font-size:14px}

@media(max-width:980px){
  body{font-size:16px}
  .section-heading>p:last-child,
  .department-card p,
  .director-copy p:not(.eyebrow),
  .first-copy p,
  .access-card p,
  .address,
  .access-list dd,
  .notice-grid p,
  .parking-note,
  .check-list li{font-size:16px}
}

@media(max-width:700px){
  body{font-size:15px;line-height:1.8}
  .brand-type strong{font-size:24px}
  .hero-kicker{font-size:11px}
  .hero h1{font-size:37px}
  .hero-depts{font-size:19px}
  .hero-facts li{font-size:13px}
  .btn{min-height:50px;font-size:14px;padding:11px 14px}
  .department-mini strong{font-size:17px}
  .department-mini small{font-size:10px;line-height:1.4}

  .hours-compact{padding:12px 8px}
  .hours-compact-head strong{font-size:15px}
  .hours-compact-head a{font-size:10px}
  .hours-compact table{font-size:10px}
  .hours-compact th,.hours-compact td{padding:5px 2px}
  .hours-compact thead th{font-size:10px}
  .hours-compact tbody th{font-size:10px}
  .hours-compact tbody th small{font-size:7.5px}
  .hours-compact td{font-size:12px}
  .hours-compact p{font-size:9px;line-height:1.45}

  .section-heading h2,.director-copy h2,.first-copy h2,.access-card h2{font-size:34px}
  .section-heading>p:last-child,
  .department-card p,
  .director-copy p:not(.eyebrow),
  .first-copy p,
  .access-card p,
  .address,
  .access-list dd,
  .notice-grid p,
  .parking-note,
  .check-list li{font-size:15px}
  .department-card h3{font-size:26px}
  .notice-grid strong{font-size:16px}

  .hours-card{padding:9px 6px}
  .hours-card thead th{font-size:10px}
  .hours-card tbody th{font-size:10px}
  .hours-card td{font-size:13px}
  .hours-card small{font-size:7.5px}
  .table-note{font-size:9px}

  .mobile-bottom-bar a{font-size:11px}
}

/* ===== v11 stable footer / reception refinements ===== */
.hours-compact-reception{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-top:9px;
  padding:8px 10px;
  border:1px solid #dceaf4;
  border-radius:10px;
  background:#f7fbff;
}
.hours-compact-reception span{
  flex:0 0 auto;
  color:#64839b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
}
.hours-compact-reception strong{
  color:#154a74;
  font-size:12px;
  line-height:1.45;
}
.footer-original-art{
  background:#fff;
  border-top:1px solid #e2edf6;
  padding:22px 0 14px;
  overflow:hidden;
}
.footer-original-art img{
  width:100%;
  height:auto;
  display:block;
}
.footer-art-mobile{display:none}
.footer-art-desktop{display:block}

@media(max-width:700px){
  .hours-compact-reception{
    display:grid;
    gap:2px;
    margin-top:7px;
    padding:7px 8px;
  }
  .hours-compact-reception span{font-size:8px}
  .hours-compact-reception strong{font-size:9.5px;line-height:1.4}
  .footer-original-art{padding:16px 0 8px}
  .footer-art-desktop{display:none}
  .footer-art-mobile{display:grid;gap:10px}
  .footer-art-mobile img{width:100%;height:auto}
}


/* ===== v12 official C-2 logo + A-concept line icons ===== */
.brand-official{display:flex;align-items:center;flex:0 0 auto}
.official-logo{display:block;width:auto;max-width:100%;object-fit:contain}
.official-logo-header{height:84px;width:291px}
.official-logo-footer{height:84px;width:291px}
.feature-icon,.dept-icon{display:block;flex:0 0 auto;color:#0F63B5}
.hero-facts .feature-icon{width:25px;height:25px;color:#0F63B5}
.round-badge .feature-icon{width:27px;height:27px;margin-bottom:4px;color:#0F63B5}
.department-mini .dept-icon{width:48px;height:48px;color:#0F63B5}
.department-mini:hover .dept-icon{color:#0B4C81}
@media(max-width:1120px){.official-logo-header{height:73px;width:253px}}
@media(max-width:700px){.official-logo-header{height:60px;width:208px}.official-logo-footer{height:60px;width:208px}.department-mini .dept-icon{width:38px;height:38px}.hero-facts .feature-icon{width:21px;height:21px}.round-badge .feature-icon{width:24px;height:24px}}

/* ===== v15 official logo + supplied official icons ===== */
.feature-icon,.dept-icon{object-fit:contain}
.department-mini .dept-icon{transition:transform .2s ease}
.department-mini:hover .dept-icon{transform:translateY(-1px)}

/* ===== v23 top-page news section ===== */
.news-section{padding:54px 0 58px;background:linear-gradient(180deg,#f8fcff 0%,#eef7fd 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.news-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.news-title-wrap .eyebrow{margin:0 0 4px;color:var(--blue);font-family:Georgia,"Times New Roman",serif;font-size:13px;font-weight:700;letter-spacing:.18em}
.news-title-wrap h2{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(28px,3vw,40px);line-height:1.25;color:var(--navy)}
.news-title-wrap p{margin:10px 0 0;color:var(--muted);font-size:14px}
.news-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.news-item{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px 22px;box-shadow:0 9px 24px rgba(15,76,129,.055)}
.news-tag{display:inline-grid;place-items:center;min-height:34px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.news-tag.closed{background:#fff0f1;color:#b44551;border:1px solid #f2c9cd}
.news-tag.vaccine{background:#edf8ff;color:#176cae;border:1px solid #c9e4f7}
.news-item h3{margin:0 0 7px;font-size:17px;line-height:1.5;color:var(--navy)}
.news-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}
.news-manage-note{margin:15px 0 0;text-align:right;color:#7a8e9d;font-size:11px}
@media(max-width:700px){.news-section{padding:40px 0 42px}.news-head{display:block;margin-bottom:17px}.news-title-wrap h2{font-size:27px}.news-title-wrap p{font-size:12px}.news-list{grid-template-columns:1fr;gap:11px}.news-item{grid-template-columns:76px 1fr;gap:12px;padding:17px 15px;border-radius:13px}.news-tag{min-height:30px;padding:5px 8px;font-size:11px}.news-item h3{font-size:15px}.news-item p{font-size:12px}.news-manage-note{text-align:left;font-size:10px}}

/* ===== v25 news archive / latest-two structure ===== */
.news-head .news-all-link{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--navy);font-size:14px;font-weight:800;padding:9px 14px;border:1px solid #b9d5e9;border-radius:999px;background:#fff;box-shadow:0 5px 14px rgba(15,76,129,.05);transition:.2s}
.news-head .news-all-link:hover{background:#f5fbff;border-color:#79add3}
.news-item-link{display:block;color:inherit;text-decoration:none;border-radius:16px}
.news-item-link .news-item{height:100%;transition:.2s}
.news-item-link:hover .news-item{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,76,129,.09);border-color:#c7ddec}
.news-readmore{display:inline-block;margin-top:9px;color:var(--blue);font-size:12px;font-weight:800}
.news-page-main{background:linear-gradient(180deg,#f8fcff 0%,#fff 240px);min-height:70vh;padding:64px 0 92px}
.news-page-hero{margin-bottom:34px}
.news-page-hero .eyebrow{margin-bottom:6px}
.news-page-hero h1{margin:0;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(34px,4vw,52px);line-height:1.25}
.news-page-hero p:last-child{margin:12px 0 0;color:var(--muted);font-size:14px}
.news-archive{display:grid;gap:14px}
.news-archive-item{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px 26px;box-shadow:0 8px 22px rgba(15,76,129,.05);scroll-margin-top:120px}
.news-archive-item .news-archive-head{display:flex;align-items:center;gap:13px;margin-bottom:10px}
.news-archive-item h2{margin:0;color:var(--navy);font-size:20px;line-height:1.5}
.news-archive-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.news-archive-note{margin:20px 0 0;padding:15px 18px;border-radius:12px;background:#f1f7fc;color:#6d8292;font-size:12px}
.news-back-home{display:inline-flex;align-items:center;gap:7px;margin-top:30px;color:var(--navy);font-weight:800;font-size:14px}
@media(max-width:700px){.news-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.news-head .news-all-link{font-size:12px;padding:7px 10px}.news-page-main{padding:42px 0 74px}.news-page-hero{margin-bottom:24px}.news-page-hero h1{font-size:32px}.news-archive-item{padding:19px 16px;border-radius:14px}.news-archive-item .news-archive-head{align-items:flex-start;flex-direction:column;gap:8px}.news-archive-item h2{font-size:17px}.news-archive-item p{font-size:13px}}


/* ===== Department detail pages ===== */
.subpage-hero{background:linear-gradient(135deg,#edf6fd 0%,#f9fcff 100%);border-bottom:1px solid var(--line);padding:72px 0 64px;position:relative;overflow:hidden}
.subpage-hero:after{content:"";position:absolute;right:-100px;top:-160px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(119,188,235,.22),rgba(119,188,235,0) 70%)}
.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:28px}.breadcrumb a{color:var(--blue);font-weight:700}.breadcrumb span{margin:0 8px;color:#9ab0c0}
.subpage-hero-grid{display:grid;grid-template-columns:1fr 190px;gap:60px;align-items:center;position:relative;z-index:1}
.subpage-kicker{color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.12em;margin:0 0 10px}.subpage-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(42px,5vw,64px);line-height:1.2;color:var(--navy);margin:0 0 18px}.subpage-lead{font-size:18px;color:#4f6d83;max-width:760px;margin:0}
.subpage-icon{width:156px;height:156px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:var(--shadow-soft)}.subpage-icon img{width:92px;height:92px}
.department-content{padding:82px 0}.content-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:50px;align-items:start}
.content-main section+section{margin-top:58px}.content-main h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:30px;color:var(--navy);margin:0 0 18px}.content-main h2:after{content:"";display:block;width:46px;height:3px;background:linear-gradient(90deg,var(--blue),var(--sky));border-radius:3px;margin-top:12px}.content-main p{color:#526d81;margin:0 0 16px}
.symptom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:22px}.symptom-item{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;display:flex;gap:10px;align-items:flex-start}.symptom-item:before{content:"✓";width:23px;height:23px;border-radius:50%;background:var(--light);color:var(--navy);display:grid;place-items:center;flex:0 0 auto;font-weight:900;margin-top:1px}
.info-box{padding:22px 24px;background:#f6fafe;border:1px solid var(--line);border-radius:16px}.info-box strong{display:block;color:var(--navy);font-size:17px;margin-bottom:8px}.info-box p{margin:0;color:var(--muted)}
.side-card{position:sticky;top:118px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:25px;box-shadow:var(--shadow-soft)}.side-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--navy);font-size:22px;margin:0 0 14px}.side-times{display:grid;gap:10px;margin-bottom:18px}.side-time{padding:12px 14px;background:var(--pale);border-radius:10px}.side-time small{display:block;color:var(--muted);font-size:11px}.side-time strong{color:var(--navy);font-size:16px}.side-note{font-size:12px;color:var(--muted);line-height:1.7}.side-card .btn{width:100%;justify-content:center;margin-top:15px}
.other-depts{margin-top:38px;padding-top:22px;border-top:1px solid var(--line)}.other-depts>strong{font-size:13px;color:var(--muted)}.other-links{display:grid;gap:8px;margin-top:10px}.other-links a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:9px;background:#f8fbfe;color:var(--navy);font-weight:800}.other-links a:hover{background:var(--light)}
.department-bottom-cta{background:linear-gradient(135deg,#0d456f,#0f568b);color:#fff;padding:45px 0}.department-bottom-cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.department-bottom-cta h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:28px;margin:0 0 7px}.department-bottom-cta p{margin:0;color:#dceaf5}.department-bottom-cta .btn{background:#fff;color:var(--navy);border-color:#fff}
@media(max-width:980px){.subpage-hero-grid{grid-template-columns:1fr 130px;gap:30px}.subpage-icon{width:120px;height:120px}.subpage-icon img{width:72px;height:72px}.content-grid{grid-template-columns:1fr}.side-card{position:static}.department-bottom-cta .container{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.subpage-hero{padding:42px 0 38px}.breadcrumb{margin-bottom:18px;font-size:11px}.subpage-hero-grid{grid-template-columns:1fr 80px;gap:16px}.subpage-hero h1{font-size:36px}.subpage-lead{font-size:15px}.subpage-icon{width:74px;height:74px}.subpage-icon img{width:46px;height:46px}.department-content{padding:55px 0}.content-main h2{font-size:25px}.symptom-grid{grid-template-columns:1fr}.side-card{padding:20px}.department-bottom-cta{padding:34px 0}.department-bottom-cta h2{font-size:23px}}

/* ===== v29 site architecture / navigation ===== */
.desktop-nav{gap:14px;font-size:12.5px}
.desktop-nav>.nav-item{position:relative;display:flex;align-items:center}
.desktop-nav>.nav-item>a{display:flex;align-items:center;gap:5px}
.desktop-nav>.nav-item>a.nav-active{color:var(--navy)}
.desktop-nav>.nav-item>a.nav-active:after{left:0;right:0}
.nav-caret{font-size:9px;opacity:.7;margin-top:1px}
.nav-dropdown{position:absolute;top:76px;left:50%;transform:translateX(-50%) translateY(6px);min-width:176px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 42px rgba(15,76,129,.14);opacity:0;visibility:hidden;pointer-events:none;transition:.18s;z-index:150}
.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.desktop-nav .nav-dropdown a{display:block;padding:10px 13px;color:#385a73;border-radius:8px;font-size:12px;line-height:1.45;white-space:nowrap}
.desktop-nav .nav-dropdown a:after{display:none}
.desktop-nav .nav-dropdown a:hover{background:#f1f7fc;color:var(--navy)}
.mobile-menu .mobile-menu-home{font-weight:800;color:var(--navy)}
.mobile-menu .mobile-group{padding:9px 0 5px;border-bottom:1px solid var(--line)}
.mobile-menu .mobile-group-title{display:block;padding:3px 0 7px;font-weight:800;color:var(--navy)}
.mobile-menu .mobile-group a{border-bottom:0;padding:7px 0 7px 16px;font-size:14px;color:#4f6d83}
.service-link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}
.service-link-card{display:block;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(15,76,129,.05);transition:.2s}
.service-link-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,76,129,.09);border-color:#c7ddec}
.service-link-card small{display:block;color:var(--blue);font-weight:800;letter-spacing:.12em;font-size:10px;margin-bottom:4px}
.service-link-card strong{display:flex;align-items:center;justify-content:space-between;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:22px;margin-bottom:6px}
.service-link-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}
.service-info-card{cursor:default}
.service-info-card:hover{transform:none;box-shadow:0 8px 22px rgba(15,76,129,.05);border-color:var(--line)}
.service-info-card strong{justify-content:flex-start}

.subpage-letter{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#eef7fd,#dceefa);display:grid;place-items:center;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:38px;font-weight:700}
.content-note-list{display:grid;gap:12px;margin-top:20px}
.content-note-item{padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}
.content-note-item strong{display:block;color:var(--navy);margin-bottom:4px}
.content-note-item p{margin:0;color:var(--muted);font-size:14px}
.inline-link{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:800;margin-top:10px}
@media(max-width:1120px){.desktop-nav{gap:9px;font-size:11.5px}.nav-dropdown{top:74px}}
@media(max-width:700px){.service-link-grid{grid-template-columns:1fr}.service-link-card{padding:19px 18px}.service-link-card strong{font-size:20px}.subpage-letter{width:54px;height:54px;font-size:26px}}

/* ===== v30 vaccination page ===== */
.vax-page .content-main>section{scroll-margin-top:120px}
.vax-year-badge{display:inline-flex;margin:0 0 12px;padding:5px 11px;border-radius:999px;background:#e8f2fb;color:#0f4c81;font-weight:800;font-size:12px;letter-spacing:.05em}
.vax-jump-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.vax-jump-grid a{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid #d6e7f4;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(15,76,129,.06);color:#0f4c81}
.vax-jump-grid a span{font-weight:900;font-size:16px}.vax-jump-grid a small{color:#64798b;font-size:11px}
.vax-alert,.vax-fee-note{margin-top:20px;padding:18px 20px;border-left:4px solid #3b82c4;border-radius:10px;background:#f6faff}
.vax-alert strong,.vax-fee-note strong{display:block;color:#0f4c81;margin-bottom:4px}.vax-alert p,.vax-fee-note p{margin:0;color:#506b80;font-size:14px}
.vax-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.vax-section-head h2{margin-bottom:0}.vax-kicker{margin:0 0 2px;color:#6f9abd;font-size:10px;font-weight:900;letter-spacing:.14em}
.vax-public-pill,.vax-private-pill{flex:0 0 auto;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900}.vax-public-pill{background:#eaf5ff;color:#0c588f}.vax-private-pill{background:#eff4f7;color:#4d6373}
.vax-table-wrap{margin:18px 0;overflow-x:auto;border:1px solid #dbe8f3;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,76,129,.05)}
.vax-table{width:100%;border-collapse:collapse;min-width:640px}.vax-table th,.vax-table td{padding:15px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid #e5eef5}.vax-table tr:last-child td{border-bottom:0}.vax-table th{background:#f0f7fc;color:#0f4c81;font-size:13px}.vax-table td{font-size:14px;color:#39566d}.vax-table td strong{color:#17354f}.vax-table td small{font-size:11px;color:#7890a1}.vax-table .price{text-align:right;white-space:nowrap;font-weight:900;font-size:17px;color:#0f4c81}.vax-table .price small{color:#0f4c81;font-weight:700}
.vax-mini-note{margin:10px 0 0;color:#6a7f8f;font-size:12px;line-height:1.7}.vax-source-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.vax-source-links a{padding:8px 11px;border:1px solid #d9e8f3;border-radius:9px;background:#fbfdff;color:#226b9f;font-size:11px;font-weight:800}
.vax-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.vax-chip-list span{padding:7px 11px;border-radius:999px;background:#edf6fd;color:#15598b;font-size:12px;font-weight:800}
.vax-info-card{margin-top:18px;padding:18px 20px;border:1px solid #dbe8f3;border-radius:14px;background:#fff}.vax-info-card.pale{background:#f8fbfe}.vax-info-card strong{color:#0f4c81}.vax-info-card p{margin:4px 0 8px;color:#64798b;font-size:14px}.vax-subtitle{margin:28px 0 8px;color:#0f4c81;font-size:19px}.vax-side-card .side-times{margin-top:20px}
@media(max-width:700px){.vax-jump-grid{grid-template-columns:1fr;gap:8px}.vax-jump-grid a{padding:14px 15px}.vax-section-head{align-items:flex-start}.vax-table{min-width:560px}.vax-table th,.vax-table td{padding:12px 11px;font-size:12px}.vax-table .price{font-size:15px}.vax-mini-note{font-size:10px}.vax-source-links a{font-size:10px}.vax-alert p,.vax-fee-note p,.vax-info-card p{font-size:12px}}

/* v31 performance/footer stability */
.footer-original-art{display:block;visibility:visible;opacity:1}
.footer-original-art img{display:block;max-width:100%;height:auto}
.site-footer{display:block;visibility:visible;opacity:1}


/* v32-access-page */
.access-page .content-main>section{scroll-margin-top:110px}.access-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.access-info-card{padding:20px;border:1px solid #dceaf5;border-radius:18px;background:#f8fbfe}.access-info-card strong{display:block;color:#0f4c81;font-size:1.05rem;line-height:1.75}.access-info-card a{color:inherit;text-decoration:none}.access-info-label{display:block;margin-bottom:7px;color:#5e7f99;font-size:.78rem;font-weight:700;letter-spacing:.12em}.access-page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.access-mode-card{display:flex;gap:18px;align-items:flex-start;padding:22px;border-radius:20px;background:#f4f9fd}.access-mode-icon{display:grid;place-items:center;min-width:72px;height:72px;border-radius:18px;background:#e6f2fa;color:#0f4c81;font-weight:800}.access-mode-card h3{margin:3px 0 8px;color:#0f4c81}.access-mode-card p{margin:0}.access-parking-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.access-kicker{margin:0 0 4px;color:#5598c7;font-size:.75rem;font-weight:800;letter-spacing:.18em}.parking-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#fff3e7;color:#b75800;font-size:.82rem;font-weight:800}.parking-notice{padding:20px 22px;margin:18px 0;border-left:4px solid #f49a34;border-radius:12px;background:#fff9f2}.parking-notice strong{display:block;margin-bottom:8px;color:#8a4800}.parking-notice ul{margin:0;padding-left:1.25em}.parking-notice li+li{margin-top:6px}.parking-guide{margin:20px 0 0}.parking-guide picture,.parking-guide img{display:block;width:100%}.parking-guide img{height:auto;border-radius:20px;border:1px solid #dceaf5;box-shadow:0 16px 35px rgba(15,76,129,.08)}.parking-guide figcaption{margin-top:10px;color:#60778a;font-size:.88rem;line-height:1.7}.access-side-card{position:sticky;top:110px}.access-letter{font-size:2.1rem}@media(max-width:900px){.access-info-grid{grid-template-columns:1fr}.access-side-card{position:static}}@media(max-width:700px){.access-page-actions{display:grid;grid-template-columns:1fr}.access-page-actions .btn{width:100%;justify-content:center}.access-mode-card{display:block}.access-mode-icon{margin-bottom:14px;min-width:0;width:64px;height:64px}.access-parking-head{display:block}.parking-pill{margin-top:8px}.parking-notice{padding:17px}.parking-guide img{border-radius:14px}}


/* ===== v36 shared additions ===== */
.desktop-nav{gap:10px;font-size:12px}
@media(max-width:1180px){.desktop-nav{gap:7px;font-size:11px}.header-phone{padding:9px 12px;font-size:13px}}

/* director career */
.director-career{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.director-career h3{margin:0 0 10px;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:18px}
.career-list{display:grid;gap:6px;margin:0}
.career-list>div{display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:start}
.career-list dt{font-weight:800;color:#52738d}
.career-list dd{margin:0;color:#46657c;line-height:1.55}
@media(max-width:700px){.career-list>div{grid-template-columns:64px 1fr}.director-career h3{font-size:17px}.career-list{font-size:13px}}

/* extended pediatrics / dermatology */
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.topic-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}
.topic-card h3{margin:0 0 8px;color:var(--navy);font-size:17px}
.topic-card p{margin:0;color:var(--muted);font-size:13px}
.compact-list{margin:10px 0 0;padding-left:1.25em;color:#526d81}
.compact-list li+li{margin-top:5px}
.age-disease-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:18px}
.age-disease-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.age-disease-card h3{margin:0 0 10px;color:var(--navy);font-size:16px}
.age-disease-card ul{margin:0;padding-left:1.2em;color:#526d81;font-size:13px;line-height:1.75}
.caution-box{margin-top:18px;padding:18px 20px;border-left:4px solid #e59a36;border-radius:10px;background:#fff9f1}
.caution-box strong{display:block;color:#8a5209;margin-bottom:5px}
.caution-box p{margin:0;color:#6d6256}
@media(max-width:780px){.age-disease-grid{grid-template-columns:1fr}.topic-grid{grid-template-columns:1fr}}

/* allergy page */
.allergy-page .content-main>section{scroll-margin-top:115px}
.allergy-mark{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#eef7fd,#dceefa);color:var(--navy);font-weight:900;font-size:24px;letter-spacing:.05em}
.allergy-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}
.allergy-flow>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}
.allergy-flow small{display:block;color:var(--blue);font-weight:900;letter-spacing:.08em;margin-bottom:4px}
.allergy-flow strong{display:block;color:var(--navy);margin-bottom:4px}
.allergy-flow p{margin:0;font-size:13px;color:var(--muted)}
.allergy-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.allergy-list-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.allergy-list-card h3{margin:0 0 12px;color:var(--navy);font-size:18px}
.allergen-tags{display:flex;flex-wrap:wrap;gap:7px}
.allergen-tags span{padding:6px 9px;border-radius:999px;background:#edf6fd;color:#315f82;font-size:12px;font-weight:700}
.allergy-panels{display:grid;gap:10px;margin-top:18px}
.allergy-panel{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.allergy-panel summary{cursor:pointer;padding:15px 18px;color:var(--navy);font-weight:900;background:#f8fbfe;list-style:none}
.allergy-panel summary::-webkit-details-marker{display:none}
.allergy-panel summary:after{content:"＋";float:right;color:var(--blue)}
.allergy-panel[open] summary:after{content:"−"}
.allergy-panel-body{padding:16px 18px}
.allergy-panel-body h4{margin:0 0 8px;color:#51728b;font-size:13px}
.allergy-panel-body h4:not(:first-child){margin-top:15px}
.allergy-panel-body .allergen-tags span{background:#f4f8fb}
.allergy-fee{margin-top:18px;padding:18px 20px;border-radius:14px;background:#f4f9fd;border:1px solid var(--line)}
.allergy-fee strong{color:var(--navy)}
.allergy-fee .fee-amount{display:block;margin-top:5px;font-size:22px;font-weight:900;color:var(--navy)}
@media(max-width:700px){.allergy-flow{grid-template-columns:1fr}.allergy-columns{grid-template-columns:1fr}.allergy-mark{width:64px;height:64px;font-size:18px}.allergen-tags span{font-size:11px}}

/* v37: director section — keep the previous photo/message design and place career history below */
.director-career-full{margin-top:36px;padding:28px 32px;border:1px solid var(--line);border-radius:18px;background:#f8fbfe;box-shadow:0 10px 24px rgba(15,76,129,.05)}
.director-career-full h3{margin:0 0 16px;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px}
.director-career-full .eyebrow{margin-bottom:7px}
.career-lines{display:grid;gap:8px}
.career-lines p{margin:0;color:#46657c;line-height:1.65;font-size:14px}
.career-lines strong{display:inline-block;min-width:58px;color:#315f82}
@media(max-width:700px){.director-career-full{margin-top:24px;padding:22px 18px}.director-career-full h3{font-size:21px}.career-lines p{font-size:13px;line-height:1.7}.career-lines strong{min-width:auto;display:block;margin-bottom:1px}}


/* ===== v38 iPhone / responsive hardening ===== */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.site-header,main,.subpage-hero,.department-content,.site-footer{width:100%;max-width:100%}
.content-grid,.content-main,.content-main>section{min-width:0;max-width:100%}

@media(max-width:700px){
  .container{width:100%;max-width:100%;padding-left:18px;padding-right:18px;margin-left:auto;margin-right:auto}
  .header-inner{width:100%}
  .official-logo-header{max-width:208px;height:auto}
  .subpage-hero{width:100%;overflow:hidden}
  .subpage-hero-grid{grid-template-columns:minmax(0,1fr) 68px;gap:12px}
  .subpage-icon{width:64px;height:64px}
  .subpage-letter{width:48px;height:48px;font-size:23px}
  .subpage-lead{max-width:100%;overflow-wrap:anywhere}
  .department-content{width:100%}
  .content-grid{display:block;width:100%}
  .content-main{width:100%;min-width:0}
  .content-main>section{width:100%;min-width:0}
  .vax-jump-grid,.vax-alert,.vax-info-card,.vax-fee-note,.vax-table-wrap{max-width:100%}
  .vax-section-head{width:100%;min-width:0;gap:10px}
  .vax-section-head>div{min-width:0}
  .vax-section-head h2{overflow-wrap:anywhere}
  .side-card{width:100%;max-width:100%}
}

/* Health-check tables become true mobile cards instead of forcing 560px-wide tables */
@media(max-width:700px){
  .health-page .vax-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;margin:14px 0 20px}
  .health-page .vax-table{display:block;width:100%;min-width:0;border-collapse:separate}
  .health-page .vax-table thead{display:none}
  .health-page .vax-table tbody{display:grid;gap:12px;width:100%}
  .health-page .vax-table tr{display:block;width:100%;padding:6px 14px;border:1px solid #dbe8f3;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(15,76,129,.045)}
  .health-page .vax-table td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:10px;width:100%;padding:10px 0;border:0;border-bottom:1px solid #edf3f7;text-align:left!important;vertical-align:top;font-size:13px;line-height:1.65;white-space:normal;overflow-wrap:anywhere;word-break:normal}
  .health-page .vax-table td:last-child{border-bottom:0}
  .health-page .vax-table td::before{content:attr(data-label);font-size:11px;font-weight:900;color:#5a7b94;line-height:1.55}
  .health-page .vax-table .price{font-size:15px;text-align:left!important;white-space:normal}
  .health-page .vax-table td small{font-size:11px;line-height:1.55}
  .health-page .vax-year-badge{font-size:11px;padding:6px 10px}
  .health-page .vax-public-pill,.health-page .vax-private-pill{font-size:10px;padding:4px 8px}
}

@media(max-width:380px){
  .container{padding-left:15px;padding-right:15px}
  .subpage-hero-grid{grid-template-columns:1fr}
  .subpage-icon{display:none}
  .subpage-hero h1{font-size:33px}
  .health-page .vax-table td{grid-template-columns:1fr;gap:3px}
}

/* v39: desktop director portrait wider; mobile/tablet layout unchanged */
@media (min-width: 981px){
  .director-grid{
    grid-template-columns:1.18fr .82fr;
    gap:48px;
  }
  .director-photo{
    height:500px;
    object-fit:cover;
    object-position:50% 42%;
  }
}


/* v40: 保険医療機関の掲示事項 */
.disclosure-page{padding:78px 0 92px}
.disclosure-wrap{max-width:920px;margin:0 auto}
.disclosure-intro{margin:0 0 30px;color:#526d81;font-size:16px;line-height:2}
.disclosure-list{display:grid;gap:18px}
.disclosure-card{position:relative;padding:28px 30px 28px 34px;border:1px solid #dceaf5;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f8fbfe 100%);box-shadow:0 10px 28px rgba(15,76,129,.055)}
.disclosure-card:before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#3b82c4,#79c8e8)}
.disclosure-card small{display:block;margin-bottom:7px;color:#4d96c8;font-size:11px;font-weight:800;letter-spacing:.16em}
.disclosure-card h2{margin:0 0 13px;color:#0f4c81;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:26px;line-height:1.5}
.disclosure-card p{margin:0;color:#526d81;line-height:1.95}
.disclosure-card p+p{margin-top:10px}
.disclosure-emphasis{margin-top:14px;padding:13px 15px;border-radius:12px;background:#eef7fd;color:#244e6c;font-weight:700}
.footer-bottom a{margin-left:12px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){
  .disclosure-page{padding:52px 0 76px}
  .disclosure-intro{font-size:14px;line-height:1.9}
  .disclosure-card{padding:22px 18px 22px 23px;border-radius:15px}
  .disclosure-card:before{top:16px;bottom:16px;width:3px}
  .disclosure-card h2{font-size:21px}
  .disclosure-card p{font-size:13px}
  .disclosure-emphasis{font-size:12px;padding:11px 12px}
  .footer-bottom a{display:block;margin:7px 0 0}
}

/* ===== v50: Sunday-morning emphasis in a soft pink accent color ===== */
.hero-facts .sunday-highlight{
  padding:7px 13px 7px 9px;
  border:1px solid #efb5c7;
  border-radius:999px;
  background:linear-gradient(135deg,#fff7fa 0%,#fde8ef 100%);
  color:#a83b60;
  box-shadow:0 5px 14px rgba(187,64,103,.12);
}
.hero-facts .sunday-highlight .sunday-text{
  display:flex;
  align-items:baseline;
  gap:8px;
  color:#a83b60;
}
.hero-facts .sunday-highlight .sunday-text b{
  color:#a83b60;
}
.hero-facts .sunday-highlight small{
  font-size:11px;
  line-height:1;
  color:#c45a7c;
  font-weight:800;
  letter-spacing:.02em;
  white-space:nowrap;
}
@media(max-width:700px){
  .hero-facts .sunday-highlight{
    padding:8px 9px;
    border-radius:10px;
    background:linear-gradient(135deg,#fff7fa 0%,#fde8ef 100%);
    border-color:#efb5c7;
    box-shadow:none;
  }
  .hero-facts .sunday-highlight .sunday-text{
    display:block;
    line-height:1.35;
  }
  .hero-facts .sunday-highlight small{
    display:block;
    margin-top:2px;
    font-size:9px;
  }
}

/* ===== v47: fixed header on all pages ===== */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:1000;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  transform:translateZ(0);
}
body{padding-top:96px}
html{scroll-padding-top:116px}
.mobile-menu{max-height:calc(100dvh - 96px);overflow-y:auto;-webkit-overflow-scrolling:touch}
@media(max-width:980px){
  body{padding-top:80px}
  html{scroll-padding-top:96px}
  .mobile-menu{max-height:calc(100dvh - 80px)}
}
@media(max-width:700px){
  body{padding-top:70px}
  html{scroll-padding-top:86px}
  .mobile-menu{max-height:calc(100dvh - 70px)}
}

/* ===== v48 vaccination responsive redesign ===== */
/* Vaccination is content-heavy: use the full page width on desktop instead of
   reserving a tall empty right column beneath the sticky side card. */
.vax-page .content-grid{
  grid-template-columns:minmax(0,1fr);
  gap:38px;
}
.vax-page .vax-side-card{
  position:static;
  width:100%;
  max-width:100%;
}

/* Mobile vaccination tables: card layout, no horizontal scrolling. */
@media(max-width:700px){
  .vax-page .vax-table-wrap{
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    margin:14px 0 20px;
  }
  .vax-page .vax-table{
    display:block;
    width:100%;
    min-width:0;
    border-collapse:separate;
  }
  .vax-page .vax-table thead{display:none}
  .vax-page .vax-table tbody{
    display:grid;
    gap:12px;
    width:100%;
  }
  .vax-page .vax-table tr{
    display:block;
    width:100%;
    padding:6px 14px;
    border:1px solid #dbe8f3;
    border-radius:14px;
    background:#fff;
    box-shadow:0 5px 14px rgba(15,76,129,.045);
  }
  .vax-page .vax-table td{
    display:grid;
    grid-template-columns:minmax(96px,34%) minmax(0,1fr);
    gap:10px;
    width:100%;
    min-width:0;
    padding:10px 0;
    border:0;
    border-bottom:1px solid #edf3f7;
    text-align:left!important;
    vertical-align:top;
    font-size:13px;
    line-height:1.65;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .vax-page .vax-table td:last-child{border-bottom:0}
  .vax-page .vax-table td::before{
    font-size:11px;
    font-weight:900;
    color:#5a7b94;
    line-height:1.55;
  }
  .vax-page .public-table td:nth-child(1)::before{content:"ワクチン"}
  .vax-page .public-table td:nth-child(2)::before{content:"主な対象・期間"}
  .vax-page .public-table td:nth-child(3)::before{content:"自己負担額"}
  .vax-page .private-table td:nth-child(1)::before{content:"ワクチン"}
  .vax-page .private-table td:nth-child(2)::before{content:"料金（税込）"}
  .vax-page .vax-table .price{
    font-size:15px;
    text-align:left!important;
    white-space:normal;
  }
  .vax-page .vax-table td small{
    font-size:11px;
    line-height:1.55;
  }
}

@media(max-width:380px){
  .vax-page .vax-table td{
    grid-template-columns:1fr;
    gap:3px;
  }
}
\n\n/* ===== v53 requested content refinements ===== */
.parking-warning{margin:16px 0 20px;padding:17px 20px;border:2px solid #ef9aa9;border-radius:14px;background:#fff2f4;box-shadow:0 7px 18px rgba(179,58,82,.06)}
.parking-warning strong{display:block;margin:0 0 5px;color:#b33852;font-size:16px}
.parking-warning p{margin:0;color:#743444;font-weight:800;line-height:1.75}
.health-free-note{display:inline-block;margin-top:4px;color:#b33852;font-size:11px;font-weight:900;line-height:1.3}
.private-check-tests{margin-top:18px}
.health-test-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 10px}
.health-test-tags span{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#edf6fd;border:1px solid #d2e6f4;color:#15598b;font-size:12px;font-weight:800}
.health-test-note{margin-top:10px!important;color:#60778a!important;font-size:12px!important}
.vax-entry{display:block;min-width:0}
.vax-entry>span{display:block}
.vax-stock-warning{display:block;margin-top:6px;color:#b33852;font-size:11px!important;font-weight:800;line-height:1.55}
.news-mask-note{margin-top:7px!important;padding-left:12px;border-left:3px solid #e8879f;color:#9b405a!important;font-weight:800;line-height:1.65}
.allergy-fee.insurance-alert{background:linear-gradient(135deg,#fff7f9 0%,#fdecef 100%);border:2px solid #efafbf;box-shadow:0 10px 24px rgba(183,56,91,.07)}
.allergy-fee.insurance-alert>strong{display:inline-block;padding:6px 11px;border-radius:999px;background:#f9dce5;border:1px solid #edafc0;color:#b3385a;font-size:16px}
.allergy-fee.insurance-alert p{color:#713847;font-weight:700}
@media(max-width:700px){
  .parking-warning{padding:14px 15px}.parking-warning strong{font-size:15px}.parking-warning p{font-size:12px}
  .health-test-tags{gap:6px}.health-test-tags span{font-size:11px;padding:6px 9px}
  .news-mask-note{font-size:11px!important}
  .allergy-fee.insurance-alert>strong{font-size:14px}
  .vax-page .private-table td .vax-entry{min-width:0;overflow-wrap:anywhere}
}

/* v54 news category */
.news-tag.other{background:#f3f0fb;color:#66549a;border:1px solid #ddd4f3}


/* ===== v56 readability, timetable and health-check refinements ===== */
:root{--ink:#16334b;--muted:#526b7f}
body{font-size:18px;font-weight:500;color:var(--ink)}
.section-heading>p:last-child,.department-card p,.info-box p,.side-note,.news-item p,.news-page-hero p:last-child,.news-archive-item p,.content-note-item p,.vax-info-card p,.topic-card p,.allergy-flow p,.service-link-card p{color:#526b7f}

/* Timetables: make time information easier to read. */
.hours-compact th:first-child{width:35%}
.hours-compact tbody th{color:#284c66;font-weight:800}
.hours-compact tbody th small{font-size:11px;line-height:1.45;color:#35566e;font-weight:800;margin-top:2px}
.hours-compact p{color:#48667c;font-weight:700;font-size:12px}
.hours-card thead th,.hours-card tbody th{color:#294f6b;font-weight:800}
.hours-card small{font-size:13px;line-height:1.45;color:#35566e;font-weight:800}
.hours-notes small{color:#49677d;font-weight:800}
.hours-notes strong{font-size:18px;font-weight:900}
.table-note{color:#49677d;font-weight:700}
.side-time small{color:#506b7f;font-size:12px;font-weight:700}
.side-time strong{font-size:17px;font-weight:900}

/* First-visit area: slightly larger, darker text. */
.first-copy h2{font-size:clamp(33px,3.35vw,47px)}
.first-copy p,.check-list li{font-size:18px;color:#294c66;font-weight:600}

/* Health-check availability. */
.health-morning-notice{margin:18px 0 20px;padding:16px 18px;border:1px solid #b9d9ef;border-left:5px solid #2d80bc;border-radius:13px;background:#f2f9fe}
.health-morning-notice strong{display:block;color:#0f4c81;font-size:17px;font-weight:900}
.health-morning-notice p{margin:4px 0 0;color:#36586f;font-size:14px;font-weight:700}
.health-side-hours{margin:18px 0 8px;padding:15px 16px;border-radius:11px;background:#f2f8fd;border:1px solid #d8e8f3;text-align:center}
.health-side-hours small{display:block;color:#526b7f;font-size:12px;font-weight:800}
.health-side-hours strong{display:block;margin-top:3px;color:#0f4c81;font-size:20px;font-weight:900}

@media(max-width:980px){body{font-size:17px}}
@media(max-width:700px){
  body{font-size:16px;line-height:1.82}
  .hours-compact th:first-child{width:36%}
  .hours-compact tbody th{font-size:10.5px}
  .hours-compact tbody th small{font-size:9px;line-height:1.35;font-weight:800}
  .hours-compact td{font-size:13px}
  .hours-compact p{font-size:10px}
  .hours-card thead th{font-size:10.5px}
  .hours-card tbody th{font-size:10.5px}
  .hours-card small{font-size:9px;line-height:1.35;font-weight:800}
  .hours-card td{font-size:14px}
  .first-copy h2{font-size:36px}
  .first-copy p,.check-list li{font-size:16px}
  .health-morning-notice{padding:14px 15px}
  .health-morning-notice strong{font-size:15px}
  .health-morning-notice p{font-size:13px}
  .health-side-hours strong{font-size:18px}
}


/* ===== ver60: patient-facing time restrictions and health-check clarity ===== */
.time-restriction-note{color:#8f2f43!important;font-weight:800!important;background:#fff5f6;border-left:3px solid #d75d74;border-radius:8px;padding:8px 10px;line-height:1.7}
.health-morning-notice{border-color:#efb1bd;border-left-color:#cf4963;background:#fff3f5}
.health-morning-notice strong{color:#b33852}
.health-morning-notice p{color:#743444}
.health-side-hours{background:#fff4f6;border-color:#efc1ca}
.health-side-hours strong{color:#b33852}
.health-employment-tests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:12px 0 0;padding:0;list-style:none}
.health-employment-tests li{position:relative;padding-left:18px;color:#214f70;font-weight:800;font-size:13px;line-height:1.65}
.health-employment-tests li::before{content:"●";position:absolute;left:0;top:0;color:#3b82c4;font-size:9px;line-height:2.35}
.health-bottom-time-notice{padding:0 0 18px}
.health-morning-notice-bottom{margin:0}
@media(max-width:700px){.health-employment-tests{grid-template-columns:1fr;gap:5px}.time-restriction-note{padding:7px 9px}}


/* ver60 parking refresh */
.parking-guide-rebuilt{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:22px;margin-top:20px;align-items:start}
.parking-guide-map-card,.parking-photo-card{background:#fff;border:1px solid #dceaf5;border-radius:20px;box-shadow:0 16px 35px rgba(15,76,129,.08)}
.parking-card-head{padding:20px 22px 10px}
.parking-card-kicker{display:inline-block;margin-bottom:6px;color:#5598c7;font-size:.75rem;font-weight:800;letter-spacing:.18em}
.parking-card-head h3{margin:0 0 8px;color:#0f4c81}
.parking-card-head p{margin:0;color:#416178;line-height:1.8}
.parking-guide-map{margin:0;padding:0 16px 16px}
.parking-guide-map img{display:block;width:100%;height:auto;border-radius:16px}
.parking-guide-map figcaption{margin-top:10px;color:#60778a;font-size:.88rem;line-height:1.7}
.parking-photo-grid{display:grid;gap:18px}
.parking-photo-card{padding:18px}
.parking-photo-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.parking-photo-heading h3{margin:0;color:#0f4c81;font-size:1.1rem}
.parking-badge{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 12px;border-radius:999px;background:linear-gradient(135deg,#ff991f,#ff6f00);color:#fff;font-weight:800;font-size:1.05rem;box-shadow:0 10px 18px rgba(255,111,0,.2)}
.parking-photo-card figure{margin:0}
.parking-photo-card img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #dceaf5}
.parking-photo-card figcaption{margin-top:10px;color:#60778a;font-size:.88rem;line-height:1.7}
.parking-guide-caption{margin:16px 0 0;color:#60778a;font-size:.9rem;line-height:1.8}
@media(max-width:900px){.parking-guide-rebuilt{grid-template-columns:1fr}.parking-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.parking-card-head{padding:16px 16px 8px}.parking-guide-map{padding:0 12px 12px}.parking-photo-grid{grid-template-columns:1fr}.parking-photo-card{padding:14px}.parking-badge{min-width:42px;height:42px;font-size:1rem}.parking-guide-caption{font-size:.85rem}}

.hours-closed-note{margin:14px 2px 0;color:#5d7588;font-weight:700;line-height:1.8}
@media(max-width:700px){.hours-closed-note{margin-top:12px;font-size:13px;line-height:1.7}}


/* ver62 closed-day note normalization */
.closed-days-note{margin:10px 0 0;color:#5d7588;font-size:14px;line-height:1.75;font-weight:700;letter-spacing:.01em}
.compact-closed-days-note{margin-top:6px;text-align:center;font-size:11px;line-height:1.55;color:#6c8192}
.hours-closed-note{margin-top:12px;font-size:14px;line-height:1.8}
.side-note.closed-days-note{margin-top:14px;font-size:13px;line-height:1.75;color:#60778a;font-weight:700}
@media(max-width:700px){
  .compact-closed-days-note{font-size:9px;line-height:1.45;margin-top:6px}
  .hours-closed-note{margin-top:10px;font-size:12px;line-height:1.65}
  .side-note.closed-days-note{margin-top:12px;font-size:11px;line-height:1.6}
}


/* ver63 note fit refinements */
.compact-closed-days-note{font-size:10.5px;line-height:1.45;letter-spacing:0;text-wrap:pretty}
.hours-closed-note{font-size:13px;line-height:1.65;letter-spacing:0;text-wrap:pretty}
.side-note.closed-days-note{font-size:12.5px;line-height:1.65;letter-spacing:0}
@media(max-width:700px){
  .compact-closed-days-note{font-size:8.5px;line-height:1.35}
  .hours-closed-note{font-size:10.5px;line-height:1.45;max-width:26em}
  .side-note.closed-days-note{font-size:10.5px;line-height:1.45}
}
