/* グランピング部門の共通部品（2026-10 導線改善）… theme-2a.css の後に読み込む
   ヒーロー・空室ストリップ（/assets/glamp.js）・特典・客室カード・専用シャワー・料金表・FAQ・締めの予約ボックス・スマホ下部の予約バー */

/* ---------- トップ：ヒーロー（写真＋要点＋空室ボタン） ---------- */
.gx-hero{position:relative;color:#fff;background:#24354A center/cover no-repeat;min-height:min(78vh,620px);display:flex;align-items:flex-end;}
.gx-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,25,35,.10) 25%,rgba(15,25,35,.72));}
.gx-hero .wrap{position:relative;width:100%;padding-top:80px;padding-bottom:26px;}
.gx-hero .eyebrow{color:#F1E3C2;font-size:13px;}
.gx-hero h1{margin:4px 0 10px;font-size:clamp(25px,5.4vw,42px);line-height:1.45;letter-spacing:.1em;text-shadow:0 2px 16px rgba(0,0,0,.4);}
.gx-hero .gx-sub{margin:0 0 14px;font-size:14.5px;line-height:1.8;text-shadow:0 1px 8px rgba(0,0,0,.45);}
.gx-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none;}
.gx-chips li{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(4px);border-radius:999px;padding:3px 11px;font-size:12.5px;}
.gx-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;}
.gx-hero-cta .btn{min-width:0;padding:14px 26px;font-size:16px;}
.gx-price{font-size:13px;line-height:1.5;text-shadow:0 1px 8px rgba(0,0,0,.5);}
.gx-price b{font-size:20px;letter-spacing:.04em;}
@media (max-width:640px){
  .gx-hero{min-height:0;}
  .gx-hero .wrap{padding-top:120px;padding-bottom:18px;}
  .gx-hero .gx-sub{font-size:13.5px;margin-bottom:10px;}
  .gx-chips{margin-bottom:12px;} .gx-chips li{font-size:11.5px;padding:2px 9px;}
  .gx-hero-cta .btn{padding:12px 20px;font-size:15px;}
}
/* グランピングのメニュー：スマホで横スクロールしても「空室＆予約」は右端に固定 */
.gh-local .gh-local-book{position:sticky;right:0;margin-left:auto;background:#1E6F74;color:#fff !important;border-radius:999px;padding:6px 14px !important;font-weight:700;white-space:nowrap;box-shadow:-8px 0 10px #fff;border-bottom:0 !important;}
.gx-brg-badge{position:absolute;top:16px;right:16px;z-index:1;background:linear-gradient(180deg,#D5B97E,#B8965A);color:#fff;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700;letter-spacing:.08em;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.gx-brg-badge small{display:block;font-size:10px;font-weight:500;letter-spacing:.04em;opacity:.95;text-align:center;}

/* ---------- 公式予約の特典（ベストレート保証） ---------- */
.gx-brg{background:#fff;border:1.5px solid #E5D3A8;border-radius:14px;padding:14px 16px;margin:0 0 18px;box-shadow:var(--shadow-sm);}
.gx-brg-head{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-weight:700;color:#7A5F2C;}
.gx-brg-head .tag{background:linear-gradient(180deg,#D5B97E,#B8965A);color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;letter-spacing:.06em;white-space:nowrap;}
.gx-brg ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.gx-brg li{background:var(--champagne-pale);border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.6;}
.gx-brg li b{display:block;color:#1E6F74;font-size:14.5px;}
@media (max-width:640px){.gx-brg{padding:10px 12px;}.gx-brg-head{font-size:13.5px;line-height:1.5;margin-bottom:6px;}.gx-brg ul{grid-template-columns:1fr;gap:4px;}.gx-brg li{display:flex;gap:8px;align-items:baseline;padding:5px 9px;font-size:12px;line-height:1.5;}.gx-brg li b{display:inline;white-space:nowrap;font-size:13.5px;}}

/* ---------- 2棟まとめて空室ストリップ ---------- */
.gx-vac{scroll-margin-top:10px;}
.gx-vac-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px;margin:0 0 10px;}
.gx-vac-head h2{margin:0;font-size:clamp(19px,3vw,24px);color:#1E6F74;letter-spacing:.1em;}
.gx-guests{display:flex;align-items:center;gap:6px;font-size:13px;}
.gx-guests button{border:1.5px solid #cfd8dc;background:#fff;border-radius:999px;min-width:38px;padding:5px 0;font:inherit;font-weight:700;cursor:pointer;}
.gx-guests button[aria-pressed="true"]{background:#1E6F74;border-color:#1E6F74;color:#fff;}
.gx-strip{background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden;}
.gx-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;}
.gx-grid{display:grid;grid-template-rows:auto auto auto;width:max-content;}
.gx-grid > *{scroll-snap-align:start;}
.gx-lab,.gx-dh,.gx-c{border-right:1px solid #f0ece3;border-bottom:1px solid #f0ece3;text-align:center;}
.gx-lab{position:sticky;left:0;z-index:2;background:#FBF8F1;width:76px;padding:6px 4px;font-size:12px;line-height:1.3;text-align:left;box-shadow:2px 0 6px rgba(0,0,0,.05);}
.gx-lab b{display:block;font-size:14px;color:#24303B;}
.gx-lab.off{color:#aaa;} .gx-lab.off b{color:#aaa;}
.gx-dh{padding:5px 0 4px;font-size:11px;line-height:1.25;background:#F4F8F7;}
.gx-dh b{display:block;font-size:14px;}
.gx-dh.sun b,.gx-dh.hol b{color:#D3220A;} .gx-dh.sat b{color:#328ACA;}
.gx-dh .m{display:block;font-size:10px;color:#A5844A;font-weight:700;height:12px;}
.gx-c{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:3px 0;font-size:10.5px;background:#fff;border-top:0;border-left:0;font-family:inherit;color:inherit;cursor:default;}
.gx-c .mk{font-size:17px;font-weight:800;line-height:1.1;}
.gx-c.ok{cursor:pointer;} .gx-c.ok .mk{color:#1E8F5F;}
.gx-c.ok:hover{background:#EEF8F6;}
.gx-c.full .mk{color:#D3220A;} .gx-c.closed .mk,.gx-c.off .mk{color:#B7C2CB;}
.gx-c.off{background:#FAFBFC;}
.gx-c.sel{background:#1E6F74;color:#fff;} .gx-c.sel .mk{color:#fff;}
.gx-c.stay{background:#d8ece8;}
.gx-c.hold{background:#FBF7EE;color:#A5844A;} .gx-c.hold .mk{color:#B8965A;font-size:14px;}
.gx-guests{flex-wrap:wrap;}
.gx-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 12px;font-size:11.5px;color:#556;background:#FBFAF6;}
.gx-hint{font-size:12px;color:#A5844A;}
.gx-status{padding:16px;font-size:13px;color:#556;margin:0;}
.gx-panel{margin:12px 0 0;background:#fff;border-radius:14px;box-shadow:var(--shadow-sm);padding:14px 16px;border-left:4px solid #1E6F74;}
.gx-panel h3{margin:0 0 8px;font-size:16px;color:#1E6F74;}
.gx-panel .row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;}
.gx-panel select{padding:7px 8px;border:1.5px solid #cfd8dc;border-radius:8px;font:inherit;background:#fff;max-width:100%;}
.gx-panel .total{font-size:17px;font-weight:700;margin:4px 0 2px;}
.gx-panel .dep{font-size:12.5px;color:#556;margin:0 0 10px;}
.gx-panel .btn{width:100%;text-align:center;padding:13px 10px;font-size:16px;}
.gx-panel .sub-links{font-size:12.5px;margin:8px 0 0;text-align:center;}
.gx-mock-note{display:inline-block;margin:6px 0 0;font-size:11px;color:#fff;background:#B8965A;border-radius:6px;padding:1px 8px;}

/* ---------- 2棟のカード ---------- */
.gx-rooms{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gx-room{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.gx-room img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.gx-room-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.gx-room h3{margin:0;font-size:18px;color:#1E6F74;letter-spacing:.08em;}
.gx-room .spec{margin:0;font-size:13px;color:#4A5561;line-height:1.7;}
.gx-room .from{margin:0;font-size:13px;} .gx-room .from b{font-size:18px;color:#24303B;}
.gx-room .acts{display:flex;gap:8px;margin-top:auto;}
.gx-room .acts a{flex:1;text-align:center;padding:9px 6px;border-radius:999px;font-size:13.5px;font-weight:700;text-decoration:none;}
.gx-room .acts .a1{background:#1E6F74;color:#fff;} .gx-room .acts .a2{border:1.5px solid var(--champagne);color:#1E6F74;}
@media (max-width:640px){.gx-rooms{grid-template-columns:1fr;gap:12px;}.gx-room{flex-direction:row;}.gx-room img{width:38%;aspect-ratio:auto;height:auto;min-height:100%;}.gx-room-body{padding:10px 12px;}.gx-room h3{font-size:16px;}.gx-room .acts a{padding:7px 4px;font-size:12.5px;}}

/* ---------- 専用シャワースペース（各棟専用を強く訴求） ---------- */
.gx-shower{margin:22px 0 0;background:#fff;border-radius:16px;box-shadow:var(--shadow-sm);padding:18px 16px 14px;border:1.5px solid #CDE6E2;}
.gx-shower-head{text-align:center;margin:0 0 12px;}
.gx-only{display:inline-block;background:#1E6F74;color:#fff;border-radius:999px;padding:3px 14px;font-size:12.5px;font-weight:700;letter-spacing:.1em;}
.gx-shower h3{margin:8px 0 6px;font-size:clamp(19px,3vw,23px);color:#1E6F74;letter-spacing:.1em;line-height:1.5;}
.gx-shower-head p{margin:0;font-size:14px;line-height:1.8;}
.gx-shower-head p b{color:#1E6F74;background:linear-gradient(transparent 62%,#F1E3C2 62%);}
.gx-shower-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.gx-shower-photos figure{margin:0;}
.gx-shower-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;}
.gx-shower-photos figcaption{font-size:12px;color:#4A5561;text-align:center;padding:4px 0 0;}
.gx-shower-pts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 0;padding:0;list-style:none;}
.gx-shower-pts li{background:#E4F3F1;border-radius:10px;padding:8px 4px;text-align:center;font-size:12px;line-height:1.5;}
.gx-shower-pts li b{display:block;font-size:14.5px;color:#1E6F74;}
br.sp{display:none;}
@media (max-width:640px){.gx-shower-pts{grid-template-columns:repeat(2,1fr);gap:6px;}br.sp{display:inline;}}

/* ---------- 食事・BBQ：料金比較・手順・朝食不要割引 ---------- */
.gx-bbqprice{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:stretch;margin:0 0 18px;}
.gx-bbq-card{background:#fff;border-radius:14px;padding:16px;text-align:center;box-shadow:var(--shadow-sm);border:1.5px solid var(--line);display:flex;flex-direction:column;justify-content:center;}
.gx-bbq-card.best{border:2px solid #B8965A;background:linear-gradient(180deg,#FFFDF7,#F7F1E4);}
.gx-bbq-card .who{margin:8px 0 4px;font-size:13.5px;line-height:1.7;}
.gx-bbq-card .who b{color:#1E6F74;}
.gx-bbq-card .yen{margin:0;font-size:15px;color:#4A5561;} .gx-bbq-card .yen b{font-size:30px;color:#24303B;letter-spacing:.02em;}
.gx-bbq-card.best .yen b{font-size:38px;color:#A5844A;}
.gx-bbq-card .yen small{font-size:12px;margin-left:2px;}
.gx-bbq-card .note{margin:4px 0 0;font-size:12.5px;color:#A5844A;font-weight:700;}
.gx-bbq-card:not(.best) .yen b{text-decoration:none;}
@media (max-width:640px){.gx-bbqprice{grid-template-columns:1fr;}.gx-bbq-card{padding:12px;}.gx-bbq-card .yen b{font-size:24px;}.gx-bbq-card.best .yen b{font-size:32px;}}
.gx-steps{counter-reset:s;list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.gx-steps li{counter-increment:s;background:#fff;border-radius:12px;padding:12px 12px 12px 46px;position:relative;font-size:13px;line-height:1.7;box-shadow:var(--shadow-sm);}
.gx-steps li::before{content:counter(s);position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:50%;background:#1E6F74;color:#fff;font-weight:700;text-align:center;line-height:24px;font-size:13px;}
.gx-steps li b{display:block;font-size:14px;color:#1E6F74;}
@media (max-width:760px){.gx-steps{grid-template-columns:1fr;gap:6px;}}
.gx-bfoff{background:#E4F3F1;border-radius:12px;padding:12px 14px;margin:6px 0 0;}
.gx-bfoff p{margin:0 0 4px;font-size:13.5px;line-height:1.75;} .gx-bfoff p b{color:#1E6F74;font-size:15px;}

.gx-off{display:inline-block;background:#B8965A;color:#fff;border-radius:999px;padding:0 8px;font-size:11px;font-weight:700;letter-spacing:.04em;vertical-align:2px;}

/* ---------- 特徴タイル（下層ページへの入口） ---------- */
.gx-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.gx-tile{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/5;color:#fff;text-decoration:none;background:#24354A center/cover no-repeat;box-shadow:var(--shadow-sm);}
.gx-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(10,20,30,.75));}
.gx-tile span{position:absolute;left:12px;right:12px;bottom:10px;font-size:12.5px;line-height:1.55;}
.gx-tile b{display:block;font-size:16px;letter-spacing:.06em;margin-bottom:2px;}
.gx-tile em{font-style:normal;font-size:11.5px;color:#F1E3C2;}
@media (max-width:760px){.gx-tiles{grid-template-columns:1fr 1fr;gap:10px;}.gx-tile{aspect-ratio:1/1;}}

/* ---------- 基本情報・料金・FAQ ---------- */
.gx-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px;margin:0;}
.gx-facts div{display:grid;grid-template-columns:8.5em 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7;}
.gx-facts dt{font-weight:700;color:#1E6F74;} .gx-facts dd{margin:0;}
@media (max-width:760px){.gx-facts{grid-template-columns:1fr;}.gx-facts div{grid-template-columns:6.5em 1fr;font-size:13.5px;}}
.gx-rate{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);}
.gx-rate th,.gx-rate td{padding:9px 10px;border-bottom:1px solid #f0ece3;text-align:center;}
.gx-rate thead th{background:#1E6F74;color:#fff;font-size:13px;}
.gx-rate tbody th{text-align:left;font-size:13px;} .gx-rate tbody th small{display:block;color:#888;font-weight:400;font-size:11.5px;}
.gx-faq details{background:#fff;border-radius:12px;margin:0 0 8px;box-shadow:var(--shadow-sm);}
.gx-faq summary{cursor:pointer;padding:12px 40px 12px 14px;font-weight:700;font-size:14.5px;position:relative;list-style:none;}
.gx-faq summary::-webkit-details-marker{display:none;}
.gx-faq summary::after{content:"＋";position:absolute;right:14px;top:11px;color:#A5844A;}
.gx-faq details[open] summary::after{content:"－";}
.gx-faq details p{margin:0;padding:0 14px 12px;font-size:13.5px;line-height:1.85;}
.gx-more{text-align:center;margin:14px 0 0;font-size:14px;}

/* ---------- ギャラリー帯 ---------- */
.gx-gal{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;}
.gx-gal img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;}
@media (max-width:760px){.gx-gal{grid-template-columns:repeat(3,1fr);}}

/* ---------- 最後の予約ボックス（全ページ共通の締め） ---------- */
.gx-endcta{background:linear-gradient(135deg,#1E6F74,#24354A);color:#fff;border-radius:16px;padding:22px 18px;text-align:center;}
.gx-endcta h2{margin:0 0 6px;font-size:20px;letter-spacing:.1em;}
.gx-endcta p{margin:0 0 14px;font-size:13.5px;line-height:1.8;opacity:.95;}
.gx-endcta .btn{background:linear-gradient(180deg,#D5B97E,#B8965A);min-width:240px;}
.gx-endcta .tel{display:block;margin-top:10px;font-size:12.5px;color:#F1E3C2;}
.gx-endcta .tel a{color:#fff;}

/* ---------- スマホ下部の固定予約バー（全グランピングページ） ---------- */
.gx-bar{position:fixed;left:0;right:0;bottom:0;z-index:150;display:flex;align-items:center;gap:10px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08);transform:translateY(110%);transition:transform .25s ease;}
.gx-bar.show{transform:none;}
.gx-bar .p{flex:1;font-size:11.5px;line-height:1.35;color:#4A5561;}
.gx-bar .p b{font-size:15px;color:#24303B;} .gx-bar .p .brg{color:#A5844A;font-weight:700;}
.gx-bar .btn{min-width:0;padding:11px 18px;font-size:15px;white-space:nowrap;}
@media (min-width:861px){.gx-bar{left:auto;right:20px;bottom:20px;border-radius:999px;border:1px solid var(--line);padding:8px 8px 8px 18px;}}
body.has-gx-bar{padding-bottom:70px;}

/* ---------- 下層ページ：ページ内目次・客室の詳細 ---------- */
.gx-toc{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(4px);}
.gx-toc .wrap{display:flex;gap:4px;overflow-x:auto;padding-top:6px;padding-bottom:6px;white-space:nowrap;}
.gx-toc a{padding:5px 12px;border-radius:999px;font-size:13px;text-decoration:none;color:#24303B;}
.gx-toc a:hover{background:var(--champagne-pale);}
.gx-toc a.book{background:#1E6F74;color:#fff;font-weight:700;margin-left:auto;}
.gx-roomhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px;margin:0 0 12px;}
.gx-roomhead h2{margin:0;font-size:22px;color:#1E6F74;letter-spacing:.1em;}
.gx-roomhead .gx-spec{font-size:13.5px;color:#4A5561;}
.gx-roomcta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:var(--shadow-sm);margin:12px 0 0;}
.gx-roomcta .p{font-size:13px;} .gx-roomcta .p b{font-size:17px;}
.gx-roomcta .btn{min-width:0;padding:10px 18px;}
.gx-amen{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none;}
.gx-amen li{background:#fff;border-radius:10px;padding:9px 8px;text-align:center;font-size:12.5px;box-shadow:var(--shadow-sm);}
.gx-amen li b{display:block;font-size:18px;line-height:1.2;margin-bottom:2px;}
@media (max-width:640px){.gx-amen{grid-template-columns:repeat(3,1fr);}}

/* ---------- フッター上の専用メニュー帯（ヘッダー下と同じもの） ---------- */
.gh-local-foot{margin-top:40px;}
.gx-tile{cursor:default;}.course-steps li span.gx-off{display:inline-block;width:auto;margin:0 0 0 4px;padding:0 8px;color:#fff;font-size:11px;line-height:1.6;}

/* ---------- スマホ：グランピングの専用メニュー帯は横スクロールせず 3列×2段で全部見せる（サイトマップの役割） ---------- */
@media (max-width:900px){
  .gh-local.glamp .gh-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0;overflow:visible;padding-left:0;padding-right:0;}
  .gh-local.glamp .gh-local-label{display:none;}
  .gh-local.glamp a{display:block;text-align:center;white-space:nowrap;padding:10px 2px;font-size:13px;border-bottom:1px solid #EAE3D5;border-right:1px solid #EAE3D5;}
  .gh-local.glamp a:nth-of-type(3n){border-right:0;}
  .gh-local.glamp a:nth-last-of-type(-n+3){border-bottom:0;}
  .gh-local.glamp a.active{background:#fff;font-weight:700;color:#1E6F74;box-shadow:inset 0 -3px 0 var(--champagne);}
  .gh-local.glamp .gh-local-book{position:static;margin:0;border-radius:0;box-shadow:none;padding:10px 2px !important;}
  .gh-local.glamp .gh-local-book.active{box-shadow:inset 0 -3px 0 #C8A86B;}
}
/* ---------- キャンプ場全体貸切（2026-10-04）：トップの告知・特集ページ ---------- */
.gx-whole{position:relative;border-radius:18px;overflow:hidden;color:#fff;background:#24354A center/cover no-repeat;box-shadow:var(--shadow-sm);margin:0 0 22px;}
.gx-whole::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(20,45,55,.92) 30%,rgba(20,45,55,.55));}
.gx-whole-in{position:relative;padding:22px 20px 20px;}
.gx-whole .tag{display:inline-block;background:linear-gradient(180deg,#D5B97E,#B8965A);color:#fff;border-radius:999px;padding:3px 14px;font-size:12.5px;font-weight:700;letter-spacing:.08em;}
.gx-whole h2{margin:8px 0 6px;font-size:clamp(21px,4vw,30px);letter-spacing:.08em;line-height:1.45;}
.gx-whole h2 small{display:block;font-size:.55em;letter-spacing:.12em;color:#F1E3C2;font-weight:400;}
.gx-whole .lead{margin:0 0 12px;font-size:14px;line-height:1.85;}
.gx-whole .lead,.gx-whole-pts li,.gx-whole-price{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35);}
.gx-whole-pts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px;padding:0;list-style:none;}
.gx-whole-pts li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.65;}
.gx-whole-pts li b{display:block;font-size:15px;color:#F1E3C2;margin-bottom:2px;}
.gx-whole-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 14px;font-size:13px;}
.gx-whole-price b{font-size:24px;color:#fff;letter-spacing:.02em;}
.gx-whole-price .save{background:#fff;color:#A5844A;border-radius:999px;padding:2px 10px;font-weight:700;font-size:12.5px;}
.gx-whole-cta{display:flex;flex-wrap:wrap;gap:10px;}
.gx-whole-cta .btn{min-width:0;padding:12px 22px;}
.gx-whole-cta .btn.gold{background:linear-gradient(180deg,#D5B97E,#B8965A);}
.gx-whole-cta .btn.line{background:transparent;border:1.5px solid rgba(255,255,255,.8);color:#fff;}
@media (max-width:760px){.gx-whole-pts{grid-template-columns:1fr;gap:6px;}.gx-whole-pts li{padding:8px 10px;}.gx-whole-cta .btn{flex:1 1 100%;text-align:center;}}
.gk-section{scroll-margin-top:60px;}
.gk-pts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0;list-style:none;}
.gk-pts li{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);}
.gk-pts img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.gk-pts div{padding:12px 14px 14px;font-size:13.5px;line-height:1.85;}
.gk-pts h3{margin:0 0 4px;font-size:17px;color:#1E6F74;letter-spacing:.06em;}
.gk-use{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.gk-use article{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-sm);border-top:4px solid #B8965A;}
.gk-use h3{margin:0 0 6px;font-size:17px;color:#1E6F74;}
.gk-use p{margin:0 0 6px;font-size:13.5px;line-height:1.85;}
.gk-use .model{font-size:12.5px;color:#4A5561;background:var(--champagne-pale);border-radius:8px;padding:6px 10px;}
.gk-rooms{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 12px;}
.gk-rooms figure{margin:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);}
.gk-rooms img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.gk-rooms figcaption{padding:8px 12px;font-size:13px;line-height:1.6;} .gk-rooms figcaption b{color:#1E6F74;font-size:15px;}
.gk-rule{background:#FBF7EE;border:1.5px solid #E5D3A8;border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.85;margin:14px 0 0;}
.gk-rule b{color:#7A5F2C;}
.gx-rate td.ab{background:#FBF7EE;font-weight:700;} .gx-rate td small{display:block;font-weight:400;font-size:11.5px;color:#A5844A;}
@media (max-width:760px){.gk-pts,.gk-use,.gk-rooms{grid-template-columns:1fr;gap:10px;}}

/* ---------- お客様の声（宿泊の口コミ、2026-10-05） ---------- */
.gx-rv-box{margin:14px 0 0;}
.gx-rv .rv-list{margin-top:6px;}

/* ページ末の「次のページ」 */
.gx-next{display:flex;justify-content:center;margin:18px 0 0;}
.gx-next .btn{min-width:min(100%,320px);text-align:center;}