/* 写真・短い要約・詳しい紹介の順に読む。既存カードのLegendと出典を保つ。 */
.journey-page{background:#fff;color:#243f55;line-height:1.8}
.journey-page main{max-width:1320px;padding:20px 28px 48px}
.journey-page [hidden]{display:none!important}
.journey-page h1,.journey-page h2{font-family:"Yu Mincho","Noto Serif JP",serif;letter-spacing:.025em}
.journey-page h2{font-size:clamp(22px,2.4vw,29px)}
.journey-page h3{font-size:18px}
.journey-page .site-nav{padding-top:12px;padding-bottom:12px}
.journey-page .site-nav nav{gap:10px 20px}
.journey-page .section-heading{margin-bottom:18px}
.journey-page .section-heading h2{margin:4px 0 8px}
.journey-page .section-heading p{margin:4px 0}
.journey-page .eyebrow{letter-spacing:.1em}
.journey-section{padding:28px 0;border-top:1px solid var(--line,#d6e7f2);scroll-margin-top:20px}
.journey-page .hero-photo{background:#f1f7fa;border-radius:12px}
.journey-home-hero{gap:36px;padding:12px 0 22px;grid-template-columns:.9fr 1.1fr}
.journey-home-hero h1{font-size:clamp(30px,3.8vw,46px);max-width:13em;line-height:1.5}
.journey-home-hero .hero-photo figure img{height:340px;background:#f1f7fa;object-fit:contain}
.journey-home-hero>div>p:not(.eyebrow){line-height:1.9}
.journey-page .search-form{margin:4px 0 24px;background:#f6fafc;padding:16px 20px}
.journey-page .search-form p{margin-top:6px}
.journey-resume{padding:22px 24px;background:#f3f8fb;border-radius:12px;margin:0 0 28px;scroll-margin-top:20px}
.journey-resume .section-heading{margin-bottom:8px}
.journey-resume .note{margin:6px 0 14px}
.journey-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.journey-tabs button,.explorer-views button,.secondary-button{border:1px solid #bfd0dc;background:white;color:#315569;border-radius:7px;padding:8px 13px;font-size:13px}
.journey-tabs button[aria-pressed=true],.explorer-views button[aria-pressed=true]{background:#24658d;color:#fff;border-color:#24658d}
.journey-tabs button:hover,.explorer-views button:hover,.secondary-button:hover{background:#e5f1f8;color:#243f55}
.journey-tabs button[aria-pressed=true]:hover,.explorer-views button[aria-pressed=true]:hover{background:#184e73;color:#fff}
.journey-tabs [data-saved-count]{margin-left:6px}
.journey-list-actions{display:flex;gap:12px;margin-top:14px}
.journey-saved-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.journey-page .save-place{font-size:12px;font-weight:600;line-height:1.5;padding:8px 12px;color:#315569;background:#fff;border:1px solid #bfd0dc;border-radius:24px;white-space:nowrap;align-self:start;min-height:36px}
.journey-page .save-place[aria-pressed=true]{background:#e9f4f9;border-color:#24658d;color:#184e73}
.journey-page .save-place:hover{background:#e9f4f9;color:#184e73}
.card-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.journey-page .area-card{background:#fff}
.journey-page .area-card .card-body{padding:16px}
.journey-page .area-card .card-body>.save-place{margin:8px 0}
.journey-page .area-card .tags{margin:6px 0}
.journey-page .area-card figure img{height:195px}
.journey-page .area-card .area-description{font-size:13px}
.journey-page .area-card .area-description-full{max-height:340px;overflow:auto}
.journey-page .card figcaption{font-size:10px;line-height:1.6;max-height:78px;overflow:auto;padding:8px 12px}
.theme-shortcuts{display:flex;flex-wrap:wrap;gap:12px}
.theme-shortcuts a{display:flex;gap:30px;justify-content:space-between;padding:14px 20px;border:1px solid #d6e7f2;border-radius:8px;text-decoration:none;font-size:15px;background:#f7fafc;flex:1;min-width:175px}
.theme-shortcuts a:hover{background:#edf6fa}
.season-disclosures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.season-disclosures details{margin:0;border:1px solid #d6e7f2;border-radius:8px;padding:12px 16px}
.season-disclosures summary{font-weight:700}
.season-disclosures summary span{font-size:12px;font-weight:400;margin-left:12px}
.season-detail{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding-top:16px}
.season-detail .season-image{margin:0}.season-detail .season-image img{height:92px;object-fit:cover}
.season-detail p,.season-detail li{font-size:13px}.season-detail p{margin:0}.season-detail ul{padding-left:18px;margin-bottom:0}
.editorial-checks ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.editorial-checks li{padding:12px 0;border-top:1px solid #d6e7f2}.editorial-checks span{display:block;font-size:11px;color:#526b7d;margin-top:6px}
.place-title{display:flex;align-items:center;justify-content:space-between;gap:14px}
.place-title>div{min-width:0}.place-title h1{font-size:clamp(30px,4vw,44px);margin:6px 0 12px}.place-title .eyebrow{margin-bottom:0}
.area-cover-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center;padding:8px 0 24px}
.area-cover-layout:not(:has(.hero-photo)){grid-template-columns:1fr;max-width:850px}
.area-cover-copy .place-lead{font-size:16px;line-height:2;margin:0 0 16px}
.area-cover-copy .text-link{display:inline-block;margin-left:18px}
.area-cover-layout .hero-photo figure img{height:310px}
.page-jump{display:flex;flex-wrap:wrap;gap:4px 24px;border-top:1px solid #d6e7f2;border-bottom:1px solid #d6e7f2;padding:12px 0;margin:8px 0 24px;font-size:13px}
.page-jump a{text-decoration:none;padding:4px 0}
.area-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.area-highlights a{border-left:3px solid #a7cbdc;padding:8px 16px;text-decoration:none}
.area-highlights strong{display:block;font-size:20px;margin:5px 0}.area-highlights span{font-size:12px;color:#526b7d}
.explorer-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:12px 16px;background:#f3f8fb;border-radius:8px;margin-bottom:18px}
.explorer-tools label{font-size:13px;display:flex;gap:10px;align-items:center}.explorer-tools select{min-height:40px;font-size:13px;max-width:260px}.explorer-tools p{font-size:12px;margin:0}.explorer-tools input{min-height:auto;width:18px;height:18px}.photo-filter{white-space:nowrap}
.explorer-views{display:none;gap:8px;margin:12px 0}
.explorer-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px;align-items:start}
.explorer-layout:not(:has(.explorer-map-panel:not([hidden]))){grid-template-columns:1fr}
.area-spot-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.journey-page .journey-spot-card{min-width:0;padding:0 0 4px;display:flex;flex-direction:column}
.journey-page .journey-spot-card .card-body{padding:12px 16px;display:flex;flex-direction:column;flex:1}
.journey-page .journey-spot-card p{font-size:13px;margin:4px 0 10px}
.journey-page .journey-spot-card p.credit{font-size:10px;line-height:1.7}
.journey-page .journey-spot-card>figure>img{height:185px}
.journey-page .journey-spot-card .spot-photo-placeholder{min-height:185px}
.journey-page .journey-spot-card>figure>figcaption{min-height:0}
.journey-page .place-location{padding:5px 0;border:0;background:transparent;color:#24658d;font-size:12px;text-align:left;flex-basis:100%}
.explorer-map-panel{position:sticky;top:18px;min-width:0}
.area-places-map{height:510px;max-height:70vh;border:1px solid #d6e7f2;border-radius:10px;background:#edf6fa;z-index:0}
.explorer-map-panel>p{margin:8px 0}.explorer-map-panel>a{font-size:13px}
.journey-map-marker{background:none;border:0}.journey-map-marker span{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border:2px solid white;background:#24658d;border-radius:50%;color:white;font:bold 12px system-ui;box-shadow:0 1px 5px #0003}
.map-selected{outline:3px solid #24658d;outline-offset:3px}
.journey-page .area-introduction{max-width:940px;margin:0 auto;line-height:2}
.journey-page .area-introduction>section{scroll-margin-top:20px}
.journey-page .area-introduction>section+section{margin-top:28px}
.journey-page .area-seasons{gap:20px 28px}
.planning-section{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:20px}.planning-section .button{flex-shrink:0}
.journey-spot-hero .spot-address{font-size:13px;color:#526b7d;margin:0 0 12px}
.journey-spot-hero .photo-gallery{margin:12px 0 20px;background:#f1f7fa;border:0}
.journey-spot-hero .photo-gallery-track img{height:420px;max-height:55vh;object-fit:contain;background:#f1f7fa}
.journey-spot-hero .photo-gallery figcaption{font-size:11px;line-height:1.7;padding:10px 16px;background:white}
.spot-without-photo{padding:20px 24px;background:#f3f8fb;border-radius:10px;display:flex;align-items:center;gap:24px;margin:16px 0}.spot-without-photo .button{flex-shrink:0}.spot-without-photo p{margin:4px 0}
.spot-reading-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:40px;align-items:start}
.spot-story{min-width:0}.spot-story .spot-introduction{line-height:2}.spot-story .spot-introduction h2{padding-top:12px;scroll-margin-top:20px}
.visit-panel{position:sticky;top:18px;background:#f6fafc;border:1px solid #d6e7f2;border-radius:10px;padding:20px;max-height:calc(100vh - 36px);overflow:auto;scroll-margin-top:20px}
.visit-panel h2{font-size:23px;margin:4px 0 16px}.visit-panel .eyebrow{margin:0}.visit-panel dt{font-size:12px}.visit-panel dd{font-size:14px;margin:4px 0 14px}.visit-panel .button{display:block;text-align:center;margin:12px 0}
.related-areas{display:flex;flex-direction:column;gap:6px;padding:20px 0;border-top:1px solid #d6e7f2;margin:24px 0}.related-areas p{font-size:13px;margin:0 0 8px}
.nearby-place-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.place-distance{color:#526b7d}
.journey-saved-card{min-width:0;background:#fff}.journey-saved-card figure img,.saved-photo-empty{height:160px;background:#edf6fa;object-fit:contain}.saved-photo-empty{display:flex;align-items:center;justify-content:center;color:#526b7d;padding:12px;text-align:center}.journey-saved-card .card-body{padding:12px 16px}.journey-saved-card .eyebrow{font-size:11px}
.journey-feedback{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1001;background:#243f55;color:white;padding:12px 18px;border-radius:8px;box-shadow:0 3px 18px #243f5533;max-width:min(600px,calc(100vw - 32px));width:max-content;font-size:13px;pointer-events:none}.journey-feedback:empty{display:none}
.mobile-trip-actions{display:none}
@media(max-width:1000px){.journey-home-hero{gap:24px}.journey-home-hero .hero-photo figure img{height:280px}.explorer-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px}.area-spot-list{grid-template-columns:1fr}.spot-reading-layout{gap:24px;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr)}.journey-saved-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.journey-page main{padding:16px 16px 36px}.journey-home-hero,.area-cover-layout{grid-template-columns:1fr;gap:16px}.journey-home-hero .hero-photo{order:-1}.journey-home-hero h1{max-width:none;font-size:30px}.journey-home-hero .hero-photo figure img{height:240px}.journey-home-hero>div>p:not(.eyebrow){font-size:14px;margin:8px 0}.journey-home-hero .button{margin:4px 0}.journey-resume{padding:18px 16px}.journey-section{padding:22px 0}.journey-season-areas{grid-template-columns:1fr}.season-disclosures{grid-template-columns:1fr}.editorial-checks ul{grid-template-columns:1fr;gap:4px}.theme-shortcuts{gap:8px}.theme-shortcuts a{min-width:135px;font-size:13px;padding:12px;gap:12px}.area-cover-layout .hero-photo{order:-1}.area-cover-layout .hero-photo figure img{height:240px}.area-cover-copy .place-lead{font-size:14px}.area-cover-copy .text-link{margin-left:8px}.place-title h1{font-size:30px}.page-jump{gap:4px 18px;font-size:12px}.area-highlights{gap:10px}.area-highlights a{padding:4px 10px}.area-highlights strong{font-size:16px}.area-highlights span{font-size:11px}.explorer-layout{grid-template-columns:1fr}.area-spot-list{grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-views:not([hidden]){display:flex}.area-explorer[data-view=list] .explorer-map-panel{display:none}.area-explorer[data-view=map] .explorer-list{display:none}.explorer-map-panel{position:static}.area-places-map{height:420px;max-height:65vh}.explorer-tools{gap:10px;padding:12px}.explorer-tools select{max-width:190px}.explorer-tools p{flex-basis:100%}.planning-section{align-items:flex-start;flex-direction:column;gap:8px}.spot-reading-layout{grid-template-columns:1fr;gap:20px}.visit-panel{position:static;max-height:none;grid-row:1}.journey-spot-hero .photo-gallery-track img{height:280px;max-height:48vh}.spot-without-photo{flex-direction:column;align-items:flex-start;gap:8px;padding:16px}.nearby-place-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-spot main{padding-bottom:80px}.mobile-trip-actions{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;justify-content:center;align-items:center;gap:24px;background:#fff;border-top:1px solid #d6e7f2;padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -2px 10px #243f5510}.mobile-trip-actions>a{font-size:14px;font-weight:700;text-decoration:none}.journey-spot .journey-feedback{bottom:80px}.journey-page footer{padding-bottom:80px}}
@media(max-width:480px){.journey-saved-list,.area-spot-list,.nearby-place-cards{grid-template-columns:1fr}.journey-page .journey-spot-card>figure>img{height:200px}.journey-page .journey-spot-card .spot-photo-placeholder{min-height:200px}.area-highlights{grid-template-columns:1fr;gap:12px}.area-highlights a{display:grid;grid-template-columns:1fr auto;gap:2px 10px}.area-highlights strong{grid-row:2}.area-highlights span:last-child{grid-column:2;grid-row:2}.season-detail{grid-template-columns:1fr}.season-detail .season-image{max-width:180px}.season-disclosures summary span{display:block;margin-left:18px}.place-title{align-items:flex-start}.place-title>.save-place{margin-top:28px}.explorer-tools label{flex-wrap:wrap}.journey-page .site-nav nav{gap:10px 16px}}

/* エリア名・要約を写真の横にまとめ、冒頭の縦方向の余白を抑える。 */
.journey-area-hero{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:auto 1fr;gap:8px 32px;padding:16px 0 24px;align-items:start}
.journey-area-hero>.place-title{grid-column:1;grid-row:1}
.journey-area-hero .area-cover-layout{display:contents}
.journey-area-hero .area-cover-copy{grid-column:1;grid-row:2}
.journey-area-hero .hero-photo{grid-column:2;grid-row:1 / span 2}
.journey-area-hero:not(:has(.hero-photo)){grid-template-columns:1fr;max-width:900px}
.spot-first-summary{max-width:850px;margin:12px 0}.spot-first-summary>p{margin:6px 0}.spot-first-summary .credit{font-size:11px}
@media(max-width:760px){.journey-area-hero{grid-template-columns:1fr;gap:12px;padding:12px 0 20px}.journey-area-hero>.place-title{grid-column:1;grid-row:1}.journey-area-hero .hero-photo{grid-column:1;grid-row:2}.journey-area-hero .area-cover-copy{grid-column:1;grid-row:3}.journey-page .save-place{min-height:42px}.spot-first-summary>p{font-size:14px}}

/* 共通ボタンの余白が写真送りの矢印を押し出さないようにする。 */
.journey-page .photo-gallery-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:40px;min-height:40px;padding:0;line-height:1;background:#fff;color:#234e89;border:1px solid #bfd0dc;border-radius:7px}
.journey-page .photo-gallery-controls button:hover{background:#edf6fa;color:#184e73}.journey-page .photo-gallery-controls button:disabled{opacity:.35;cursor:default}
