:root{--ink:#17251f;--forest:#173a2d;--deep:#0d2a21;--gold:#b89b62;--paper:#f5f1e7;--line:rgba(37,56,46,.18)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fffdf8;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.9}a{color:inherit}.wrap{width:min(1080px,calc(100% - 42px));margin:auto}.header{background:#fff;border-bottom:1px solid var(--line)}.head{height:94px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none}.brand small{display:block;font-size:10px;letter-spacing:.3em;color:#777}.brand strong{font-size:24px;font-weight:500;letter-spacing:.08em}.back{font:12px "Yu Gothic",sans-serif;text-decoration:none;color:#6f654d}.nav{background:var(--deep)}.nav .wrap{display:flex;overflow:auto}.nav a{color:#fff;text-decoration:none;font:12px "Yu Gothic",sans-serif;letter-spacing:.08em;padding:13px 18px;white-space:nowrap}.nav a.current{background:rgba(255,255,255,.1);border-bottom:2px solid var(--gold)}.hero{background:linear-gradient(120deg,rgba(8,35,28,.96),rgba(32,66,54,.84));color:#fff;padding:86px 0 80px}.hero .eyebrow{font:11px Georgia,serif;letter-spacing:.32em;color:#dbc99c}.hero h1{font-size:clamp(36px,5vw,58px);font-weight:500;letter-spacing:.08em;line-height:1.4;margin:10px 0 18px}.hero p{max-width:720px;color:rgba(255,255,255,.8);margin:0}.main{padding:78px 0 100px}.title{margin-bottom:34px}.title small{font:10px Georgia,serif;letter-spacing:.3em;color:#977c49}.title h2{font-size:32px;font-weight:500;margin:5px 0}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{display:block;text-decoration:none;border:1px solid var(--line);background:#fff;overflow:hidden;transition:.25s}.card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.08)}.photo{height:230px;background:linear-gradient(135deg,#6e8a7d,#d5c49b);display:flex;align-items:flex-end;padding:22px;color:white}.photo span{font:11px Georgia,serif;letter-spacing:.2em}.body{padding:26px}.body h3{font-size:25px;font-weight:500;margin:0 0 8px}.body p{font-size:14px;color:#66736c;margin:0}.meta{margin-top:18px;font:11px "Yu Gothic",sans-serif;color:#8a7751}.footer{background:#091e17;color:rgba(255,255,255,.65);padding:45px 0;font-size:11px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:35px 0 50px}.summary div{background:var(--paper);padding:20px 15px;text-align:center}.summary b{display:block;font-size:18px;font-weight:500}.summary span{font-size:11px;color:#746b58}.day{margin:0 0 55px;border-top:3px solid var(--forest);background:#fff}.dayhead{padding:24px 28px;background:#f3eee2}.dayhead small{font:10px Georgia,serif;letter-spacing:.25em;color:#927847}.dayhead h2{font-size:27px;font-weight:500;margin:3px 0}.dayhead p{margin:4px 0 0;font-size:13px;color:#68736d}.stops{padding:5px 28px 24px}.stop{display:grid;grid-template-columns:95px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.stop:last-child{border:0}.time{font:12px Georgia,serif;color:#8a7751}.stop h3{font-size:19px;font-weight:500;margin:0 0 4px}.stop p{font-size:13px;color:#67736c;margin:0}.mapbtn{display:inline-block;margin-top:9px;text-decoration:none;font:11px "Yu Gothic",sans-serif;padding:7px 11px;border:1px solid #a99466;color:#765f32}.note{background:#f5f1e7;border-left:3px solid var(--gold);padding:18px 22px;font-size:13px;margin:25px 0}.toplink{display:inline-block;margin-top:10px;font-size:13px;color:#806a3e}@media(max-width:720px){.head{height:80px}.brand strong{font-size:19px}.back{display:none}.hero{padding:62px 0}.main{padding:55px 0}.cards{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr}.stop{grid-template-columns:70px 1fr;gap:12px}.stops{padding-left:18px;padding-right:18px}.dayhead{padding:21px 18px}}
.routebox{margin:0 0 28px;padding:28px 30px;border:1px solid var(--line);background:#fff}.routebox h2,.check h2{font-size:24px;font-weight:500;margin:0 0 15px}.routebox p{margin:8px 0;font-size:13px}.routebox p b{display:inline-block;width:62px;color:#8a7040}.mapbtn.strong{background:var(--forest);border-color:var(--forest);color:#fff;margin-top:16px}.actions{display:flex;flex-wrap:wrap;gap:8px}.stop.stay{background:#faf6eb;margin:0 -12px;padding-left:12px;padding-right:12px}.check{margin:60px 0 35px;padding:28px;background:#f3eee2}.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkgrid div{background:#fff;padding:16px}.checkgrid b{display:block;color:#806a3e;font-size:12px}.checkgrid span{font-size:12px;color:#5e6a64}@media(max-width:720px){.routebox{padding:21px 18px}.check{padding:20px 16px}.checkgrid{grid-template-columns:1fr}.routebox p b{display:block;width:auto}.actions{gap:4px}}
.photohero{display:grid;grid-template-columns:repeat(3,1fr);height:250px;overflow:hidden}.photohero img{width:100%;height:100%;object-fit:cover}.spotphoto{width:100%;max-width:650px;height:280px;object-fit:cover;margin:0 0 16px;border-radius:2px}.mapsection,.daymap,.credits{margin:28px 0;padding:24px;border:1px solid var(--line);background:#fff}.mapsection h2,.daymap h3,.credits h2{font-weight:500;margin:0 0 8px}.route-map{height:430px;margin-top:16px;z-index:1}.route-map.small{height:330px}.meal{background:#f7f3e8;margin:0 -12px;padding-left:12px;padding-right:12px}.meal h3:before{content:"昼食　";font:10px "Yu Gothic",sans-serif;color:#927847;letter-spacing:.12em}.sub{margin-top:8px!important}.credits p{font-size:11px;color:#69736e}.daymap{margin:22px 0 8px;background:#faf8f2}@media(max-width:720px){.photohero{height:150px}.spotphoto{height:210px}.route-map{height:340px}.route-map.small{height:290px}.mapsection,.daymap,.credits{padding:17px 14px}}
/* 2026-09 travel-use upgrade */
.quicknav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #ddd;padding:8px 0}.quicknav .wrap{display:flex;gap:7px;overflow-x:auto;white-space:nowrap}.quicknav a{display:inline-block;padding:9px 12px;border-radius:999px;background:#f2efe8;color:#24352d;text-decoration:none;font-weight:700;font-size:.88rem}.todaycard,.decision,.emergency,.practical{margin:22px 0;padding:20px;border-radius:16px;background:#f7f5ef;border:1px solid #ded8c9}.todaycard h2,.decision h2,.emergency h2,.practical h2{margin-top:0}.dayfacts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.dayfacts div{background:#fff;padding:12px;border-radius:12px}.dayfacts span{display:block;font-size:.78rem;color:#666}.dayfacts b{display:block;margin-top:3px}.urgent{background:#fff2df;border-left:5px solid #b66b22;padding:12px 14px;margin:12px 0}.ok{background:#edf6ee;border-left:5px solid #3f7650;padding:12px 14px;margin:12px 0}.choicegrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choicegrid>div{background:#fff;padding:14px;border-radius:12px}.smallnote{font-size:.85rem;color:#666}.route-map{min-height:360px}.route-map.small{min-height:280px}.mapgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.telbtn{display:inline-block;padding:10px 14px;border-radius:8px;background:#333;color:#fff;text-decoration:none;margin:4px}.fixed-actions{position:fixed;right:12px;bottom:12px;z-index:60;display:flex;flex-direction:column;gap:7px}.fixed-actions a{box-shadow:0 3px 12px #0003}.statusbadge{display:inline-block;background:#244d3d;color:white;border-radius:999px;padding:4px 10px;font-size:.8rem}.weatherbox{padding:12px;background:#eef4f7;border-radius:10px}.friend-note{background:#fff;border:2px dashed #b9ad8f;padding:15px;border-radius:12px}.friend-note h3{margin-top:0}@media(max-width:760px){.dayfacts,.choicegrid,.mapgrid{grid-template-columns:1fr 1fr}.quicknav{top:0}.fixed-actions{right:8px;bottom:8px}.fixed-actions .mapbtn{font-size:.78rem;padding:8px 10px}}@media(max-width:480px){.dayfacts,.choicegrid,.mapgrid{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr}.stop{grid-template-columns:68px 1fr}.spotphoto{max-height:220px;object-fit:cover}}
.routeplan{margin:28px 0;padding:22px;background:#fff;border:1px solid #ddd;border-radius:14px}.routeplan h2{margin-top:0}.routetable{width:100%;border-collapse:collapse;font-size:.93rem}.routetable th,.routetable td{padding:10px 8px;border-bottom:1px solid #e5e5e5;vertical-align:top;text-align:left}.routetable th{background:#f6f3ed}.navset{display:inline-block;margin-top:6px;font-weight:700}.hotel-confirmed{border:2px solid #a67c35;background:#fffaf0}.parkingbox{margin:8px 0;padding:10px 12px;background:#f5f7f4;border-left:4px solid #64745d}.routewarn{padding:12px 14px;background:#fff4dd;border-radius:10px;margin:12px 0}.daytotal{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.daytotal span{background:#eef2ee;border-radius:999px;padding:7px 11px;font-size:.9rem}.route-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}@media(max-width:700px){.routetable{font-size:.82rem}.routetable th,.routetable td{padding:8px 5px}.routeplan{padding:14px;overflow-x:auto}}
