/* MC Subsidy Search。.sbs 配下に限定 */
.sbs { --navy:#1f3358; --navy-wash:#e3e8f2; --cream:#faf6ec; --sheet:#fffdf8; --ink:#222a36; --soft:#4d5868; --rule:#d8d0bd;
  --low:#a24a14; --low-wash:#f8e6d6; --ok:#25683f; --ok-wash:#dff0e4; --high:#2f4b9a; --high-wash:#e3e8f8;
  font-family:"Hiragino Sans","Yu Gothic","Meiryo",sans-serif; font-size:16px; line-height:1.75; color:var(--ink); background:var(--cream); padding:16px; box-sizing:border-box; }
.sbs *, .sbs *::before, .sbs *::after { box-sizing:inherit; }
.sbs .inner { max-width:1000px; margin:0 auto; display:grid; gap:20px; min-width:0; }
.sbs .inner h2 { line-height:1.5; margin:0; padding:0; border:0; background:none; color:var(--navy); font-weight:700; }
.sbs .inner h2 { font-size:1.25rem; }
.sbs p { margin:0; padding:0; }
.sbs .testband { background:var(--low-wash); color:var(--low); border:2px solid var(--low); border-radius:8px; padding:10px 14px; font-weight:700; }
.sbs .panel { background:var(--sheet); border:1px solid var(--rule); border-radius:8px; padding:18px; display:grid; gap:18px; min-width:0; }
.sbs .row { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:16px; }
.sbs fieldset { border:0; margin:0; padding:0; min-width:0; }
.sbs legend { font-weight:700; color:var(--navy); padding:0; margin-bottom:6px; }
.sbs .field { display:grid; gap:4px; min-width:0; align-content:start; }
.sbs label, .sbs .lbl { font-weight:700; }
.sbs .hint { color:var(--soft); }
.sbs input[type=search], .sbs select { width:100%; min-width:0; max-width:100%; font:inherit; font-size:18px; min-height:48px; padding:8px 10px; color:var(--ink); background:#fff; border:2px solid #9aa4b8; border-radius:6px; margin:0; }
.sbs input:focus-visible, .sbs select:focus-visible, .sbs button:focus-visible, .sbs a:focus-visible { outline:3px solid var(--navy); outline-offset:2px; }
.sbs .checks { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:8px; }
.sbs .checks label, .sbs label.one { display:flex; align-items:center; gap:10px; min-height:48px; padding:6px 12px; border:2px solid #9aa4b8; border-radius:6px; background:#fff; cursor:pointer; font-weight:400; }
.sbs .checks input, .sbs label.one input { width:22px; height:22px; margin:0; flex:none; accent-color:var(--navy); }
@media (max-width:640px){ .sbs { padding:8px; } .sbs .panel { padding:12px; } .sbs .checks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; } .sbs .checks label { padding:6px 6px; gap:6px; line-height:1.4; } .sbs .checks input { width:20px; height:20px; } }
.sbs .checks label:has(input:checked), .sbs label.one:has(input:checked) { border-color:var(--navy); background:var(--navy-wash); font-weight:700; }
.sbs button.reset { justify-self:start; font:inherit; min-height:48px; padding:6px 18px; background:#fff; color:var(--navy); border:2px solid var(--navy); border-radius:6px; cursor:pointer; font-weight:700; }
.sbs .count { font-size:1.25rem; font-weight:700; color:var(--navy); }
.sbs .cards { display:grid; gap:16px; padding:0; margin:0; list-style:none; }
.sbs .card { background:var(--sheet); border:1px solid var(--rule); border-radius:8px; padding:16px; display:grid; gap:10px; min-width:0; overflow-wrap:anywhere; }
.sbs .card h3 { margin:0; padding:0; border:0; background:none; font-size:1.125rem; line-height:1.5; color:var(--navy); }
.sbs .tags { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.sbs .tag { display:inline-block; padding:2px 12px; border-radius:999px; background:var(--navy-wash); color:var(--navy); font-weight:700; }
.sbs .st { display:inline-block; padding:2px 12px; border-radius:999px; font-weight:700; background:#e9e9e9; color:var(--soft); }
.sbs .st.ok { background:var(--ok-wash); color:var(--ok); }
.sbs .st.warn { background:var(--low-wash); color:var(--low); }
.sbs .st.year { background:var(--high-wash); color:var(--high); }
.sbs .st.end { background:#e9e9e9; color:var(--soft); text-decoration:line-through; }
.sbs dl.facts { margin:0; display:grid; grid-template-columns:minmax(0,1fr); gap:0; border-top:1px solid var(--rule); }
.sbs .facts div, .sbs .facts div.wide { display:grid; grid-template-columns:6.5em minmax(0,1fr); gap:0 12px; padding:6px 0; border-bottom:1px solid var(--rule); min-width:0; }
.sbs .facts dt { color:var(--soft); margin:0; }
.sbs .facts dd { margin:0; font-weight:700; overflow-wrap:anywhere; min-width:0; }
.sbs .facts dd.plain { font-weight:400; }
@media (max-width:420px){ .sbs .facts div, .sbs .facts div.wide { grid-template-columns:5.5em minmax(0,1fr); gap:0 8px; font-size:15px; line-height:1.6; } }
.sbs a.official { display:inline-block; font-weight:700; color:var(--navy); text-decoration:underline; min-height:44px; overflow-wrap:anywhere; }
.sbs .empty { background:var(--sheet); border:2px dashed var(--rule); border-radius:8px; padding:18px; }
.sbs .disclaimer { color:var(--soft); border-top:1px solid var(--rule); padding-top:14px; }
.sbs [hidden] { display:none !important; }
.sbs details.more { border:1px solid var(--rule); border-radius:6px; background:#fff; }
.sbs details.more summary { cursor:pointer; font-weight:700; color:var(--navy); min-height:48px; padding:10px 14px; display:flex; align-items:center; }
.sbs details.more[open] summary { border-bottom:1px solid var(--rule); }
.sbs .more-body { display:grid; gap:16px; padding:14px; }
.sbs .actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.sbs button.jump { flex:1 1 220px; font:inherit; min-height:52px; padding:8px 18px; background:var(--navy); color:#fff; border:2px solid var(--navy); border-radius:6px; cursor:pointer; font-weight:700; }
.sbs #sbs-results:focus { outline:none; }
.sbs .empty { margin:0; }
/* テーマ（Cocoon 等）の要素スタイルを打ち消す */
.sbs .inner fieldset, .sbs .inner legend, .sbs .inner dl, .sbs .inner dd, .sbs .inner dt, .sbs .inner details, .sbs .inner summary { box-shadow:none; }
.sbs .inner fieldset, .sbs .inner legend, .sbs .inner dl, .sbs .inner dd, .sbs .inner dt { background:none; }
.sbs .inner legend { width:auto; }
.sbs .inner input[type=search], .sbs .inner select { box-shadow:none; height:auto; margin:0; max-width:100%; }
.sbs .inner input[type=checkbox] { margin:0; }
.sbs .inner ul.cards { padding:0; margin:0; list-style:none; }
.sbs .inner li.card::before, .sbs .inner li.card::after { content:none; }
