:root{
  --navy:#0c2d52;--blue:#0a5db3;--cyan:#26a6d9;--ice:#eef8fc;--ink:#10243a;--muted:#657487;--line:#dbe6ef;--white:#fff;--shadow:0 24px 70px rgba(15,45,80,.14);--radius:28px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;color:var(--ink);background:#fff;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.page-progress{position:fixed;z-index:2000;left:0;top:0;height:3px;width:100%;background:transparent}.page-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--blue))}
.site-header{position:fixed;z-index:1000;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(24px,5vw,78px);transition:.35s ease;color:#fff}.site-header.scrolled,.site-header.solid{background:rgba(255,255,255,.93);backdrop-filter:blur(18px);box-shadow:0 10px 35px rgba(14,45,75,.08);color:var(--ink);padding-top:14px;padding-bottom:14px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#29b5e7,#0a5db3);font-weight:900;font-size:28px;line-height:1;color:#fff;box-shadow:0 10px 30px rgba(10,93,179,.3)}.brand strong{display:block;font-size:22px;letter-spacing:.08em}.brand small{display:block;font-size:9px;letter-spacing:.2em;opacity:.7;margin-top:-4px}.global-nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700}.global-nav a{position:relative}.global-nav a:not(.nav-phone)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:currentColor;transition:.25s}.global-nav a:hover::after{width:100%}.nav-phone{padding:12px 18px;border:1px solid rgba(255,255,255,.38);border-radius:999px}.site-header.scrolled .nav-phone,.site-header.solid .nav-phone{border-color:var(--line);background:#f5fbff}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:currentColor;margin:5px 0;transition:.25s}
.hero{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-photo,.hero-overlay,.hero-grid{position:absolute;inset:0}.hero-photo{background:url("images/exterior-wide.png") center 55%/cover no-repeat;transform:scale(1.04);animation:heroZoom 14s ease-out forwards}.hero-overlay{background:linear-gradient(90deg,rgba(5,28,55,.88) 0%,rgba(5,35,65,.63) 48%,rgba(5,31,57,.14) 78%),linear-gradient(0deg,rgba(5,31,57,.48),transparent 45%)}.hero-grid{opacity:.11;background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.hero-content{position:relative;z-index:2;width:min(1280px,90vw);margin:0 auto;padding-top:80px}.eyebrow{font-size:12px;letter-spacing:.24em;font-weight:800;color:#92ddfa;margin:0 0 18px}.eyebrow.dark{color:var(--blue)}.hero h1{font-size:clamp(44px,6vw,88px);line-height:1.12;letter-spacing:.02em;margin:0;max-width:900px;text-shadow:0 14px 40px rgba(0,0,0,.22)}.hero h1 span{font-weight:500}.hero-copy{font-size:clamp(16px,1.5vw,21px);max-width:720px;margin:28px 0 0;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border-radius:999px;font-weight:800;font-size:14px;letter-spacing:.03em;transition:.25s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg,#36b7e7,#0a5db3);color:#fff;box-shadow:0 12px 30px rgba(5,85,166,.26)}.button-ghost{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.button-dark{background:var(--navy);color:#fff}.scroll-cue{position:absolute;z-index:3;right:5vw;bottom:35px;display:flex;gap:12px;align-items:center;font-size:10px;letter-spacing:.2em}.scroll-cue i{display:block;width:54px;height:1px;background:#fff;position:relative;overflow:hidden}.scroll-cue i::after{content:"";position:absolute;width:18px;height:1px;background:#5ed5ff;animation:scan 1.8s linear infinite}@keyframes scan{from{left:-20px}to{left:60px}}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.notice-band{display:grid;grid-template-columns:180px 1fr;align-items:stretch;background:var(--navy);color:#fff}.notice-label{display:grid;place-items:center;padding:20px;background:#082441;color:#68cff4;font-weight:900;letter-spacing:.2em}.notice-track{display:flex;gap:30px;align-items:center;padding:15px 30px;overflow:auto}.notice-track p{white-space:nowrap;margin:0;font-size:14px}.section-pad{padding:clamp(80px,10vw,150px) clamp(24px,6vw,90px)}.section-heading{max-width:1180px;margin:0 auto 60px}.section-heading h2,.split-heading h2,.hours-title h2,.access-panel h2{font-size:clamp(34px,4vw,58px);line-height:1.25;margin:0 0 18px;letter-spacing:.02em}.section-heading>p:last-child{color:var(--muted)}.intro-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.intro-copy .lead{font-size:clamp(24px,2.8vw,38px);line-height:1.6;margin:0 0 26px;font-weight:800}.intro-copy p:not(.lead){color:var(--muted)}.text-link{display:inline-flex;gap:18px;margin-top:18px;font-weight:800;color:var(--blue)}.text-link span{transition:.2s}.text-link:hover span{transform:translateX(6px)}.image-stack{position:relative;padding:0 35px 45px 0}.image-card{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.image-card img{width:100%;height:480px;object-fit:cover}.floating-note{position:absolute;right:0;bottom:0;background:#fff;border-radius:22px;padding:22px 28px;box-shadow:var(--shadow);min-width:210px}.floating-note strong,.floating-note span{display:block}.floating-note strong{color:var(--blue);font-size:20px}.floating-note span{font-size:13px;color:var(--muted)}
.hours-section{padding:40px clamp(24px,6vw,90px) 100px}.hours-shell{width:min(1250px,100%);margin:auto;background:linear-gradient(135deg,#0b315c,#0a5fae);border-radius:36px;padding:46px;color:#fff;display:grid;grid-template-columns:.75fr 1.4fr .75fr;gap:34px;align-items:center;box-shadow:0 30px 70px rgba(10,59,110,.22);position:relative;overflow:hidden}.hours-shell::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:rgba(77,209,250,.12);right:-120px;top:-180px}.hours-title h2{font-size:38px}.hours-title p{margin:0;color:rgba(255,255,255,.78)}.hours-table-wrap{min-width:0}.hours-table{width:100%;border-collapse:collapse;text-align:center}.hours-table th,.hours-table td{padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.17)}.hours-table th{font-size:13px}.hours-table td{font-weight:900;color:#8ee0ff}.hours-table .closed{color:rgba(255,255,255,.46)}.hours-note{font-size:12px;color:rgba(255,255,255,.7);margin:12px 0 0}.phone-card{position:relative;z-index:1;padding:24px;border-radius:24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px)}.phone-card span,.phone-card strong{display:block}.phone-card span{font-size:12px;opacity:.8}.phone-card strong{font-size:22px;letter-spacing:.04em;margin-top:5px}
.about{background:linear-gradient(180deg,#fff,#f6fbfe)}.split-heading{width:min(1180px,100%);margin:0 auto 65px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.split-heading>p{color:var(--muted);margin:0}.values-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.value-card{padding:32px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(25,65,100,.05);transition:.3s}.value-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.value-no{font-size:12px;letter-spacing:.18em;color:var(--cyan);font-weight:900}.value-card h3{font-size:22px;margin:40px 0 12px}.value-card p{color:var(--muted);font-size:14px}.director-message{width:min(980px,100%);margin:75px auto 0;padding:42px 48px;border-left:4px solid var(--cyan);background:#fff;border-radius:0 24px 24px 0;box-shadow:0 16px 50px rgba(20,63,99,.06)}.director-message p{font-size:18px;margin:0}.director-message footer{text-align:right;margin-top:20px}.director-message strong{font-size:18px;margin-left:8px}
.medical{background:#fff}.medical-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative;min-height:260px;padding:28px;border-radius:28px;background:linear-gradient(160deg,#f7fcff,#eef8fc);border:1px solid #dcecf5;overflow:hidden;transition:.3s}.service-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-45px;bottom:-50px;background:rgba(35,168,218,.09);transition:.3s}.service-card:hover{transform:translateY(-7px);border-color:#a9dced}.service-card:hover::after{transform:scale(1.2)}.service-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#fff;color:var(--blue);font-weight:900;box-shadow:0 8px 25px rgba(20,75,120,.08)}.service-card h3{margin:48px 0 12px;font-size:22px}.service-card p{font-size:14px;color:var(--muted);margin:0}
.facility{background:#f7fbfd}.gallery-grid{width:min(1240px,100%);margin:auto;display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(2,330px);gap:18px}.gallery-item{position:relative;margin:0;border-radius:28px;overflow:hidden;background:#ddd}.gallery-wide{grid-row:1/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.7s ease}.gallery-item:hover img{transform:scale(1.045)}.gallery-item::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,25,45,.8))}.gallery-item figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:end}.gallery-item figcaption span{grid-row:1/3;font-size:12px;opacity:.65}.gallery-item figcaption strong{font-size:20px}.gallery-item figcaption small{font-size:12px;opacity:.75}
.access{position:relative;min-height:720px;background:#092b4f;color:#fff;display:flex;align-items:center;overflow:hidden}.access-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,50,.18),rgba(5,28,50,.55)),url("images/exterior-wide.png") center/cover no-repeat;filter:saturate(.85)}.access::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,rgba(6,31,55,.92) 58%)}.access-panel{position:relative;z-index:2;width:min(610px,48vw);margin-left:auto;margin-right:6vw;padding:42px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:rgba(8,40,72,.72);backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(0,0,0,.2)}.access-panel dl{margin:28px 0}.access-panel dl div{display:grid;grid-template-columns:80px 1fr;padding:14px 0;border-top:1px solid rgba(255,255,255,.14)}.access-panel dt{font-size:12px;color:#8bdcf8;font-weight:800}.access-panel dd{margin:0}.access-panel dd a{font-size:20px;font-weight:900}.access-actions{display:flex;gap:10px;flex-wrap:wrap}.access-panel .button-dark{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}
.site-footer{padding:55px clamp(24px,6vw,90px) 95px;background:#071f38;color:#fff}.footer-brand{display:flex;gap:15px;align-items:baseline}.footer-brand strong{font-size:26px}.footer-brand span{font-size:10px;letter-spacing:.2em;opacity:.55}.site-footer nav{display:flex;flex-wrap:wrap;gap:20px;margin:25px 0}.site-footer nav a{font-size:13px;color:rgba(255,255,255,.72)}.site-footer p{font-size:11px;color:rgba(255,255,255,.45);margin:0}.mobile-call{display:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}.reveal.is-visible{opacity:1;transform:none}
.policy-main{padding:160px clamp(24px,6vw,90px) 100px;min-height:100vh;background:linear-gradient(180deg,#eff8fc,#fff 40%)}.policy-hero{width:min(980px,100%);margin:0 auto 45px}.policy-hero h1{font-size:clamp(38px,5vw,64px);margin:0}.policy-card{width:min(980px,100%);margin:auto;background:#fff;padding:clamp(28px,5vw,62px);border-radius:28px;box-shadow:var(--shadow)}.policy-card ol{padding-left:1.4em}.policy-card li{margin:14px 0}.policy-sign{margin:35px 0;font-weight:700}
@media (max-width:1050px){.global-nav{gap:16px}.hours-shell{grid-template-columns:1fr 1.6fr}.phone-card{grid-column:1/3;display:flex;justify-content:space-between;align-items:center}.medical-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 300px}.gallery-wide{grid-column:1/3;grid-row:auto}.access-panel{width:min(660px,80vw)}}
@media (max-width:820px){body{padding-bottom:72px}.site-header{padding:16px 20px}.site-header.scrolled,.site-header.solid{padding:12px 18px}.brand strong{font-size:19px}.menu-toggle{display:block;color:inherit}.global-nav{position:absolute;top:100%;left:14px;right:14px;display:grid;gap:0;background:rgba(255,255,255,.98);color:var(--ink);border-radius:20px;box-shadow:var(--shadow);padding:12px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s}.global-nav.open{opacity:1;visibility:visible;transform:none}.global-nav a{padding:13px 12px;border-bottom:1px solid #edf2f6}.global-nav .nav-phone{border:0;background:#eef8fc;margin-top:5px;text-align:center}.hero{min-height:82vh}.hero-content{padding-top:70px}.hero h1{font-size:clamp(42px,11vw,68px)}.hero-copy br{display:none}.scroll-cue{display:none}.notice-band{grid-template-columns:90px 1fr}.notice-track{gap:24px;padding-left:18px}.section-pad{padding-left:22px;padding-right:22px}.intro-grid,.split-heading{grid-template-columns:1fr;gap:40px}.image-card img{height:360px}.hours-section{padding:30px 18px 80px}.hours-shell{grid-template-columns:1fr;padding:30px 22px;border-radius:28px}.phone-card{grid-column:auto}.values-grid{grid-template-columns:1fr}.director-message{padding:28px}.medical-grid{grid-template-columns:1fr 1fr}.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:320px 280px 280px}.gallery-wide{grid-column:auto}.access{min-height:780px;align-items:flex-end;padding:30px 18px}.access::after{background:linear-gradient(0deg,rgba(6,31,55,.96) 18%,rgba(6,31,55,.32) 80%)}.access-panel{width:100%;margin:0;padding:28px}.mobile-call{position:fixed;z-index:950;left:12px;right:12px;bottom:10px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-radius:18px;background:linear-gradient(135deg,#1eb1df,#0757a4);color:#fff;box-shadow:0 10px 35px rgba(0,62,125,.35)}.mobile-call span{font-size:11px}.mobile-call strong{font-size:18px}}
@media (max-width:560px){.hero{min-height:78vh}.hero-photo{background-position:57% center}.hero-overlay{background:linear-gradient(90deg,rgba(5,28,55,.88),rgba(5,35,65,.5)),linear-gradient(0deg,rgba(5,31,57,.55),transparent 45%)}.hero h1{font-size:42px}.hero-actions{display:grid}.button{width:100%}.notice-band{grid-template-columns:1fr}.notice-label{display:none}.notice-track{padding:14px 18px}.intro-copy .lead{font-size:27px}.image-stack{padding:0 15px 25px 0}.image-card img{height:280px}.floating-note{padding:16px 18px;min-width:170px}.hours-table th,.hours-table td{padding:10px 5px;font-size:12px}.phone-card{display:block}.medical-grid{grid-template-columns:1fr}.service-card{min-height:220px}.gallery-grid{grid-template-rows:250px 250px 250px}.access-panel dl div{grid-template-columns:1fr;gap:4px}.site-footer{padding-bottom:110px}.policy-main{padding-top:120px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* News CMS */
.notice-item{display:flex;align-items:center;gap:14px;white-space:nowrap;color:#fff}.notice-item time{font-size:11px;color:#7ad9fa;letter-spacing:.08em}.notice-item strong{font-size:14px}.notice-more{margin-left:auto;white-space:nowrap;font-size:12px;color:#8ee0ff;font-weight:800}.news-list-wrap{width:min(980px,100%);margin:auto}.news-row{display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;padding:22px 20px;border-bottom:1px solid var(--line);background:#fff;transition:.2s}.news-row:first-child{border-radius:20px 20px 0 0}.news-row:last-child{border-radius:0 0 20px 20px}.news-row:hover{transform:translateX(5px);background:#f3faff}.news-row time{font-size:12px;color:var(--blue);font-weight:800}.news-detail time{font-size:13px;color:var(--blue);font-weight:800}.news-detail h2{font-size:clamp(26px,4vw,40px);line-height:1.45;margin:12px 0 28px}.news-body{line-height:2;white-space:normal;margin-bottom:34px}@media(max-width:560px){.notice-item{display:block}.notice-item time{display:block}.notice-more{margin-left:0}.news-row{grid-template-columns:1fr auto}.news-row time{grid-column:1/3}.news-row strong{font-size:15px}}
