:root{--bg:#FFFFFF;--surface:#F0EDE7;--surface-dark:#1C1A18;--text:#141414;--text-muted:#63594F;--text-inverse:#FAF8F5;--text-dim:#9A9089;--border:#DDD6CC;--border-dark:#35312D;--accent:#A8927D;--todo:#B3261E;--font-ja:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif;--font-en-head:"Roboto Condensed","Arial Narrow",var(--font-ja),sans-serif;--font-en-body:"Inter",var(--font-ja),sans-serif;--max:1280px;--pad:48px}@media (max-width:900px){:root{--pad:20px}}*,:after,:before{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ja);font-size:16px;line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible{outline:2px solid var(--text);outline-offset:3px}.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}.narrow{max-width:860px}.draft{background:var(--surface-dark);color:var(--text-inverse);padding:18px 0;font-size:13px;line-height:1.8}.draft b{color:#F0C9C4}header{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:80px;align-items:stretch;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--border)}.bar,header{display:flex}.bar{gap:40px;width:100%;height:100%}.bar,.logo{align-items:center}.logo{display:inline-flex;text-decoration:none}.logo img{display:block;height:26px;width:auto}.spacer{flex:1 1}nav.main{display:flex;gap:34px;align-self:stretch;align-items:stretch}.nav-item{position:relative;display:flex;align-items:center}.nav-item>a{position:relative;font-family:var(--font-en-body);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-decoration:none;padding-block:4px}.nav-item>a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.4,0,.2,1)}.nav-item:focus-within>a:after,.nav-item:hover>a:after{transform:scaleX(1)}.submenu{position:absolute;top:100%;left:-22px;min-width:232px;background:var(--bg);border:1px solid var(--border);padding:18px 22px 20px;display:flex;flex-direction:column;gap:20px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s ease,transform .22s cubic-bezier(.4,0,.2,1),visibility .22s}.has-menu:focus-within .submenu,.has-menu:hover .submenu{opacity:1;visibility:visible;transform:none}.submenu a{display:block;font-family:var(--font-en-body);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-decoration:none}.submenu a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}nav.main a{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-decoration:none}.lang,nav.main a{font-family:var(--font-en-body)}.lang{font-size:13px;letter-spacing:.08em;color:var(--text-muted)}.lang b{color:var(--text);font-weight:700}@media (max-width:900px){header{height:64px}.lang,.submenu,nav.main{display:none}}.page-head{padding-block:clamp(64px,9vw,120px) clamp(28px,4vw,44px);border-bottom:1px solid var(--border)}.page-head h1{font-family:var(--font-en-head);font-weight:700;font-size:clamp(2rem,5vw,4rem);line-height:1.04;text-transform:uppercase;letter-spacing:.01em;margin:0 0 16px;text-wrap:balance}.page-head .ja-sub{font-size:14px;letter-spacing:.06em;color:var(--text-muted);margin:0}.doc{padding-block:clamp(48px,7vw,88px) clamp(64px,8vw,110px)}.doc .lead{font-size:16px;line-height:2.05;margin:0 0 clamp(40px,5vw,64px);color:var(--text-muted);line-break:strict;word-break:auto-phrase}.doc h2{font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:600;margin:clamp(40px,5vw,64px) 0 18px;padding-top:22px;border-top:1px solid var(--border);line-height:1.6}.doc h2:first-of-type{margin-top:0}.doc h3{font-size:1rem;font-weight:600;margin:28px 0 10px}.doc p{margin:0 0 1.3em;line-break:strict;word-break:auto-phrase;text-wrap:pretty}.doc ol,.doc ul{margin:0 0 1.3em;padding-left:1.4em}.doc li{margin-bottom:.5em;line-break:strict;word-break:auto-phrase}.doc a{text-underline-offset:4px}table{width:100%;border-collapse:collapse;margin:0 0 1.6em;font-size:15px}td,th{border-bottom:1px solid var(--border);padding:16px 12px 16px 0;text-align:left;vertical-align:top;line-height:1.85}th{width:230px;font-weight:600;color:var(--text-muted)}@media (max-width:640px){table,tbody,td,th,tr{display:block;width:auto}th{border:0;padding-bottom:2px}td{padding-top:0}}.todo{color:var(--todo);font-weight:600}.note{border:1px solid var(--border);background:var(--surface);padding:20px 24px;margin:0 0 1.6em;font-size:14px;line-height:1.9}.note b{display:block;margin-bottom:6px}.rev{margin-top:clamp(48px,6vw,72px);font-size:14px;color:var(--text-muted)}.related{border-top:1px solid var(--border);padding-block:clamp(40px,5vw,64px) clamp(64px,8vw,100px)}.related h2{font-family:var(--font-en-body);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--text-muted);margin:0 0 22px}.related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px 40px}.related a{font-size:15px;text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:4px}footer{background:var(--surface-dark);color:var(--text-inverse);padding-top:88px;padding-bottom:44px}.foot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:40px;gap:40px;padding-bottom:64px}@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}}.foot-col h3{font-family:var(--font-en-body);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--text-dim);margin:0 0 18px}.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.foot-col a{font-size:14px;color:#DDD6CC;text-decoration:none}.foot-bottom{border-top:1px solid var(--border-dark);padding-top:28px;justify-content:space-between;align-items:center;gap:20px}.foot-bottom,.policies{display:flex;flex-wrap:wrap}.policies{gap:24px}.copy,.policies a{font-family:var(--font-en-body);font-size:12px;letter-spacing:.04em;color:var(--text-dim);text-decoration:none}.menu-btn,.policies{display:none}@media (max-width:900px){.menu-btn{display:block;margin-left:auto;background:none;border:0;padding:8px 0;font-family:var(--font-en-body);font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--text);cursor:pointer}}.mobile-nav{display:none}@media (max-width:900px){.mobile-nav{display:block;position:fixed;top:64px;left:0;right:0;bottom:0;z-index:60;background:var(--surface-dark);padding:24px var(--pad) calc(32px + env(safe-area-inset-bottom));overflow-y:auto;visibility:hidden;transform:translateY(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1),visibility .28s}.mobile-nav.is-open{visibility:visible;transform:none}.mobile-nav a{display:block;min-height:48px;line-height:48px;font-size:15px;letter-spacing:.1em;color:var(--text-inverse);text-decoration:none}.mobile-nav a,.mobile-nav-head{font-family:var(--font-en-body);font-weight:700;border-bottom:1px solid var(--border-dark)}.mobile-nav-head{font-size:12px;letter-spacing:.16em;color:var(--text-dim);padding-bottom:10px}.mobile-nav-sub a{padding-left:16px;font-size:13px;letter-spacing:.06em;color:#A79E95}.mobile-nav-lang{margin-top:28px;font-family:var(--font-en-body);font-size:13px;letter-spacing:.08em;color:var(--text-dim)}.mobile-nav-lang b{color:var(--text-inverse);font-weight:700}}@media (prefers-reduced-motion:reduce){.mobile-nav{transition:none}}@media (max-width:900px){.menu-btn{min-height:44px;padding-block:12px}}