:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif;background:#d7ded8;color:#17211f}*{box-sizing:border-box}html{min-height:100%;overflow-x:hidden}body{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;margin:0;background:#d7ded8;overflow-x:hidden}.home-page{overflow:hidden}a,a:visited{color:inherit}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;width:min(1120px,calc(100% - 32px));min-height:64px;margin:0 auto;backdrop-filter:blur(14px)}.site-header__brand{display:inline-flex;gap:8px;align-items:center;min-width:0;font-weight:900;text-decoration:none}.site-header__brand-icon{width:28px;height:28px;flex:0 0 auto;border-radius:8px}.site-header__nav{display:flex;gap:8px;align-items:center}.site-header__actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;min-width:0;margin-left:auto}.site-header__nav a,.text-link{color:#334643;font-size:.95rem;font-weight:700;text-decoration-color:#3346434d;text-underline-offset:4px}.site-header__nav a{padding:10px 12px}.site-search{display:flex;gap:8px;align-items:center;justify-content:flex-end;min-width:40px}.site-search__field{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;width:0;overflow:hidden;border:1px solid rgba(23,33,31,.14);border-radius:8px;background:#ffffffc2;box-shadow:0 10px 24px #17211f12;opacity:0;pointer-events:none;transform:translate(10px);transition:width .18s ease,opacity .14s ease,transform .18s ease}.site-search--open .site-search__field{width:min(180px,32vw);opacity:1;pointer-events:auto;transform:translate(0)}.site-search__field input{min-width:0;height:38px;padding:0 10px 0 12px;border:0;background:transparent;color:#17211f;font:inherit;font-size:.92rem;outline:0}.site-search__field input::placeholder{color:#6a7a76}.site-search__toggle,.site-search__submit{display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(23,33,31,.14);border-radius:8px;background:#ffffff9e;color:#334643;cursor:pointer}.site-search__toggle{width:40px;height:40px}.site-search__submit{width:34px;height:34px;margin-right:2px;border-color:#1d5d6433;background:#1d5d6414;color:#1d5d64}.site-search__toggle svg,.site-search__submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.site-search__toggle:hover,.site-search__toggle:focus-visible,.site-search__submit:hover,.site-search__submit:focus-visible{background:#ffffffe6;outline:2px solid rgba(29,93,100,.22);outline-offset:2px}.site-shell{flex:1 0 auto;width:min(1120px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.home-page .site-shell{display:grid;align-items:stretch;flex:1 1 0;min-height:0;width:min(1240px,calc(100% - 32px));padding:8px 0}.home-hero{display:grid;gap:0;align-items:start;max-width:680px}.home-hero__copy,.home-region-guide,.home-map-navigation,.home-map-navigation__map{min-width:0}.eyebrow{margin:0 0 18px;color:#4d6b65;font-size:.84rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1{max-width:720px;margin:0;font-size:5.4rem;line-height:.95;letter-spacing:0}.home-hero__title{font-size:clamp(4.4rem,7.2vw,6.4rem);overflow-wrap:keep-all;word-break:keep-all;line-break:strict}.home-hero__lead{max-width:560px;margin:14px 0 0;color:#334643;font-size:1.1rem;line-height:1.62;overflow-wrap:anywhere}.home-hero-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;width:min(560px,100%);margin:20px 0 0;padding:4px;border:1px solid rgba(23,33,31,.14);border-radius:11px;background:#ffffffc7;box-shadow:0 13px 28px #17211f1a}.home-hero-search input{min-width:0;height:37px;padding:0 12px;border:0;background:transparent;color:#17211f;font:inherit;font-size:.94rem;font-weight:700;outline:0}.home-hero-search input::placeholder{color:#6a7a76;font-weight:600}.home-hero-search button{display:inline-grid;place-items:center;width:42px;height:37px;padding:0;border:0;border-radius:8px;background:#1d5d64;color:#fff;cursor:pointer;font:inherit;font-size:.92rem;font-weight:900;letter-spacing:.04em;transition:background .15s ease,transform .15s ease}.home-hero-search button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.home-hero-search button:hover,.home-hero-search button:focus-visible{background:#174b51;outline:2px solid rgba(29,93,100,.24);outline-offset:2px;transform:translateY(-1px)}.home-quick-tags{display:grid;width:min(560px,100%);margin:10px 0 0}.home-quick-tags__list{display:flex;flex-wrap:wrap;gap:8px}.home-quick-tag{--chip-bg: rgba(255, 255, 255, .68);--chip-border-hover: rgba(29, 93, 100, .28);--chip-shadow: rgba(23, 33, 31, .08);display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid rgba(23,33,31,.12);border-radius:999px;background:var(--chip-bg);box-shadow:0 8px 16px var(--chip-shadow);color:#17211f;font-size:.84rem;font-weight:900;line-height:1;text-decoration:none;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.home-quick-tag--learn{--chip-bg: rgba(230, 250, 241, .82);--chip-border-hover: rgba(29, 122, 104, .32);--chip-shadow: rgba(39, 141, 118, .12)}.home-quick-tag--trip{--chip-bg: rgba(255, 242, 218, .86);--chip-border-hover: rgba(176, 106, 34, .32);--chip-shadow: rgba(200, 128, 43, .12)}.home-quick-tag--powder{--chip-bg: rgba(225, 244, 252, .86);--chip-border-hover: rgba(47, 111, 148, .32);--chip-shadow: rgba(65, 142, 181, .12)}.home-quick-tag:hover,.home-quick-tag:focus-visible{background:#ffffffeb;border-color:var(--chip-border-hover);box-shadow:0 12px 20px var(--chip-shadow);outline:0;transform:translateY(-1px)}.home-hero__stat{display:inline-flex;align-items:center;margin:10px 0 0 2px;color:#6a7a76;font-size:.82rem;font-weight:800;letter-spacing:.04em}.home-map-navigation{--home-map-content-shift: clamp(36px, 5vw, 72px);position:relative;display:grid;align-items:stretch;width:100%;height:100%;min-height:0}.home-map-navigation .home-hero{position:absolute;top:0;left:var(--home-map-content-shift);z-index:2}.home-map-navigation__map{position:relative;display:grid;place-items:center;min-height:0;padding:0}.home-map-navigation__hint{display:none;margin:0;color:#526660;font-size:.85rem;font-weight:800;letter-spacing:.02em;text-align:center}.home-region-guide{display:none;gap:10px;padding:4px 0}.home-region-guide__heading{display:grid;gap:6px}.home-region-guide__heading .eyebrow{margin:0}.home-region-guide__heading h2{margin:0;color:#17211f;font-size:1.22rem;line-height:1.25}.home-region-guide__list{display:grid;gap:7px}.region-strip{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px;align-items:center;width:100%;min-width:0;min-height:42px;padding:0 14px;border:1px solid rgba(23,33,31,.14);border-radius:8px;background:#ffffffc7;box-shadow:0 10px 34px #17211f14;color:inherit;text-decoration:none;transform:translate(calc(var(--index) * -8px))}.region-strip__name{white-space:nowrap}.region-strip__meta{display:inline-flex;min-width:0;overflow:hidden;justify-content:flex-end;gap:6px;text-align:right;white-space:nowrap}.region-strip__count{flex:0 0 auto}.region-strip__separator{flex:0 0 auto;color:#5266609e}.region-strip__examples{min-width:0;overflow:hidden;color:#314944;font-size:.86rem;line-height:1.28;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,255,255,.66);white-space:nowrap}.region-strip:hover,.region-strip:focus-visible{background:#fffffff0;outline:2px solid rgba(29,93,100,.22);outline-offset:2px}.region-strip__name{font-size:.98rem;font-weight:800}.region-strip__meta{color:#526660;font-size:.78rem}.region-strip--powder{--region-color: #1f8a9e;--region-fill: #74c7d3;--region-fill-hover: #43adbf;border-left:6px solid var(--region-color)}.region-strip--snow{--region-color: #4b77be;--region-fill: #9cb8e5;--region-fill-hover: #6f95d3;border-left:6px solid var(--region-color)}.region-strip--access{--region-color: #d94f3d;--region-fill: #ee9a8e;--region-fill-hover: #e56f60;border-left:6px solid var(--region-color)}.region-strip--coast{--region-color: #2e9d62;--region-fill: #84d1a4;--region-fill-hover: #55b97f;border-left:6px solid var(--region-color)}.region-strip--alps{--region-color: #7c5cc4;--region-fill: #b7a5e2;--region-fill-hover: #967bd3;border-left:6px solid var(--region-color)}.region-strip--weekend{--region-color: #c8891f;--region-fill: #e5bf6c;--region-fill-hover: #d9a23b;border-left:6px solid var(--region-color)}.region-strip--south{--region-color: #c7477a;--region-fill: #e797b9;--region-fill-hover: #d96a99;border-left:6px solid var(--region-color)}.japan-region-map{display:block;width:min(100%,460px);height:min(58vh,560px);margin-left:auto;overflow:visible}.japan-region-map--overview{min-width:420px}.home-map-navigation .japan-region-map--overview{width:min(100%,940px);height:clamp(430px,calc(100svh - 116px),760px);margin:0 auto;transform:translate(var(--home-map-content-shift))}.home-map-hover-cards{position:absolute;right:clamp(8px,6vw,84px);bottom:clamp(8px,3vh,28px);z-index:3;width:min(341px,37.4vw);min-height:86px;pointer-events:none}.home-map-hover-card{position:absolute;inset:auto 0 0 auto;display:grid;gap:8px;width:100%;min-height:86px;padding:16px 18px 16px 16px;border:1px solid rgba(23,33,31,.14);border-left:6px solid var(--region-color);border-radius:8px;background:#ffffffe6;box-shadow:0 18px 42px #17211f24;opacity:0;transform:translateY(8px);transition:opacity .15s ease,transform .15s ease}.home-map-hover-card__name{color:#17211f;font-size:1.22rem;font-weight:900;line-height:1.15}.home-map-hover-card__meta{color:#334643;font-size:.9rem;font-weight:800;line-height:1.45}.home-map-navigation__map:has(.map-region--hokkaido:is(:hover,:focus-visible)) .home-map-hover-card--hokkaido,.home-map-navigation__map:has(.map-region--tohoku:is(:hover,:focus-visible)) .home-map-hover-card--tohoku,.home-map-navigation__map:has(.map-region--kanto:is(:hover,:focus-visible)) .home-map-hover-card--kanto-koshinetsu,.home-map-navigation__map:has(.map-region--hokuriku:is(:hover,:focus-visible)) .home-map-hover-card--hokuriku,.home-map-navigation__map:has(.map-region--chubu:is(:hover,:focus-visible)) .home-map-hover-card--chubu,.home-map-navigation__map:has(.map-region--kansai:is(:hover,:focus-visible)) .home-map-hover-card--kansai-chugoku,.home-map-navigation__map:has(.map-region--kyushu:is(:hover,:focus-visible)) .home-map-hover-card--kyushu{opacity:1;transform:translateY(0)}.japan-region-map--region{width:min(100%,360px);height:360px;opacity:.92}.map-region{color:#17211f;cursor:pointer;text-decoration:none}.map-region path{fill:var(--region-fill);stroke:#ffffffeb;stroke-linejoin:round;stroke-width:6;transform-box:fill-box;transform-origin:center;transition:fill .16s ease,filter .16s ease,stroke-width .16s ease,transform .16s ease}.map-region text,.map-region-labels text{fill:#17211f;font-size:15px;font-weight:900;pointer-events:none;text-anchor:middle}.map-region tspan+tspan,.map-region-labels tspan+tspan{fill:#334643;font-size:12px;font-weight:800}.map-region:hover path,.map-region:focus-visible path,.map-region--active path{fill:var(--region-fill-hover);filter:drop-shadow(0 12px 12px rgba(23,33,31,.18));stroke:#fff;stroke-width:7;transform:scale(1.025)}.map-region--static path{opacity:.78}.info-panel{min-width:0;min-height:150px;padding:22px;border:1px solid rgba(23,33,31,.12);border-radius:8px;background:#ffffffd1}.info-panel h2{margin:0 0 12px;font-size:1rem}.info-panel p{margin:0;color:#425552;line-height:1.75}.page-stack{display:grid;gap:24px}.page-heading{max-width:780px;padding-top:8px}.page-heading p:not(.eyebrow){color:#334643;font-size:1.08rem;line-height:1.8}.thanks-page{background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.46),transparent 30rem),linear-gradient(140deg,#d7ded8,#e7ece4 46%,#d4dedb)}.privacy-page{background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.52),transparent 26rem),linear-gradient(140deg,#dfe6df,#edf1e8 48%,#d9e0de)}.contact-page{background:radial-gradient(circle at 82% 16%,rgba(255,255,255,.5),transparent 25rem),linear-gradient(140deg,#dde5e6,#eef0e6 52%,#dbe2dd)}.about-page{background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.46),transparent 24rem),linear-gradient(145deg,#dbe4df,#edf1e8,#d6e0dc)}.thanks-shell{display:grid;gap:22px;padding-top:28px}.privacy-shell,.contact-shell,.about-shell{display:grid;gap:18px;padding-top:28px}.about-shell{align-content:start}.thanks-hero{max-width:780px;padding:8px 0 0}.thanks-title{font-size:clamp(2.7rem,8vw,5.2rem);letter-spacing:-.04em}.thanks-lead{max-width:720px;margin:24px 0 0;color:#334643;font-size:1.05rem;line-height:1.85}.privacy-hero{max-width:800px;padding:8px 0 0}.privacy-hero p:not(.eyebrow){color:#334643;font-size:1.05rem;line-height:1.85}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-hero{max-width:820px;padding:8px 0 0}.contact-hero p:not(.eyebrow){color:#334643;font-size:1.05rem;line-height:1.85}.about-hero{max-width:840px;padding:8px 0 0}.about-hero p:not(.eyebrow){color:#334643;font-size:1.05rem;line-height:1.85}.footer-page-section{display:grid;gap:12px}.footer-page-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.footer-page-card{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr);gap:18px;align-items:start;min-height:98px;padding:18px;border:1px solid rgba(23,33,31,.1);border-radius:10px;background:#fafcf8d1;box-shadow:0 10px 24px #17211f0f;animation:thanks-card-rise .42s ease both;animation-delay:calc(var(--index) * 55ms);transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.footer-page-card--with-link{grid-template-columns:minmax(120px,150px) minmax(0,1fr) auto;align-items:center}.footer-page-card:hover,.footer-page-card:focus-within{background:#fffffff0;box-shadow:0 14px 30px #17211f1a;transform:translateY(-2px)}.footer-page-card__meta,.footer-page-card__content{min-width:0}.footer-page-card__eyebrow,.footer-page-card__title,.footer-page-card__description{margin:0}.footer-page-card__eyebrow{color:#526660;font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.footer-page-card__title{color:#17211f;font-size:1.2rem;line-height:1.35}.footer-page-card__description{margin-top:8px;color:#425552;line-height:1.65}.footer-page-card__link{display:inline-grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;border:1px solid rgba(29,93,100,.18);border-radius:999px;background:#1d5d6414;color:#1d5d64;text-decoration:none}.footer-page-card__link:hover,.footer-page-card__link:focus-visible{background:#1d5d6424;color:#123f43;outline:2px solid rgba(29,93,100,.2);outline-offset:3px}.footer-page-card__link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2;transition:transform .16s ease}.footer-page-card__link:hover svg,.footer-page-card__link:focus-visible svg{transform:translate(2px)}.contact-shell{align-content:start;gap:10px}.contact-link-list{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-start}.contact-link{display:inline-grid;width:48px;height:48px;place-items:center;border:1px solid rgba(29,93,100,.18);border-radius:999px;background:linear-gradient(145deg,#f8fffb,#e9f5ef);color:#1d5d64;box-shadow:0 10px 24px #1d5d641a;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.contact-link:hover{border-color:#1d5d6461;color:#12464d;box-shadow:0 14px 30px #1d5d6429;transform:translateY(-2px)}.contact-link:focus-visible{outline:3px solid rgba(223,126,75,.38);outline-offset:3px}.contact-link__icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.contact-link__icon [data-filled=true]{fill:currentColor;stroke:none}.thanks-note{position:relative;z-index:1;margin:16px 2px 0;color:#526660;font-size:.9rem;line-height:1.65}@keyframes thanks-card-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-line{font-weight:800}.resort-list-summary{display:flex;justify-content:flex-end;align-items:center;min-height:28px;color:#334643;font-weight:900}.listing-toolbar{position:relative;display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-height:40px}.listing-toolbar__link{margin-left:auto}.filter-menu{position:relative}.filter-menu__button{display:inline-flex;gap:8px;align-items:center;min-width:176px;min-height:38px;padding:7px 12px;border:1px solid rgba(23,33,31,.16);border-radius:8px;background:#ffffffc7;color:#243633;font-size:.92rem;font-weight:900;cursor:pointer;list-style:none}.filter-menu__button::-webkit-details-marker{display:none}.filter-menu__button:hover,.filter-menu__button:focus-visible{background:#fffffff5;outline:2px solid rgba(29,93,100,.2);outline-offset:2px}.filter-menu__chevron{display:inline-block;width:8px;height:8px;margin-left:auto;border-right:2px solid #526660;border-bottom:2px solid #526660;transform:translateY(-2px) rotate(45deg)}.filter-menu[open] .filter-menu__chevron{transform:translateY(2px) rotate(225deg)}.filter-menu__panel{position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:min(560px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 180px));padding:12px;overflow:hidden;border:1px solid rgba(23,33,31,.14);border-radius:8px;background:#fff;box-shadow:0 18px 48px #17211f29}.filter-menu__header,.filter-menu__footer{display:flex;gap:12px;justify-content:space-between;align-items:center}.filter-menu__header strong{color:#17211f;font-size:.96rem}.filter-menu__header span{color:#66756f;font-size:.84rem;font-weight:800}.filter-option-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 8px;min-height:0;overflow:auto;padding-right:2px}.filter-option{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;min-height:34px;padding:7px 8px;border-radius:8px;color:#334643;font-size:.92rem;font-weight:800;cursor:pointer}.filter-option:hover,.filter-option:focus-within{background:#1d5d6414}.filter-option input{width:16px;height:16px;accent-color:#1d5d64}.filter-menu__footer{position:sticky;right:0;bottom:0;padding-top:8px;border-top:1px solid rgba(23,33,31,.1);background:#fff}.button-link,.button-primary{min-height:34px;padding:6px 12px;border-radius:8px;font:inherit;font-size:.88rem;font-weight:900;cursor:pointer}.button-link{border:0;background:transparent;color:#526660}.button-primary{border:1px solid #1d5d64;background:#1d5d64;color:#fff}.button-link:hover,.button-link:focus-visible,.button-primary:hover,.button-primary:focus-visible{outline:2px solid rgba(29,93,100,.22);outline-offset:2px}.region-heading{max-width:720px}.region-heading--with-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:32px;align-items:center;max-width:100%}.resort-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.resort-card{display:flex;flex-direction:column;justify-content:space-between;min-height:260px;padding:22px;border:1px solid rgba(23,33,31,.12);border-radius:8px;background:#ffffffd1;box-shadow:0 10px 34px #17211f0f;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.resort-card[hidden]{display:none}.resort-card__meta{margin:0 0 12px;color:#526660;font-size:.85rem;font-weight:700}.resort-card h2{margin:0 0 10px;font-size:1.35rem;line-height:1.25}.resort-card p{margin:0;color:#425552;line-height:1.6}.tag-list{display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin-top:22px}.tag-list span{display:inline-flex;align-items:center;max-width:100%;min-height:30px;padding:4px 10px;border:1px solid rgba(23,33,31,.12);border-radius:999px;background:#f5f7f4d9;color:#334643;font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.tag-list--large{width:100%;max-width:420px;justify-content:flex-end;margin-top:0}.resort-actions{display:flex;flex-wrap:wrap;gap:10px}.resort-actions a,.inline-actions a,.listing-toolbar__link,.section-heading-row a{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid rgba(29,93,100,.22);border-radius:8px;color:#1d5d64;font-size:.88rem;font-weight:800;text-decoration:none}.detail-hero{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;padding-top:8px}.detail-breadcrumb{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.detail-breadcrumb a{color:inherit;text-decoration:none;text-underline-offset:4px}.detail-breadcrumb a:hover,.detail-breadcrumb a:focus-visible{color:#1d5d64;text-decoration:underline}.detail-breadcrumb a:focus-visible{border-radius:4px;outline:2px solid rgba(29,93,100,.28);outline-offset:3px}.detail-hero__names{display:grid;gap:6px;margin:18px 0 0;color:#334643;font-size:1.08rem}.detail-hero__names span{color:#526660}.ski-area-pill-link{display:inline-flex;align-items:center;min-height:34px;margin-top:16px;padding:6px 12px;border:1px solid rgba(29,93,100,.22);border-radius:8px;background:#ffffff9e;color:#1d5d64;font-size:.9rem;font-weight:900;text-decoration:none}.ski-area-grid,.prefecture-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.prefecture-group{display:grid;align-content:start;gap:14px}.prefecture-link-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prefecture-link-card{display:flex;gap:12px;justify-content:space-between;align-items:center;min-height:48px;padding:10px 12px;border:1px solid rgba(23,33,31,.1);border-radius:8px;background:#f5f7f4bf;color:#334643;font-weight:900;text-decoration:none}.prefecture-link-card strong{color:#1d5d64;font-size:.9rem;white-space:nowrap}.prefecture-link-card:hover,.prefecture-link-card:focus-visible{background:#ffffffeb;outline:2px solid rgba(29,93,100,.22);outline-offset:2px}.ski-area-card{display:grid;gap:22px;min-height:230px;padding:22px;border:1px solid rgba(23,33,31,.12);border-radius:8px;background:#ffffffd1;box-shadow:0 10px 34px #17211f0f;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.ski-area-card h2{margin:0 0 10px;font-size:1.45rem}.ski-area-card p{margin:0;color:#425552;line-height:1.7}.ski-area-card__footer{display:flex;gap:12px;justify-content:space-between;align-items:center;color:#526660;font-weight:900}.ski-area-hero{display:grid;gap:12px}.ski-area-hero h1{margin-bottom:14px}.ski-area-hero .ski-area-meta{margin:0 0 12px;color:#526660;font-size:.9rem;font-weight:800;line-height:1.55}.ski-area-meta__item{display:inline-block;margin-right:14px;white-space:nowrap}.ski-area-meta__label{margin-right:.35em;color:#6f827d;font-weight:700}.ski-area-meta__value{color:#21302e;font-weight:900}.ski-area-hero p{margin:0;color:#334643;font-size:1.06rem;line-height:1.8}.ski-area-traits{display:flex;flex-wrap:wrap;gap:8px}.ski-area-traits span{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px solid rgba(23,33,31,.12);border-radius:999px;background:#ffffffb8;color:#334643;font-size:.88rem;font-weight:900}.ski-area-map-panel{overflow:hidden}.ski-area-map-note,.section-count{margin:0;color:#526660;font-size:.9rem;font-weight:900}.resort-card:hover,.ski-area-card:hover{transform:translateY(-2px);border-color:#17211f38;background:#ffffffe6;box-shadow:0 14px 38px #17211f17}.resort-card:active,.ski-area-card:active{transform:translateY(-1px)}.resort-card:focus-visible,.ski-area-card:focus-visible{outline:3px solid rgba(51,70,67,.32);outline-offset:3px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr);gap:16px}.resort-detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px}.detail-panel{min-width:0;min-height:auto}.detail-grid .detail-panel:first-child{grid-row:span 2}.detail-panel--wide,.resort-summary{grid-column:1 / -1}.snow-weather-panel{order:10}.external-content-panel{order:11}.content-body{color:#334643;line-height:1.85;overflow-wrap:anywhere}.content-body p{margin:0}.link-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.link-list__item{display:grid;gap:0}.link-list a{color:#1d5d64;font-weight:800;text-decoration-color:#1d5d6447;text-underline-offset:4px}.link-list--with-notes{gap:16px}.fact-list{display:grid;gap:16px;margin:0}.fact-list div{display:grid;gap:6px}.fact-list dt{color:#526660;font-size:.82rem;font-weight:800}.fact-list dd{display:grid;gap:4px;margin:0;color:#334643;line-height:1.55;overflow-wrap:anywhere}.fact-list a{color:#1d5d64;font-weight:800;text-underline-offset:4px}.fact-list .official-link-list{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.fact-list a.official-link{display:inline-grid;width:42px;height:42px;place-items:center;border:1px solid rgba(29,93,100,.18);border-radius:999px;background:linear-gradient(145deg,#f8fffb,#e9f5ef);color:#1d5d64;box-shadow:0 10px 24px #1d5d641a;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.fact-list a.official-link:hover{border-color:#1d5d6461;color:#12464d;box-shadow:0 14px 30px #1d5d6429;transform:translateY(-2px)}.fact-list a.official-link:focus-visible{outline:3px solid rgba(223,126,75,.38);outline-offset:3px}.official-link__icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.official-link__icon [data-filled=true]{fill:currentColor;stroke:none}.panel-note{margin:16px 0 0;color:#526660;font-size:.92rem;line-height:1.65}.resource-section>.panel-note:first-child{margin-top:0}.course-overview{min-width:0}.course-overview .panel-note{margin-top:0}.terrain-visual-row{display:grid;grid-template-columns:minmax(0,1fr);row-gap:18px;column-gap:0;align-items:center;justify-items:center}.terrain-visual-row--paired{grid-template-columns:repeat(2,minmax(0,1fr))}.elevation-mountain{flex:0 1 290px;width:min(100%,290px);margin:0}.elevation-mountain__canvas{position:relative;width:100%;height:176px}.elevation-mountain__svg,.elevation-mountain__values{position:absolute;inset:0}.elevation-mountain__svg{z-index:0;overflow:visible}.elevation-mountain__values{z-index:1}.elevation-mountain__shape{vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision}.elevation-mountain__shape--top{fill:#a8cdbc}.elevation-mountain__shape--bottom{fill:#e0ece5}.elevation-mountain__ridge{fill:none;stroke:#5266602e;stroke-linejoin:round;stroke-width:1.5;vector-effect:non-scaling-stroke}.elevation-mountain__ridge--bottom{stroke:#5266601f}.elevation-mountain__values{margin:0}.elevation-mountain__value{position:absolute;color:#17211f;font-size:1.06rem;font-weight:950;line-height:1.12;text-shadow:0 1px 0 rgba(255,255,255,.86),0 8px 18px rgba(23,33,31,.12);white-space:nowrap}.elevation-mountain__value--top{top:16px;left:52%;transform:translate(-50%)}.elevation-mountain__value--bottom{top:80px;left:30%;transform:translate(-50%)}.course-difficulty-chart{position:relative;display:grid;place-items:center;flex:0 1 330px;width:min(100%,330px);min-height:174px;margin-top:0;background:transparent}.course-difficulty-chart__pie{position:relative;z-index:1;width:132px;aspect-ratio:1;border-radius:50%;background:#e6ece8;box-shadow:0 10px 24px #17211f14;overflow:hidden}.course-difficulty-chart__slice{position:absolute;inset:0;border-radius:inherit;background:conic-gradient(from -90deg,transparent 0 var(--slice-start),var(--slice-color) var(--slice-start) var(--slice-end),transparent var(--slice-end) 100%)}.course-difficulty-chart__slice--beginner{--slice-color: #2f9e5f}.course-difficulty-chart__slice--intermediate{--slice-color: #2f6fb3}.course-difficulty-chart__slice--advanced{--slice-color: #17211f}.course-difficulty-chart__labels{position:absolute;inset:0}.course-difficulty-chart__label{position:absolute;max-width:112px;color:#334643;font-size:.88rem;font-weight:900;line-height:1.25;white-space:nowrap}.course-difficulty-chart__label--beginner{top:18px;right:16px;color:#2f7d50}.course-difficulty-chart__label--intermediate{right:16px;bottom:20px;color:#2f6fb3}.course-difficulty-chart__label--advanced{top:50%;left:8px;color:#17211f;transform:translateY(-50%)}.section-heading-row{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading-row h2{margin:0}.access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:12px}.access-card{display:grid;gap:8px;min-width:0;padding:16px;border:1px solid rgba(23,33,31,.1);border-radius:8px;background:#f5f7f4bf}.access-card__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:flex-start}.access-card__header>div:first-child{min-width:0}.access-card__origin,.access-card h3,.access-card__note{margin:0}.access-card__origin{color:#526660;font-size:.78rem;font-weight:900;letter-spacing:.08em}.access-card h3{margin-top:3px;color:#17211f;font-size:1.05rem;line-height:1.4}.access-card__badges{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:6px;justify-content:flex-end;justify-self:end;min-width:0;max-width:240px}.access-card__badges span{display:block;box-sizing:border-box;max-width:100%;min-height:28px;padding:5px 9px;border:1px solid rgba(23,33,31,.08);border-radius:999px;background:#ffffffbd;color:#334643;font-size:.78rem;font-weight:800;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-steps{display:grid;gap:14px;margin:0;padding:0;color:#334643;counter-reset:access-step;list-style:none}.access-steps li{position:relative;min-height:24px;padding-left:30px;line-height:1.65}.access-steps li:before{position:absolute;top:.2em;left:0;display:grid;place-items:center;width:21px;height:21px;border-radius:999px;background:#dfe8df;color:#334643;font-size:.72rem;font-weight:900;content:counter(access-step);counter-increment:access-step}.access-steps li:not(:last-child):after{position:absolute;top:29px;left:10px;width:1px;height:14px;background:#33464326;content:""}.access-card__note{color:#526660;font-size:.88rem;line-height:1.65}.ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ticket-card{display:grid;gap:8px;min-width:0;padding:16px;border:1px solid rgba(23,33,31,.1);border-radius:8px;background:#f5f7f4bf}.ticket-card h3,.ticket-card ul,.ticket-card li,.ticket-card small{margin:0}.ticket-card ul,.ticket-card li,.ticket-card small{color:#526660;line-height:1.5}.ticket-card h3{font-size:1.05rem}.ticket-card__prices{display:grid;gap:6px;padding-left:1.1rem}.ticket-card__prices li{color:#17211f;line-height:1.55;overflow-wrap:anywhere}.resource-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.resource-section+.resource-section{margin-top:28px}.resource-detail-link{display:inline-flex;margin-top:14px}.resource-detail-actions .resource-detail-link{margin-top:0}.resource-list li{padding:2px 0}.resource-list div{display:grid;gap:4px;min-width:0}.resource-list a{color:#1d5d64;font-weight:900;text-decoration-color:#1d5d6447;text-underline-offset:4px}.resource-list span{color:#526660;font-size:.86rem}.resource-provider{margin:12px 0 0;color:#526660;font-size:.86rem}.resource-provider a{color:#1d5d64;font-weight:800;text-decoration-color:#1d5d6447;text-underline-offset:4px}.resource-provider a:visited{color:#1d5d64}.weather-summary{display:grid;grid-template-columns:minmax(0,180px);gap:12px;margin-bottom:12px}.weather-summary div{display:grid;gap:5px;padding:12px 14px;border:1px solid rgba(23,33,31,.1);border-radius:8px;background:#f5f7f4c2}.weather-summary span{color:#526660;font-size:.82rem;font-weight:700}.weather-summary strong{display:block;width:100%;color:#17211f;text-align:center}.weather-table-wrap{width:100%;overflow-x:auto}.weather-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:fixed}.weather-table th,.weather-table td{height:42px;padding:6px 8px;border:1px solid rgba(23,33,31,.1);background:#f5f7f4c2;color:#17211f;font-size:.9rem;text-align:center;vertical-align:middle}.weather-table th{color:#526660;font-size:.82rem;font-weight:800}.weather-updated{margin:10px 0 0;color:#526660;font-size:.82rem}.inline-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.subsection-title{margin:18px 0 10px;color:#526660;font-size:.86rem;text-transform:uppercase}.course-level-list{display:grid;gap:22px}.course-level-section{display:grid;gap:14px;padding:18px;border:1px solid rgba(23,33,31,.12);border-radius:8px;background:#ffffff8f}.course-level-header{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid rgba(23,33,31,.1)}.course-level-title{display:inline-flex;align-items:center;margin:0;min-height:44px;padding:8px 18px;font-size:1.1rem;font-weight:900;letter-spacing:0;border-radius:999px;background:#dfe8e4;color:#17211f}.course-level-title--beginner{background:#d8efe1}.course-level-title--intermediate{background:#dce8f8}.course-level-title--advanced,.course-level-title--expert{background:#f5d8d4}.course-level-title--ungroomed,.course-level-title--mixed{background:#eadff6}.course-level-count,.course-level-toggle{margin:0;color:#526660;font-size:.9rem;font-weight:900;white-space:nowrap}.course-level-toggle{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 2px 0 10px;border:0;background:transparent;color:#245e55;cursor:pointer}.course-level-toggle:after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.course-level-toggle[aria-expanded=true]:after{transform:rotate(225deg) translateY(-2px)}.course-level-toggle:focus-visible{outline:2px solid rgba(36,94,85,.55);outline-offset:4px;border-radius:6px}.course-list{display:grid;gap:12px}.course-list--extra[hidden]{display:none}.course-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);gap:18px;padding:22px;border:1px solid rgba(23,33,31,.12);border-radius:8px;background:#ffffffd1}.course-card h3{margin:10px 0 8px;font-size:1.18rem}.course-card p{margin:0;color:#425552;line-height:1.7}.course-video-links{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:8px 14px;margin:-4px 0 0;padding:12px 0 0;border-top:1px solid rgba(23,33,31,.08);list-style:none}.course-video-links a{display:inline-flex;align-items:center;gap:4px;color:#1d5d64;font-size:.92rem;font-weight:800;text-decoration-color:#1d5d6447;text-underline-offset:4px}.course-video-links a:hover{color:#123f43;text-decoration-color:#123f438c}.back-to-top-button{position:fixed;right:max(20px,calc(env(safe-area-inset-right) + 16px));bottom:max(20px,calc(env(safe-area-inset-bottom) + 16px));z-index:30;display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid rgba(23,33,31,.14);border-radius:999px;background:#f7f9f4e0;color:#1d5d64;box-shadow:0 16px 36px #17211f24;opacity:0;pointer-events:none;transform:translateY(12px) scale(.96);transition:opacity .16s ease,transform .18s ease,background-color .16s ease,color .16s ease;backdrop-filter:blur(12px);cursor:pointer}.back-to-top-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.back-to-top-button--visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.back-to-top-button:hover{background:#fffffff5;color:#123f43;transform:translateY(-2px) scale(1)}.back-to-top-button:focus-visible{outline:3px solid rgba(36,94,85,.38);outline-offset:4px}@media(prefers-reduced-motion:reduce){.footer-page-card{animation:none;transition:none}.back-to-top-button{transition:none}}.difficulty-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#dfe8e4;color:#17211f;font-size:.78rem;font-weight:900}.difficulty-badge--beginner{background:#d8efe1}.difficulty-badge--intermediate{background:#dce8f8}.difficulty-badge--advanced,.difficulty-badge--expert{background:#f5d8d4}.difficulty-badge--ungroomed,.difficulty-badge--mixed{background:#eadff6}.course-facts{display:grid;align-content:start;gap:10px;margin:0}.course-facts div{display:grid;gap:3px}.course-facts dt{color:#526660;font-size:.78rem;font-weight:800}.course-facts dd{margin:0;font-weight:800}.empty-state{max-width:640px;padding:28px;border:1px solid rgba(23,33,31,.12);border-radius:8px;background:#ffffffd1}.empty-state h2{margin:0 0 10px;font-size:1.25rem}.empty-state p{margin:0;color:#425552;line-height:1.75}.site-footer{flex:0 0 auto;display:flex;justify-content:center;align-items:center;min-height:36px;color:#526660;font-size:.82rem}.site-footer__inner{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center;width:min(1120px,calc(100% - 32px));text-align:center}.site-footer__copyright{flex:0 0 auto;margin:0;white-space:nowrap}.site-footer__nav{display:inline-flex;flex:0 1 auto;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.site-footer__divider{color:#52666080}.site-footer__link,.site-footer__contact{color:#526660;font-weight:700;text-decoration-color:#52666047;text-underline-offset:3px}.site-footer__contact-url{color:#334643}.site-footer__link:hover,.site-footer__link:focus-visible,.site-footer__contact:hover,.site-footer__contact:focus-visible{color:#17211f;text-decoration-color:#17211f85}@media(max-width:820px){.home-page{overflow:auto}.site-header{gap:12px;width:min(680px,calc(100% - 24px))}.site-header__brand{min-width:0}.site-header__actions{gap:8px}.site-search--open .site-search__field{width:min(220px,36vw)}.site-shell{width:min(680px,calc(100% - 24px));padding:14px 0 36px}.listing-toolbar{align-items:stretch}.filter-menu{width:min(100%,420px)}.filter-menu__button{width:100%;min-width:0}.filter-menu__panel{position:static;width:100%;max-height:min(480px,70vh);margin-top:8px}.listing-toolbar__link{margin-left:0}.home-page .site-shell{align-items:start;flex:1 0 auto;padding:12px 0 32px}.home-map-navigation{display:block;height:auto}.home-map-navigation__map{display:grid;gap:12px;margin-bottom:20px}.home-map-hover-cards{display:none}.home-map-navigation .home-hero{position:static;display:grid;max-width:none;margin-bottom:18px}.home-hero{grid-template-columns:1fr;gap:14px;min-height:auto}.home-hero__title,h1{font-size:3rem}.home-hero__lead{margin-top:20px;font-size:1rem;line-height:1.7}.home-hero-search{width:100%;margin-top:16px}.thanks-shell{padding-top:14px}.footer-page-card,.footer-page-card--with-link{grid-template-columns:1fr;gap:12px}.footer-page-card__link{justify-self:start}.contact-link-list{gap:10px}.home-region-guide{display:grid;gap:12px;padding:4px 0}.home-map-navigation__hint{display:block}.home-region-guide__heading{display:none}.home-region-guide__heading h2{font-size:1.18rem}.home-region-guide__list{grid-template-columns:repeat(2,minmax(0,1fr))}.region-strip{min-height:50px}.region-strip{transform:none}.resort-grid,.ski-area-grid,.prefecture-group-grid,.resort-detail-layout,.detail-grid{grid-template-columns:1fr}.detail-hero{display:grid;gap:20px}.region-heading--with-map{grid-template-columns:1fr;gap:10px}.tag-list--large{max-width:100%;justify-content:flex-start}.course-level-header{align-items:flex-start;flex-direction:column}.course-level-count,.course-level-toggle{align-self:flex-start;padding-left:0}.detail-grid .detail-panel:first-child{grid-row:auto}.ticket-grid,.course-card,.weather-summary{grid-template-columns:1fr}.resource-list li,.section-heading-row{align-items:flex-start;flex-direction:column}.japan-region-map{width:min(100%,420px);height:360px;margin:0 auto}.japan-region-map--overview{min-width:0}.home-map-navigation .japan-region-map--overview{width:min(100%,560px);height:clamp(320px,50vh,460px);transform:none}.map-region text,.map-region-labels text{font-size:14px}.map-region tspan+tspan{font-size:11px}}@media(max-width:600px){h1{font-size:2.3rem}.back-to-top-button{right:max(14px,calc(env(safe-area-inset-right) + 12px));bottom:max(14px,calc(env(safe-area-inset-bottom) + 12px));width:44px;height:44px;font-size:1.22rem}.site-header__actions{flex-wrap:wrap}.site-header__nav{gap:0}.site-header__nav a{padding:8px 6px;font-size:.86rem}.site-search--open{flex-basis:100%}.site-search--open .site-search__field{width:min(100%,calc(100vw - 88px))}.site-footer{min-height:auto;padding:8px 0}.site-footer__inner{width:min(100%,calc(100% - 24px));gap:4px 0}.site-footer__copyright,.site-footer__nav{flex-basis:100%}.site-footer__nav{flex-wrap:nowrap;gap:4px}.site-footer__link,.site-footer__contact{white-space:nowrap}.prefecture-link-list{grid-template-columns:1fr}.home-hero__lead{font-size:.95rem}.home-hero-search{grid-template-columns:minmax(0,1fr) auto;padding:4px}.home-hero-search input{height:35px;padding:0 10px;font-size:.9rem}.home-hero-search button{width:40px;height:35px;font-size:.86rem}.home-quick-tags{margin-top:10px}.home-quick-tags__list{display:flex;flex-wrap:wrap}.home-quick-tag{min-height:40px}.home-hero__title{font-size:2.3rem}.access-card__header{grid-template-columns:1fr}.access-card__badges{justify-content:flex-start;max-width:none;min-width:0}.course-difficulty-chart{width:100%;min-height:auto;padding-top:0;place-items:center}.course-difficulty-chart__pie{width:min(132px,100%)}.course-difficulty-chart__labels{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-top:12px}.course-difficulty-chart__label{position:static;max-width:none;transform:none}.elevation-mountain{flex-basis:270px;width:min(100%,280px)}.elevation-mountain__canvas{height:166px}.elevation-mountain__value{font-size:.98rem}.elevation-mountain__value--bottom{top:76px}.terrain-visual-row--paired{grid-template-columns:minmax(0,1fr)}.region-strip{padding:0 12px}.region-strip__meta{max-width:none}.region-strip__separator,.region-strip__examples{display:none}.home-map-navigation .japan-region-map--overview{height:clamp(300px,48vh,420px)}}@media(max-width:420px){h1,.home-hero__title{font-size:2.15rem}.site-header__brand,.site-header__nav a{font-size:.86rem}.site-header__nav a{padding:8px 5px}.site-header__actions{gap:4px}.site-footer{font-size:.78rem}.site-search__toggle{width:36px;height:36px}.japan-region-map{width:min(100%,330px);height:320px}.home-map-navigation .japan-region-map--overview{width:min(100%,360px);height:clamp(280px,44vh,360px)}.map-region text,.map-region-labels text{font-size:13px}}
