@import"https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap";:root{--c-primary: #3b6b4f;--c-primary-dark: #2d5340;--c-primary-light: #e6f0ea;--c-primary-pale: #f2f8f4;--c-accent: #b85c3c;--c-accent-dark: #9a4b30;--c-accent-light: #faf0eb;--c-alert: #b53d3d;--c-alert-light: #fdf0f0;--c-bg: #faf9f6;--c-surface: #ffffff;--c-surface-warm: #f7f5f1;--c-text: #2a2a28;--c-text-muted: #6b6862;--c-text-light: #736f67;--c-border: #e4e0da;--c-border-light: #eeebe6;--ff-display: "Shippori Mincho", "游明朝", "Yu Mincho", serif;--ff-heading: "Zen Maru Gothic", "Rounded Mplus 1c", "ヒラギノ丸ゴ Pro", sans-serif;--ff-body: "Zen Maru Gothic", -apple-system, "Segoe UI", "Hiragino Sans", "Yu Gothic", sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-3xl: 2.5rem;--lh-tight: 1.3;--lh-normal: 1.75;--lh-loose: 2;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--r-sm: .375rem;--r-md: .625rem;--r-lg: 1rem;--r-xl: 1.5rem;--r-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 8px rgba(0,0,0,.06);--shadow-lg: 0 4px 20px rgba(0,0,0,.08);--shadow-card: 0 1px 4px rgba(42,42,40,.05), 0 4px 16px rgba(42,42,40,.04);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .4s;--content-max: 960px;--content-wide: 1100px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--ff-body);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}h1,h2,h3,h4{font-family:var(--ff-display);font-weight:700;line-height:var(--lh-tight);color:var(--c-text)}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{margin-bottom:var(--sp-4)}p:last-child{margin-bottom:0}.section{padding:var(--sp-16) var(--sp-6)}.section-alt{background:var(--c-surface-warm)}.container{max-width:var(--content-max);margin:0 auto}.container-wide{max-width:var(--content-wide);margin:0 auto}.section-heading{text-align:center;margin-bottom:var(--sp-10)}.section-heading h1,.section-heading h2{display:inline-block;position:relative;padding-bottom:var(--sp-3)}.section-heading h1:after,.section-heading h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:3px;background:var(--c-primary);border-radius:var(--r-full)}.section-heading .section-sub{display:block;font-family:var(--ff-body);font-size:var(--fs-sm);font-weight:400;color:var(--c-text-muted);margin-top:var(--sp-2);letter-spacing:.04em}.card{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-8);transition:box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-flat{background:var(--c-surface);border:1px solid var(--c-border-light);border-radius:var(--r-lg);padding:var(--sp-8)}.card-accent{border-left:4px solid var(--c-primary)}.card-alert{border-left:4px solid var(--c-alert);background:var(--c-alert-light)}.card-warm{border-left:4px solid var(--c-accent);background:var(--c-accent-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--ff-heading);font-size:var(--fs-base);font-weight:500;line-height:1;padding:var(--sp-3) var(--sp-6);border:2px solid transparent;border-radius:var(--r-full);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);white-space:nowrap;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--c-primary);color:#fff}.btn-primary:hover{background:var(--c-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background:var(--c-accent);color:#fff}.btn-accent:hover{background:var(--c-accent-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-alert{background:var(--c-alert);color:#fff}.btn-alert:hover{background:#9a3030;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;border-color:var(--c-primary);color:var(--c-primary)}.btn-outline:hover{background:var(--c-primary-pale)}.btn-ghost{background:var(--c-surface);border-color:var(--c-border);color:var(--c-text)}.btn-ghost:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-pale)}.btn-lg{font-size:var(--fs-md);padding:var(--sp-4) var(--sp-8)}.btn-sm{font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-4)}.btn-block{width:100%}.btn-phone{background:var(--c-primary);color:#fff;font-size:var(--fs-lg);padding:var(--sp-4) var(--sp-8)}.btn-phone:hover{background:var(--c-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.site-header{position:sticky;top:0;z-index:100;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border-light);height:var(--header-height)}.header-inner{max-width:var(--content-wide);margin:0 auto;padding:0 var(--sp-6);display:flex;align-items:center;justify-content:space-between;height:100%}.header-logo{font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:700;color:var(--c-primary);text-decoration:none;letter-spacing:.04em;flex-shrink:0}.header-logo:hover{text-decoration:none;color:var(--c-primary-dark)}.header-nav{display:none}.header-nav ul{list-style:none;display:flex;gap:var(--sp-1)}.header-nav a{display:block;padding:var(--sp-2) var(--sp-3);font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:500;color:var(--c-text-muted);border-radius:var(--r-sm);transition:color var(--dur-fast),background var(--dur-fast);text-decoration:none}.header-nav a:hover,.header-nav a[aria-current=page]{color:var(--c-primary);background:var(--c-primary-pale)}.header-phone{display:none;font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:500;color:var(--c-primary);text-decoration:none;gap:var(--sp-1);align-items:center}.hamburger{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--sp-4);min-width:48px;min-height:48px;align-items:center;justify-content:center;z-index:110}.hamburger span{display:block;width:22px;height:2px;background:var(--c-text);border-radius:1px;transition:transform var(--dur-normal) var(--ease-out),opacity var(--dur-fast)}.hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:105;background:#fffffffa;backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);opacity:0;visibility:hidden;transition:opacity var(--dur-normal) var(--ease-out),visibility var(--dur-normal)}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu a{font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:500;color:var(--c-text);padding:var(--sp-3) var(--sp-6);text-decoration:none;border-radius:var(--r-md);transition:color var(--dur-fast),background var(--dur-fast)}.mobile-menu a:hover,.mobile-menu a[aria-current=page]{color:var(--c-primary);background:var(--c-primary-pale)}.mobile-menu .mobile-menu-phone{margin-top:var(--sp-6);font-family:var(--ff-heading);font-size:var(--fs-lg);color:var(--c-primary);display:flex;align-items:center;gap:var(--sp-2)}.hero{position:relative;background:linear-gradient(135deg,var(--c-primary-light) 0%,var(--c-surface-warm) 50%,var(--c-accent-light) 100%);padding:var(--sp-16) var(--sp-6) var(--sp-12);overflow:hidden}.hero-sakura{position:absolute;inset:0;background:url(/images/seasonal-accent.jpg) right 20% top 35% / cover no-repeat;opacity:.1;-webkit-mask-image:linear-gradient(to right,transparent 25%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.7) 75%,black 100%);mask-image:linear-gradient(to right,transparent 25%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.7) 75%,black 100%);pointer-events:none;z-index:0}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(59,107,79,.06) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero:after{content:"";position:absolute;bottom:-30%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(184,92,60,.04) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-inner{max-width:var(--content-max);margin:0 auto;position:relative;z-index:1}.hero-badge{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--c-surface);border:1px solid var(--c-border-light);border-radius:var(--r-full);padding:var(--sp-1) var(--sp-4) var(--sp-1) var(--sp-3);font-size:var(--fs-sm);color:var(--c-text-muted);margin-bottom:var(--sp-6);box-shadow:var(--shadow-sm)}.hero-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--c-primary);flex-shrink:0}.hero h1{font-size:clamp(1.75rem,5vw,2.75rem);margin-bottom:var(--sp-4);letter-spacing:.02em}.hero h1 strong{color:var(--c-primary)}.hero-lead{font-size:clamp(var(--fs-base),2.5vw,var(--fs-lg));color:var(--c-text-muted);max-width:580px;margin-bottom:var(--sp-3);line-height:var(--lh-loose)}.hero-sub{font-size:clamp(var(--fs-sm),2vw,var(--fs-base));color:var(--c-primary);font-weight:500;max-width:580px;margin-bottom:var(--sp-8);line-height:var(--lh-loose);letter-spacing:.03em}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.today-banner{background:var(--c-surface);border:1px solid var(--c-border-light);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-6);display:flex;align-items:center;gap:var(--sp-3);box-shadow:var(--shadow-sm);margin-top:var(--sp-8);font-size:var(--fs-sm)}.today-banner-icon{width:10px;height:10px;border-radius:50%;flex-shrink:0}.today-open{background:var(--c-primary)}.today-closed{background:var(--c-alert)}.today-banner-text{font-weight:500}.hours-table{display:grid;gap:var(--sp-3)}.hours-table-wrapper{width:100%}.hours-table-mobile{display:none}.hours-grid{width:100%;border-collapse:separate;border-spacing:1px;background:var(--c-border-light);border-radius:var(--r-lg);overflow:hidden;font-size:var(--fs-sm)}.hours-grid th,.hours-grid td{background:var(--c-surface);padding:var(--sp-3) var(--sp-2);text-align:center;vertical-align:middle}.hours-grid-header{font-weight:700;background:var(--c-primary-pale);color:var(--c-text);font-family:var(--ff-heading)}.hours-grid-label{font-weight:600;background:var(--c-primary-pale);font-family:var(--ff-heading);white-space:nowrap;padding-left:var(--sp-3);padding-right:var(--sp-3);text-align:center}.hours-time{display:block;margin-top:var(--sp-1)}.hours-cell{font-weight:500;font-size:var(--fs-md)}.hours-cell-mark{line-height:1}.hours-open{color:var(--c-primary)}.hours-closed{color:var(--c-text-light)}.hours-grid-mobile{table-layout:fixed}.hours-grid-mobile .hours-grid-header:first-child,.hours-grid-mobile .hours-grid-day{width:5rem}.hours-grid-day{text-align:left;white-space:normal}.hours-day-name{display:block;font-size:var(--fs-md)}.hours-day-note{display:inline-flex;align-items:center;margin-top:var(--sp-1);padding:.125rem .5rem;border:1px solid var(--c-border-light);border-radius:999px;background:var(--c-surface);color:var(--c-text-muted);font-size:var(--fs-xs);font-weight:500;line-height:1.4}.hours-session-label,.hours-session-time,.hours-status{display:block}.hours-session-time{margin-top:var(--sp-1);color:var(--c-text-muted);font-size:var(--fs-xs);font-weight:500;line-height:1.4}.hours-cell-text{font-size:var(--fs-base);font-weight:700}.hours-cell-text.hours-open{background:var(--c-primary-pale)}.hours-cell-text.hours-closed{background:var(--c-surface-warm)}.hours-note{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);color:var(--c-text-muted);background:var(--c-surface-warm);border:1px solid var(--c-border-light);border-radius:var(--r-lg);text-align:left}.hours-note-line{display:block}.hours-note-line+.hours-note-line{margin-top:var(--sp-1)}.hours-summary{font-size:var(--fs-sm)}.hours-summary dt{font-weight:600;color:var(--c-text)}.hours-summary dd{color:var(--c-text-muted);margin-bottom:var(--sp-2)}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}.photo-frame{margin:0}.photo-frame-media{position:relative;aspect-ratio:4 / 3;border-radius:var(--r-lg);overflow:hidden;background:var(--c-surface-warm);box-shadow:var(--shadow-card);transition:box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}.photo-frame-media:after{content:"";position:absolute;inset:0;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px #0000000f;pointer-events:none}.photo-frame:hover .photo-frame-media{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out)}.photo-frame:hover img{transform:scale(1.03)}.photo-frame figcaption{margin-top:var(--sp-3);font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:600;color:var(--c-text-muted);text-align:center;letter-spacing:.02em}.photo-inline{max-width:480px;margin:0 auto}.photo-inline .photo-frame-media{aspect-ratio:3 / 2}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-6)}.service-card{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-8);position:relative;overflow:hidden;transition:box-shadow var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out)}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--c-primary)}.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.service-card h3{font-family:var(--ff-display);font-size:var(--fs-lg);margin-bottom:var(--sp-3)}.service-card p{color:var(--c-text-muted);line-height:var(--lh-normal)}.service-detail-list{display:flex;flex-direction:column;gap:var(--sp-8)}.faq-nav{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap;margin-bottom:var(--sp-12)}.faq-nav-item{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-full);font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:500;text-decoration:none;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);transition:all var(--dur-fast) var(--ease-out)}.faq-nav-item:hover{text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.faq-nav-item--green:hover{border-color:var(--c-primary);background:var(--c-primary-pale);color:var(--c-primary)}.faq-nav-item--red:hover{border-color:var(--c-alert);background:var(--c-alert-light);color:var(--c-alert)}.faq-nav-item--warm:hover{border-color:var(--c-accent);background:var(--c-accent-light);color:var(--c-accent)}.faq-nav-icon{font-size:var(--fs-base);line-height:1}.faq-list{display:flex;flex-direction:column;gap:var(--sp-4)}.faq-section{margin-bottom:var(--sp-16);scroll-margin-top:calc(var(--header-height) + var(--sp-6))}.faq-section-heading{font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:700;color:var(--c-text);margin-bottom:var(--sp-6);display:flex;align-items:center;gap:var(--sp-3)}.faq-section-icon{font-size:var(--fs-xl);line-height:1}.faq-section--green .faq-section-heading{padding-bottom:var(--sp-3);border-bottom:3px solid var(--c-primary)}.faq-section--red .faq-section-heading{padding-bottom:var(--sp-3);border-bottom:3px solid var(--c-alert)}.faq-section--warm .faq-section-heading{padding-bottom:var(--sp-3);border-bottom:3px solid var(--c-accent)}.faq-section-cta{margin-top:var(--sp-5);padding:var(--sp-5) var(--sp-6);background:var(--c-primary-pale);border-radius:var(--r-lg);border:1px solid var(--c-primary-light);display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.faq-section-cta p{flex:1;margin-bottom:0;min-width:180px;font-size:var(--fs-sm);color:var(--c-text-muted)}.faq-section-cta--alert{background:var(--c-alert-light);border-color:var(--c-alert-light)}.faq-section-cta--alert p{color:var(--c-text-muted)}.faq-section--warm .faq-section-cta{background:var(--c-accent-light);border-color:var(--c-accent-light)}.faq-item{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--c-border-light);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.faq-item:hover{border-color:var(--c-border);box-shadow:var(--shadow-md)}.faq-item[open]{border-color:var(--c-primary-light);box-shadow:var(--shadow-md)}.faq-section--red .faq-item[open]{border-color:var(--c-alert-light)}.faq-section--warm .faq-item[open]{border-color:var(--c-accent-light)}.faq-question{width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5);background:none;border:none;cursor:pointer;text-align:left;line-height:var(--lh-normal);transition:background var(--dur-fast);list-style:none}.faq-question::-webkit-details-marker{display:none}.faq-question::marker{content:""}.faq-question:hover{background:var(--c-surface-warm)}.faq-question:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.faq-q-badge{flex-shrink:0;align-self:flex-start;margin-top:2px;width:32px;height:32px;border-radius:50%;background:var(--c-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:700}.faq-section--red .faq-q-badge{background:var(--c-alert)}.faq-section--warm .faq-q-badge{background:var(--c-accent)}.faq-q-text{flex:1;font-family:var(--ff-heading);font-size:var(--fs-base);font-weight:600;color:var(--c-text)}.faq-chevron{flex-shrink:0;align-self:flex-start;margin-top:6px;width:20px;height:20px;color:var(--c-text-light);transition:transform var(--dur-normal) var(--ease-out),color var(--dur-fast)}.faq-item[open] .faq-chevron{transform:rotate(180deg);color:var(--c-primary)}.faq-section--red .faq-item[open] .faq-chevron{color:var(--c-alert)}.faq-section--warm .faq-item[open] .faq-chevron{color:var(--c-accent)}.faq-answer{display:flex;gap:var(--sp-3);padding:0 var(--sp-5) var(--sp-6);overflow:hidden;transition:max-height var(--dur-slow) var(--ease-out),opacity var(--dur-normal) var(--ease-out)}.faq-a-badge{flex-shrink:0;align-self:flex-start;margin-top:2px;width:32px;height:32px;border-radius:50%;background:var(--c-surface-warm);color:var(--c-text-muted);display:flex;align-items:center;justify-content:center;font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:700;border:1px solid var(--c-border-light)}.faq-a-body{flex:1;color:var(--c-text-muted);line-height:var(--lh-loose);padding-top:var(--sp-1)}.faq-a-body p{margin-bottom:var(--sp-3)}.faq-a-body p:last-child{margin-bottom:0}.faq-a-body a{color:var(--c-primary);text-decoration:underline;text-underline-offset:2px}.faq-a-body a:hover{color:var(--c-primary-dark)}.news-list{display:flex;flex-direction:column;gap:var(--sp-4)}.news-item{display:flex;gap:var(--sp-4);align-items:baseline;padding:var(--sp-4) var(--sp-5);background:var(--c-surface);border-radius:var(--r-md);border:1px solid var(--c-border-light);text-decoration:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.news-item:hover{border-color:var(--c-primary);box-shadow:var(--shadow-sm);text-decoration:none}.news-date{flex-shrink:0;font-size:var(--fs-sm);color:var(--c-text-light);font-variant-numeric:tabular-nums;min-width:6em}.news-title{font-weight:500;color:var(--c-text)}.access-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}.access-map{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--c-surface-warm)}.access-map iframe{width:100%;height:100%;border:0}.site-footer{background:var(--c-text);color:#ffffffb3;padding:var(--sp-12) var(--sp-6) var(--sp-8)}.footer-inner{max-width:var(--content-max);margin:0 auto}.footer-top{display:grid;grid-template-columns:1fr;gap:var(--sp-8);margin-bottom:var(--sp-8);padding-bottom:var(--sp-8);border-bottom:1px solid rgba(255,255,255,.1)}.footer-clinic-name{font-family:var(--ff-display);font-size:var(--fs-xl);font-weight:700;color:#fff;margin-bottom:var(--sp-3)}.footer-address{margin-bottom:var(--sp-2);line-height:var(--lh-normal)}.footer-phone{color:#fff;font-weight:600;font-size:var(--fs-md);text-decoration:none}.footer-phone:hover{text-decoration:underline;color:#fff}.footer-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}.footer-nav a{color:#ffffffb3;font-size:var(--fs-sm);text-decoration:none;transition:color var(--dur-fast)}.footer-nav a:hover{color:#fff;text-decoration:underline}.footer-copy{text-align:center;font-size:var(--fs-xs);color:#fff6}.mobile-action-bar{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--c-border-light);padding:var(--sp-2) var(--sp-4);display:flex;justify-content:center;gap:var(--sp-2)}.mobile-action-bar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);font-weight:500;color:var(--c-text-muted);text-decoration:none;border-radius:var(--r-sm);transition:color var(--dur-fast),background var(--dur-fast);flex:1;max-width:100px;min-height:48px}.mobile-action-bar a:hover{color:var(--c-primary);background:var(--c-primary-pale);text-decoration:none}.mobile-action-bar .action-icon{font-size:var(--fs-lg)}.breadcrumb{padding:var(--sp-4) var(--sp-6);font-size:var(--fs-sm);color:var(--c-text-light)}.breadcrumb-inner{max-width:var(--content-max);margin:0 auto;list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-1)}.breadcrumb a{color:var(--c-text-muted);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-sep{color:var(--c-border);margin:0 var(--sp-1)}.info-box{background:var(--c-primary-pale);border-radius:var(--r-lg);padding:var(--sp-6);border:1px solid var(--c-primary-light)}.info-box-alert{background:var(--c-alert-light);border-color:#f0d0d0}.info-box-warm{background:var(--c-accent-light);border-color:#f0ddd6}.info-box h3,.info-box h4{font-family:var(--ff-heading);font-size:var(--fs-base);font-weight:600;margin-bottom:var(--sp-3)}.info-box p{font-size:var(--fs-sm);color:var(--c-text-muted);line-height:var(--lh-normal)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-center{text-align:center}.text-muted{color:var(--c-text-muted)}.text-sm{font-size:var(--fs-sm)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mt-10{margin-top:var(--sp-10)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.mb-2{margin-bottom:var(--sp-2)}.mt-2{margin-top:var(--sp-2)}.mt-1{margin-top:var(--sp-1)}.text-alert{color:var(--c-alert)}.article-container{max-width:720px}.article-header{margin-bottom:var(--sp-8)}.article-body{line-height:var(--lh-loose);color:var(--c-text-muted)}.card-heading{font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:600;margin-bottom:var(--sp-4)}.card-heading-sm{font-family:var(--ff-heading);font-size:var(--fs-base);font-weight:600;margin-bottom:var(--sp-3)}.card-heading-display{font-family:var(--ff-display);font-size:var(--fs-xl);margin-bottom:var(--sp-4)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--sp-6)}.cta-group{display:flex;justify-content:center;gap:var(--sp-3);flex-wrap:wrap}.check-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3)}.check-list li{display:flex;align-items:flex-start;gap:var(--sp-3)}.check-icon{color:var(--c-primary);font-weight:600;flex-shrink:0}.page-intro{max-width:640px;margin:0 auto var(--sp-8);text-align:center;color:var(--c-text-muted)}.content-prose{line-height:var(--lh-loose);color:var(--c-text-muted)}.content-prose ul,.content-prose ol{padding-left:1.5em;margin-bottom:var(--sp-4)}.content-prose li{margin-bottom:var(--sp-2)}.content-prose li::marker{color:var(--c-primary)}.content-prose p{margin-bottom:var(--sp-4)}.content-prose p:last-child{margin-bottom:0}.content-prose a{color:var(--c-primary);text-decoration:underline;text-underline-offset:2px}.access-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-3) var(--sp-4)}.access-dl dt{font-weight:600;color:var(--c-text);white-space:nowrap}.access-dl dd{color:var(--c-text-muted)}.error-code{font-size:clamp(3rem,10vw,6rem);color:var(--c-border);margin-bottom:var(--sp-4)}.error-section{min-height:50vh;display:flex;align-items:center}.emergency-contacts{display:flex;flex-direction:column;gap:var(--sp-4)}.emergency-contact-card{background:var(--c-surface)}.tel-link{font-weight:600}.js-enabled .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.js-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.js-enabled .reveal{opacity:1;transform:none;transition:none}.faq-chevron,.faq-answer,.faq-item,.faq-question,.faq-nav-item,.card,.btn{transition:none}}.js-enabled .stagger>.reveal:nth-child(1){transition-delay:0ms}.js-enabled .stagger>.reveal:nth-child(2){transition-delay:80ms}.js-enabled .stagger>.reveal:nth-child(3){transition-delay:.16s}.js-enabled .stagger>.reveal:nth-child(4){transition-delay:.24s}.js-enabled .stagger>.reveal:nth-child(5){transition-delay:.32s}@media(min-width:768px){.hamburger{display:none}.mobile-menu{display:none!important}.header-nav{display:block}.header-phone{display:flex}.mobile-action-bar{display:none}.hero{padding:var(--sp-20) var(--sp-6) var(--sp-16)}.footer-top,.access-grid{grid-template-columns:1fr 1fr}}@media(max-width:767px){:root{--header-height: 56px}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}.section{padding:var(--sp-10) var(--sp-4)}.card,.card-flat{padding:var(--sp-5)}body{padding-bottom:calc(var(--sp-16) + env(safe-area-inset-bottom,0px))}.hero-sakura{opacity:.07;-webkit-mask-image:linear-gradient(to right,transparent 35%,black 100%);mask-image:linear-gradient(to right,transparent 35%,black 100%)}.faq-nav{gap:var(--sp-2)}.faq-nav-item{font-size:var(--fs-xs);padding:var(--sp-2) var(--sp-4)}.faq-question{padding:var(--sp-4)}.faq-q-badge,.faq-a-badge{width:28px;height:28px;font-size:var(--fs-xs)}.faq-answer{padding:0 var(--sp-4) var(--sp-5)}.faq-section-heading{font-size:var(--fs-lg)}.photo-grid{grid-template-columns:1fr}.hours-table{gap:var(--sp-2)}.hours-table-desktop{display:none}.hours-table-mobile{display:block}.hours-grid{font-size:var(--fs-xs)}.hours-grid th,.hours-grid td{padding:var(--sp-3) var(--sp-2)}.hours-grid-mobile .hours-grid-header:first-child,.hours-grid-mobile .hours-grid-day{width:4.5rem}.hours-day-name{font-size:var(--fs-base)}.hours-cell-text{font-size:var(--fs-sm)}}@media(max-width:360px){html{font-size:14px}.mobile-action-bar{gap:0;padding:var(--sp-1) var(--sp-2)}.mobile-action-bar a{padding:var(--sp-2) var(--sp-2)}.footer-nav ul{gap:var(--sp-1) var(--sp-2)}.footer-nav a{font-size:var(--fs-xs)}}@media print{.site-header,.mobile-action-bar,.hamburger,.mobile-menu{display:none!important}body{background:#fff;color:#000}.section{padding:1rem 0}.faq-item{border:1px solid #ccc}.faq-answer{max-height:none!important;opacity:1!important;display:flex!important}.faq-chevron,.faq-nav{display:none}.hours-table-desktop{display:block!important}.hours-table-mobile{display:none!important}.hours-grid{background:#ccc;box-shadow:none}.hours-grid th,.hours-grid td{color:#000!important;background:#fff}.hours-grid-header,.hours-grid-label{background:#f5f5f5!important}.hours-note{color:#000;background:#fff;border-color:#ccc}}
