:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#17354d;background:#f6f8fa}*{box-sizing:border-box}body{margin:0}a{color:#145d8a}header{background:#14334b;color:#fff;padding:12px 16px}header .wrap,footer .wrap{max-width:1100px;margin:auto;display:flex;justify-content:space-between;gap:12px}header a{color:#fff;text-decoration:none;font-weight:800}header .top-link{font-size:.8rem}main{max-width:1100px;margin:auto;padding:16px}.crumb{font-size:.82rem;margin-bottom:14px}.hero{background:#fff;border-top:4px solid #2a6891;padding:17px;box-shadow:0 2px 9px #d6e0e8}.eyebrow{color:#87516c;font-size:.72rem;letter-spacing:.14em;font-weight:800;margin:0 0 5px}h1{font-size:clamp(1.4rem,4vw,2rem);margin:0 0 5px}.hero p:last-child{margin:0;line-height:1.5;font-size:.84rem}.hero strong{color:#98264f}.station{display:grid;grid-template-columns:1fr 110px 1fr;align-items:stretch;gap:8px;margin:13px 0}.station>div{background:#eaf2f7;border:1px solid #bbd1de;padding:10px;min-height:78px}.station strong{display:block}.station small{display:block;margin-top:4px;line-height:1.4}.station .center{background:#183f5b;color:white;text-align:center;display:grid;place-content:center}.station .center small{color:#e3eef4}.station-note{font-size:.72rem;color:#5a7182;margin:0 0 14px}.filters{background:#fff;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:8px;align-items:end;border:1px solid #d7e2e9}label{font-size:.76rem;font-weight:800}input,select{display:block;width:100%;padding:10px;margin-top:4px;border:1px solid #b8ccd9;border-radius:3px;font:inherit;font-size:.85rem}button{padding:10px 14px;background:#fff;border:1px solid #8aaabf;color:#174562;font-weight:800;cursor:pointer}.result{font-size:.78rem;color:#486579;margin:10px 0}h2{font-size:1.15rem;margin:18px 0 9px}.shops{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0}.shop{background:#fff;border:1px solid #d8e4ea;border-left:3px solid #437ea0;padding:12px}.shop[hidden]{display:none}.shop-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.shop h3{font-size:.99rem;margin:0}.shop-title span{background:#eef4f8;color:#41617a;font-size:.67rem;padding:2px 5px}.shop p{font-size:.75rem;color:#597082;margin:5px 0 10px}.shop-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.shop-actions a{font-size:.74rem;font-weight:800}.shop-actions .official{display:inline-block;background:#1e608a;color:#fff;text-decoration:none;padding:8px 10px;border-radius:3px}.shop small{display:block;font-size:.67rem;color:#627c8e;margin-top:9px}.empty,.criteria{padding:16px;background:#fff}.criteria p{font-size:.8rem;line-height:1.6}footer{margin-top:25px;padding:18px;background:#14334b;color:#e6f0f6;font-size:.74rem}footer a{color:#fff}@media(max-width:650px){.shops{grid-template-columns:1fr}.station{grid-template-columns:1fr 80px 1fr}.station>div{padding:7px}.station small{font-size:.64rem}.filters{grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}.filters button{min-height:41px}}@media(max-width:350px){.station{grid-template-columns:1fr 68px 1fr}.station strong{font-size:.8rem}}

.price-fact{font-size:.75rem;line-height:1.5;color:#17354d;margin:6px 0 10px}.price-fact a{font-weight:700}.price-fact details{margin-top:5px;border-top:1px solid #d8e4ea;padding-top:4px}.price-fact details summary{cursor:pointer;color:#145d8a;font-weight:700}.price-fact dl{margin:6px 0}.price-fact dl>div{margin:5px 0}.price-fact dt{font-weight:700}.price-fact dd{margin:0}.price-fact small{display:inline;font-size:.65rem;margin:0}

.language-switch{position:relative;color:#fff;font-size:.75rem}.language-switch summary{cursor:pointer;list-style:none;padding:5px;border:1px solid #92b8cd;border-radius:3px}.language-switch nav{position:absolute;right:0;top:100%;z-index:5;width:max-content;max-width:min(300px,90vw);padding:8px;background:#fff;border:1px solid #b5cbd9;box-shadow:0 4px 12px #1234;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.language-switch:not([open]) nav{display:none}.language-switch nav a{color:#145d8a;padding:6px;border:1px solid #d4e1e8;border-radius:3px;text-align:center;font-weight:600}
.filters{grid-template-columns:minmax(0,1fr) 160px 160px auto}@media(max-width:650px){.filters{grid-template-columns:1fr 1fr}}
