.dish-section{--dish-line:#cbd7e3}.dish-guide{border-left:4px solid #1668e8;padding:14px 20px;background:#e3edf8;color:#071d37}.dish-guide p{margin:7px 0;font-size:.9rem}.dish-guide>span{font-size:.78rem;color:#4b6075}.dish-jump{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 34px}.dish-jump a{padding:8px 16px;border:1px solid var(--dish-line);border-radius:99px;font-size:.86rem;font-weight:700;background:#fff}.dish-jump a:hover{background:#c6f52d}.dish-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(500px,2fr);gap:38px;border-top:1px solid var(--dish-line);padding:32px 0;scroll-margin-top:100px}.dish-info h3{font-size:1.8rem;margin:0;color:#071d37}.dish-info p{font-size:.88rem;line-height:1.8;max-width:340px}.dish-art{width:100%;max-width:290px;aspect-ratio:1;background-image:url('../images/gourmet-dishes-atlas.png');background-size:400% 300%;background-position:var(--art-x) var(--art-y);background-repeat:no-repeat;margin:10px auto}.dish-all{display:inline-block;color:#1354b0!important;font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;line-height:1.8}.dish-destinations{border-left:1px solid var(--dish-line);padding-left:30px}.dish-map-label{font-size:.92rem;font-weight:700;margin:0 0 12px}.dish-map-layout{display:grid;grid-template-columns:minmax(250px,1.25fr) minmax(200px,1fr);gap:16px;align-items:center}.dish-map{display:block;width:100%;height:auto;overflow:visible}.dish-map-wrap small{display:block;text-align:right;color:#617185;font-size:.68rem}.map-region path{fill:#d8e0e9;stroke:#edf3f7;stroke-width:3;stroke-linejoin:round}.map-region text{fill:#5b697a;font-size:11px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.map-region.is-available path{fill:var(--region-color)}.map-region.is-available text{fill:#fff;paint-order:stroke;stroke:#071d3744;stroke-width:2px}.map-region.is-available:hover path,.map-region.is-available:focus path{stroke:#071d37;stroke-width:4;filter:brightness(1.12)}.region-hokkaido{--region-color:#1767b2}.region-tohoku{--region-color:#167871}.region-kanto{--region-color:#327939}.region-chubu{--region-color:#a7610d}.region-kinki{--region-color:#bd4a40}.region-chugoku{--region-color:#9251a0}.region-shikoku{--region-color:#5e61b4}.region-kyushu{--region-color:#b13d6b}.dish-region-list{display:grid;gap:5px}.dish-region{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:8px 12px;background:#fff;border-left:5px solid var(--region-color);border-radius:0 7px 7px 0;font-size:.86rem;color:#071d37}.dish-region small{display:block;font-size:.72rem;color:#526377;line-height:1.5}.dish-region b{color:var(--region-color)}a.dish-region:hover{background:#e1ebf5;box-shadow:0 0 0 1px var(--region-color)}.dish-region.is-disabled{border-left-color:#d8e0e9;background:transparent;color:#788492;font-size:.78rem;min-height:35px;padding-top:5px;padding-bottom:5px}.dish-region.is-disabled small{color:#788492;font-size:.66rem}.dish-section a:focus-visible{outline:3px solid #1668e8;outline-offset:4px}.dish-note{font-size:.8rem;line-height:1.8;color:#526377;border-top:1px solid var(--dish-line);padding-top:20px}
@media(max-width:1050px){.dish-row{grid-template-columns:230px 1fr;gap:22px}.dish-map-layout{grid-template-columns:1fr}.dish-map-wrap{max-width:370px;margin:auto;width:100%}.dish-region-list{grid-template-columns:1fr 1fr}.dish-destinations{padding-left:20px}}
@media(max-width:650px){.dish-row{grid-template-columns:1fr;gap:18px;padding:26px 0}.dish-info{display:grid;grid-template-columns:130px 1fr;column-gap:18px;align-items:center}.dish-info h3{grid-column:2;font-size:1.5rem}.dish-art{grid-column:1;grid-row:1/4;width:130px;margin:0}.dish-info p,.dish-all{grid-column:2;margin:6px 0;font-size:.8rem}.dish-destinations{padding:0;border:0}.dish-map-layout{gap:10px}.dish-map-label{margin-bottom:0}.dish-region{padding:9px 8px;font-size:.8rem}.dish-guide{padding:12px 14px}.dish-guide strong{font-size:.86rem}.dish-jump{gap:6px;margin-bottom:24px}.dish-jump a{padding:8px 12px;font-size:.8rem}}

/* Accurate prefecture geometry: do not widen strokes or shift individual prefectures. */
.dish-map .map-region :is(path,polygon,polyline){fill:#d8e0e9;stroke:#edf3f7;stroke-width:1.5;stroke-linejoin:round}
.dish-map .map-region.is-available :is(path,polygon,polyline){fill:var(--region-color)}
.dish-map .map-region.is-available:hover :is(path,polygon,polyline),.dish-map .map-region.is-available:focus :is(path,polygon,polyline){stroke:#071d37;stroke-width:2;filter:brightness(1.1)}
.dish-map .map-region text{font-size:27px;paint-order:stroke;stroke:#edf3f7;stroke-width:5px;fill:#35465a}
.dish-map .map-region.is-available text{fill:#fff;stroke:var(--region-color);stroke-width:5px}
.dish-map .boundary-line{pointer-events:none;opacity:.5}
.dish-map-credit{font-size:.72rem;color:#617185;margin-top:12px}.dish-map-credit a{text-decoration:underline}

.food-observed-row{padding:26px 0;border-bottom:1px solid #cbd7e3}.food-observed-row h3{font-size:1.3rem;margin:8px 0}.food-observed-row p{line-height:1.8}.food-observed-row .deals-button{margin-top:10px}.dish-empty{color:#617185;font-size:.8rem!important}

/* 候補の淡色と実プランの濃色を区別。地理の輪郭・座標は変更しない。 */
.dish-map .map-region.is-destination :is(path,polygon,polyline){fill:var(--region-color);fill-opacity:.25}
.dish-map .map-region.is-destination:hover :is(path,polygon,polyline),.dish-map .map-region.is-destination:focus :is(path,polygon,polyline){fill-opacity:.45;stroke:#071d37;stroke-width:2}
.dish-region.is-destination{background:#edf3f7;border-left-style:dashed}
.food-destination-guide{border-left:4px solid #1668e8;background:#e3edf8;padding:20px;margin:24px 0 32px}
.food-destination-guide p{line-height:1.8;font-size:.9rem}.food-destination-guide p a{text-decoration:underline}
.food-destination-links{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
@media(max-width:650px){.food-destination-guide{padding:16px}.food-destination-links{display:grid}.food-destination-links a{white-space:normal}}

#observed-plans{scroll-margin-top:110px}

.food-months{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.food-months a{border:1px solid #a7bacd;border-radius:6px;padding:9px 15px;background:#fff;color:#092343;font-weight:700}.food-months a[aria-current]{background:#092343;color:#d4ff4c;border-color:#092343}.food-months a:focus-visible{outline:3px solid #1668e8;outline-offset:3px}.food-season-note{font-size:.85rem;line-height:1.8;color:#526377}.food-season-label{font-weight:700;color:#1354b0}.dish-art-text{background-image:none;background-color:#e0eaf3;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;box-sizing:border-box;border:1px solid #c6d6e6}.dish-art-text span{font-size:.75rem;color:#506b85;margin-bottom:12px}.dish-art-text strong{font-size:1.7rem;line-height:1.5;color:#123b63;overflow-wrap:anywhere}
@media(max-width:650px){.food-months a{padding:9px 13px}.dish-art-text{padding:12px}.dish-art-text strong{font-size:1rem}.dish-art-text span{font-size:.63rem;margin-bottom:5px}.dish-info .dish-art{grid-row:1/5}.dish-info .food-season-label{font-size:.75rem}}

.food-story{margin:24px 0;border-top:1px solid #cbd7e3;padding:24px 0}.food-story p{line-height:1.9;max-width:850px}.food-story h4{margin-bottom:8px;color:#1354b0}

.dish-art-photo{background:none;object-fit:contain;height:auto}.food-story-figure{margin:20px 0;max-width:360px}.food-story-figure img{display:block;width:100%;height:auto}.food-story-figure figcaption{font-size:.75rem;color:#526377;line-height:1.6}

/* 地域選択を主役にし、通知は県ごとの短い補助リンクにする。 */
.food-search-context{padding:12px 16px;background:#e7eff6;border-left:3px solid #398bff;line-height:1.9;font-size:.9rem;overflow-wrap:anywhere}
.food-pref-notify{margin:4px 0 14px!important;font-size:.85rem}.food-pref-notify a{display:inline-block;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}

/* アクセスの多い順の印（2026-10-03） */
.pop-rank{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;background:#ff7a00;color:#fff;font-size:11px;font-weight:700;line-height:1.6;vertical-align:2px}
