/* GENERATED by tools/build_css.py from tokens.css, base.css, components.css, characters.css, chrome.css. Do not edit. */
@font-face{font-family:"Bricolage Grotesque";src:url("/assets/fonts/bricolage-grotesque-latin.woff2") format("woff2");font-weight:600 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Figtree";src:url("/assets/fonts/figtree-normal-latin.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Figtree";src:url("/assets/fonts/figtree-italic-latin.woff2") format("woff2");font-weight:300 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
--jp-sakura-iro:#F1C6C1;
--jp-tanpopo-iro:#F8D800;
--jp-nanohana-iro:#E3B130;
--jp-asamidori:#88CB7F;
--jp-wasurenagusa-iro:#89C3EB;
--jp-aotake-iro:#006442;
--jp-otan:#FF4E20;
--jp-mikan-iro:#F08300;
--jp-shikon-iro:#4A2C5A;
--jp-shironeri:#F4EFE6;
--tint-sakura:#F3E4DC;
--tint-tanpopo:#F5E9A6;
--tint-nanohana:#EFDEB3;
--tint-asamidori:#D6E5C9;
--tint-wasurenagusa:#D6E3E7;
--tint-otan:#F7C2AF;
--tint-mikan:#F3D1A6;
--tint-shikon:#E6DFDB;
--tint-aotake:#DCE1D6;
--color-canvas:var(--jp-shironeri);
--color-surface:var(--jp-shironeri);
--color-text:var(--jp-shikon-iro);
--color-text-2:#5B4068;
--color-action:var(--jp-aotake-iro);
--color-action-hover:#155449;
--color-on-action:var(--jp-shironeri);
--color-border:#D9D0D0;
--color-border-strong:#A897A7;
--color-focus:var(--jp-aotake-iro);
--color-dark:var(--jp-shikon-iro);
--color-on-dark:var(--jp-shironeri);
--color-on-dark-link:var(--jp-tanpopo-iro);
--home-coaching:var(--jp-asamidori);   --home-coaching-tint:var(--tint-asamidori);
--home-learning:var(--jp-tanpopo-iro); --home-learning-tint:var(--tint-tanpopo);
--home-advisory:var(--jp-wasurenagusa-iro); --home-advisory-tint:var(--tint-wasurenagusa);
--home-tmatsu:var(--jp-otan);          --home-tmatsu-tint:var(--tint-mikan);
--font-display:"Bricolage Grotesque","Figtree",system-ui,sans-serif;
--font-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
--font-ja:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
--fs-hero:clamp(2.75rem,6vw,5rem);
--fs-h2:clamp(2rem,4vw,3rem);
--fs-h3:clamp(1.25rem,1.6vw,1.5rem);
--fs-lead:clamp(1.125rem,1.4vw,1.3125rem);
--fs-body:1.0625rem;
--fs-small:.9375rem;
--fs-label:.8125rem;
--lh-tight:1.05; --lh-head:1.15; --lh-body:1.6;
--track-display:-.02em;
--measure:65ch;
--space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.5rem; --space-6:2rem; --space-7:3rem; --space-8:4.5rem; --space-9:6.5rem;
--wrap:1180px; --gutter:clamp(1rem,4vw,2.5rem);
--radius-card:24px; --radius-small:14px; --radius-pill:999px;
--shadow-card:0 1px 2px rgba(74,44,90,.06),0 10px 28px -14px rgba(74,44,90,.22);
--shadow-lift:0 2px 4px rgba(74,44,90,.07),0 22px 40px -18px rgba(74,44,90,.32);
--ease-spring:cubic-bezier(.34,1.56,.64,1);
--ease-out:cubic-bezier(.2,.8,.2,1);
--dur-fast:150ms; --dur:280ms; --dur-slow:600ms;
}
@media (min-width:900px){:root{--fs-body:1.125rem}}
:lang(ja){--font-body:var(--font-ja);--font-display:var(--font-ja)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-inline-size:100%;block-size:auto}
button,input,select,textarea{font:inherit;color:inherit}
p,ul,ol,dl,figure,blockquote{margin:0}
:where(p,li){max-inline-size:var(--measure)}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-text);margin:0;text-wrap:balance}
h1{font-size:var(--fs-hero);font-weight:800;line-height:var(--lh-tight);letter-spacing:var(--track-display)}
h2{font-size:var(--fs-h2);font-weight:800;line-height:var(--lh-head);letter-spacing:var(--track-display)}
h3{font-size:var(--fs-h3);font-weight:700;line-height:1.25;letter-spacing:-.01em}
h4{font-family:var(--font-body);font-size:1rem;font-weight:600}
.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--color-text)}
.text-2{color:var(--color-text-2)}
.small{font-size:var(--fs-small)}
.kicker{font-family:var(--font-body);font-size:var(--fs-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-2)}
:lang(ja) .kicker{text-transform:none;letter-spacing:.1em}
:root{--hl:var(--jp-tanpopo-iro)}
h1 em,h2 em,h3 em,.hl{font-style:normal;color:inherit;background:linear-gradient(transparent 58%,var(--hl) 58%,var(--hl) 92%,transparent 92%);border-radius:.15em;padding-inline:.06em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.band--learning,.band--tanpopo{--hl:var(--jp-nanohana-iro)}
.band--coaching,.band--asamidori{--hl:var(--jp-asamidori)}
.band--advisory,.band--wasurenagusa{--hl:var(--jp-wasurenagusa-iro)}
.band--dark{--hl:var(--jp-aotake-iro)}
a{color:var(--color-action);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:var(--color-action-hover);text-decoration-thickness:.14em}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:6px}
.band--dark :focus-visible{outline-color:var(--color-on-dark-link)}
.visually-hidden{position:absolute!important;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;inset-inline-start:-999px;inset-block-start:var(--space-2);z-index:100;background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill)}
.skip:focus{inset-inline-start:var(--space-2)}
.wrap{inline-size:100%;max-inline-size:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.stack>*+*{margin-block-start:var(--stack,var(--space-4))}
.section{padding-block:clamp(var(--space-8),9vw,var(--space-9));position:relative;overflow:clip}
.band--canvas{background:var(--color-canvas)}
.band--sakura{background:var(--tint-sakura)}
.band--tanpopo,.band--learning{background:var(--tint-tanpopo)}
.band--nanohana{background:var(--tint-nanohana)}
.band--asamidori,.band--coaching{background:var(--tint-asamidori)}
.band--wasurenagusa,.band--advisory{background:var(--tint-wasurenagusa)}
.band--mikan{background:var(--tint-mikan)}
.band--dark{background:var(--color-dark);color:var(--color-on-dark)}
.band--dark :where(h1,h2,h3,h4,.lead,.kicker,.text-2){color:var(--color-on-dark)}
.band--dark a:not(.btn){color:var(--color-on-dark-link)}
.js [data-reveal]{opacity:0;transform:translateY(18px) scale(.98);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-spring);transition-delay:calc(var(--i,0) * 80ms)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
.js [data-reveal]{opacity:1;transform:none}
}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-block-size:48px;padding:.8em 1.5em;border-radius:var(--radius-pill);border:2px solid var(--color-action);background:var(--color-action);color:var(--color-on-action);font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}
.btn:hover{background:var(--color-action-hover);border-color:var(--color-action-hover);color:var(--color-on-action);text-decoration:none}
.btn:active{transform:scale(1.03,.92)}
.btn--secondary{background:transparent;color:var(--color-action)}
.btn--secondary:hover{background:var(--tint-aotake);color:var(--color-action-hover);border-color:var(--color-action-hover)}
.btn--text{min-block-size:auto;padding:.25em 0;border:0;background:none;color:var(--color-action);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.2em}
.btn--text:hover{background:none;color:var(--color-action-hover);text-decoration-thickness:.14em}
.btn--lg{font-size:1.125rem;min-block-size:56px;padding-inline:1.9em}
.band--dark .btn--secondary{color:var(--color-on-dark);border-color:var(--color-on-dark)}
.band--dark .btn--secondary:hover{background:rgba(244,239,230,.12)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5)}
.card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:clamp(var(--space-5),2.4vw,var(--space-6))}
.card--interactive{transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) ease}
.card--interactive:hover,.card--interactive:focus-within{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.card--fill{border-color:transparent;box-shadow:none}
.card--sakura{background:var(--tint-sakura)}.card--tanpopo{background:var(--tint-tanpopo)}.card--asamidori{background:var(--tint-asamidori)}.card--wasurenagusa{background:var(--tint-wasurenagusa)}.card--nanohana{background:var(--tint-nanohana)}.card--mikan{background:var(--tint-mikan)}
.grid{display:grid;gap:clamp(var(--space-4),2vw,var(--space-6));grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--min,280px)),1fr))}
.xcard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) ease}
.xcard:hover,.xcard:focus-within{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.xcard>summary{list-style:none;cursor:pointer;position:relative;display:block;padding:clamp(var(--space-5),2.4vw,var(--space-6));padding-inline-end:calc(clamp(var(--space-5),2.4vw,var(--space-6)) + 44px);border-radius:var(--radius-card)}
.xcard>summary::-webkit-details-marker{display:none}
.xcard__toggle{position:absolute;inset-block-start:clamp(var(--space-5),2.4vw,var(--space-6));inset-inline-end:clamp(var(--space-4),2vw,var(--space-5));inline-size:36px;block-size:36px;border-radius:50%;background:var(--color-action);transition:transform var(--dur) var(--ease-spring)}
.xcard__toggle::before,.xcard__toggle::after{content:"";position:absolute;inset:50% auto auto 50%;background:var(--color-on-action);border-radius:2px;transform:translate(-50%,-50%)}
.xcard__toggle::before{inline-size:14px;block-size:2.5px}.xcard__toggle::after{inline-size:2.5px;block-size:14px}
.xcard[open] .xcard__toggle{transform:rotate(45deg)}
.xcard__body{overflow:hidden}
.xcard__inner{padding:0 clamp(var(--space-5),2.4vw,var(--space-6)) clamp(var(--space-5),2.4vw,var(--space-6));border-block-start:1px solid var(--color-border);padding-block-start:var(--space-4)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0}
.chip{display:inline-flex;align-items:center;gap:.4em;padding:.35em .95em;border-radius:var(--radius-pill);background:var(--tint-shikon);color:var(--color-text);font-size:var(--fs-small);font-weight:600;line-height:1.3;border:1.5px solid transparent}
.chip--sakura{background:var(--tint-sakura)}.chip--tanpopo{background:var(--tint-tanpopo)}.chip--asamidori{background:var(--tint-asamidori)}.chip--wasurenagusa{background:var(--tint-wasurenagusa)}
button.chip{cursor:pointer;min-block-size:40px;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}
button.chip:hover{border-color:var(--color-border-strong)}
button.chip:active{transform:scale(.96)}
button.chip[aria-pressed="true"]{background:var(--color-action);color:var(--color-on-action)}
.tabs__list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block-end:var(--space-5)}
.tabs__tab{appearance:none;border:1.5px solid var(--color-border-strong);background:transparent;color:var(--color-text);border-radius:var(--radius-pill);padding:.55em 1.2em;min-block-size:44px;font-weight:600;cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}
.tabs__tab:hover{background:var(--tint-shikon)}
.tabs__tab:active{transform:scale(.97)}
.tabs__tab[aria-selected="true"]{background:var(--color-text);border-color:var(--color-text);color:var(--color-on-dark)}
.tabs__panel[hidden]{display:none}
.acc{border-block-end:1px solid var(--color-border)}
.acc>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-4);font-weight:600}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::after{content:"";flex:none;inline-size:12px;block-size:12px;border-inline-end:2.5px solid currentColor;border-block-end:2.5px solid currentColor;transform:rotate(45deg);transition:transform var(--dur) var(--ease-spring);margin-inline-end:4px}
.acc[open]>summary::after{transform:rotate(-135deg)}
.acc__body{padding-block-end:var(--space-4)}
.carousel{position:relative}
.carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:var(--card,min(84%,360px));gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding-block:var(--space-3) var(--space-5);padding-inline:var(--gutter);margin-inline:calc(var(--gutter) * -1);scrollbar-width:thin;overscroll-behavior-x:contain}
.carousel__track>*{scroll-snap-align:start}
.carousel__controls{display:flex;gap:var(--space-2);justify-content:flex-end}
.carousel__btn{inline-size:48px;block-size:48px;border-radius:50%;border:2px solid var(--color-action);background:transparent;color:var(--color-action);font-size:1.25rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-spring)}
.carousel__btn:hover{background:var(--tint-aotake)}
.carousel__btn:active{transform:scale(.92)}
.carousel__btn:disabled{opacity:.35;cursor:default}
.quote{margin:0}
.quote blockquote{margin:0;font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.3;letter-spacing:-.01em}
.quote figcaption{margin-block-start:var(--space-3);font-size:var(--fs-small);color:var(--color-text-2)}
.quote cite{font-style:normal;font-weight:600;color:var(--color-text)}
.badge{display:inline-flex;align-items:center;gap:.4em;padding:.3em .85em;border-radius:var(--radius-pill);background:var(--jp-tanpopo-iro);color:var(--color-text);font-size:var(--fs-label);font-weight:700;letter-spacing:.02em}
.badge--soft{background:var(--tint-wasurenagusa)}
.stat__fig{font-family:var(--font-display);font-weight:800;font-size:clamp(2.5rem,5vw,4rem);line-height:1;letter-spacing:-.03em}
.stat__label{margin-block-start:var(--space-2);color:var(--color-text-2)}
.band--dark .stat__label{color:var(--color-on-dark)}
.tile{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-card);background:var(--tile-bg,var(--tint-shikon));color:var(--color-text);text-decoration:none;min-block-size:100%;overflow:hidden;transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) ease}
.tile:hover,.tile:focus-visible{transform:translateY(-6px) rotate(-.4deg);box-shadow:var(--shadow-lift);color:var(--color-text)}
.tile__art{margin-block-end:var(--space-2);min-block-size:150px;display:flex;align-items:flex-end;justify-content:center}
.tile--coaching{--tile-bg:var(--tint-asamidori)}.tile--learning{--tile-bg:var(--tint-tanpopo)}.tile--advisory{--tile-bg:var(--tint-wasurenagusa)}
.blob{position:absolute;z-index:0;pointer-events:none;border-radius:58% 42% 46% 54% / 52% 44% 56% 48%;opacity:var(--o,1)}
.blob--otan{background:var(--jp-otan)}.blob--mikan{background:var(--jp-mikan-iro)}.blob--tanpopo{background:var(--jp-tanpopo-iro)}.blob--sakura{background:var(--jp-sakura-iro)}.blob--asamidori{background:var(--jp-asamidori)}.blob--wasurenagusa{background:var(--jp-wasurenagusa-iro)}.blob--nanohana{background:var(--jp-nanohana-iro)}
.section>.wrap{position:relative;z-index:1}
.lang-switch{font-weight:600;text-decoration:none;padding:.4em .8em;border-radius:var(--radius-pill);border:1.5px solid var(--color-border-strong);color:var(--color-text)}
.lang-switch[hidden]{display:none}
.ch{overflow:visible;--ch-body:var(--jp-sakura-iro);--ch-face:var(--jp-shikon-iro);--ch-leaf:var(--jp-aotake-iro)}
.ch .ch__legs,.ch .ch__arm,.ch .ch__body{fill:var(--ch-body)}
.ch .ch__face{fill:var(--ch-face);stroke:var(--ch-face)}
.ch .ch__eyes circle,.ch .ch__mouth--open{stroke:none}
.ch .ch__eyes--closed path,.ch .ch__mouth:not(.ch__mouth--open){fill:none;stroke-width:2.2;stroke-linecap:round}
.ch .ch__sprout{fill:var(--ch-leaf)}
.ch--coach{--ch-body:var(--jp-asamidori)}
.ch--sakura{--ch-body:var(--jp-sakura-iro)}
.ch--tanpopo{--ch-body:var(--jp-tanpopo-iro)}
.ch--nanohana{--ch-body:var(--jp-nanohana-iro)}
.ch--wasurenagusa{--ch-body:var(--jp-wasurenagusa-iro)}
.ch--otan{--ch-body:var(--jp-otan)}
.ch--mikan{--ch-body:var(--jp-mikan-iro)}
.ch--shikon{--ch-body:var(--jp-shikon-iro);--ch-face:var(--jp-sakura-iro)}
.ch .ch__leaf,.ch .ch__eyes,.ch .ch__leg,.ch .ch__face-in{transform-box:fill-box}
.ch .ch__face-in{transition:transform .5s var(--ease-spring)}
.ch .ch__leaf{transform-origin:50% 100%}
.ch .ch__eyes{transform-origin:50% 50%}
.ch .ch__leg{transform-origin:50% 0}
@keyframes ch-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes ch-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
@keyframes ch-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes ch-step{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
.ch.is-idle{animation:ch-bob 3.2s ease-in-out var(--delay,0s) infinite}
.ch.is-idle .ch__leaf{animation:ch-sway 3.6s ease-in-out var(--delay,0s) infinite}
.ch.is-idle .ch__eyes:not(.ch__eyes--closed){animation:ch-blink 5s linear var(--delay,0s) infinite}
.ch.is-walking .ch__leg--l{animation:ch-step .7s ease-in-out infinite}
.ch.is-walking .ch__leg--r{animation:ch-step .7s ease-in-out -.35s infinite}
.ch.is-walking{animation:ch-bob .35s ease-in-out infinite}
.scene{position:relative}
.scene svg{display:block}
@media (prefers-reduced-motion:reduce){.ch,.ch *{animation:none!important}}
.site-header{position:sticky;inset-block-start:0;z-index:50;background:color-mix(in srgb,var(--color-canvas) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-block-end:1px solid var(--color-border)}
.site-header__in{display:flex;align-items:center;gap:var(--space-5);min-block-size:72px}
.logo{display:inline-flex;color:var(--jp-aotake-iro);margin-inline-end:auto;border-radius:8px}
.logo svg{block-size:30px;inline-size:auto}
.site-nav{display:flex;align-items:center;gap:clamp(var(--space-3),1.6vw,var(--space-5))}
.site-nav a{color:var(--color-text);text-decoration:none;font-weight:600;font-size:.98rem;padding-block:.35em;border-block-end:3px solid transparent}
.site-nav a:hover{border-block-end-color:var(--jp-tanpopo-iro);color:var(--color-text)}
.site-nav a[aria-current="page"]{border-block-end-color:var(--jp-aotake-iro)}
.site-nav .btn{border-block-end:2px solid var(--color-action);padding-block:.55em;min-block-size:44px;color:var(--color-on-action);font-size:.95rem}
.site-nav .btn:hover{border-block-end-color:var(--color-action-hover);color:var(--color-on-action)}
.menu-btn{display:none;appearance:none;border:1.5px solid var(--color-border-strong);background:transparent;color:var(--color-text);border-radius:var(--radius-pill);padding:.45em 1.1em;min-block-size:44px;font-weight:600;cursor:pointer}
@media (max-width:960px){
.menu-btn{display:inline-flex;align-items:center}
.site-nav{position:absolute;inset-inline:0;inset-block-start:100%;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-3) var(--gutter) var(--space-5);background:var(--color-canvas);border-block-end:1px solid var(--color-border);box-shadow:var(--shadow-card)}
.site-nav a{padding-block:.8em;border-block-end:1px solid var(--color-border)}
.site-nav .btn{margin-block-start:var(--space-4);border-block-end:2px solid var(--color-action)}
.js .site-header:not(.is-open) .site-nav{display:none}
}
.site-footer{background:var(--color-dark);color:var(--color-on-dark);padding-block:var(--space-7) var(--space-6)}
.site-footer a{color:var(--color-on-dark);text-decoration-color:rgba(244,239,230,.4)}
.site-footer a:hover{color:var(--color-on-dark-link)}
.site-footer :focus-visible{outline-color:var(--color-on-dark-link)}
.footer-news{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-5);margin-block-end:var(--space-6);border-radius:var(--radius-card);background:rgba(244,239,230,.08)}
.footer-news svg{inline-size:56px;block-size:auto;flex:none}
.footer-news a{display:inline-flex;align-items:center;gap:.4em;padding:.55em 1.3em;border-radius:var(--radius-pill);background:var(--jp-tanpopo-iro);color:var(--color-text);font-weight:700;text-decoration:none}
.footer-news a:hover{background:var(--jp-shironeri);color:var(--color-text)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);list-style:none;padding:0;margin:0 0 var(--space-5)}
.footer-links a{font-weight:600;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.site-footer p{font-size:var(--fs-small);opacity:.92}
.scene-svg{inline-size:100%;block-size:auto;overflow:visible}
.scene-svg .actor .ch{overflow:visible}
.closing{padding:0;text-align:center}
.closing__copy{display:grid;justify-items:center;gap:var(--space-4);position:relative;z-index:2;padding-block:clamp(var(--space-6),5vw,var(--space-8)) var(--space-5)}
.closing__copy h2{max-inline-size:22ch;font-size:clamp(1.9rem,3.4vw,2.8rem)}
.closing__copy .actions{justify-content:center}
.closing__scene{line-height:0}
.closing__scene .closing-scene--m{display:none}
@media (min-width:641px){.closing{display:grid}.closing>*{grid-area:1/1}.closing__copy{align-self:start}}
@media (max-width:640px){.closing__scene .closing-scene--d{display:none}.closing__scene .closing-scene--m{display:block}}
.closing-scene .sun,.closing-scene .actor,.closing-scene .pop{transform-box:fill-box}
.closing-scene .pop{transform-origin:50% 100%}
.closing.is-armed .sun{transform:translateY(32%)}
.closing.is-armed .arrive-l{transform:translateX(-30vw);opacity:0}
.closing.is-armed .arrive-r{transform:translateX(30vw);opacity:0}
.closing.is-armed .meet{opacity:0;transform:translateY(12px)}
.closing.is-armed .pop{transform:scale(0)}
.closing.is-playing .sun{transform:none;transition:transform 2.8s var(--ease-out)}
.closing.is-playing .arrive-l,.closing.is-playing .arrive-r{transform:none;opacity:1;transition:transform 2.6s cubic-bezier(.4,.1,.3,1),opacity .8s ease}
.closing.is-playing .meet{opacity:1;transform:none;transition:opacity .7s ease .2s,transform .7s var(--ease-spring) .2s}
.closing.is-playing .pop{transform:none;transition:transform .7s var(--ease-spring) calc(2s + var(--i) * .18s)}
.closing.is-looking .look-r .ch__face-in{transform:translate(3px,-2px)}
.closing.is-looking .look-l .ch__face-in{transform:translate(-3px,-2px)}
.closing.is-paused .ch,.closing.is-paused .ch *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){
.closing.is-armed .sun,.closing.is-armed .arrive-l,.closing.is-armed .arrive-r,.closing.is-armed .meet,.closing.is-armed .pop{transform:none;opacity:1}
}
@media (min-width:641px) and (max-width:1199px){.closing.closing--tall{display:block}.closing--tall .closing__copy{padding-block-end:0}}
@media (min-width:641px) and (max-width:899px){.closing{display:block}.closing .closing__copy{padding-block-end:0}}
body{min-block-size:100vh;min-block-size:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
