:root{--bg:#f2f8fd;--surface:#fff;--ink:#15304a;--ink-soft:#3a5069;--muted:#677c90;--line:#d3e4f1;--line-strong:#15304a;--brand:#4cb8ec;--brand-deep:#0a659b;--brand-soft:#d6edfb;--brand-pale:#ebf6fd;--sun:#ffd447;--sun-soft:#fff3c2;--coral:#ff7a59;--coral-soft:#ffe3da;--leaf:#2ccb9e;--white:#fff;--chart-1:var(--brand);--chart-2:var(--sun);--chart-3:var(--coral);--chart-4:var(--leaf);--chart-5:#b9c9c4;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Noto Sans JP", sans-serif;--font-body:"Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;--font-num:"Outfit", "Zen Maru Gothic", sans-serif;--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:7rem;--measure:38rem;--page:min(72rem, calc(100% - 2.5rem));--radius-sm:.75rem;--radius:1.25rem;--radius-pill:999px;--ease-out:cubic-bezier(.34, 1.4, .64, 1);--duration:.42s;--border-pop:2px solid var(--line-strong);--shadow-pop:4px 4px 0 var(--line-strong);--shadow-pop-sm:3px 3px 0 var(--line-strong);--shadow-soft:0 10px 30px #15304a14}@media (prefers-reduced-motion:reduce){:root{--duration:1ms}}*,:before,:after{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth;hanging-punctuation:first last}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-body);letter-spacing:.02em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(1rem,.96rem + .2vw,1.0625rem);font-weight:500;line-height:1.9}img,svg{max-width:100%;display:block}a{color:var(--brand-deep);text-underline-offset:.2em;transition:color var(--duration) var(--ease-out);text-decoration-thickness:.1em}a:hover{color:var(--coral)}a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:.4rem}::selection{background:var(--sun);color:var(--ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-shell{width:var(--page);margin-inline:auto}.dots{background-image:radial-gradient(#15304a17 1.5px,#0000 1.6px);background-size:22px 22px}.eyebrow{border:var(--border-pop);border-radius:var(--radius-pill);background:var(--sun);color:var(--ink);font-family:var(--font-display);letter-spacing:.06em;align-items:center;gap:.45rem;margin:0;padding:.2rem .85rem;font-size:.8rem;font-weight:700;line-height:1.6;display:inline-flex}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;text-wrap:balance;color:var(--ink);font-weight:900;line-height:1.4}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1.2em}.prose h2{border-radius:var(--radius-sm);background:var(--brand-soft);margin-top:2.8em;margin-bottom:.8em;padding:.55em .9em .55em 1.1em;font-size:clamp(1.3rem,1.1rem + .9vw,1.65rem);position:relative}.prose h2:before{content:"";border-radius:var(--radius-pill);background:var(--brand);width:.28em;position:absolute;top:.55em;bottom:.55em;left:.45em}.prose>h3{border-bottom:3px dotted var(--brand);margin-top:1.9em;padding-bottom:.25em;font-size:1.15rem}.prose p,.prose li{color:var(--ink-soft)}.prose>p:first-of-type{color:var(--ink);font-size:1.06em}.prose strong:not(figure *,aside *){color:var(--ink);background:linear-gradient(transparent 58%, var(--sun) 58%, var(--sun) 92%, transparent 92%);padding:0 .1em;font-weight:700}.prose ul,.prose ol{padding-left:1.3em}.prose li::marker{color:var(--brand);font-weight:900}.prose li+li{margin-top:.35em}.prose table{border-collapse:separate;border-spacing:0;border:var(--border-pop);border-radius:var(--radius-sm);background:var(--surface);width:100%;font-size:.92rem;overflow:hidden}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.7rem .75rem}.prose tr:last-child td{border-bottom:0}.prose th{background:var(--brand);color:var(--ink);font-family:var(--font-display);border-bottom:var(--border-pop);font-size:.85rem;font-weight:700}.prose tbody tr:nth-child(2n) td{background:var(--brand-pale)}.prose blockquote{border:var(--border-pop);border-radius:var(--radius);background:var(--surface);color:var(--ink-soft);margin:1.6em 0;padding:.9em 1.2em;position:relative}.prose blockquote:after{content:"";background:var(--surface);border-right:var(--border-pop);border-bottom:var(--border-pop);width:1rem;height:1rem;position:absolute;bottom:-.6rem;left:1.6rem;transform:rotate(45deg)}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose hr{background:radial-gradient(circle, var(--brand) 2.5px, transparent 3px) center / 18px 10px repeat-x;border:0;height:10px;margin:2.6em 0}.prose{counter-reset:fig}.figure-block{max-width:48rem;margin:2.4rem 0}.prose .figure-block{counter-increment:fig}.figure-title{color:var(--ink);font-family:var(--font-display);align-items:center;gap:.55rem;margin:0 0 .8rem;font-size:1rem;font-weight:900;line-height:1.5;display:flex}.prose .figure-title:before{content:"図" counter(fig);border-radius:var(--radius-pill);background:var(--ink);color:var(--white);font-family:var(--font-display);flex:none;padding:0 .6rem;font-size:.75rem;font-weight:700;line-height:1.7}.figure-caption{color:var(--muted);text-align:right;margin:.8rem 0 0;font-size:.78rem;font-weight:500}.card{border:var(--border-pop);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-pop)}.btn{border:var(--border-pop);border-radius:var(--radius-pill);min-height:3.1rem;font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;box-shadow:var(--shadow-pop-sm);transition:transform var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out), background var(--duration) var(--ease-out);justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.6rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:5px 5px 0 var(--line-strong);transform:translate(-2px,-2px)}.btn:active{box-shadow:1px 1px 0 var(--line-strong);transform:translate(2px,2px)}.btn-primary{background:var(--sun);color:var(--ink)}.btn-primary:hover{color:var(--ink)}.btn-ghost{background:var(--surface);color:var(--ink)}.btn-ghost:hover{color:var(--ink);background:var(--brand-soft)}.reveal{animation:rise var(--duration) var(--ease-out) both}@keyframes rise{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bob{0%{transform:translateY(0) rotate(var(--r,0deg))}to{transform:translateY(-10px) rotate(var(--r,0deg))}}@keyframes spin-slow{to{transform:rotate(360deg)}}.brand[data-astro-cid-77qc4tpx]{color:var(--ink);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.mark[data-astro-cid-77qc4tpx]{flex:none;width:2.3rem;height:2.3rem}.sm[data-astro-cid-77qc4tpx] .mark[data-astro-cid-77qc4tpx]{width:2rem;height:2rem}.lg[data-astro-cid-77qc4tpx] .mark[data-astro-cid-77qc4tpx]{width:clamp(3.6rem,9vw,5rem);height:clamp(3.6rem,9vw,5rem)}.word[data-astro-cid-77qc4tpx]{font-family:var(--font-display);letter-spacing:.04em;white-space:nowrap;font-size:1.05rem;font-weight:900;line-height:1.3}.sm[data-astro-cid-77qc4tpx] .word[data-astro-cid-77qc4tpx]{font-size:clamp(.92rem,3.6vw,1.05rem)}.lg[data-astro-cid-77qc4tpx] .word[data-astro-cid-77qc4tpx]{letter-spacing:.02em;white-space:nowrap;font-size:clamp(1.45rem,4.6vw,2.9rem)}.gear[data-astro-cid-77qc4tpx]{transform-box:fill-box;transform-origin:50%;animation:14s linear infinite spin-slow}@media (prefers-reduced-motion:reduce){.gear[data-astro-cid-77qc4tpx]{animation:none}}
