:root{--accent: #e0673f;--accent: oklch(.7 .16 22);--accent-dark: #b14a28;--accent-dark: oklch(.56 .154 22);--accent-soft: #fbe3d9;--accent-soft: oklch(.95 .064 22);--accent-bg: #fcede6;--accent-bg: oklch(.97 .04 22);--cream: #fdf8f4;--cream: oklch(.985 .01 27);--ink: #241a14;--text-strong: #3d2f24;--text-mid: #5a4a3d;--text-soft: #8a7458;--line: #efe3d4;--line-input: #e8d9c8;--font-sans: "Zen Kaku Gothic New", "Noto Sans JP", system-ui, sans-serif;--font-serif: "Shippori Mincho", "Noto Serif JP", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--h-scale: 1;--container: 1120px;--container-pad: 24px;--utilbar-h: 34px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-sans);line-height:1.7;font-size:16px;--fs: 1}body.fs-sm{--fs: .92}body.fs-md{--fs: 1}body.fs-lg{--fs: 1.12}h1,h2,h3{letter-spacing:.02em;line-height:1.3;margin:0;font-weight:700}h2{font-size:calc(40px * var(--h-scale) * var(--fs))}h3{font-size:calc(22px * var(--h-scale) * var(--fs))}a{color:inherit;text-decoration:none}img{max-width:100%}.container{max-width:var(--container);margin:0 auto;padding:0 var(--container-pad)}section{padding:80px 0}.pillBtn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;font-weight:700;transition:transform .15s,box-shadow .15s;cursor:pointer;border:none;font-family:inherit;font-size:15px;text-decoration:none}.pillBtn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -8px var(--accent)}.pillBtn.primary{background:var(--accent);color:#fff}.pillBtn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line-input)}.badge{display:inline-block;padding:4px 12px;background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em}.card{background:#fff;border-radius:20px;padding:28px;border:1px solid var(--line);transition:transform .3s ease,box-shadow .3s ease}.card.hoverable:hover{transform:translateY(-4px);box-shadow:0 12px 28px -16px #241a142e}.scheduleTable{width:100%;border-collapse:collapse}.scheduleTable th,.scheduleTable td{padding:10px 4px;text-align:center}.scheduleTable th{background:var(--accent-bg);font-weight:700;color:var(--accent-dark)}.scheduleTable td.off{color:#c0a890}.scheduleTable td.on{color:var(--accent-dark);font-weight:700}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-serif)}.skipLink{position:absolute;left:-9999px;top:0;padding:12px 18px;background:var(--accent);color:#fff;z-index:200;border-radius:0 0 12px;font-weight:700}.skipLink:focus{left:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.nav-link{position:relative;padding:6px 2px;transition:color .2s}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-link:hover{color:var(--accent)}.nav-link:hover:after{transform:scaleX(1)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.4}}.pulseDot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulseDot 2s infinite}.pulseDot.sm{width:6px;height:6px}.pulseDot.white{background:#fff}.backToTop{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px -8px #241a1459;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .3s,transform .3s;border:none;font-size:18px;z-index:90}.backToTop.show{opacity:1;pointer-events:auto;transform:translateY(0)}.mobileCallCta{position:fixed;bottom:24px;left:24px;display:none;align-items:center;gap:10px;background:var(--accent);color:#fff;padding:12px 18px;border-radius:999px;font-weight:800;font-size:14px;box-shadow:0 12px 28px -8px #241a1459;z-index:90}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:17px;transition:color .2s}.faq summary:hover{color:var(--accent)}.faq summary::-webkit-details-marker{display:none}.faq summary .arrow{transition:transform .2s;color:var(--accent);font-size:20px}.faq details[open] summary .arrow{transform:rotate(45deg)}.faq .ans{padding:0 0 22px 36px;color:var(--text-mid)}.siteHeader{position:sticky;top:var(--utilbar-h, 0);z-index:50;background:color-mix(in srgb,var(--cream) 93%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.siteHeader .inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.logo{display:flex;align-items:center;gap:12px;color:inherit}.logo .logoMark{height:42px;width:auto;display:block;flex-shrink:0}.logo .name{font-weight:800;font-size:17px}.logo .sub{font-size:11px;color:var(--text-soft);letter-spacing:.08em}.mainNav{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:600}.navToggle{display:none}@media(max-width:768px){section{padding:56px 0}h2{font-size:calc(30px * var(--h-scale) * var(--fs))}.mobileCallCta{display:inline-flex}.backToTop{bottom:86px}.navToggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line-input);border-radius:12px;background:#fff;cursor:pointer;font-size:18px}.mainNav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--cream);border-bottom:1px solid var(--line);padding:8px 24px 20px;display:none}.mainNav.open{display:flex}.mainNav a{padding:12px 0;border-bottom:1px solid var(--line)}.mainNav .pillBtn{margin-top:12px;justify-content:center}.grid-4,.grid-3,.grid-2,.split{grid-template-columns:1fr!important}.table-scroll{overflow-x:auto}.table-scroll table{min-width:560px}}@media(max-width:1024px)and (min-width:769px){.grid-4{grid-template-columns:repeat(2,1fr)!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
