#smap{--teal:#0f8578;--teal-d:#0b6d62;--ink:#2b2f2e;--mute:#7a7f7d;--line:#e2e5e2;--bg:#f6f7f5;
  --c-hosp:#1f5f9e;--c-clin:#2f9a6a;--c-care:#c98a1c;--c-welf:#a8556f;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);line-height:1.6;max-width:1120px;margin:0 auto}
#smap *{box-sizing:border-box}
#smap .smap-head{padding:8px 0 20px}
#smap .smap-lead{font-size:14px;color:var(--mute);margin:0}
#smap .smap-tools{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 16px;background:var(--bg);border-radius:12px;margin-bottom:14px}
#smap .smap-group{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#smap .smap-glabel{font-size:12px;color:var(--mute);margin-right:4px;white-space:nowrap}
#smap .chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;line-height:1.3;color:var(--ink);transition:.15s}
#smap .chip:hover{border-color:var(--teal)}
#smap .chip[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
#smap .chip .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
#smap .chip[aria-pressed="true"] .dot{outline:2px solid rgba(255,255,255,.7)}
#smap .smap-search{margin-left:auto;display:flex;gap:6px;align-items:center}
#smap .smap-search input{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:14px;width:200px;background:#fff}
#smap .smap-search input:focus{outline:2px solid var(--teal);outline-offset:1px}
#smap .smap-count{font-size:12px;color:var(--mute);white-space:nowrap}
#smap .smap-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
#smap #smap-canvas{height:600px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#dfe7e3}
#smap .smap-list{max-height:600px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
#smap .smap-item{padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s}
#smap .smap-item:last-child{border-bottom:0}
#smap .smap-item:hover,#smap .smap-item.is-active{background:#eef6f4}
#smap .smap-item:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
#smap .smap-item .nm{font-weight:700;font-size:14px;line-height:1.4}
#smap .smap-item .nm .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:1px}
#smap .smap-item .ad{font-size:12px;color:var(--mute);margin-top:2px}
#smap .smap-item .tg{font-size:11px;color:var(--teal-d);margin-top:3px}
#smap .smap-empty{padding:28px 14px;text-align:center;font-size:13px;color:var(--mute)}
#smap .smap-note{font-size:12px;color:var(--mute);margin-top:12px}
#smap .smap-pdf{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--mute);display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
#smap .smap-pdf a{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700}
#smap .smap-pdf a:hover{background:var(--teal-d)}
/* popup */
#smap .leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.14)}
#smap .leaflet-popup-content{margin:12px 14px;font-family:inherit;line-height:1.5;min-width:200px}
#smap .pp-cat{font-size:11px;font-weight:700;letter-spacing:.04em}
#smap .pp-nm{font-size:15px;font-weight:700;margin:2px 0 6px}
#smap .pp-row{font-size:12px;color:#444}
#smap .pp-row a{color:var(--teal);text-decoration:none}
#smap .pp-row a:hover{text-decoration:underline}
#smap .pp-act{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
#smap .pp-act a{font-size:12px;border:1px solid var(--teal);color:var(--teal);border-radius:999px;padding:3px 10px;text-decoration:none}
#smap .pp-act a:hover{background:var(--teal);color:#fff}
/* marker */
#smap .pin{width:14px;height:14px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
#smap .pin.is-dim{opacity:.35}
#smap .leaflet-container{font-family:inherit}
@media(max-width:820px){
  #smap .smap-body{grid-template-columns:1fr}
  #smap #smap-canvas{height:60vh;min-height:360px}
  #smap .smap-list{max-height:50vh}
  #smap .smap-search{margin-left:0;width:100%}
  #smap .smap-search input{flex:1;width:auto}
}
@media(prefers-reduced-motion:reduce){#smap *{transition:none!important}}
