@font-face{font-family:NotoJP;src:url(/fonts/noto-sans-jp-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:NotoJP;src:url(/fonts/noto-sans-jp-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:NotoJP;src:url(/fonts/noto-sans-jp-900.woff2) format("woff2");font-weight:900;font-display:swap}@font-face{font-family:Mono;src:url(/fonts/mono-500.woff2) format("woff2");font-weight:500;font-display:swap}:root{--bg: #f5f8f6;--bg2: #ebf2ee;--panel: #ffffff;--panel2: #f0f6f2;--line: #d8e3dd;--line2: #b3c8bc;--grid: rgba(10, 122, 66, .055);--green: #0a7a42;--green2: #065a30;--green-d: #0a7a42;--glow: rgba(10, 122, 66, .12);--on-green: #ffffff;--amber: #8a5600;--cyan: #0b6a80;--red: #b3261e;--text: #0f1a14;--muted: #4a5c52;--faint: #5c6f65;--mono: "Mono", "NotoJP", ui-monospace, Consolas, monospace;--sans: "NotoJP", system-ui, -apple-system, "Hiragino Sans", "Yu Gothic UI", sans-serif;--r: 4px;--wrap: 1180px}.dark{--bg: #050807;--bg2: #08100c;--panel: #0b1510;--panel2: #0f1d16;--line: #1e3a2b;--line2: #2b5540;--grid: rgba(61, 255, 143, .055);--green: #3dff8f;--green2: #9dffc6;--green-d: #1fae5c;--glow: rgba(61, 255, 143, .35);--on-green: #021208;--amber: #ffc54d;--cyan: #5fe3ff;--red: #ff7a6b;--text: #e4efe8;--muted: #a2b7ab;--faint: #7f9a8b;color:var(--text)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.8 var(--sans);letter-spacing:.02em;overflow-wrap:anywhere;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}img,svg{max-width:100%}a{color:var(--green);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--green2)}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}h1,h2,h3{word-break:auto-phrase;font-weight:900;line-height:1.35;letter-spacing:.01em;margin:0 0 .6em}h1{font-size:clamp(1.8rem,1.2rem + 2.6vw,3.1rem)}h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem)}h3{font-size:1.12rem}p{margin:0 0 1em}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}.mono,.pin,code{font-family:var(--mono);font-weight:500;letter-spacing:.04em}.skip{position:absolute;left:-9999px;top:8px;background:var(--green);color:var(--on-green);padding:8px 14px;z-index:99}.skip:focus{left:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header{position:sticky;top:0;z-index:20;background:var(--bg);backdrop-filter:blur(6px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--green);text-decoration:none}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-name{font-weight:900;font-size:1.12rem;color:var(--text)}.brand-en{font:500 .62rem/1.4 var(--mono);color:var(--green);letter-spacing:.18em}.gnav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}.gnav a{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--text);text-decoration:none;border:1px solid transparent;border-radius:var(--r);font-weight:700;font-size:.95rem}.gnav a:hover,.gnav a[aria-current]{border-color:var(--line2);color:var(--green)}.gnav .pin{font-size:.66rem;color:var(--faint);border:1px solid var(--line2);padding:0 4px;border-radius:2px}.gnav a[aria-current] .pin{color:var(--on-green);background:var(--green);border-color:var(--green)}.menu-btn{display:none;align-items:center;gap:8px;background:none;color:var(--text);border:1px solid var(--line2);border-radius:var(--r);padding:8px 12px;font:700 .9rem var(--sans);cursor:pointer}.menu-ic{width:16px;height:10px;border-top:2px solid var(--green);border-bottom:2px solid var(--green);position:relative}.menu-ic:after{content:"";position:absolute;left:0;right:0;top:2px;border-top:2px solid var(--green)}.bus{height:2px;background:var(--line);position:relative;overflow:hidden}.bus i{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 40%,var(--green) 50%,transparent 60% 100%);background-size:300% 100%;animation:flow 6s linear infinite;opacity:.8}@keyframes flow{0%{background-position:100% 0}to{background-position:-50% 0}}.wire{display:flex;align-items:center;gap:10px;margin:0 0 22px;font:500 .72rem/1 var(--mono);color:var(--green);letter-spacing:.12em}.wire-no{border:1px solid var(--green);padding:4px 6px;border-radius:2px}.wire-line{flex:1;height:1px;background:var(--line2);position:relative;overflow:hidden}.wire-line i{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 45%,var(--green) 50%,transparent 55% 100%);background-size:400% 100%;animation:flow 5s linear infinite}.wire-label{color:var(--muted)}.wire-node{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--glow)}section{padding:64px 0}section+section{padding-top:24px}.lead{color:var(--muted);max-width:46em}.eyebrow{font:500 .74rem/1.4 var(--mono);color:var(--green);letter-spacing:.16em;margin-bottom:12px;display:inline-block}.hero{padding:56px 0 24px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.hero h1{font-size:clamp(2rem,1.2rem + 3.4vw,3.6rem)}.hero h1 .ph{display:inline-block}.hero h1 em{font-style:normal;color:var(--green);text-shadow:0 0 24px var(--glow)}.hero .lead{font-size:1.05rem}.readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line2);border-radius:var(--r);background:var(--panel)}.readouts>div{padding:14px 18px;border-left:1px solid var(--line)}.readouts>div:first-child{border-left:0}.readouts b{display:block;font:500 clamp(1.6rem,1.2rem + 1.4vw,2.4rem)/1.1 var(--mono);color:var(--green);text-shadow:0 0 14px var(--glow)}.readouts span{font-size:.8rem;line-height:1.5;color:var(--muted);display:block;margin-top:4px}.schematic{margin:0;border:1px solid var(--line2);border-radius:var(--r);background:var(--bg2);padding:10px}.schematic svg{display:block;width:100%;height:auto}.schematic .sch-tall{display:none;max-width:340px;margin:0 auto}.schematic figcaption{font-size:.8rem;color:var(--muted);padding:8px 6px 2px;border-top:1px dashed var(--line);margin-top:8px}.w-base path{fill:none;stroke:var(--line2);stroke-width:3}.w-base .pe{stroke:var(--line);stroke-width:1.5;stroke-dasharray:2 6}.w-flow path{fill:none;stroke:var(--green);stroke-width:3;stroke-dasharray:10 22;animation:current 1.6s linear infinite;filter:drop-shadow(0 0 4px var(--glow))}@keyframes current{to{stroke-dashoffset:-32}}.part rect,.part circle,.part path{fill:var(--panel);stroke:var(--green);stroke-width:1.6}.part .thin{stroke:var(--line2);fill:none}.part .hot{fill:var(--green)}.part .bolt{fill:var(--green);stroke:none}.part.ghost rect{stroke:var(--faint);fill:none}.node circle{fill:var(--green)}.scope{fill:none;stroke:var(--amber);stroke-width:1;stroke-dasharray:3 5;opacity:.75}.schematic text{fill:var(--text);font-family:var(--sans);font-size:15px;text-anchor:middle;font-weight:700}.schematic text.mono{font-family:var(--mono);font-size:12px;fill:var(--muted);font-weight:500}.schematic text.hot-t{fill:var(--green)}.schematic text.dim{fill:var(--faint)}.schematic text.scope-t{fill:var(--amber);text-anchor:start}.finder{border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);padding:22px;position:relative}.finder:before{content:"SW-01  業者検索";position:absolute;top:-10px;left:16px;background:var(--bg);padding:0 8px;font:500 .7rem/1.4 var(--mono);color:var(--green);letter-spacing:.14em}.finder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end}.fld{display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:var(--muted);font-weight:700}select,input[type=search],input[type=text]{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line2);border-radius:var(--r);padding:10px 12px;font:400 1rem var(--sans);min-height:46px}select:hover,input:hover{border-color:var(--green-d)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:var(--r);border:1px solid var(--green);background:var(--green);color:var(--on-green);font:900 1rem var(--sans);text-decoration:none;cursor:pointer}.btn:hover{background:var(--green2);color:var(--on-green)}.btn.sec{background:transparent;color:var(--green)}.btn.sec:hover{background:#3dff8f14;color:var(--green2)}.toggles{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}.toggles legend{font-size:.86rem;color:var(--muted);font-weight:700;margin-bottom:8px;padding:0}.toggles label{position:relative}.toggles input{position:absolute;opacity:0;inset:0;cursor:pointer}.toggles span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:999px;padding:6px 14px 6px 8px;font-size:.9rem;color:var(--text);cursor:pointer}.toggles span:before{content:"";width:26px;height:14px;border-radius:99px;background:var(--line);box-shadow:inset 0 0 0 1px var(--line2);transition:background .15s;background-image:radial-gradient(circle at 7px 7px,var(--faint) 4px,transparent 4.5px)}.toggles input:checked+span{border-color:var(--green);color:var(--green)}.toggles input:checked+span:before{background:var(--green-d);background-image:radial-gradient(circle at 19px 7px,#eafff3 4px,transparent 4.5px)}.toggles input:focus-visible+span{outline:2px solid var(--amber);outline-offset:2px}.co-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.co{position:relative;border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);padding:18px 20px 16px 26px}.co:before{content:"";position:absolute;left:-1px;top:18px;bottom:18px;width:3px;background:var(--green);box-shadow:0 0 10px var(--glow)}.co .ref{position:absolute;top:10px;right:14px;font:500 .7rem var(--mono);color:var(--faint)}.co .name{font-weight:900;font-size:1.12rem;margin:0 0 4px;padding-right:4.5em}.co .name a{color:var(--text);text-decoration:none}.co .name a:hover{color:var(--green);text-decoration:underline}.co .sub{font-size:.86rem;color:var(--muted);margin:0 0 10px}.co .note{font-size:.92rem;margin:0 0 10px}.pins{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.pins li{font:500 .74rem/1 var(--mono);padding:6px 8px;border:1px solid var(--line2);border-radius:2px;color:var(--muted);letter-spacing:.04em}.pins li.t{color:var(--green);border-color:var(--green-d)}.pins li.t.quick{color:var(--cyan);border-color:#2a7f93}.pins li.t.v2h{color:var(--amber);border-color:#8a6a22}.pins li.sub{color:var(--on-green);background:var(--green);border-color:var(--green)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);padding:22px;position:relative}.card h3{margin-bottom:.4em}.card p:last-child{margin-bottom:0}.card .tag{font:500 .7rem/1 var(--mono);color:var(--green);letter-spacing:.14em;display:block;margin-bottom:10px}a.card{color:var(--text);text-decoration:none;display:block}a.card:hover{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset,0 0 24px #3dff8f14}a.card:hover h3{color:var(--green)}.card .arrow{font-family:var(--mono);color:var(--green)}.flow{list-style:none;margin:0;padding:0;counter-reset:st}.flow li{position:relative;padding:0 0 22px 52px;counter-increment:st}.flow li:before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:0;width:36px;height:36px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;font:500 .8rem var(--mono);color:var(--green);background:var(--bg)}.flow li:after{content:"";position:absolute;left:18px;top:38px;bottom:2px;width:1px;background:var(--line2)}.flow li:last-child:after{display:none}.flow b{display:block;font-weight:900}.flow span{color:var(--muted);font-size:.94rem}.tbl-wrap{overflow-x:auto;border:1px solid var(--line2);border-radius:var(--r)}.tbl{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--panel)}.tbl th,.tbl td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}.tbl thead th{font:500 .76rem var(--mono);color:var(--green);letter-spacing:.08em;background:var(--panel2);white-space:nowrap}.tbl tbody th{font-weight:700;color:var(--text);width:30%}.tbl tr:last-child>*{border-bottom:0}.tbl .num{font-family:var(--mono);color:var(--green);white-space:nowrap}.page-head{padding:44px 0 28px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),transparent);position:relative;overflow:hidden}.page-head:after{content:"";position:absolute;right:0;top:36px;width:440px;height:170px;pointer-events:none;opacity:.9;background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20440%20170%22%20fill%3D%22none%22%20stroke%3D%22%23a9c3b5%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M0%2040H120l10-14%2020%2028%2020-28%2020%2028%2020-28%2010%2014H330V130H440%22%2F%3E%3Cpath%20d%3D%22M330%2085H380%22%2F%3E%3Cpath%20d%3D%22M380%2070v30M392%2076v18%22%20stroke%3D%22%230a7a42%22%2F%3E%3Cpath%20d%3D%22M60%2040V130H200%22%20stroke-dasharray%3D%224%206%22%2F%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2240%22%20r%3D%224%22%20fill%3D%22%230a7a42%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22330%22%20cy%3D%2240%22%20r%3D%224%22%20fill%3D%22%230a7a42%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22330%22%20cy%3D%22130%22%20r%3D%224%22%20fill%3D%22%230a7a42%22%20stroke%3D%22none%22%2F%3E%3Ccircle%20cx%3D%22330%22%20cy%3D%2285%22%20r%3D%224%22%20fill%3D%22%230a7a42%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E) no-repeat right center / contain}.page-head p{color:var(--muted);max-width:46em;margin:0}.crumbs{font:500 .76rem/1.6 var(--mono);color:var(--faint);margin-bottom:14px;letter-spacing:.04em}.crumbs a{color:var(--muted)}.prose{max-width:820px}.prose h2{margin-top:2em;padding-left:16px;border-left:3px solid var(--green)}.prose h2:first-child{margin-top:0}.prose h3{margin-top:1.6em;color:var(--green2)}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:.4em}.notice{border:1px solid #6b5322;background:#ffc54d0f;border-left:3px solid var(--amber);padding:14px 16px;border-radius:var(--r);font-size:.94rem}.notice strong{color:var(--amber)}.disclaimer,.srcline{font-size:.84rem;color:var(--muted)}.srcline{border-top:1px dashed var(--line2);padding-top:10px;margin-top:18px}.src-list{font-size:.92rem}.kv{display:grid;grid-template-columns:11em minmax(0,1fr);border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);margin:0 0 18px}.kv dt,.kv dd{margin:0;padding:12px 16px;border-bottom:1px solid var(--line)}.kv dt{font:500 .8rem/1.8 var(--mono);color:var(--green);letter-spacing:.06em;border-right:1px solid var(--line)}.kv dt:nth-last-of-type(1),.kv dd:last-child{border-bottom:0}.unconf{color:var(--faint)}.search-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}.filters{border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);padding:18px;position:sticky;top:84px;display:grid;gap:16px}.filters details{display:grid;gap:16px}.filters details>*:not(summary){margin-top:16px}.fsum{font:500 .78rem var(--mono);color:var(--green);letter-spacing:.14em;cursor:pointer;list-style:none}.fsum::-webkit-details-marker{display:none}.filters .toggles{flex-direction:column;align-items:flex-start}.resbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;flex-wrap:wrap}#count{font:500 1.05rem var(--mono);color:var(--green);margin:0}.active-filters{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0}.active-filters button{background:transparent;color:var(--green);border:1px dashed var(--green-d);border-radius:999px;padding:4px 12px;font:700 .84rem var(--sans);cursor:pointer}.empty{border:1px dashed var(--line2);border-radius:var(--r);padding:22px;color:var(--muted)}.region{margin-bottom:26px}.region h3{font:500 .82rem var(--mono);color:var(--green);letter-spacing:.12em;margin-bottom:10px}.prefs{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}.prefs a{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--line2);border-radius:var(--r);color:var(--text);text-decoration:none;background:var(--panel)}.prefs a:hover{border-color:var(--green);color:var(--green)}.prefs .c{font:500 .74rem var(--mono);color:var(--green)}.site-footer{margin-top:64px;background:var(--bg)}.footer-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;padding-top:40px;padding-bottom:24px}.footer-brand p{font-size:.86rem;color:var(--muted);margin-top:12px}.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.footer-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer-nav a{color:var(--text);text-decoration:none;font-size:.92rem}.footer-nav a:hover{color:var(--green);text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;padding-bottom:28px;font-size:.82rem;color:var(--muted)}.footer-bottom p{margin:0}@media(max-width:1080px){.finder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finder-grid .btn{grid-column:1 / -1}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.wrap{padding:0 16px}.menu-btn{display:inline-flex}.gnav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line2);display:none}.gnav.open{display:block}.gnav ul{flex-direction:column;padding:8px 16px 16px}.gnav a{padding:12px}.brand-en{display:none}.readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.readouts>div:nth-child(3){border-left:0}.readouts>div:nth-child(n+3){border-top:1px solid var(--line)}.schematic .sch-wide{display:none}.schematic .sch-tall{display:block}.search-grid{grid-template-columns:minmax(0,1fr)}.filters{position:static}.grid2,.grid3,.footer-inner,.kv{grid-template-columns:minmax(0,1fr)}.kv dt{border-right:0;border-bottom:0;padding-bottom:0}section{padding:44px 0}.page-head:after{display:none}}@media(max-width:520px){.finder-grid{grid-template-columns:minmax(0,1fr)}.finder{padding:20px 16px 16px}.co{padding:16px 14px 14px 20px}}@media(prefers-reduced-motion:reduce){.bus i,.wire-line i,.w-flow path{animation:none}}.page-head .wrap{position:relative;z-index:1}@media(max-width:1240px){.page-head:after{opacity:.35}}
