:root{--color-white:#fff;--color-ink:#203a43;--color-ink-hover:#10242b;--color-aqua:#9bd8e7;--color-aqua-strong:#3e9ab2;--color-script:#6fbfd3;--color-pale:#e3f1f5;--color-mist:#eaf7fa;--color-cream:#faf5c6;--color-line-soft:#7ed6a0;--color-line-bg:#e8f8ee;--color-open:#2e9e6b;--color-marker:#f7e58c;--color-haze-top:#f3fafc;--color-haze-bottom:#fdfef6;--color-ink-soft:#5e7a83;--font-body:"Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--font-script:"Allura", cursive;--gutter:24px;--content-width:48rem;--radius:4px}.marker{background:linear-gradient(transparent 50%, var(--color-marker) 50%);color:inherit;padding:0 2px;font-weight:700}@keyframes fuwa{0%{opacity:0;filter:blur(10px);transform:translateY(28px)}to{opacity:1;filter:blur();transform:none}}.fuwa{animation:1.4s cubic-bezier(.2,.7,.2,1) both fuwa}.fuwa.d1{animation-delay:.2s}.fuwa.d2{animation-delay:.5s}.fuwa.d3{animation-delay:.8s}.fuwa.d4{animation-delay:1.1s}html.js .reveal:not(.is-visible){opacity:0;filter:blur(10px);transform:translateY(28px)}.reveal.is-visible{animation:1.4s cubic-bezier(.2,.7,.2,1) both fuwa}@media (prefers-reduced-motion:reduce){.fuwa,.reveal.is-visible{animation:none}html.js .reveal:not(.is-visible){opacity:1;filter:none;transform:none}}:root{color-scheme:light;font-family:var(--font-body);letter-spacing:.08em;font-size:15px;line-height:2}body{color:var(--color-ink);background:var(--color-white);margin:0}body.has-action-bar{padding-bottom:7.5rem}img{max-width:100%;height:auto;display:block}a{color:var(--color-aqua-strong)}h1,h2,h3{letter-spacing:.1em;font-weight:500;line-height:1.5}h1{margin:0 0 .75rem;font-size:1.75rem}h2{margin:0 0 1rem;font-size:1.375rem}main{max-width:var(--content-width);margin:0 auto}.section{padding:2.5rem var(--gutter)}.section-cream{background:var(--color-mist)}.lead{font-size:1.0625rem}.note{color:var(--color-ink);opacity:.7;font-size:.875rem}.button{border-radius:var(--radius);letter-spacing:.12em;justify-content:center;align-items:center;min-height:3rem;padding:0 1.25rem;font-weight:500;text-decoration:none;display:inline-flex}.button-primary{background:var(--color-mist);color:var(--color-ink);border:1px solid var(--color-aqua)}.button-secondary{background:var(--color-white);color:var(--color-ink);border:1px solid var(--color-aqua)}.button-line{background:var(--color-line-bg);color:var(--color-ink);border:1px solid var(--color-line-soft)}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.site-header{background:var(--color-white);z-index:30;position:relative}html.js .site-header{position:sticky;top:0}@media (width<=47.99rem){html.js .site-header{transition:transform .28s}html.js .site-header.is-hidden{transform:translateY(-100%)}html.js .site-header:has(.menu[open]){transition:none;transform:none}}@media (prefers-reduced-motion:reduce){html.js .site-header{transition:none}}.site-header-inner{max-width:var(--content-width);padding:18px var(--gutter);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand{z-index:2;color:var(--color-ink);flex-direction:column;line-height:1.4;text-decoration:none;display:flex;position:relative}.brand-name{letter-spacing:.2em;font-size:22px;font-weight:500}.brand-tagline{letter-spacing:.1em;font-size:14px}.menu summary{z-index:2;cursor:pointer;letter-spacing:.16em;align-items:center;gap:10px;min-height:44px;padding:0 4px;font-size:14px;list-style:none;display:flex;position:relative}.menu summary::-webkit-details-marker{display:none}.menu-bars{flex-direction:column;gap:6px;display:flex}.menu-bars span{border-top:1px solid var(--color-ink);width:28px;display:block}.menu-word-close,.menu[open] .menu-word-open,.menu[open] .menu-bars{display:none}.menu[open] .menu-word-close{display:inline}.menu-panel{z-index:1;box-sizing:border-box;background:var(--color-white);padding:110px var(--gutter) 48px;position:fixed;inset:0;overflow-y:auto}.menu-list{max-width:var(--content-width);margin:0 auto}.menu-list a{min-height:64px;color:var(--color-ink);border-bottom:1px solid var(--color-pale);justify-content:space-between;align-items:center;gap:12px;padding:0 4px;font-size:16px;text-decoration:none;display:flex}.menu-list a span{color:var(--color-aqua-strong);flex:none}.menu-actions{max-width:var(--content-width);flex-direction:column;gap:12px;margin:32px auto 0;display:flex}.menu-desktop{display:none}.menu-desktop a{color:var(--color-ink);font-size:.9375rem;text-decoration:none}.menu-list a[aria-current=page],.menu-desktop a[aria-current=page]{font-weight:700}.header-phone{display:none}.action-button{background:var(--color-mist);min-height:48px;color:var(--color-ink);border:1px solid var(--color-aqua);letter-spacing:.12em;white-space:nowrap;border-radius:2px;justify-content:center;align-items:center;gap:6px;font-weight:500;text-decoration:none;display:flex}.action-buttons .action-button{letter-spacing:.02em;gap:4px;font-size:13px}.action-button-line{background:var(--color-line-bg);border-color:var(--color-line-soft)}.site-footer{padding:72px var(--gutter) 88px;background:var(--color-mist);font-size:14px;line-height:2;position:relative}.site-footer:before{content:"";background:linear-gradient(to right, var(--color-aqua), var(--color-cream));height:1px;position:absolute;top:0;left:0;right:0}.site-footer>*{max-width:var(--content-width);margin:0;margin-inline:auto}.site-footer a{color:var(--color-ink)}.footer-brand{letter-spacing:.2em;margin-bottom:10px;font-size:20px;font-weight:500}.footer-links{margin-top:24px;font-size:12px}.action-bar{z-index:10;-webkit-backdrop-filter:blur(12px);padding:10px 12px calc(14px + env(safe-area-inset-bottom));background:#ffffffc7;border-top:1px solid #9bd8e780;position:fixed;bottom:0;left:0;right:0}.today{text-align:center;letter-spacing:.12em;margin:0 0 8px;font-size:14px;line-height:1.6}.today.is-open:before{content:"";background:var(--color-open);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.action-buttons{max-width:var(--content-width);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 auto;display:grid}@media (width>=48rem){.menu{display:none}.menu-desktop{white-space:nowrap;gap:.75rem;display:flex}.brand-tagline{white-space:nowrap;letter-spacing:.08em;font-size:12px}.menu-desktop a{font-size:13px}.header-phone{white-space:nowrap;color:var(--color-ink);font-weight:500;text-decoration:none;display:inline}.action-bar{display:none}body.has-action-bar{padding-bottom:0}h1{font-size:2.25rem}}
