:root{--paper:#fff;--wash:#f6f5f1;--ink:#141414;--ink-2:#4b4b4b;--ink-3:#8c8c8c;--rule:#e4e2dc;--accent:#b2241b;--accent-wash:#fbefed;--serif:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--display:"EB Garamond", "Noto Serif JP", serif;--sans:"Inter", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--max:1440px;--gutter:clamp(16px, 4vw, 56px);--measure:36em}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 0;margin:0;font-size:16px;line-height:1.75}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{margin:0;font-weight:600}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--accent);color:#fff}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.kicker{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);align-items:baseline;gap:.7em;font-size:13px;display:flex}.kicker .ja{font-family:var(--sans);letter-spacing:.08em;text-transform:none;font-size:12px}.kicker .dash{color:var(--ink-3)}.num{font-family:var(--mono);font-feature-settings:"tnum" 1}.sect{color:var(--accent);font-family:var(--mono)}.muted{color:var(--ink-3)}.badge{letter-spacing:.06em;vertical-align:.15em;white-space:nowrap;border:1px solid;padding:4px 6px 3px;font-size:11px;line-height:1;display:inline-block}.badge--fact{color:var(--ink-2)}.badge--lore{color:var(--accent)}.arrow-link{border-bottom:1px solid var(--ink);align-items:center;gap:.5em;padding-bottom:2px;font-size:15px;font-weight:600;display:inline-flex}.arrow-link:hover{color:var(--accent);border-color:var(--accent)}.arrow-link:after{content:"→";transition:transform .2s}.arrow-link:hover:after{transform:translate(3px)}.btn{background:var(--ink);color:#fff;border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:1.2em;padding:14px 20px;font-size:15px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.btn:hover{background:var(--accent);border-color:var(--accent)}.btn--ghost{color:var(--ink);background:0 0}.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.rule-thick{border:0;border-top:2px solid var(--ink);margin:0}.rule{border:0;border-top:1px solid var(--rule);margin:0}.site-header{border-bottom:1px solid var(--rule);background:var(--paper);z-index:20;position:relative}.site-header .wrap{align-items:center;gap:32px;height:64px;display:flex}.wordmark{flex-shrink:0;align-items:baseline;gap:10px;display:flex}.wordmark .en{font-family:var(--display);letter-spacing:.22em;font-size:25px;font-weight:600}.wordmark .en i{color:var(--accent);font-style:normal}.wordmark .ja{letter-spacing:.2em;color:var(--ink-3);font-size:11px}.gnav{gap:4px;margin-left:auto;display:flex}.gnav a{border-bottom:2px solid #0000;align-items:baseline;gap:7px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.gnav a .en{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:12px}.gnav a:hover{color:var(--accent)}.gnav a[aria-current=page]{border-bottom-color:var(--accent)}.resume{border:1px solid var(--ink);white-space:nowrap;padding:6px 12px;font-size:13px;font-weight:600;display:none}.resume.is-on{gap:6px;display:inline-flex}.resume:hover{background:var(--ink);color:#fff}.menu{margin-left:auto;display:none}.menu summary{cursor:pointer;letter-spacing:.1em;padding:8px 0;font-size:13px;font-weight:600;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{color:var(--accent)}.menu nav{background:var(--paper);border-bottom:2px solid var(--ink);padding:8px var(--gutter) 20px;position:absolute;top:64px;left:0;right:0}.menu nav a{border-bottom:1px solid var(--rule);justify-content:space-between;padding:14px 0;font-size:17px;font-weight:600;display:flex}.menu nav a span{font-family:var(--display);letter-spacing:.14em;color:var(--ink-3);text-transform:uppercase;font-size:13px;font-weight:400}@media (width<=900px){.gnav{display:none}.menu{display:block}.site-header .wrap{gap:12px;height:56px}.menu nav{top:56px}.wordmark .en{font-size:21px}.resume.is-on{margin-left:auto}.resume.is-on+.menu{margin-left:8px}}.site-footer{border-top:2px solid var(--ink);margin-top:120px;padding:48px 0 56px;font-size:14px}.site-footer .grid{grid-template-columns:5fr 2fr 2fr 3fr;gap:32px;display:grid}.site-footer .motto{font-family:var(--serif);font-size:19px;line-height:1.7}.site-footer h4{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;font-size:12px;font-weight:400}.site-footer li{padding:3px 0}.site-footer a:hover{color:var(--accent)}.site-footer .legal{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:48px;font-size:12px;display:flex}@media (width<=900px){.site-footer{margin-top:80px}.site-footer .grid{grid-template-columns:1fr 1fr}.site-footer .grid>:first-child{grid-column:1/-1}}.page-head{border-bottom:2px solid var(--ink);padding:56px 0 40px}.page-head h1{font-family:var(--serif);letter-spacing:.02em;margin-top:14px;font-size:clamp(32px,5vw,56px);line-height:1.25}.page-head .lead{max-width:40em;color:var(--ink-2);margin-top:18px;font-size:17px}@media (width<=640px){.page-head{padding:36px 0 28px}}.crumbs{color:var(--ink-3);flex-wrap:wrap;gap:6px;padding-top:20px;font-size:13px;display:flex}.crumbs a:hover{color:var(--accent)}.crumbs span[aria-hidden]{color:var(--rule)}.prose{font-family:var(--serif);letter-spacing:.03em;max-width:var(--measure);font-size:18px;line-height:2}.prose p{text-indent:1em;margin:0 0 1.25em}.prose p.dialogue,.prose p:has(>q:first-child){text-indent:0}.prose ruby rt{letter-spacing:0;font-size:.5em}.prose .scene{text-align:center;text-indent:0;color:var(--ink-3);letter-spacing:1em;margin:2em 0}@media (width<=640px){.prose{font-size:17px;line-height:1.95}}a.term{text-decoration:underline dotted;text-decoration-color:var(--ink-3);text-underline-offset:.28em;text-decoration-thickness:1px}a.term:hover{color:var(--accent);text-decoration-color:var(--accent);text-decoration-style:solid}.section{padding-top:88px}.section-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:32px;padding-bottom:14px;display:flex}.section-head h2{font-family:var(--serif);letter-spacing:.04em;align-items:baseline;gap:16px;font-size:clamp(24px,3vw,34px);display:flex}.section-head h2 .kicker{font-weight:400}@media (width<=640px){.section{padding-top:64px}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}[hidden]{display:none!important}
