*{box-sizing:border-box}body{margin:0;background:#f5f1e8;color:#26312c;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.7}.hero{padding:65px 20px 48px;text-align:center;color:#fff;background:linear-gradient(135deg,#203d33,#365849)}.hero small{color:#d6c39c;letter-spacing:.24em}.hero h1{margin:10px 0;font-size:clamp(30px,5vw,50px);font-weight:500}.wrap{width:min(1180px,calc(100% - 30px));margin:40px auto 70px}.finder{display:grid;grid-template-columns:1.18fr .82fr;overflow:hidden;border:1px solid #ddd5c5;border-radius:24px;background:#fffdf8;box-shadow:0 18px 48px rgba(38,49,44,.1)}.map-side,.control-side{padding:36px}.map-side{background:radial-gradient(circle at 30% 20%,#fff 0,#faf7f0 58%,#f1ecdf 100%)}.control-side{border-left:1px solid #ddd5c5}.kicker{color:#aa8951;font:700 11px system-ui;letter-spacing:.2em}.jmap{width:100%;height:auto}.region{cursor:pointer}.shape{fill:url(#regionGradient);stroke:#fffdf8;stroke-width:7;filter:drop-shadow(0 9px 10px rgba(38,49,44,.1));transition:.25s;transform-box:fill-box;transform-origin:center}.region:hover .shape,.region.active .shape{fill:url(#activeGradient);transform:translateY(-4px)}.label,.count{text-anchor:middle;pointer-events:none;font-family:system-ui}.label{fill:#274b3d;font-weight:700;font-size:18px}.count{fill:#aa8951;font-size:11px}.region:hover .label,.region.active .label{fill:#fff}.region:hover .count,.region.active .count{fill:#f0dfbd}.controls{display:grid;gap:15px}.field label{display:block;margin-bottom:6px;color:#6f7772;font:600 13px system-ui}select,input,.reset{width:100%;min-height:48px;padding:0 14px;border:1px solid #ddd5c5;border-radius:10px;background:#fff;font-size:16px}.reset{border-color:#274b3d;color:#274b3d;font-weight:700;cursor:pointer}.reset:hover{background:#274b3d;color:#fff}.summary{margin-top:22px;padding:17px;border-left:3px solid #aa8951;background:#f8f4eb}.summary strong{font-size:24px;color:#274b3d}.list-head{display:flex;justify-content:space-between;align-items:end;margin:45px 2px 18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;padding:26px;border:1px solid #ddd5c5;border-radius:16px;background:#fffdf8;box-shadow:0 8px 24px rgba(38,49,44,.06)}.card:before{content:"";position:absolute;top:0;left:26px;width:50px;height:3px;background:#aa8951}.badge{color:#aa8951;font:700 11px system-ui}.card h3{margin:11px 0 2px;font-size:21px}.sub{margin:0 0 16px;color:#6f7772;font-size:13px}.info{font:14px system-ui}.actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.tel{color:#274b3d;font:700 13px system-ui}.official{padding:10px 15px;border-radius:999px;background:#274b3d;color:#fff;font:700 13px system-ui;text-decoration:none}.empty{display:none;padding:40px;text-align:center}.note{color:#6f7772;font:13px system-ui}@media(max-width:850px){.finder{grid-template-columns:1fr}.control-side{border-left:0;border-top:1px solid #ddd5c5}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.map-side,.control-side{padding:22px}.cards{grid-template-columns:1fr}.actions{align-items:flex-start;flex-direction:column}.official{width:100%;text-align:center}}
