:root{--blue:#003d83;--deep:#072d5a;--yellow:#f7c916;--green:#06c755;--ink:#12243a;--muted:#5d6b7c;--pale:#f2f7fb;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",sans-serif;background:#fff;line-height:1.75}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:30px;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 4px 24px rgba(7,45,90,.08)}.brand{display:flex;align-items:center;gap:13px;margin-right:auto}.brand img{width:84px;height:38px;object-fit:contain}.brand span{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.brand b{font-size:20px;letter-spacing:.08em}.brand small{font-weight:700;color:var(--blue)}nav{display:flex;gap:24px;font-size:14px;font-weight:700}nav a:hover{color:var(--blue)}.header-line{background:var(--green);color:#fff;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:800;white-space:nowrap}.menu-button{display:none;border:0;background:none;font-size:26px}.hero{height:min(760px,calc(100vh - 82px));min-height:610px;position:relative;overflow:hidden;color:#fff}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 46%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,29,67,.88) 0%,rgba(0,38,83,.58) 42%,rgba(0,38,83,.08) 72%),linear-gradient(0deg,rgba(0,25,57,.48),transparent 40%)}.hero-copy{position:absolute;left:max(6vw,calc((100vw - var(--max))/2));top:50%;transform:translateY(-53%);max-width:650px}.eyebrow{margin:0 0 14px;color:var(--yellow);font-size:13px;font-weight:900;letter-spacing:.18em}.eyebrow.green{color:var(--green)}h1{font-size:clamp(46px,6vw,82px);line-height:1.18;letter-spacing:.03em;margin:0 0 24px;font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;text-shadow:0 3px 20px rgba(0,0,0,.18)}.hero-copy>p:not(.eyebrow){font-size:18px;max-width:580px;margin:0 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:8px;font-weight:800}.button-primary{background:var(--yellow);color:var(--deep)}.button-ghost{border:1px solid rgba(255,255,255,.75);background:rgba(4,34,69,.35);color:#fff}.hours-card{position:absolute;right:max(4vw,calc((100vw - var(--max))/2));bottom:0;background:var(--blue);padding:22px 30px 20px;min-width:310px;border-top:5px solid var(--yellow);display:grid;gap:2px}.hours-card span{font-size:13px;letter-spacing:.12em;color:#c7ddf5}.hours-card strong{font-size:17px}.hours-card small{margin-top:4px;color:#dbe7f3}.quick-info{max-width:var(--max);margin:0 auto;padding:27px 0;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #dbe4ec}.quick-info div{padding:0 28px;border-right:1px solid #dbe4ec;display:flex;flex-direction:column}.quick-info div:last-child{border:0}.quick-info span{font-size:12px;color:var(--muted)}.quick-info b{font-size:16px;color:var(--blue)}.line-section{max-width:var(--max);margin:0 auto;padding:115px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.line-copy h2,.section-heading h2,.welcome-copy h2,.access-panel h2{font-family:"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;font-size:clamp(34px,4vw,54px);line-height:1.35;margin:0 0 22px;color:var(--deep)}.line-copy>p:not(.eyebrow){color:var(--muted);font-size:17px}.line-copy ol{list-style:none;padding:0;margin:28px 0}.line-copy li{display:grid;grid-template-columns:32px 1fr;column-gap:14px;padding:15px 0;border-bottom:1px solid #e0e8ee;counter-increment:steps}.line-copy ol{counter-reset:steps}.line-copy li:before{content:counter(steps);grid-row:1/3;width:30px;height:30px;border-radius:50%;background:#e8f9ef;color:#029a43;display:grid;place-items:center;font-weight:900}.line-copy li b{font-size:15px}.line-copy li span{font-size:13px;color:var(--muted)}.button-line{background:var(--green);color:#fff}.line-visual{min-height:550px;background:linear-gradient(145deg,#e6f8ee,#f4fbff);border-radius:36px;position:relative;display:grid;place-items:center;overflow:hidden}.phone-card{width:310px;height:500px;background:#f7f7f7;border:10px solid #17324d;border-radius:38px;box-shadow:0 24px 70px rgba(7,45,90,.25);padding:18px 14px;transform:rotate(-3deg)}.phone-top{display:flex;gap:9px;align-items:center;padding:5px 2px 13px;border-bottom:1px solid #ddd;font-size:13px}.phone-top span{width:27px;height:27px;border-radius:50%;background:var(--blue)}.chat{display:flex;justify-content:flex-end;margin:26px 0 18px}.chat span{background:#9eea74;border-radius:14px 14px 2px 14px;padding:10px 12px;font-size:12px}.chat.reply{justify-content:flex-start}.chat.reply span{background:#fff;border-radius:14px 14px 14px 2px}.prescription-card{height:165px;margin-left:auto;width:80%;background:#fff;border:1px solid #ddd;padding:40px 18px;text-align:center;font-size:22px;font-weight:800;color:var(--blue);box-shadow:0 4px 15px rgba(0,0,0,.08)}.prescription-card small{font-size:12px;color:#666}.qr-card{position:absolute;right:18px;bottom:28px;background:#fff;padding:15px;border-radius:16px;box-shadow:0 12px 30px rgba(7,45,90,.16);text-align:center}.qr-card img{width:145px}.qr-card b{font-size:11px}.service-section{background:var(--pale);padding:110px max(24px,calc((100vw - var(--max))/2))}.section-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:70px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:16px}.photo-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:360px 440px;gap:22px}.photo-card{position:relative;overflow:hidden;border-radius:18px;background:#061f3b;color:#fff}.photo-card.large{grid-row:1/3}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo-card:hover img{transform:scale(1.02)}.photo-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,29,67,.88))}.photo-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:24px}.photo-card span{color:var(--yellow);font-size:12px;font-weight:900}.photo-card h3{font-size:23px;margin:4px 0}.photo-card p{margin:0;color:#d9e5f0;font-size:14px}.photo-card.machine img{object-position:center 53%}.welcome-section{max-width:var(--max);margin:0 auto;padding:120px 0;display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:center}.welcome-photo{height:580px;border-radius:28px 28px 120px 28px;overflow:hidden;background:#edf3f7}.welcome-photo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.welcome-copy>p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:540px}.welcome-copy .note{border-left:4px solid var(--yellow);padding:12px 18px;color:var(--blue)!important;font-weight:800}.access-section{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:#fff}.access-panel{padding:90px max(7vw,calc((100vw - var(--max))/2)) 80px max(6vw,calc((100vw - var(--max))/2));min-width:0}.access-panel h2{color:#fff}.access-panel dl{margin:30px 0}.access-panel dl div{display:grid;grid-template-columns:110px 1fr;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.16)}.access-panel dt{font-size:13px;color:#a9c0d8}.access-panel dd{margin:0;font-weight:600}.access-buttons{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.text-link{font-weight:800}.source-note{display:block;margin-top:22px;color:#91a9c0;font-size:11px}.access-photo{min-height:650px}.access-photo img{width:100%;height:100%;object-fit:cover;object-position:58% center}.company-section{padding:110px max(24px,calc((100vw - var(--max))/2))}.section-heading.compact{align-items:center}.section-heading.compact img{width:130px;margin-left:auto}.company-content{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.message{padding:38px;background:#f4f8fb;border-top:5px solid var(--yellow)}.message h3{font-family:"Yu Mincho",serif;font-size:28px;color:var(--blue);margin-top:0}.message p{color:var(--muted)}.company-data{margin:0}.company-data div{display:grid;grid-template-columns:130px 1fr;padding:16px 0;border-bottom:1px solid #dce4ea}.company-data dt{color:var(--muted);font-size:14px}.company-data dd{margin:0;font-weight:600}footer{background:#041f3e;color:#fff;padding:54px max(24px,calc((100vw - var(--max))/2)) 24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}.footer-brand{display:flex;align-items:center;gap:13px}.footer-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:17px 17px 3px 17px;background:var(--yellow);color:var(--blue);font-weight:900;font-size:27px}.footer-brand div{display:flex;flex-direction:column}.footer-brand b{font-size:20px}.footer-brand small{color:#a9c0d8}.footer-info{color:#c6d4e2;font-size:14px}.footer-info p{margin:0}.footer-links{display:flex;flex-direction:column;gap:5px;font-size:14px}.copyright{grid-column:1/4;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin:10px 0 0;color:#7f98b0;font-size:11px}@media(max-width:980px){nav,.header-line{display:none}.menu-button{display:block}.site-header.open nav{display:flex;position:absolute;top:82px;left:0;right:0;background:#fff;flex-direction:column;padding:24px;box-shadow:0 14px 22px rgba(0,0,0,.12)}.hero{min-height:640px}.hero-copy{left:28px;right:28px}.hours-card{right:0}.quick-info,.line-section,.welcome-section{margin-left:24px;margin-right:24px}.line-section{gap:40px}.photo-grid{grid-template-columns:1fr;grid-template-rows:420px 350px 430px}.photo-card.large{grid-row:auto}.company-content{gap:30px}.access-panel{padding:70px 35px}}@media(max-width:720px){.site-header{height:68px;padding:0 18px}.brand img{width:65px}.brand b{font-size:17px}.brand small{font-size:11px}.site-header.open nav{top:68px}.hero{height:690px}.hero-photo{object-position:50% center}.hero-shade{background:linear-gradient(0deg,rgba(0,29,67,.94),rgba(0,38,83,.22) 74%)}.hero-copy{top:auto;bottom:145px;transform:none}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-actions{display:grid}.hours-card{left:18px;right:18px;min-width:0;padding:15px 20px}.quick-info{grid-template-columns:1fr;margin:0 18px;padding:16px 0}.quick-info div{padding:10px;border-right:0;border-bottom:1px solid #e0e7ed}.line-section,.welcome-section{grid-template-columns:1fr;margin:0;padding:80px 20px;gap:45px}.line-visual{min-height:520px}.phone-card{width:270px;height:455px}.qr-card{right:7px}.qr-card img{width:112px}.service-section,.company-section{padding:75px 20px}.section-heading{grid-template-columns:1fr;gap:10px}.photo-grid{grid-template-rows:320px 280px 390px}.welcome-photo{height:480px}.access-section{grid-template-columns:1fr}.access-photo{min-height:380px;order:-1}.access-panel{padding:60px 22px}.company-content{grid-template-columns:1fr}.company-data div{grid-template-columns:105px 1fr}.section-heading.compact img{margin:10px 0 0;width:100px}footer{grid-template-columns:1fr;padding:45px 22px 20px}.copyright{grid-column:1}h1{font-size:44px}.line-copy h2,.section-heading h2,.welcome-copy h2,.access-panel h2{font-size:36px}}
/* Bright, airy refresh */
:root{--blue:#1265a8;--deep:#164f7f;--sky:#dff4ff;--aqua:#eafaf7;--yellow:#ffd43b;--ink:#18354d;--muted:#587084;--pale:#f5fbff}
.hero{color:var(--ink)}
.hero-shade{background:linear-gradient(90deg,rgba(244,251,255,.97) 0%,rgba(238,249,255,.80) 40%,rgba(255,255,255,.07) 73%),linear-gradient(0deg,rgba(34,132,184,.13),transparent 42%)}
.hero-copy{color:var(--ink)}
h1{color:#0c528a;text-shadow:none}
.button-ghost{border-color:#65a4cc;background:rgba(255,255,255,.88);color:var(--blue)}
.hours-card{background:rgba(255,255,255,.95);color:var(--ink);box-shadow:0 18px 50px rgba(27,105,156,.18)}
.hours-card span{color:var(--blue)}
.hours-card small{color:var(--muted)}
.quick-info{background:#fff}
.line-visual{background:linear-gradient(145deg,#dcf8ec,#e3f6ff 62%,#fff8d8);box-shadow:0 22px 70px rgba(47,136,186,.12)}
.service-section{background:linear-gradient(180deg,#f8fdff,#edf9ff)}
.photo-card:after{inset:52% 0 0;background:linear-gradient(transparent,rgba(8,74,116,.76))}
.welcome-section{background:#fff}
.access-section{background:linear-gradient(135deg,#dff5ff,#f4fbff);color:var(--ink)}
.access-panel h2{color:var(--deep)}
.access-panel dl div{border-bottom-color:rgba(18,101,168,.17)}
.access-panel dt{color:#547a98}
.source-note{color:#68869d}
.company-section{background:linear-gradient(180deg,#fff,#f8fcff)}
footer{background:#0e5b92}
@media(max-width:720px){.hero-shade{background:linear-gradient(0deg,rgba(246,252,255,.99) 0%,rgba(239,250,255,.86) 49%,rgba(255,255,255,.05) 84%)}.hero-copy>p:not(.eyebrow){color:#294e69}.hours-card{background:rgba(255,255,255,.97)}}
.footer-logo{width:105px;height:58px;object-fit:contain;object-position:center}
.brand img{width:132px;height:52px}
.footer-logo{width:165px;height:82px}
@media(max-width:1100px) and (min-width:981px){.brand img{width:112px}.site-header{gap:20px}nav{gap:16px}}
@media(max-width:720px){.brand img{width:110px;height:46px}.footer-logo{width:145px;height:72px}}
