:root{--background:#fff;--foreground:#111827;--muted:#374151;--accent:#1e3a5f;--border:#e5e7eb;--surface:#f3f4f6;--subtle:#667085;--font-sans:"Inter", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-serif:var(--font-noto-serif-jp), "Noto Serif JP", "Hiragino Mincho ProN", serif;--font-heading:var(--font-merriweather), var(--font-noto-serif-jp), "Noto Serif JP", "Hiragino Mincho ProN", serif;--font-logo:var(--font-merriweather), Georgia, serif;--col:240px;--gap:20px;--page-w:720px;--pad:24px;--sec:56px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--band-gray:#f2f4f5;--band-dark1:#101420;--band-dark2:#101420}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font-family:var(--font-heading);line-break:strict;margin:0}a{color:var(--accent);text-decoration:none;transition:color .15s}a:hover{color:var(--foreground)}img{max-width:100%}.site-head,.site-foot{max-width:var(--page-w);padding:0 var(--pad);margin:0 auto}.head-inner{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);justify-content:space-between;align-items:center;padding:24px 0;display:flex}.logo{color:var(--foreground);align-items:center;gap:8px;line-height:1;display:flex}.logo .mark{font-family:var(--font-serif);font-size:15px}.logo .name{font-family:var(--font-logo);letter-spacing:.05em;font-size:13px;font-weight:300}.logo .bar{color:color-mix(in srgb, var(--foreground) 20%, transparent);font-size:13px;font-weight:300}.site-nav{color:var(--muted);letter-spacing:.04em;gap:28px;font-size:14px;display:flex}.site-nav a{white-space:nowrap;align-items:center;min-height:44px;display:inline-flex}.foot-inner{text-align:left;border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--subtle);letter-spacing:.04em;flex-direction:column;align-items:flex-start;gap:6px;padding:56px 0 48px;font-size:13px;line-height:1.7;display:flex}.foot-co{color:var(--foreground);font-weight:500}.foot-inner small{margin-top:10px;font-size:12px}main{padding:0}.band{background:var(--background);padding:56px 0;overflow-x:clip}@media (min-width:640px){.band{padding:80px 0}}.band-in{max-width:var(--page-w);padding:0 var(--pad);margin:0 auto}.band-gray{background:var(--band-gray)}.band-dark1,.band-dark2{--foreground:#f3f4f6;--muted:#c9cdd4;--accent:#a8b3c4;--border:#3a4054;--surface:#2a2f40;--subtle:#8a90a0;color:var(--foreground)}.band-dark1{background:var(--band-dark1)}.band-dark2{background:var(--band-dark2)}h1{font-family:var(--font-heading);letter-spacing:-.01em;margin:0 0 48px;font-size:22px;font-weight:600;line-height:1.4}h2{letter-spacing:.05em;color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);margin:0 0 28px;padding-bottom:8px;font-size:12px;font-weight:600}h3{margin:0;font-size:14px;font-weight:500;line-height:1.4}.body{letter-spacing:.01em;color:color-mix(in srgb, var(--foreground) 80%, transparent);font-size:15px;line-height:1.9}.body p{margin:0}.body p+p{margin-top:20px}section+section{margin-top:var(--sec)}.note{color:var(--muted);font-size:13px}.dl{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);margin:28px 0 0}.row{border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);padding:14px 0}.dt{color:var(--muted);white-space:nowrap;margin-bottom:4px;font-size:14px}.dd{margin:0;font-size:15px}.dd ul{margin:0;padding:0;list-style:none}.dd li+li{margin-top:4px}.media{gap:var(--gap);flex-direction:column;display:flex}.media img{width:var(--col);height:var(--col);object-fit:cover;background:var(--surface);border-radius:6px;flex-shrink:0}.media .name{color:var(--foreground);margin-bottom:12px;font-size:15px;font-weight:500}.creds{color:var(--muted);margin:12px 0 0;padding:0;font-size:14px;list-style:none}.creds li+li{margin-top:2px}.stack>*+*{margin-top:20px}.stack h3+p{margin-top:4px}.steps{margin:0;padding:0;list-style:none}.steps>li{border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);gap:16px;padding:18px 0;display:flex}.steps{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent)}.step-no{font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--accent) 70%, transparent);flex-shrink:0;padding-top:0;font-size:13px;line-height:22.5px}.links{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);margin:0;padding:0;list-style:none}.links li{border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);padding:12px 0}.links li:first-child{border-top:0}.links a{color:var(--foreground);font-size:14px}.links a:hover{color:var(--accent)}.meta{color:var(--subtle);letter-spacing:.04em;flex-wrap:wrap;gap:12px;margin-top:4px;font-size:12px;display:flex}@media (min-width:640px){.row{grid-template-columns:var(--col) 1fr;gap:var(--gap);align-items:baseline;display:grid}.dt{margin-bottom:0}.media{flex-direction:row;align-items:flex-start}}#lab{z-index:99;color:#e5e7eb;font:12px/1 var(--font-sans);letter-spacing:.04em;background:#1f2430;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex;position:sticky;top:0}#lab span{opacity:.6}#lab button{font:inherit;cursor:pointer;color:#e5e7eb;background:#2a3040;border:1px solid #3a4152;border-radius:4px;padding:5px 10px}#lab button:hover{border-color:#5b6478}#lab button[aria-pressed=true]{color:#1f2430;background:#e5e7eb}body.lab-on{background:#6b7280}body.lab-on>:not(#lab){max-width:var(--lab-w,100%);background:var(--background);margin-inline:auto}.points{margin:0;padding:0;list-style:none}.points>li{border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);gap:4px;padding:18px 0;display:flex}.points{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent)}.pt-mark{width:1em;color:var(--muted);flex-shrink:0;font-size:15px;line-height:1.5}.pt-mark:before{content:"・"}.points h3,.steps h3{font-size:15px;font-weight:600;line-height:1.5}.points p,.steps p{margin-top:6px}.cards{border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent)}.card{z-index:0;color:var(--foreground);border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);grid-template-columns:1fr auto;align-items:center;gap:4px 20px;padding:16px 0;transition:color .5s;display:grid;position:relative}.card:before{content:"";z-index:-1;background:var(--band-dark2);opacity:0;pointer-events:none;width:100vw;margin-left:-50vw;transition:opacity .5s;position:absolute;top:-1px;bottom:0;left:50%}.card-body{display:contents}.card-meta{color:var(--subtle);letter-spacing:.04em;flex-wrap:wrap;grid-area:1/1;gap:0 12px;font-size:12px;transition:color .5s;display:flex}.card-title{grid-area:2/1;font-size:15px;font-weight:500;line-height:1.7}.card:after{content:"→";color:var(--muted);grid-area:1/2/span 2;transition:color .5s}.card:focus-visible{color:#fff;outline:none}.card:focus-visible:before{opacity:1}.card:focus-visible .card-meta{color:#ffffffbf}.card:focus-visible:after{color:#fff}@media (hover:hover){.card:hover{color:#fff}.card:hover:before{opacity:1}.card:hover .card-meta{color:#ffffffbf}.card:hover:after{color:#fff}}.band h2{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--foreground);border-bottom:0;margin:0 0 28px;padding-bottom:0;font-size:22px;font-weight:600;line-height:1.4}.band h2.sub{letter-spacing:.05em;color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);margin:0 0 28px;padding-bottom:8px;font-size:12px}.band-policy{min-height:70vh}.band-policy h2{font-family:var(--font-heading);letter-spacing:.05em;color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);margin:0 0 20px;padding-bottom:8px;font-size:14px}.dd a,.body a:not(.card){text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}@media (min-width:640px){.steps{grid-auto-rows:1fr;display:grid}}.band-dark1{isolation:isolate;position:relative;overflow:hidden}.band-dark1:before,.band-dark1:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.band-dark1:before{opacity:.41;background:url(/bg-tokyo-sm.webp) 50% 40%/cover no-repeat;animation:1.8s ease-out .2s backwards bg-in}@keyframes bg-in{0%{opacity:0}to{opacity:.41}}@media (prefers-reduced-motion:reduce){.band-dark1:before{animation:none}}@media (min-width:700px){.band-dark1:before{background-image:url(/bg-tokyo.webp)}}@media (hover:hover){.body .more:has(a:hover):before{opacity:1}.body .more a:hover{color:#fff}}.dd-sub{margin-top:6px;font-size:13px}.file-meta{color:var(--subtle);white-space:nowrap;margin-left:12px;font-size:12px}@media (prefers-reduced-motion:reduce){.band-dark1:before{animation:none}}.band-dark1:after{background-image:linear-gradient(90deg,#10131fdb,#10131f99 33%,#10131f40)}@media (min-width:700px){.band-dark1:before{background-image:url(/bg-tokyo.webp)}}.sign{margin-top:8px;line-height:1.9}.body .more{z-index:0;text-align:right;margin-top:16px;padding:0;font-size:13px;transition:color .5s;position:relative}.body .more:before{content:"";z-index:-1;inset-block:0;background:var(--band-dark2);opacity:0;pointer-events:none;width:100vw;margin-left:-50vw;transition:opacity .5s;position:absolute;left:50%}.body .more a{padding:14px 0;transition:color .5s;display:inline-block}@media (hover:hover){.body .more:has(a:hover):before{opacity:1}.body .more a:hover{color:#fff}}.body .more:has(a:focus-visible):before{opacity:1}.body .more a:focus-visible{color:#fff;outline:none}.body .more.back{text-align:left;margin-top:var(--sec)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(14px)}.reveal.is-in{opacity:1;transform:none}.logo{min-height:44px}.dd li a{position:relative}.dd li a:after{content:"";position:absolute;inset:-8px -4px}.card:focus-visible,.body .more a:focus-visible{outline-offset:-2px;outline:2px solid}@media (prefers-reduced-motion:reduce){.card,.card:before,.card:after,.card-meta,.body .more,.body .more:before,.body .more a{transition:none}}@media print{.reveal{opacity:1;transform:none}.band-dark1,.band-dark2{--foreground:#111827;--muted:#374151;--accent:#1e3a5f;--subtle:#667085;--border:#e5e7eb;color:#111827;background:#fff!important}.band-dark1:before,.band-dark1:after,.card:before,.body .more:before{display:none}.band{padding:24px 0}.card,.row,.points>li,.steps>li{break-inside:avoid}}
