/* Independent, progressively enhanced SVG modules. No global selectors. */
.isgm{--isgm-ink:#202124;--isgm-copper:#a8522e;color:var(--isgm-ink);background:#fff;font-family:"Noto Sans JP",sans-serif;max-width:1200px;margin:0 auto;padding:40px 0;border-top:1px solid #d5d5d5;box-sizing:border-box}
.isgm *{box-sizing:border-box}.isgm .isgm-heading{font:600 clamp(24px,3vw,38px)/1.4 "Noto Sans JP",sans-serif;letter-spacing:-.03em;margin:0 0 24px;color:#202124;white-space:nowrap}
.isgm .isgm-scene{display:block;width:100%;height:auto;overflow:visible}.isgm .isgm-labels{list-style:none;display:flex;justify-content:space-between;gap:8px;margin:20px 0 24px;padding:0;font-size:14px;font-weight:500;line-height:1.7}.isgm .isgm-labels li{flex:1;text-align:center}.isgm .isgm-labels li+li{border-left:1px solid #d5d5d5}
.isgm .isgm-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.isgm .isgm-controls[hidden]{display:none}.isgm button{min-height:44px;min-width:80px;padding:10px 16px;border:1px solid #555;background:#fff;color:#202124;font:inherit;font-size:14px;cursor:pointer;border-radius:0}.isgm button:first-child{background:#202124;color:#fff}.isgm button:disabled{opacity:.5;cursor:default}.isgm button:focus-visible{outline:3px solid #0067a3;outline-offset:3px}.isgm .isgm-status{font-size:13px;color:#505154;margin-left:8px}.isgm .isgm-line{fill:none;stroke:#737579;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.isgm .isgm-faint{fill:none;stroke:#d5d5d5;stroke-width:1.5}.isgm .isgm-wire{fill:none;stroke:#ad5b35;stroke-width:3;stroke-linecap:round}.isgm .isgm-light{fill:none;stroke:#f7bd75;stroke-width:5;stroke-linecap:round}.isgm .isgm-tool{fill:#fff;stroke:#505154;stroke-width:2}.isgm .isgm-paper{fill:#fafafa;stroke:#bfc0c1;stroke-width:1.5}.isgm .isgm-progress{height:2px;background:#e6e6e6;margin-top:20px;overflow:hidden}.isgm .isgm-progress span{display:block;width:100%;height:100%;background:#a8522e;transform-origin:left;transform:scaleX(1)}
@media(max-width:600px){.isgm{padding:28px 0}.isgm .isgm-heading{margin-bottom:18px}.isgm .isgm-labels{font-size:12px;margin-top:12px}.isgm .isgm-status{flex-basis:100%;margin:4px 0 0}}
@media(prefers-reduced-motion:reduce){.isgm *{animation:none!important;transition:none!important}}
body.a22-static .isgm *{animation:none!important;transition:none!important}
