/* v1.2.0: illustrated adventure poster above, usable travel map below. */
.libera-travel{max-width:1328px;padding-left:32px;padding-right:32px;background:#fff}
.lt-intro{padding:48px 0 32px;border:0;text-align:center}
.lt-intro h1{font-size:clamp(35px,4.8vw,60px);margin:12px 0 14px}
.lt-intro>p{font-size:16px;margin-bottom:6px}.lt-intro-note{font-size:12px}
.lt-conquest{margin-top:12px}.lt-atlas-grid{display:block;background:#fffdf7;border:1px solid #e1dfcf;border-radius:13px 10px 17px 12px;box-shadow:0 5px 22px #495d3a0d;overflow:hidden}
.lt-poster-wrap{position:relative}.lt-poster{position:relative}.lt-poster-scene{position:relative;aspect-ratio:3/2;isolation:isolate;overflow:hidden;background:#fcf6e8}
.lt-poster-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;z-index:0;pointer-events:none}
.lt-wood-title{position:absolute;left:20%;right:23%;top:5.7%;height:12%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#413a25;text-align:center;z-index:5}
.lt-wood-eyebrow{font-family:Georgia,serif;font-size:clamp(8px,.95vw,12px);letter-spacing:.2em;line-height:1.5;color:#605437}
.lt-wood-title h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(19px,2.6vw,33px);line-height:1.45;letter-spacing:.06em;margin:5px 0 0;font-weight:700;text-shadow:0 1px #fff7d680}
.lt-wood-title h2 span{white-space:nowrap}
.lt-poster-scene .lt-japan-map{position:absolute;left:5%;right:29%;top:22%;bottom:22%;width:auto;height:auto;background:transparent!important;border:0;z-index:2}
.lt-poster-scene .lt-legend{top:19.2%;left:24%;z-index:4;font-size:11px;gap:16px;color:#4d5c43;white-space:nowrap}
.lt-poster-scene .lt-swatch{width:16px;height:12px}
.lt-poster-caption{position:absolute;right:7%;top:20%;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(10px,1.35vw,16px);letter-spacing:.08em;transform:rotate(3deg);color:#516340;z-index:3}
.lt-poster-route{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;fill:none;stroke:#a98455;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:5 7;opacity:.6}
.lt-poster-route .lt-paper-plane{stroke:#718663;stroke-dasharray:none;fill:#e1e6bf80;stroke-width:1.5}
.lt-poster-stamp{position:absolute;top:58%;left:7%;width:95px;height:95px;border:2px double #78856580;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:Georgia,serif;font-size:8px;line-height:1.6;letter-spacing:.05em;color:#788565;transform:rotate(-14deg);pointer-events:none;z-index:3;background:#fff9e740;box-shadow:inset 0 0 0 3px #fcf6e8,inset 0 0 0 4px #78856550}
.lt-poster-stamp b{font-size:11px;font-weight:400}.lt-route-note{position:absolute;bottom:4px;left:12px;margin:0;padding:2px 7px;font-size:9px;color:#4e5a42;background:#fffaf0de;border-radius:4px;z-index:4}
.lt-collage{position:absolute;right:6%;top:26%;width:17%;max-width:177px;display:flex;flex-direction:column;align-items:center;gap:7px;z-index:4}
.lt-polaroid{display:block;width:100%;padding:7px 7px 9px;background:#fffdf6;box-shadow:1px 3px 8px #4e583a30;transform:rotate(5deg);position:relative;border:1px solid #e6e0cb;transition:box-shadow .15s}
.lt-polaroid:before{content:"";position:absolute;top:-9px;left:32%;width:39%;height:17px;background:#d5d1a77d;transform:rotate(-3deg);border-left:2px dotted #fbf9e99c;border-right:2px dotted #fbf9e99c;pointer-events:none}
.lt-polaroid:nth-child(2){transform:rotate(-7deg);width:86%;margin-top:4px}.lt-polaroid>img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block;filter:saturate(.88)}
.lt-polaroid>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:10px;line-height:1.5;margin-top:6px;color:#46553f;overflow-wrap:anywhere}
.lt-polaroid:hover,.lt-polaroid:focus-visible{box-shadow:1px 5px 12px #4e583a50}
.lt-poster-wrap>.lt-credit{padding:12px 18px 10px;background:#faf7ee;color:#647057;border-bottom:1px dashed #d5dbc8}
.lt-passport{display:grid;grid-template-columns:230px minmax(0,1fr);gap:0 34px;padding:26px 32px 22px;border-left:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 31px,#6e806608 32px,#6e806608 33px),#fffdf7}
.lt-passport:before{display:none}.lt-passport>.eyebrow{grid-column:1;grid-row:1;margin-bottom:14px}.lt-passport>label{grid-column:1;grid-row:2;margin:0 0 7px}.lt-passport>select{grid-column:1;grid-row:3;align-self:start}.lt-passport>#lt-pref-detail{grid-column:2;grid-row:1/5;border-left:1px dashed #d6dbc9;padding-left:30px}.lt-passport h3{font-size:22px;margin:0 0 8px}.lt-passport .lt-mode-key{grid-column:1/-1;grid-row:5;margin-top:20px;padding-top:11px;gap:12px 20px}.lt-mode-key p{width:auto;margin:0;align-self:center;font-size:11px}.lt-mode-key>span{font-size:12px}
.lt-passport #lt-pref-detail ul{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:0}.lt-passport #lt-pref-detail li{margin:0}
.lt-stamps{margin:12px 0}.lt-stamp{border-style:dashed;min-height:44px;padding:6px 11px;background:#eaf0dacf}.lt-stamp .lt-sketch-icon{width:30px;height:30px}
.lt-stats{margin:0 16px;padding:28px 0 24px}.lt-stats strong{font-size:43px}.lt-stats span{font-size:12px}.lt-count-note{margin:14px 16px;font-size:12px}
#lt-japan-map .leaflet-interactive{stroke-opacity:.83;filter:drop-shadow(.5px 1px .6px #6c725b23)}
#lt-japan-map .leaflet-control-zoom a{width:34px;height:34px;line-height:34px;font-size:20px;background:#fffbeecc}
#lt-japan-map .leaflet-control-zoom{border-color:#c8c8ae!important;box-shadow:none}
#lt-japan-map .leaflet-top.leaflet-left{top:24px;left:0}#lt-japan-map .leaflet-top.leaflet-right{top:0;right:0}
#lt-japan-map .lt-map-home{min-height:36px;padding:6px 9px;font-size:10px;background:#fffbeecc;border-style:dashed}
/* The lower map has stronger contrast and generous controls. */
.lt-destinations{border-top:1px dashed #d2d9c4;margin-top:36px;padding-top:8px}
.lt-destinations>.lt-section-head{margin-top:28px}.lt-destinations h2:after{content:"";display:block;width:66px;height:5px;margin-top:9px;border-radius:50%;background:#c0ce9d99;transform:rotate(-2deg)}
.lt-filters button{border-radius:24px 21px 25px 22px;min-height:48px;padding:8px 15px;background:#fffdf5}
.lt-filters button:nth-child(2n){border-radius:21px 25px 22px 24px}.lt-filters button[aria-pressed=true]{background:#e1ebd2;color:#294834;border-color:#5c7857}
.lt-filters .lt-sketch-icon{width:28px;height:28px}.lt-filters [data-type=onsen] .lt-sketch-icon{color:#9b644a}.lt-filters [data-type=sight] .lt-sketch-icon{color:#63846c}.lt-filters [data-type=rv] .lt-sketch-icon{color:#6d7852}
.lt-pin-map{border-radius:18px 15px 19px 13px;box-shadow:0 3px 12px #3652360b;height:490px;border-color:#bac9ae}
.lt-marker{border-width:2px;background:#fffdf3;box-shadow:0 2px 5px #31483138}.lt-marker:after{background:#fffdf3}.lt-pin-onsen .lt-marker{color:#8d5c44;border-color:#8d7055}.lt-pin-onsen .lt-marker:after{border-color:#8d7055}.lt-pin-sight .lt-marker{color:#4b7864}.lt-pin-rv .lt-marker{color:#617446}
.lt-marker>.lt-sketch-icon{width:33px;height:33px}.lt-sketch-icon path[fill=currentColor]{fill-opacity:.17}
.lt-spot-card{padding:3px;border-radius:13px 10px 14px 11px;background:#fffef8;box-shadow:0 3px 10px #4960340d}.lt-spot-card>img{border-radius:5px;filter:saturate(.95)}.lt-card-body h3{font-size:19px}.lt-card-body p{font-size:14px;line-height:1.85}.lt-card-body p.lt-card-meta{font-size:12px}.lt-card-body>a{font-size:13px}.lt-card-type{font-size:12px}.lt-card-type .lt-sketch-icon{width:28px;height:28px}.lt-popup-group .lt-card-body h3{font-size:18px}.lt-popup-group .lt-card-body p{font-size:13px}.lt-popup-group .lt-card-body{padding:15px 18px 18px}
@media(min-width:701px) and (max-width:1000px){.lt-collage{right:5%;width:17%;top:27%}.lt-polaroid:nth-child(2){display:none}.lt-poster-stamp{width:75px;height:75px;font-size:7px}.lt-poster-stamp b{font-size:9px}.lt-poster-scene .lt-legend{font-size:10px;left:22%}.lt-passport{grid-template-columns:210px minmax(0,1fr);padding:24px;gap:0 24px}}
@media(max-width:700px){
.libera-travel{padding:0 16px 60px}.lt-intro{padding:32px 0 22px}.lt-intro h1{font-size:36px}.lt-intro>p{font-size:14px}.lt-intro-note{font-size:11px}
.lt-conquest{margin-top:6px}.lt-poster-scene{aspect-ratio:auto;height:710px;background:radial-gradient(#a98c5815 .6px,transparent .9px) 0 0/7px 9px,#fcf6e8}
.lt-poster-art{inset:auto 0 0 auto;width:200%;max-width:740px;height:auto;object-fit:initial;clip-path:inset(57% 0 0 0)}
.lt-wood-title{left:16px;right:16px;top:20px;height:88px;padding:9px 5px;border:1px solid #b89359;border-radius:40% 3% 35% 4%/6% 8% 5% 7%;background:repeating-linear-gradient(2deg,transparent 0,transparent 13px,#966d3320 14px,transparent 15px),linear-gradient(105deg,#f2d19d,#f8dfb4 40%,#e8be80);box-shadow:0 3px 0 #ae885229}
.lt-wood-title:before,.lt-wood-title:after{content:"";position:absolute;top:45%;width:5px;height:5px;border-radius:50%;background:#856338;box-shadow:inset 1px 1px 1px #604c29;left:10px}.lt-wood-title:after{left:auto;right:10px}
.lt-wood-eyebrow{font-size:8px;letter-spacing:.15em}.lt-wood-title h2{font-size:21px;letter-spacing:.02em;line-height:1.45;margin:4px 0 0}.lt-wood-title h2 span{display:block;font-size:15px;letter-spacing:.13em}
.lt-poster-scene .lt-legend{top:125px;left:0;right:0;justify-content:center;font-size:11px;gap:20px}
.lt-poster-scene .lt-japan-map{left:10px;right:10px;top:155px;bottom:190px;height:auto;width:auto}
.lt-poster-caption{right:15px;top:auto;bottom:155px;font-size:12px;background:#fcf6e8aa;border-radius:10px;padding:2px 5px}
.lt-poster-route{top:142px;left:-10%;width:120%;height:300px;opacity:.25}.lt-poster-stamp{top:auto;bottom:41px;left:20px;width:77px;height:77px;font-size:7px;background:#fffbeecc;z-index:1}.lt-poster-stamp b{font-size:9px}.lt-route-note{font-size:9px;bottom:3px;left:5px}
.lt-collage{position:relative;top:auto;right:auto;width:100%;max-width:none;flex-direction:row;justify-content:center;align-items:start;gap:18px;padding:23px 22px 18px;background:#faf6e9;border-top:1px dashed #d9d1b8}
.lt-polaroid{width:44%;max-width:180px;padding:6px 6px 8px;transform:rotate(-3deg)}.lt-polaroid:nth-child(2){display:block;width:44%;margin-top:8px;transform:rotate(4deg)}.lt-polaroid>span{font-size:11px;line-height:1.6}.lt-polaroid:before{height:15px;top:-7px}
.lt-poster-wrap>.lt-credit{padding:12px 14px;font-size:9px}
.lt-passport{display:block;padding:22px 20px;border:0}.lt-passport>.eyebrow{display:block;margin-bottom:15px}.lt-passport>label{margin:0 0 6px}.lt-passport select{font-size:16px;min-height:46px}.lt-passport>#lt-pref-detail{padding:20px 0 0;border:0}.lt-passport h3{font-size:21px}.lt-passport .lt-mode-key{margin-top:19px;gap:10px 14px;padding-top:12px}.lt-mode-key p{width:100%;margin:0}.lt-mode-key>span{font-size:11px}.lt-mode-key .lt-sketch-icon{width:28px;height:28px}
.lt-stats{margin:0;padding:23px 0}.lt-stats strong{font-size:35px}.lt-stats span{font-size:10px}.lt-count-note{margin:12px 4px;font-size:11px}
.lt-destinations{margin-top:29px}.lt-destinations>.lt-section-head{margin:24px 0}.lt-section-head h2{font-size:23px}.lt-filters{gap:7px}.lt-filters button{font-size:12px;padding:7px 10px;min-height:48px;gap:4px}.lt-filters .lt-sketch-icon{width:24px;height:24px}
.lt-pin-map{height:440px;border-radius:14px}.lt-map-toolbar button{font-size:11px}.lt-card-body p{font-size:14px}.lt-card-body h3{font-size:19px}
}
@media(max-width:360px){.lt-wood-title h2{font-size:19px}.lt-intro h1{font-size:32px}.lt-poster-scene{height:680px}.lt-poster-caption{font-size:11px}.lt-filters button{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.lt-polaroid{transition:none}}

/* 2026-09-29：日本列島征服之図・実装用マスター画像 */
.lt-poster-scene.lt-poster-master{
  aspect-ratio:3 / 2;
  height:auto;
  background:#fcf6e8;
}

/* 新しいマスター画像を全面表示 */
.lt-poster-scene.lt-poster-master .lt-poster-art{
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  clip-path:none;
}

/* 旧ポスター用の重ね表示は一旦隠す */
.lt-poster-master .lt-wood-title{
  opacity:0;
  pointer-events:none;
}

.lt-poster-master .lt-legend,
.lt-poster-master .lt-poster-route,
.lt-poster-master .lt-poster-caption,
.lt-poster-master .lt-poster-stamp,
.lt-poster-master .lt-route-note{
  display:none !important;
}

/* 旧・都道府県地図は処理を残したまま非表示 */
.lt-poster-master .lt-japan-map{
  visibility:hidden;
  pointer-events:none;
}

/* 旧ポスター上の写真コラージュも一旦非表示 */
.lt-poster-master + .lt-collage{
  display:none !important;
}

/* スマホでもマスター画像全体を表示 */
@media(max-width:700px){
  .lt-poster-scene.lt-poster-master{
    height:auto;
    aspect-ratio:3 / 2;
  }

  .lt-poster-scene.lt-poster-master .lt-poster-art{
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    clip-path:none;
  }
}