/* 入口ごとの宿泊拠点。日帰り温泉の一覧を主役に保つ。 */
.th-stay-hint{display:block;color:var(--moss);font-size:.78rem;line-height:1.6;margin:8px 0 12px;overflow-wrap:anywhere}
.thcard .th-stay-hint{font-size:.78rem;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.thsel:has(.th-stay-hint){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.thsel .chip:has(.th-stay-hint){display:block;text-align:left;white-space:normal;min-width:0;padding:12px;line-height:1.6}
.thsel .th-stay-hint{margin:6px 0 0;font-size:.75rem}
.thsel .chip[aria-pressed="true"] .th-stay-hint{color:inherit}
.stay-area-guide{margin:28px 0 20px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stay-area-guide.stay-area-fold{margin:20px 0;padding:0}
.stay-area-fold>summary{min-height:48px;padding:12px 0;cursor:pointer;font-size:.91rem;line-height:1.6;color:var(--ink)}
.stay-area-fold>summary small{display:block;color:var(--ink-2);font-size:.74rem;font-weight:400}
.stay-area-fold-body{padding:0 0 14px}
.stay-area-eyebrow{font-size:.75rem;color:var(--moss);margin:0 0 6px;letter-spacing:.06em}
.stay-area-guide .h3{margin:0 0 10px;font-weight:500}
.stay-area-route-label{font-size:.82rem;line-height:1.7;margin:0 0 10px;color:var(--ink-2)}
.stay-area-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.stay-area-link{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:48px;min-width:0;padding:11px 12px;background:var(--surface);color:var(--moss);border:1px solid var(--line);border-radius:6px;cursor:pointer;text-align:left;line-height:1.6;font-size:.86rem;overflow-wrap:anywhere}
.stay-area-link small{color:var(--ink-3);font-size:.73rem}
.stay-area-arrow{margin-left:auto}
.stay-area-link:hover{border-color:var(--moss);background:var(--moss-l)}
.stay-area-link:focus-visible{outline:3px solid var(--lake);outline-offset:3px}
.stay-area-reasons,.stay-area-sources{margin-top:8px;font-size:.82rem;color:var(--ink-2)}
.stay-area-reasons>summary,.stay-area-sources>summary{min-height:44px;cursor:pointer;display:list-item;align-content:center;line-height:1.6;padding:10px 0}
.stay-area-reasons ul,.stay-area-sources ul{padding-left:20px;margin:0 0 10px}
.stay-area-reasons li{margin:10px 0}.stay-area-reasons li p{margin:4px 0;line-height:1.8}
.stay-area-sources li{margin:6px 0;line-height:1.7;overflow-wrap:anywhere}
.stay-area-sources a{display:inline-block;padding-block:6px}
.stay-area-page-head{padding:6px 0 12px}.stay-area-page-head .h1{font-weight:500;margin:6px 0 12px;line-height:1.5;overflow-wrap:anywhere}
.stay-area-page-head .lead{font-size:.92rem;line-height:1.8;margin:0;overflow-wrap:anywhere}
.stay-area-page>.stay-area-sources{margin:0 0 14px}.stay-area-page .count{margin:8px 0}
body[data-view="stayarea"] .mapwrap:not(.map-expanded){display:none}
body[data-view="stayarea"] .mapfab{display:none!important}
body[data-view="stayarea"] [data-act="fly"]{display:none}
@media(min-width:920px){body[data-view="stayarea"] .main{display:flex;flex-direction:column;overflow:hidden}body[data-view="stayarea"] .panel{width:100%;max-width:920px;margin:auto;height:100%;padding:28px 48px 36px;border:0;overflow-y:auto}}
@media(max-width:480px){.stay-area-links{grid-template-columns:1fr}.thsel:has(.th-stay-hint){grid-template-columns:1fr}.stay-area-guide{margin-top:22px;padding-top:15px}}
html.fs-xlarge .stay-area-links{grid-template-columns:1fr}

.thsel:has(.th-choice-counts){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.thsel .chip:has(.th-choice-counts){display:block;text-align:left;white-space:normal;min-width:0;padding:12px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:480px){.thsel:has(.th-choice-counts){grid-template-columns:1fr}}
/* v68: compare parking origins and keep that origin on the lodging-area page. */
.th-choice-counts{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:.82rem;line-height:1.8;color:var(--ink-2)}
.th-choice-counts b{font-variant-numeric:tabular-nums;font-size:1rem;color:var(--ink)}
.th-choice-unknown,.th-choice-stays,.th-choice-empty{display:block;margin-top:4px;font-size:.77rem;line-height:1.6;color:var(--ink-2)}
.th-choice-empty{color:var(--ink-3)}.th-choice-note{font-size:.77rem;line-height:1.7}
.thsel .chip[aria-pressed="true"] .th-choice-counts,.thsel .chip[aria-pressed="true"] .th-choice-counts b,.thsel .chip[aria-pressed="true"] .th-choice-unknown,.thsel .chip[aria-pressed="true"] .th-choice-stays,.thsel .chip[aria-pressed="true"] .th-choice-empty{color:inherit}
.stay-area-origin{margin:4px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:var(--moss-l)}
.stay-area-origin .eyebrow{margin:0 0 5px}.stay-area-origin b{display:block;font-size:.89rem;line-height:1.7;overflow-wrap:anywhere}.stay-area-origin .btn{margin-top:10px;min-height:44px;white-space:normal;line-height:1.6;text-align:left}

/* v70: readable parking fees and official lodging directories */
.parking-fee{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;margin:10px 0;font-size:.86rem;line-height:1.6}.parking-fee>span{color:var(--ink-2)}.parking-fee>b{overflow-wrap:anywhere}.parking-fee>small{grid-column:2;color:var(--ink-2);font-size:.72rem}.parking-fee-sources{padding-left:20px;font-size:.78rem;overflow-wrap:anywhere}.parking-fee-sources a{display:inline-block;min-height:30px}.stay-area-directory{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.stay-area-directory p{font-size:.86rem}.stay-area-directory ul{padding-left:20px;overflow-wrap:anywhere}.stay-area-directory a{display:inline-block;min-height:44px}.mapwrap .parking-fee{font-size:12px}.mapwrap .parking-fee>small{font-size:11px}
