/* Shared Geretoku components. Scoped to this independent comparison site. */
.g-shell{--g-navy:#142b44;--g-lime:#c3f13d;--g-muted:#526274;--g-line:#d9e1d3;--g-paper:#f5f7f1;color:var(--g-navy);background:var(--g-paper);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;max-width:none;margin:0;min-height:100vh;font-size:15px;line-height:1.7}.g-shell *{box-sizing:border-box}.g-shell a{color:inherit}.g-shell button,.g-shell input,.g-shell select,.g-shell textarea{font:inherit}.g-shell img{max-width:100%;height:auto}.g-shell h1,.g-shell h2,.g-shell h3{line-height:1.45;color:var(--g-navy)}.g-shell h1{font-size:30px;margin:12px 0 18px;letter-spacing:.015em}.g-shell h2{font-size:23px;margin:0 0 16px}.g-shell h3{font-size:19px;margin:8px 0 12px}.g-private{text-align:center;background:#eef1f5;color:#526274;padding:6px 16px;font-size:11px;letter-spacing:.06em}.g-header{background:#fff;padding:24px max(24px,calc((100vw - 1144px)/2));border-bottom:1px solid #e7ece1;display:flex;align-items:center;justify-content:space-between;gap:24px}.g-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;font-size:27px;line-height:1.15;white-space:nowrap}.g-logo small{display:block;font-size:9px;letter-spacing:.13em;margin-top:8px;font-weight:650}.g-mascot{display:inline-block;flex:0 0 auto;background-repeat:no-repeat;vertical-align:middle}.g-navigation{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:700}.g-navigation a{text-decoration:none}.g-menu-button{display:none}.g-main{max-width:1192px;margin:auto;padding:36px 24px 48px}.g-hero{position:relative;padding:0 0 26px;border-left:4px solid var(--g-lime);padding-left:20px;max-width:none;margin:0}.g-hero h1{font-size:32px;margin:8px 0}.g-hero>p:last-child{margin:10px 0 0;color:var(--g-muted);font-size:14px}.g-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--g-muted);margin:0 0 8px}.g-search{background:#fff;border:1px solid var(--g-line);border-radius:12px;padding:22px;margin:0 0 38px;box-shadow:none}.g-search h2{font-size:18px;margin:0 0 16px}.g-search-grid{display:grid;grid-template-columns:1.25fr 1fr 1.25fr 1fr .55fr .55fr 1.3fr 1.5fr;gap:12px;align-items:end}.g-search label,.g-extra-grid label,.g-filter label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--g-muted);margin:0}.g-search input,.g-search select,.g-filter select{border:1px solid #bac6d2;border-radius:6px;width:100%;min-width:0;min-height:44px;padding:9px 11px;color:var(--g-navy);background:#fbfcff;font-size:16px}.g-search button{margin:0}.g-options{margin-top:16px;border-top:1px solid #e4e9df;padding-top:12px}.g-options summary{cursor:pointer;font-size:13px;font-weight:700}.g-kind-options{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px;border:0;padding:0}.g-kind-options label{display:flex;flex-direction:row;align-items:center;border:1px solid #bdc8b6;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:700;color:var(--g-navy);background:white;cursor:pointer;min-height:40px}.g-kind-options label:has(input:checked){background:var(--g-lime);border-color:var(--g-lime)}.g-kind-options input{min-height:0;width:14px;height:14px;padding:0;margin:0 5px 0 0;accent-color:var(--g-navy)}.g-extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:14px}.g-note{font-size:12px;color:var(--g-muted);line-height:1.65;margin:12px 0}.g-section{margin:34px 0}.g-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px}.g-section-heading h2{margin:0}.g-section-heading>span{font-size:12px;color:var(--g-muted)}.g-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}.g-cards .snow-card{border:1px solid var(--g-line);background:#fff;border-radius:12px;box-shadow:none;overflow:hidden;display:flex;flex-direction:column}.g-card-body{padding:23px;display:flex;flex-direction:column;flex:1;gap:0}.g-card-body h3{font-size:22px;margin:0 0 9px}.g-card-body .snow-opening-inline{margin:0 0 7px;padding:0;background:none;border:0;color:var(--g-muted);font-size:11px}.g-mini-stats{font-size:12px;color:var(--g-muted);margin:8px 0}.g-price-block{border-top:1px solid var(--g-line);margin-top:22px;padding:19px 0 20px;flex:1}.g-price-block>small,.g-price-block>span{display:block;color:var(--g-muted);font-size:12px}.g-price,.g-cards .snow-pending{font-size:32px!important;line-height:1.35!important;color:var(--g-navy)!important;font-weight:850;margin:8px 0 9px;display:block;letter-spacing:-.025em}.g-price small{font-size:15px;margin-left:4px}.g-set-min{font-size:11px;line-height:1.65;margin:16px 0 0;border-top:1px dashed var(--g-line);padding-top:12px}.g-set-min strong{display:block;font-size:20px;line-height:1.4}.g-set-min small{display:block;font-size:10px;color:var(--g-muted)}.g-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--g-lime);color:var(--g-navy)!important;border:1px solid transparent;border-radius:6px;min-height:46px;padding:12px 16px;font-weight:750;font-size:13px;text-decoration:none;cursor:pointer;line-height:1.4}.g-button span{margin-left:auto}.g-button:hover{filter:brightness(.96)}.g-button:disabled{background:#e4e9dd;color:#526274!important;cursor:default;filter:none}.g-secondary{display:block;text-align:center;border:1px solid #bac6d2;border-radius:5px;padding:8px;font-size:12px;text-decoration:none;min-height:40px;margin-bottom:10px;background:#fff}.g-helper{display:flex;align-items:center;justify-content:center;gap:9px;margin:18px 0 0;color:var(--g-muted);font-size:10px}.g-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.g-tag{font-size:10px;line-height:1.4;display:inline-block;background:#eff4e8;border:1px solid #d3dfc5;color:var(--g-navy);border-radius:4px;padding:5px 8px}.g-text-link{font-weight:700;font-size:12px;text-decoration:none;white-space:nowrap}.g-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.g-area-card{background:var(--g-navy);color:#fff!important;border-radius:10px;padding:24px;text-decoration:none;border-top:4px solid var(--g-lime)}.g-area-card span{font-size:10px;letter-spacing:.1em;color:#e1eacb}.g-area-card h3{color:#fff;font-size:25px;margin:6px 0}.g-area-card p{font-size:12px;color:#e1e7ed}.g-area-card strong{display:block;background:var(--g-lime);color:var(--g-navy);border-radius:4px;padding:9px 12px;font-size:12px;margin-top:20px}.g-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.g-article-card{padding:22px;background:#fff;border:1px solid var(--g-line);border-radius:10px}.g-article-card h2,.g-article-card h3{font-size:18px}.g-article-card h2 a,.g-article-card h3 a{text-decoration:none}.g-article-card>p:not(.g-eyebrow){font-size:12px;color:var(--g-muted)}.g-empty{background:#fff;border:1px dashed #becab5;border-radius:8px;padding:24px;color:var(--g-muted);font-size:14px;line-height:1.8}.g-future{margin-top:24px;padding:22px;border-top:1px solid var(--g-line)}.g-future h2{font-size:17px}.g-future p{font-size:13px;color:var(--g-muted)}.g-footer{background:var(--g-navy);color:#e6edf4;padding:32px max(24px,calc((100vw - 1144px)/2));font-size:11px}.g-footer strong{font-size:23px;color:white}.g-footer p{margin:9px 0;max-width:65em}.g-footer nav{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px}.g-footer a{color:#e6edf4}.g-breadcrumbs{font-size:11px;color:var(--g-muted);margin-bottom:24px}.g-resort-heading h1{font-size:34px;margin:6px 0}.g-resort-heading>p:not(.g-eyebrow){font-size:14px;color:var(--g-muted);max-width:65em}.g-resort-heading .snow-opening-inline{padding:0;background:none;border:0;font-size:12px;margin:8px 0}.g-facility-photo{margin:14px 0}.g-facility-photo img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover}.g-facility-photo figcaption{font-size:10px;color:var(--g-muted)}.g-section-nav{display:flex;gap:12px;flex-wrap:wrap;background:#eaf0e3;border-radius:6px;padding:10px;margin:24px 0}.g-section-nav a{font-size:12px;font-weight:700;text-decoration:none;padding:5px 10px}.g-minima{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.g-minima>div{background:#fff;border:1px solid var(--g-line);border-radius:10px;padding:20px}.g-minima span{display:block;font-size:11px;color:var(--g-muted)}.g-minima strong{display:block;font-size:26px;margin-top:8px}.g-offer-table{overflow:auto;margin-top:20px}.g-offer-table table,.g-region-table table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--g-line);border-radius:10px;background:white;overflow:hidden}.g-offer-table th,.g-region-table th{background:var(--g-navy);color:white;text-align:left;font-size:11px;padding:13px 14px;white-space:nowrap}.g-offer-table td,.g-region-table td{padding:18px 14px;border-bottom:1px solid var(--g-line);vertical-align:top;font-size:12px}.g-offer-table tr:last-child td,.g-region-table tr:last-child td{border-bottom:0}.g-offer-table h3{font-size:15px;margin:7px 0}.g-offer-table p{margin:8px 0}.g-offer-table td:first-child{width:28%}.g-offer-table td:last-child{min-width:160px;width:20%}.g-offer-table .g-button{width:100%;font-size:12px}.g-offer-price{display:block;font-size:25px;line-height:1.3;white-space:nowrap;color:var(--g-navy);margin:4px 0}.g-best{background:#edf8d2;border-left:3px solid var(--g-lime);font-size:11px;padding:7px}.g-offer-table details{font-size:11px;margin-top:12px}.g-offer-table summary{cursor:pointer}.g-offer-table small{display:block;font-size:10px;color:var(--g-muted)}.g-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;background:#fff;border:1px solid var(--g-line);border-radius:10px;padding:12px 22px}.g-facts>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #e5eadf;align-items:start}.g-facts dt{font-size:12px;font-weight:700}.g-facts dd{font-size:13px;color:var(--g-muted);margin:0}.g-ratios{background:white;border:1px solid var(--g-line);border-radius:8px;padding:20px}.g-ratios>div{display:grid;grid-template-columns:80px 1fr 55px;align-items:center;gap:15px;margin:12px 0;font-size:13px}.g-ratio-track{height:12px;background:#e8edde;border-radius:6px;overflow:hidden}.g-ratio-track i{display:block;height:100%;background:var(--g-navy);border-right:4px solid var(--g-lime);border-radius:6px}.g-filter{display:flex;gap:15px;align-items:end;background:white;border:1px solid var(--g-line);border-radius:10px;padding:20px;margin:24px 0}.g-filter label{flex:1}.g-filter>button{min-width:140px}.g-product-content{background:white;border:1px solid var(--g-line);border-radius:10px;padding:24px}.g-ad{margin:24px 0;min-height:120px;background:#f1f3f0}.g-ad>span{font-size:10px;color:#6d7884}.g-shell .snow-hotel-section{border:1px solid var(--g-line);border-radius:10px;padding:24px;background:#fff;margin:34px 0}.g-shell .snow-hotel-section .snow-section-heading h2{font-size:22px}.g-shell .snow-rakuten{background:var(--g-lime);color:var(--g-navy)}.g-shell .snow-openings-compact{margin:32px 0 0;border-color:var(--g-line);background:transparent}.g-shell .snow-openings-compact h2{font-size:16px}.g-shell .snow-notice{max-width:1144px;margin:14px auto;font-size:12px;border-radius:6px}.g-shell .snow-editorial-conclusion{background:#fff;border-left:4px solid var(--g-lime);padding:20px;font-size:16px}.g-shell .snow-editorial{margin:0;padding:0;max-width:none;background:transparent}.g-shell .snow-editorial p{line-height:1.9}.g-shell .snow-table{font-size:12px}.g-shell .snow-table th{background:var(--g-navy);color:white}.g-shell .snow-price{color:var(--g-navy)}.g-shell .snow-buy{background:var(--g-lime);color:var(--g-navy)}.g-shell .snow-best{background:#ecf8d3;color:var(--g-navy)}.g-shell :focus-visible{outline:3px solid #487cac;outline-offset:3px}.g-preview-link{padding:14px;border-top:1px solid var(--g-line)}
@media(max-width:1000px){.g-search-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.g-navigation{gap:15px}.g-header{padding:20px 24px}.g-cards{gap:14px}.g-card-body{padding:20px}.g-price,.g-cards .snow-pending{font-size:29px!important}.g-main{padding-top:28px}.g-area-grid,.g-article-grid{gap:14px}}
@media(max-width:700px){.g-private{font-size:9px;padding:5px 10px}.g-header{padding:16px;gap:12px;position:relative;flex-wrap:wrap}.g-logo{font-size:24px}.g-logo small{font-size:7px;margin-top:6px}.g-menu-button{display:block;border:1px solid #bac6d2;background:#fff;border-radius:5px;padding:9px 10px;font-size:12px;min-height:44px;color:var(--g-navy)}.g-navigation{display:none;width:100%;flex-wrap:wrap;gap:0;border-top:1px solid var(--g-line);padding-top:10px}.g-navigation.g-open{display:flex}.g-navigation a{width:50%;padding:12px;font-size:12px}.g-main{padding:24px 16px 36px}.g-shell h1,.g-hero h1,.g-resort-heading h1{font-size:25px}.g-hero{padding:0 0 20px 14px}.g-hero>p:last-child{font-size:12px}.g-shell h2{font-size:20px}.g-eyebrow{font-size:9px}.g-search{padding:16px;margin-bottom:28px}.g-search h2{font-size:16px;margin-bottom:13px}.g-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.g-name{grid-column:1/-1}.g-search-grid>.g-button{grid-column:1/-1;min-height:48px;font-size:14px}.g-search label,.g-extra-grid label{font-size:11px}.g-search input,.g-search select{font-size:16px;min-height:44px}.g-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-kind-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.g-kind-options label{font-size:11px;padding:8px;min-height:42px}.g-kind-options label:first-child{grid-column:1/-1}.g-note{font-size:11px}.g-section{margin:28px 0}.g-section-heading{gap:10px;align-items:center}.g-section-heading h2{font-size:19px}.g-section-heading .g-text-link{font-size:10px}.g-cards,.g-area-grid,.g-article-grid{grid-template-columns:1fr;gap:16px}.g-card-body{padding:22px}.g-card-body h3{font-size:23px}.g-price,.g-cards .snow-pending{font-size:34px!important}.g-price-block{margin-top:18px;padding-top:18px}.g-button{min-height:48px;font-size:14px}.g-helper{font-size:10px;margin-top:16px}.g-minima{gap:10px}.g-minima>div{padding:14px}.g-minima span{font-size:10px}.g-minima strong{font-size:21px}.g-offer-table{overflow:visible}.g-offer-table table,.g-offer-table tbody,.g-offer-table tr,.g-offer-table td{display:block;width:100%;border:0}.g-offer-table table{background:none;border-radius:0}.g-offer-table thead{display:none}.g-offer-table tr{background:white;border:1px solid var(--g-line);border-radius:10px;margin:16px 0;padding:16px}.g-offer-table td{padding:8px 0!important;min-width:0!important;width:100%!important;line-height:1.75}.g-offer-table td:first-child{padding-top:0!important}.g-offer-table h3{font-size:17px}.g-offer-table td[data-label="合計"]{border-top:1px solid var(--g-line);margin-top:6px;padding-top:14px!important}.g-offer-price{font-size:30px}.g-offer-table .g-button{font-size:13px}.g-offer-table .g-note{font-size:11px}.g-offer-table td[data-label="販売先"]:before{content:"販売先：";color:var(--g-muted)}.g-facts{grid-template-columns:1fr;padding:12px 16px}.g-facts>div{grid-template-columns:88px 1fr}.g-facts dd{font-size:12px}.g-ratios{padding:14px}.g-ratios>div{grid-template-columns:65px 1fr 40px;gap:10px;font-size:12px}.g-filter{flex-wrap:wrap;padding:16px;gap:12px}.g-filter label{flex:0 0 100%}.g-filter .g-button{flex:1}.g-footer{padding:28px 18px}.g-shell .snow-hotel-section{padding:18px}.g-shell .snow-hotel-section .snow-section-heading h2{font-size:19px}.g-shell .snow-openings-compact{font-size:11px}.g-shell .snow-openings-compact h2{font-size:15px}.g-region-table{overflow:auto}.g-region-table th,.g-region-table td{padding:12px 10px}.g-region-table .g-offer-price{font-size:22px}.g-breadcrumbs{font-size:10px;line-height:1.8}.g-section-nav{gap:4px;padding:7px}.g-section-nav a{font-size:11px;padding:7px}.g-product-content{padding:18px}.g-shell .snow-editorial-conclusion{padding:16px;font-size:14px}}

.g-child-ages{display:block;max-width:360px;margin:14px 0;font-size:12px;color:var(--g-muted)}.g-child-ages input{display:block;width:100%;min-height:44px;padding:10px;border:1px solid #d9dfe5;border-radius:4px;background:#fff;color:var(--g-navy)}.g-article-lead{font-size:19px;line-height:1.8;border-left:4px solid var(--g-lime);padding:12px 20px}.g-toc{background:#fff;border:1px solid #dce2e5;padding:22px;margin:24px 0;display:grid;gap:10px}.g-article-body{max-width:820px;line-height:1.95}.g-article-body h2{margin:32px 0 12px;border-bottom:2px solid var(--g-lime);padding-bottom:12px}.g-article-body p{margin:12px 0 24px}.g-article-card p{line-height:1.7}.g-hero{position:relative;overflow:hidden}.g-hero:after{content:"";position:absolute;width:260px;height:90px;right:40px;bottom:-16px;background:var(--g-navy);opacity:.07;clip-path:polygon(0% 100%,28% 5%,45% 61%,64% 0%,100% 100%);pointer-events:none}

.g-search-grid>.g-button{white-space:nowrap;padding:12px 8px}.g-kind-options label{min-height:44px}.g-child-ages[hidden]{display:none!important}@media(max-width:700px){.g-kind-options{display:flex;flex-wrap:wrap}.g-kind-options label{min-height:44px;font-size:11px;padding:8px}.g-kind-options label:first-child{grid-column:auto}.g-search-grid>.g-button{white-space:nowrap}}

/* Explicit local-only dummy-photo preview. Prices and search retain priority. */
.g-photo-notice{max-width:1144px;margin:14px auto 0;padding:10px 14px;border:1px solid #d6e2c0;border-radius:6px;background:#f0f7df;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--g-muted)}.g-photo-notice strong{color:var(--g-navy)}.g-photo-notice a{margin-left:auto;text-underline-offset:3px}.g-photo-hero{border:0;border-radius:12px;padding:30px 38px;height:250px;margin:0 0 24px;background:var(--g-navy);display:flex;align-items:center;isolation:isolate;overflow:hidden}.g-photo-hero:after{inset:0;width:auto;height:auto;clip-path:none;background:linear-gradient(90deg,rgba(10,29,46,.87),rgba(10,29,46,.34) 58%,rgba(10,29,46,.03));opacity:1;z-index:-1}.g-shell .g-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 47%;max-width:none}.g-hero-copy{max-width:540px}.g-photo-hero .g-eyebrow{color:#e9f5d5;font-size:11px;margin:0 0 12px}.g-photo-hero h1{font-size:35px;color:#fff;line-height:1.3;letter-spacing:.025em;margin:0 0 12px;text-shadow:0 1px 8px #09263744}.g-hero-copy>p:last-child{font-size:14px;color:#fff;margin:0}.g-hero-photo-label{position:absolute;bottom:12px;right:14px;color:#fff;background:#142b44bb;padding:3px 8px;border-radius:3px;font-size:9px}.g-photo-hero-compact{height:160px;padding:22px 30px}.g-photo-hero-compact h1{font-size:29px}.g-photo-hero-compact h1 br{display:none}.g-dummy-photo{position:relative;margin:0;background:#dde8ee;overflow:hidden}.g-shell .g-dummy-photo img{display:block;width:100%;height:170px;object-fit:cover}.g-dummy-photo figcaption{position:absolute;bottom:0;right:0;left:0;background:linear-gradient(transparent,#142b44dc);color:#fff;padding:14px 10px 6px;font-size:9px;line-height:1.5}.g-cards .g-dummy-photo{margin:0;flex-shrink:0}.g-cards .g-dummy-photo img{height:170px}.g-resort-heading>.g-dummy-photo{margin-top:18px;border-radius:10px}.g-resort-heading>.g-dummy-photo img,.g-product-photo img,.g-article-cover img{height:270px!important}.g-product-photo,.g-article-cover{border-radius:10px;margin:18px 0 24px}.g-area-card:has(.g-area-photo){overflow:hidden;padding-top:0}.g-area-photo{margin:0 -24px 20px}.g-area-photo img{height:145px!important}.g-article-photo{margin:-22px -22px 20px;border-radius:10px 10px 0 0}.g-article-photo img{height:155px!important}.g-dummy-hotel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.g-dummy-hotel-card{border:1px solid var(--g-line);border-radius:10px;background:#fff;overflow:hidden}.g-dummy-hotel-body{padding:22px}.g-dummy-hotel-body h3{font-size:19px;margin:5px 0 10px}.g-dummy-hotel-body>p:not(.g-eyebrow){font-size:12px;color:var(--g-muted)}.g-shell .g-rakuten-preview:disabled{width:100%;background:var(--g-lime);color:var(--g-navy)!important;min-height:48px;margin-top:10px}.g-jalan-preview{display:block;width:100%;border:0;background:none;color:var(--g-muted);font-size:11px!important;text-decoration:underline;text-underline-offset:3px;margin-top:10px;padding:10px;cursor:default}.g-dummy-hotels .g-note{max-width:75em}
@media(max-width:700px){.g-photo-notice{margin:12px 16px 0;padding:10px 12px;gap:4px 10px;font-size:9px}.g-photo-notice span{flex-basis:100%}.g-photo-notice a{margin:4px 0 0}.g-photo-hero{height:218px;padding:24px;margin-bottom:20px}.g-photo-hero h1{font-size:29px}.g-photo-hero .g-eyebrow{font-size:9px}.g-hero-copy>p:last-child{font-size:12px}.g-photo-hero .g-hero-image{object-position:55% center}.g-photo-hero-compact{height:140px;padding:20px}.g-photo-hero-compact h1{font-size:23px}.g-photo-hero-compact h1 br{display:block}.g-photo-hero-compact .g-hero-copy>p:last-child{display:none}.g-hero-photo-label{font-size:8px;bottom:8px;right:8px}.g-cards .g-dummy-photo img{height:160px}.g-resort-heading>.g-dummy-photo img,.g-product-photo img,.g-article-cover img{height:200px!important}.g-dummy-hotel-grid{grid-template-columns:1fr;gap:16px}.g-dummy-hotel-body{padding:20px}.g-dummy-hotels .g-section-heading{align-items:start}.g-dummy-hotels .g-section-heading>span{font-size:9px;white-space:nowrap;padding-top:4px}}

/* Keep result counts intact beside specific facility and region headings. */
.g-section-heading>span{flex-shrink:0;white-space:nowrap}

/* Same-prefecture links support further comparison after the main resort content. */
.g-related-resorts{border-top:1px solid var(--g-line);padding-top:30px;margin-bottom:12px}.g-related-resorts .g-section-heading{margin-bottom:12px}.g-related-resorts h2{font-size:22px}.g-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.g-related-card{background:#fff;border:1px solid var(--g-line);border-radius:10px;padding:22px;display:flex;flex-direction:column}.g-related-card h3{font-size:18px;line-height:1.65;margin:4px 0 20px;flex:1}.g-related-canonical{text-decoration:none;text-underline-offset:4px}.g-related-canonical:hover,.g-canonical-resort:hover{text-decoration:underline}.g-related-canonical span{display:inline-block;font-size:18px;margin-left:5px}.g-related-card .g-secondary{margin:0;font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:center}.g-related-region{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:520px;padding:15px 18px;background:#eaf2de;border:1px solid #d3dfc5;border-radius:6px;text-decoration:none;font-size:14px;font-weight:700;margin-top:20px;min-height:48px}.g-related-region:hover{background:#e1edce}.g-canonical-resort{text-decoration:none}
@media(max-width:700px){.g-related-resorts{padding-top:24px;margin-top:30px}.g-related-resorts h2{font-size:20px}.g-related-grid{grid-template-columns:1fr;gap:12px}.g-related-card{padding:18px}.g-related-card h3{font-size:17px;margin-bottom:15px}.g-related-region{font-size:13px;padding:14px 15px}}

/* Compact four-hotel layout; data and booking permissions remain unchanged. */
.g-dummy-hotel-grid,.g-shell .snow-hotel-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.g-shell .g-dummy-hotel-card .g-dummy-photo img{height:126px}.g-dummy-hotel-body{padding:16px;display:flex;flex-direction:column;flex:1}.g-dummy-hotel-card{display:flex;flex-direction:column}.g-dummy-hotel-body .g-eyebrow{font-size:9px;letter-spacing:.07em}.g-dummy-hotel-body h3{font-size:16px;line-height:1.5;margin:5px 0 8px}.g-dummy-hotel-body>p:not(.g-eyebrow){font-size:11px;margin:6px 0}.g-shell .g-rakuten-preview:disabled{font-size:12px;min-height:44px;padding:10px 6px;margin-top:auto}.g-hotel-demo-status{display:block;text-align:center;font-size:9px;color:var(--g-muted);margin-top:5px}.g-jalan-preview{font-size:10px!important;padding:8px 0;margin-top:3px}.g-shell .snow-hotel-card figure img{height:126px;object-fit:cover}.g-shell .snow-hotel-body{padding:16px}.g-shell .snow-hotel-body h3{font-size:16px}.g-shell .snow-hotel-body .snow-rakuten{font-size:12px;padding:10px 7px}
@media(max-width:700px){.g-dummy-hotel-grid,.g-shell .snow-hotel-cards{grid-template-columns:1fr;gap:16px}.g-shell .g-dummy-hotel-card .g-dummy-photo img,.g-shell .snow-hotel-card figure img{height:160px}.g-dummy-hotel-body,.g-shell .snow-hotel-body{padding:18px}.g-dummy-hotel-body h3,.g-shell .snow-hotel-body h3{font-size:18px}.g-shell .g-rakuten-preview:disabled{font-size:13px;min-height:46px;margin-top:10px}.g-hotel-demo-status{font-size:10px}.g-jalan-preview{font-size:11px!important}}

/* v0.4.24: lodging search and explicit private administrator connection checks. */
.g-stay-admin-note{font-size:11px;line-height:1.8;padding:12px 14px;background:#f1f6fb;border-left:3px solid #1680c4;color:#31516f;border-radius:4px}.g-stay-official{display:inline-block;margin-top:12px;font-size:12px}#g-hotel-results .snow-hotel-cards{grid-template-columns:1fr}#g-hotel-results .snow-hotel-card{display:grid;grid-template-columns:minmax(180px,30%) minmax(0,1fr)}#g-hotel-results .snow-hotel-card figure{height:100%;min-height:240px}#g-hotel-results .snow-image-pending{height:100%;min-height:240px;padding:24px;box-sizing:border-box;text-align:center;background:linear-gradient(160deg,#d6eefe,#f5fbff 50%,#e3efec);color:#31516f}#g-hotel-results .snow-hotel-card img{height:100%;min-height:240px}#g-hotel-results .snow-hotel-body h3{font-size:22px;line-height:1.5;margin-top:6px}#g-hotel-results .g-stay-price{padding:18px;background:#f4f9e9;border:1px solid #d4e8b9}#g-hotel-results .g-stay-price strong{font-size:30px}#g-hotel-results .snow-rakuten{box-sizing:border-box;white-space:normal}.g-stay-form button{white-space:normal}
@media(max-width:600px){#g-hotel-results .snow-hotel-card{display:block}#g-hotel-results .snow-hotel-card figure,#g-hotel-results .snow-image-pending{height:145px;min-height:145px}#g-hotel-results .snow-hotel-card img{height:190px;min-height:190px}#g-hotel-results .snow-hotel-body h3{font-size:20px}.g-stay-fields select,.g-stay-fields input{min-height:46px;font-size:16px}#g-hotel-results .g-stay-price strong{font-size:27px}.g-stay-admin-note{font-size:11px}.g-stay-form .g-secondary{width:100%;box-sizing:border-box}}
.g-stay-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.g-stay-destination{background:#fff;border:1px solid #dbe3df;border-radius:14px;overflow:hidden}.g-stay-destination>div{padding:20px}.g-stay-destination h2{font-size:20px}.g-stay-destination img{height:170px;object-fit:cover}.g-stay-form{padding:24px;background:#fff;border:1px solid #dbe3df;border-top:4px solid var(--g-lime);border-radius:14px;margin:28px 0}.g-stay-form h2{margin-top:0}.g-stay-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}.g-stay-fields label{display:grid;gap:8px;font-size:13px;font-weight:700;min-width:0}.g-stay-fields input,.g-stay-fields select{box-sizing:border-box;min-width:0;width:100%;padding:12px;background:#fff;color:var(--g-navy);border:1px solid #cad4d0;border-radius:7px;font:inherit}.g-stay-fields .g-button{grid-column:span 2}.g-stay-children{margin:20px 0}.g-stay-children summary{cursor:pointer;font-weight:700}.g-stay-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.g-stay-message{padding:18px;border-left:4px solid var(--g-lime);background:#f0f5e6;border-radius:6px}.g-stay-more{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.g-stay-pagination{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.g-stay-pagination>*{padding:10px 16px;border-radius:6px;background:#fff;border:1px solid #cad4d0}.g-stay-pagination strong{background:var(--g-navy);color:#fff}.g-stay-price{margin:16px 0;padding:12px;background:#f3f7e9;border-radius:8px}.g-stay-price strong{display:block;font-size:24px;color:var(--g-navy)}.g-stay-price .g-button{margin-top:12px}.g-stay-price small{font-size:11px}.g-stay-price p{font-size:12px}.g-stay-destination figure{margin:0}
@media(max-width:900px){.g-stay-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.g-stay-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.g-stay-destinations{grid-template-columns:1fr}.g-stay-form{padding:16px}.g-stay-fields{grid-template-columns:1fr 1fr;gap:12px}.g-stay-fields .g-button{grid-column:1/-1}.g-stay-more>*{width:100%;box-sizing:border-box}.g-stay-form input[type=date]{font-size:13px;max-width:100%}}

/* v0.4.6: prefecture groups share the lodging entry page. */
.g-stay-pref-links{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.g-stay-pref{scroll-margin-top:24px}.g-stay-destination h3{font-size:20px;margin-top:4px}.g-stay-destination button[disabled]{opacity:.65;cursor:default}

/* Nationwide directory: small region entries, expandable prefectures, bounded results. */
.g-directory-hero{padding:8px 0 20px;border-bottom:1px solid var(--g-line)}.g-directory-hero h1{margin:10px 0 12px}.g-directory-hero>p{max-width:58em}.g-directory-steps{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;margin:22px 0 0;padding:0;counter-reset:directory-step;font-size:12px;font-weight:700}.g-directory-steps li{display:flex;align-items:center;gap:8px}.g-directory-steps li:before{counter-increment:directory-step;content:counter(directory-step);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--g-navy);color:#fff;font-size:11px}.g-directory-count{font-size:11px;color:var(--g-muted)}.g-region-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.g-region-card{display:flex;align-items:center;gap:12px;min-height:88px;padding:16px 14px;border:1px solid var(--g-line);border-radius:10px;background:#fff;text-decoration:none;transition:background .15s,border-color .15s}.g-region-card:hover{border-color:var(--g-navy);background:#eef4e7}.g-region-card.is-current{background:var(--g-navy);border-color:var(--g-navy);color:#fff}.g-region-symbol{font-size:21px;color:#849b76;line-height:1}.g-region-card.is-current .g-region-symbol{color:var(--g-lime)}.g-region-card strong{display:block;font-size:16px}.g-region-card small{display:block;font-size:10px;margin-top:5px;color:var(--g-muted)}.g-region-card.is-current small{color:#d9e5d5}.g-region-card.is-pending:not(.is-current){background:#f8faf5}.g-region-arrow{margin-left:auto;font-size:16px}.g-directory-all{display:inline-block;margin-top:18px}.g-directory-prefectures{margin-top:32px;scroll-margin-top:20px}.g-prefecture-group{background:#fff;border:1px solid var(--g-line);border-radius:8px;margin:10px 0}.g-prefecture-group summary{cursor:pointer;padding:16px 20px;font-size:14px;font-weight:700;min-height:48px}.g-prefecture-group summary small{font-size:10px;font-weight:400;margin-left:18px;color:var(--g-muted)}.g-prefecture-links{display:flex;flex-wrap:wrap;gap:10px;padding:0 20px 18px}.g-prefecture-link{display:flex;align-items:center;gap:12px;min-height:45px;padding:10px 14px;border:1px solid #d4dfcf;border-radius:6px;text-decoration:none;background:#f8faf6;font-size:13px}.g-prefecture-link small{font-size:10px;color:var(--g-muted)}.g-prefecture-link:hover{background:#edf5de;border-color:#91a77c}.g-prefecture-link.is-current{background:var(--g-lime);border-color:var(--g-lime)}.g-prefecture-link.is-pending{border-style:dashed}.g-directory-form.g-search .g-search-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.g-directory-form.g-search .g-name{grid-column:span 2}.g-directory-form.g-search .g-search-grid>.g-button{grid-column:span 2}.g-directory-hotel-form{padding:24px;border:1px solid var(--g-line);border-top:4px solid var(--g-lime);border-radius:10px;background:#fff;margin:28px 0}.g-directory-hotel-form h2{margin-top:0}.g-directory-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;align-items:end}.g-directory-fields label{display:grid;gap:7px;font-size:12px;min-width:0}.g-directory-fields input,.g-directory-fields select{width:100%;min-width:0;min-height:46px;border:1px solid #cad4d0;border-radius:5px;padding:10px;background:#fff;color:var(--g-navy);font:inherit}.g-directory-fields .g-button{grid-column:1/-1;justify-self:end;min-width:210px}.g-directory-pref-results{margin:28px 0;scroll-margin-top:24px}.g-directory-pref-heading{font-size:19px!important;border-left:4px solid var(--g-lime);padding-left:12px;margin:24px 0 16px!important}.g-directory-results .g-stay-destinations{margin:16px 0}.g-directory-results .g-stay-destination h4{font-size:20px;line-height:1.6;margin:5px 0 14px}.g-directory-results .g-stay-destination h4 a{text-decoration:none}.g-directory-results .g-stay-destination h4 a:hover{text-decoration:underline}.g-directory-results{scroll-margin-top:24px}.g-directory-empty{display:flex;align-items:flex-start;gap:18px;padding:24px;background:#fff;border:1px solid var(--g-line);border-radius:10px}.g-directory-empty h3{font-size:17px;margin:0 0 10px}.g-directory-empty p{font-size:13px}.g-directory-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:28px 0}.g-directory-pagination>a,.g-directory-pagination>strong{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px 12px;background:#fff;border:1px solid var(--g-line);border-radius:6px;font-size:13px;text-decoration:none}.g-directory-pagination>strong{background:var(--g-navy);color:#fff}.g-directory-pagination>span{font-size:12px;padding:0 5px}
@media(max-width:1000px){.g-region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.g-directory-fields{grid-template-columns:1fr 1fr}.g-directory-fields .g-name{grid-column:1/-1}}
@media(max-width:700px){.g-directory-hero{padding-top:0}.g-directory-hero>p{font-size:12px}.g-directory-steps{gap:10px 14px;font-size:10px;margin-top:18px}.g-directory-steps li{gap:5px}.g-directory-steps li:before{width:19px;height:19px;font-size:10px}.g-region-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.g-region-card{min-height:74px;padding:12px 10px;gap:8px}.g-region-card strong{font-size:14px}.g-region-card small{font-size:10px}.g-region-symbol{font-size:17px}.g-directory-prefectures{margin-top:25px}.g-prefecture-group summary{padding:14px}.g-prefecture-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 14px}.g-prefecture-link{display:block;padding:10px;font-size:12px}.g-prefecture-link small{display:block;margin-top:5px}.g-directory-form.g-search .g-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-directory-form.g-search .g-name{grid-column:1/-1}.g-directory-form.g-search .g-search-grid>.g-button{grid-column:1/-1}.g-directory-hotel-form{padding:16px}.g-directory-fields input,.g-directory-fields select{font-size:16px;max-width:100%}.g-directory-fields .g-button{width:100%;justify-self:stretch}.g-directory-empty{gap:12px;padding:18px}.g-directory-empty .g-mascot{flex-shrink:0}.g-directory-empty h3{font-size:15px}.g-directory-empty .g-secondary{font-size:12px}.g-directory-pagination{gap:6px}.g-directory-count{font-size:10px}.g-directory-results .g-stay-destination h4{font-size:20px}}
.g-directory-prefectures{border:1px solid var(--g-line);background:#fff;border-radius:8px}.g-directory-prefectures>summary{padding:16px 20px;cursor:pointer;font-size:15px;font-weight:700;min-height:48px}.g-directory-prefectures>summary small{font-size:10px;color:var(--g-muted);font-weight:400;margin-left:12px}.g-directory-pref-body{padding:0 16px 12px}.g-directory-prefectures .g-prefecture-group{border-color:#e5eadf}
@media(max-width:700px){.g-directory-prefectures>summary{padding:14px;font-size:14px}.g-directory-pref-body{padding:0 10px 8px}}

#g-hotel-results .snow-rakuten{background:var(--g-lime);color:var(--g-navy)!important;font-weight:800}#g-hotel-results .snow-rakuten:hover{background:#95d424;color:var(--g-navy)!important}@media(max-width:600px){.g-stay-form .g-stay-fields input,.g-stay-form .g-stay-fields select{font-size:16px}}

.g-affiliate-code{margin-top:10px}.g-affiliate-code small{display:block;margin-bottom:5px;font-size:11px}.g-affiliate-code a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 16px;border:1px solid transparent;border-radius:6px;background:var(--g-lime);color:var(--g-navy)!important;font-size:13px;font-weight:750;line-height:1.5;text-align:center;text-decoration:none;overflow-wrap:anywhere}.g-affiliate-code a:hover{filter:brightness(.96)}.g-affiliate-code a img{width:0!important;height:1px!important;max-width:none!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important}

/* One compact comparison for official and retailer tickets. */
.g-ticket-comparison{margin:18px 0 0}.g-ticket-basis{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 10px;font-size:12px;font-weight:700}.g-ticket-basis span{font-size:11px;font-weight:400;color:var(--g-muted)}.g-ticket-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--g-line);border-radius:10px;overflow:hidden;background:#fff;table-layout:fixed}.g-ticket-table thead th{background:var(--g-navy);color:#fff;font-size:12px;text-align:left;padding:12px 14px;border:0}.g-ticket-table thead th:first-child{width:29%}.g-ticket-table thead th:nth-child(2){width:16%}.g-ticket-table thead th:nth-child(3){width:14%}.g-ticket-table thead th:nth-child(4){width:19%}.g-ticket-table thead th:last-child{width:22%}.g-ticket-table tbody th,.g-ticket-table tbody td{padding:17px 14px;border:0;border-bottom:1px solid var(--g-line);text-align:left;vertical-align:middle;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.g-ticket-table tbody tr:last-child>*{border-bottom:0}.g-ticket-seller{display:block;font-size:11px;color:var(--g-muted);font-weight:500;margin-bottom:4px}.g-ticket-name{display:block;font-size:14px;font-weight:750}.g-ticket-price{font-size:24px;font-weight:850;letter-spacing:-.04em;line-height:1.4;white-space:nowrap;display:block}.g-ticket-price span{font-size:12px;font-weight:600;letter-spacing:0;margin-left:2px}.g-ticket-range{font-size:21px}.g-ticket-free,.g-ticket-pending{font-size:13px;font-weight:600}.g-ticket-table small{display:block;font-size:10px;line-height:1.6;color:var(--g-muted);margin-top:5px}.g-ticket-table .g-button{width:100%;font-size:12px;padding:11px 9px;min-height:44px}.g-ticket-table .g-affiliate-code{width:100%}.g-ticket-table .g-affiliate-code a{font-size:12px;padding:11px 9px;min-height:44px}.g-ticket-table tr[data-source="advance"],.g-ticket-table tr[data-source="offer"]{background:#fbfdf7}.g-ticket-footnote{font-size:11px;color:var(--g-muted);line-height:1.7;margin:10px 0 15px}.g-ticket-details{border:1px solid var(--g-line);border-radius:8px;background:#fff;font-size:12px}.g-ticket-details>summary{cursor:pointer;font-weight:700;padding:13px 16px;min-height:44px}.g-ticket-details>div{padding:0 18px 18px}.g-ticket-details article{border-top:1px solid var(--g-line);padding:18px 0 0;margin-top:16px}.g-ticket-details h4{font-size:15px;margin:0 0 10px}.g-ticket-details h5{font-size:12px;margin:20px 0 4px}.g-ticket-details p{font-size:12px;line-height:1.8;margin:8px 0}.g-rate-scroll{overflow-x:auto}.g-rate-breakdown{border-collapse:collapse;width:100%;font-size:12px;min-width:520px}.g-rate-breakdown th,.g-rate-breakdown td{padding:10px 12px;border:1px solid var(--g-line);text-align:left}.g-rate-breakdown thead th{background:#edf5fa}.g-rate-breakdown tbody th{font-weight:500}
@media(max-width:1000px) and (min-width:701px){.g-ticket-table thead th,.g-ticket-table tbody th,.g-ticket-table tbody td{padding-left:10px;padding-right:10px}.g-ticket-price{font-size:21px}.g-ticket-range{font-size:17px}}
@media(max-width:900px){.g-ticket-comparison{margin-top:14px}.g-ticket-basis{display:block;font-size:12px}.g-ticket-basis span{display:block;margin-top:3px}.g-ticket-table,.g-ticket-table tbody{display:block;border:0;background:none;overflow:visible}.g-ticket-table thead{display:none}.g-ticket-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:12px 0;padding:16px;border:1px solid var(--g-line);border-radius:10px;background:#fff}.g-ticket-table tbody th,.g-ticket-table tbody td{display:block;width:auto!important;padding:0!important;border:0!important;min-width:0;line-height:1.6}.g-ticket-table tbody th{grid-column:1/-1}.g-ticket-seller{display:inline-block;margin:0 7px 4px 0;font-size:11px}.g-ticket-name{font-size:16px}.g-ticket-adult:before,.g-ticket-child:before{content:attr(data-label);display:block;font-size:11px;color:var(--g-muted);margin-bottom:3px}.g-ticket-price{font-size:27px}.g-ticket-range{font-size:22px}.g-ticket-period{grid-column:1/-1;border-top:1px solid var(--g-line)!important;padding-top:10px!important;display:flex!important;gap:6px 14px;align-items:baseline;flex-wrap:wrap}.g-ticket-period strong{font-size:12px}.g-ticket-period small{margin:0}.g-ticket-buy{grid-column:1/-1}.g-ticket-table .g-button,.g-ticket-table .g-affiliate-code a{font-size:13px;min-height:44px}.g-ticket-table .g-affiliate-code small{margin-bottom:4px}.g-ticket-footnote{font-size:10px}.g-ticket-details>summary{font-size:12px;padding:12px}.g-ticket-details>div{padding:0 12px 12px}}
.g-ticket-pack>small{display:inline-block;margin-right:8px}.g-ticket-table .g-ticket-pack:before{content:attr(data-label);display:block;font-size:11px;color:var(--g-muted);margin-bottom:3px}@media(max-width:900px){.g-ticket-pack{grid-column:1/-1}}
