/* /simulator/ 試算ページ */
.sim{background:var(--color-surface);border:1px solid var(--border-subtle);
  border-radius:18px;padding:28px 26px;margin:0 0 28px}
.sim-row{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;margin:0 0 16px}
.sim-row:last-of-type{margin-bottom:0}
.sim-row label{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:15px;color:var(--ink-700)}
.sim input,.sim select{width:100%;padding:12px 14px;font-size:16px;font-family:var(--font-body);
  border:1px solid var(--border-default);border-radius:11px;background:var(--white);color:var(--text-primary)}
.sim input:focus,.sim select:focus{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--green-400)}
.sim select:disabled{background:var(--ink-100);color:var(--text-muted)}
.sim-hint{margin:6px 0 0;font-size:var(--fs-xs);color:var(--text-muted)}
.sim-out{display:none;background:var(--green-50);border:1px solid var(--border-brand);
  border-radius:18px;padding:26px;margin:0 0 30px}
.sim-out.on{display:block}
.sim-out h3{margin:0 0 18px;font-size:var(--fs-h3);color:var(--green-800)}
.sim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0 0 18px}
.sim-box{background:var(--white);border:1px solid var(--border-subtle);border-radius:13px;padding:16px 18px}
.sim-box p{margin:0}
.sim-box .k{font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:var(--ls-wide)}
.sim-box .v{font-family:var(--font-display);font-weight:var(--fw-black);font-size:26px;
  color:var(--green-700);line-height:1.2;margin-top:4px}
.sim-box .v em{font-size:14px;color:var(--text-secondary);margin-left:2px}
.sim-box .s{font-size:var(--fs-xs);color:var(--text-muted);margin-top:5px}
.sim-box.main{background:var(--green-600);border-color:var(--green-700)}
.sim-box.main .k{color:rgba(255,255,255,.85)}
.sim-box.main .v{color:#fff}
.sim-box.main .v em,.sim-box.main .s{color:rgba(255,255,255,.85)}
.sim-note{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-normal);margin:0}
.sim-warn{background:var(--sun-100);border:1px solid var(--sun-300);border-radius:12px;
  padding:14px 18px;margin:16px 0 0;font-size:var(--fs-sm);color:var(--ink-700);display:none}
.sim-warn.on{display:block}
@media(max-width:640px){
  .sim-row{grid-template-columns:1fr;gap:6px}
  .sim{padding:22px 18px}
}
