:root{
  --orange:#FF8C42;--orange-lt:#FFF0EA;--orange-dk:#C94E20;
  --green:#2E8B57;--green-lt:#E8F5EE;
  --yellow:#FFD700;--cream:#FFF8F0;
  --dark:#1A1A2E;--gray:#6B6B7B;--light:#F9F5F0;
  --radius:16px;
}
body{font-family:'Noto Sans JP','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MS PGothic',sans-serif;background:var(--cream);color:var(--dark);overflow-x:hidden}

/* HERO */
.gc-hero{position:relative;overflow:hidden;min-height:420px}
.gc-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.gc-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,120,40,0.72) 0%,rgba(20,20,50,0.55) 100%)}
.gc-hero-body{position:relative;z-index:1;padding:56px 24px 64px;text-align:center}
.gc-badge{display:inline-block;background:var(--yellow);color:#7A5200;font-size:13px;font-weight:700;padding:6px 20px;border-radius:40px;margin-bottom:20px;letter-spacing:.08em}
.gc-hero h1{font-size:clamp(24px,5vw,42px);font-weight:900;color:#fff;line-height:1.35;margin-bottom:16px;text-shadow:0 2px 16px rgba(0,0,0,.35)}
.gc-hero h1 span{display:block;font-size:.62em;font-weight:500;opacity:.95;margin-top:8px}
.gc-hero-sub{font-size:16px;color:rgba(255,255,255,.95);line-height:1.8;max-width:560px;margin:0 auto 32px;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.gc-hero-icons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.gc-icon-item{background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.45);border-radius:12px;padding:10px 14px;color:#fff;font-size:13px;font-weight:700;text-align:center;backdrop-filter:blur(4px)}
.gc-icon-item .em{display:block;font-size:20px;margin-bottom:4px;color:var(--yellow)}
.gc-promise-item .pe{font-size:20px;display:block;margin-bottom:5px;color:var(--yellow)}

/* PROMISE STRIP */
.gc-promise{display:flex;justify-content:center;flex-wrap:wrap;background:var(--dark)}
.gc-promise-item{flex:1 1 180px;padding:20px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.gc-promise-item:last-child{border-right:none}
.gc-promise-item .pe{font-size:22px;display:block;margin-bottom:5px}
.gc-promise-item strong{display:block;font-size:13px;font-weight:700;color:#fff;margin-bottom:3px}
.gc-promise-item span{font-size:11px;color:rgba(255,255,255,.55)}

/* DIVIDER */
.gc-divider{height:6px;background:linear-gradient(90deg,var(--orange) 0%,var(--yellow) 50%,var(--green) 100%)}

/* SECTION */
.gc-section{padding:52px 24px;max-width:960px;margin:0 auto}
.gc-tag{display:inline-flex;align-items:center;gap:6px;background:var(--orange-lt);color:var(--orange-dk);font-size:12px;font-weight:700;padding:5px 14px;border-radius:40px;margin-bottom:12px;letter-spacing:.06em}
.gc-section h2{font-size:clamp(20px,4vw,28px);font-weight:900;color:var(--dark);line-height:1.3;margin-bottom:8px}
.gc-section h2 em{font-style:normal;color:var(--orange)}
.gc-lead{font-size:15px;color:var(--gray);line-height:1.8;max-width:600px;margin-bottom:36px}

/* ROOM GALLERY */
.gc-room-block{margin-bottom:32px}
.gc-room-block:last-child{margin-bottom:0}
.gc-room-header{border-radius:12px 12px 0 0;padding:11px 18px}
.gc-room-premium{background:linear-gradient(90deg,#C94E20,#FF8C42)}
.gc-room-l2{background:linear-gradient(90deg,#1A6640,#2E8B57)}
.gc-room-label{color:#fff;font-size:15px;font-weight:700;letter-spacing:.04em}
.gc-room-grid{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:1fr 1fr;gap:4px;border-radius:0 0 12px 12px;overflow:hidden;background:#fff}
.gc-room-grid-main{grid-row:span 2;overflow:hidden}
.gc-room-grid-main img{width:100%;height:100%;object-fit:cover;display:block}
.gc-room-grid-sub{overflow:hidden}
.gc-room-grid-sub img{width:100%;height:160px;object-fit:cover;display:block}

/* GALLERY (旧クラス、他で使用の場合に残す) */
.gc-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gc-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);display:block}
.gc-gallery .featured{grid-column:span 2;aspect-ratio:16/9}
@media(max-width:640px){.gc-gallery{grid-template-columns:repeat(2,1fr)}.gc-gallery .featured{grid-column:span 2}}

/* AMENITY */
.gc-amenity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.gc-card{background:#fff;border:1.5px solid #F0E8E0;border-radius:var(--radius);overflow:hidden;text-align:center;transition:transform .25s,box-shadow .25s}
.gc-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(255,107,53,.14)}
.gc-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.gc-card-body{padding:10px 8px 12px}
.gc-card-body strong{display:block;font-size:13px;font-weight:700;color:var(--dark);margin-bottom:3px}
.gc-card-body p{font-size:11px;color:var(--gray);line-height:1.5}
.gc-free{display:inline-block;background:var(--green-lt);color:var(--green);font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;margin-bottom:5px}

/* ATTRACTION */
.gc-attract-bg{background:linear-gradient(180deg,#FFF8F0 0%,#FFF0EA 100%)}
.gc-attract-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gc-attract-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);display:block}
@media(max-width:600px){.gc-attract-grid{grid-template-columns:1fr}}

/* INFO PANEL */
.gc-info{background:#fff;border:2px solid var(--orange-lt);border-left:5px solid var(--orange);border-radius:var(--radius);padding:24px 24px 20px;margin-top:28px}
.gc-info h3{font-size:16px;font-weight:800;color:var(--orange-dk);margin-bottom:16px}
.gc-info-rows{display:flex;flex-direction:column;gap:12px}
.gc-info-row{display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:14px;align-items:start}
.gc-info-label{font-weight:700;color:var(--dark)}
.gc-info-val{color:var(--gray);line-height:1.7}
.gc-info-val ul{padding-left:16px}
.gc-info-val li{margin-bottom:2px}
.gc-note{font-size:12px;color:#AA8060;margin-top:3px}
.gc-tag-free{display:inline-block;background:var(--green);color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;margin-left:6px;vertical-align:middle}
@media(max-width:480px){.gc-info-row{grid-template-columns:1fr;gap:3px}}

/* CALENDAR */
.gc-cal-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.1);margin-top:28px}
.gc-cal-label{background:var(--orange);color:#fff;font-size:14px;font-weight:700;padding:10px 20px;text-align:center}
.gc-cal-wrap iframe{display:block;width:100%;border:none}

/* CTA */
.gc-cta{background:linear-gradient(135deg,var(--green) 0%,#1A6640 100%);padding:52px 24px;text-align:center}
.gc-cta h2{font-size:clamp(18px,4vw,26px);font-weight:900;color:#fff;margin-bottom:10px}
.gc-cta p{font-size:15px;color:rgba(255,255,255,.88);line-height:1.8;max-width:460px;margin:0 auto 24px}
.gc-btn{display:inline-block;text-decoration:none;background:var(--yellow);color:#7A5200;font-size:16px;font-weight:800;padding:16px 40px;border-radius:50px;box-shadow:0 4px 18px rgba(0,0,0,.2);transition:transform .2s,box-shadow .2s;letter-spacing:.03em}
.gc-btn:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(0,0,0,.25)}

/* BG LIGHT */
.gc-bg-light{background:var(--light)}