/* TOP v2 ― すべて .gz2 の中だけに効きます。既存の headerfooter.css(section や h1 の !important)を打ち消す指定を含みます。 */
.gz2{--g:#1E4535;--gd:#14281F;--gold:#7A5C14;--goldl:#E3C77A;--bg:#FAF7F0;--line:#DDD6C6;--sub:#4A5A52;
  font-family:'Noto Sans JP',sans-serif;font-size:17px;line-height:1.8;color:#1B2B24;background:var(--bg)}
.gz2 *{font-family:'Noto Sans JP',sans-serif;box-sizing:border-box}
.gz2 a{color:inherit;text-decoration:none}
.gz2 a:hover{color:var(--gold)}
.gz2 img{width:100%;height:100%;object-fit:cover;display:block}
.gz2 ul,.gz2 ol{list-style:none;margin:0;padding:0}
.gz2 p{margin:0}
.gz2 h1,.gz2 h2,.gz2 h3{margin:0}
body{margin:0}
.gz2-wrap{max-width:1200px;margin:0 auto}

/* ボタン */
.gz2 .gz2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;border-radius:6px;font-size:18px;font-weight:700;cursor:pointer;border:0}
.gz2 .gz2-btn--line{background:#05A94B;color:#FFFFFF}
.gz2 .gz2-btn--line:hover{color:#FFFFFF;filter:brightness(1.08)}
.gz2 .gz2-btn--gold{background:var(--goldl);color:#1B2B24}
.gz2 .gz2-btn--gold:hover{color:#1B2B24}
.gz2 .gz2-btn--ghost{border:2px solid #fff;color:#fff;background:transparent}
.gz2 .gz2-btn--ghost:hover{color:#fff;background:rgba(255,255,255,.12)}

/* ヘッダー */
.gz2 .gz2-header{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;padding:14px 48px;background:#fff;border-bottom:1px solid var(--line)}
.gz2 .gz2-brand{font-size:28px;font-weight:700;color:#212529;letter-spacing:0;line-height:1.2;text-decoration:none}   /* ロゴは字間をあけず、詰めて表示 */
.gz2 .gz2-nav{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:16px;font-weight:500}
.gz2 .gz2-header .gz2-btn{min-height:46px;padding:0 24px;font-size:16px}

/* ヒーロー */
.gz2 .gz2-hero{position:relative;min-height:720px;display:flex;align-items:center;padding:96px 48px 110px !important;color:#fff;background:#274A3C !important;overflow:hidden}
.gz2 .gz2-hero__bg{position:absolute;inset:0}
.gz2 .gz2-hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}
.gz2 .gz2-hero__slide.is-on{opacity:1}
.gz2 .gz2-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,22,.55),rgba(10,30,22,.35) 45%,rgba(10,30,22,.7))}
.gz2 .gz2-hero__inner{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto}
.gz2 .gz2-hero__tag{display:inline-block;margin-bottom:16px;padding:4px 16px;border:1px solid var(--goldl);color:var(--goldl);font-size:16px;font-weight:700;border-radius:999px}
.gz2 .gz2-hero h1{font-size:56px !important;line-height:1.3;font-weight:700 !important;color:#fff;margin-bottom:12px}
.gz2 .gz2-hero__lead{font-size:24px;font-weight:500;margin-bottom:6px}
.gz2 .gz2-hero__sub{font-size:18px;margin-bottom:32px;color:#E6EFE9}
.gz2 .gz2-search{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;max-width:880px;padding:22px 24px;background:rgba(255,255,255,.95);border-radius:10px;color:#1B2B24}
.gz2 .gz2-search label{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;font-size:14px;font-weight:700;color:var(--sub)}
.gz2 .gz2-search select{height:52px;padding:0 14px;font-size:17px;border:1px solid #8A998F;border-radius:6px;background:#fff;color:#1B2B24}
.gz2 .gz2-search .gz2-btn{flex:0 0 auto;min-height:52px}
.gz2 .gz2-hero__cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}

/* 共通セクション(headerfooter.css の section 指定を打ち消す) */
.gz2 section.gz2-sec{padding:96px 48px !important;background:#fff !important;color:#1B2B24 !important}
.gz2 section.gz2-sec--warm{background:var(--bg) !important}
.gz2 section.gz2-sec--dark{background:var(--g) !important;color:#fff !important}
.gz2 section.gz2-facts{padding:40px 48px !important;background:#fff !important;border-bottom:1px solid var(--line)}
.gz2 section.gz2-band{padding:72px 48px !important;background:var(--g) !important;color:#fff !important;text-align:center}
.gz2 section.gz2-company{padding:28px 48px !important;background:var(--g) !important;color:#E6EFE9 !important}
/* 相談帯と会社情報は同じ背景。境目に細い線だけ入れる */
.gz2 section.gz2-company .gz2-wrap{border-top:1px solid rgba(255,255,255,.2);padding-top:24px}
/* 背景を交互にする: ご利用の流れ(ベージュ)の次に続く取扱い都市一覧は白 */
.gz2 section#gz2-flow + section#list{background:#fff !important}
.gz2 section.gz2-hero{color:#fff !important}
.gz2-sec h2,.gz2-band h2{font-size:36px !important;line-height:1.4;font-weight:700 !important;color:var(--g);margin-bottom:12px}
.gz2-sec--dark h2{color:#fff}
.gz2-eyebrow{font-size:13px;letter-spacing:.18em;font-weight:700;color:var(--gold);margin-bottom:8px !important}
.gz2-eyebrow--gold{color:var(--goldl)}
.gz2-lead{margin-bottom:36px !important;color:var(--sub)}
.gz2-sec h2+.gz2-grid,.gz2-sec h2+.gz2-steps,.gz2-sec h2+.gz2-guide{margin-top:32px}
.gz2-note{margin-top:20px !important;font-size:14px;color:var(--sub);line-height:1.8}
.gz2-h3{margin:44px 0 16px !important;font-size:22px !important;color:var(--goldl)}
.gz2-h3--dark{color:var(--g)}

/* 数字の帯 */
.gz2-facts__list{display:flex;flex-wrap:wrap}
.gz2-facts__list li{flex:1 1 240px;padding:6px 24px;text-align:center;border-left:1px solid var(--line)}
.gz2-facts__list li:first-child{border-left:0}
.gz2-facts__list strong{display:block;font-size:34px;line-height:1.4;color:var(--g)}
.gz2-facts__list span{font-size:16px;color:var(--sub)}
.gz2-band .gz2-note{color:#E6EFE9}

/* グリッド・カード */
.gz2-grid{display:grid;gap:24px}
.gz2-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gz2-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gz2 .gz2-card{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.gz2 .gz2-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.16);transform:translateY(-2px);color:inherit}
.gz2-card__img{position:relative;aspect-ratio:4/3}   /* ゴルフ場サムネイル・次の旅行の写真 680×510(4:3) */
.gz2-card__img--wide{aspect-ratio:16/9}
.gz2-card__img--sq{aspect-ratio:1/1}              /* (未使用)正方形 */
.gz2-ph{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#BFCDC3 0 14px,#B3C3B8 14px 28px);color:#2C4A3D;font-size:15px;overflow:hidden}
.gz2-card__city{position:absolute;left:10px;top:10px;padding:1px 10px;font-style:normal;font-size:14px;font-weight:700;background:rgba(20,40,31,.85);color:#fff;border-radius:4px}
.gz2-card--multi{position:relative}
.gz2 .gz2-stretch::after{content:"";position:absolute;inset:0;z-index:1}   /* カード全体を国ページへのリンクに */
.gz2 .gz2-citylink{position:relative;z-index:2;text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);text-underline-offset:3px}
.gz2 .gz2-citylink:hover{color:var(--gold);text-decoration-color:currentColor}
.gz2-card__body{padding:18px 20px 22px}
.gz2-card__title{font-size:24px;font-weight:700;color:var(--g);line-height:1.4}
.gz2-card__title--sm{font-size:18px;margin-bottom:8px}
.gz2-card__text{margin:4px 0 10px !important;font-size:15px;color:var(--sub)}
.gz2 .gz2-tag{display:inline-block;padding:2px 12px;font-size:14px;font-weight:700;background:#E7EFE9;color:var(--g);border-radius:4px}
.gz2 .gz2-tag--gold{background:var(--goldl);color:#1B2B24;margin-right:10px}
.gz2-price{margin-top:10px;font-size:18px;font-weight:700}
.gz2-price__note{margin-top:2px;font-size:13px;color:#6B6B60}

/* エリア */
.gz2 .gz2-area{display:block;padding:24px 26px;background:var(--bg);border:1px solid var(--line);border-radius:10px}
.gz2-area__title{font-size:24px;font-weight:700;color:var(--g)}
.gz2-area p{margin:4px 0 10px !important;font-size:15px;line-height:1.9;color:var(--sub)}
.gz2 .gz2-area .gz2-citylink{color:var(--sub);white-space:nowrap}   /* エリアの都市名は1つずつ各都市ページへ */
.gz2 .gz2-area .gz2-citylink:hover{color:var(--gold)}
.gz2-area__count{font-size:14px;font-weight:700;color:var(--gold)}
.gz2 .gz2-area--img{padding:0;overflow:hidden}
.gz2-area__img{aspect-ratio:16/9;overflow:hidden}
.gz2-area__img img{display:block;width:100%;height:100%;object-fit:cover}
.gz2-area--img .gz2-area__body{padding:18px 22px 20px}

/* おすすめ(濃い緑の帯) */
.gz2-list li a{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2);color:#fff}
.gz2 .gz2-sec--dark a:hover{color:var(--goldl)}
.gz2-list--cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;align-items:stretch}
.gz2-thumb{flex:0 0 160px;border-radius:6px;overflow:hidden;background:none}   /* 元の比率のまま表示(切り取らない) */
.gz2 .gz2-thumb img{width:100%;height:auto;object-fit:contain}
.gz2-list__title{display:block;margin-top:4px;font-size:17px;line-height:1.6}

/* こだわり */
.gz2-reason{display:flex;align-items:center;gap:48px;margin-top:40px}
.gz2-reason--rev{flex-direction:row-reverse}
.gz2-reason__img{flex:1 1 50%;aspect-ratio:16/9;border-radius:10px}
.gz2-reason__body{flex:1 1 50%}
.gz2-reason__no{font-size:44px;font-weight:700;color:var(--gold);line-height:1.2}
.gz2-reason h3{font-size:26px !important;color:var(--g);margin:4px 0 10px !important}
.gz2 .gz2-box{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:10px}
.gz2-box__title{font-size:19px;font-weight:700;color:var(--g)}
.gz2-box p{margin-top:6px !important;font-size:15px;color:var(--sub)}

/* 流れ */
.gz2-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gz2-steps li{padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:10px}
.gz2-steps__no{display:block;font-size:30px;font-weight:700;color:var(--gold);line-height:1.3}
.gz2-steps strong{display:block;font-size:19px;color:var(--g)}
.gz2-steps p{margin-top:6px !important;font-size:15px;color:var(--sub)}

/* 都市一覧 */
.gz2-clist{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.gz2-clist h3{font-size:20px !important;color:var(--gold);margin-bottom:10px !important}
.gz2-clist__row{display:grid;grid-template-columns:9em minmax(0,1fr);align-items:start;gap:6px 16px;padding:8px 0}
.gz2-clist__cities{display:flex;flex-wrap:wrap;gap:8px 10px}
.gz2 .gz2-clist__country{font-weight:700;color:var(--g);padding-top:5px}
.gz2 .gz2-clist__city{display:inline-block;padding:4px 14px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:15px}
/* 相談帯・会社情報 */
.gz2-band p{margin-bottom:24px !important;color:#E6EFE9}
.gz2-band h2{color:#fff}
.gz2-band__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.gz2-company__label{font-size:13px;letter-spacing:.1em;color:var(--goldl);margin-bottom:4px !important}
.gz2-company p{font-size:15px}

/* スマホ */
@media (max-width:991px){
  .gz2-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gz2-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gz2-list--cards{grid-template-columns:1fr}
}
@media (max-width:767px){
  .gz2{font-size:16px}
  .gz2 .gz2-header{padding:10px 20px;flex-wrap:nowrap}
  .gz2 .gz2-nav{display:none}
  .gz2 .gz2-brand{font-size:26px}
  .gz2 .gz2-hero{min-height:560px;padding:56px 20px 64px !important}
  .gz2 .gz2-hero h1{font-size:34px !important}
  .gz2 .gz2-hero__lead{font-size:18px}
  .gz2 .gz2-hero__sub{font-size:16px;margin-bottom:22px}
  .gz2 .gz2-hero__tag{font-size:14px}
  .gz2 .gz2-search{padding:16px}
  .gz2 .gz2-hero__cta .gz2-btn,.gz2 .gz2-search .gz2-btn{width:100%}
  .gz2 section.gz2-sec{padding:56px 20px !important}
  .gz2 section.gz2-facts{padding:24px 20px !important}
  .gz2 section.gz2-band{padding:48px 20px !important}
  .gz2 section.gz2-company{padding:24px 20px !important}
  .gz2-sec h2,.gz2-band h2{font-size:26px !important}
  .gz2-facts__list li{flex:1 1 45%;border-left:0;padding:8px 6px}
  .gz2-facts__list strong{font-size:22px}
  .gz2-facts__list span{font-size:13px}
  .gz2-grid--3{grid-template-columns:1fr}
  .gz2-card__title{font-size:20px}
  .gz2-reason,.gz2-reason--rev{flex-direction:column;gap:16px}
  .gz2-reason__img{width:100%;flex:none}
  .gz2-steps{grid-template-columns:1fr}
  .gz2 .gz2-hero__cta .gz2-btn,.gz2 .gz2-band__btns .gz2-btn{width:100%}
  .gz2 .gz2-header .gz2-btn{width:auto;min-height:42px;padding:0 16px;font-size:15px}
  .gz2-grid{gap:14px}
  .gz2-card__body{padding:14px 14px 18px}
  .gz2-card__title{font-size:18px}
  .gz2-card__text{font-size:13px}
  .gz2 .gz2-tag{font-size:12px;padding:2px 8px}
  .gz2-price{font-size:16px}
}

/* Instagram・会社情報の補足 */
.gz2-insta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.gz2-insta a{display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden}
.gz2-company__sub{margin-top:4px !important;font-size:14px;color:#B9C9BF}
@media (max-width:767px){.gz2-insta{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.gz2-thumb{flex-basis:120px}}
@media (max-width:767px){.gz2-clist__row{grid-template-columns:1fr;gap:4px}.gz2 .gz2-clist__country{padding-top:0}
  .gz2-clist__cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gz2 .gz2-clist__city{text-align:center;padding:6px 8px}}

/* はじめての海外ゴルフ */
.gz2-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gz2-guide__round{order:1}.gz2-guide__rental{order:2}.gz2-guide__dress{order:3;grid-column:1/-1}
.gz2-guide .gz2-box p{margin-top:8px !important}
.gz2-guide__lead{font-weight:700;color:var(--g)}
.gz2-guide__note{font-size:.9em;color:#4A5A52}
.gz2-dress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:12px}
.gz2-dress h4{margin:0 0 4px;font-size:17px;color:var(--gold);font-weight:700}
.gz2-dress p{margin-top:4px !important}
.gz2 .gz2-ng{color:#9A3B2E;font-size:14px}
@media (max-width:767px){
  .gz2-guide{grid-template-columns:1fr}
  .gz2-guide__round,.gz2-guide__rental,.gz2-guide__dress{order:0;grid-column:auto}
  .gz2-dress{grid-template-columns:1fr}
}
