:root{--ink:#203b32;--muted:#738177;--green:#317057;--cream:#f5f6f0;--line:#dfe5dc;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.8;background:white;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,select{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}img{display:block;max-width:100%}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e5ad48;outline-offset:4px}[hidden]{display:none!important}.icons{position:absolute;width:0;height:0;overflow:hidden}.shell{width:min(1160px,calc(100% - 96px));margin-inline:auto}.study-bar{height:28px;display:flex;align-items:center;justify-content:center;gap:22px;background:#283e34;color:#fff;font-size:9px;letter-spacing:.12em}.study-bar span+span{font-size:9px;letter-spacing:.04em;opacity:.8}.skip{position:absolute;top:-100px;left:15px;z-index:50;background:white;padding:12px}.skip:focus{top:3px}.header{height:105px;display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:23px}.brand img{width:43px;height:auto}.brand>span{font-size:10px;letter-spacing:.05em;color:var(--muted);line-height:1.7}.header nav{margin-left:auto;display:flex;gap:32px;font-size:12px}.header nav a:hover,.breadcrumb a:hover{text-decoration:underline}.header-cta{background:var(--cream);padding:12px 20px;font-size:11px;font-weight:600;display:flex;gap:30px;align-items:center}.header-cta span{font-size:19px}.breadcrumb{display:flex;gap:15px;font-size:10px;color:var(--muted);padding-top:22px}.page-intro{padding-block:42px 38px;display:flex;align-items:end;justify-content:space-between}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;margin:0 0 16px}.page-intro h1{font-size:40px;letter-spacing:.05em;font-weight:500;line-height:1.6;margin:0 0 14px}.intro-copy{font-size:12px;color:var(--muted);margin:0}.intro-side{font-size:10px;letter-spacing:.13em;color:var(--muted);padding-bottom:4px}.mobile-only{display:none}.search-panel{background:var(--cream);padding:27px 30px 23px}.filter-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:20px}.field-label{display:block;font-size:11px;font-weight:600;line-height:1.7;margin-bottom:9px}.input-wrap{position:relative;display:block}.input-wrap>svg{position:absolute;top:15px;left:15px;width:18px;height:18px;color:#7d8d7e}input,select{width:100%;height:48px;background:white;border:1px solid #d9e1d4;border-radius:0;color:var(--ink);font-size:12px;min-width:0}input{padding:0 14px 0 43px}input::placeholder{color:#859184}select{padding:0 31px 0 14px}.category-row{margin-top:22px;display:flex;gap:18px;align-items:center}.category-row>.field-label{margin:0;flex-shrink:0}.categories{display:flex;gap:7px;flex-wrap:wrap}.category{padding:6px 15px;font-size:11px;border:1px solid #d7e0d2;border-radius:30px;background:transparent;line-height:1.8;white-space:nowrap}.category.active{background:var(--green);color:white;border-color:var(--green)}.category:hover:not(.active){background:white}.reset{margin-left:auto;padding:8px 0;font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:4px;flex-shrink:0}.selected-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.selected-filters button{border:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:4px 9px 4px 12px;font-size:10px;color:var(--muted)}.selected-filters svg{width:14px;height:14px}.results{padding-top:31px}.results-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.result-count{margin:0;display:flex;align-items:baseline;gap:8px}.result-count strong{font-family:Georgia,serif;font-size:28px;line-height:1;font-weight:400}.result-count span{font-size:11px}.view-switch{display:flex;border:1px solid var(--line);padding:3px;gap:3px}.view-switch button{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 19px;font-size:11px;min-width:90px}.view-switch svg{width:16px;height:16px}.view-switch .active{background:#edf1e8;color:var(--green);font-weight:600}.store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 26px}.store-card{min-width:0}.card-button{display:block;width:100%;text-align:left;padding:0;border:1px solid var(--line);height:100%;background:white;transition:box-shadow .18s,border-color .18s}.card-button:hover{border-color:#afc1ae;box-shadow:0 5px 22px #153e2510}.card-photo{aspect-ratio:1.65;position:relative;overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.card-button:hover .card-photo img{transform:scale(1.035)}.image-caption{position:absolute;bottom:8px;right:10px;font-size:8px;background:#ffffffdf;color:#51634f;padding:0 5px}.card-body{position:relative;padding:19px 21px 22px;min-height:137px}.card-meta{display:flex;align-items:center;gap:10px;font-size:10px;line-height:1.7;color:var(--muted)}.card-meta i{height:8px;width:1px;background:#c9d2c4}.card-body h2{font-size:17px;letter-spacing:.015em;font-weight:600;line-height:1.5;margin:10px 27px 16px 0}.point-tags{display:flex;gap:5px;flex-wrap:wrap}.point-tag{background:#f0f4ea;color:#55734c;padding:2px 7px;font-size:9px;letter-spacing:.015em}.card-arrow{position:absolute;right:17px;top:53px}.card-arrow svg{width:18px;height:18px}.more-area{text-align:center;margin-top:35px}.more-area p{font-size:10px;color:var(--muted);margin:0 0 13px}.more-button{border:1px solid var(--line);padding:13px 30px;width:220px;display:inline-flex;align-items:center;justify-content:space-between;font-size:12px}.more-button:hover{background:var(--cream)}.sample-note{font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin:45px 0 0;padding-top:22px}.empty{padding:60px 20px 70px;background:var(--cream);text-align:center}.empty>svg{width:32px;height:32px;color:#9aae97}.empty h2{font-size:17px;font-weight:500;margin:15px 0 8px}.empty p{font-size:12px;color:var(--muted);margin:0 0 25px}.button{background:var(--green);color:white;padding:13px 23px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:46px}.button:hover{background:#23553f}.map-view{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);border:1px solid var(--line);min-height:490px}.map-canvas{position:relative;overflow:hidden;min-height:490px;background:#e9eee2}.map-canvas>svg{width:100%;height:100%;position:absolute;inset:0;stroke:none}.map-pins{position:absolute;inset:0}.map-pin{position:absolute;width:36px;height:43px;transform:translate(-50%,-100%);filter:drop-shadow(0 3px 3px #34512b30);padding:0;border-radius:50% 50% 50% 4px;background:var(--green);color:white;rotate:-45deg;border:2px solid white;z-index:1;display:grid;place-items:center}.map-pin span{rotate:45deg;display:block;font-size:12px;font-weight:600}.map-pin.selected{background:#e1aa47;color:#213b2a;z-index:2;scale:1.13}.map-pin:focus-visible{outline-offset:7px}.map-note{position:absolute;bottom:13px;left:13px;font-size:9px;background:#fffffff0;padding:4px 8px;color:#64745c}.map-side{padding:19px;background:#fff}.map-side-title{font-size:10px;color:var(--muted);margin:0 0 15px}.compact .card-photo{aspect-ratio:1.9}.compact .card-body{padding:15px;min-height:118px}.compact .card-body h2{font-size:16px;margin-bottom:12px}.compact .card-arrow{top:49px;right:12px}.map-intro{font-size:11px;line-height:1.9;margin:18px 0 12px}.map-address{font-size:10px;color:var(--muted);margin:0 0 18px}.map-detail{width:100%;justify-content:space-between;font-size:11px}.footer{margin-top:60px;border-top:1px solid var(--line);padding-block:26px 32px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);gap:20px}.footer a{font-size:10px}.footer>span:last-child{font-size:8px;letter-spacing:.12em}.dialog-open{overflow:hidden}dialog{border:0;padding:0;width:min(640px,calc(100% - 36px));max-height:90dvh;overflow:auto;color:var(--ink);background:white;box-shadow:0 20px 90px #10271955}dialog::backdrop{background:#10251f99;backdrop-filter:blur(3px)}.close-dialog{position:absolute;right:14px;top:14px;z-index:3;width:44px;height:44px;border-radius:50%;background:white;display:grid;place-items:center;box-shadow:0 1px 8px #203b3220}.detail-photo{position:relative;height:235px}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail-photo>span{position:absolute;bottom:12px;right:15px;background:#ffffffdf;padding:0 8px;font-size:9px}.detail-body{padding:27px 35px 30px}.detail-sample{font-size:9px;color:#87734c;margin:0 0 15px;letter-spacing:.06em}.detail-body h2{font-size:26px;line-height:1.5;margin:9px 0 14px;font-weight:600}.detail-intro{font-size:13px;line-height:1.9;margin:0 0 24px}.accepted-points{padding:18px;background:var(--cream);margin-bottom:23px}.accepted-points h3{font-size:11px;margin:0 0 10px}.accepted-points .point-tag{background:white;border:1px solid #dce6d3;font-size:10px}.detail-body dl{margin:0 0 24px;font-size:11px}.detail-body dl>div{display:grid;grid-template-columns:85px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:13px 0}.detail-body dt{color:var(--muted)}.detail-body dd{margin:0}.detail-map{width:100%}.detail-note{font-size:9px;color:var(--muted);margin:15px 0 0;text-align:center}
@media(max-width:1050px){.shell{width:calc(100% - 56px)}.store-grid{gap:25px 18px}.card-body{padding:17px 16px 20px}.card-body h2{font-size:16px}.filter-row{gap:13px}.search-panel{padding:24px}.category-row{gap:12px}.category{padding-inline:12px}.map-side{padding:15px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.study-bar{font-size:8px;gap:13px;height:26px}.study-bar span+span{font-size:8px}.header{height:83px;gap:18px}.brand img{width:35px}.brand>span{display:none}.header nav{font-size:10px;gap:18px}.header-cta{font-size:10px;padding:9px 12px;gap:13px}.header-cta span{font-size:17px}.breadcrumb{padding-top:17px;font-size:9px;gap:12px}.page-intro{padding-block:29px}.eyebrow{font-size:9px;margin-bottom:12px}.page-intro h1{font-size:30px;margin-bottom:12px;line-height:1.55;letter-spacing:.03em}.intro-copy{font-size:11px;line-height:1.9}.intro-side{display:none}.mobile-only{display:block}.search-panel{padding:20px 17px}.filter-row{grid-template-columns:1fr 1fr;gap:17px 11px}.search-field{grid-column:1/3}.field-label{font-size:10px;margin-bottom:7px}input,select{height:45px;font-size:11px}input{padding-left:39px}.input-wrap>svg{left:12px;top:14px;width:17px;height:17px}select{padding-left:10px;padding-right:20px}.category-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}.category-row>.field-label{width:100%}.categories{gap:7px}.category{font-size:10px;padding:6px 12px}.reset{font-size:10px;min-height:34px}.selected-filters{gap:6px;margin-top:15px}.selected-filters button{font-size:9px}.results{padding-top:24px}.results-top{margin-bottom:20px}.result-count strong{font-size:26px}.result-count span{font-size:10px}.view-switch button{min-width:67px;padding:7px 10px;font-size:10px;gap:6px}.view-switch svg{width:15px;height:15px}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.card-photo{aspect-ratio:1.3}.card-body{padding:14px 12px 17px;min-height:137px}.card-meta{font-size:9px;gap:7px}.card-body h2{font-size:15px;margin:9px 0 12px}.card-arrow{display:none}.point-tag{font-size:8px;padding:2px 5px}.sample-note{font-size:9px;line-height:1.8;margin-top:35px;padding-top:20px}.map-view{grid-template-columns:1fr}.map-canvas{min-height:350px;aspect-ratio:1}.map-side{padding:18px}.map-side .compact .card-photo{aspect-ratio:1.9}.compact .card-body h2{font-size:17px}.map-pin{width:30px;height:36px}.map-pin span{font-size:10px}.map-note{font-size:8px;left:8px;bottom:8px}.map-intro{margin-top:14px}.footer{margin-top:40px;font-size:8px;gap:15px;flex-wrap:wrap;padding-block:22px}.footer a{font-size:9px}.footer>span:last-child{display:none}.more-area{margin-top:28px}.empty{padding:40px 15px}.empty h2{font-size:14px}.empty p{font-size:11px}.detail-photo{height:190px}.detail-body{padding:22px}.detail-body h2{font-size:22px}.detail-intro{font-size:12px}.detail-body dl>div{grid-template-columns:70px 1fr;gap:10px}.accepted-points{padding:15px}}
@media(max-width:480px){.store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.header nav a:first-child{display:none}.page-intro h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.select-field{min-width:0}.filter-select{position:relative;font-size:12px}.filter-select summary{height:48px;background:white;border:1px solid #d9e1d4;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:5px;cursor:pointer;list-style:none}.filter-select summary::-webkit-details-marker{display:none}.filter-select summary>span:last-child{font-size:16px;color:var(--muted)}.filter-select summary:focus-visible{outline:3px solid #e5ad48;outline-offset:4px}.picker-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:8;padding:5px;background:white;border:1px solid var(--line);box-shadow:0 8px 28px #173d251c}.picker-options button{display:block;text-align:left;padding:10px;width:100%;font-size:12px}.picker-options button:hover,.picker-options button:focus-visible{background:var(--cream)}.picker-options button[aria-pressed="true"]{background:#edf2e8;color:var(--green);font-weight:600}
@media(max-width:760px){.filter-select{font-size:11px}.filter-select summary{height:45px;padding-inline:10px}.picker-options button{font-size:11px;padding:10px 7px}}
@media(max-width:760px){.map-view{grid-template-columns:minmax(0,1fr)}.map-canvas{aspect-ratio:auto;min-width:0;width:100%;height:330px;min-height:0}.map-side{min-width:0}}
@media(max-width:480px){.map-canvas{height:300px}}

/* スマホ：検索は折りたたみ、一覧の6店舗を2列×3段で見渡す。 */
.filter-toggle,.filter-close{display:none}
@media(max-width:760px){
 .search-panel{padding:0;background:transparent}
 .filter-toggle{display:flex;width:100%;height:44px;align-items:center;justify-content:space-between;background:var(--cream);border:1px solid var(--line);padding:0 14px;font-size:12px;font-weight:600}
 .filter-toggle>span:first-child{display:flex;align-items:center;gap:9px}
 .filter-toggle svg{width:16px;height:16px}
 #filter-count{font-size:10px;font-weight:400;color:var(--muted)}
 .filter-toggle-mark{font-size:18px;font-weight:400}
 .filters-content{display:none;padding:17px;background:var(--cream);border:1px solid var(--line);border-top:0}
 .filters-open .filters-content{display:block}
 .filter-close{display:flex;width:100%;margin-top:16px}
 .study-bar{height:22px}
 .header{height:60px}
 .brand img{width:30px}
 .breadcrumb{padding-top:10px;line-height:1.7}
 .page-intro{padding-block:14px 16px}
 .page-intro .eyebrow{margin-bottom:6px;line-height:1.5}
 .page-intro h1{font-size:24px;line-height:1.4;margin-bottom:6px}
 .intro-copy{font-size:10px;line-height:1.8}
 .results{padding-top:14px}
 .results-top{margin-bottom:12px}
 #store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #store-grid .card-photo{aspect-ratio:2.4}
 #store-grid .card-body{padding:8px 9px;min-height:0}
 #store-grid .card-meta{font-size:9px;line-height:1.6;gap:6px}
 #store-grid .card-body h2{font-size:14px;line-height:1.45;margin:4px 0 6px;overflow-wrap:anywhere}
 #store-grid .point-tag{font-size:8px;line-height:1.6;padding:2px 5px}
}

/* 店舗詳細の控えめな共通アカウント入口。 */
.detail-account{margin-top:12px;text-align:center}
.detail-account a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 16px;border:1px solid var(--line);background:white;color:#5c6f61;font-size:12px;font-weight:400;line-height:1.6}
.detail-account a>span{font-size:15px}
.detail-account a:hover{background:var(--cream)}

.detail-account-note{margin:6px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}

/* Published listing: real source maps, no invented positions. */
.map-canvas iframe{width:100%;height:100%;min-height:480px;border:0}.missing-photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;background:#edf0e9;color:#707b72;font-size:12px;font-weight:500;letter-spacing:.16em}.detail-photo img{object-fit:contain;background:#edf0e9}.card-photo img{object-fit:cover}
