:root{--green:#389b5a;--ink:#141513;--paper:#fff;--wash:#f7f8f4;--yellow:#f6e775;--line:#cdd4cd}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Zen Kaku Gothic New',Meiryo,sans-serif;font-weight:500}a{color:#2c7d48;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}a,button,input,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:12px;z-index:50}.skip:focus{top:10px}.header{max-width:1160px;margin:auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:160px;height:70px;object-fit:contain}.header a:last-child{font-size:14px;font-weight:900;text-decoration:none}.wrap{max-width:1160px;margin:auto;padding:0 32px}.hero{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:38px 0 0;overflow:hidden;background:var(--wash)}.hero-top{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center}.eyebrow{font-family:Montserrat,Arial,sans-serif;letter-spacing:2px;font-size:12px;font-weight:800;color:var(--green);margin:0 0 14px}.hero h1{font-size:clamp(34px,5vw,60px);line-height:1.3;letter-spacing:-2px;margin:0;font-weight:900}.hero h1 span{color:var(--green)}.lead{font-size:16px;line-height:1.8;margin:18px 0 20px}.date{font-family:Montserrat,Arial,sans-serif;font-size:30px;line-height:1.3;font-weight:800;letter-spacing:1px;margin:0}.date small{font-size:14px;letter-spacing:0;margin-left:8px}.event-meta{font-size:15px;line-height:1.8;margin:8px 0}.event-meta b{background:var(--yellow);padding:3px 10px;display:inline-block}.hero-crew{width:100%;height:210px;object-fit:contain;object-position:center bottom}.hero-bottom{border-top:1px solid var(--line);padding:16px 0;margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.hero-bottom p{margin:0;font-size:14px;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);border-radius:24px;background:white;color:var(--ink);padding:11px 19px;text-decoration:none;font-weight:900;font-size:14px;line-height:1.5;min-height:46px}.btn.green{background:var(--green);color:white}.btn.black{background:var(--ink);color:white}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:2px solid var(--ink);display:flex;justify-content:center;gap:24px;padding:14px 18px;overflow:auto}.nav a{flex-shrink:0;font-weight:900;font-size:14px;color:var(--ink);text-decoration:none}.section{padding:64px 0;border-bottom:1px solid var(--line)}.section h2{font-size:clamp(27px,3.4vw,38px);line-height:1.45;letter-spacing:-1px;margin:0 0 14px;font-weight:900}.intro{max-width:760px;margin:0 0 28px;font-size:15px;line-height:1.9}.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px}.panel{border:2px solid var(--ink);border-radius:22px;padding:26px;background:#fff}.panel h3{font-size:23px;line-height:1.4;font-weight:900;margin:0 0 16px}.share-card{background:var(--wash)}.share-card img{max-width:230px;width:100%;height:170px;object-fit:contain;float:right;margin:0 0 15px 15px}.share-card p{font-size:16px;line-height:1.9;margin:0}.caption{font-size:13px;line-height:1.8;margin:13px 0 0;color:#49544b}.notice{font-size:14px;line-height:1.8;padding:12px 16px;background:var(--wash);border-left:5px solid var(--green);margin:16px 0}.status{min-height:25px;font-size:14px;line-height:1.8;margin:8px 0}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.route-card{border-top:7px solid var(--green);background:var(--wash);padding:26px 22px;min-width:0}.route-card img{height:170px;width:100%;object-fit:contain}.route-card h3{font-size:25px;line-height:1.4;font-weight:900;margin:14px 0}.route-card p{font-size:14px;line-height:1.85;margin:0 0 16px}.route-card ol{padding-left:22px;font-size:15px;line-height:1.8}.route-card li{padding:6px 0}.route-card .btn{width:100%}.spots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.spot{border:1px solid var(--line);padding:19px;background:#fff;border-radius:12px;display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--ink)}.spot img{width:72px;height:72px;object-fit:contain;flex-shrink:0}.spot span{font-weight:900;font-size:17px;line-height:1.6}.spot small{display:block;font-size:12px;font-weight:500;color:#49544b}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{min-width:0}.field>label{display:block;font-size:14px;font-weight:900;margin-bottom:7px}.field select,.field input{border:1px solid #89968c;border-radius:8px;background:#fff;padding:11px;width:100%;min-height:46px;color:var(--ink)}.checks{border:0;margin:18px 0;padding:0}.checks legend{font-size:14px;font-weight:900;margin-bottom:8px}.checkrow{display:grid;grid-template-columns:1fr 130px;gap:14px;align-items:center;margin:10px 0;padding:13px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.7}.checkrow select{width:100%;min-height:46px;border:1px solid #89968c;border-radius:8px;padding:7px;background:white}.result{background:var(--wash);border:2px solid var(--green);padding:18px;border-radius:12px;line-height:1.85;font-size:15px}.result[data-state=no]{border-color:#b4412f}.result strong{display:block;font-size:18px;margin-bottom:8px}.exclusions{line-height:1.85;font-size:14px}.exclusions summary{font-weight:900;cursor:pointer;padding:12px 0}.packing{padding:0;list-style:none;margin:0}.packing li{border-top:1px solid var(--line);padding:13px 0}.packing label{display:flex;gap:12px;align-items:flex-start;line-height:1.8;font-size:14px}.packing input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0;margin-top:4px}.packing input:checked+span{text-decoration:line-through;color:#687069}.report-empty{display:grid;grid-template-columns:160px 1fr;gap:26px;align-items:center;background:var(--wash);padding:28px;border-radius:20px}.report-empty img{width:160px;height:160px;object-fit:contain}.report-empty h3{margin:0 0 12px;font-size:25px}.report-empty p{margin:0;line-height:1.9}.report-metrics{display:flex;gap:30px;flex-wrap:wrap}.report-metrics strong{display:block;font-size:40px;color:var(--green)}.report-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-photos img{max-width:100%;height:auto}.footer{padding:30px 0 90px;line-height:1.9;font-size:12px}.footer a{margin-right:14px}.quiet{color:#49544b}.route-card:target,.section:target{outline:3px solid #389b5a20;outline-offset:6px}.print-title{display:none}@media(max-width:760px){.wrap{padding:0 20px}.header{padding:14px 20px;gap:16px}.brand img{width:125px;height:57px}.header a:last-child{font-size:12px}.hero{padding-top:28px}.hero-top{grid-template-columns:1fr;gap:12px}.hero h1{font-size:40px}.hero-crew{height:135px}.date{font-size:26px}.hero-bottom{display:block;margin-top:12px}.hero-bottom .btn{margin-top:14px}.nav{justify-content:flex-start;gap:23px;font-size:13px;padding:15px 20px}.section{padding:42px 0}.split,.route-grid{grid-template-columns:1fr;gap:22px}.panel{padding:21px}.spots{grid-template-columns:1fr 1fr;gap:10px}.spot{padding:13px;display:block}.spot img{width:60px;height:60px}.spot span{display:block;font-size:16px}.route-card img{height:155px}.formgrid{gap:12px}.checkrow{grid-template-columns:1fr 105px;gap:10px}.report-empty{grid-template-columns:1fr;padding:22px;gap:12px}.report-empty img{width:115px;height:115px}.share-card img{width:125px;height:115px;margin-left:9px}.actions .btn{max-width:100%;}.date small{display:block;margin:7px 0 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}@media print{.header,.hero,.nav,#share,#routes,#day,#report,.footer,.checker,.actions,.caption{display:none!important}#donate{border:0;padding:0}.split{display:block}.panel{border:0;padding:0}.print-title{display:block}body{background:white}#donate h2{font-size:28px}.packing label{font-size:16px}.exclusions{display:block}.exclusions p{display:block}.notice{background:white}}
