/*
Theme Name: G-Flady LP
Theme URI: https://g-flady.com/
Author: CYBERNE / ChatGPT
Description: 女性専用24時間フィットネスジム G-Flady 用ランディングページテーマ。Google広告流入を想定した1ページ完結型デザイン。
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: g-flady-lp
*/


/* =========================================================
   G-Flady KV badge fix 2026-06-17
   1) 丸バッジ内テキストを枠内に収める
   2) 丸バッジ内アイコンを1.2倍大きくする
   ========================================================= */

/* KV左カラム：リード文2行維持 */
body .lp-main .hero .hero-inner{
  grid-template-columns:minmax(680px,760px) minmax(720px,1fr) !important;
  gap:44px !important;
}

body .lp-main .hero .hero-copy{
  width:760px !important;
  max-width:760px !important;
}

body .lp-main .hero .hero-lead{
  width:720px !important;
  max-width:720px !important;
  white-space:nowrap !important;
  font-size:15px !important;
  line-height:1.85 !important;
  letter-spacing:.035em !important;
}

/* 見出し2行維持 */
body .lp-main .hero h1{
  line-height:1.16 !important;
  letter-spacing:.055em !important;
}

body .lp-main .hero h1 .h1-nowrap{
  display:inline-block !important;
  white-space:nowrap !important;
}

body .lp-main .hero h1 .hero-accent{
  display:inline !important;
  color:var(--rose,#cf5f78) !important;
}

body .lp-main .hero h1 > span:not(.h1-nowrap){
  display:inline !important;
}

/* 丸バッジ全体：少し大きくして、文字がはみ出ない余裕を確保 */
body .lp-main .hero .hero-badges{
  width:660px !important;
  max-width:660px !important;
  gap:16px !important;
  margin:26px 0 27px !important;
  display:grid !important;
  grid-template-columns:repeat(4,144px) !important;
}

/* 丸枠 */
body .lp-main .hero .hero-badges > div{
  width:144px !important;
  height:144px !important;
  min-width:144px !important;
  min-height:144px !important;
  aspect-ratio:1/1 !important;
  box-sizing:border-box !important;
  border-radius:50% !important;
  padding:17px 10px 14px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

/* アイコン：現状から約1.2倍 */
body .lp-main .hero .hero-badge-icon{
  width:72px !important;
  height:72px !important;
  max-width:72px !important;
  max-height:72px !important;
  object-fit:contain !important;
  display:block !important;
  flex:0 0 auto !important;
  margin:0 0 4px !important;
  opacity:1 !important;
  transform:none !important;
}

/* テキスト：丸枠内に収める */
body .lp-main .hero .hero-badge-text{
  display:block !important;
  width:116px !important;
  max-width:116px !important;
  font-size:11px !important;
  line-height:1.22 !important;
  letter-spacing:0 !important;
  font-weight:900 !important;
  color:var(--rose-dark,#ad435b) !important;
  text-align:center !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

/* CTAとの距離 */
body .lp-main .hero .cta-row{
  margin-top:0 !important;
}

/* 1500px以下：はみ出し防止 */
@media (max-width:1500px){
  body .lp-main .hero .hero-inner{
    grid-template-columns:minmax(610px,680px) minmax(620px,1fr) !important;
    gap:36px !important;
  }

  body .lp-main .hero .hero-copy{
    width:680px !important;
    max-width:680px !important;
  }

  body .lp-main .hero .hero-lead{
    width:650px !important;
    max-width:650px !important;
    font-size:14px !important;
  }

  body .lp-main .hero .hero-badges{
    width:604px !important;
    max-width:604px !important;
    gap:12px !important;
    grid-template-columns:repeat(4,142px) !important;
  }

  body .lp-main .hero .hero-badges > div{
    width:142px !important;
    height:142px !important;
    min-width:142px !important;
    min-height:142px !important;
    padding:16px 9px 13px !important;
  }

  body .lp-main .hero .hero-badge-icon{
    width:70px !important;
    height:70px !important;
    max-width:70px !important;
    max-height:70px !important;
  }

  body .lp-main .hero .hero-badge-text{
    width:112px !important;
    max-width:112px !important;
    font-size:10.6px !important;
    line-height:1.18 !important;
  }
}

/* 1280px以下：丸内に確実に収める */
@media (max-width:1280px){
  body .lp-main .hero .hero-badges{
    width:536px !important;
    max-width:536px !important;
    gap:10px !important;
    grid-template-columns:repeat(4,126px) !important;
  }

  body .lp-main .hero .hero-badges > div{
    width:126px !important;
    height:126px !important;
    min-width:126px !important;
    min-height:126px !important;
    padding:14px 7px 12px !important;
  }

  body .lp-main .hero .hero-badge-icon{
    width:62px !important;
    height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
  }

  body .lp-main .hero .hero-badge-text{
    width:100px !important;
    max-width:100px !important;
    font-size:9.9px !important;
    line-height:1.16 !important;
  }
}

/* SP */
@media (max-width:1180px){
  body .lp-main .hero .hero-inner{
    grid-template-columns:1fr !important;
  }

  body .lp-main .hero .hero-copy{
    width:100% !important;
    max-width:100% !important;
  }

  body .lp-main .hero .hero-lead{
    width:auto !important;
    max-width:100% !important;
    white-space:normal !important;
  }

  body .lp-main .hero .hero-badges{
    width:100% !important;
    max-width:640px !important;
    grid-template-columns:repeat(4,1fr) !important;
  }
}

@media (max-width:800px){
  body .lp-main .hero .hero-badges{
    grid-template-columns:repeat(2,1fr) !important;
    max-width:none !important;
  }

  body .lp-main .hero .hero-badges > div{
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:122px !important;
    border-radius:22px !important;
  }

  body .lp-main .hero .hero-badge-icon{
    width:64px !important;
    height:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }

  body .lp-main .hero .hero-badge-text{
    width:auto !important;
    max-width:none !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }
}

/* =========================================================
   G-Flady worries icon size fix 2026-06-17
   「こんなお悩みありませんか？」のアイコン表示だけを強制拡大
   画像自体に余白があるため、widthだけでなくscaleも併用
   ========================================================= */

body .lp-main section.worries .worry-grid .worry-card{
  overflow:hidden !important;
}

body .lp-main section.worries .worry-grid .worry-card img.worry-icon{
  width:118px !important;
  height:118px !important;
  max-width:none !important;
  max-height:none !important;
  min-width:118px !important;
  min-height:118px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto 2px !important;
  transform:scale(1.35) !important;
  transform-origin:center center !important;
}

/* アイコン拡大でテキストに近づきすぎないよう最低限だけ調整 */
body .lp-main section.worries .worry-grid .worry-card p{
  position:relative !important;
  z-index:2 !important;
  margin-top:4px !important;
}

/* スマホ時 */
@media (max-width:800px){
  body .lp-main section.worries .worry-grid .worry-card img.worry-icon{
    width:104px !important;
    height:104px !important;
    min-width:104px !important;
    min-height:104px !important;
    transform:scale(1.25) !important;
  }
}


/* =========================================================
   G-Flady readable gothic font fix 2026-06-17
   ゴシック体の視認性改善
   ========================================================= */

/* 全体のゴシックを太め・読みやすい字面に統一 */
:root{
  --sans-readable:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Meiryo",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  --serif-readable:"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif;
}

html,
body{
  font-family:var(--sans-readable) !important;
  font-weight:500 !important;
  color:#302829 !important;
  letter-spacing:.025em !important;
  line-height:1.75 !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}

/* 明朝系見出しは残しつつ、細すぎないウェイトへ */
.hero h1,
.section-title,
.compare-side h2,
.section-copy h2,
.access-copy h2,
.trial-card h2{
  font-family:var(--serif-readable) !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
  color:#2f2929 !important;
}

/* 本文・カード本文の視認性 */
p,
li,
.hero-lead,
.section-copy p,
.reason-card h3,
.lesson-card p,
.facility-card p,
.plan-card p,
.plan-card small,
.access-copy li,
.access-address,
.trial-card p,
.footer-info,
.footer-links,
.footer-nav{
  font-family:var(--sans-readable) !important;
  font-weight:600 !important;
  color:#332d2d !important;
  letter-spacing:.02em !important;
}

/* ナビ・ボタンはやや太く */
.global-nav a,
.footer-nav a,
.btn,
.nav-cta,
.fixed-cta{
  font-family:var(--sans-readable) !important;
  font-weight:800 !important;
  letter-spacing:.025em !important;
}

/* キービジュアル本文：読みやすく */
body .lp-main .hero .hero-lead{
  font-weight:700 !important;
  color:#302829 !important;
  font-size:15px !important;
  line-height:1.9 !important;
}

/* KV丸バッジ・お悩みカードなど小さい文字を太く */
body .lp-main .hero .hero-badge-text,
body .lp-main section.worries .worry-grid .worry-card p,
.reason-card h3,
.facility-card h3,
.plan-card h3,
.lesson-card h3{
  font-family:var(--sans-readable) !important;
  font-weight:800 !important;
  color:#302829 !important;
  letter-spacing:.015em !important;
}

/* ピンク文字はやや濃くして視認性を確保 */
.hero h1 .hero-accent,
.section-title span,
.good,
.reason-card .num,
.plan-card h3,
.lesson-card h3,
.brand-main{
  color:#cf4f70 !important;
}

/* テーブルは小さくても読めるように */
.compare-table{
  font-family:var(--sans-readable) !important;
  color:#302829 !important;
}

.compare-table th,
.compare-table td{
  font-weight:600 !important;
  letter-spacing:.015em !important;
  line-height:1.65 !important;
}

.compare-table thead th{
  font-weight:800 !important;
}

/* フッターなど薄くなりがちな箇所 */
.site-footer,
.site-footer a,
.copyright{
  font-family:var(--sans-readable) !important;
  color:#3f3737 !important;
  font-weight:600 !important;
}

/* スマホ時は少し字間を抑える */
@media (max-width:800px){
  html,
  body{
    letter-spacing:.01em !important;
  }

  p,
  li,
  .hero-lead,
  .section-copy p{
    font-size:14px !important;
    line-height:1.85 !important;
  }
}


/* =========================================================
   G-Flady reason number badge fix 2026-06-17
   「G-Fladyが選ばれる6つの理由」カード左上に1〜6を明確表示
   ========================================================= */

body .lp-main .reasons .reason-card{
  position:relative !important;
  overflow:visible !important;
}

/* 1〜6の数字バッジを視認性高く表示 */
body .lp-main .reasons .reason-card .num{
  position:absolute !important;
  left:10px !important;
  top:10px !important;
  z-index:5 !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#d45b78 !important;
  color:#fff !important;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  opacity:1 !important;
  box-shadow:0 8px 18px rgba(207,79,112,.28) !important;
  border:2px solid rgba(255,255,255,.85) !important;
}

/* 画像の上に数字がきちんと乗るように */
body .lp-main .reasons .reason-card img{
  position:relative !important;
  z-index:1 !important;
}

@media (max-width:800px){
  body .lp-main .reasons .reason-card .num{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    font-size:15px !important;
    left:9px !important;
    top:9px !important;
  }
}


/* =========================================================
   G-Flady comparison v2 hard fix 2026-06-17
   比較セクションを専用クラスで再構築
   目的：画像の右に表を配置し、高さを揃える
   ========================================================= */

body .lp-main .comparison.comparison-v2{
  padding:88px 0 92px !important;
  background:#fff !important;
  overflow:visible !important;
}

body .lp-main .comparison-v2-inner{
  width:min(1480px,calc(100% - 80px)) !important;
  max-width:1480px !important;
  margin:0 auto !important;
}

body .lp-main .comparison-v2-title{
  margin:0 0 30px !important;
  padding:0 !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif) !important;
  font-size:34px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:.035em !important;
  color:#2f2929 !important;
  white-space:nowrap !important;
}

/* 画像｜表 を必ず横並びにする */
body .lp-main .comparison-v2-grid{
  display:grid !important;
  grid-template-columns:420px minmax(0,1fr) !important;
  gap:54px !important;
  align-items:stretch !important;
  width:100% !important;
}

/* 左画像 */
body .lp-main .comparison-v2-photo{
  margin:0 !important;
  padding:0 !important;
  width:420px !important;
  height:390px !important;
  min-height:390px !important;
  max-height:390px !important;
  align-self:stretch !important;
  overflow:hidden !important;
  border-radius:28px !important;
  box-shadow:0 22px 45px rgba(121,67,78,.12) !important;
}

body .lp-main .comparison-v2-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:28px !important;
}

/* 右表 */
body .lp-main .comparison-v2-table-wrap{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:390px !important;
  min-height:390px !important;
  max-height:390px !important;
  overflow:visible !important;
  display:flex !important;
  align-items:stretch !important;
  align-self:stretch !important;
  border-radius:24px !important;
  box-shadow:0 22px 45px rgba(121,67,78,.10) !important;
}

body .lp-main .comparison-v2-table{
  width:100% !important;
  height:390px !important;
  min-height:390px !important;
  max-height:390px !important;
  margin:0 !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border:1px solid #f0cfcf !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#fff !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
}

body .lp-main .comparison-v2-table th,
body .lp-main .comparison-v2-table td{
  padding:9px 12px !important;
  border-right:1px solid #f0d5d3 !important;
  border-bottom:1px solid #f0d5d3 !important;
  text-align:center !important;
  vertical-align:middle !important;
  line-height:1.45 !important;
  font-size:14px !important;
  font-weight:700 !important;
  color:#2f2929 !important;
}

body .lp-main .comparison-v2-table th:first-child,
body .lp-main .comparison-v2-table td:first-child,
body .lp-main .comparison-v2-table tbody th{
  text-align:left !important;
}

body .lp-main .comparison-v2-table thead th{
  background:#fff3f5 !important;
  font-weight:900 !important;
}

body .lp-main .comparison-v2-table thead th.gflady{
  background:#cf5f78 !important;
  color:#fff !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif) !important;
  font-size:16px !important;
  text-align:center !important;
}

body .lp-main .comparison-v2-table .good{
  color:#cf4f70 !important;
  font-weight:900 !important;
}

/* 以前の .compare-layout / .compare-side / .table-wrap 指定の影響を受けないよう保険 */
body .lp-main .comparison-v2 .compare-layout,
body .lp-main .comparison-v2 .compare-side,
body .lp-main .comparison-v2 .table-wrap,
body .lp-main .comparison-v2 .compare-table{
  all:unset;
}

/* 中間幅 */
@media (max-width:1380px){
  body .lp-main .comparison-v2-inner{
    width:min(1240px,calc(100% - 56px)) !important;
  }

  body .lp-main .comparison-v2-title{
    font-size:30px !important;
    margin-bottom:26px !important;
  }

  body .lp-main .comparison-v2-grid{
    grid-template-columns:360px minmax(0,1fr) !important;
    gap:34px !important;
  }

  body .lp-main .comparison-v2-photo,
  body .lp-main .comparison-v2-table-wrap,
  body .lp-main .comparison-v2-table{
    width:auto !important;
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
  }

  body .lp-main .comparison-v2-table th,
  body .lp-main .comparison-v2-table td{
    padding:7px 8px !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
  }
}

/* タブレット以下 */
@media (max-width:980px){
  body .lp-main .comparison-v2-inner{
    width:calc(100% - 32px) !important;
  }

  body .lp-main .comparison-v2-title{
    white-space:normal !important;
    font-size:28px !important;
  }

  body .lp-main .comparison-v2-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body .lp-main .comparison-v2-photo{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:4/3 !important;
  }

  body .lp-main .comparison-v2-table-wrap{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
  }

  body .lp-main .comparison-v2-table{
    min-width:760px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
}


/* =========================================================
   G-Flady machine intro section 2026-06-17
   「設備・マシン紹介」エリア追加
   ========================================================= */

body .lp-main .machine-intro{
  padding:34px 0 76px !important;
  background:#fff !important;
}

body .lp-main .machine-intro-inner{
  width:min(1480px,calc(100% - 80px)) !important;
  max-width:1480px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:300px minmax(0,1fr) !important;
  gap:36px !important;
  align-items:center !important;
  padding:30px 34px !important;
  border-radius:30px !important;
  background:linear-gradient(90deg,#fffafc 0%,#ffffff 42%,#fff8fa 100%) !important;
  border:1px solid rgba(240,207,207,.8) !important;
  box-shadow:0 22px 48px rgba(121,67,78,.08) !important;
}

body .lp-main .machine-copy h2{
  margin:0 0 14px !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif) !important;
  font-size:30px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  color:#2f2929 !important;
  letter-spacing:.035em !important;
}

body .lp-main .machine-copy h2::before{
  content:"・" !important;
  color:#cf5f78 !important;
  margin-right:2px !important;
}

body .lp-main .machine-copy p{
  margin:0 0 22px !important;
  font-size:14px !important;
  line-height:1.8 !important;
  font-weight:700 !important;
  color:#3c3333 !important;
}

body .lp-main .machine-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:190px !important;
  min-height:44px !important;
  padding:11px 24px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid #e7b7be !important;
  color:#2f2929 !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(121,67,78,.08) !important;
}

body .lp-main .machine-link::after{
  content:"›" !important;
  margin-left:14px !important;
  color:#cf5f78 !important;
  font-size:20px !important;
  line-height:1 !important;
}

body .lp-main .machine-card-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:16px !important;
  min-width:0 !important;
}

body .lp-main .machine-card{
  margin:0 !important;
  padding:0 0 11px !important;
  overflow:hidden !important;
  border-radius:14px !important;
  background:#fff !important;
  border:1px solid rgba(240,207,207,.85) !important;
  box-shadow:0 14px 28px rgba(121,67,78,.08) !important;
}

body .lp-main .machine-card img{
  display:block !important;
  width:100% !important;
  height:132px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:14px 14px 0 0 !important;
}

body .lp-main .machine-card h3{
  margin:9px 8px 0 !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  color:#302829 !important;
  text-align:center !important;
}

/* 前後セクションとの間隔調整 */
body .lp-main .facilities{
  padding-bottom:54px !important;
}

body .lp-main .price{
  padding-top:76px !important;
}

/* 中間幅 */
@media (max-width:1280px){
  body .lp-main .machine-intro-inner{
    grid-template-columns:260px minmax(0,1fr) !important;
    gap:26px !important;
    padding:26px 28px !important;
  }

  body .lp-main .machine-copy h2{
    font-size:26px !important;
  }

  body .lp-main .machine-card img{
    height:112px !important;
  }

  body .lp-main .machine-card h3{
    font-size:13px !important;
  }
}

/* タブレット以下 */
@media (max-width:980px){
  body .lp-main .machine-intro-inner{
    width:calc(100% - 32px) !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body .lp-main .machine-card-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }

  body .lp-main .machine-card img{
    height:150px !important;
  }
}

@media (max-width:520px){
  body .lp-main .machine-card-grid{
    grid-template-columns:1fr !important;
  }

  body .lp-main .machine-card img{
    height:180px !important;
  }

  body .lp-main .machine-link{
    width:100% !important;
  }
}


/* =========================================================
   G-Flady machine intro width fix 2026-06-17
   設備・マシン紹介：上下コンテンツと幅を合わせる
   ========================================================= */

/* セクション自体の左右幅を上下コンテンツに合わせる */
body .lp-main .machine-intro{
  padding:34px 0 76px !important;
  background:#fff !important;
}

/* ここを広げる：上下のカード列と同じ見え方になるように調整 */
body .lp-main .machine-intro .machine-intro-inner{
  width:min(1600px,calc(100% - 32px)) !important;
  max-width:1600px !important;
  margin:0 auto !important;
  padding:30px 28px !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:300px minmax(0,1fr) !important;
  gap:26px !important;
  align-items:center !important;
}

/* マシンカード側を横いっぱい使う */
body .lp-main .machine-intro .machine-card-grid{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  min-width:0 !important;
}

/* 画像カードが細くならないように */
body .lp-main .machine-intro .machine-card{
  width:100% !important;
  min-width:0 !important;
}

/* 横幅を広げた分、画像も少し大きく見えるよう調整 */
body .lp-main .machine-intro .machine-card img{
  width:100% !important;
  height:140px !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* 左テキストエリア */
body .lp-main .machine-intro .machine-copy{
  width:300px !important;
  min-width:300px !important;
}

/* 中間幅 */
@media (max-width:1280px){
  body .lp-main .machine-intro .machine-intro-inner{
    width:min(1240px,calc(100% - 28px)) !important;
    grid-template-columns:260px minmax(0,1fr) !important;
    gap:22px !important;
    padding:26px 24px !important;
  }

  body .lp-main .machine-intro .machine-copy{
    width:260px !important;
    min-width:260px !important;
  }

  body .lp-main .machine-intro .machine-card-grid{
    gap:12px !important;
  }

  body .lp-main .machine-intro .machine-card img{
    height:120px !important;
  }
}

/* タブレット以下 */
@media (max-width:980px){
  body .lp-main .machine-intro .machine-intro-inner{
    width:calc(100% - 32px) !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body .lp-main .machine-intro .machine-copy{
    width:100% !important;
    min-width:0 !important;
  }

  body .lp-main .machine-intro .machine-card-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }

  body .lp-main .machine-intro .machine-card img{
    height:150px !important;
  }
}

@media (max-width:520px){
  body .lp-main .machine-intro .machine-card-grid{
    grid-template-columns:1fr !important;
  }

  body .lp-main .machine-intro .machine-card img{
    height:180px !important;
  }
}


/* =========================================================
   G-Flady top news section 2026-06-17
   キービジュアル下・お悩み上のお知らせ欄
   ========================================================= */

body .lp-main .top-news{
  background:linear-gradient(180deg,#fff 0%,#fff8fa 100%) !important;
  padding:34px 0 30px !important;
}

body .lp-main .top-news-inner{
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  display:grid !important;
  gap:18px !important;
}

body .lp-main .top-news-row{
  display:grid !important;
  grid-template-columns:180px minmax(0,1fr) !important;
  gap:32px !important;
  align-items:center !important;
  text-decoration:none !important;
}

body .lp-main .top-news-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  color:#cf5f78 !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:17px !important;
  font-weight:900 !important;
  letter-spacing:.14em !important;
  white-space:nowrap !important;
}

body .lp-main .top-news-card{
  width:100% !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  padding:13px 34px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(240,207,207,.85) !important;
  box-shadow:0 12px 28px rgba(121,67,78,.10) !important;
  color:#2f2929 !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

body .lp-main .top-news-card time{
  color:#4a3d3d !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  padding-bottom:2px !important;
  border-bottom:1px solid rgba(47,41,41,.35) !important;
}

body .lp-main .top-news-card span{
  color:#2f2929 !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
}

body .lp-main .top-news-row:hover .top-news-card{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 36px rgba(207,95,120,.16) !important;
  border-color:#e7b7be !important;
}

/* キャンペーンは少し目立たせる */
body .lp-main .top-news-campaign .top-news-label{
  color:#cf5f78 !important;
}

body .lp-main .top-news-campaign .top-news-card{
  background:linear-gradient(90deg,#fff 0%,#fff7fa 100%) !important;
}

/* お悩みセクションとの距離 */
body .lp-main .worries{
  padding-top:54px !important;
}

/* タブレット以下 */
@media (max-width:900px){
  body .lp-main .top-news{
    padding:28px 0 24px !important;
  }

  body .lp-main .top-news-inner{
    width:calc(100% - 32px) !important;
    gap:14px !important;
  }

  body .lp-main .top-news-row{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  body .lp-main .top-news-label{
    justify-content:flex-start !important;
    min-height:0 !important;
    font-size:14px !important;
  }

  body .lp-main .top-news-card{
    min-height:58px !important;
    padding:13px 18px !important;
    gap:18px !important;
    border-radius:18px !important;
  }

  body .lp-main .top-news-card span{
    font-size:14px !important;
  }
}

@media (max-width:520px){
  body .lp-main .top-news-card{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:6px !important;
  }
}


/* =========================================================
   G-Flady access map/address fix 2026-06-17
   1) 住所・電話番号を大きく表示
   2) G-Flady名を追記
   3) 正しいGoogle Maps iframeを表示
   ========================================================= */

body .lp-main .access .access-address{
  margin-top:26px !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:17px !important;
  line-height:1.9 !important;
  font-weight:800 !important;
  color:#302829 !important;
  letter-spacing:.025em !important;
}

body .lp-main .access .access-shop-name{
  display:inline-block !important;
  margin-bottom:4px !important;
  color:#cf5f78 !important;
  font-size:22px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

body .lp-main .access .access-postal{
  display:inline-block !important;
  color:#302829 !important;
  font-size:17px !important;
  font-weight:800 !important;
}

body .lp-main .access .access-address a{
  display:inline-block !important;
  margin-top:2px !important;
  color:#cf5f78 !important;
  font-size:18px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

/* 地図をiframe表示に差し替え */
body .lp-main .access .map-card.map-card-iframe{
  position:relative !important;
  min-height:240px !important;
  height:100% !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:#fff !important;
  border:1px solid rgba(240,207,207,.9) !important;
  box-shadow:0 18px 42px rgba(121,67,78,.10) !important;
}

body .lp-main .access .map-card.map-card-iframe iframe{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:240px !important;
  border:0 !important;
  border-radius:24px !important;
}

/* 旧地図装飾の干渉を無効化 */
body .lp-main .access .map-card.map-card-iframe .map-lines,
body .lp-main .access .map-card.map-card-iframe .pin{
  display:none !important;
}

/* アクセス欄全体の高さバランス */
body .lp-main .access .access-grid{
  align-items:stretch !important;
}

body .lp-main .access .access-copy{
  min-height:100% !important;
}

@media (max-width:980px){
  body .lp-main .access .access-address{
    font-size:15px !important;
    line-height:1.8 !important;
  }

  body .lp-main .access .access-shop-name{
    font-size:20px !important;
  }

  body .lp-main .access .access-postal,
  body .lp-main .access .access-address a{
    font-size:15px !important;
  }

  body .lp-main .access .map-card.map-card-iframe,
  body .lp-main .access .map-card.map-card-iframe iframe{
    min-height:260px !important;
  }
}


/* =========================================================
   G-Flady access shop name font fix 2026-06-17
   アクセス欄の「G-Flady」をフッターと同じ明朝系ロゴ表記に統一
   ========================================================= */

body .lp-main .access .access-shop-name{
  display:inline-block !important;
  margin-bottom:6px !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif) !important;
  font-size:32px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.055em !important;
  color:#cf5f78 !important;
}

/* 住所・電話とのバランス調整 */
body .lp-main .access .access-address{
  margin-top:26px !important;
  line-height:1.9 !important;
}

body .lp-main .access .access-postal{
  margin-top:2px !important;
}

@media (max-width:980px){
  body .lp-main .access .access-shop-name{
    font-size:28px !important;
  }
}


/* =========================================================
   G-Flady access shop name font hard fix 2026-06-17
   アクセス欄の「G-Flady」をフッター同様の明朝ロゴ表記へ強制修正
   ========================================================= */

/* インライン指定 + 高詳細セレクタで確実に明朝化 */
html body .lp-main .access .access-address .access-shop-name,
html body .lp-main .access .access-address .access-shop-name-serif,
html body .lp-main .access p.access-address span.access-shop-name{
  font-family:"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN","Times New Roman",serif !important;
  font-size:32px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.055em !important;
  color:#cf5f78 !important;
  display:inline-block !important;
  margin-bottom:6px !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}

/* style.css側の汎用指定が勝たないように保険 */
html body .lp-main .access .access-address{
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
}

@media (max-width:980px){
  html body .lp-main .access .access-address .access-shop-name,
  html body .lp-main .access .access-address .access-shop-name-serif,
  html body .lp-main .access p.access-address span.access-shop-name{
    font-size:28px !important;
  }
}


/* =========================================================
   G-Flady price simple cards 2026-06-17
   トップページ料金：プラン名と金額のみの横並びカード表示
   詳細は下層ページへ誘導
   ========================================================= */

body .lp-main .price .price-simple-layout{
  grid-template-columns:310px minmax(0,1fr) !important;
  gap:54px !important;
  align-items:start !important;
}

body .lp-main .price .price-simple-layout .section-copy{
  width:310px !important;
  min-width:310px !important;
}

body .lp-main .price .price-simple-layout .section-copy h2{
  margin:0 !important;
  font-size:34px !important;
  line-height:1.45 !important;
  letter-spacing:.035em !important;
  word-break:keep-all !important;
}

body .lp-main .price .price-title-nowrap{
  display:inline-block !important;
  white-space:nowrap !important;
}

body .lp-main .price .price-simple-content{
  min-width:0 !important;
  width:100% !important;
}

/* PC：横並びカード */
body .lp-main .price .plan-grid-simple{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

body .lp-main .price .plan-card-simple{
  position:relative !important;
  min-height:184px !important;
  padding:30px 18px 26px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid #eeb8c1 !important;
  box-shadow:0 18px 38px rgba(121,67,78,.08) !important;
  text-align:center !important;
}

body .lp-main .price .plan-card-simple.is-recommend{
  border-width:2px !important;
  border-color:#cf5f78 !important;
  background:linear-gradient(180deg,#fff 0%,#fff8fa 100%) !important;
}

body .lp-main .price .plan-card-simple .recommend-badge{
  position:absolute !important;
  left:50% !important;
  top:-15px !important;
  transform:translateX(-50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:88px !important;
  height:28px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  background:#cf5f78 !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  box-shadow:0 10px 22px rgba(207,95,120,.22) !important;
}

body .lp-main .price .plan-card-simple h3{
  margin:0 0 24px !important;
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#cf5f78 !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:18px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}

body .lp-main .price .simple-price{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:8px !important;
}

body .lp-main .price .simple-price-label{
  color:#302829 !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:800 !important;
}

body .lp-main .price .simple-price strong{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:9px 18px !important;
  border-radius:999px !important;
  background:#fff8fa !important;
  border:1px solid #eeb8c1 !important;
  color:#cf4f70 !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

/* 入会金・登録手数料のトップ表示は削除 */
body .lp-main .price .price-fees,
body .lp-main .price .plan-detail-list,
body .lp-main .price .plan-note,
body .lp-main .price .note-box,
body .lp-main .price .plan-consult{
  display:none !important;
}

/* 下層ページへのボタン */
body .lp-main .price .plan-action{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  margin:42px auto 0 !important;
}

body .lp-main .price .plan-detail-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:min(420px,100%) !important;
  min-height:54px !important;
  padding:15px 40px !important;
  border-radius:999px !important;
  background:#cf5f78 !important;
  color:#fff !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:.04em !important;
  text-decoration:none !important;
  box-shadow:0 18px 35px rgba(207,95,120,.24) !important;
}

body .lp-main .price .plan-detail-btn:hover{
  opacity:.92 !important;
  transform:translateY(-1px) !important;
}

/* 中間幅：4〜5枚が詰まりすぎないよう調整 */
@media (max-width:1380px){
  body .lp-main .price .price-simple-layout{
    grid-template-columns:280px minmax(0,1fr) !important;
    gap:38px !important;
  }

  body .lp-main .price .price-simple-layout .section-copy{
    width:280px !important;
    min-width:280px !important;
  }

  body .lp-main .price .price-simple-layout .section-copy h2{
    font-size:30px !important;
  }

  body .lp-main .price .plan-grid-simple{
    gap:14px !important;
  }

  body .lp-main .price .plan-card-simple{
    padding:26px 12px 24px !important;
  }

  body .lp-main .price .plan-card-simple h3{
    font-size:15.5px !important;
  }

  body .lp-main .price .simple-price strong{
    font-size:14.5px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
}

/* SP：カード横スクロール */
@media (max-width:980px){
  body .lp-main .price .price-simple-layout{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  body .lp-main .price .price-simple-layout .section-copy{
    width:100% !important;
    min-width:0 !important;
  }

  body .lp-main .price .price-simple-layout .section-copy h2{
    font-size:30px !important;
  }

  body .lp-main .price .plan-grid-simple{
    display:flex !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    padding:16px 4px 18px !important;
    margin:0 -4px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body .lp-main .price .plan-grid-simple::-webkit-scrollbar{
    height:6px !important;
  }

  body .lp-main .price .plan-grid-simple::-webkit-scrollbar-thumb{
    background:#eeb8c1 !important;
    border-radius:999px !important;
  }

  body .lp-main .price .plan-card-simple{
    flex:0 0 230px !important;
    min-height:170px !important;
    scroll-snap-align:start !important;
  }

  body .lp-main .price .plan-action{
    margin-top:28px !important;
  }
}

@media (max-width:520px){
  body .lp-main .price .price-title-nowrap{
    white-space:normal !important;
  }

  body .lp-main .price .plan-detail-btn{
    width:100% !important;
  }
}


/* =========================================================
   G-Flady price simple card detail fix 2026-06-17
   料金カード：利用時間追加・1行収め・人気バッジ王冠付き
   ========================================================= */

/* 5枚横並びを維持しつつ、カード内テキストが収まるよう調整 */
body .lp-main .price .plan-grid-simple{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
}

/* カード高さを少し確保 */
body .lp-main .price .plan-card-simple{
  min-height:208px !important;
  padding:32px 14px 24px !important;
}

/* プラン名を1行で収める */
body .lp-main .price .plan-card-simple h3{
  width:100% !important;
  min-height:auto !important;
  margin:0 0 22px !important;
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  font-size:16px !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}

/* 「人気」バッジ：王冠付き */
body .lp-main .price .plan-card-simple .recommend-badge,
body .lp-main .price .plan-card-simple .popular-badge{
  min-width:86px !important;
  height:30px !important;
  padding:0 16px !important;
  background:#cf5f78 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}

body .lp-main .price .plan-card-simple .popular-badge{
  gap:4px !important;
}

/* 金額・時間ブロック */
body .lp-main .price .simple-price{
  width:100% !important;
  gap:9px !important;
}

body .lp-main .price .simple-price-label{
  white-space:nowrap !important;
}

body .lp-main .price .simple-price strong{
  width:100% !important;
  max-width:172px !important;
  min-height:42px !important;
  padding:8px 12px !important;
  font-size:16px !important;
  white-space:nowrap !important;
}

/* 金額の下に利用可能時間を追加 */
body .lp-main .price .simple-time{
  display:block !important;
  width:100% !important;
  max-width:184px !important;
  margin:2px auto 0 !important;
  padding:0 !important;
  color:#302829 !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:13.5px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}

/* 中間幅でも1行優先 */
@media (max-width:1380px){
  body .lp-main .price .plan-grid-simple{
    gap:12px !important;
  }

  body .lp-main .price .plan-card-simple{
    padding-left:10px !important;
    padding-right:10px !important;
    min-height:198px !important;
  }

  body .lp-main .price .plan-card-simple h3{
    font-size:13.5px !important;
  }

  body .lp-main .price .simple-price strong{
    max-width:150px !important;
    font-size:13.5px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  body .lp-main .price .simple-time{
    max-width:158px !important;
    font-size:11.8px !important;
  }
}

/* SP：横スクロール時は読みやすさ優先で少し大きく */
@media (max-width:980px){
  body .lp-main .price .plan-card-simple{
    flex:0 0 246px !important;
    min-height:196px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }

  body .lp-main .price .plan-card-simple h3{
    font-size:16px !important;
  }

  body .lp-main .price .simple-price strong{
    max-width:178px !important;
    font-size:16px !important;
  }

  body .lp-main .price .simple-time{
    max-width:190px !important;
    font-size:13.5px !important;
  }
}


/* =========================================================
   G-Flady page top button 2026-06-17
   丸枠の周りにG-Fladyテキストが回転するTOPへ戻るボタン
   ========================================================= */

html{
  scroll-behavior:smooth !important;
}

body .gflady-page-top{
  position:fixed !important;
  right:28px !important;
  bottom:96px !important;
  z-index:9998 !important;
  width:92px !important;
  height:92px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  filter:drop-shadow(0 16px 30px rgba(207,95,120,.22)) !important;
}

body .gflady-page-top__circle{
  position:relative !important;
  width:92px !important;
  height:92px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(238,184,193,.95) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease !important;
}

body .gflady-page-top__circle::before{
  content:"" !important;
  position:absolute !important;
  inset:18px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#cf5f78 0%,#e99aad 100%) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45) !important;
}

body .gflady-page-top__circle::after{
  content:"" !important;
  position:absolute !important;
  inset:10px !important;
  border-radius:50% !important;
  border:1px dashed rgba(207,95,120,.35) !important;
}

body .gflady-page-top__arrow{
  position:relative !important;
  z-index:2 !important;
  color:#fff !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho",serif) !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:700 !important;
  transform:translateY(-1px) !important;
}

body .gflady-page-top__text{
  position:absolute !important;
  inset:0 !important;
  width:92px !important;
  height:92px !important;
  animation:gfladyPageTopRotate 12s linear infinite !important;
  transform-origin:center !important;
  pointer-events:none !important;
}

body .gflady-page-top__text text{
  fill:#cf5f78 !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho",serif) !important;
  font-size:11.2px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
}

body .gflady-page-top:hover .gflady-page-top__circle{
  transform:translateY(-3px) scale(1.03) !important;
  background:#fff !important;
  box-shadow:0 18px 34px rgba(207,95,120,.20) !important;
}

body .gflady-page-top:hover .gflady-page-top__text{
  animation-duration:6s !important;
}

@keyframes gfladyPageTopRotate{
  from{
    transform:rotate(0deg);
  }
  to{
    transform:rotate(360deg);
  }
}

/* 右下ポップアップと重なりにくい位置 */
body:has(.gflady-bottom-popup) .gflady-page-top{
  bottom:132px !important;
}

/* SP表示 */
@media (max-width:768px){
  body .gflady-page-top{
    right:14px !important;
    bottom:84px !important;
    width:74px !important;
    height:74px !important;
  }

  body .gflady-page-top__circle{
    width:74px !important;
    height:74px !important;
  }

  body .gflady-page-top__circle::before{
    inset:15px !important;
  }

  body .gflady-page-top__circle::after{
    inset:8px !important;
  }

  body .gflady-page-top__arrow{
    font-size:23px !important;
  }

  body .gflady-page-top__text{
    width:74px !important;
    height:74px !important;
  }

  body .gflady-page-top__text text{
    font-size:11px !important;
    letter-spacing:.10em !important;
  }

  body:has(.gflady-bottom-popup) .gflady-page-top{
    bottom:104px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  body .gflady-page-top__text{
    animation:none !important;
  }
}


/* =========================================================
   G-Flady page top button size 1.6x 2026-06-17
   デザインは変更せず、TOPへ戻るボタン全体を1.6倍に拡大
   ========================================================= */

/* PC：92px → 約147px */
body .gflady-page-top{
  width:147px !important;
  height:147px !important;
}

body .gflady-page-top__circle{
  width:147px !important;
  height:147px !important;
}

body .gflady-page-top__circle::before{
  inset:29px !important;
}

body .gflady-page-top__circle::after{
  inset:16px !important;
}

body .gflady-page-top__arrow{
  font-size:45px !important;
  transform:translateY(-2px) !important;
}

body .gflady-page-top__text{
  width:147px !important;
  height:147px !important;
}

body .gflady-page-top__text text{
  font-size:16.3px !important;
  letter-spacing:.12em !important;
}

/* SP：74px → 約118px */
@media (max-width:768px){
  body .gflady-page-top{
    width:118px !important;
    height:118px !important;
  }

  body .gflady-page-top__circle{
    width:118px !important;
    height:118px !important;
  }

  body .gflady-page-top__circle::before{
    inset:24px !important;
  }

  body .gflady-page-top__circle::after{
    inset:13px !important;
  }

  body .gflady-page-top__arrow{
    font-size:37px !important;
    transform:translateY(-2px) !important;
  }

  body .gflady-page-top__text{
    width:118px !important;
    height:118px !important;
  }

  body .gflady-page-top__text text{
    font-size:16px !important;
    letter-spacing:.10em !important;
  }
}


/* =========================================================
   G-Flady SP hero key visual 2026-06-17
   SP表示：縦長キービジュアル画像を全面表示し、
   テキストを画像上に配置、4つのアイコンは画像下に配置
   ========================================================= */

@media (max-width: 768px) {

  body .lp-main .hero {
    padding: 0 0 28px !important;
    background: #fff8fa !important;
    overflow: hidden !important;
  }

  body .lp-main .hero .hero-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: block !important;
    padding: 0 !important;
  }

  /* PC用の右側ビジュアルはSPでは非表示 */
  body .lp-main .hero .hero-visual {
    display: none !important;
  }

  /* テキストをSP専用キービジュアル画像の上に配置 */
  body .lp-main .hero .hero-copy {
    width: 100% !important;
    max-width: none !important;
    min-height: 640px !important;
    padding: 54px 22px 24px !important;
    box-sizing: border-box !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    background-image:
      linear-gradient(180deg, rgba(255, 248, 250, .88) 0%, rgba(255, 248, 250, .48) 35%, rgba(255, 255, 255, 0) 62%),
      linear-gradient(90deg, rgba(255, 255, 255, .58) 0%, rgba(255, 255, 255, .16) 54%, rgba(255, 255, 255, 0) 100%),
      url("https://g-flady.com/wp-content/uploads/2026/06/key.jpg") !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    border-radius: 0 0 30px 30px !important;
    overflow: hidden !important;
  }

  /* 背景画像の上でも文字を読みやすく */
  body .lp-main .hero .hero-copy::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,0) 45%) !important;
    z-index: 0 !important;
  }

  body .lp-main .hero .hero-copy > * {
    position: relative !important;
    z-index: 1 !important;
  }

  body .lp-main .hero .kicker {
    align-self: flex-start !important;
    margin: 0 0 14px !important;
    padding: 7px 16px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 10px 24px rgba(121,67,78,.10) !important;
  }

  body .lp-main .hero h1 {
    margin: 0 0 16px !important;
    max-width: 320px !important;
    font-size: clamp(36px, 11vw, 48px) !important;
    line-height: 1.18 !important;
    letter-spacing: .04em !important;
    color: #2f2929 !important;
    text-shadow: 0 2px 12px rgba(255,255,255,.75) !important;
  }

  body .lp-main .hero h1 .hero-accent {
    color: #cf5f78 !important;
  }

  body .lp-main .hero .hero-lead {
    width: auto !important;
    max-width: 305px !important;
    margin: 0 0 18px !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    letter-spacing: .02em !important;
    white-space: normal !important;
    color: #302829 !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 10px rgba(255,255,255,.75) !important;
  }

  body .lp-main .hero .hero-lead br {
    display: none !important;
  }

  /* CTAは画像上の下部に配置 */
  body .lp-main .hero .cta-row {
    width: 100% !important;
    margin: auto 0 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body .lp-main .hero .cta-row .btn {
    width: min(280px, 100%) !important;
    min-height: 48px !important;
    justify-self: start !important;
    font-size: 14px !important;
    box-shadow: 0 14px 28px rgba(207,95,120,.24) !important;
  }

  body .lp-main .hero .cta-row .btn-secondary {
    background: rgba(255,255,255,.92) !important;
  }

  /* 4つのアイコンは画像の下に独立配置 */
  body .lp-main .hero .hero-badges {
    order: 99 !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin: 18px auto 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    position: relative !important;
    z-index: 2 !important;
  }

  body .lp-main .hero .hero-badges > div {
    width: auto !important;
    height: auto !important;
    min-height: 98px !important;
    min-width: 0 !important;
    border-radius: 18px !important;
    padding: 10px 4px 9px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 12px 24px rgba(121,67,78,.08) !important;
  }

  body .lp-main .hero .hero-badge-icon {
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    margin: 0 auto 5px !important;
  }

  body .lp-main .hero .hero-badge-text {
    width: auto !important;
    max-width: 100% !important;
    font-size: 10.5px !important;
    line-height: 1.22 !important;
    letter-spacing: 0 !important;
    word-break: keep-all !important;
  }
}

@media (max-width: 390px) {
  body .lp-main .hero .hero-copy {
    min-height: 600px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body .lp-main .hero h1 {
    font-size: clamp(34px, 10.5vw, 42px) !important;
    max-width: 290px !important;
  }

  body .lp-main .hero .hero-lead {
    max-width: 285px !important;
    font-size: 13.5px !important;
  }

  body .lp-main .hero .hero-badges {
    width: calc(100% - 20px) !important;
    gap: 6px !important;
  }

  body .lp-main .hero .hero-badges > div {
    min-height: 94px !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
  }

  body .lp-main .hero .hero-badge-icon {
    width: 38px !important;
    height: 38px !important;
  }

  body .lp-main .hero .hero-badge-text {
    font-size: 9.8px !important;
  }
}


/* =========================================================
   G-Flady SP hero button hide and badge layout fix 2026-06-17
   1) SP表示時、KV上のCTAボタン2つを非表示
   2) KV下部4アイコンを2列でバランスよく配置
   ========================================================= */

@media (max-width: 768px){

  /* SPではキービジュアル上の2ボタンを非表示 */
  body .lp-main .hero .cta-row{
    display:none !important;
  }

  /* ボタン非表示分、画像内の余白を詰めすぎず自然に調整 */
  body .lp-main .hero .hero-copy{
    min-height:610px !important;
    padding-bottom:28px !important;
  }

  /* 4つのアイコンは画像下に2列で配置 */
  body .lp-main .hero .hero-badges{
    width:calc(100% - 32px) !important;
    max-width:420px !important;
    margin:20px auto 0 !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
  }

  body .lp-main .hero .hero-badges > div{
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    min-height:108px !important;
    padding:12px 8px 11px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
    background:rgba(255,255,255,.96) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }

  body .lp-main .hero .hero-badge-icon{
    width:46px !important;
    height:46px !important;
    max-width:46px !important;
    max-height:46px !important;
    margin:0 auto 7px !important;
    object-fit:contain !important;
  }

  body .lp-main .hero .hero-badge-text{
    width:100% !important;
    max-width:128px !important;
    margin:0 auto !important;
    font-size:11px !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
  }

  /* 回転TOPボタンがアイコンに被りにくいようSPだけ少し上げる */
  body .gflady-page-top{
    bottom:112px !important;
  }
}

@media (max-width: 390px){

  body .lp-main .hero .hero-copy{
    min-height:585px !important;
  }

  body .lp-main .hero .hero-badges{
    width:calc(100% - 24px) !important;
    gap:10px !important;
  }

  body .lp-main .hero .hero-badges > div{
    min-height:104px !important;
    padding:11px 6px 10px !important;
  }

  body .lp-main .hero .hero-badge-icon{
    width:42px !important;
    height:42px !important;
    max-width:42px !important;
    max-height:42px !important;
  }

  body .lp-main .hero .hero-badge-text{
    font-size:10.4px !important;
    max-width:120px !important;
  }
}


/* =========================================================
   G-Flady SP hero badge hide 2026-06-17
   SP表示時のみ、KV下の4つのアイコン項目を非表示
   ========================================================= */

@media (max-width: 768px){
  body .lp-main .hero .hero-badges{
    display:none !important;
  }

  /* 4アイコン非表示後の余白調整 */
  body .lp-main .hero{
    padding-bottom:0 !important;
  }

  body .lp-main .hero .hero-copy{
    margin-bottom:0 !important;
  }
}


/* =========================================================
   G-Flady SP comparison table height fix 2026-06-17
   SP表示時のみ、比較表の縦詰まりを解消
   ========================================================= */

@media (max-width: 768px){

  /* 比較セクション全体 */
  body .lp-main .comparison{
    padding-top:54px !important;
    padding-bottom:64px !important;
  }

  /* 画像と表の間隔 */
  body .lp-main .comparison .comparison-v2-grid,
  body .lp-main .comparison .compare-row,
  body .lp-main .comparison .compare-layout{
    gap:22px !important;
  }

  /* 表エリア：縦につぶれないよう高さ指定を解除 */
  body .lp-main .comparison .comparison-v2-table-wrap,
  body .lp-main .comparison .table-wrap{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    padding-bottom:8px !important;
  }

  /* 表本体：横スクロールは維持し、縦方向はゆったり */
  body .lp-main .comparison .comparison-v2-table,
  body .lp-main .comparison .compare-table{
    min-width:720px !important;
    width:720px !important;
    height:auto !important;
    min-height:430px !important;
    max-height:none !important;
    table-layout:fixed !important;
  }

  /* 行高を確保 */
  body .lp-main .comparison .comparison-v2-table thead tr,
  body .lp-main .comparison .compare-table thead tr{
    height:48px !important;
  }

  body .lp-main .comparison .comparison-v2-table tbody tr,
  body .lp-main .comparison .compare-table tbody tr{
    height:52px !important;
  }

  /* セル内の余白と文字サイズ */
  body .lp-main .comparison .comparison-v2-table th,
  body .lp-main .comparison .comparison-v2-table td,
  body .lp-main .comparison .compare-table th,
  body .lp-main .comparison .compare-table td{
    padding:12px 10px !important;
    font-size:13px !important;
    line-height:1.55 !important;
    vertical-align:middle !important;
    white-space:normal !important;
  }

  body .lp-main .comparison .comparison-v2-table thead th,
  body .lp-main .comparison .compare-table thead th{
    font-size:13px !important;
    line-height:1.45 !important;
  }

  /* 左列は読みやすく */
  body .lp-main .comparison .comparison-v2-table tbody th,
  body .lp-main .comparison .compare-table tbody th{
    font-size:13px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  /* G-Flady列の見出し */
  body .lp-main .comparison .comparison-v2-table thead th.gflady,
  body .lp-main .comparison .compare-table thead th.gflady{
    font-size:14px !important;
  }
}

@media (max-width: 390px){
  body .lp-main .comparison .comparison-v2-table,
  body .lp-main .comparison .compare-table{
    min-width:700px !important;
    width:700px !important;
    min-height:420px !important;
  }

  body .lp-main .comparison .comparison-v2-table tbody tr,
  body .lp-main .comparison .compare-table tbody tr{
    height:50px !important;
  }

  body .lp-main .comparison .comparison-v2-table th,
  body .lp-main .comparison .comparison-v2-table td,
  body .lp-main .comparison .compare-table th,
  body .lp-main .comparison .compare-table td{
    padding:11px 9px !important;
    font-size:12.5px !important;
  }
}


/* =========================================================
   G-Flady SP price card stable vertical fix 2026-06-17
   SP料金カード：横スクロールのグラつき防止 + 縦長カード化
   ========================================================= */

@media (max-width: 768px){

  /* SP料金セクションの横ブレ防止 */
  body .lp-main .price{
    overflow:hidden !important;
  }

  body .lp-main .price .price-simple-content{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  /* 横スクロールは残しつつ、カードの揺れを抑える */
  body .lp-main .price .plan-grid-simple{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:14px !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:18px 18px 22px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    scroll-snap-type:x mandatory !important;
    scroll-padding-left:18px !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    align-items:stretch !important;
  }

  /* カードを固定幅・固定高さにしてグラつきを防止 */
  body .lp-main .price .plan-card-simple{
    flex:0 0 232px !important;
    width:232px !important;
    min-width:232px !important;
    max-width:232px !important;
    height:270px !important;
    min-height:270px !important;
    max-height:270px !important;
    padding:36px 18px 22px !important;
    box-sizing:border-box !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
    transform:none !important;
    transition:border-color .2s ease, box-shadow .2s ease !important;
    justify-content:center !important;
  }

  body .lp-main .price .plan-card-simple:hover{
    transform:none !important;
  }

  /* プラン名はカード内で1行固定 */
  body .lp-main .price .plan-card-simple h3{
    width:100% !important;
    min-height:24px !important;
    margin:0 0 26px !important;
    display:block !important;
    font-size:16px !important;
    line-height:1.25 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    letter-spacing:0 !important;
  }

  /* 月額ラベル・金額・利用時間を縦に安定配置 */
  body .lp-main .price .simple-price{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:12px !important;
  }

  body .lp-main .price .simple-price-label{
    min-width:62px !important;
    padding:7px 14px !important;
    border-radius:999px !important;
    border:1px solid #eeb8c1 !important;
    background:#fff !important;
    color:#302829 !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body .lp-main .price .simple-price strong{
    width:100% !important;
    max-width:178px !important;
    min-height:46px !important;
    padding:10px 12px !important;
    box-sizing:border-box !important;
    font-size:16px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }

  body .lp-main .price .simple-time{
    width:100% !important;
    max-width:178px !important;
    min-height:30px !important;
    padding:5px 10px !important;
    box-sizing:border-box !important;
    border-radius:999px !important;
    border:1px solid #eeb8c1 !important;
    background:#fff !important;
    color:#302829 !important;
    font-size:12.5px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }

  /* 人気バッジも揺れないよう固定 */
  body .lp-main .price .plan-card-simple .recommend-badge,
  body .lp-main .price .plan-card-simple .popular-badge{
    top:-14px !important;
    height:28px !important;
    min-width:82px !important;
    transform:translateX(-50%) !important;
    white-space:nowrap !important;
  }

  /* スクロールバーを控えめに */
  body .lp-main .price .plan-grid-simple::-webkit-scrollbar{
    height:5px !important;
  }

  body .lp-main .price .plan-grid-simple::-webkit-scrollbar-thumb{
    background:#eeb8c1 !important;
    border-radius:999px !important;
  }

  body .lp-main .price .plan-grid-simple::-webkit-scrollbar-track{
    background:rgba(238,184,193,.18) !important;
    border-radius:999px !important;
  }
}

@media (max-width: 390px){

  body .lp-main .price .plan-grid-simple{
    gap:12px !important;
    padding-left:14px !important;
    padding-right:14px !important;
    scroll-padding-left:14px !important;
  }

  body .lp-main .price .plan-card-simple{
    flex-basis:218px !important;
    width:218px !important;
    min-width:218px !important;
    max-width:218px !important;
    height:264px !important;
    min-height:264px !important;
    max-height:264px !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body .lp-main .price .plan-card-simple h3{
    font-size:15px !important;
  }

  body .lp-main .price .simple-price strong{
    max-width:166px !important;
    font-size:15px !important;
  }

  body .lp-main .price .simple-time{
    max-width:166px !important;
    font-size:11.8px !important;
  }
}


/* =========================================================
   G-Flady SP comparison horizontal stable fix 2026-06-17
   SP表示：比較表を横フリックしても縦にグラつかないよう固定
   ========================================================= */

@media (max-width: 768px){

  /* 比較セクション自体は縦スクロールの干渉を受けにくくする */
  body .lp-main .comparison{
    overflow:hidden !important;
  }

  /* 横スクロールする表の外枠を固定化 */
  body .lp-main .comparison .comparison-v2-table-wrap,
  body .lp-main .comparison .table-wrap{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    height:448px !important;
    min-height:448px !important;
    max-height:448px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:0 0 8px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    overscroll-behavior-y:none !important;
    touch-action:pan-x !important;
    scroll-snap-type:none !important;
    transform:translateZ(0) !important;
    will-change:scroll-position !important;
    contain:layout paint !important;
  }

  /* 中の表は高さを固定して、フリック時の縦揺れを防止 */
  body .lp-main .comparison .comparison-v2-table,
  body .lp-main .comparison .compare-table{
    width:720px !important;
    min-width:720px !important;
    max-width:720px !important;
    height:432px !important;
    min-height:432px !important;
    max-height:432px !important;
    table-layout:fixed !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
    transform:translateZ(0) !important;
  }

  /* 行高を固定して表の縦方向の揺れを止める */
  body .lp-main .comparison .comparison-v2-table thead tr,
  body .lp-main .comparison .compare-table thead tr{
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
  }

  body .lp-main .comparison .comparison-v2-table tbody tr,
  body .lp-main .comparison .compare-table tbody tr{
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
  }

  body .lp-main .comparison .comparison-v2-table th,
  body .lp-main .comparison .comparison-v2-table td,
  body .lp-main .comparison .compare-table th,
  body .lp-main .comparison .compare-table td{
    height:auto !important;
    padding:10px 10px !important;
    box-sizing:border-box !important;
    line-height:1.45 !important;
    vertical-align:middle !important;
  }

  /* 横スクロールバー分の余白を安定化 */
  body .lp-main .comparison .comparison-v2-table-wrap::-webkit-scrollbar,
  body .lp-main .comparison .table-wrap::-webkit-scrollbar{
    height:6px !important;
  }

  body .lp-main .comparison .comparison-v2-table-wrap::-webkit-scrollbar-track,
  body .lp-main .comparison .table-wrap::-webkit-scrollbar-track{
    background:rgba(238,184,193,.18) !important;
    border-radius:999px !important;
  }

  body .lp-main .comparison .comparison-v2-table-wrap::-webkit-scrollbar-thumb,
  body .lp-main .comparison .table-wrap::-webkit-scrollbar-thumb{
    background:#eeb8c1 !important;
    border-radius:999px !important;
  }

  /* revealアニメーションのtransformが横スクロールに干渉する場合の保険 */
  body .lp-main .comparison .comparison-v2-table-wrap.reveal,
  body .lp-main .comparison .table-wrap.reveal{
    transform:translateZ(0) !important;
  }
}

@media (max-width: 390px){

  body .lp-main .comparison .comparison-v2-table-wrap,
  body .lp-main .comparison .table-wrap{
    height:438px !important;
    min-height:438px !important;
    max-height:438px !important;
  }

  body .lp-main .comparison .comparison-v2-table,
  body .lp-main .comparison .compare-table{
    width:700px !important;
    min-width:700px !important;
    max-width:700px !important;
    height:422px !important;
    min-height:422px !important;
    max-height:422px !important;
  }

  body .lp-main .comparison .comparison-v2-table thead tr,
  body .lp-main .comparison .compare-table thead tr{
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
  }

  body .lp-main .comparison .comparison-v2-table tbody tr,
  body .lp-main .comparison .compare-table tbody tr{
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
  }
}


/* =========================================================
   G-Flady SP hero text position fix 2026-06-17
   SPキービジュアル：テキスト全体を下げ、見出しを少し小さく調整
   ========================================================= */

@media (max-width: 768px){

  /* テキスト全体を少し下げる */
  body .lp-main .hero .hero-copy{
    padding-top:86px !important;
    min-height:620px !important;
  }

  /* 「ジム通いは、もっと気軽でいい。」を少し小さく */
  body .lp-main .hero h1{
    max-width:315px !important;
    margin:0 0 18px !important;
    font-size:clamp(32px, 9.4vw, 42px) !important;
    line-height:1.2 !important;
    letter-spacing:.035em !important;
  }

  /* 本文も見出し下で読みやすく調整 */
  body .lp-main .hero .hero-lead{
    max-width:335px !important;
    margin-top:0 !important;
    font-size:13.8px !important;
    line-height:1.85 !important;
  }

  /* キッカーとの余白を自然に */
  body .lp-main .hero .kicker{
    margin-bottom:18px !important;
  }
}

@media (max-width: 390px){

  body .lp-main .hero .hero-copy{
    padding-top:80px !important;
    min-height:600px !important;
  }

  body .lp-main .hero h1{
    max-width:292px !important;
    font-size:clamp(30px, 9vw, 38px) !important;
    line-height:1.22 !important;
  }

  body .lp-main .hero .hero-lead{
    max-width:300px !important;
    font-size:13.2px !important;
    line-height:1.82 !important;
  }
}


/* =========================================================
   G-Flady SP hero text balance hard fix 2026-06-17
   SPキービジュアル：顔に文字が被らないよう、文字サイズ・位置・背景画像位置を再調整
   ========================================================= */

@media (max-width: 768px){

  /* 画像の女性の顔が文字に重なりにくいよう、背景を少し下へ */
  html body .lp-main .hero .hero-copy{
    min-height:620px !important;
    padding:74px 16px 28px !important;
    background-size:cover !important;
    background-position:center 34px !important;
  }

  /* 上部の白グラデーションを強め、文字エリアだけ読みやすく */
  html body .lp-main .hero .hero-copy{
    background-image:
      linear-gradient(180deg, rgba(255,248,250,.94) 0%, rgba(255,248,250,.78) 30%, rgba(255,255,255,.34) 52%, rgba(255,255,255,0) 76%),
      linear-gradient(90deg, rgba(255,255,255,.78) 0%, rgba(255,255,255,.45) 44%, rgba(255,255,255,.10) 78%, rgba(255,255,255,0) 100%),
      url("https://g-flady.com/wp-content/uploads/2026/06/key.jpg") !important;
  }

  /* キッカー */
  html body .lp-main .hero .kicker{
    margin:0 0 14px !important;
    padding:7px 15px !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.2 !important;
  }

  /* 見出しを小さめ・左寄せ・幅制限して顔にかからないように */
  html body .lp-main .hero h1{
    width:100% !important;
    max-width:270px !important;
    margin:0 0 16px !important;
    font-size:clamp(30px, 8.4vw, 36px) !important;
    line-height:1.22 !important;
    letter-spacing:.025em !important;
    text-align:left !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    text-shadow:0 2px 12px rgba(255,255,255,.90) !important;
  }

  html body .lp-main .hero h1 br{
    display:block !important;
  }

  /* 本文は少し下げすぎず、左側に収める */
  html body .lp-main .hero .hero-lead{
    width:100% !important;
    max-width:315px !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1.75 !important;
    letter-spacing:.01em !important;
    font-weight:800 !important;
    text-align:left !important;
    text-shadow:0 2px 10px rgba(255,255,255,.92) !important;
  }

  html body .lp-main .hero .hero-lead br{
    display:none !important;
  }
}

@media (max-width: 390px){

  html body .lp-main .hero .hero-copy{
    min-height:600px !important;
    padding:68px 14px 26px !important;
    background-position:center 32px !important;
  }

  html body .lp-main .hero h1{
    max-width:248px !important;
    font-size:clamp(28px, 8vw, 33px) !important;
    line-height:1.22 !important;
    margin-bottom:14px !important;
  }

  html body .lp-main .hero .hero-lead{
    max-width:300px !important;
    font-size:12.6px !important;
    line-height:1.72 !important;
  }
}

/* さらに狭い端末 */
@media (max-width: 360px){

  html body .lp-main .hero .hero-copy{
    min-height:580px !important;
    padding-top:62px !important;
  }

  html body .lp-main .hero h1{
    max-width:230px !important;
    font-size:27px !important;
  }

  html body .lp-main .hero .hero-lead{
    max-width:280px !important;
    font-size:12.2px !important;
  }
}


/* =========================================================
   G-Flady SP hero dedicated rebuild 2026-06-17
   既存SP用hero CSSの干渉を避けるため、SP専用キービジュアルを別セクションで表示
   ========================================================= */

/* PCではSP専用KVを非表示 */
.hero-sp-only{
  display:none !important;
}

@media (max-width: 768px){

  /* 既存heroはSPでは完全非表示。PC表示には影響なし */
  html body .lp-main > section.hero.section-anchor{
    display:none !important;
  }

  html body .lp-main .hero-sp-only{
    display:block !important;
    position:relative !important;
    width:100% !important;
    min-height:620px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:0 0 28px 28px !important;
    background-image:
      linear-gradient(180deg, rgba(255,248,250,.96) 0%, rgba(255,248,250,.80) 34%, rgba(255,255,255,.35) 58%, rgba(255,255,255,0) 82%),
      linear-gradient(90deg, rgba(255,255,255,.80) 0%, rgba(255,255,255,.55) 44%, rgba(255,255,255,.18) 72%, rgba(255,255,255,0) 100%),
      url("https://g-flady.com/wp-content/uploads/2026/06/key.jpg") !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  html body .lp-main .hero-sp-only__inner{
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:420px !important;
    margin:0 auto !important;
    padding:54px 16px 0 !important;
    box-sizing:border-box !important;
  }

  html body .lp-main .hero-sp-only__eyebrow{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:38px !important;
    margin:0 0 22px !important;
    padding:8px 18px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.92) !important;
    border:1px solid rgba(238,184,193,.92) !important;
    color:#2f2929 !important;
    font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
    font-size:13.5px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    letter-spacing:.02em !important;
    box-shadow:0 10px 24px rgba(121,67,78,.08) !important;
  }

  html body .lp-main .hero-sp-only__title{
    width:100% !important;
    max-width:270px !important;
    margin:0 0 18px !important;
    padding:0 !important;
    color:#2f2929 !important;
    font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif) !important;
    font-size:34px !important;
    font-weight:700 !important;
    line-height:1.22 !important;
    letter-spacing:.03em !important;
    text-align:left !important;
    word-break:keep-all !important;
    text-shadow:0 2px 12px rgba(255,255,255,.92) !important;
  }

  html body .lp-main .hero-sp-only__title .accent{
    color:#cf5f78 !important;
  }

  html body .lp-main .hero-sp-only__lead{
    width:100% !important;
    max-width:320px !important;
    margin:0 !important;
    padding:0 !important;
    color:#171313 !important;
    font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
    font-size:13.3px !important;
    font-weight:900 !important;
    line-height:1.78 !important;
    letter-spacing:.01em !important;
    text-align:left !important;
    text-shadow:0 2px 10px rgba(255,255,255,.95) !important;
  }
}

/* iPhone SE〜標準幅 */
@media (max-width: 390px){

  html body .lp-main .hero-sp-only{
    min-height:600px !important;
    background-position:center top !important;
  }

  html body .lp-main .hero-sp-only__inner{
    padding:50px 14px 0 !important;
  }

  html body .lp-main .hero-sp-only__eyebrow{
    margin-bottom:20px !important;
    font-size:13px !important;
  }

  html body .lp-main .hero-sp-only__title{
    max-width:250px !important;
    font-size:31px !important;
    line-height:1.22 !important;
    margin-bottom:16px !important;
  }

  html body .lp-main .hero-sp-only__lead{
    max-width:305px !important;
    font-size:12.6px !important;
    line-height:1.72 !important;
  }
}

/* 360px以下の極小端末 */
@media (max-width: 360px){

  html body .lp-main .hero-sp-only{
    min-height:580px !important;
  }

  html body .lp-main .hero-sp-only__inner{
    padding-top:46px !important;
  }

  html body .lp-main .hero-sp-only__title{
    max-width:230px !important;
    font-size:28px !important;
  }

  html body .lp-main .hero-sp-only__lead{
    max-width:288px !important;
    font-size:12.1px !important;
  }
}


/* =========================================================
   G-Flady SP hero lower text overlay 2026-06-17
   SPキービジュアル：添付イメージに合わせてテキストを下部へ配置
   ========================================================= */

@media (max-width: 768px){

  /* 既存PC用ヒーローはSPで非表示 */
  html body .lp-main > section.hero.section-anchor{
    display:none !important;
  }

  /* SP専用KVを表示 */
  html body .lp-main .hero-sp-only{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    width:100% !important;
    height:calc(100svh - 67px) !important;
    min-height:690px !important;
    max-height:820px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:0 0 28px 28px !important;
    background-image:
      linear-gradient(180deg,
        rgba(255,255,255,.10) 0%,
        rgba(255,255,255,.06) 38%,
        rgba(255,255,255,.52) 63%,
        rgba(255,255,255,.88) 100%
      ),
      linear-gradient(90deg,
        rgba(255,255,255,.36) 0%,
        rgba(255,255,255,.10) 45%,
        rgba(255,255,255,0) 100%
      ),
      url("https://g-flady.com/wp-content/uploads/2026/06/key.jpg") !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  /* テキストブロックを画像下部へ移動 */
  html body .lp-main .hero-sp-only__inner{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    width:100% !important;
    max-width:none !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:82px !important;
    z-index:3 !important;
    margin:0 !important;
    padding:0 28px !important;
    box-sizing:border-box !important;
    transform:none !important;
    overflow:visible !important;
  }

  /* 添付イメージに合わせて上部ラベルは非表示 */
  html body .lp-main .hero-sp-only__eyebrow{
    display:none !important;
  }

  html body .lp-main .hero-sp-only__title{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:390px !important;
    margin:0 0 22px !important;
    padding:0 !important;
    color:#2f2929 !important;
    font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho","Hiragino Mincho ProN",serif) !important;
    font-size:clamp(38px, 10.4vw, 48px) !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    letter-spacing:.035em !important;
    text-align:left !important;
    word-break:keep-all !important;
    overflow-wrap:normal !important;
    text-shadow:0 2px 12px rgba(255,255,255,.82) !important;
  }

  html body .lp-main .hero-sp-only__title .accent{
    color:#cf5f78 !important;
  }

  html body .lp-main .hero-sp-only__lead{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:390px !important;
    margin:0 !important;
    padding:0 !important;
    color:#111 !important;
    font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
    font-size:15.2px !important;
    line-height:1.72 !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
    text-align:left !important;
    text-shadow:0 2px 10px rgba(255,255,255,.88) !important;
  }
}

@media (max-width: 390px){

  html body .lp-main .hero-sp-only{
    height:calc(100svh - 67px) !important;
    min-height:660px !important;
    max-height:780px !important;
  }

  html body .lp-main .hero-sp-only__inner{
    bottom:72px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  html body .lp-main .hero-sp-only__title{
    max-width:350px !important;
    font-size:clamp(34px, 9.4vw, 42px) !important;
    line-height:1.25 !important;
    margin-bottom:18px !important;
  }

  html body .lp-main .hero-sp-only__lead{
    max-width:350px !important;
    font-size:13.8px !important;
    line-height:1.7 !important;
  }
}

@media (max-width: 360px){

  html body .lp-main .hero-sp-only{
    min-height:630px !important;
  }

  html body .lp-main .hero-sp-only__inner{
    bottom:64px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }

  html body .lp-main .hero-sp-only__title{
    font-size:32px !important;
  }

  html body .lp-main .hero-sp-only__lead{
    font-size:13.8px !important;
  }
}


/* =========================================================
   G-Flady SP hero lead linebreak fix 2026-06-17
   SPキービジュアル説明文：指定改行をそのまま表示
   ========================================================= */

@media (max-width: 768px){

  html body .lp-main .hero-sp-only__lead{
    display:block !important;
    max-width:390px !important;
    font-size:15px !important;
    line-height:1.78 !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
    white-space:normal !important;
  }

  html body .lp-main .hero-sp-only__lead br{
    display:block !important;
  }
}

@media (max-width: 390px){
  html body .lp-main .hero-sp-only__lead{
    max-width:350px !important;
    font-size:13.6px !important;
    line-height:1.72 !important;
  }
}

@media (max-width: 360px){
  html body .lp-main .hero-sp-only__lead{
    max-width:320px !important;
    font-size:13.6px !important;
    line-height:1.68 !important;
  }
}


/* =========================================================
   G-Flady SP hero image top crop 40px 2026-06-17
   SP表示時のみ、キービジュアル画像の上部を約40pxトリミング
   ========================================================= */

@media (max-width: 768px){

  /* 背景画像を40px上へ移動して、上部余白をトリミング */
  html body .lp-main .hero-sp-only{
    background-position:center -40px !important;
  }
}

@media (max-width: 390px){
  html body .lp-main .hero-sp-only{
    background-position:center -38px !important;
  }
}

@media (max-width: 360px){
  html body .lp-main .hero-sp-only{
    background-position:center -36px !important;
  }
}


/* =========================================================
   G-Flady SP hero bottom fade align fix 2026-06-17
   上部40pxトリミング後、下部フェードを画像下部に合わせて固定
   ========================================================= */

@media (max-width: 768px){

  /* 背景画像は40px上へ。フェードは背景ではなく疑似要素で固定表示 */
  html body .lp-main .hero-sp-only{
    position:relative !important;
    isolation:isolate !important;
    overflow:hidden !important;
    background-image:url("https://g-flady.com/wp-content/uploads/2026/06/key.jpg") !important;
    background-size:cover !important;
    background-position:center -40px !important;
    background-repeat:no-repeat !important;
  }

  /* 既存の背景グラデーション干渉を避け、下部フェードを画像の下端に合わせる */
  html body .lp-main .hero-sp-only::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    pointer-events:none !important;
    background:
      linear-gradient(180deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0) 48%,
        rgba(255,255,255,.52) 70%,
        rgba(255,255,255,.90) 100%
      ) !important;
  }

  /* テキストをフェードの上に乗せる */
  html body .lp-main .hero-sp-only__inner{
    z-index:2 !important;
  }
}

@media (max-width: 390px){
  html body .lp-main .hero-sp-only{
    background-position:center -38px !important;
  }
}

@media (max-width: 360px){
  html body .lp-main .hero-sp-only{
    background-position:center -36px !important;
  }
}


/* =========================================================
   G-Flady reason card accent text 2026-06-17
   「G-Flady が選ばれる 6つの理由」カード内の指定語句をピンク化
   ========================================================= */

body .lp-main .reasons .reason-card h3 .reason-accent{
  color:#cf5f78 !important;
  font-weight:900 !important;
}

body .lp-main .reasons .reason-card h3{
  color:#171313 !important;
}

/* SPでも色分けが読みやすいよう調整 */
@media (max-width:768px){
  body .lp-main .reasons .reason-card h3 .reason-accent{
    color:#cf5f78 !important;
  }
}

/* =========================================================
   G-Flady small font size bump 2026-06-17
   13px以下の小さいフォントサイズを全体的に+1px調整済み
   ========================================================= */


/* =========================================================
   G-Flady price v3 2026-06-24
   料金プラン：3カード構成（シルバー学生／ベーシック／プラチナ）
   添付イメージに合わせつつ、既存LPのトンマナを優先
   ========================================================= */
body .lp-main .price.price-v3{
  padding:86px 0 78px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 92% 10%,rgba(255,229,235,.62),transparent 30%),
    linear-gradient(90deg,#fffaf8 0%,#fff 44%,#fff6f8 100%) !important;
}

body .lp-main .price-v3-layout{
  width:min(1540px,calc(100% - 56px)) !important;
  max-width:1540px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:320px minmax(0,1fr) !important;
  gap:44px !important;
  align-items:start !important;
}

body .lp-main .price-v3-copy{
  position:sticky !important;
  top:104px !important;
  align-self:start !important;
  padding-top:28px !important;
}

body .lp-main .price-v3-eyebrow{
  display:inline-flex !important;
  margin:0 0 16px !important;
  padding:6px 17px !important;
  border:1px solid rgba(207,95,120,.26) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#cf5f78 !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
}

body .lp-main .price-v3-copy h2{
  margin:0 0 20px !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif) !important;
  font-size:clamp(31px,2.55vw,44px) !important;
  line-height:1.48 !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  color:#2f2929 !important;
}

body .lp-main .price-v3-copy h2 span{
  color:#2f2929 !important;
  white-space:nowrap !important;
}

body .lp-main .price-v3-copy p:not(.price-v3-eyebrow){
  margin:0 !important;
  font-size:14px !important;
  line-height:1.95 !important;
  font-weight:700 !important;
  color:#4b4140 !important;
}

body .lp-main .price-v3-content{
  min-width:0 !important;
  width:100% !important;
}

body .lp-main .price-v3 .plan-choice-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}

body .lp-main .price-v3 .plan-choice-card{
  position:relative !important;
  overflow:hidden !important;
  min-width:0 !important;
  border-radius:20px !important;
  border:1.5px solid rgba(207,95,120,.32) !important;
  background:#fff !important;
  box-shadow:0 16px 42px rgba(121,67,78,.10) !important;
}

body .lp-main .price-v3 .plan-choice-card--basic,
body .lp-main .price-v3 .plan-choice-card--platinum{
  border-color:#cf5f78 !important;
  box-shadow:0 22px 50px rgba(207,95,120,.14) !important;
}

body .lp-main .price-v3 .plan-choice-card--soft{
  filter:saturate(.92) !important;
}

body .lp-main .price-v3 .plan-choice-badge{
  position:absolute !important;
  top:13px !important;
  right:13px !important;
  z-index:3 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:32px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#cf5f78,#df7890) !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  box-shadow:0 10px 22px rgba(207,95,120,.24) !important;
}

body .lp-main .price-v3 .plan-choice-card--platinum .plan-choice-badge{
  background:linear-gradient(135deg,#c59a61,#d6b172) !important;
  box-shadow:0 10px 22px rgba(197,154,97,.28) !important;
}

body .lp-main .price-v3 .plan-choice-photo{
  margin:0 !important;
  height:180px !important;
  overflow:hidden !important;
  background:#fff5f7 !important;
}

body .lp-main .price-v3 .plan-choice-photo img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.01) !important;
}

body .lp-main .price-v3 .plan-choice-card--soft .plan-choice-photo img{
  filter:saturate(.82) brightness(1.04) !important;
}

body .lp-main .price-v3 .plan-choice-body{
  padding:25px 24px 26px !important;
  text-align:center !important;
}

body .lp-main .price-v3 .plan-choice-body h3{
  margin:0 0 8px !important;
  color:#cf5f78 !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:23px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:.015em !important;
}

body .lp-main .price-v3 .plan-choice-card--soft .plan-choice-body h3{
  color:#6f6766 !important;
}

body .lp-main .price-v3 .plan-choice-lead{
  min-height:48px !important;
  margin:0 0 18px !important;
  color:#3c3333 !important;
  font-size:13.5px !important;
  line-height:1.7 !important;
  font-weight:700 !important;
}

body .lp-main .price-v3 .plan-choice-features{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:0 0 22px !important;
  border:1px solid rgba(238,184,193,.72) !important;
  border-radius:14px !important;
  background:#fff !important;
  overflow:hidden !important;
}

body .lp-main .price-v3 .plan-choice-card--platinum .plan-choice-features{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

body .lp-main .price-v3 .plan-choice-feature{
  min-height:96px !important;
  padding:13px 8px 11px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  border-right:1px solid rgba(238,184,193,.55) !important;
  color:#302829 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}

body .lp-main .price-v3 .plan-choice-feature:last-child{
  border-right:0 !important;
}

body .lp-main .price-v3 .plan-choice-icon,
body .lp-main .price-v3 .plan-common-icon{
  display:block !important;
  width:38px !important;
  height:38px !important;
  position:relative !important;
  color:#cf5f78 !important;
}

body .lp-main .price-v3 .plan-choice-card--soft .plan-choice-icon{
  color:#8b8583 !important;
}

body .lp-main .price-v3 .plan-choice-icon::before,
body .lp-main .price-v3 .plan-common-icon::before{
  display:grid !important;
  place-items:center !important;
  width:100% !important;
  height:100% !important;
  font-size:29px !important;
  line-height:1 !important;
  font-weight:400 !important;
}

body .lp-main .price-v3 .plan-choice-feature--24h .plan-choice-icon::before{content:"↻" !important;font-size:35px !important;}
body .lp-main .price-v3 .plan-choice-feature--machine .plan-choice-icon::before{content:"▰" !important;font-size:28px !important;}
body .lp-main .price-v3 .plan-choice-feature--lesson .plan-choice-icon::before{content:"♢" !important;font-size:34px !important;}
body .lp-main .price-v3 .plan-choice-feature--sparkle .plan-choice-icon::before{content:"✦" !important;font-size:31px !important;}

body .lp-main .price-v3 .plan-choice-price{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:7px !important;
  margin:2px 0 7px !important;
  color:#cf5f78 !important;
}

body .lp-main .price-v3 .plan-choice-card--soft .plan-choice-price{
  color:#5f5a59 !important;
}

body .lp-main .price-v3 .plan-choice-price-label{
  font-size:14px !important;
  font-weight:900 !important;
  color:currentColor !important;
}

body .lp-main .price-v3 .plan-choice-price strong{
  display:inline-block !important;
  margin:0 !important;
  color:currentColor !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif) !important;
  font-size:44px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
}

body .lp-main .price-v3 .plan-choice-tax{
  color:currentColor !important;
  font-size:13px !important;
  font-weight:800 !important;
}

body .lp-main .price-v3 .plan-choice-time{
  min-height:23px !important;
  margin:0 0 18px !important;
  color:#4b4140 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  font-weight:900 !important;
}

body .lp-main .price-v3 .plan-choice-btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:44px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#cf5f78,#e27790) !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  box-shadow:0 12px 24px rgba(207,95,120,.22) !important;
}

body .lp-main .price-v3 .plan-choice-card--soft .plan-choice-btn{
  background:linear-gradient(135deg,#8e8a88,#b2adab) !important;
  box-shadow:0 12px 24px rgba(80,73,70,.14) !important;
}

body .lp-main .price-v3 .plan-choice-btn::after{
  content:"›" !important;
  margin-left:12px !important;
  font-size:20px !important;
  line-height:1 !important;
}

body .lp-main .price-v3 .plan-common-services{
  margin:28px 0 0 !important;
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) !important;
  overflow:hidden !important;
  border:1px solid rgba(238,184,193,.75) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 16px 36px rgba(121,67,78,.06) !important;
}

body .lp-main .price-v3 .plan-common-title{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:92px !important;
  background:linear-gradient(135deg,#fff6f8,#fff) !important;
  color:#cf5f78 !important;
  font-size:16px !important;
  line-height:1.55 !important;
  font-weight:900 !important;
  text-align:center !important;
}

body .lp-main .price-v3 .plan-common-list{
  display:grid !important;
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
  align-items:stretch !important;
}

body .lp-main .price-v3 .plan-common-item{
  min-height:92px !important;
  padding:13px 8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  border-left:1px solid rgba(238,184,193,.42) !important;
  color:#3b3333 !important;
  font-size:11.3px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}

body .lp-main .price-v3 .plan-common-icon{
  width:31px !important;
  height:31px !important;
  color:#cf5f78 !important;
}

body .lp-main .price-v3 .plan-common-icon::before{
  font-size:25px !important;
}

body .lp-main .price-v3 .plan-common-item--water .plan-common-icon::before{content:"♧" !important;}
body .lp-main .price-v3 .plan-common-item--shower .plan-common-icon::before{content:"⌁" !important;}
body .lp-main .price-v3 .plan-common-item--towel .plan-common-icon::before{content:"▤" !important;}
body .lp-main .price-v3 .plan-common-item--amenity .plan-common-icon::before{content:"♙" !important;}
body .lp-main .price-v3 .plan-common-item--soap .plan-common-icon::before{content:"♜" !important;}
body .lp-main .price-v3 .plan-common-item--cleanse .plan-common-icon::before{content:"▽" !important;}
body .lp-main .price-v3 .plan-common-item--lotion .plan-common-icon::before{content:"♢" !important;}
body .lp-main .price-v3 .plan-common-item--inbody .plan-common-icon::before{content:"▣" !important;}

body .lp-main .price-v3 .plan-common-note{
  margin:13px 0 0 !important;
  text-align:center !important;
  color:#5f5655 !important;
  font-size:12px !important;
  line-height:1.6 !important;
  font-weight:700 !important;
}

@media (max-width:1380px){
  body .lp-main .price-v3-layout{
    grid-template-columns:280px minmax(0,1fr) !important;
    gap:30px !important;
  }

  body .lp-main .price-v3-copy h2{
    font-size:34px !important;
  }

  body .lp-main .price-v3 .plan-choice-grid{
    gap:16px !important;
  }

  body .lp-main .price-v3 .plan-choice-photo{
    height:154px !important;
  }

  body .lp-main .price-v3 .plan-choice-body{
    padding:22px 18px 22px !important;
  }

  body .lp-main .price-v3 .plan-choice-body h3{
    font-size:19px !important;
  }

  body .lp-main .price-v3 .plan-choice-price strong{
    font-size:36px !important;
  }

  body .lp-main .price-v3 .plan-common-list{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }

  body .lp-main .price-v3 .plan-common-item{
    border-bottom:1px solid rgba(238,184,193,.42) !important;
  }
}

@media (max-width:1080px){
  body .lp-main .price-v3-layout{
    width:calc(100% - 32px) !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  body .lp-main .price-v3-copy{
    position:static !important;
    padding-top:0 !important;
    text-align:center !important;
  }

  body .lp-main .price-v3-copy p:not(.price-v3-eyebrow){
    max-width:680px !important;
    margin:0 auto !important;
  }
}

@media (max-width:860px){
  body .lp-main .price.price-v3{
    padding:58px 0 54px !important;
  }

  body .lp-main .price-v3-copy h2{
    font-size:30px !important;
    line-height:1.45 !important;
  }

  body .lp-main .price-v3-copy p:not(.price-v3-eyebrow){
    font-size:13px !important;
    line-height:1.85 !important;
  }

  body .lp-main .price-v3 .plan-choice-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  body .lp-main .price-v3 .plan-choice-card{
    display:grid !important;
    grid-template-columns:42% minmax(0,1fr) !important;
    min-height:0 !important;
  }

  body .lp-main .price-v3 .plan-choice-photo{
    height:100% !important;
    min-height:320px !important;
  }

  body .lp-main .price-v3 .plan-choice-body{
    padding:22px 18px !important;
  }

  body .lp-main .price-v3 .plan-choice-lead{
    min-height:0 !important;
  }

  body .lp-main .price-v3 .plan-common-services{
    grid-template-columns:1fr !important;
  }

  body .lp-main .price-v3 .plan-common-title{
    min-height:62px !important;
  }

  body .lp-main .price-v3 .plan-common-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:560px){
  body .lp-main .price-v3-layout{
    width:calc(100% - 24px) !important;
  }

  body .lp-main .price-v3-copy{
    text-align:left !important;
  }

  body .lp-main .price-v3-copy h2{
    font-size:28px !important;
  }

  body .lp-main .price-v3-copy h2 span{
    white-space:normal !important;
  }

  body .lp-main .price-v3 .plan-choice-card{
    display:block !important;
    border-radius:18px !important;
  }

  body .lp-main .price-v3 .plan-choice-photo{
    height:154px !important;
    min-height:0 !important;
  }

  body .lp-main .price-v3 .plan-choice-badge{
    top:10px !important;
    right:10px !important;
    min-height:28px !important;
    padding:0 11px !important;
    font-size:11px !important;
  }

  body .lp-main .price-v3 .plan-choice-body h3{
    font-size:21px !important;
  }

  body .lp-main .price-v3 .plan-choice-features,
  body .lp-main .price-v3 .plan-choice-card--platinum .plan-choice-features{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  body .lp-main .price-v3 .plan-choice-card:not(.plan-choice-card--platinum) .plan-choice-features{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body .lp-main .price-v3 .plan-choice-feature{
    min-height:82px !important;
    font-size:11px !important;
  }

  body .lp-main .price-v3 .plan-choice-icon{
    width:30px !important;
    height:30px !important;
  }

  body .lp-main .price-v3 .plan-choice-icon::before{
    font-size:24px !important;
  }

  body .lp-main .price-v3 .plan-choice-feature--24h .plan-choice-icon::before{
    font-size:29px !important;
  }

  body .lp-main .price-v3 .plan-choice-price strong{
    font-size:40px !important;
  }

  body .lp-main .price-v3 .plan-common-item{
    min-height:76px !important;
    font-size:10.8px !important;
  }
}

/* =========================================================
   G-Flady fix 2026-06-24
   1) レッスンスケジュール導線追加
   2) 設備・マシン紹介ボタン文言修正
   3) 通いやすさも、居心地も。にシャワールーム再追加
   4) 設備カードの横幅を他コンテンツと揃える
   ========================================================= */

/* 既存の自動矢印は使わず、文言側の「＞」を表示 */
body .lp-main .machine-link::after{
  content:none !important;
}

/* レッスン導線ボタン */
body .lp-main .section-sub-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:18px !important;
  min-width:220px !important;
  min-height:46px !important;
  padding:12px 22px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid #e7b7be !important;
  color:#302829 !important;
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(121,67,78,.08) !important;
}

body .lp-main .section-sub-link:hover,
body .lp-main .machine-link:hover{
  transform:translateY(-2px) !important;
}

/* 通いやすさも、居心地も。の幅とカード数を調整 */
body .lp-main .facilities .container.split-heading{
  width:min(1600px,calc(100% - 32px)) !important;
  max-width:1600px !important;
  gap:26px !important;
  align-items:start !important;
}

body .lp-main .facilities .section-copy{
  width:300px !important;
  min-width:300px !important;
}

body .lp-main .facilities .facility-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:14px !important;
}

body .lp-main .facilities .facility-card{
  width:100% !important;
  min-width:0 !important;
}

body .lp-main .facilities .facility-card img{
  width:100% !important;
  height:118px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
}

@media (max-width:1280px){
  body .lp-main .facilities .container.split-heading{
    width:min(1240px,calc(100% - 28px)) !important;
    grid-template-columns:260px minmax(0,1fr) !important;
    gap:22px !important;
  }

  body .lp-main .facilities .section-copy{
    width:260px !important;
    min-width:260px !important;
  }

  body .lp-main .facilities .facility-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}

@media (max-width:980px){
  body .lp-main .facilities .container.split-heading{
    width:calc(100% - 32px) !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body .lp-main .facilities .section-copy{
    width:100% !important;
    min-width:0 !important;
  }

  body .lp-main .facilities .facility-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:640px){
  body .lp-main .section-sub-link,
  body .lp-main .machine-link{
    width:100% !important;
  }

  body .lp-main .facilities .facility-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body .lp-main .facilities .facility-card img{
    height:132px !important;
  }
}

/* =========================================================
   G-Flady common services icon image update 2026-06-24
   全プラン共通サービス：擬似アイコン → 指定画像に差し替え
   ========================================================= */
body .lp-main .price-v3 .plan-common-icon{
  width:34px !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body .lp-main .price-v3 .plan-common-icon::before{
  content:none !important;
}

body .lp-main .price-v3 .plan-common-icon img{
  display:block !important;
  width:28px !important;
  height:28px !important;
  object-fit:contain !important;
}

/* =========================================================
   G-Flady common services icon fix 2026-06-24
   1) 旧CSSの擬似アイコンを完全非表示
   2) 追加画像のみ表示
   3) 画像サイズを1.5倍に調整
   ========================================================= */
body .lp-main .price-v3 .plan-common-item .plan-common-icon::before,
body .lp-main .price-v3 .plan-common-item .plan-common-icon::after{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
}

body .lp-main .price-v3 .plan-common-icon{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
}

body .lp-main .price-v3 .plan-common-icon img{
  width:42px !important;
  height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  object-fit:contain !important;
}


/* =========================================================
   G-Flady lower page: lesson / facility / price
   固定ページ「レッスン・設備・料金案内」
   ========================================================= */

.gflady-subpage{
  --gsub-rose:#cf5f78;
  --gsub-rose-dark:#ad435b;
  --gsub-pink:#fff6f8;
  --gsub-pink-2:#fff0f4;
  --gsub-border:#f0cfd5;
  --gsub-text:#2f2929;
  --gsub-muted:#665a5d;
  background:#fff;
  color:var(--gsub-text);
  font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif);
  overflow:hidden;
}

.gsub-container{
  width:min(1120px, calc(100% - 56px));
  margin:0 auto;
}

.gsub-hero{
  padding:36px 0 54px;
  background:linear-gradient(90deg,#fff5f8 0%,#fff 50%,#fff7f9 100%);
}

.gsub-hero__inner{
  min-height:250px;
  display:grid;
  grid-template-columns:1fr 420px;
  gap:46px;
  align-items:center;
}

.gsub-kicker{
  display:inline-flex;
  margin:0 0 12px;
  color:var(--gsub-rose);
  font-size:13px;
  font-weight:900;
  letter-spacing:.14em;
}

.gsub-hero h1{
  margin:0 0 20px;
  color:var(--gsub-rose);
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho",serif);
  font-size:40px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:.08em;
}

.gsub-hero p{
  margin:0;
  max-width:620px;
  color:#3a3335;
  font-size:15px;
  line-height:2;
  font-weight:700;
}

.gsub-hero__image{
  margin:0;
  overflow:hidden;
  border-radius:0 0 0 80px;
  box-shadow:0 20px 45px rgba(121,67,78,.10);
}

.gsub-hero__image img{
  display:block;
  width:100%;
  height:250px;
  object-fit:cover;
}

.gsub-section{
  padding:70px 0;
}

.gsub-section:nth-of-type(even){
  background:#fff;
}

.gsub-section:nth-of-type(odd){
  background:linear-gradient(180deg,#fff 0%,#fff9fb 100%);
}

.gsub-heading{
  margin:0 0 34px;
  text-align:center;
}

.gsub-heading span{
  display:block;
  margin:0 0 5px;
  color:var(--gsub-rose);
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho",serif);
  font-size:38px;
  line-height:1;
  font-weight:600;
  letter-spacing:.06em;
}

.gsub-heading h2{
  position:relative;
  display:inline-block;
  margin:0;
  padding:0 44px;
  color:var(--gsub-rose);
  font-size:17px;
  line-height:1.5;
  font-weight:900;
  letter-spacing:.14em;
}

.gsub-heading h2::before,
.gsub-heading h2::after{
  content:"";
  position:absolute;
  top:50%;
  width:28px;
  height:1px;
  background:var(--gsub-border);
}

.gsub-heading h2::before{ left:0; }
.gsub-heading h2::after{ right:0; }

/* PRICE */
.gsub-price{
  padding-top:58px;
}

.gsub-fees{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  max-width:760px;
  margin:0 auto 34px;
  overflow:hidden;
  border:1px solid var(--gsub-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 40px rgba(121,67,78,.07);
}

.gsub-fee{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-items:center;
  text-align:center;
  padding:20px 28px;
}

.gsub-fee + .gsub-fee{
  border-left:1px solid var(--gsub-border);
}


.gsub-fee p{
  margin:0 0 3px;
  font-size:13px;
  font-weight:900;
}

.gsub-fee strong{
  display:inline-block;
  color:var(--gsub-text);
  font-size:26px;
  line-height:1.2;
  font-weight:800;
}

.gsub-fee small{
  margin-left:7px;
  color:#4c4446;
  font-size:12px;
  font-weight:700;
}

.gsub-plan-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}

.gsub-plan-card{
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--gsub-border);
  box-shadow:0 16px 36px rgba(121,67,78,.07);
  text-align:center;
}

.gsub-plan-card h3{
  margin:0;
  padding:12px 10px;
  background:linear-gradient(135deg,var(--gsub-rose),#e58aa1);
  color:#fff;
  font-size:15px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.04em;
}

.gsub-plan-price{
  margin:20px 0 10px;
  color:var(--gsub-text);
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho",serif);
  font-size:26px;
  line-height:1;
  font-weight:700;
}

.gsub-plan-price small{
  margin-left:4px;
  font-size:11px;
  font-family:var(--sans-readable,"Noto Sans JP","Meiryo",sans-serif);
}

.gsub-plan-card dl{
  margin:0 18px 12px;
  padding:12px 0;
  border-top:1px solid #f3dde2;
  border-bottom:1px solid #f3dde2;
}

.gsub-plan-card dt{
  margin:0 0 4px;
  font-size:12px;
  font-weight:900;
}

.gsub-plan-card dd{
  margin:0;
  font-size:15px;
  font-weight:800;
}

.gsub-plan-lead{
  min-height:48px;
  margin:0;
  padding:0 16px 20px;
  color:var(--gsub-muted);
  font-size:12px;
  line-height:1.65;
  font-weight:700;
}

.gsub-note{
  margin:18px 0 0;
  color:#6d6264;
  font-size:12px;
  line-height:1.8;
  font-weight:700;
  text-align:center;
}

/* STAFF */
.gsub-staff-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.gsub-staff-card{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:20px;
  align-items:center;
  min-height:210px;
  padding:26px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--gsub-border);
  box-shadow:0 16px 36px rgba(121,67,78,.07);
}

.gsub-staff-photo{
  width:110px;
  height:110px;
  border-radius:50%;
  overflow:hidden;
  background:#f7e6ea;
}

.gsub-staff-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.gsub-staff-photo.is-placeholder{
  display:grid;
  place-items:center;
  font-size:58px;
  color:#c8a7ad;
}

.gsub-staff-role{
  display:inline-flex;
  margin:0 0 8px;
  padding:4px 10px;
  border-radius:999px;
  background:#fff0f4;
  color:var(--gsub-rose);
  font-size:11px;
  line-height:1;
  font-weight:900;
}

.gsub-staff-card h3{
  margin:0 0 8px;
  color:var(--gsub-rose);
  font-size:18px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.06em;
}

.gsub-staff-license{
  margin:0 0 10px;
  color:#403638;
  font-size:11px;
  line-height:1.6;
  font-weight:800;
}

.gsub-staff-card p:last-child{
  margin:0;
  color:var(--gsub-muted);
  font-size:12px;
  line-height:1.75;
  font-weight:700;
}

/* SCHEDULE */
.gsub-schedule-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}

.gsub-schedule-card{
  overflow:hidden;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--gsub-border);
  box-shadow:0 12px 30px rgba(121,67,78,.06);
  text-align:center;
}

.gsub-schedule-card h3{
  margin:0;
  padding:11px 10px;
  background:#3e393a;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.gsub-schedule-card.is-pilates h3{
  background:linear-gradient(135deg,#cf5f78,#e58aa1);
}

.gsub-schedule-card.is-yoga h3{
  background:linear-gradient(135deg,#7bb9bd,#9fd4d0);
}

.gsub-schedule-card.is-stretch h3{
  background:linear-gradient(135deg,#d4a35f,#ebc384);
  font-size:12px;
}

.gsub-schedule-day{
  margin:0;
  padding:13px 10px 6px;
  color:var(--gsub-text);
  font-size:15px;
  font-weight:900;
}

.gsub-schedule-time{
  margin:0;
  padding:0 10px 5px;
  color:var(--gsub-text);
  font-size:14px;
  line-height:1.45;
  font-weight:800;
}

.gsub-schedule-time:last-child{
  padding-bottom:16px;
}

/* FACILITY */
.gsub-facility-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}

.gsub-facility-card{
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--gsub-border);
  box-shadow:0 16px 36px rgba(121,67,78,.07);
  text-align:center;
}

.gsub-facility-card img{
  display:block;
  width:100%;
  height:150px;
  object-fit:cover;
}

.gsub-facility-card h3{
  margin:14px 12px 5px;
  color:var(--gsub-text);
  font-size:15px;
  font-weight:900;
}

.gsub-facility-card p{
  min-height:48px;
  margin:0;
  padding:0 12px 18px;
  color:var(--gsub-muted);
  font-size:12px;
  line-height:1.65;
  font-weight:700;
}


/* MACHINE */
.gsub-machine-category{
  margin:6px 0 20px;
  border-top:1px solid var(--gsub-border);
}

.gsub-machine-category p{
  display:inline-flex;
  margin:-1px 0 0;
  min-width:190px;
  padding:8px 18px;
  border:1px solid var(--gsub-border);
  border-top-color:var(--gsub-rose);
  background:#fff;
  color:var(--gsub-rose);
  font-size:12px;
  font-weight:900;
}

.gsub-machine-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  margin:0 0 28px;
}

.gsub-machine-grid--small{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.gsub-machine-card{
  min-height:190px;
  padding:14px 12px 16px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--gsub-border);
  box-shadow:0 12px 28px rgba(121,67,78,.06);
  text-align:center;
}

.gsub-machine-card img{
  width:100%;
  height:115px;
  object-fit:contain;
  display:block;
  margin:0 auto 10px;
}

.gsub-machine-card h3{
  margin:0 0 4px;
  color:var(--gsub-text);
  font-size:12px;
  line-height:1.45;
  font-weight:900;
}

.gsub-machine-card p{
  margin:0;
  color:#4c4446;
  font-size:11px;
  font-weight:700;
}



/* MAP */
.gsub-map-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

.gsub-map-card{
  margin:0;
  padding:16px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--gsub-border);
  box-shadow:0 14px 34px rgba(121,67,78,.07);
}

.gsub-map-card figcaption{
  margin:0 0 12px;
  text-align:center;
  color:var(--gsub-text);
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif);
  font-size:16px;
  font-weight:700;
  letter-spacing:.08em;
}

.gsub-map-card figcaption small{
  margin-left:8px;
  color:#6d6264;
  font-size:12px;
  letter-spacing:.03em;
}

.gsub-map-card img{
  display:block;
  width:100%;
  height:300px;
  object-fit:contain;
  background:#fff;
  border-radius:10px;
}

/* FAQ */
.gsub-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 24px;
}

.gsub-faq-item{
  border-radius:14px;
  background:#fff;
  border:1px solid var(--gsub-border);
  overflow:hidden;
}

.gsub-faq-item summary{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:16px 52px 16px 18px;
  color:var(--gsub-text);
  font-size:14px;
  line-height:1.55;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}

.gsub-faq-item summary::-webkit-details-marker{
  display:none;
}

.gsub-faq-item summary::after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--gsub-rose);
  color:#fff;
  font-size:16px;
  line-height:1;
  font-weight:900;
}

.gsub-faq-item[open] summary::after{
  content:"−";
}

.gsub-faq-item summary span{
  color:var(--gsub-rose);
  font-weight:900;
}

.gsub-faq-item p{
  margin:0;
  padding:0 18px 18px 48px;
  color:var(--gsub-muted);
  font-size:13px;
  line-height:1.8;
  font-weight:700;
}

/* CTA */
.gsub-cta{
  padding:54px 0 70px;
  background:#fff;
}

.gsub-cta__inner{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:36px;
  align-items:center;
  padding:28px 46px;
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 50%,rgba(255,255,255,.55) 0 22%,rgba(255,255,255,0) 42%),
    linear-gradient(90deg,#fff2f6 0%,#fff 52%,#fff0f4 100%);
  border:1px solid var(--gsub-border);
  box-shadow:0 18px 45px rgba(121,67,78,.09);
}

.gsub-cta__image{
  margin:0;
  overflow:hidden;
  border-radius:20px;
}

.gsub-cta__image img{
  display:block;
  width:100%;
  height:180px;
  object-fit:cover;
  object-position:center;
}

.gsub-cta__copy{
  text-align:center;
}

.gsub-cta__copy h2{
  margin:0 0 14px;
  color:var(--gsub-text);
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif);
  font-size:26px;
  line-height:1.6;
  font-weight:700;
  letter-spacing:.05em;
}

.gsub-cta__copy h2::first-letter{
  color:var(--gsub-rose);
}

.gsub-cta__copy p{
  margin:0 0 24px;
  color:var(--gsub-muted);
  font-size:14px;
  font-weight:800;
}

.gsub-cta__buttons{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.gsub-cta__buttons .btn{
  min-width:220px;
}

/* Tablet / SP */
@media (max-width:1100px){
  .gsub-container{
    width:calc(100% - 40px);
  }

  .gsub-hero__inner{
    grid-template-columns:1fr;
  }

  .gsub-hero__image img{
    height:260px;
  }

  .gsub-plan-grid,
  .gsub-schedule-grid,
  .gsub-machine-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gsub-staff-grid,
  .gsub-fees,
  .gsub-map-grid,
  .gsub-faq-grid{
    grid-template-columns:1fr;
  }

  .gsub-fee + .gsub-fee{
    border-left:0;
    border-top:1px solid var(--gsub-border);
  }

  .gsub-facility-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gsub-facility-card:nth-child(n+5){
    transform:none;
  }
}

@media (max-width:760px){
  .gsub-container{
    width:calc(100% - 28px);
  }

  .gsub-hero{
    padding:28px 0 42px;
  }

  .gsub-hero h1{
    font-size:30px;
  }

  .gsub-section{
    padding:54px 0;
  }

  .gsub-heading span{
    font-size:30px;
  }

  .gsub-heading h2{
    font-size:15px;
    padding:0 32px;
  }

  .gsub-plan-grid,
  .gsub-schedule-grid,
  .gsub-facility-grid,
  .gsub-machine-grid,
  .gsub-machine-grid--small{
    grid-template-columns:1fr;
  }

  .gsub-staff-card{
    grid-template-columns:1fr;
    text-align:center;
  }

  .gsub-staff-photo{
    margin:0 auto;
  }

  .gsub-map-card img{
    height:auto;
  }

  .gsub-cta__inner{
    grid-template-columns:1fr;
    padding:24px 18px 30px;
  }

  .gsub-cta__image{
    display:none;
  }

  .gsub-cta__copy h2{
    font-size:22px;
  }

  .gsub-cta__buttons .btn{
    width:100%;
    min-width:0;
  }
}


/* G-Flady facility 8 cards alignment */
.gsub-facility-card:nth-child(n+5){
  transform:none !important;
}


/* =========================================================
   G-Flady common header/footer navigation fix 2026-06-29
   ヘッダー・フッターの正規リンク化／料金プラン下層メニュー
   ========================================================= */

.site-header{
  position:sticky;
  top:0;
  z-index:9999;
  width:100%;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(238,184,193,.35);
}

.header-inner{
  width:min(1180px,calc(100% - 48px));
  min-height:74px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.brand,
.footer-brand{
  color:inherit;
  text-decoration:none;
}

.brand{
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  flex:0 0 auto;
}

.brand-main{
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho",serif) !important;
  font-size:28px;
  line-height:1;
  font-weight:700;
  letter-spacing:.06em;
}

.brand-sub{
  color:#3f3737;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.12em;
}

.global-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
  min-width:0;
}

.global-nav a{
  text-decoration:none;
}

.global-nav__item{
  position:relative;
  display:flex;
  align-items:center;
}

.global-nav__link,
.global-nav__parent{
  color:#2f2929;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  white-space:nowrap;
}

.global-nav__parent{
  padding-right:14px;
}

.global-nav__parent::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:6px;
  height:6px;
  border-right:2px solid #cf5f78;
  border-bottom:2px solid #cf5f78;
  transform:translateY(-60%) rotate(45deg);
}

.global-nav__submenu{
  position:absolute;
  left:50%;
  top:calc(100% + 16px);
  min-width:172px;
  padding:10px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(238,184,193,.85);
  box-shadow:0 18px 38px rgba(121,67,78,.12);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,8px);
  transition:opacity .2s ease, visibility .2s ease, transform .2s ease;
}

.global-nav__submenu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:18px;
}

.global-nav__item--has-submenu:hover .global-nav__submenu,
.global-nav__item--has-submenu:focus-within .global-nav__submenu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

.global-nav__submenu a{
  display:block;
  padding:11px 14px;
  border-radius:10px;
  color:#2f2929;
  font-size:13px;
  line-height:1.3;
  font-weight:900;
  white-space:nowrap;
}

.global-nav__submenu a:hover{
  background:#fff4f7;
  color:#cf5f78;
}

.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:10px 18px;
  border-radius:999px;
  background:#cf5f78;
  color:#fff !important;
  text-decoration:none;
  box-shadow:0 12px 24px rgba(207,95,120,.2);
  white-space:nowrap;
}

.nav-toggle{
  display:none;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff4f7;
  cursor:pointer;
}

.nav-toggle span{
  display:block;
  width:20px;
  height:2px;
  margin:5px auto;
  border-radius:999px;
  background:#cf5f78;
  transition:transform .2s ease, opacity .2s ease;
}

.nav-toggle.is-open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.nav-toggle.is-open span:nth-child(2){
  opacity:0;
}

.nav-toggle.is-open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* フッター：法務系リンクはフッターのみに表示 */
.site-footer{
  background:#fff;
  border-top:1px solid rgba(238,184,193,.55);
}

.footer-brand{
  display:inline-flex;
  flex-direction:column;
  gap:3px;
}

.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 18px;
}

.footer-links a{
  white-space:nowrap;
}

/* SP */
@media (max-width:980px){
  .header-inner{
    width:calc(100% - 28px);
    min-height:66px;
  }

  .brand-main{
    font-size:24px;
  }

  .nav-toggle{
    display:block;
    flex:0 0 auto;
  }

  .global-nav{
    position:absolute;
    left:14px;
    right:14px;
    top:calc(100% + 8px);
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
    border-radius:18px;
    background:#fff;
    border:1px solid rgba(238,184,193,.85);
    box-shadow:0 18px 42px rgba(121,67,78,.13);
  }

  .global-nav.is-open{
    display:flex;
  }

  .global-nav__item{
    display:block;
  }

  .global-nav__link,
  .global-nav__parent,
  .global-nav > a{
    display:block;
    width:100%;
    padding:13px 12px;
    border-radius:12px;
    font-size:14px;
  }

  .global-nav__parent::after{
    right:12px;
  }

  .global-nav__submenu{
    position:static;
    min-width:0;
    margin:0 0 4px;
    padding:4px 0 4px 14px;
    border:0;
    box-shadow:none;
    background:transparent;
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .global-nav__submenu::before{
    display:none;
  }

  .global-nav__submenu a{
    padding:10px 12px;
    background:#fff8fa;
    font-size:13px;
  }

  .nav-cta{
    margin-top:6px;
    width:100%;
  }

  .footer-nav{
    gap:10px 16px;
  }
}

/* =========================================================
   G-Flady TOP Price Plan fix 2026-06-29
   1) 左見出しを「あなたにあった」＋「通い方を選べます」の2行に固定
   2) プランカード画像を使わないレイアウトへ変更
   3) 説明文を1文に整理
   ========================================================= */
body .lp-main .price.price-v3{
  padding:86px 0 82px !important;
}

body .lp-main .price-v3-layout{
  grid-template-columns:320px minmax(0,1fr) !important;
  gap:48px !important;
}

body .lp-main .price-v3-copy h2{
  margin:0 0 22px !important;
  line-height:1.42 !important;
}

body .lp-main .price-v3-copy h2 .price-v3-title-line,
body .lp-main .price-v3-copy h2 span{
  display:inline-block !important;
  white-space:nowrap !important;
}

body .lp-main .price-v3-copy p:not(.price-v3-eyebrow){
  max-width:300px !important;
  font-size:15px !important;
  line-height:2 !important;
  font-weight:800 !important;
}

/* PHP側でも画像タグは削除済み。既存CSS干渉対策として非表示も維持 */
body .lp-main .price-v3 .plan-choice-photo{
  display:none !important;
}

body .lp-main .price-v3 .plan-choice-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:462px !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#fff 0%,#fffafa 100%) !important;
}

body .lp-main .price-v3 .plan-choice-body{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  padding:42px 28px 30px !important;
}

body .lp-main .price-v3 .plan-choice-body h3{
  min-height:0 !important;
  margin:0 0 13px !important;
  font-size:25px !important;
  line-height:1.32 !important;
}

body .lp-main .price-v3 .plan-choice-lead{
  min-height:48px !important;
  margin:0 0 22px !important;
  font-size:14px !important;
  line-height:1.75 !important;
}

body .lp-main .price-v3 .plan-choice-features{
  margin:0 0 24px !important;
}

body .lp-main .price-v3 .plan-choice-price{
  margin:0 0 8px !important;
}

body .lp-main .price-v3 .plan-choice-price strong{
  font-size:45px !important;
}

body .lp-main .price-v3 .plan-choice-btn{
  margin-top:auto !important;
}

/* 画像なしになった分、カード横並び時の高さ・余白を安定させる */
body .lp-main .price-v3 .plan-choice-card--soft .plan-choice-body h3{
  color:#6f6766 !important;
}

@media (max-width:1380px){
  body .lp-main .price-v3-layout{
    grid-template-columns:280px minmax(0,1fr) !important;
    gap:32px !important;
  }

  body .lp-main .price-v3-copy p:not(.price-v3-eyebrow){
    max-width:270px !important;
    font-size:14px !important;
  }

  body .lp-main .price-v3 .plan-choice-card{
    min-height:430px !important;
  }

  body .lp-main .price-v3 .plan-choice-body{
    padding:36px 20px 26px !important;
  }

  body .lp-main .price-v3 .plan-choice-body h3{
    font-size:21px !important;
  }

  body .lp-main .price-v3 .plan-choice-price strong{
    font-size:38px !important;
  }
}

@media (max-width:1080px){
  body .lp-main .price-v3-layout{
    grid-template-columns:1fr !important;
  }

  body .lp-main .price-v3-copy{
    text-align:center !important;
  }

  body .lp-main .price-v3-copy p:not(.price-v3-eyebrow){
    max-width:none !important;
    margin:0 auto !important;
  }
}

@media (max-width:860px){
  body .lp-main .price-v3 .plan-choice-card{
    display:flex !important;
    min-height:auto !important;
  }

  body .lp-main .price-v3 .plan-choice-body{
    min-height:0 !important;
    padding:30px 20px 24px !important;
  }
}

@media (max-width:560px){
  body .lp-main .price-v3-copy{
    text-align:left !important;
  }

  body .lp-main .price-v3-copy h2{
    font-size:28px !important;
    line-height:1.42 !important;
  }

  body .lp-main .price-v3-copy h2 .price-v3-title-line,
  body .lp-main .price-v3-copy h2 span{
    white-space:nowrap !important;
  }

  body .lp-main .price-v3 .plan-choice-body h3{
    font-size:22px !important;
  }
}


/* =========================================================
   G-Flady TOP heading size fix 2026-06-29
   対象：
   - 女性が比較しやすいジム選び
   - 楽しみながら続けられるレッスン
   - 通いやすさも、居心地も。
   - あなたにあった通い方を選べます
   2周り小さくして、余白も少し調整
   ========================================================= */

/* 女性が比較しやすいジム選び */
body .lp-main .comparison.comparison-v2 .comparison-v2-title{
  font-size:28px !important;
  line-height:1.45 !important;
  margin-bottom:24px !important;
  letter-spacing:.035em !important;
}

/* 楽しみながら続けられるレッスン */
body .lp-main .lessons .section-copy h2{
  font-size:28px !important;
  line-height:1.55 !important;
  margin-bottom:18px !important;
  letter-spacing:.035em !important;
}

/* 通いやすさも、居心地も。 */
body .lp-main .facilities .section-copy h2{
  font-size:28px !important;
  line-height:1.55 !important;
  margin-bottom:18px !important;
  letter-spacing:.035em !important;
}

/* あなたにあった通い方を選べます */
body .lp-main .price.price-v3 .price-v3-copy h2{
  font-size:32px !important;
  line-height:1.48 !important;
  margin-bottom:18px !important;
  letter-spacing:.035em !important;
}

/* 左見出しが小さくなった分、説明文との距離を自然に詰める */
body .lp-main .price.price-v3 .price-v3-copy p:not(.price-v3-eyebrow){
  font-size:14px !important;
  line-height:1.9 !important;
}

@media (max-width:1380px){
  body .lp-main .comparison.comparison-v2 .comparison-v2-title,
  body .lp-main .lessons .section-copy h2,
  body .lp-main .facilities .section-copy h2{
    font-size:26px !important;
  }

  body .lp-main .price.price-v3 .price-v3-copy h2{
    font-size:28px !important;
  }
}

@media (max-width:860px){
  body .lp-main .comparison.comparison-v2 .comparison-v2-title,
  body .lp-main .lessons .section-copy h2,
  body .lp-main .facilities .section-copy h2,
  body .lp-main .price.price-v3 .price-v3-copy h2{
    font-size:25px !important;
    line-height:1.5 !important;
  }
}

@media (max-width:560px){
  body .lp-main .comparison.comparison-v2 .comparison-v2-title,
  body .lp-main .lessons .section-copy h2,
  body .lp-main .facilities .section-copy h2,
  body .lp-main .price.price-v3 .price-v3-copy h2{
    font-size:23px !important;
    line-height:1.55 !important;
  }
}


/* =========================================================
   G-Flady responsive final alignment 2026-06-29
   スマホ100%想定：メニュー開閉、下層アンカー、横揺れ防止を統一
   ========================================================= */
html{
  scroll-behavior:smooth;
  overflow-x:hidden;
}

body{
  overflow-x:hidden !important;
}

body.gflady-menu-open{
  overflow:hidden !important;
  touch-action:none;
}

#top,
#features,
#lessons,
#lesson,
#lesson-schedule,
#schedule,
#facilities,
#facility,
#machines,
#machine,
#price,
#staff,
#map,
#faq,
#access,
#trial,
#company,
#tokutei,
#privacy,
#terms{
  scroll-margin-top:88px;
}

.gflady-anchor-alias{
  display:block;
  width:1px;
  height:1px;
  margin-top:-1px;
  overflow:hidden;
  visibility:hidden;
  scroll-margin-top:88px;
}

.site-header{
  z-index:10000 !important;
}

.header-inner{
  max-width:1180px;
}

.global-nav{
  flex-wrap:nowrap;
}

.global-nav__link,
.global-nav > a,
.nav-cta{
  -webkit-tap-highlight-color:transparent;
}

@media (max-width:980px){
  body.admin-bar .site-header{
    top:0;
  }

  .site-header{
    position:sticky !important;
    top:0 !important;
  }

  .header-inner{
    width:calc(100% - 28px) !important;
    min-height:64px !important;
    gap:12px !important;
  }

  .brand{
    min-width:0 !important;
  }

  .brand-main{
    font-size:24px !important;
  }

  .brand-sub{
    font-size:9px !important;
    letter-spacing:.06em !important;
    white-space:nowrap !important;
  }

  .nav-toggle{
    position:relative !important;
    z-index:10002 !important;
    display:block !important;
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    box-shadow:0 10px 24px rgba(121,67,78,.10) !important;
  }

  .global-nav{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    top:74px !important;
    z-index:10001 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    width:auto !important;
    max-height:calc(100dvh - 96px) !important;
    padding:12px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid rgba(238,184,193,.9) !important;
    box-shadow:0 24px 54px rgba(121,67,78,.18) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }

  .global-nav.is-open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  .global-nav__item{
    display:block !important;
    width:100% !important;
  }

  .global-nav__link,
  .global-nav__parent,
  .global-nav > a:not(.nav-cta){
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:48px !important;
    padding:14px 14px !important;
    border-radius:14px !important;
    color:#2f2929 !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
    background:#fff !important;
    border-bottom:1px solid rgba(238,184,193,.45) !important;
  }

  .global-nav__link::after,
  .global-nav > a:not(.nav-cta)::after{
    content:"›";
    color:#cf5f78;
    font-size:20px;
    line-height:1;
    font-weight:900;
  }

  .global-nav__parent::after{
    right:16px !important;
  }

  .global-nav__submenu{
    position:static !important;
    display:block !important;
    min-width:0 !important;
    margin:0 0 6px !important;
    padding:0 0 0 12px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  .global-nav__submenu::before{
    display:none !important;
  }

  .global-nav__submenu a{
    display:block !important;
    min-height:42px !important;
    padding:12px 14px !important;
    border-radius:12px !important;
    background:#fff7fa !important;
    color:#2f2929 !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .nav-cta{
    display:flex !important;
    width:100% !important;
    min-height:50px !important;
    margin:10px 0 0 !important;
    padding:14px 18px !important;
    border-radius:999px !important;
    font-size:15px !important;
  }
}

@media (max-width:768px){
  .container,
  .gsub-container,
  .glesson-container,
  .comparison-v2-inner,
  .price-v3-inner,
  .footer-inner{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .lp-main,
  .gflady-subpage,
  .glesson,
  .default-page,
  .price-detail-page-safe,
  .gzlegal{
    overflow-x:hidden !important;
  }

  .lp-main img,
  .gflady-subpage img,
  .glesson img,
  .default-page img,
  .gzlegal img{
    max-width:100% !important;
    height:auto;
  }

  .gsub-hero__inner,
  .gsub-cta__inner,
  .gsub-map-grid,
  .glesson-hero__inner,
  .glesson-bottom-grid,
  .glesson-platinum-grid,
  .price-v3-layout,
  .comparison-v2-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .gsub-plan-grid,
  .gsub-staff-grid,
  .gsub-facility-grid,
  .gsub-machine-grid,
  .gsub-faq-grid,
  .price-safe-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .gsub-fees,
  .price-safe-fees{
    grid-template-columns:1fr !important;
  }

  .gsub-fee + .gsub-fee,
  .price-safe-fees > div + div{
    border-left:0 !important;
    border-top:1px solid var(--gsub-border,#f0cfd5) !important;
  }

  .gsub-section,
  .glesson-section,
  .price-safe-section,
  .gzlegal-section{
    padding-top:54px !important;
    padding-bottom:54px !important;
  }

  .gsub-hero,
  .glesson-hero,
  .price-safe-hero,
  .gzlegal-hero{
    padding-top:34px !important;
    padding-bottom:42px !important;
  }

  .gsub-hero h1,
  .glesson-hero h1,
  .price-safe-hero h1,
  .gzlegal-hero h1{
    font-size:clamp(28px,8vw,38px) !important;
    line-height:1.45 !important;
  }

  .gsub-heading span,
  .glesson-heading .en{
    font-size:clamp(30px,8vw,38px) !important;
  }

  .gsub-heading h2,
  .glesson-heading h2{
    font-size:clamp(20px,6vw,28px) !important;
  }

  .gsub-hero__image,
  .glesson-hero__main,
  .comparison-v2-photo{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  .gsub-hero__image img,
  .glesson-hero__main img,
  .comparison-v2-photo img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
  }

  .comparison-v2-table-wrap,
  .table-wrap,
  .gsub-table-wrap{
    width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .comparison-v2-table,
  .compare-table,
  .gsub-table{
    min-width:640px !important;
  }

  .footer-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:24px !important;
    text-align:center !important;
  }

  .footer-nav,
  .footer-links{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
  }

  .footer-nav a,
  .footer-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    padding:10px 8px !important;
    border-radius:12px !important;
    background:#fff7fa !important;
    font-size:12px !important;
    line-height:1.35 !important;
    white-space:normal !important;
  }

  .fixed-cta{
    position:fixed !important;
    left:14px !important;
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom)) !important;
    z-index:9998 !important;
    width:auto !important;
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    box-shadow:0 16px 34px rgba(207,95,120,.30) !important;
  }

  .gflady-page-top{
    right:16px !important;
    bottom:calc(82px + env(safe-area-inset-bottom)) !important;
    z-index:9997 !important;
  }

  body{
    padding-bottom:calc(74px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:390px){
  .header-inner{
    width:calc(100% - 20px) !important;
  }

  .brand-main{
    font-size:22px !important;
  }

  .brand-sub{
    font-size:8px !important;
  }

  .global-nav{
    left:10px !important;
    right:10px !important;
  }

  .footer-nav,
  .footer-links{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   G-Flady SP menu + WEB入会 CTA fix 2026-06-29
   1) SPハンバーガーメニューを大きく表示
   2) 無料体験 + WEB入会ボタンを共通化
   ========================================================= */
.gflady-menu-open,
body.gflady-menu-open{
  overflow:hidden !important;
}

.nav-cta-group,
.gflady-cta-pair,
.glesson-cta__buttons{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}

.nav-cta-group{
  flex:0 0 auto !important;
}

.nav-cta,
.btn-join,
.glesson-btn--join,
.fixed-cta{
  text-decoration:none !important;
  -webkit-tap-highlight-color:transparent !important;
}

.nav-cta--trial,
.fixed-cta--trial{
  background:linear-gradient(135deg,#cf5f78,#e88ba2) !important;
  color:#fff !important;
}

.nav-cta--join,
.btn-join,
.glesson-btn--join,
.fixed-cta--join{
  background:#74c2bd !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 14px 30px rgba(116,194,189,.32) !important;
}

.btn-join,
.glesson-btn--join{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:52px !important;
  padding:14px 28px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

.fixed-cta-wrap{
  position:fixed !important;
  left:50% !important;
  bottom:calc(18px + env(safe-area-inset-bottom)) !important;
  z-index:9998 !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:min(560px,calc(100% - 28px)) !important;
  pointer-events:none !important;
}

.fixed-cta-wrap .fixed-cta{
  position:static !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:auto !important;
  min-width:0 !important;
  flex:1 1 0 !important;
  transform:none !important;
  pointer-events:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:52px !important;
  padding:14px 16px !important;
  border-radius:999px !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  box-shadow:0 16px 34px rgba(207,95,120,.28) !important;
}

@media (min-width:981px){
  .nav-cta-group{
    flex-wrap:nowrap !important;
  }

  .nav-cta-group .nav-cta{
    min-height:40px !important;
    padding:10px 16px !important;
    font-size:13px !important;
    line-height:1 !important;
  }

  .gflady-cta-pair{
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
  }

  .trial-card .gflady-cta-pair,
  .gsub-cta__buttons.gflady-cta-pair,
  .price-safe-cta.gflady-cta-pair{
    justify-content:center !important;
  }

  body{
    padding-bottom:0 !important;
  }
}

@media (max-width:980px){
  .nav-toggle{
    position:relative !important;
    z-index:10005 !important;
    display:grid !important;
    place-items:center !important;
    flex:0 0 48px !important;
    width:48px !important;
    height:48px !important;
    border-radius:50% !important;
    background:#fff !important;
    border:1px solid rgba(207,95,120,.35) !important;
    box-shadow:0 12px 28px rgba(121,67,78,.16) !important;
  }

  .nav-toggle span{
    width:22px !important;
    height:2px !important;
    margin:3px auto !important;
    background:#cf5f78 !important;
  }

  .nav-toggle.is-open{
    background:#cf5f78 !important;
    border-color:#cf5f78 !important;
  }

  .nav-toggle.is-open span{
    background:#fff !important;
  }

  .global-nav{
    position:fixed !important;
    inset:0 !important;
    z-index:10003 !important;
    width:100vw !important;
    height:100dvh !important;
    max-height:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding:92px 18px 28px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(180deg,rgba(255,246,248,.99) 0%,rgba(255,255,255,.99) 48%,rgba(255,240,244,.99) 100%) !important;
    box-shadow:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease !important;
  }

  .global-nav.is-open,
  body.gflady-menu-open .global-nav,
  html.gflady-menu-open .global-nav{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }

  .global-nav::before{
    content:"MENU" !important;
    display:block !important;
    margin:0 0 8px !important;
    color:#cf5f78 !important;
    font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif) !important;
    font-size:28px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.12em !important;
    text-align:center !important;
  }

  .global-nav__link,
  .global-nav__parent,
  .global-nav > a:not(.nav-cta){
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:54px !important;
    padding:15px 18px !important;
    border-radius:18px !important;
    background:#fff !important;
    border:1px solid rgba(238,184,193,.75) !important;
    color:#2f2929 !important;
    font-size:16px !important;
    line-height:1.35 !important;
    font-weight:900 !important;
    box-shadow:0 10px 24px rgba(121,67,78,.08) !important;
  }

  .global-nav__link::after,
  .global-nav > a:not(.nav-cta)::after{
    content:"›" !important;
    color:#cf5f78 !important;
    font-size:22px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  .nav-cta-group{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    margin-top:10px !important;
  }

  .nav-cta-group .nav-cta{
    width:100% !important;
    min-height:58px !important;
    padding:17px 18px !important;
    border-radius:999px !important;
    font-size:17px !important;
    font-weight:900 !important;
    box-shadow:0 16px 34px rgba(207,95,120,.25) !important;
  }

  .gflady-cta-pair,
  .glesson-cta__buttons{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:12px !important;
  }

  .gflady-cta-pair .btn,
  .glesson-cta__buttons .glesson-btn{
    width:100% !important;
    min-width:0 !important;
  }
}

@media (max-width:768px){
  .fixed-cta-wrap{
    left:12px !important;
    right:12px !important;
    bottom:calc(12px + env(safe-area-inset-bottom)) !important;
    transform:none !important;
    width:auto !important;
    gap:8px !important;
  }

  .fixed-cta-wrap .fixed-cta{
    min-height:52px !important;
    padding:13px 10px !important;
    font-size:14px !important;
  }

  .gflady-page-top{
    bottom:calc(82px + env(safe-area-inset-bottom)) !important;
  }

  body{
    padding-bottom:calc(76px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:390px){
  .global-nav{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .fixed-cta-wrap .fixed-cta{
    font-size:13px !important;
  }
}

/* =========================================================
   G-Flady navigation / anchors / common services fix 2026-06-29
   1) TOP レッスンスケジュール導線を下層スケジュールへ
   2) SPハンバーガーボタンのデザイン改善
   3) 全プラン共通サービスを大きく見やすく調整
   4) アクセス導線をヘッダー/メニューへ追加
   ========================================================= */

/* PCでアクセス追加後もヘッダー内に収まりやすくする */
.global-nav{
  gap:clamp(12px,1.4vw,20px) !important;
}

@media (min-width:981px){
  .global-nav__link,
  .global-nav > a:not(.nav-cta){
    font-size:12.5px !important;
  }

  .nav-cta-group .nav-cta{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

/* SP：ハンバーガーは丸ではなく、見やすいMENUボタンに変更 */
@media (max-width:980px){
  .nav-toggle{
    position:relative !important;
    z-index:10005 !important;
    display:block !important;
    flex:0 0 78px !important;
    width:78px !important;
    height:42px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,#cf5f78,#e88ba2) !important;
    box-shadow:0 12px 26px rgba(207,95,120,.26) !important;
    cursor:pointer !important;
  }

  .nav-toggle::after{
    content:"MENU" !important;
    position:absolute !important;
    right:12px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    color:#fff !important;
    font-family:var(--sans-readable,"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif) !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
  }

  .nav-toggle span{
    position:absolute !important;
    left:14px !important;
    display:block !important;
    width:20px !important;
    height:2px !important;
    margin:0 !important;
    border-radius:999px !important;
    background:#fff !important;
    transition:transform .2s ease, opacity .2s ease, top .2s ease !important;
  }

  .nav-toggle span:nth-child(1){ top:13px !important; }
  .nav-toggle span:nth-child(2){ top:20px !important; }
  .nav-toggle span:nth-child(3){ top:27px !important; }

  .nav-toggle.is-open{
    background:#2f2929 !important;
    box-shadow:0 12px 26px rgba(47,41,41,.24) !important;
  }

  .nav-toggle.is-open::after{
    content:"CLOSE" !important;
    right:10px !important;
    font-size:9px !important;
    letter-spacing:.06em !important;
  }

  .nav-toggle.is-open span:nth-child(1){
    top:20px !important;
    transform:rotate(45deg) !important;
  }

  .nav-toggle.is-open span:nth-child(2){
    opacity:0 !important;
  }

  .nav-toggle.is-open span:nth-child(3){
    top:20px !important;
    transform:rotate(-45deg) !important;
  }

  .global-nav{
    padding-top:90px !important;
  }
}

/* 全プラン共通サービス：通いやすさカードに近い見え方へ */
body .lp-main .price-v3 .plan-common-services{
  margin-top:34px !important;
  grid-template-columns:220px minmax(0,1fr) !important;
  border-radius:24px !important;
  border:1px solid rgba(238,184,193,.86) !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(121,67,78,.08) !important;
}

body .lp-main .price-v3 .plan-common-title{
  min-height:128px !important;
  padding:24px 18px !important;
  background:linear-gradient(135deg,#fff4f7,#fff) !important;
  color:#cf5f78 !important;
  font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho",serif) !important;
  font-size:22px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
  letter-spacing:.05em !important;
}

body .lp-main .price-v3 .plan-common-list{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

body .lp-main .price-v3 .plan-common-item{
  min-height:128px !important;
  padding:20px 12px 18px !important;
  gap:12px !important;
  border-left:1px solid rgba(238,184,193,.48) !important;
  border-bottom:1px solid rgba(238,184,193,.48) !important;
  background:#fff !important;
  color:#302829 !important;
  font-size:15px !important;
  line-height:1.42 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

body .lp-main .price-v3 .plan-common-icon{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  min-height:72px !important;
  border-radius:18px !important;
  background:#fff8fa !important;
  border:1px solid rgba(238,184,193,.55) !important;
}

body .lp-main .price-v3 .plan-common-icon img{
  width:58px !important;
  height:58px !important;
  max-width:58px !important;
  max-height:58px !important;
  object-fit:contain !important;
}

body .lp-main .price-v3 .plan-common-note{
  margin-top:16px !important;
  font-size:14px !important;
  font-weight:800 !important;
}

@media (max-width:1080px){
  body .lp-main .price-v3 .plan-common-services{
    grid-template-columns:1fr !important;
  }

  body .lp-main .price-v3 .plan-common-title{
    min-height:84px !important;
  }
}

@media (max-width:640px){
  body .lp-main .price-v3 .plan-common-services{
    margin-top:26px !important;
    border-radius:22px !important;
  }

  body .lp-main .price-v3 .plan-common-title{
    min-height:92px !important;
    padding:22px 14px !important;
    font-size:23px !important;
    line-height:1.45 !important;
  }

  body .lp-main .price-v3 .plan-common-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body .lp-main .price-v3 .plan-common-item{
    min-height:150px !important;
    padding:24px 10px 20px !important;
    gap:14px !important;
    font-size:16px !important;
    line-height:1.38 !important;
  }

  body .lp-main .price-v3 .plan-common-icon{
    width:78px !important;
    height:78px !important;
    min-width:78px !important;
    min-height:78px !important;
    border-radius:20px !important;
  }

  body .lp-main .price-v3 .plan-common-icon img{
    width:64px !important;
    height:64px !important;
    max-width:64px !important;
    max-height:64px !important;
  }

  body .lp-main .price-v3 .plan-common-note{
    font-size:13px !important;
    line-height:1.75 !important;
  }
}

/* =========================================================
   G-Flady TOP KV 丸バッジ調整 2026-06-29
   アイコン・文字・丸枠のバランス改善
   文字サイズ：現状より約1ptアップ
   ========================================================= */

body .lp-main .hero .hero-badges{
  width:auto !important;
  max-width:720px !important;
  display:grid !important;
  grid-template-columns:repeat(4,156px) !important;
  gap:18px !important;
  align-items:center !important;
  justify-content:start !important;
  margin:28px 0 30px !important;
}

body .lp-main .hero .hero-badges > div{
  width:156px !important;
  height:156px !important;
  min-width:156px !important;
  min-height:156px !important;
  aspect-ratio:1 / 1 !important;
  border-radius:50% !important;
  box-sizing:border-box !important;
  padding:20px 12px 17px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  overflow:hidden !important;
}

body .lp-main .hero .hero-badge-icon{
  width:66px !important;
  height:66px !important;
  max-width:66px !important;
  max-height:66px !important;
  object-fit:contain !important;
  display:block !important;
  flex:0 0 auto !important;
  margin:0 !important;
}

body .lp-main .hero .hero-badge-text{
  display:block !important;
  width:132px !important;
  max-width:132px !important;
  margin:0 !important;
  font-size:12.4px !important;
  line-height:1.24 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  color:#1f1b1c !important;
  text-align:center !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
}

/* 1500px以下 */
@media (max-width:1500px){
  body .lp-main .hero .hero-badges{
    max-width:688px !important;
    grid-template-columns:repeat(4,150px) !important;
    gap:16px !important;
  }

  body .lp-main .hero .hero-badges > div{
    width:150px !important;
    height:150px !important;
    min-width:150px !important;
    min-height:150px !important;
    padding:19px 11px 16px !important;
    gap:6px !important;
  }

  body .lp-main .hero .hero-badge-icon{
    width:63px !important;
    height:63px !important;
    max-width:63px !important;
    max-height:63px !important;
  }

  body .lp-main .hero .hero-badge-text{
    width:126px !important;
    max-width:126px !important;
    font-size:12px !important;
    line-height:1.23 !important;
  }
}

/* 1280px以下 */
@media (max-width:1280px){
  body .lp-main .hero .hero-badges{
    max-width:636px !important;
    grid-template-columns:repeat(4,142px) !important;
    gap:14px !important;
  }

  body .lp-main .hero .hero-badges > div{
    width:142px !important;
    height:142px !important;
    min-width:142px !important;
    min-height:142px !important;
    padding:17px 10px 15px !important;
    gap:6px !important;
  }

  body .lp-main .hero .hero-badge-icon{
    width:59px !important;
    height:59px !important;
    max-width:59px !important;
    max-height:59px !important;
  }

  body .lp-main .hero .hero-badge-text{
    width:120px !important;
    max-width:120px !important;
    font-size:11.4px !important;
    line-height:1.22 !important;
  }
}

/* SP：2列カード表示で読みやすく */
@media (max-width:800px){
  body .lp-main .hero .hero-badges{
    width:100% !important;
    max-width:none !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    margin:22px 0 24px !important;
  }

  body .lp-main .hero .hero-badges > div{
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    min-height:128px !important;
    border-radius:24px !important;
    padding:18px 10px 16px !important;
    gap:8px !important;
  }

  body .lp-main .hero .hero-badge-icon{
    width:62px !important;
    height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
  }

  body .lp-main .hero .hero-badge-text{
    width:100% !important;
    max-width:132px !important;
    font-size:14.3px !important;
    line-height:1.32 !important;
    letter-spacing:-.025em !important;
  }
}

/* 360px以下の小さい端末 */
@media (max-width:360px){
  body .lp-main .hero .hero-badge-text{
    font-size:13.6px !important;
  }

  body .lp-main .hero .hero-badges > div{
    min-height:122px !important;
  }
}


/* =========================================================
   G-Flady CTA 3 buttons + SP fixed header final fix 2026-06-29
   1) 固定CTAを「無料体験｜WEB入会｜プラチナプラン」の3つに統一
   2) SPでは3ボタンを下部に横並び・低めの高さで固定
   3) SPではハンバーガーメニューをスクロールしても常時表示
   ========================================================= */

/* 3つ目：プラチナプラン CTA */
.nav-cta--platinum,
.fixed-cta--platinum{
  background:linear-gradient(135deg,#d9a85f,#efc778) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 14px 30px rgba(217,168,95,.30) !important;
}

/* PCヘッダー内CTA：3つになっても収まりやすく */
@media (min-width:981px){
  .header-inner{
    width:min(1280px,calc(100% - 40px)) !important;
    gap:14px !important;
  }

  .global-nav{
    gap:clamp(8px,1vw,16px) !important;
  }

  .global-nav__link,
  .global-nav > a:not(.nav-cta){
    font-size:12px !important;
  }

  .nav-cta-group{
    display:flex !important;
    grid-template-columns:none !important;
    flex-wrap:nowrap !important;
    gap:6px !important;
  }

  .nav-cta-group .nav-cta{
    min-height:38px !important;
    padding:9px 11px !important;
    font-size:11.5px !important;
    line-height:1.1 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }
}

/* 固定CTA：PC/共通 */
.fixed-cta-wrap{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  bottom:calc(16px + env(safe-area-inset-bottom)) !important;
  z-index:10020 !important;
  transform:translateX(-50%) !important;

  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;

  width:min(720px,calc(100% - 28px)) !important;
  pointer-events:none !important;
}

.fixed-cta-wrap .fixed-cta{
  position:static !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;

  width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  padding:12px 10px !important;
  box-sizing:border-box !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;
  color:#fff !important;
  text-align:center !important;
  text-decoration:none !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  pointer-events:auto !important;
  -webkit-tap-highlight-color:transparent !important;
}

/* SP：ヘッダー・ハンバーガーを常時固定 */
@media (max-width:980px){
  html{
    scroll-padding-top:76px !important;
  }

  body{
    padding-top:64px !important;
  }

  .site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:10030 !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    background:rgba(255,255,255,.97) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
    box-shadow:0 8px 24px rgba(121,67,78,.08) !important;
  }

  body.admin-bar .site-header{
    top:46px !important;
  }

  .header-inner{
    min-height:64px !important;
  }

  .nav-toggle{
    position:relative !important;
    z-index:10040 !important;
    flex:0 0 78px !important;
    width:78px !important;
    height:42px !important;
  }

  .global-nav{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:10035 !important;
    height:100dvh !important;
    padding-top:92px !important;
  }

  body.admin-bar .global-nav{
    top:46px !important;
    height:calc(100dvh - 46px) !important;
  }

  body.gflady-menu-open{
    overflow:hidden !important;
    touch-action:none !important;
  }
}

@media (min-width:783px) and (max-width:980px){
  body.admin-bar .site-header{
    top:32px !important;
  }

  body.admin-bar .global-nav{
    top:32px !important;
    height:calc(100dvh - 32px) !important;
  }
}

/* SP固定CTA：3つを横並びで、画面を圧迫しない高さにする */
@media (max-width:768px){
  .fixed-cta-wrap{
    left:10px !important;
    right:10px !important;
    bottom:calc(9px + env(safe-area-inset-bottom)) !important;
    transform:none !important;
    width:auto !important;
    max-width:none !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    padding:0 !important;
  }

  .fixed-cta-wrap .fixed-cta{
    min-height:44px !important;
    padding:8px 4px !important;
    border-radius:999px !important;
    font-size:11.8px !important;
    line-height:1.15 !important;
    letter-spacing:0 !important;
    box-shadow:0 10px 22px rgba(121,67,78,.18) !important;
  }

  .fixed-cta-wrap .fixed-cta--platinum{
    font-size:11px !important;
  }

  .gflady-page-top{
    bottom:calc(72px + env(safe-area-inset-bottom)) !important;
  }

  body{
    padding-bottom:calc(68px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:380px){
  .fixed-cta-wrap{
    left:8px !important;
    right:8px !important;
    gap:5px !important;
  }

  .fixed-cta-wrap .fixed-cta{
    min-height:42px !important;
    padding:7px 3px !important;
    font-size:10.8px !important;
  }

  .fixed-cta-wrap .fixed-cta--platinum{
    font-size:10px !important;
  }
}


/* =========================================================
   G-Flady Platinum CTA Color Fix 2026-06-29
   プラチナプランボタンを濁りのないベタ色に修正
   ========================================================= */

.nav-cta--platinum,
.fixed-cta--platinum{
  background:#f0b84f !important;
  background-image:none !important;
  color:#fff !important;
  border-color:#f0b84f !important;
  box-shadow:0 12px 26px rgba(240,184,79,.28) !important;
}

.nav-cta--platinum:hover,
.fixed-cta--platinum:hover{
  background:#eaae45 !important;
  background-image:none !important;
  border-color:#eaae45 !important;
  color:#fff !important;
}


/* =========================================================
   G-Flady Platinum SP Display Final Fix 2026-06-29
   修正内容：
   1) CTA見出し「まずは無料で体験してみませんか？」を1行化
   2) 共通サービスをSPで横スクロールから2列カード表示へ変更
   3) 月額8,800円を白カード化して視認性改善
   4) 「好きな時間に、好きなだけ！」を1行化
   5) ジム利用説明文の強制改行を削除して自然改行へ
   6) 「単体で通うより、G-Fladyならお得」をSPでも1行化
   7) ピラティス・ヨガ・ボディケアストレッチカードを同サイズ化
   ========================================================= */

/* 1) CTA見出し：先頭文を1行化 */
.glesson .glesson-cta h2 .glesson-cta-question{
  display:inline-block !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

/* 3) 月額8,800円：PC/SP共通で背景と分離 */
.glesson .glesson-platinum-price-block{
  justify-self:end !important;
  align-self:center !important;
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:4px !important;

  min-width:286px !important;
  width:auto !important;
  max-width:100% !important;
  padding:14px 18px 15px !important;
  box-sizing:border-box !important;

  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.95) !important;
  box-shadow:0 12px 28px rgba(121,67,78,.16) !important;

  color:#2f2929 !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.glesson .glesson-platinum-price-block span{
  display:inline-block !important;
  margin:0 3px 0 0 !important;
  color:#ad435b !important;
  font-size:21px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.glesson .glesson-platinum-price-block strong{
  display:inline-block !important;
  color:#cf4f70 !important;
  font-family:"Noto Serif JP","Yu Mincho","YuMincho",serif !important;
  font-size:60px !important;
  line-height:.95 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.glesson .glesson-platinum-price-block em{
  display:inline-block !important;
  margin:0 0 0 2px !important;
  color:#cf4f70 !important;
  font-style:normal !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:900 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

.glesson .glesson-platinum-price-block small{
  display:inline-block !important;
  margin:0 0 0 3px !important;
  color:#6b5b5f !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:900 !important;
  vertical-align:baseline !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* 4) 好きな時間に、好きなだけ！を1行化 */
.glesson .glesson-plus--rebuild .glesson-gym-note strong{
  display:block !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

/* 5) 説明文はHTMLのbrを外し、自然改行。強制改行指定は無効化 */
.glesson .glesson-plus--rebuild .glesson-gym-note__lines{
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
}

/* 6) Value見出しを1行化 */
.glesson .glesson-value-image-section .glesson-heading h2{
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  line-height:1.35 !important;
}

/* 7) レッスンカード3枚を同じ大きさに統一 */
.glesson .glesson-lesson-image-grid{
  align-items:stretch !important;
}

.glesson .glesson-lesson-image-card{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(121,67,78,.10) !important;
}

.glesson .glesson-lesson-image-card img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:0 !important;
}

/* 1120px以下：価格ブロックを中央へ */
@media (max-width:1120px){
  .glesson .glesson-platinum-price-block{
    grid-column:1 / -1 !important;
    justify-self:center !important;
    width:min(100%, 440px) !important;
    min-width:0 !important;
    margin:6px auto 0 !important;
    padding:15px 18px !important;
    text-align:center !important;
  }
}

/* SP専用 */
@media (max-width:767px){

  /* 1) CTA見出し */
  .glesson .glesson-cta h2{
    font-size:25px !important;
    line-height:1.48 !important;
    letter-spacing:.01em !important;
  }

  .glesson .glesson-cta h2 .glesson-cta-question{
    font-size:25px !important;
    letter-spacing:-.04em !important;
  }

  /* 2) 共通サービス：横スクロール廃止、2列カード化 */
  .glesson .glesson-platinum-services-wrap{
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:auto !important;
    scroll-snap-type:none !important;
    background:#fff !important;
  }

  .glesson .glesson-platinum-services{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    border-top:1px solid #f5d2d9 !important;
  }

  .glesson .glesson-platinum-service-card,
  .glesson .glesson-platinum-service-card:nth-child(5n),
  .glesson .glesson-platinum-service-card:nth-last-child(-n+5){
    flex:none !important;
    width:auto !important;
    min-width:0 !important;
    min-height:178px !important;
    padding:16px 12px !important;
    border-right:1px solid #f5d2d9 !important;
    border-bottom:1px solid #f5d2d9 !important;
    scroll-snap-align:none !important;
    background:#fff !important;
  }

  .glesson .glesson-platinum-service-card:nth-child(2n){
    border-right:0 !important;
  }

  .glesson .glesson-platinum-service-card:nth-last-child(-n+2){
    border-bottom:0 !important;
  }

  .glesson .glesson-platinum-service-card img{
    width:100% !important;
    max-width:142px !important;
    height:auto !important;
    margin:0 auto !important;
  }

  .glesson .glesson-platinum-note{
    padding:16px 18px 18px !important;
    text-align:left !important;
    font-size:13px !important;
    line-height:1.8 !important;
    font-weight:800 !important;
  }

  /* 3) 月額8,800円：SPでは横幅いっぱいの白カード */
  .glesson .glesson-platinum-price-block{
    grid-column:1 / -1 !important;
    justify-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:4px 0 0 !important;
    padding:16px 12px 17px !important;
    border-radius:16px !important;
    background:#fff !important;
    border:1px solid #f7dce2 !important;
    box-shadow:0 10px 24px rgba(121,67,78,.16) !important;
  }

  .glesson .glesson-platinum-price-block span{
    color:#ad435b !important;
    font-size:17px !important;
    margin-right:2px !important;
  }

  .glesson .glesson-platinum-price-block strong{
    color:#cf4f70 !important;
    font-size:46px !important;
    letter-spacing:0 !important;
  }

  .glesson .glesson-platinum-price-block em{
    color:#cf4f70 !important;
    font-size:23px !important;
    margin-left:1px !important;
  }

  .glesson .glesson-platinum-price-block small{
    color:#6b5b5f !important;
    font-size:10px !important;
    margin-left:2px !important;
  }

  /* 4) 好きな時間に、好きなだけ！ */
  .glesson .glesson-plus--rebuild .glesson-gym-note strong{
    font-size:28px !important;
    line-height:1.35 !important;
    letter-spacing:-.04em !important;
  }

  /* 5) 説明文：手動改行なし、自然に読める余白 */
  .glesson .glesson-plus--rebuild .glesson-gym-note__lines{
    margin-top:16px !important;
    font-size:15px !important;
    line-height:1.85 !important;
    letter-spacing:-.02em !important;
  }

  /* 6) Value見出し */
  .glesson .glesson-value-image-section .glesson-heading h2{
    font-size:clamp(20px,5.2vw,24px) !important;
    letter-spacing:-.045em !important;
    white-space:nowrap !important;
  }

  .glesson .glesson-value-image-section .glesson-heading p{
    font-size:14px !important;
    line-height:1.9 !important;
  }

  /* 7) 3枚のレッスンカードを同一サイズ・大きめに */
  .glesson .glesson-lesson-image-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
    max-width:640px !important;
    margin:0 auto !important;
  }

  .glesson .glesson-lesson-image-card{
    aspect-ratio:1.08 / 1 !important;
    border-radius:24px !important;
  }

  .glesson .glesson-lesson-image-card img{
    object-fit:contain !important;
    padding:0 !important;
    background:#fff !important;
  }
}

/* 小さいiPhone対策 */
@media (max-width:380px){
  .glesson .glesson-cta h2{
    font-size:23px !important;
  }

  .glesson .glesson-cta h2 .glesson-cta-question{
    font-size:23px !important;
    letter-spacing:-.055em !important;
  }

  .glesson .glesson-platinum-service-card,
  .glesson .glesson-platinum-service-card:nth-child(5n),
  .glesson .glesson-platinum-service-card:nth-last-child(-n+5){
    min-height:164px !important;
    padding:14px 9px !important;
  }

  .glesson .glesson-platinum-service-card img{
    max-width:128px !important;
  }

  .glesson .glesson-platinum-price-block{
    padding:15px 8px 16px !important;
    gap:3px !important;
  }

  .glesson .glesson-platinum-price-block span{
    font-size:16px !important;
  }

  .glesson .glesson-platinum-price-block strong{
    font-size:41px !important;
  }

  .glesson .glesson-platinum-price-block em{
    font-size:21px !important;
  }

  .glesson .glesson-platinum-price-block small{
    font-size:9px !important;
  }

  .glesson .glesson-plus--rebuild .glesson-gym-note strong{
    font-size:26px !important;
    letter-spacing:-.06em !important;
  }

  .glesson .glesson-plus--rebuild .glesson-gym-note__lines{
    font-size:14px !important;
  }

  .glesson .glesson-value-image-section .glesson-heading h2{
    font-size:20px !important;
    letter-spacing:-.06em !important;
  }
}


/* =========================================================
   G-Flady lesson/equipment/price update 2026-06-30
   1) 平瀬鈴（すんちゃん）画像表示
   2) 水素水サーバー画像表示
   3) 館内MAP下に近隣施設MAP追加
   ========================================================= */

/* スタッフ画像：添付写真を自然に見せる */
.gflady-subpage .gsub-staff-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* 近隣施設MAP */
.gflady-subpage .gsub-nearby-map{
  margin-top:54px !important;
  padding-top:48px !important;
  border-top:1px solid var(--gsub-border,#f0cfcf) !important;
}

.gflady-subpage .gsub-heading--sub{
  margin-bottom:24px !important;
}

.gflady-subpage .gsub-heading--sub span{
  font-size:34px !important;
}

.gflady-subpage .gsub-map-card--nearby{
  width:min(980px,100%) !important;
  margin:0 auto !important;
}

.gflady-subpage .gsub-map-card--nearby img{
  height:auto !important;
  min-height:0 !important;
  object-fit:contain !important;
  background:#fff !important;
}

.gflady-subpage .gsub-nearby-note{
  width:min(920px,100%) !important;
  margin:18px auto 0 !important;
  padding:16px 20px !important;
  border-radius:18px !important;
  background:#fff7fa !important;
  border:1px solid var(--gsub-border,#f0cfcf) !important;
  color:var(--gsub-text,#302829) !important;
  font-size:14px !important;
  line-height:1.9 !important;
  font-weight:800 !important;
  text-align:center !important;
}

/* 水素水サーバーなど縦長画像を綺麗に収める */
.gflady-subpage .gsub-machine-card img[src*="machine-hydrogen-server"]{
  height:150px !important;
  object-fit:contain !important;
  padding:4px !important;
}

@media (max-width:760px){
  .gflady-subpage .gsub-nearby-map{
    margin-top:42px !important;
    padding-top:38px !important;
  }

  .gflady-subpage .gsub-heading--sub span{
    font-size:30px !important;
  }

  .gflady-subpage .gsub-map-card--nearby{
    padding:10px !important;
  }

  .gflady-subpage .gsub-nearby-note{
    padding:14px 16px !important;
    font-size:13px !important;
    text-align:left !important;
  }

  .gflady-subpage .gsub-machine-card img[src*="machine-hydrogen-server"]{
    height:190px !important;
  }
}

/* =========================================================
   G-Flady lesson/equipment page SP machine horizontal scroll
   2026-06-30
   スマホ表示時のみ：
   マシン紹介の各カテゴリを縦1列ではなく、カテゴリごとに横フリック表示へ変更
   ========================================================= */

@media (max-width:760px){
  .gflady-subpage .gsub-machine-section .gsub-machine-category{
    margin:8px 0 14px !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-category p{
    min-width:0 !important;
    padding:9px 18px !important;
    border-radius:0 0 12px 0 !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-grid,
  .gflady-subpage .gsub-machine-section .gsub-machine-grid--small{
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px !important;
    width:auto !important;
    max-width:none !important;
    margin:0 -14px 30px !important;
    padding:2px 14px 18px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-grid::-webkit-scrollbar,
  .gflady-subpage .gsub-machine-section .gsub-machine-grid--small::-webkit-scrollbar{
    height:6px !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-grid::-webkit-scrollbar-track,
  .gflady-subpage .gsub-machine-section .gsub-machine-grid--small::-webkit-scrollbar-track{
    background:#fff3f6 !important;
    border-radius:999px !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-grid::-webkit-scrollbar-thumb,
  .gflady-subpage .gsub-machine-section .gsub-machine-grid--small::-webkit-scrollbar-thumb{
    background:#e8a9b6 !important;
    border-radius:999px !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-card{
    flex:0 0 min(76vw,280px) !important;
    width:min(76vw,280px) !important;
    min-width:min(76vw,280px) !important;
    max-width:280px !important;
    min-height:218px !important;
    padding:16px 14px 18px !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
    box-sizing:border-box !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-card img{
    width:100% !important;
    height:132px !important;
    min-height:132px !important;
    max-height:132px !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 auto 12px !important;
    background:#fff !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-card h3{
    font-size:13px !important;
    line-height:1.5 !important;
    min-height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-card p{
    font-size:12px !important;
    line-height:1.4 !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-card img[src*="machine-hydrogen-server"]{
    height:132px !important;
    min-height:132px !important;
    max-height:132px !important;
    padding:0 !important;
  }
}

@media (max-width:420px){
  .gflady-subpage .gsub-machine-section .gsub-machine-card{
    flex-basis:78vw !important;
    width:78vw !important;
    min-width:78vw !important;
  }

  .gflady-subpage .gsub-machine-section .gsub-machine-card img,
  .gflady-subpage .gsub-machine-section .gsub-machine-card img[src*="machine-hydrogen-server"]{
    height:126px !important;
    min-height:126px !important;
    max-height:126px !important;
  }
}

/* =========================================================
   TOPページ「6つの理由」2枚目画像差し替え調整
   24時間営業で生活に合わせやすい：添付マシンエリア画像用
   ========================================================= */
body .lp-main .reasons .reason-card:nth-child(2) img{
  object-fit:cover !important;
  object-position:center center !important;
}


/* =========================================================
   G-Flady Platinum gym note overflow fix 2026-06-30
   左テキストが画像側へはみ出す不具合を修正
   ========================================================= */

.glesson .glesson-plus--rebuild .glesson-gym-panel{
  grid-template-columns:290px minmax(0,1fr) !important;
}

.glesson .glesson-plus--rebuild .glesson-gym-note{
  width:100% !important;
  min-width:0 !important;
  max-width:290px !important;
  overflow:hidden !important;
  padding:20px 22px !important;
  box-sizing:border-box !important;
}

.glesson .glesson-plus--rebuild .glesson-gym-note strong{
  display:block !important;
  max-width:100% !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  line-height:1.5 !important;
}

.glesson .glesson-plus--rebuild .glesson-gym-note__lines{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:12px 0 0 !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
  line-break:strict !important;
  line-height:1.75 !important;
  font-size:13px !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

.glesson .glesson-plus--rebuild .glesson-gym-note__lines br{
  display:block !important;
  content:"" !important;
}

/* 画像エリアは必ず右側に収める */
.glesson .glesson-plus--rebuild .glesson-gym-images{
  min-width:0 !important;
}

@media (max-width: 900px){
  .glesson .glesson-plus--rebuild .glesson-gym-panel{
    grid-template-columns:1fr !important;
  }

  .glesson .glesson-plus--rebuild .glesson-gym-note{
    max-width:none !important;
  }

  .glesson .glesson-plus--rebuild .glesson-gym-note strong,
  .glesson .glesson-plus--rebuild .glesson-gym-note__lines{
    white-space:normal !important;
  }
}



/* =========================================================
   G-Flady Platinum Plan FINAL HARD FIX 2026-06-30
   修正対象：
   1) インストラクター名の表記崩れ対策
   2) 「24時間ジム利用」左テキストが画像側へ回り込む／見切れる問題の最終上書き
   ※ このブロックは既存CSS干渉対策のため、必ず最後に置く
   ========================================================= */

.glesson .glesson-plus.glesson-plus--rebuild .glesson-plus__inner{
  overflow:visible !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-panel{
  display:grid !important;
  grid-template-columns:minmax(220px,250px) minmax(0,1fr) !important;
  gap:12px !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:20px 18px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border-radius:22px !important;
  background:#fff7fa !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 10px !important;
  color:#2f2929 !important;
  font-size:clamp(16px,1.45vw,20px) !important;
  line-height:1.45 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:anywhere !important;
  text-align:left !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note__lines{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#2f2929 !important;
  font-size:clamp(11px,1vw,13px) !important;
  line-height:1.42 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-align:left !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:anywhere !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note__lines br{
  display:none !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note__lines span{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
}

.glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure > img{
  display:block !important;
  width:100% !important;
  height:148px !important;
  min-height:148px !important;
  max-height:148px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:18px !important;
}

/* 中間幅：カード内に収めるため、左テキストを少しコンパクト化 */
@media (max-width:1180px){
  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-panel{
    grid-template-columns:minmax(205px,230px) minmax(0,1fr) !important;
    gap:10px !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note{
    padding:18px 15px !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note strong{
    font-size:17px !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note__lines{
    font-size:11px !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images{
    gap:10px !important;
  }
}

/* スマホ・タブレット：画像の裏に回り込まないよう1カラム化 */
@media (max-width:900px){
  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-panel{
    grid-template-columns:1fr !important;
    gap:14px !important;
    overflow:visible !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note{
    padding:22px 20px !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note strong{
    font-size:24px !important;
    line-height:1.45 !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note__lines{
    gap:4px !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note__lines span{
    white-space:normal !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure > img{
    height:150px !important;
    min-height:150px !important;
    max-height:150px !important;
  }
}

@media (max-width:520px){
  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note strong{
    font-size:21px !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-note__lines{
    font-size:14px !important;
  }

  .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure > img{
    height:132px !important;
    min-height:132px !important;
    max-height:132px !important;
  }
}


/* =========================================================
   G-Flady PlatinumPlan Instructor Name Final Guard 2026-06-30
   目的：既存HTML・キャッシュ・他CSSの干渉があっても、表示名だけを確実に上書き
   ========================================================= */
body .glesson .glesson-instructor-grid .glesson-instructor:nth-child(1) h3,
body .glesson .glesson-instructor-grid .glesson-instructor:nth-child(2) h3{
  font-size:0 !important;
  line-height:1 !important;
  color:transparent !important;
  text-indent:0 !important;
  overflow:visible !important;
}

body .glesson .glesson-instructor-grid .glesson-instructor:nth-child(1) h3::after,
body .glesson .glesson-instructor-grid .glesson-instructor:nth-child(2) h3::after{
  display:block !important;
  color:#cf5f78 !important;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic","Meiryo",sans-serif !important;
  font-size:clamp(24px, 2.2vw, 32px) !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-align:center !important;
  white-space:nowrap !important;
}

body .glesson .glesson-instructor-grid .glesson-instructor:nth-child(1) h3::after{
  content:"三澤えり" !important;
}

body .glesson .glesson-instructor-grid .glesson-instructor:nth-child(2) h3::after{
  content:"西田まい" !important;
}

/* =========================================================
   G-Flady PlatinumPlan SP layout fix 2026-06-30 retry
   修正対象：
   1) SPヘッダー上部の余白削除
   2) 「好きな時間に、好きなだけ！」画像カードの下余白削除
   ※ 既存CSS干渉対策のため、必ず最後に置く
   ========================================================= */

@media (max-width: 980px){
  html:has(body.gflady-platinum-page),
  body.gflady-platinum-page{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  body.gflady-platinum-page{
    overflow-x:hidden !important;
  }

  body.gflady-platinum-page .site-header{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    margin-top:0 !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:10030 !important;
  }

  body.gflady-platinum-page.admin-bar .site-header{
    top:0 !important;
  }

  body.gflady-platinum-page .header-inner{
    min-height:64px !important;
  }

  body.gflady-platinum-page .glesson,
  body.gflady-platinum-page main.glesson{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  body.gflady-platinum-page .glesson-hero.glesson-hero--image{
    padding-top:18px !important;
  }

  body.gflady-platinum-page .glesson-hero--image .glesson-container,
  body.gflady-platinum-page .glesson-hero-image{
    margin-top:0 !important;
  }
}

/* body classが未反映の場合の保険：Safari/Chrome対応 */
@media (max-width: 980px){
  body:has(main.glesson){
    padding-top:0 !important;
    margin-top:0 !important;
  }

  body:has(main.glesson) .site-header{
    position:sticky !important;
    top:0 !important;
    margin-top:0 !important;
  }
}

@media (max-width: 767px){
  body.gflady-platinum-page .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-panel,
  body:has(main.glesson) .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-panel{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:12px !important;
    overflow:visible !important;
  }

  body.gflady-platinum-page .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images,
  body:has(main.glesson) .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    align-items:start !important;
    overflow:visible !important;
  }

  body.gflady-platinum-page .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure,
  body:has(main.glesson) .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:4 / 3 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 10px 22px rgba(121,67,78,.08) !important;
  }

  body.gflady-platinum-page .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure > img,
  body:has(main.glesson) .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure > img{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:18px !important;
    margin:0 !important;
    padding:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
}

@media (max-width: 420px){
  body.gflady-platinum-page .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images,
  body:has(main.glesson) .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images{
    gap:10px !important;
  }

  body.gflady-platinum-page .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure,
  body:has(main.glesson) .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure{
    border-radius:16px !important;
  }

  body.gflady-platinum-page .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure > img,
  body:has(main.glesson) .glesson .glesson-plus.glesson-plus--rebuild .glesson-gym-images figure > img{
    border-radius:16px !important;
  }
}

/* =========================================================
   G-Flady Global SP Header Gap Fix 2026-06-30
   対象：全ページ共通
   目的：スマホ表示でヘッダー上に発生する不要な余白を削除
   方針：SP時のヘッダーを fixed ではなく sticky に戻し、body padding-top を解除
   ※ 既存CSS干渉対策のため、style.css の最終行に配置
   ========================================================= */
@media (max-width:980px){
  html,
  body{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  body{
    overflow-x:hidden !important;
  }

  .site-header{
    position:sticky !important;
    top:0 !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:10030 !important;
  }

  body.admin-bar .site-header{
    top:0 !important;
  }

  .header-inner{
    min-height:64px !important;
  }

  body > .site-header:first-child,
  body .site-header:first-child{
    margin-top:0 !important;
  }

  .site-header + main,
  .site-header + .lp-main,
  .site-header + .glesson,
  .site-header + #content{
    margin-top:0 !important;
  }
}

/* =========================================================
   G-Flady Price SP fee / plan price fix 2026-06-30
   料金案内SP表示：登録手数料の中央揃え・補足文分離・プラン金額拡大
   ========================================================= */
.gsub-fee-price-line{
  display:flex !important;
  align-items:baseline !important;
  justify-content:center !important;
  gap:7px !important;
  width:100% !important;
  text-align:center !important;
}

.gsub-fee-tax{
  margin-left:0 !important;
  white-space:nowrap !important;
}

.gsub-fee-detail{
  display:block !important;
  margin:8px auto 0 !important;
  color:#4c4446 !important;
  font-size:12px !important;
  line-height:1.55 !important;
  font-weight:700 !important;
  text-align:center !important;
  letter-spacing:.01em !important;
}

@media (max-width:760px){
  .gflady-subpage .gsub-fees{
    max-width:100% !important;
    margin:0 auto 32px !important;
    border-radius:18px !important;
  }

  .gflady-subpage .gsub-fee{
    padding:34px 22px !important;
    text-align:center !important;
  }

  .gflady-subpage .gsub-fee > div{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .gflady-subpage .gsub-fee p{
    width:100% !important;
    margin:0 0 14px !important;
    text-align:center !important;
    font-size:18px !important;
    line-height:1.45 !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
  }

  .gflady-subpage .gsub-fee-price-line{
    display:flex !important;
    align-items:baseline !important;
    justify-content:center !important;
    gap:9px !important;
    width:100% !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  .gflady-subpage .gsub-fee strong{
    display:inline-block !important;
    margin:0 !important;
    color:#2f2929 !important;
    font-size:40px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
  }

  .gflady-subpage .gsub-fee small.gsub-fee-tax,
  .gflady-subpage .gsub-fee .gsub-fee-tax{
    display:inline-block !important;
    margin:0 !important;
    color:#332d2d !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    vertical-align:baseline !important;
  }

  .gflady-subpage .gsub-fee-detail{
    display:block !important;
    width:100% !important;
    margin:10px auto 0 !important;
    color:#4c4446 !important;
    font-size:12px !important;
    line-height:1.55 !important;
    font-weight:700 !important;
    text-align:center !important;
    white-space:normal !important;
  }

  .gflady-subpage .gsub-plan-card{
    border-radius:18px !important;
  }

  .gflady-subpage .gsub-plan-card h3{
    padding:16px 12px !important;
    font-size:20px !important;
    line-height:1.35 !important;
  }

  .gflady-subpage .gsub-plan-price{
    display:flex !important;
    align-items:baseline !important;
    justify-content:center !important;
    gap:8px !important;
    margin:30px 0 22px !important;
    color:#2f2929 !important;
    font-family:var(--serif-readable,"Noto Serif JP","Yu Mincho","YuMincho",serif) !important;
    font-size:40px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.01em !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  .gflady-subpage .gsub-plan-price small{
    display:inline-block !important;
    margin-left:0 !important;
    color:#332d2d !important;
    font-family:var(--sans-readable,"Noto Sans JP","Meiryo",sans-serif) !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    vertical-align:baseline !important;
    white-space:nowrap !important;
  }

  .gflady-subpage .gsub-plan-card dl{
    margin:0 30px 18px !important;
    padding:18px 0 !important;
  }

  .gflady-subpage .gsub-plan-card dt{
    font-size:16px !important;
  }

  .gflady-subpage .gsub-plan-card dd{
    font-size:22px !important;
    line-height:1.4 !important;
    font-weight:900 !important;
  }
}

@media (max-width:390px){
  .gflady-subpage .gsub-fee strong,
  .gflady-subpage .gsub-plan-price{
    font-size:36px !important;
  }

  .gflady-subpage .gsub-fee small.gsub-fee-tax,
  .gflady-subpage .gsub-plan-price small{
    font-size:14px !important;
  }

  .gflady-subpage .gsub-fee-detail{
    font-size:11px !important;
  }
}

