@charset "UTF-8";
/**
 * ジム開業支援LP 用スタイルシート（Cocoon子テーマ用）
 *
 * 【配置場所】
 * /wp-content/themes/cocoon-child-master/gym-lp.css
 *
 * 【読み込み方】
 * 子テーマの functions.php に以下を追加してください：
 *
 * add_action('wp_enqueue_scripts', function() {
 *   if (is_page_template('tpl-gym-lp.php')) {
 *     wp_enqueue_style('gym-lp-style',
 *       get_stylesheet_directory_uri() . '/gym-lp.css',
 *       array(), '1.0.0');
 *   }
 * });
 */

/* ===========================================
   Cocoon干渉対策：LP表示時のみ適用
   =========================================== */

/* Cocoonのmain余白・サイドバー調整 */
.page-template-tpl-gym-lp #main,
.page-template-tpl-gym-lp .main {
  padding: 0 !important;
  margin: 0 !important;
  background: #0d0d0f !important;
  border: none !important;
  box-shadow: none !important;
}
.page-template-tpl-gym-lp #content,
.page-template-tpl-gym-lp .content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
.page-template-tpl-gym-lp .article {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
.page-template-tpl-gym-lp .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}
/* タイトル・日付・パンくず・サイドバー等を非表示 */
.page-template-tpl-gym-lp .entry-title,
.page-template-tpl-gym-lp .date-tags,
.page-template-tpl-gym-lp .breadcrumb,
.page-template-tpl-gym-lp #sidebar,
.page-template-tpl-gym-lp .sidebar,
.page-template-tpl-gym-lp .pankuzu,
.page-template-tpl-gym-lp .entry-footer,
.page-template-tpl-gym-lp .author-box,
.page-template-tpl-gym-lp .comment-area,
.page-template-tpl-gym-lp .related-entries,
.page-template-tpl-gym-lp .post-navigation-wrap {
  display: none !important;
}
/* body背景を黒に */
.page-template-tpl-gym-lp #body-in,
.page-template-tpl-gym-lp .body-in,
.page-template-tpl-gym-lp body {
  background: #0d0d0f !important;
}

/* ===========================================
   ここからLP本体スタイル
   .gym-lp スコープで Cocoon と衝突しないように
   =========================================== */

/* ===== Variables ===== */
.gym-lp{
  --bg:#0d0d0f;
  --bg-2:#16161a;
  --bg-3:#1d1d22;
  --ink:#f5f1e8;
  --ink-dim:#9b958a;
  --gold:#e8c547;
  --gold-deep:#c9a961;
  --line:#2a2a30;
  font-family:"Noto Sans JP",sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.7;
  overflow-x:hidden;
}

/* Google Fonts読み込み */
.gym-lp{
  /* 子テーマfunctions.phpでGoogle Fontsを読み込んでください */
}

.gym-lp *{margin:0;padding:0;box-sizing:border-box}
.gym-lp .serif{font-family:"Noto Serif JP",serif}
.gym-lp .en{font-family:"Bebas Neue",sans-serif;letter-spacing:0.05em}
.gym-lp a{text-decoration:none;color:inherit}
.gym-lp a:hover{text-decoration:none}
.gym-lp h1,.gym-lp h2,.gym-lp h3,.gym-lp h4,
.gym-lp h1::before,.gym-lp h2::before,.gym-lp h3::before,.gym-lp h4::before,
.gym-lp h1::after,.gym-lp h2::after,.gym-lp h3::after,.gym-lp h4::after{
  margin:0;
  padding:0;
  border:none;
  background:none;
  color:inherit;
  font-family:inherit;
}
.gym-lp h1,.gym-lp h2,.gym-lp h3,.gym-lp h4{
  border-left:none !important;
  border-bottom:none !important;
  background:none !important;
}
.gym-lp ul,.gym-lp ol{list-style:none;padding:0;margin:0}
.gym-lp p{margin:0}
.gym-lp img{max-width:100%;height:auto;vertical-align:bottom}

/* ===== Hero ===== */
.gym-lp .hero{
  min-height:100vh;
  padding:60px 0 0;
  position:relative;
  background:#1a1a1a;
  overflow:hidden;
  display:flex;align-items:center;
}

.gym-lp .hero-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  background-color:#1a1a1a;
  z-index:1;
}
.gym-lp .hero-bg::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg, rgba(20,20,20,0.85) 0%, rgba(40,30,15,0.8) 100%);
}
.gym-lp .hero-bg::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%, rgba(232,197,71,0.08), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(0,0,0,0.4), transparent 50%);
}

.gym-lp .hero-stripes{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  overflow:hidden;
}
.gym-lp .hero-stripes::before,
.gym-lp .hero-stripes::after{
  content:"";position:absolute;
  background:var(--gold);
  width:200%;height:140px;
  left:-50%;
  opacity:0.92;
}
.gym-lp .hero-stripes::before{
  top:42%;
  transform:rotate(-18deg) translateY(-50%);
}
.gym-lp .hero-stripes::after{
  bottom:-20%;
  transform:rotate(-18deg);
  height:200px;
  opacity:0.88;
}

.gym-lp .hero-inner{
  max-width:1280px;margin:0 auto;width:100%;
  position:relative;z-index:5;
  padding:40px 32px 60px;
  display:grid;grid-template-columns:1.4fr 1fr;gap:40px;
  align-items:center;
}

.gym-lp .hero-content{position:relative;z-index:6}

.gym-lp .hero-badge{
  display:inline-block;
  background:#0a0a0a;
  color:#fff;
  padding:14px 28px;
  margin-bottom:24px;
  box-shadow:6px 6px 0 rgba(0,0,0,0.3);
}
.gym-lp .hero-badge-main{
  font-size:clamp(1rem,1.6vw,1.4rem);
  font-weight:900;letter-spacing:0.02em;
  margin-bottom:4px;
  color:#fff;
}
.gym-lp .hero-badge-sub{
  font-size:clamp(0.78rem,1vw,0.95rem);
  color:#d4cfb8;font-weight:500;
}

.gym-lp .hero-main{
  font-family:"Noto Serif JP",serif;
  font-weight:900;
  font-size:clamp(2.4rem,5.5vw,5rem);
  line-height:1.05;letter-spacing:0.02em;
  color:transparent;
  -webkit-text-stroke:2px var(--gold);
  text-stroke:2px var(--gold);
  text-shadow:4px 4px 0 rgba(0,0,0,0.4);
  margin-bottom:16px;
  filter:drop-shadow(0 0 20px rgba(232,197,71,0.15));
  white-space:nowrap;
  max-width:100%;
  overflow:visible;
}

.gym-lp .hero-sub{
  font-family:"Noto Serif JP",serif;
  font-weight:700;
  font-size:clamp(1.2rem,2.4vw,2rem);
  color:var(--gold);
  margin-bottom:36px;
  letter-spacing:0.05em;
  text-shadow:3px 3px 0 rgba(0,0,0,0.5);
}

.gym-lp .hero-badges{
  display:flex;gap:16px;margin-bottom:36px;
  flex-wrap:wrap;
}
.gym-lp .circle-badge{
  width:140px;height:140px;border-radius:50%;
  background:var(--gold);
  display:flex;align-items:center;justify-content:center;
  text-align:center;font-weight:900;
  font-size:0.95rem;line-height:1.4;
  color:#1a1a1a;
  box-shadow:0 6px 20px rgba(0,0,0,0.3),inset 0 -4px 0 rgba(0,0,0,0.08);
  transition:.3s;
  flex-shrink:0;
}
.gym-lp .circle-badge:hover{transform:translateY(-4px) rotate(-3deg)}

.gym-lp .hero-msg{
  background:#0a0a0a;
  padding:20px 28px;
  display:inline-block;
  box-shadow:6px 6px 0 rgba(0,0,0,0.3);
  margin-bottom:28px;
}
.gym-lp .hero-msg p{
  font-size:clamp(0.95rem,1.3vw,1.15rem);
  color:#fff;font-weight:700;line-height:1.7;
}

.gym-lp .hero-cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.gym-lp .hero-btn{
  display:inline-block;padding:18px 38px;
  font-weight:900;text-decoration:none;
  transition:.3s;border-radius:4px;
  font-size:1.05rem;
  border:none;
  cursor:pointer;
}
.gym-lp .hero-btn-main{
  background:var(--gold);color:#1a1a1a;
  box-shadow:0 6px 0 #a8902f, 0 10px 20px rgba(0,0,0,0.3);
}
.gym-lp .hero-btn-main:hover{
  transform:translateY(3px);
  box-shadow:0 3px 0 #a8902f, 0 6px 12px rgba(0,0,0,0.3);
  color:#1a1a1a;
}
.gym-lp .hero-btn-sub{
  background:transparent;color:#fff;
  border:2px solid #fff;
}
.gym-lp .hero-btn-sub:hover{background:#fff;color:#1a1a1a}

.gym-lp .hero-figure{
  position:relative;z-index:4;
  align-self:end;
  height:100%;
  display:flex;align-items:flex-end;justify-content:center;
}
.gym-lp .hero-person{
  width:100%;max-width:420px;
  aspect-ratio:3/4;
  background-size:cover;
  background-position:center;
  background-color:#2a2418;
  border-radius:8px 8px 0 0;
  position:relative;
  border:1px dashed rgba(232,197,71,0.3);
}
.gym-lp .hero-person-label{
  position:absolute;bottom:24px;right:24px;
  color:#fff;font-size:0.85rem;
  background:rgba(0,0,0,0.6);padding:6px 12px;
  border-left:3px solid var(--gold);
}
.gym-lp .hero-person-label small{display:block;font-size:0.7rem;color:#d4cfb8}

/* ===== Section common ===== */
.gym-lp section{padding:120px 32px;position:relative}
.gym-lp .container{max-width:1280px;margin:0 auto}
.gym-lp .section-head{margin-bottom:72px;text-align:center}
.gym-lp .section-en{
  display:block;font-family:"Bebas Neue",sans-serif;
  color:var(--gold);letter-spacing:0.3em;font-size:1.05rem;
  margin-bottom:16px;
}
.gym-lp .section-title{
  font-family:"Noto Serif JP",serif;
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:900;line-height:1.4;
  color:var(--ink);
}
.gym-lp .section-lead{
  max-width:680px;margin:24px auto 0;
  color:var(--ink-dim);font-size:1rem;
}

/* ===== Target ===== */
.gym-lp .target{
  background:var(--bg-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.gym-lp .target-inner{
  display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center;
}
.gym-lp .target-label{
  font-family:"Bebas Neue",sans-serif;color:var(--gold);
  letter-spacing:0.3em;font-size:1rem;margin-bottom:12px;
}
.gym-lp .target h2{
  font-family:"Noto Serif JP",serif;
  font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:900;line-height:1.4;margin-bottom:20px;
  color:var(--ink);
}
.gym-lp .target h2 em{font-style:normal;color:var(--gold)}
.gym-lp .target p{color:var(--ink-dim)}
.gym-lp .target-checks{display:flex;flex-direction:column;gap:14px}
.gym-lp .target-check{
  display:flex;align-items:start;gap:14px;
  padding:18px 22px;background:var(--bg);
  border:1px solid var(--line);
  font-weight:500;font-size:1rem;
}
.gym-lp .target-check::before{
  content:"✓";color:var(--gold);font-weight:900;
  font-size:1.3rem;line-height:1;flex-shrink:0;
}

/* ===== Problem ===== */
.gym-lp .problem{background:var(--bg)}
.gym-lp .problem-layout{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:60px;
  align-items:start;
  margin-bottom:64px;
}
.gym-lp .problem-head{margin-bottom:40px}
.gym-lp .problem-head .section-en{display:block;margin-bottom:16px}
.gym-lp .problem-head .section-title{text-align:left}
.gym-lp .problem-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.gym-lp .problem-card{
  background:var(--bg-2);padding:28px 22px;
  border:1px solid var(--line);
  position:relative;transition:.3s;
}
.gym-lp .problem-card:hover{border-color:var(--gold);transform:translateY(-6px)}
.gym-lp .problem-icon{
  font-family:"Bebas Neue",sans-serif;
  font-size:1.8rem;color:var(--gold);
  margin-bottom:12px;display:block;line-height:1;
}
.gym-lp .problem-card h3{
  font-size:0.95rem;font-weight:700;line-height:1.6;
  color:var(--ink);
}

.gym-lp .problem-visual{
  position:sticky;top:120px;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto auto;
  gap:14px;
  height:fit-content;
}
.gym-lp .problem-image-main{
  grid-column:1 / -1;
  aspect-ratio:4 / 3;
  background-size:cover;
  background-position:center;
  background-color:#2a2418;
  border:1px dashed rgba(232,197,71,0.3);
  border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.5);
  font-size:0.85rem;text-align:center;line-height:1.6;
  position:relative;overflow:hidden;
}
.gym-lp .problem-image-main::after{
  content:"";position:absolute;
  top:0;left:0;width:6px;height:100%;
  background:var(--gold);
}
.gym-lp .problem-image-label{padding:0 20px}
.gym-lp .problem-image-sub{
  aspect-ratio:1 / 1;
  background-size:cover;
  background-position:center;
  background-color:#1e1810;
  border:1px dashed rgba(232,197,71,0.2);
  border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.4);
  font-size:0.78rem;text-align:center;line-height:1.5;
}
.gym-lp .problem-image-quote{
  grid-column:1 / -1;
  background:var(--gold);
  color:#1a1a1a;
  padding:18px 24px;
  font-family:"Noto Serif JP",serif;
  font-weight:900;font-size:1.05rem;
  text-align:center;
  border-radius:4px;
  box-shadow:4px 4px 0 rgba(0,0,0,0.3);
  position:relative;
}
.gym-lp .problem-image-quote::before{
  content:"";position:absolute;
  top:-10px;left:30px;
  width:0;height:0;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  border-bottom:10px solid var(--gold);
}

.gym-lp .problem-bridge{
  text-align:center;margin-top:0;padding:40px;
  background:linear-gradient(135deg,rgba(232,197,71,0.08),rgba(201,169,97,0.04));
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
}
.gym-lp .problem-bridge p{
  font-family:"Noto Serif JP",serif;font-weight:700;
  font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.6;
  color:var(--ink);
}
.gym-lp .problem-bridge .arrow{
  font-family:"Bebas Neue",sans-serif;color:var(--gold);
  font-size:1.5rem;margin:0 8px;
}

/* ===== Onestop ===== */
.gym-lp .onestop{
  background:
    radial-gradient(circle at 30% 50%, rgba(232,197,71,0.10), transparent 60%),
    var(--bg-2);
  position:relative;overflow:hidden;
}
.gym-lp .onestop::before{
  content:"";position:absolute;top:0;left:50%;
  width:1px;height:80px;background:var(--gold);
  transform:translateX(-50%);
}
.gym-lp .onestop-eyebrow{
  text-align:center;font-family:"Bebas Neue",sans-serif;
  color:var(--gold);letter-spacing:0.4em;font-size:0.95rem;
  margin-bottom:24px;
}
.gym-lp .onestop-title{
  text-align:center;font-family:"Noto Serif JP",serif;
  font-size:clamp(2rem,4.5vw,3.6rem);
  font-weight:900;line-height:1.3;margin-bottom:60px;
  color:var(--ink);
}
.gym-lp .onestop-title .big{color:var(--gold);font-size:1.15em;display:inline-block;transform:translateY(4px)}
.gym-lp .support-orbit{
  max-width:960px;margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:20px;position:relative;
}
.gym-lp .support-item{
  background:var(--bg);padding:32px 20px;
  border:1px solid var(--line);text-align:center;
  transition:.3s;position:relative;
}
.gym-lp .support-item:hover{
  border-color:var(--gold);
  background:linear-gradient(180deg,rgba(232,197,71,0.05),var(--bg));
  transform:translateY(-4px);
}
.gym-lp .support-num{
  font-family:"Bebas Neue",sans-serif;
  color:var(--ink-dim);font-size:0.9rem;letter-spacing:0.2em;
  margin-bottom:12px;
}
.gym-lp .support-item h4{
  font-size:1rem;font-weight:700;line-height:1.5;
  margin-bottom:8px;color:var(--ink);
}
.gym-lp .support-item p{font-size:0.78rem;color:var(--ink-dim);line-height:1.6}
.gym-lp .onestop-conclusion{
  text-align:center;margin-top:60px;
  font-family:"Noto Serif JP",serif;
  font-size:1.2rem;font-weight:700;
  color:var(--ink);
}
.gym-lp .onestop-conclusion .accent{
  color:var(--gold);font-size:1.4rem;
  border-bottom:2px solid var(--gold);padding-bottom:2px;
}

/* ===== Comparison ===== */
.gym-lp .compare{background:var(--bg)}
.gym-lp .compare-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0;max-width:1100px;margin:0 auto;
  border:1px solid var(--line);
}
.gym-lp .compare-col{padding:48px 36px}
.gym-lp .compare-col.bad{background:var(--bg-2);border-right:1px solid var(--line)}
.gym-lp .compare-col.good{
  background:linear-gradient(180deg,rgba(232,197,71,0.08),var(--bg));
  position:relative;
}
.gym-lp .compare-col.good::before{
  content:"BEST";position:absolute;top:0;right:0;
  background:var(--gold);color:#1a1a1a;
  font-family:"Bebas Neue",sans-serif;
  padding:6px 18px;font-size:0.85rem;letter-spacing:0.15em;font-weight:900;
}
.gym-lp .compare-label{
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:0.2em;font-size:0.95rem;
  margin-bottom:8px;
}
.gym-lp .compare-col.bad .compare-label{color:var(--ink-dim)}
.gym-lp .compare-col.good .compare-label{color:var(--gold)}
.gym-lp .compare-col h3{
  font-family:"Noto Serif JP",serif;
  font-size:1.4rem;font-weight:700;margin-bottom:24px;line-height:1.5;
  color:var(--ink);
}
.gym-lp .compare-list li{
  list-style:none;padding:14px 0;border-bottom:1px solid var(--line);
  display:flex;gap:12px;align-items:start;font-size:0.92rem;
  color:var(--ink);
}
.gym-lp .compare-list li:last-child{border-bottom:none}
.gym-lp .compare-col.bad .compare-list li::before{
  content:"×";color:var(--ink-dim);font-weight:900;flex-shrink:0;
}
.gym-lp .compare-col.good .compare-list li::before{
  content:"○";color:var(--gold);font-weight:900;flex-shrink:0;
}

/* ===== Reasons ===== */
.gym-lp .reasons{background:var(--bg-2)}
.gym-lp .reasons-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:28px;
}
.gym-lp .reason-card{
  background:linear-gradient(180deg, var(--bg-3), var(--bg));
  border:1px solid var(--line);
  padding:44px 32px;position:relative;
  transition:.4s;
}
.gym-lp .reason-card:hover{
  border-color:var(--gold);
  box-shadow:0 20px 50px rgba(232,197,71,0.1);
  transform:translateY(-6px);
}
.gym-lp .reason-num{
  position:absolute;top:24px;right:28px;
  font-family:"Bebas Neue",sans-serif;
  font-size:4rem;color:var(--gold);opacity:0.25;line-height:1;
}
.gym-lp .reason-tag{
  display:inline-block;font-size:0.72rem;
  color:var(--gold);letter-spacing:0.2em;margin-bottom:16px;
}
.gym-lp .reason-card h3{
  font-family:"Noto Serif JP",serif;
  font-size:1.3rem;font-weight:700;
  margin-bottom:20px;line-height:1.5;
  color:var(--ink);
}
.gym-lp .reason-card p{color:var(--ink-dim);font-size:0.92rem}

/* ===== Results ===== */
.gym-lp .results{background:var(--bg)}
.gym-lp .result-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
}
.gym-lp .result-card{
  background:var(--bg-2);border:1px solid var(--line);
  padding:32px 24px;text-align:center;transition:.3s;
}
.gym-lp .result-card:hover{border-color:var(--gold)}
.gym-lp .result-name{font-size:0.92rem;font-weight:700;margin-bottom:6px;color:var(--ink)}
.gym-lp .result-loc{font-size:0.78rem;color:var(--ink-dim);margin-bottom:20px}
.gym-lp .result-metric{
  font-family:"Bebas Neue",sans-serif;
  font-size:2.6rem;color:var(--gold);line-height:1;
}
.gym-lp .result-desc{font-size:0.82rem;color:var(--ink-dim);margin-top:8px}

/* ===== Flow ===== */
.gym-lp .flow{background:var(--bg-2)}
.gym-lp .flow-list{max-width:880px;margin:0 auto}
.gym-lp .flow-item{
  display:grid;grid-template-columns:120px 1fr;gap:32px;
  padding:36px 0;border-bottom:1px solid var(--line);
  align-items:start;
}
.gym-lp .flow-step{
  font-family:"Bebas Neue",sans-serif;
  font-size:3rem;color:var(--gold);line-height:1;
}
.gym-lp .flow-step small{display:block;font-size:0.65rem;color:var(--ink-dim);letter-spacing:0.2em;margin-bottom:4px}
.gym-lp .flow-item h3{font-size:1.2rem;margin-bottom:10px;color:var(--ink)}
.gym-lp .flow-item p{color:var(--ink-dim);font-size:0.93rem}

/* ===== Voice ===== */
.gym-lp .voice{background:var(--bg)}
.gym-lp .voice-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:28px;
}
.gym-lp .voice-card{
  background:var(--bg-2);padding:36px 28px;
  border-top:3px solid var(--gold);
}
.gym-lp .voice-quote{
  font-family:"Noto Serif JP",serif;font-weight:700;
  font-size:1.05rem;line-height:1.7;margin-bottom:24px;
  color:var(--ink);
}
.gym-lp .voice-meta{
  display:flex;align-items:center;gap:12px;
  padding-top:20px;border-top:1px solid var(--line);
}
.gym-lp .voice-avatar{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:#1a1a1a;
}
.gym-lp .voice-name{font-size:0.88rem;font-weight:700;color:var(--ink)}
.gym-lp .voice-role{font-size:0.76rem;color:var(--ink-dim)}

/* ===== FAQ ===== */
.gym-lp .faq{background:var(--bg-2)}
.gym-lp .faq-list{max-width:880px;margin:0 auto}
.gym-lp .faq-item{
  border-bottom:1px solid var(--line);
  padding:24px 0;
}
.gym-lp .faq-q{
  display:flex;gap:16px;align-items:start;cursor:pointer;
  font-weight:700;font-size:1.02rem;
  color:var(--ink);
}
.gym-lp .faq-q::before{
  content:"Q";color:var(--gold);font-family:"Bebas Neue",sans-serif;
  font-size:1.6rem;line-height:1;flex-shrink:0;
}
.gym-lp .faq-a{
  display:flex;gap:16px;align-items:start;
  margin-top:16px;color:var(--ink-dim);font-size:0.93rem;
}
.gym-lp .faq-a::before{
  content:"A";color:var(--gold-deep);font-family:"Bebas Neue",sans-serif;
  font-size:1.6rem;line-height:1;flex-shrink:0;
}

/* ===== CTA Final ===== */
.gym-lp .cta-final{
  background:
    linear-gradient(135deg, rgba(232,197,71,0.98), rgba(201,169,97,0.92)),
    var(--bg);
  text-align:center;padding:120px 32px;position:relative;overflow:hidden;
}
.gym-lp .cta-final::before{
  content:"CONTACT";position:absolute;
  font-family:"Bebas Neue",sans-serif;font-size:14rem;line-height:0.9;
  color:rgba(0,0,0,0.07);left:50%;top:50%;
  transform:translate(-50%,-50%);letter-spacing:0.1em;
  pointer-events:none;white-space:nowrap;
}
.gym-lp .cta-final .container{position:relative;z-index:2}
.gym-lp .cta-final h2{
  font-family:"Noto Serif JP",serif;
  font-size:clamp(1.8rem,4vw,3rem);
  font-weight:900;color:#1a1a1a;margin-bottom:24px;line-height:1.4;
}
.gym-lp .cta-final p{color:#1a1a1a;margin-bottom:40px;font-size:1.05rem;opacity:0.85}
.gym-lp .cta-final .btn{
  display:inline-block;
  background:#1a1a1a;color:var(--gold);font-size:1.1rem;padding:22px 56px;
  font-weight:900;text-decoration:none;transition:.3s;border-radius:4px;
}
.gym-lp .cta-final .btn:hover{background:#fff;color:#1a1a1a;transform:translateY(-3px)}
.gym-lp .cta-final-features{
  display:flex;justify-content:center;gap:32px;flex-wrap:wrap;
  margin-top:48px;
}
.gym-lp .cta-final-features span{
  color:#1a1a1a;font-size:0.9rem;font-weight:700;
  display:flex;align-items:center;gap:6px;
}
.gym-lp .cta-final-features span::before{content:"✓";font-weight:900}

/* ===== Responsive ===== */
@media (max-width:1023px){
  .gym-lp .hero-inner{grid-template-columns:1fr;gap:20px}
  .gym-lp .hero-figure{display:none}
  .gym-lp .hero-stripes::before{top:48%}
  .gym-lp .problem-layout{grid-template-columns:1fr;gap:40px}
  .gym-lp .problem-visual{position:static;max-width:520px;margin:0 auto}
}
@media (max-width:768px){
  .gym-lp section{padding:80px 20px}
  .gym-lp .flow-item{grid-template-columns:1fr;gap:12px}
  .gym-lp .target-inner{grid-template-columns:1fr;gap:40px}
  .gym-lp .compare-grid{grid-template-columns:1fr}
  .gym-lp .compare-col.bad{border-right:none;border-bottom:1px solid var(--line)}
  .gym-lp .circle-badge{width:110px;height:110px;font-size:0.82rem}
  .gym-lp .hero-main{
    -webkit-text-stroke-width:1.5px;
    font-size:clamp(2rem,11vw,3.2rem);
  }
  .gym-lp .problem-grid{grid-template-columns:1fr}
  .gym-lp .problem-head .section-title{text-align:center}
}
