:root{--color-paper:#f6f4ef;--color-paper-2:#edeae3;--color-ink:#161616;--color-ink-2:#4b4a47;--color-ink-3:#7a786f;--color-line:#d9d5cc;--color-accent:#8c4a2e;--color-accent-ink:#6e3a24;--color-mark:#e9dccf;--font-serif:"Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", "Source Han Serif JP", serif;--font-sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, "Noto Sans JP", "Source Han Sans JP", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--section-y:clamp(4rem, 6vw + 2rem, 9rem);--container:72rem;--container-narrow:44rem;--gutter:clamp(1.25rem, 4vw, 2.5rem);--fs-h1:clamp(1.75rem, 1.2rem + 2.6vw, 3rem);--fs-h2:clamp(1.5rem, 1.2rem + 1.4vw, 2.125rem);--fs-h3:clamp(1.125rem, 1.05rem + .4vw, 1.375rem);--fs-lead:clamp(1.0625rem, 1rem + .4vw, 1.25rem);--fs-body:clamp(1rem, .95rem + .3vw, 1.125rem);--fs-small:.875rem;--fs-eyebrow:.8125rem;--radius:2px;--header-h:4rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--fs-body);font-feature-settings:"palt" 0;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-wrap:anywhere;word-break:normal;line-break:strict;margin:0;line-height:1.9}img,picture,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:.01em;text-wrap:balance;font-feature-settings:"palt";margin:0;font-weight:500;line-height:1.4}h1{font-size:var(--fs-h1);line-height:1.35}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);line-height:1.6}h4{font-family:var(--font-sans);font-size:1rem;font-weight:600}p,ul,ol,dl{margin:0}p+p{margin-top:1em}a{color:inherit;text-decoration-color:var(--color-accent);text-underline-offset:.2em;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}a:hover{color:var(--color-accent-ink)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius)}::selection{background:var(--color-mark)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}hr{border:0;border-top:1px solid var(--color-line);margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{top:-100%;left:var(--gutter);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-ink);color:var(--color-paper);text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-2)}.container{width:min(100% - var(--gutter) * 2, var(--container));margin-inline:auto}.container-narrow{width:min(100% - var(--gutter) * 2, var(--container-narrow));margin-inline:auto}.br-sp{display:inline}@media (width>=48em){.br-sp{display:none}}.br-pc{display:none}@media (width>=48em){.br-pc{display:inline}}.eyebrow{font-family:var(--font-sans);font-size:var(--fs-eyebrow);letter-spacing:.12em;color:var(--color-ink-3);margin:0 0 var(--space-4)}.lead{font-size:var(--fs-lead);color:var(--color-ink-2);max-width:36em;line-height:1.9}.measure{max-width:36em}.muted{color:var(--color-ink-2)}.small{font-size:var(--fs-small)}.note{font-size:var(--fs-small);color:var(--color-ink-3);line-height:1.8}.accent{color:var(--color-accent)}.section{padding-block:var(--section-y)}.section--tight{padding-block:calc(var(--section-y) * .6)}.section--alt{background:var(--color-paper-2)}.section--inverse{background:var(--color-ink);color:var(--color-paper)}.section--inverse .eyebrow{color:color-mix(in srgb, var(--color-paper) 70%, transparent)}.section--inverse .lead,.section--inverse .muted{color:color-mix(in srgb, var(--color-paper) 82%, transparent)}.section--inverse a{text-decoration-color:color-mix(in srgb, var(--color-paper) 50%, transparent)}.section--inverse a:hover{color:var(--color-paper)}.section-head{margin-bottom:clamp(2rem,4vw,3.5rem)}.section-head .lead{margin-top:var(--space-5)}.btn{border:1px solid var(--color-ink);border-radius:var(--radius);background:var(--color-ink);min-height:3rem;color:var(--color-paper);align-items:center;gap:.6em;padding:.75rem 1.5rem;font-size:1rem;line-height:1.2;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--color-accent-ink);border-color:var(--color-accent-ink);color:var(--color-paper)}.btn:after{content:"→";font-family:var(--font-sans);transition:transform .15s}.btn:hover:after{transform:translate(2px)}.btn--outline{color:var(--color-ink);background:0 0}.btn--outline:hover{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.btn--inverse{background:var(--color-paper);border-color:var(--color-paper);color:var(--color-ink)}.btn--inverse:hover{color:var(--color-paper);border-color:var(--color-paper);background:0 0}.btn--block{justify-content:center;width:100%}@media (width>=48em){.btn--block{width:auto}}.text-link{border-bottom:1px solid var(--color-accent);align-items:center;gap:.4em;padding-bottom:.1em;text-decoration:none;display:inline-flex}.text-link:after{content:"→"}.text-link:hover{color:var(--color-accent-ink)}.list-plain{padding:0;list-style:none}.list-rule{border-top:1px solid var(--color-line);padding:0;list-style:none}.list-rule>li{padding:var(--space-4) 0;border-bottom:1px solid var(--color-line)}.list-num{counter-reset:item;gap:var(--space-5);padding:0;list-style:none;display:grid}.list-num>li{counter-increment:item;gap:var(--space-3);grid-template-columns:2.5rem 1fr;align-items:baseline;display:grid}.list-num>li:before{content:counter(item, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--fs-small);color:var(--color-accent);letter-spacing:.05em}.grid{gap:var(--space-6);display:grid}.grid--2,.grid--3{grid-template-columns:1fr}@media (width>=48em){.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}}.card{padding:var(--space-5) 0;border-top:1px solid var(--color-line);color:inherit;text-decoration:none;display:block}.card:hover h3{color:var(--color-accent-ink)}.card h3{transition:color .15s}.card .meta{gap:var(--space-3);font-size:var(--fs-small);color:var(--color-ink-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.card p{margin-top:var(--space-2);color:var(--color-ink-2)}.pairs{border-top:1px solid var(--color-line);gap:0;display:grid}.pairs>div{gap:var(--space-1) var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--color-line);grid-template-columns:1fr;align-items:baseline;display:grid}.pairs dt{font-family:var(--font-serif);font-size:var(--fs-h3)}.pairs dd{align-items:baseline;gap:var(--space-3);color:var(--color-ink-2);margin:0;display:flex}.pairs dd:before{content:"→";color:var(--color-accent);font-family:var(--font-sans)}@media (width>=48em){.pairs>div{grid-template-columns:minmax(10rem,1fr) 2fr}}.prose{max-width:var(--container-narrow)}.prose>*+*{margin-top:1.25em}.prose h2{margin-top:2.5em;font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem)}.prose h3{margin-top:2em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose blockquote{border-left:2px solid var(--color-accent);color:var(--color-ink-2);margin:1.5em 0;padding:.25em 0 .25em 1.25em}.prose img{margin-block:1.5em}.prose figcaption{font-size:var(--fs-small);color:var(--color-ink-3);margin-top:.5em}.prose table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--color-line);vertical-align:top;padding:.6em .75em}.prose th{color:var(--color-ink-2);font-weight:600}.prose code{font-family:var(--font-mono);background:var(--color-paper-2);border-radius:var(--radius);padding:.1em .35em;font-size:.9em}.prose pre{background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius);padding:1em 1.25em;font-size:.9em;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.table-def{border-collapse:collapse;border-top:1px solid var(--color-line);width:100%}.table-def th,.table-def td{text-align:left;vertical-align:top;padding:var(--space-4) 0;border-bottom:1px solid var(--color-line)}.table-def th{color:var(--color-ink-3);font-weight:500;font-size:var(--fs-small);width:9rem;padding-right:var(--space-4)}@media (width<=30em){.table-def th,.table-def td{width:auto;display:block}.table-def th{border-bottom:0;padding-bottom:0}}.form{gap:var(--space-5);display:grid}.form label{font-size:var(--fs-small);color:var(--color-ink-2);margin-bottom:var(--space-2);display:block}.form label .req{color:var(--color-accent);margin-left:.3em}.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;font:inherit;color:var(--color-ink);border:1px solid var(--color-line);border-radius:var(--radius);background:#fff;padding:.75rem .9rem;line-height:1.5}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.form textarea{resize:vertical;min-height:10rem}.form .check{gap:var(--space-3);font-size:var(--fs-small);color:var(--color-ink-2);align-items:flex-start;display:flex}.form .check input{margin-top:.4em}.form .hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.mark{background:var(--color-mark);border-bottom:1px solid var(--color-accent);cursor:help;padding:0 .15em;text-decoration:none}
