:root{--bg:#f4f0e8;--surface:#fffdf8;--surface-2:#efe9dd;--panel:#272320;--ink:#211d18;--muted:#6d6457;--line:#e6dfcf;--line-2:#d6cdb8;--accent:#b5532f;--accent-d:#8f3d1f;--accent-soft:#f6e4d9;--earth:#2c2620;--earth-soft:#e4dccd;--gold:#9a6a1a;--gold-soft:#f3e6c8;--ok:#4a6b3f;--ok-soft:#e2ecdb;--warn:#9a6a1a;--warn-soft:#f3e6c8;--display:"Zen Old Mincho","Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;--mono:"Fraunces","Zen Old Mincho",serif;--radius:5px;--shadow:0 1px 2px rgba(33,29,24,.05),0 8px 24px rgba(33,29,24,.06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.9;font-size:16px}a{color:var(--accent-d)}a:hover{text-decoration:underline}.container{max-width:1140px;margin:0 auto;padding:0 20px}h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.42;color:var(--ink);letter-spacing:.01em}section{padding:34px 0}.site-header{position:sticky;top:0;z-index:50;background:#f4f0e8ed;backdrop-filter:blur(8px);border-bottom:1px solid var(--line-2)}.site-header .inner{max-width:1140px;margin:0 auto;padding:13px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.brand{font-family:var(--display);font-weight:700;font-size:21px;color:var(--ink);display:inline-flex;align-items:center;gap:11px;letter-spacing:.02em}.brand:hover{text-decoration:none}.brand:before{content:"";width:11px;height:24px;background:var(--accent);border-radius:1px;box-shadow:4px 4px 0 var(--earth-soft);display:inline-block;margin-right:6px;transform:translateY(2px)}.site-header nav{margin-left:auto;display:flex;gap:17px;flex-wrap:wrap;font-size:14px;font-weight:500}.site-header nav a{color:var(--ink);text-decoration:none}.site-header nav a:hover{color:var(--accent-d)}.hero{padding:40px 0 14px}.hero .eyebrow{font-family:var(--mono);font-style:italic;font-size:14px;letter-spacing:.02em;color:var(--accent-d)}.hero h1{font-size:clamp(29px,4.8vw,47px);margin:.2em 0 .34em;font-weight:700;line-height:1.36}.hero h1 .hl{color:var(--accent-d);position:relative;white-space:nowrap}.hero h1 .hl:after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.16em;background:var(--accent);opacity:.32;z-index:-1}.hero .lead{font-size:16px;color:#4a4339;max-width:790px}.hero-cta{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font:700 15px/1 var(--display);padding:14px 28px;border-radius:4px;margin-top:18px;text-decoration:none;box-shadow:4px 4px 0 var(--earth-soft)}.hero-cta:hover{background:var(--accent-d);text-decoration:none;color:#fff}.kpis{display:flex;gap:0;flex-wrap:wrap;margin-top:22px;border:1px solid var(--line-2);background:var(--surface)}.kpi{flex:1;min-width:150px;padding:14px 18px;border-right:1px solid var(--line)}.kpi:last-child{border-right:none}.kpi .v{font-family:var(--display);font-weight:700;font-size:23px;color:var(--ink)}.kpi .v b{color:var(--accent-d);font-weight:700}.kpi .l{font-size:11.5px;color:var(--muted);font-family:var(--sans)}.disc-strip{margin-top:18px;background:var(--warn-soft);border:1px solid #e3d2a6;border-left:3px solid var(--warn);padding:11px 15px;font-size:12.5px;color:#6f4e12}.disc-strip b{color:#7d5712}.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;padding:13px 17px;background:var(--surface);border:1px solid var(--line-2);font-size:12px;color:var(--muted)}.legend .lg{display:inline-flex;align-items:center;gap:6px}.legend .lg b{color:var(--ink);font-weight:700}.legend .sw{width:22px;height:8px;background:var(--accent);display:inline-block}.catalog-cta{background:var(--earth);color:#f2ece1;border-radius:6px;padding:26px 28px;margin:8px 0;position:relative;overflow:hidden}.catalog-cta:before{content:"";position:absolute;top:0;left:0;width:8px;height:100%;background:var(--accent)}.catalog-cta h2{color:#fff;font-size:22px;margin:0 0 6px}.catalog-cta p{margin:.3em 0 0;color:#cfc6b8;font-size:14px}.catalog-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px}.catalog-svc{background:#322d28;border:1px solid #463f37;border-radius:5px;padding:15px 16px}.catalog-svc b{font-family:var(--display);font-size:16px;color:#fff;display:block}.catalog-svc span{font-size:12px;color:#b8af9f;display:block;margin:5px 0 10px}.catalog-svc .go{display:inline-block;font:700 13px/1 var(--sans);background:var(--accent);color:#fff;padding:9px 15px;border-radius:4px;text-decoration:none}.catalog-svc .go:hover{background:#c96a45;text-decoration:none;color:#fff}.sec-head{display:flex;align-items:baseline;gap:13px;margin-bottom:9px;padding-bottom:9px;border-bottom:2px solid var(--ink)}.sec-head .no{font-family:var(--mono);font-style:italic;font-size:19px;color:var(--accent-d);font-weight:600}.sec-head h2{font-size:23px;margin:0;font-weight:700}.sec-sub{color:var(--muted);font-size:14px;margin:0 0 18px}.toolbar{background:var(--surface);border:1px solid var(--line-2);padding:14px 16px;margin:6px 0 18px}.toolbar h3{font-size:11px;margin:0 0 9px;font-family:var(--sans);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-weight:700}.chips{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.chip{font:500 13px/1 var(--sans);padding:8px 14px;border-radius:3px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(370px,1fr));gap:18px}.scard{background:var(--surface);border:1px solid var(--line-2);border-top:3px solid var(--accent);display:flex;flex-direction:column;box-shadow:var(--shadow)}.scard:hover{box-shadow:0 4px 16px #211d181a}.scard .top{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 10px}.scard .rk{font-family:var(--mono);font-style:italic;font-weight:600;color:var(--accent-d);font-size:21px;flex:none;line-height:1.1;min-width:30px}.scard .nm{flex:1;min-width:0}.scard .nm a{font-family:var(--display);font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;line-height:1.3}.scard .nm a:hover{color:var(--accent-d)}.scard .nm .op{font-size:11px;color:var(--muted);display:block;margin-top:3px}.scard .ty{font:500 10.5px/1.4 var(--sans);padding:4px 9px;border-radius:3px;white-space:nowrap;border:1px solid var(--line-2);background:var(--surface-2);color:var(--accent-d);flex:none}.scard .body{padding:4px 18px 16px;display:flex;flex-direction:column;gap:12px;flex:1}.scard .catch{font-size:13px;color:#4a4339;margin:0;line-height:1.7;font-family:var(--display)}.spec4{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:4px;overflow:hidden}.spec4 .s{padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.spec4 .s:nth-child(2n){border-right:none}.spec4 .s:nth-child(n+3){border-bottom:none}.spec4 .s .l{font-family:var(--sans);font-size:9.5px;color:var(--muted);letter-spacing:.04em;display:block}.spec4 .s .v{font-family:var(--display);font-weight:700;font-size:13.5px;margin-top:2px;display:block;line-height:1.35;color:var(--ink)}.spec4 .s .v.req{font-family:var(--sans);font-weight:400;color:var(--muted);font-size:11px}.badges{display:flex;gap:6px;flex-wrap:wrap}.pill{font:500 10.5px/1.5 var(--sans);padding:3px 9px;border-radius:3px;border:1px solid}.pill.on{background:var(--accent-soft);color:var(--accent-d);border-color:#e6c3b1}.pill.off{background:var(--surface-2);color:var(--muted);border-color:var(--line-2)}.iscore{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.iscore .k{width:96px;flex:none;font-family:var(--sans)}.scard .foot{display:flex;gap:8px;padding:13px 18px;border-top:1px solid var(--line);margin-top:auto}.btn{display:inline-block;font:700 13px/1 var(--sans);padding:11px 16px;border-radius:4px;text-align:center;text-decoration:none}.btn.go{background:var(--accent);color:#fff;border:1px solid var(--accent);flex:1}.btn.go:hover{background:var(--accent-d);color:#fff;text-decoration:none}.btn.sub{background:transparent;color:var(--ink);border:1px solid var(--line-2)}.btn.sub:hover{border-color:var(--ink);text-decoration:none}.sbar{display:inline-flex;align-items:center;gap:7px;min-width:0;flex:1}.sbar-track{flex:1;height:7px;background:var(--surface-2);overflow:hidden;min-width:44px;border:1px solid var(--line-2)}.sbar-fill{display:block;height:100%;background:var(--accent)}.sbar-num{font-family:var(--mono);font-weight:600;font-size:12px;color:var(--ink)}.sbar-na{font-family:var(--sans);color:var(--muted);font-size:11px}.ftags{display:flex;gap:6px;flex-wrap:wrap}.tag{display:inline-block;font:500 11px/1.6 var(--sans);padding:2px 9px;border-radius:3px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line-2)}.tag.a{background:var(--earth-soft);color:var(--earth);border-color:#cabfa8}.tag.g{background:var(--accent-soft);color:var(--accent-d);border-color:#e6c3b1}.mx-wrap{overflow-x:auto;border:1px solid var(--line-2)}.mx{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);min-width:1000px}.mx th,.mx td{padding:10px 11px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;vertical-align:middle}.mx thead th{background:var(--earth);color:#f2ece1;font-family:var(--display);font-weight:700;position:sticky;top:0;font-size:12.5px}.mx tbody th{background:var(--surface-2);text-align:left;font-family:var(--display);font-weight:700;font-size:12.5px;white-space:nowrap}.mx .y{color:var(--ok);font-weight:700}.mx .n{color:#bbb1a0}.mx td.mono{font-family:var(--sans);font-size:11px}.mx td.l{text-align:left}.grid{display:grid;gap:15px}.grid.c2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.grid.c3{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.card{background:var(--surface);border:1px solid var(--line-2);padding:18px}.card h3{font-size:16px;margin:0 0 6px;font-weight:700}.card p{font-size:13.5px;color:var(--muted);margin:0}.card .arrow{color:var(--accent-d);font-weight:700;font-size:13px;margin-top:8px;display:inline-block}.hubcard{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line-2);border-left:3px solid var(--accent);padding:16px 17px;text-decoration:none}.hubcard:hover{text-decoration:none;border-color:var(--accent);background:var(--surface-2)}.hubcard .ic{width:42px;height:42px;background:var(--accent-soft);color:var(--accent-d);display:inline-flex;align-items:center;justify-content:center;font-size:22px;flex:none;font-family:var(--display)}.hubcard .tx b{display:block;font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink)}.hubcard .tx span{font-size:12px;color:var(--muted)}.crumb{font-size:12.5px;color:var(--muted);font-family:var(--sans);margin:18px 0 10px}.crumb a{color:var(--muted)}.detail-head{background:var(--surface);border:1px solid var(--line-2);border-top:4px solid var(--accent);padding:26px;margin-bottom:20px}.detail-head h1{font-size:clamp(24px,4vw,33px);margin:.15em 0;font-weight:700}.spec-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--surface);border:1px solid var(--line-2)}.spec-table th,.spec-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}.spec-table th{background:var(--surface-2);width:34%;font-weight:700;font-family:var(--display)}.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}.spec-table td.req{color:var(--muted);font-style:italic}.prose{max-width:800px}.prose p{margin:0 0 14px}.prose h2{font-size:22px;margin:30px 0 12px;border-bottom:2px solid var(--ink);padding-bottom:6px;font-weight:700}.prose h3{font-size:18px;margin:22px 0 8px;font-weight:700}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:5px 0}.pros li::marker{content:"◎ "}.pros li{color:var(--accent-d)}.cons li::marker{content:"※ "}.cons li{color:var(--gold)}.callout{background:var(--accent-soft);border-left:3px solid var(--accent);padding:13px 17px;font-size:13.5px;margin:16px 0}.callout.warn{background:var(--warn-soft);border-color:var(--warn)}.callout.ok{background:var(--ok-soft);border-color:var(--ok)}.src{font-size:12px;color:var(--muted)}.src a{color:var(--muted);text-decoration:underline}.note{font-size:12.5px;color:var(--muted)}.tool{background:var(--surface);border:1px solid var(--line-2);padding:24px}.tool label{display:block;font-size:13px;font-weight:700;margin:12px 0 5px}.tool input,.tool select{width:100%;padding:11px 13px;border:1px solid var(--line-2);border-radius:3px;font-size:15px;background:var(--surface-2);font-family:var(--display)}.tool .out{margin-top:20px;padding:22px;background:var(--earth);color:#f2ece1;border-radius:5px}.tool .out .big{display:flex;flex-wrap:wrap;gap:24px}.tool .out b{color:#e8a17e;font-size:27px;font-family:var(--display);font-weight:700}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-row.c3{grid-template-columns:1fr 1fr 1fr}.field-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px}.cmp-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:10px}.cmp-index-card{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-2);padding:14px 16px;font-size:13px;text-decoration:none}.cmp-index-card:hover{text-decoration:none;border-color:var(--accent)}.cix-a,.cix-b{font-weight:700;color:var(--ink);font-family:var(--display)}.cix-vs{font-family:var(--mono);font-style:italic;color:var(--accent-d);font-weight:600;font-size:12px}.anchor-nav{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 22px}.anchor-nav a{font:500 13px/1 var(--sans);padding:9px 14px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);text-decoration:none}.anchor-nav a:hover{border-color:var(--accent);text-decoration:none}.faq details{border-bottom:1px solid var(--line);padding:11px 0}.faq summary{font-weight:700;font-family:var(--display);cursor:pointer}.faq p{margin:6px 0 0;color:var(--muted);font-size:14px}.site-footer{background:var(--panel);color:#b3a998;margin-top:46px;padding:36px 0;font-size:13px}.site-footer .container>strong{font-family:var(--display);color:#fff;font-size:17px;display:block;margin-bottom:8px;font-weight:700}.site-footer p{margin:8px 0;color:#a39a89}.site-footer a{color:#e8a17e}.site-footer .disclaimer{font-size:11.5px;color:#857c6c;border-top:1px solid #3a342d;padding-top:12px;margin-top:14px}.site-footer .updated{font-family:var(--mono);font-style:italic;font-size:12px}@media(max-width:760px){.field-row,.field-row.c3,.field-grid{grid-template-columns:1fr}.kpi{min-width:50%;border-bottom:1px solid var(--line)}.site-header nav{width:100%;margin-left:0;gap:13px}.scards{grid-template-columns:1fr}}
