.care-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media(min-width:480px){.care-level-grid{grid-template-columns:repeat(4,1fr);}}
.care-card{border:2px solid var(--border);border-radius:var(--r);padding:12px 8px;cursor:pointer;transition:all .15s;background:#fafaf8;position:relative;display:block;text-align:center;}
.care-card:hover{border-color:var(--accent);}
.care-card.care-card input[type="radio"]{display:none;}
.cc-check{position:absolute;top:8px;right:10px;color:var(--accent);font-weight:700;font-size:12px;opacity:0;transition:opacity .15s;}
.care-card.selected .cc-check{opacity:1;}
.cc-level{font-size:11px;font-weight:700;color:var(--ink3);margin-bottom:3px;}
.cc-name{font-size:12px;font-weight:700;color:var(--ink);}
.cc-sub{font-size:12px;color:var(--ink3);margin-top:2px;}

.subsidy-result{background:var(--primary2);border:1px solid rgba(255,255,255,0.06);border-radius:var(--r-lg);padding:20px 16px;margin-bottom:14px;}
.sr-label{font-size:11px;color:var(--primary-mid);font-family:'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.sr-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(26px,6vw,42px);font-weight:900;color:#fff;line-height:1.1;margin-bottom:4px;}
.sr-val em{color:var(--primary-mid);font-style:normal;font-size:.55em;}
.sr-sub{color:rgba(255,255,255,0.55);font-size:12px;}

.net-result{background:var(--primary);border-radius:var(--r-lg);padding:22px 16px;margin-bottom:14px;position:relative;overflow:hidden;}
.net-result::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(107,159,212,.25),transparent 70%);pointer-events:none;}
.nr-label{font-size:11px;color:var(--primary-mid);font-family:'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.nr-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(28px,7vw,48px);font-weight:900;color:#fff;line-height:1.1;margin-bottom:4px;}
.nr-val em{color:var(--primary-mid);font-style:normal;font-size:.55em;}
.nr-sub{color:rgba(255,255,255,0.55);font-size:12px;}
@media(min-width:480px){}
.info-box{background:#fff8e0;border:1px solid #f0d060;border-radius:var(--r);padding:12px 16px;font-size:12px;color:#7a5500;display:flex;gap:8px;margin-bottom:14px;}
/* care-card 選択スタイル */
.care-card.selected { border-color: var(--accent); background: var(--accent-light, #fff3ec); box-shadow: 0 0 0 1px var(--accent); }
.care-card.selected .cc-name { color: var(--accent); }

/* 工事内容チェックボックス */
.opt-grid { display: flex; flex-direction: column; gap: 6px; }
.opt-item {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  border: 1.5px solid var(--border); border-radius: var(--r);
  cursor: pointer; font-size: 13px; color: var(--ink);
  transition: all .15s; background: #fafaf8; user-select: none;
}
.opt-item input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; }
.opt-box {
  width: 20px; height: 20px;
  border: 1.5px solid var(--border); border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; color: transparent; flex-shrink: 0; transition: all .15s;
}
.opt-item:has(input:checked) { border-color: var(--accent); background: var(--accent-light, #fff3ec); }
.opt-item:has(input:checked) .opt-box { background: var(--accent); border-color: var(--accent); color: #fff; }
