/* Common reader finish; loaded after family styles. */
.te-heading-unit{white-space:nowrap}
h1{text-wrap:balance;line-break:strict}
.body h1{font-size:clamp(1.9rem,4.7vw,3.1rem);line-height:1.3}
#app .hero h1{font-size:clamp(2rem,5.2vw,4rem);line-height:1.28}
.te-breadcrumb{box-sizing:border-box;max-width:1120px;margin:0 auto;padding:13px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 11px;font:500 13px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",sans-serif;color:#53645c}
.te-breadcrumb a{color:#315c45;text-decoration:none;min-height:24px;display:inline-flex;align-items:center}
.te-breadcrumb a:hover{text-decoration:underline}
.te-breadcrumb+.page .top{padding-top:4px}
.te-breadcrumb+.page .top .back{display:none}
.te-trip-shortcuts{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e6e1;background:#fbfaf6}
.te-trip-shortcuts strong{font-size:13px;color:#53645c;margin-right:7px}
.te-trip-shortcuts a,.te-stay-jump a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #cddbd2;border-radius:999px;color:#315c45;background:#fff;text-decoration:none;font-size:14px;font-weight:700;line-height:1.5}
.te-stay-jump{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 12px}
.te-stay-jump a:first-child{background:#315c45;border-color:#315c45;color:#fff}
.te-stay-conditions{font-size:13px;line-height:1.85;color:#53645c;margin:10px 0 22px}
.rakuten-hotel>div{min-width:0}
.rakuten-hotel-name{font-size:16px;letter-spacing:normal;line-height:1.6}
.rakuten-hotel-conditions-list{margin:12px 0;display:grid;gap:7px;font-size:13px;line-height:1.8}
.rakuten-hotel-conditions-list>div{display:grid;grid-template-columns:4.2em minmax(0,1fr);gap:8px}
.rakuten-hotel-conditions-list dt{font-weight:700;color:#315c45}
.rakuten-hotel-conditions-list dd{margin:0;overflow-wrap:anywhere}
.rakuten-hotel-conditions-list [data-condition-status=unknown] dd{color:#64736c}
.rakuten-condition-sources{margin:8px 12px 5px;font-size:11px;line-height:1.85;color:#53645c}
.rakuten-condition-sources a{color:#315c45;text-decoration:underline;text-underline-offset:2px}
.rakuten-hotel-signals{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
.rakuten-hotel-signals span{display:inline-block;padding:3px 7px;border-radius:5px;background:#eef4ef;color:#315c45;font-size:11px;line-height:1.6}
.rakuten-hotel-conditions{display:block;margin-top:7px;font-size:11px;line-height:1.65;color:#53645c}
.rakuten-hotel-fact{display:block;font-size:13px;line-height:1.8;color:#53645c;margin-top:7px}
.rakuten-lodging{scroll-margin-top:20px}
.te-image-credits{box-sizing:border-box;max-width:1072px;margin:26px auto 0;padding:17px 24px;border-top:1px solid #e2e6e1;font-size:12px;line-height:1.9;color:#53645c}
.te-image-credits summary{cursor:pointer;min-height:34px;color:#315c45;font-weight:700}
.te-image-credits li{margin:9px 0}
.te-image-credits a{text-decoration:underline;color:#315c45;overflow-wrap:anywhere}
.te-report-link{box-sizing:border-box;max-width:1120px;margin:0 auto;padding:20px 24px 32px;text-align:center;font-size:12px;line-height:1.7}
.te-report-link a{display:inline-flex;align-items:center;min-height:44px;color:#53645c}
.te-policy-section{margin:28px auto;padding:20px 24px;max-width:760px;line-height:1.9}
.te-theme-policy{margin-top:24px;padding-top:15px;border-top:1px solid var(--line,#e2e6e1)}
.te-theme-policy p{margin:0 0 8px}
.te-theme-policy nav{gap:8px 18px}
.te-theme-policy nav a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}
.course-practical{margin-top:40px;padding:24px;border:1px solid var(--line,#dedbd4);border-radius:14px;background:var(--soft,#f4f1ea);scroll-margin-top:20px}
.course-practical>h2{margin-top:0}
.course-plan-summary{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin:20px 0}
.course-plan-summary dt{font-size:12px;color:var(--muted,#64736c);font-weight:700}
.course-plan-summary dd{margin:4px 0 0;font-weight:700;line-height:1.7}
.course-plan-note{font-size:12px;line-height:1.85;color:var(--muted,#64736c)}
.course-plan-stops,.course-plan-moves,.course-visit-checks{padding-left:22px}
.course-plan-stops li,.course-plan-moves li,.course-visit-checks li{margin:13px 0}
.course-plan-time,.course-plan-moves li>span,.course-plan-moves li>strong{display:block;font-size:13px;line-height:1.8}
.course-plan-source{font-size:11px!important}
.course-plan-jump a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700}
@media(max-width:560px){.course-practical{padding:18px}.course-plan-summary{grid-template-columns:1fr}}
@media(max-width:560px){
 .rakuten-hotel{display:block;overflow:hidden}
 .rakuten-hotel>img{float:right;margin:0 0 10px 12px}
 .rakuten-hotel-conditions-list{clear:both}
}
.te-feedback{box-sizing:border-box;max-width:520px;width:calc(100% - 32px);padding:26px;border:1px solid #d2ddd5;border-radius:18px;background:#fbfaf6;color:#24372f;box-shadow:0 16px 70px #15251c30;font-family:inherit}
.te-feedback::backdrop{background:#192b235c}
.te-feedback h2{font-size:22px;line-height:1.5;margin:0 0 12px}
.te-feedback p{font-size:14px;line-height:1.8}
.te-feedback .te-feedback-page{font-size:12px;color:#53645c;overflow-wrap:anywhere}
.te-feedback label{display:block;margin-top:17px;font-size:14px;font-weight:700}
.te-feedback select{box-sizing:border-box;width:100%;margin-top:7px;min-height:44px;padding:10px;border:1px solid #becdc2;border-radius:8px;background:#fff;color:#24372f;font:inherit}
.te-feedback-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
.te-feedback button{min-height:44px;padding:10px 18px;border:1px solid #c9d7cc;border-radius:8px;background:#fff;color:#315c45;font-size:14px;line-height:1.5;font-weight:700;cursor:pointer}
.te-feedback button[type=submit]{background:#315c45;color:#fff;border-color:#315c45}
.te-feedback button:disabled{opacity:.65;cursor:wait}
.te-feedback [role=status]{min-height:24px;margin-top:14px;font-size:13px;line-height:1.7}
.te-weather-official{display:block;padding:10px 0;font-size:13px;color:#315c45}
.te-event-freshness{font-size:12px;line-height:1.8;color:#5b665e}
.te-event-freshness a{color:#315c45;text-decoration:underline}
:where(.te-breadcrumb,.te-trip-shortcuts,.te-stay-jump,.te-feedback,.te-report-link) :is(a,button,select):focus-visible{outline:3px solid #315c45;outline-offset:4px}
/* Reserve the lower right for the photo instead of sharing the text rectangle. */
.entry-panel .entry-card{min-height:262px;padding:24px 24px 82px}
.entry-panel .entry-card h2{margin:16px 0 9px;font-size:1.25rem;line-height:1.5}
.entry-panel .entry-card p{margin:0;font-size:.91rem;line-height:1.75}
.entry-panel .entry-card .more{position:absolute;left:24px;bottom:22px;max-width:calc(100% - 139px);margin:0;line-height:1.65}
.entry-card .entry-pic,.entry-card--theme .entry-pic,.entry-card--planning .entry-pic{width:104px;height:82px;aspect-ratio:auto;right:0;bottom:0;border-radius:56px 0 0 0}
@media(max-width:680px){
 .entry-panel .entry-card{min-height:214px;padding:18px 18px 77px}
 .entry-panel .entry-card h2{font-size:1.18rem;margin:11px 0 7px}
 .entry-panel .entry-card p{font-size:.86rem;line-height:1.65}
 .entry-panel .entry-card .more{left:18px;bottom:17px;max-width:calc(100% - 127px)}
 .entry-card .entry-pic,.entry-card--theme .entry-pic,.entry-card--planning .entry-pic{width:96px;height:75px}
 .te-breadcrumb{padding:11px 18px;font-size:12px}
 .te-trip-shortcuts{padding:16px 18px;gap:8px}
 .te-trip-shortcuts strong{flex-basis:100%}
 .te-image-credits{padding:16px 20px}
 .te-feedback{padding:22px}
}
