/* 在宅訪問 算定シミュレーター（.zsim の中だけに効く） */
.zsim{--z-ink:var(--ink,#23323a);--z-sub:var(--sub,#5b6b70);--z-line:var(--line,#dde8e4);--z-wash:var(--wash,#f4f9f7);--z-ai:var(--ai,#14806f);--z-ai-w:var(--ai-wash,#e4f4ef);--z-am:var(--amber,#8a4b00);--z-am-w:var(--amber-wash,#fff1db);color:var(--z-ink);font-size:15px;line-height:1.7}
.zsim *{box-sizing:border-box}
.zsim-lead{margin:0 0 16px;color:var(--z-sub);font-size:14.5px}
.zsim-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.zsim-form fieldset{border:1.5px solid var(--z-line);border-radius:18px;margin:0 0 14px;padding:12px 16px 14px;background:#fff;min-width:0}
.zsim-form legend{font-weight:700;font-size:15px;padding:0 6px}
.zsim-f{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px dashed var(--z-line);font-size:14px}
.zsim-f:last-child{border-bottom:0}
.zsim-f>span:first-child{display:flex;flex-direction:column;line-height:1.5}
.zsim small{font-size:12px;color:var(--z-sub);font-weight:400}
.zsim-in{display:flex;align-items:center;gap:6px;flex:none}
.zsim-in input[type=number]{width:84px;font:inherit;font-size:15px;text-align:right;padding:6px 8px;border:1.5px solid #c9d8d3;border-radius:10px;font-variant-numeric:tabular-nums}
.zsim-in input[type=checkbox]{width:20px;height:20px;accent-color:var(--z-ai)}
.zsim-in em{font-style:normal;font-size:12.5px;color:var(--z-sub);min-width:2.6em}
.zsim select{font:inherit;font-size:14px;padding:6px 8px;border:1.5px solid #c9d8d3;border-radius:10px;max-width:230px;background:#fff}
.zsim input:focus,.zsim select:focus{outline:0;border-color:var(--z-ai);box-shadow:0 0 0 3px var(--z-ai-w)}
.zsim-sub{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--z-sub)}
.zsim-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.zsim-seg label{cursor:pointer}
.zsim-seg input{position:absolute;opacity:0;pointer-events:none}
.zsim-seg span{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 8px;border:1.5px solid var(--z-line);border-radius:14px;font-weight:700;line-height:1.4}
.zsim-seg input:checked+span{border-color:var(--z-ai);background:var(--z-ai-w);color:var(--z-ai)}
.zsim-seg input:focus-visible+span{box-shadow:0 0 0 3px var(--z-ai-w)}
.zsim.is-care .zsim-medonly{display:none}
.zsim-out{position:sticky;top:16px}
.zsim-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.zsim-kpi{border-radius:16px;padding:12px 14px;background:var(--z-wash)}
.zsim-kpi-wide{grid-column:1/-1;background:var(--z-ai-w)}
.zsim-kpi span{display:block;font-size:12.5px;color:var(--z-sub);font-weight:700}
.zsim-kpi b{font-size:22px;font-variant-numeric:tabular-nums}
.zsim-warn{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.zsim-warn li{background:var(--z-am-w);color:var(--z-am);border-radius:12px;padding:8px 12px;font-size:13.5px;line-height:1.6}
.zsim-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}
.zsim-table th{text-align:left;font-size:12.5px;color:var(--z-sub);border-bottom:1.5px solid var(--z-line);padding:6px 4px}
.zsim-table td{border-bottom:1px solid var(--z-line);padding:7px 4px;vertical-align:top}
.zsim-table td small{display:block}
.zsim-table td:nth-child(n+2),.zsim-table th:nth-child(n+2){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.zsim-sum td{font-weight:700;border-bottom:0}
.zsim-print{margin-top:12px;font:inherit;font-weight:700;font-size:14px;padding:8px 18px;border-radius:999px;border:1.5px solid var(--z-ai);background:#fff;color:var(--z-ai);cursor:pointer}
.zsim-foot{margin-top:20px;font-size:12.5px;color:var(--z-sub);line-height:1.7;border-top:1px solid var(--z-line);padding-top:12px}
@media (max-width:820px){.zsim-layout{grid-template-columns:1fr}.zsim-out{position:static}}
@media (max-width:480px){.zsim-f{flex-wrap:wrap}.zsim select{max-width:100%;width:100%}}
@media print{.zsim-form,.zsim-print,.zsim-lead{display:none}.zsim-layout{display:block}.zsim-kpi{border:1px solid #ccc}}
