:root{color-scheme:light;--ink:#182c35;--muted:#56666e;--blue:#163e50;--line:#d7e0e4;--paper:#f4f7f8}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-size:15px;line-height:1.8}a{color:var(--blue);text-underline-offset:4px}button,input,select{font:inherit}a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bd6a21;outline-offset:4px}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:10;background:white;padding:12px}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:1100px;margin:auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.header-brand{flex-shrink:0}.header-brand a{display:flex;align-items:center;gap:24px;min-height:44px}.header-brand a img:first-child{width:180px;height:auto}.header-brand a img:last-child{width:112px;height:auto}main{max-width:1060px;margin:auto;padding:28px 28px 32px}.intro{position:relative;isolation:isolate;overflow:hidden;background:#fff;border-radius:8px;min-height:190px}.intro::before{content:"";position:absolute;top:0;right:0;width:max(100%,540px);aspect-ratio:1280/546;min-height:100%;background:url("img/valley-map.webp") center bottom/100% auto no-repeat;z-index:-2}.intro::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,30,42,.68) 0%,rgba(9,30,42,.62) 58%,rgba(9,30,42,.2) 100%);z-index:-1}.intro-copy{max-width:78%;padding:20px 28px;color:#fff}.intro h1{font-size:32px;letter-spacing:.03em;line-height:1.4;margin:6px 0 8px}.intro-copy>p:last-child{margin:0;color:#fff}.intro .eyebrow{color:#fff}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--muted);margin:0}.sale-notice{padding:10px 14px;margin:18px 0;background:#e8eff2;border-left:3px solid var(--blue);font-size:13px}.selector{background:white;padding:18px;border:1px solid var(--line);border-radius:8px}.selector h2{font-size:17px;margin:0 0 14px}fieldset{border:0;padding:0;margin:0;min-width:0}.method-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.method-options label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:6px;padding:17px;cursor:pointer}.method-options label:has(input:checked){border:2px solid var(--blue);padding:16px;background:#f0f5f7}.method-options input{accent-color:var(--blue);width:18px;height:18px;flex-shrink:0;margin:0}.method-options strong{display:block;font-size:16px;line-height:1.6}.method-options small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.method-description{font-size:13px;color:var(--muted);margin:14px 0 0}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 12px}.catalog-heading h2{margin:4px 0 0;font-size:24px;line-height:1.5}.day-filter{display:flex;align-items:center;gap:10px;font-size:12px}.day-filter select{min-width:10.5em;min-height:44px;font-size:16px;padding:8px 34px 8px 12px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:4px}.age-note{font-size:12px;color:var(--muted);margin:0 0 16px}.age-note p{margin:2px 0}.age-note h3{font-size:inherit;color:var(--ink);margin:0 0 2px}.age-note .tax-note{text-align:right}.ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ticket-card{padding:16px;background:white;border:1px solid var(--line);border-radius:8px}.ticket-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.ticket-heading h3{font-size:27px;line-height:1.3;margin:0;font-weight:700}.method-tag{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:2px 7px}.validity{font-size:12px;color:var(--muted);margin:6px 0 10px}.prices{margin:0}.prices>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:2px 0}.prices dt{font-size:13px;color:var(--muted)}.prices dd{font-size:23px;font-weight:700;letter-spacing:-.02em;margin:0;font-variant-numeric:tabular-nums}.prices>div+div dd{font-size:19px}.ticket-status{margin:12px 0 0;padding:7px;background:#edf1f3;text-align:center;color:#52636c;font-size:13px;font-weight:700;border-radius:4px}.usage{margin-top:38px}.usage h2{font-size:21px;margin:0 0 15px}.usage details{border-top:1px solid var(--line);padding:16px 0}.usage summary{cursor:pointer;font-weight:600;min-height:28px}.usage details p{font-size:13px;color:var(--muted);max-width:800px;margin:12px 0 0}.text-link{display:inline-block;font-size:13px;margin-top:12px}.cg-guidance{border-top:1px solid var(--line)}
@media(max-width:760px){.header-inner{padding:10px 20px}.header-brand a{flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}.header-brand a img:first-child{width:145px}.header-brand a img:last-child{width:100px}main{padding:28px 20px}.intro{min-height:170px;display:flex;align-items:center}.intro-copy{max-width:none;padding:16px 20px}.intro::after{background:rgba(9,30,42,.60)}.intro h1{font-size:28px}.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-heading{align-items:start}.day-filter{display:block}.day-filter select{display:block}.method-options strong{font-size:14px}.selector{padding:18px}.method-options label{padding:12px;gap:8px}.method-options label:has(input:checked){padding:11px}.ticket-card{padding:16px}}
@media(max-width:480px){main{padding:16px 16px 24px}.header-inner{padding:10px 16px;gap:8px}.header-brand a img:first-child{width:136px}.intro-copy{padding:16px}.intro h1{font-size:27px}.intro-copy>p:last-child{font-size:13px}.sale-notice{font-size:12px;margin:8px 0;padding:8px 12px}.selector{padding:12px}.selector h2{font-size:16px;line-height:1.5;margin-bottom:10px}.method-description{font-size:12px;line-height:1.7;margin-top:10px}.method-options{gap:8px;grid-template-columns:1fr}.method-options label{padding:8px 12px;min-height:60px}.method-options label:has(input:checked){padding:7px 11px}.method-options small{margin-top:0}.method-options span{display:flex;gap:3px;flex-direction:column}.catalog-heading{margin-top:10px;gap:8px;flex-direction:column;align-items:stretch}.catalog-heading h2{font-size:22px}.day-filter{font-size:11px;display:flex;align-items:center;justify-content:space-between}.day-filter select{font-size:16px;max-width:none;padding-left:8px}.age-note{font-size:11px}.ticket-grid{grid-template-columns:1fr;gap:10px}.ticket-card{padding:14px 16px}.ticket-heading h3{font-size:25px}.validity{margin:6px 0 8px}.prices{display:grid;grid-template-columns:1fr 1fr;gap:15px}.prices>div{display:block}.prices dd,.prices>div+div dd{font-size:24px}.ticket-status{margin-top:10px}.usage h2{font-size:19px}}
@media(max-width:360px){.prices dd,.prices>div+div dd{font-size:21px;white-space:nowrap}}
.language-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.language-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:4px 12px;text-decoration:none;font-size:13px;border-radius:4px}.language-nav a[aria-current="page"]{background:var(--blue);color:white;font-weight:700}.sale-notice:empty{display:none}html[lang="en"] .ticket-heading h3{font-size:24px}html[lang="en"] .method-tag{flex-shrink:0}html[lang="en"] .catalog-heading{flex-wrap:wrap}html[lang="en"] .cg-guidance a.cg-btn{height:auto;min-height:48px;padding:10px 12px}
@media(max-width:760px){html[lang="en"] .method-options{grid-template-columns:1fr}}
@media(max-width:480px){.language-nav a{padding:4px 9px;font-size:12px}html[lang="en"] .intro h1{font-size:27px}html[lang="en"] .ticket-heading h3{font-size:25px}}

.resort-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;padding-left:20px;margin:12px 0;font-size:13px;color:var(--muted)}
@media(max-width:480px){.resort-list{grid-template-columns:1fr}}

.purchased-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0 0 12px;padding:8px 12px;border:1px solid var(--blue);border-radius:4px;background:#fff;font-size:13px;font-weight:600;text-align:center;text-decoration:none}.purchased-link:hover{background:#e8eff2}

a.ticket-status{display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--blue);color:#fff;text-decoration:none}a.ticket-status:hover{background:#21576c}
.sale-notice:empty+.selector{margin-top:12px}

.intro-logo{display:block;width:220px;max-width:100%;height:auto;margin-bottom:8px}
@media(max-width:480px){.intro-logo{width:200px}.intro .eyebrow{font-size:10px}.intro h1{margin-top:4px}}
