@charset "UTF-8";
:root{--ink:#183d35;--muted:#6d7a73;--paper:#f7f7f1;--line:#dce2d8;--green:#245448;--navy:#142a54;--blue:#2882b9;--mint:#65ad80;font-family:"Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2882b9;outline-offset:4px}a{color:inherit}button{touch-action:manipulation}.masthead{max-width:1220px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:4px;align-items:center;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:1px}.brand>span:last-child{font-weight:400}.brand-icon{display:inline-grid;place-content:center;background:var(--ink);color:var(--paper);width:33px;height:30px;border-radius:5px;font-size:14px;letter-spacing:-1px;margin-right:8px}.edition{font-size:11px;border:1px solid #c5d0c3;border-radius:20px;padding:6px 12px;white-space:nowrap}main{max-width:1180px;margin:auto;padding:0 24px}.intro{padding:39px 0 30px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:600;margin:0 0 12px;color:var(--muted)}h1{font-size:38px;letter-spacing:-1.5px;line-height:1.4;margin:0;font-weight:800}h1>span{white-space:nowrap}.title-dot{color:#77a88c}.lead{font-size:13px;color:var(--muted);line-height:1.9;margin:13px 0 0}.mobile{display:none}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:24px;align-items:start}.map-panel{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 7px 30px #253b2910}.time-toolbar{padding:18px 22px 12px;display:flex;justify-content:space-between;align-items:center}.overline{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:4px}#time-label{font-family:Arial,sans-serif;font-size:34px;letter-spacing:1px;line-height:1.1;font-variant-numeric:tabular-nums}#time-label span{font:500 11px "Noto Sans JP",Meiryo,sans-serif;letter-spacing:0;margin:0 6px}.icon-button{border:1px solid var(--line);color:var(--ink);background:var(--paper);border-radius:50%;width:40px;height:40px;font-size:15px}.map-wrap{position:relative;height:450px;background:#e8eee5}#map{height:100%;z-index:1}.map-tip{position:absolute;z-index:450;top:17px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fffffff2;box-shadow:0 3px 15px #203a2920;border-radius:24px;padding:9px 15px;font-size:12px;pointer-events:none;transition:opacity .3s}.map-tip.hidden{opacity:0}.tap-icon{font-size:20px;vertical-align:-1px;margin-right:4px}.locate-button{position:absolute;z-index:500;right:14px;bottom:32px;border:1px solid #d5dfd2;background:white;border-radius:9px;box-shadow:0 3px 10px #203a2915;color:var(--ink);padding:9px 12px;font-size:11px;min-height:44px}.locate-button span{font-size:20px;vertical-align:-2px;margin-right:3px}.map-badge{position:absolute;z-index:450;bottom:33px;left:15px;font-size:9px;letter-spacing:.8px;background:#ffffffe6;border-radius:4px;padding:5px 7px;pointer-events:none}.leaflet-control-attribution{font-size:9px!important;background:#ffffffdc!important}.leaflet-control-zoom{border:1px solid #d5dfd2!important;box-shadow:0 3px 10px #203a2910!important}.leaflet-control-zoom a{color:var(--ink)!important;font-weight:400!important}.origin-marker{display:block;width:20px;height:20px;background:var(--ink);border:4px solid white;border-radius:50%;box-shadow:0 0 0 8px #244f4225,0 2px 8px #123b3250}.road-canvas{position:absolute;pointer-events:none}.timeline{padding:11px 20px 3px}input[type=range]{width:100%;margin:0;appearance:none;height:20px;background:transparent;cursor:pointer;display:block}input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,var(--navy),var(--blue),var(--mint));border-radius:4px}input[type=range]::-moz-range-track{height:4px;background:linear-gradient(90deg,var(--navy),var(--blue),var(--mint));border-radius:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:white;border:2px solid var(--ink);border-radius:50%;width:16px;height:16px;margin-top:-6px}input[type=range]::-moz-range-thumb{background:white;border:2px solid var(--ink);border-radius:50%;width:12px;height:12px}.ticks{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.status-line{display:flex;align-items:center;gap:7px;padding:9px 20px 3px;min-height:40px}.status-line p{font-size:10px;color:var(--muted);line-height:1.6;margin:0}.status-dot{width:5px;height:5px;background:#6ca083;flex:none;border-radius:50%}.status-dot.error{background:#b16a37}.examples{border-top:1px solid #edf0e9;margin:8px 18px 0;padding:8px 0 12px;display:flex;align-items:center;gap:3px;flex-wrap:wrap}.examples>span{font-size:9px;margin-right:5px;color:var(--muted)}.examples button{border:0;background:transparent;color:var(--ink);padding:9px 6px;min-height:36px;font-size:10px;border-radius:5px}.examples button:hover{background:#edf2e9}.discovery{display:grid;gap:18px}.local-card{background:#eaf0e5;border-radius:16px;padding:23px 24px 18px;text-align:center}.local-card .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:10px}h2{font-size:16px;line-height:1.6;margin:0}.local-card h2{font-size:13px;font-weight:500}.number-plate{position:relative;margin:13px auto 12px;max-width:260px;min-height:111px;border:2px solid #376b52;border-radius:9px;background:#fefef9;color:#225638;box-shadow:inset 0 0 0 4px white,0 3px 0 #bacab845;display:flex;flex-direction:column;justify-content:center}.number-plate strong{font-size:37px;font-weight:700;line-height:1.2;letter-spacing:5px;padding:8px 10px 3px}.number-plate strong.empty{font-size:23px;letter-spacing:1px}.number-plate>span{font-size:10px;letter-spacing:3px;padding-bottom:6px}.screw{position:absolute;top:10px;width:5px;height:5px;background:#b8c0b4;border-radius:50%;box-shadow:inset 0 1px 1px #67876a}.screw.left{left:11px}.screw.right{right:11px}.plate-pref{font-size:10px;color:#5b715e;line-height:1.6;margin:9px 0 0}.snap-note{font-size:9px;color:#6d7a65;line-height:1.7;margin:7px 0 0}.snap-note:empty{display:none}.product-card{padding:23px 24px 22px;border:1px solid var(--line);border-radius:16px;background:#f0f0e7}.small-tag{font-size:10px;letter-spacing:1px;color:#6c7b65}.product-card h2{font-size:19px;letter-spacing:.1px;margin-top:8px}.product-visual{height:120px;position:relative;display:flex;align-items:center;justify-content:center;margin-top:7px}.mini-plate{width:132px;height:63px;padding:8px 14px;border-radius:7px;background:linear-gradient(120deg,#b4b8af,#f4f3e9 35%,#d4d6cb 75%,#aeb6ac);border:1px solid #a3aaa0;box-shadow:4px 10px 12px #34463225,inset 0 0 0 3px #ecede3;color:#3a4d40;transform:rotate(-9deg);font-weight:700;text-align:center;position:relative}.mini-plate:before{content:"";position:absolute;width:5px;height:5px;border:1px solid #9ba697;border-radius:50%;top:8px;left:7px}.mini-plate>span{font-size:13px;letter-spacing:2px}.mini-plate small{font-size:11px;margin-left:6px}.mini-plate b{display:block;font:bold 25px Arial;letter-spacing:2px}.mini-plate i{font:10px Meiryo;margin-right:8px}.key-ring{height:43px;width:43px;border:3px solid #aeb7ab;border-radius:50%;box-shadow:inset 0 0 0 1px #fefef6,0 1px 1px #586652;position:absolute;top:9px;left:calc(50% - 86px);transform:rotate(-20deg)}.sample-label{position:absolute;bottom:1px;right:0;font-size:8px;color:#90998a}.product-spec{font-size:10px;color:var(--muted);margin:13px 0 3px}.price{font:30px Arial;margin:5px 0 17px;letter-spacing:-1px}.price span{font:10px Meiryo;letter-spacing:0;margin-left:10px}.shop-button{background:var(--green);border:0;border-radius:8px;color:#fff;padding:14px 13px;font-size:11px;font-weight:600;line-height:1.7;text-align:left;display:flex;align-items:center;justify-content:space-between;width:100%;text-decoration:none;min-height:48px;gap:10px}.shop-button:hover:not(:disabled){background:#193e34}.shop-button>span{font-size:18px}.order-note{font-size:9px;line-height:1.9;color:var(--muted);margin:10px 0 0}.footnotes{max-width:790px;margin:27px 0 30px;font-size:10px;color:#7b8478;line-height:1.9}.footnotes p{margin:7px 0}.footnotes .speed-note{color:#526b57;font-size:11px;font-weight:600}.sources a{text-underline-offset:3px;text-decoration-color:#bdc8b7}footer{border-top:1px solid var(--line);padding:22px 32px;max-width:1220px;margin:auto;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.footer-brand{font-size:11px;letter-spacing:1.5px;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:30px;max-width:390px;width:calc(100% - 32px);box-shadow:0 20px 100px #16352630}dialog::backdrop{background:#123b3266;backdrop-filter:blur(3px)}dialog h2{font-size:19px;margin:12px 0}dialog p{font-size:12px;line-height:1.9}dialog label{font-size:10px;display:block;margin-top:14px}dialog input{width:100%;padding:10px;border:1px solid #becfb9;border-radius:5px;background:#f5f8f1;color:var(--ink);font-size:16px;margin-top:4px}.dialog-close{position:absolute;right:12px;top:9px;font-size:23px;color:var(--muted);background:transparent;border:0;width:36px;height:36px}dialog form{margin:0}.leaflet-container{font-family:inherit}
@media(min-width:1100px){.intro{position:relative}.lead{position:absolute;right:0;bottom:32px;text-align:right}.map-wrap{height:487px}}
@media(max-width:760px){.masthead{padding:16px 18px}.brand{font-size:12px;letter-spacing:.4px}.brand-icon{height:27px;width:29px;font-size:12px;margin-right:4px}.edition{font-size:9px;padding:5px 9px}main{padding:0 16px}.intro{padding:26px 1px 22px}.eyebrow{font-size:10px;letter-spacing:.8px;margin-bottom:9px}h1{font-size:28px;letter-spacing:-1px}.lead{font-size:11px;line-height:1.8;margin-top:9px}.mobile{display:block}.workspace{grid-template-columns:1fr;gap:18px}.map-panel{border-radius:13px}.time-toolbar{padding:13px 15px 10px}#time-label{font-size:30px}.overline{font-size:9px}.icon-button{height:36px;width:36px}.map-wrap{height:365px;height:clamp(310px,46svh,430px)}.map-tip{font-size:10px;padding:7px 11px;top:12px}.map-badge{font-size:8px;left:9px;bottom:31px}.locate-button{right:10px;font-size:10px;bottom:31px;padding:7px 10px}.timeline{padding:8px 14px 2px}.status-line{padding:8px 14px 2px}.examples{margin:6px 12px 0;gap:1px;padding:5px 0 8px}.examples>span{font-size:8px;margin-right:2px}.examples button{font-size:9px;padding:7px 5px;min-height:36px}.discovery{gap:14px}.local-card{padding:20px 24px 17px}.number-plate{max-width:265px}.product-card{padding:23px;position:relative;overflow:hidden}.product-card h2{font-size:19px;width:58%}.product-visual{position:absolute;right:14px;top:33px;width:138px;height:119px;transform:scale(.9);transform-origin:right center;margin:0}.product-spec{margin-top:18px}.price{margin-top:7px}.order-note{text-align:center}.shop-button{font-size:12px;padding:14px 16px}.footnotes{margin:21px 1px 24px;font-size:9px}.footnotes .speed-note{font-size:10px}footer{padding:20px 18px;font-size:9px}}
.leaflet-tile-pane{filter:saturate(.45) brightness(1.025)}
.compact-plate{display:none}[hidden]{display:none!important}
@media(max-width:760px){.time-toolbar{gap:6px}.compact-plate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:114px;height:59px;border:1.5px solid #376b52;border-radius:6px;background:#fffef8;color:#225638}.compact-plate>span{font-size:8px}.compact-plate>strong{font-size:23px;letter-spacing:3px;line-height:1.2;padding-left:3px}.compact-plate>small{font-size:8px;letter-spacing:1px}.icon-button{flex:none}}
@media(max-width:760px){.product-card h2{width:100%;font-size:18px}.product-visual{top:104px;right:18px;transform:scale(.82)}.product-spec{margin-top:27px;max-width:155px;line-height:1.8}.price{margin-top:7px;margin-bottom:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* 価格の未確認値を表示しない。長い日本語は375px幅でも折り返す。 */
.price-note { font-size: 12px; line-height: 1.8; color: var(--muted, #52645e); margin: 12px 0 18px; }
@media(max-width:760px){
  /* 長い価格案内と商品イメージが重ならないよう、画像も通常の流れに置く。 */
  .product-visual{position:relative;top:auto;right:auto;width:100%;height:120px;transform:none;margin:8px 0 0}
  .product-spec{margin-top:12px;max-width:none}
}
.edition { text-align: right; max-width: 48%; }
.privacy-page { max-width: 780px; margin: 0 auto; padding: 28px 20px 60px; line-height: 1.9; }
.privacy-page h1 { font-size: clamp(24px, 6vw, 36px); }
.privacy-page h2 { margin-top: 28px; font-size: 20px; }
.privacy-page table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
.privacy-page th, .privacy-page td { text-align: left; vertical-align: top; padding: 10px 7px; border-bottom: 1px solid #ccd5ce; overflow-wrap: anywhere; }
.privacy-page a { overflow-wrap: anywhere; }

.kh-banner{display:flex;align-items:center;gap:12px;max-width:1180px;margin:12px auto 0;padding:8px 14px 8px 8px;background:var(--ink);color:#fff;border-radius:12px;text-decoration:none;box-shadow:0 4px 16px #123b3225}.kh-banner img{width:76px;height:52px;object-fit:cover;object-position:68% 72%;border-radius:7px;flex:none;background:#2c4a42}.kh-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.kh-text b{font-size:14px;letter-spacing:.3px;white-space:nowrap}.kh-text small{font-size:11px;color:#cfe0d6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kh-go{flex:none;background:#fff;color:var(--ink);border-radius:20px;padding:7px 12px;font-size:12px;font-weight:700}.kh-go span{margin-left:3px}.kh-banner:hover{background:#193e34}
.product-visual{height:auto!important;margin:10px 0 0!important;position:relative!important;top:auto!important;right:auto!important;width:100%!important;transform:none!important;display:block}.product-visual img{display:block;width:100%;height:auto;aspect-ratio:11/7;object-fit:cover;border-radius:10px;background:#dfe3da}.product-visual .sample-label{position:static;display:block;text-align:right;margin-top:4px;font-size:9px}.product-card h2{width:100%!important}
@media(max-width:760px){.kh-banner{margin:10px 12px 0;gap:9px}.kh-banner img{width:62px;height:46px}.kh-text b{font-size:12.5px;letter-spacing:0}.kh-go{padding:7px 10px}.masthead{padding:14px 16px}}
@media(max-width:360px){.kh-text b{font-size:11px}.kh-banner img{width:52px;height:40px}.kh-go{padding:6px 8px;font-size:11px}}

/* 透かしは地図の一部として常時表示し、タップやドラッグを通す。 */
.map-watermark{position:absolute;z-index:500;left:10px;right:10px;bottom:72px;text-align:center;pointer-events:none;user-select:none;color:rgba(24,61,53,.73);text-shadow:0 1px 2px #fff,0 0 5px #fff;font-size:clamp(10px,1.05vw,13px);font-weight:600;line-height:1.7}
.map-watermark small{display:block;font-size:10px;font-weight:500;letter-spacing:.4px}
.share-note{margin:10px 18px 2px;color:#5d7067;font-size:12px;line-height:1.7}
/* Native modal dialog を地図の中央に配置。位置はスクロール・リサイズ時にも追従。 */
.journey-ad{position:fixed;inset:auto;margin:0;max-width:none;padding:18px 20px;background:#f7f7f1;overflow:auto;overscroll-behavior:contain;box-shadow:0 12px 48px #123b3252}
.journey-ad::backdrop{background:#123b3229;backdrop-filter:none}
.journey-ad .dialog-close{width:44px;height:44px;top:0;right:0;color:var(--ink)}
.journey-ad .small-tag{display:block;padding-right:24px;font-size:10px}
.journey-ad h2{font-size:18px;line-height:1.55;margin:8px 0 10px}
.journey-ad figure{margin:0 0 12px}
.journey-ad figure img{display:block;width:100%;height:138px;object-fit:cover;object-position:center 65%;border-radius:9px;background:#dfe3da}
.journey-ad figcaption{font-size:10px;line-height:1.5;text-align:right;color:#5d7067;margin-top:4px}
.journey-ad .shop-button{justify-content:center;font-size:13px}
.journey-ad :focus-visible{outline:3px solid #2882b9;outline-offset:2px}
@media(max-width:760px){.share-note{margin:8px 14px 2px;font-size:11px}.journey-ad{padding:16px}.journey-ad h2{font-size:17px}.journey-ad figure img{height:110px}.map-watermark{left:8px;right:8px;font-size:10px;bottom:72px}}
@media(max-width:760px) and (max-height:700px){.journey-ad figure img{height:74px}}
@media(prefers-reduced-motion:reduce){.journey-ad,.journey-ad::backdrop{animation:none!important;transition:none!important}}

/* 「この場所は○○ナンバー」のカードは非表示（地図上部の小さな表示は残す）2026-10-11 */
.local-card{display:none!important}

/* 3時間到達時の広告：大きく・写真を切らずに・大きさが伝わるように（2026-10-11） */
.journey-ad{padding:20px 20px 18px!important;border-radius:18px}
.journey-ad h2{font-size:20px!important;margin:6px 0 12px}
.journey-ad figure img{height:auto!important;aspect-ratio:3/2;object-fit:cover;object-position:50% 50%}
.journey-ad-points{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:7px}
.journey-ad-points li{font-size:12.5px;line-height:1.55;color:var(--ink);padding-left:16px;position:relative}
.journey-ad-points li:before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--mint)}
.journey-ad .shop-button{font-size:15px!important;min-height:52px}
@media(max-height:700px){.journey-ad figure img{aspect-ratio:2/1}}
.journey-ad-fig{position:relative}
.journey-ad-zoom{position:absolute;right:10px;top:10px;width:40%;aspect-ratio:1;border-radius:50%;border:4px solid #fff;box-shadow:0 6px 18px #0005;background-size:400%;background-repeat:no-repeat;background-color:#555}
.journey-ad-zoom i{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);background:#fff;color:var(--ink);font:700 10px/1 "Noto Sans JP",sans-serif;font-style:normal;padding:4px 8px;border-radius:10px;white-space:nowrap}

/* 配置：ツールバー → タイムバー → バナー → 地図（2026-10-11） */
.map-panel .kh-banner{margin:2px 14px 12px!important;max-width:none}
.map-panel .timeline{padding-top:2px}
.map-panel .status-line{padding-top:4px;min-height:30px}
.map-panel .kh-text b{white-space:normal;line-height:1.35}

/* ===== 見た目をシンプルに（AIっぽさを抑える）2026-10-11 =====
   方針：白背景・黒文字・色は濃い緑1色だけ、影とグラデーションの装飾をやめる、角丸は小さく、
   英字の小見出しや字間の広いキャッチをやめる、文字はOS標準の日本語フォント */
:root{--ink:#1c1c1c;--muted:#5f5f5f;--paper:#fff;--line:#d9d9d9;--green:#1f5a44;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif!important}
html,body{background:#fff}
h1,h2,strong,b{letter-spacing:0!important}
.masthead{padding:12px 20px!important;border-bottom:1px solid var(--line)}
.brand{font-size:15px;font-weight:700;letter-spacing:0}
.edition{border:0;padding:0;color:var(--muted);font-size:11px}
.intro{padding:18px 0 14px!important}
h1{font-size:26px!important;line-height:1.3!important;font-weight:700!important}
.lead{position:static!important;text-align:left!important;font-size:13px!important;color:var(--muted);margin-top:6px!important}
.map-panel,.product-card,.local-card,.journey-ad,dialog{border-radius:6px!important;box-shadow:none!important}
.map-panel{border:1px solid var(--line)!important}
.product-card{background:#fff!important;border:1px solid var(--line)!important}
.kh-banner{border-radius:6px!important;box-shadow:none!important;background:var(--green)!important}
.kh-banner img{border-radius:3px!important}
.kh-go{border-radius:4px!important}
.shop-button{border-radius:4px!important;background:var(--green)!important}
.icon-button{border-radius:4px!important;background:#fff!important}
.compact-plate{border-radius:4px!important}
.map-tip{border-radius:4px!important;box-shadow:none!important;border:1px solid var(--line);font-size:12px}
.locate-button{border-radius:4px!important;box-shadow:none!important}
.overline{letter-spacing:0!important;font-size:11px!important}
.journey-ad{border:1px solid var(--line)!important}
.journey-ad::backdrop{background:#0006!important}
.journey-ad .small-tag{letter-spacing:0;color:var(--muted)}
.journey-ad-points li:before{background:var(--green)!important;border-radius:0!important;width:6px!important;height:6px!important}
.journey-ad-zoom{box-shadow:none!important;border:3px solid #fff!important;outline:1px solid #0003}
.footnotes{color:var(--muted)}
footer{letter-spacing:0!important}
.footer-brand{letter-spacing:0!important;font-weight:700}
.kh-banner img,.map-panel .kh-banner img{width:112px!important;height:56px!important;object-fit:cover;object-position:center}
