/* 園DATA 2026-10 刷新：検索・施設・地域ページ（style.css の上に重ねる） */
:root{
  --seg-ninka:#2f9e8f; --seg-ninkagai:#e0864a; --seg-sitter:#7a74c9;
  --ad-bg:#f6f4ef;
}
.header-nav .nav-fav .cnt{display:inline-block;min-width:18px;margin-left:4px;padding:0 5px;border-radius:9px;
  background:var(--chip);color:var(--brand-d);font-size:11px;text-align:center;font-weight:700}
@media(max-width:640px){
  .header-inner{height:auto;padding:8px 0;flex-wrap:wrap;gap:4px}
  .header-nav{display:flex!important;gap:14px;flex-wrap:wrap;width:100%}
  .brand-text small{display:none}
}

/* hero + 区分タブ */
.s-hero{background:linear-gradient(180deg,#e7f4f0,rgba(255,249,242,0));padding:30px 0 6px}
.s-hero h1{margin:0 0 6px;font-size:26px;letter-spacing:.02em}
.s-hero p{margin:0 0 16px;color:var(--muted);font-size:14px}
.seg-tabs{display:flex;gap:8px;flex-wrap:wrap}
.seg-tabs button{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:12px;padding:9px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-align:left;line-height:1.3}
.seg-tabs button span{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.seg-tabs button[aria-selected=true]{background:var(--brand);border-color:var(--brand);color:#fff}
.seg-tabs button[aria-selected=true] span{color:rgba(255,255,255,.85)}
.seg-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:640px){.seg-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.seg-tabs button{padding:8px 10px;min-width:0}
  .seg-tabs button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* レイアウト */
.s-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;padding-top:18px;padding-bottom:56px;align-items:start}
@media(max-width:860px){.s-layout{grid-template-columns:minmax(0,1fr)}}
.s-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.s-field{margin-bottom:16px}
.s-field label,.s-label{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:6px}
.s-panel select,.s-panel input[type=search]{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;
  font:inherit;font-size:15px;background:#fbfdfc;color:var(--ink)}
.s-panel select:focus,.s-panel input:focus{outline:2px solid var(--brand);border-color:transparent}
.city-filter{margin-bottom:6px;font-size:13.5px!important;padding:7px 10px!important}
#city option.zero{color:#aab3af}
.s-row{display:grid;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips .chip{position:relative;display:inline-flex;align-items:center;border:1px solid var(--line);background:#fbfdfc;
  border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer;user-select:none}
.chips .chip[hidden]{display:none}
.chips .chip input{position:absolute;opacity:0;pointer-events:none}
.chips .chip:has(input:checked){background:var(--brand);border-color:var(--brand);color:#fff}
.chips .chip:has(input:focus-visible){outline:2px solid var(--accent)}
.s-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:2px 0 14px}
.s-actions{display:grid;grid-template-columns:1fr auto;gap:8px}
.btn-primary{border:0;border-radius:11px;padding:12px 16px;background:var(--brand);color:#fff;font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.btn-primary:hover{background:var(--brand-d)}
.btn-ghost{border:1px solid var(--line);border-radius:11px;padding:12px 14px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.s-note{font-size:11.5px;color:var(--muted);margin:12px 0 0;line-height:1.6}
@media(min-width:861px){.s-side{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto}}

/* 結果 */
.s-results-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:2px 0 12px}
.s-summary{margin:0;font-size:14px}
.s-summary b{font-size:20px;color:var(--brand-d);margin:0 2px}
.s-summary .pg{color:var(--muted);font-size:12.5px;margin-left:6px}
.s-callout{background:#f3f1fb;border:1px solid #e1def4;border-radius:12px;padding:12px 14px;font-size:13px;margin-bottom:12px}
.s-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.s-list[aria-busy=true]{opacity:.45;transition:opacity .2s}
.s-list .empty{grid-column:1/-1;background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:28px;text-align:center;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--seg-ninka);border-radius:14px;padding:14px 16px 12px;min-width:0}
.card.seg-ninkagai{border-left-color:var(--seg-ninkagai)}
.card.seg-sitter{border-left-color:var(--seg-sitter)}
.card-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.card .cat{font-size:11.5px;font-weight:700;color:var(--muted)}
.card .st{font-size:11px;font-weight:700;color:#b5523b;background:#fdeee9;border-radius:6px;padding:1px 6px}
.card .fav{margin-left:auto;border:0;background:none;padding:4px;cursor:pointer;line-height:0}
.card .fav svg{width:20px;height:20px;fill:none;stroke:#c2c9c6;stroke-width:2}
.card .fav.on svg{fill:#ff7b8f;stroke:#ff7b8f}
.card-name{margin:0 0 4px;font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.card-name a{color:var(--ink);text-decoration:none}
.card-name a:hover{color:var(--brand-d);text-decoration:underline}
.card-addr{margin:0;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
.card-meta{margin:6px 0 0;font-size:12.5px}
.card-meta span{color:var(--line);margin:0 2px}
.badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.badges .b{font-size:11px;background:var(--chip);color:var(--brand-d);border-radius:6px;padding:2px 7px}

.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:20px 0 6px}
.pager a,.pager span{min-width:38px;padding:8px 11px;border-radius:9px;text-align:center;font-size:13.5px}
.pager a{border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none}
.pager a[aria-current]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}

/* 広告枠：一覧と混ざらないよう背景と「広告」ラベルで区別 */
.ad-slot{margin:22px 0 0;padding:10px 10px 12px;background:var(--ad-bg);border-radius:12px;text-align:center;overflow:hidden}
.ad-label{display:block;font-size:10.5px;letter-spacing:.1em;color:#9a9890;margin-bottom:6px;text-align:left}
.ad-body{display:flex;justify-content:center;min-height:50px}
.s-side .ad-slot{margin-top:16px}
.s-side,.s-results,.s-panel{min-width:0}
.s-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.s-row label{white-space:normal}
html,body{overflow-x:clip}

/* 施設ページ */
.f-main{max-width:860px;margin:0 auto;padding:22px 18px 60px}
.crumbs{font-size:12.5px;color:var(--muted);margin-bottom:14px;overflow-wrap:anywhere}
.crumbs a{color:var(--muted)}
.f-type{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--seg-ninka);border-radius:6px;padding:2px 9px}
.f-type.seg-ninkagai{background:var(--seg-ninkagai)} .f-type.seg-sitter{background:var(--seg-sitter)}
.f-name{font-size:25px;line-height:1.4;margin:8px 0 2px;overflow-wrap:anywhere}
.f-kana{color:var(--muted);font-size:12.5px;margin:0 0 10px}
.f-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.f-actions a,.f-actions button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);
  border-radius:10px;padding:8px 14px;font:inherit;font-size:13.5px;color:var(--ink);text-decoration:none;cursor:pointer}
.f-actions .on{border-color:#ff7b8f;color:#d94e66}
.f-alert{background:#fdeee9;border:1px solid #f6d3c8;border-radius:12px;padding:12px 14px;font-size:13.5px;margin:0 0 16px}
.f-sec{margin:26px 0 0}
.f-sec h2{font-size:17px;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid var(--line)}
.f-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--card)}
.f-table th,.f-table td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.f-table th{background:var(--chip);width:30%;font-weight:700;font-size:13px}
.f-age{width:100%;border-collapse:collapse;font-size:13.5px;text-align:center;background:var(--card)}
.f-age th,.f-age td{border:1px solid var(--line);padding:7px 4px}
.f-age thead th{background:var(--chip)}
.f-scroll{overflow-x:auto}
.f-text{white-space:pre-wrap;font-size:14px;line-height:1.85;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0}
.f-foot{margin-top:28px;font-size:12px;color:var(--muted)}
.f-foot a{color:var(--muted)}

/* 地域ページ */
.hub{max-width:960px;margin:0 auto;padding:22px 18px 60px}
.hub h1{font-size:24px;margin:0 0 6px}
.hub .lead{color:var(--muted);font-size:14px;margin:0 0 18px}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 20px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.stat b{display:block;font-size:22px;color:var(--brand-d)}
.stat span{font-size:12px;color:var(--muted)}
.city-groups h2,.hub h2{font-size:16px;margin:22px 0 8px}
.city-links{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.city-links a{display:inline-block;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 12px;
  font-size:13px;color:var(--ink);text-decoration:none}
.city-links a:hover{border-color:var(--brand)}
.city-links small{color:var(--muted);margin-left:3px}
.hub-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.hub-list li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13.5px}
.hub-list li small{display:block;color:var(--muted);font-size:11.5px}
.hub-cta{display:inline-block;margin-top:10px;padding:11px 20px;border-radius:11px;background:var(--brand);color:#fff!important;text-decoration:none;font-weight:700}

/* フォーム（削除依頼） */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}
.form-card label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}
.form-card input[type=text],.form-card input[type=email],.form-card select,.form-card textarea{width:100%;padding:10px 12px;border:1px solid var(--line);
  border-radius:10px;font:inherit;font-size:15px;background:#fbfdfc}
.form-card textarea{min-height:140px}
.form-card .hint{font-size:12px;color:var(--muted);font-weight:400}
.form-card .hp{position:absolute;left:-9999px}
