@charset "UTF-8";
/* ==========================================================================
   THE SCULPT GYM 男性向けLP
   設計：モバイルファースト（ベース＝SP／PCはファイル末尾の @media に集約）
   命名：BEM ＋ sc- プレフィックス
   ========================================================================== */

/* --------------------------------------------------
   変数
   -------------------------------------------------- */
:root{
  --sc-bg:      #191919;   /* FV の黒背景 */
  --sc-bg-2:    #14161A;
  --sc-white:   #FFFFFF;
  --sc-silver:  #C7CBD1;
  --sc-gold:    #EED17E;   /* バッジ・アクセント文字 */
  --sc-gold-d:  #A57123;   /* 金グラデ両端 */
  --sc-gold-l:  #E9CB78;   /* 金グラデ中心 */
  --sc-green-1: #ABE1BF;
  --sc-green-2: #05A83F;
  --sc-green-3: #08A73C;
  --sc-green-4: #69B94C;
  --sc-font: "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --sc-font-mincho: "Noto Serif JP","Hiragino Mincho ProN","YuMincho","Yu Mincho",serif;
}

/* --------------------------------------------------
   リセット（このLPのスコープ内のみ）
   -------------------------------------------------- */
.sc-lp{
  margin:0;
  background:var(--sc-bg);
  color:var(--sc-white);
  font-family:var(--sc-font);
  line-height:1.6;
  overflow-x:hidden;
}
.sc-lp *,
.sc-lp *::before,
.sc-lp *::after{ box-sizing:border-box; }
.sc-lp :where(img){ max-width:100%; height:auto; display:block; }
.sc-lp :where(ul,ol){ list-style:none; margin:0; padding:0; }
.sc-lp :where(p,h1,h2,h3){ margin:0; }
.sc-lp :where(a){ text-decoration:none; color:inherit; }

/* --------------------------------------------------
   共通パーツ：CTAボタン
   -------------------------------------------------- */
.sc-btn{
  position:relative;
  display:flex;
  align-items:baseline;
  justify-content:center;
  width:100%;
  padding:15px 46px 15px 20px;
  border-radius:999px;
  background:linear-gradient(180deg,
    var(--sc-green-1) 0%,
    var(--sc-green-2) 38%,
    var(--sc-green-3) 72%,
    var(--sc-green-4) 100%);
  box-shadow:inset 0 2px 6px rgba(0,0,0,.25);
  color:var(--sc-white);
  white-space:nowrap;
  font-size:clamp(13px, 4.4vw, 18px);
  font-weight:800;
  letter-spacing:.02em;
  text-align:center;
}
.sc-btn__em{
  font-size:clamp(17px, 6.1vw, 25px);
  background:linear-gradient(90deg,
    #FFD698 0%,
    #FFF7DF 50%,
    #E9CB78 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-btn__arrow{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
}

/* ==========================================================================
   (1) FV
   ========================================================================== */
.sc-fv{
  position:relative;
  background:var(--sc-bg);
}

/* ---- 上半分：背景画像エリア ---- */
.sc-fv__top{
  position:relative;
  padding:14px 16px 10px;
  background:
    linear-gradient(180deg,
      rgba(11,13,18,0) 30%,
      var(--sc-bg) 70%),
    linear-gradient(90deg,
      #191919 10%,
      rgba(25,25,25,.8) 25%,
      rgba(25,25,25,0) 44%),
    url("images/lp/sculpt-men/fv_bg.webp") 19% 42% / auto 120% no-repeat;
}

/* ロゴ（右上） */
.sc-fv__logo{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}
.sc-fv__logo-mark{ width:26px; height:25px; }
.sc-fv__logo-text{ text-align:left; }
.sc-fv__logo-name{
  display:block;
  font-family:Optima,"Optima Regular",Candara,"Gill Sans",sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.08em;
}
.sc-fv__logo-sub{
  display:block;
  font-size:8px;
  letter-spacing:.02em;
  color:var(--sc-white);
}

/* サブコピー（左上・白帯） */
.sc-fv__lead{ margin-top:5px; }
.sc-fv__lead-line{
  display:table;          /* 文字幅ぶんだけの帯にする */
  margin-bottom:5px;
  margin-left:-16px;      /* .sc-fv__top の左paddingを打ち消して画面左端から始める */
  padding:0 10px 0 8%;
  background:var(--sc-white);
  color:#111418;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
  clip-path:polygon(0 0, 100% 0, calc(100% - 6px) 100%, 0 100%); /* 右端を斜めカット */
}
.sc-fv__lead-last{
  display:block;
  margin-top:3px;
  margin-left:3%;
  font-size:26px;
  font-weight:800;
  letter-spacing:.1em;
}
.sc-fv__lead-last-s{ font-size:20px; }

/* メインコピー */
.sc-fv__title{
  margin-top:26px;
  font-size:32px;   /* 「正しい」 */
  font-weight:800;
  line-height:1.4;
  letter-spacing:.01em;
}
.sc-fv__title-sub{ font-size:28px; }   /* 「フォームで」 */
.sc-fv__title-row{
  display:flex;
  align-items:center;
  gap:5px;
}
.sc-fv__title-row + .sc-fv__title-row{ margin-top:5px; }

/* 2行目「魅せる身体を。」＝右に寄せる。文字サイズが混在するので flex をやめてベースライン揃えにする */
.sc-fv__title-row--main{
  display:block;
  margin-left:14%;
  font-size:38px;   /* 「せる」「身体」 */
  line-height:1.1;
}
.sc-fv__gold-lead{ font-size:60px; }   /* 「魅」 */
.sc-fv__title-end{ font-size:32px; }   /* 「を。」 */

/* 「正しい」＝白帯から文字を切り抜く */
.sc-fv__knockout{
  padding:0 13px;
  line-height:40px;
  background:var(--sc-white);
  color:#000;
  mix-blend-mode:screen;  /* 黒＝抜ける／白帯＝残る */
  clip-path:polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); /* 左右を斜めカット */
}

/* 「魅せる」＝金グラデーション
   ※inline-block にしないと、中の大きい「魅」がこの箱からはみ出し、
     background-clip:text の塗り範囲外＝透明になって欠ける */
.sc-fv__gold{
  display:inline-block;
  vertical-align:baseline;
  background:linear-gradient(90deg,
    var(--sc-gold-d) 0%,
    var(--sc-gold-l) 50%,
    var(--sc-gold-d) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* バッジ4つ */
.sc-fv__badges{
  display:flex;
  justify-content:space-between;
  gap:5px;
  max-width:400px;
  margin-top:24px;
}
.sc-fv__badge{
  display:grid;
  place-items:center;
  flex:1 1 0;
  aspect-ratio:1 / 1;
  max-width:78px;
  background:url("images/lp/sculpt-men/fv_circle.webp") center / contain no-repeat;
  text-align:center;
}
.sc-fv__badge-text{
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:-.02em;
}
.sc-fv__badge-icon{
  height:22px;
  width:auto;
  margin:0 auto 7px;
  object-fit:contain;
}
.sc-fv__badge-em{ color:var(--sc-gold); }
.sc-fv__badge-num{
  font-size:20px;
  font-weight:800;
  color:var(--sc-gold);
}

/* ---- 下半分：黒背景エリア ---- */
.sc-fv__bottom{
  padding:0 16px 40px;
  background:var(--sc-bg);
}
.sc-fv__proof{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:24px;
  /* 画面が広がっても中身は中央のまま */
  max-width:400px;
  margin-inline:auto;
}

/* 中元陸（左） */
.sc-fv__portrait{
  /* 拡大分をそのまま margin-right のマイナスで相殺する。
     45% - 8% = 37% で占有幅は据え置き、はみ出た分だけ右カラムに重なる */
  flex:0 0 45%;
  width:45%;
  max-width:150px;
  margin-right:-8%;
  min-width:0;
  align-self:flex-start;
  position:relative;
  z-index:0;
}

/* 右カラム */
.sc-fv__info{
  position:relative;
  z-index:1;   /* 人物画像より前面に置く */
  flex:1 1 auto;
  min-width:0;
  max-width:200px;
  padding-bottom:0;
}

/* 実績（月桂樹） */
.sc-fv__award{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:2px;
  max-width:200px;
}
.sc-fv__laurel{
  flex:0 0 auto;
  width:34px;
}
.sc-fv__award-body{
  flex:1 1 auto;
  text-align:center;
}
.sc-fv__award-name{
  white-space:nowrap;
  margin-bottom:5px;
  font-family:var(--sc-font-mincho);
  font-size:21px;
  font-weight:800;
  letter-spacing:.06em;
  word-spacing:.3em;
}
.sc-fv__award-name small{
  margin-left:6px;
  font-size:11px;
  font-weight:700;
}
.sc-fv__award-org{
  white-space:nowrap;
  margin-top:2px;
  font-family:"Times New Roman",Times,serif;
  font-size:11px;
  line-height:10px;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--sc-silver);
}
.sc-fv__award-prize{
  margin-top:1px;
  font-family:var(--sc-font-mincho);
  white-space:nowrap;
  font-size:clamp(15px, 5vw, 19px);
  line-height:33px;
  font-weight:800;
  letter-spacing:.02em;
  background:linear-gradient(90deg,
    #FAC36F 0%,
    #EED17E 13%,
    #E9CB78 53%,
    #CCA453 72%,
    #B28234 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-fv__award-num{ font-size:1.7em; }   /* 「2」年連続優勝 */

/* 初回料金 */
.sc-fv__price{
  display:flex;
  align-items:flex-end;
  gap:7px;
  width:fit-content;
  margin-top:12px;
}
.sc-fv__price-circle{
  display:grid;
  place-items:center;
  place-content:center;   /* 行を伸ばさず、2行をひとかたまりで中央に置く */
  flex:0 0 59px;
  aspect-ratio:1 / 1;
  background:url("images/lp/sculpt-men/campaign_circle.webp") center / contain no-repeat;
  font-size:10px;
  font-weight:700;
  line-height:1.5;
  text-align:center;
}
.sc-fv__price-circle strong{
  display:block;
  margin-top:2px;
  font-size:15px;
  font-weight:800;
  line-height:1;
}
.sc-fv__price-body{
  flex:1 1 auto;
  min-width:0;
}

/* 「初回限定」帯 */
.sc-fv__price-label{
  display:block;
  max-width:125px;
  padding:0;
  text-align:center;
  background:linear-gradient(90deg,
    #C9C6C6 0%,
    #FFFFFF 50%,
    #ADADAD 80%,
    #3E3E3E 100%);
  color:#111418;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  clip-path:polygon(11px 0, 100% 0, 100% 100%, 0 100%); /* 左端を斜めカット */
}
.sc-fv__price-value{
  display:flex;
  align-items:flex-end;
  gap:2px;
  margin-top:7px;
  line-height:1;
}
.sc-fv__price-num{
  font-size:28px;
  font-weight:800;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.sc-fv__price-unit{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-bottom:2px;
}
.sc-fv__price-tax{
  font-size:9px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
}
.sc-fv__price-yen{
  font-size:13px;
  font-weight:800;
  line-height:1.1;
}

/* CTA */
.sc-fv__cta{
  max-width:360px;
  margin:18px auto 0;
}

/* 480px を超えたら、メインコピーとバッジもCTAと同じ幅で中央に置く。
   （SP域のブレークポイントなので、末尾のPC用 @media には入れない。
     PC用 @media より前に置くこと。後ろだと768px以上でも360pxに制限されてしまう） */
/* 640px を超えると `auto 120%` では画像の幅が画面に届かず、右端に無地(#191919)が出る。
   ここから幅基準（cover）に切り替えて横が切れないようにする。
   切り替え点では両者のサイズが一致するので、見た目は連続する。
   ※PC用 @media は background ショートハンドで指定し直しているので影響しない */
@media (min-width:640px){
  .sc-fv__top{
    background-size:auto, auto, cover;
  }
}

@media (min-width:480px){
  .sc-fv__lead-last{
    margin-left:5.5%;
  }
  .sc-fv__title{
    max-width:400px;
    margin-inline:auto;
  }
  /* 375pxでは14%のままにする（30%だと「魅せる身体を。」が右に溢れるため） */
  .sc-fv__title-row--main{
    margin-left:30%;
  }
  .sc-fv__badges{
    max-width:400px;
    margin-inline:auto;
  }
}


/* ==========================================================================
   (2) お悩み
   ========================================================================== */
.sc-problem{
  padding:64px 0 32px;
  background:
    linear-gradient(180deg,
      rgba(25,25,25,0) 63%,
      rgba(25,25,25,.40) 70%,
      rgba(25,25,25,.63) 77%,
      rgba(25,25,25,.78) 84%,
      rgba(25,25,25,.90) 90%,
      #191919 97%),
    url("images/lp/sculpt-men/problem_bg.webp") center / cover no-repeat;
  color:#000;
  text-align:center;
}

/* 見出し */
.sc-problem__title{
  font-family:var(--sc-font-mincho);
  font-size:24px;
  font-weight:600;
  letter-spacing:0;
  line-height:1.2;
}
.sc-problem__title-em{
  font-size:28px;
  color:#294189;
}

/* 見出し下の罫線（中央が下向きのV） */
.sc-problem__divider{
  display:flex;
  align-items:flex-start;
  margin-top:15px;
  padding:0 22px;
}
.sc-problem__divider-line{
  flex:1 1 auto;
  height:1px;
  background:#333;
}
.sc-problem__divider-mark{
  flex:0 0 auto;
  display:block;
}

/* 悩み6つ */
.sc-problem__list{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:13px 18px;
  margin-top:30px;
  padding:0 25px;
}
.sc-problem__item{
  display:grid;
  aspect-ratio:1 / 1;
  background:#000;   /* 円画像は半透明マスク入り。黒を敷いて参考画像の濃さに合わせる */
  border-radius:50%;
  overflow:hidden;
}
.sc-problem__photo,
.sc-problem__text{ grid-area:1 / 1; }
.sc-problem__photo{
  width:100%;
  height:100%;
  object-fit:cover;
}
.sc-problem__text{
  align-self:center;
  padding:0 8px;
  color:var(--sc-white);
  font-size:14px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:-.01em;
}
.sc-problem__em{ color:#AFE6FF; }

/* 締めのメッセージ */
.sc-problem__closing{
  margin-top:33px;
  padding:0 14px;
  font-family:var(--sc-font-mincho);
  font-weight:400;
  color:var(--sc-white);
}
.sc-problem__lead{
  font-size:17px;
  font-weight:400;
  letter-spacing:.04em;
}
.sc-problem__strong{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:9px;
  font-size:29px;
  font-weight:400;
  letter-spacing:0;
}
.sc-problem__rule{
  flex:1 1 auto;
  max-width:58px;
  height:1px;
  background:var(--sc-white);
}
.sc-problem__sub{
  margin-top:19px;
  font-size:17px;
  font-weight:400;
  letter-spacing:.04em;
}
.sc-problem__box{
  margin-top:3px;
  padding:17px 4px;
  border:1px solid;
  border-image:linear-gradient(90deg,
    #707070 0%,
    #EBEBEB 25%,
    #A2A2A2 50%,
    #7E7E7E 75%,
    #3E3E3E 100%) 1;
  font-size:18px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:0;
}
.sc-problem__gold{
  font-size:1.22em;
  font-weight:700;
  background:linear-gradient(90deg,
    #FFD698 0%,
    #FFF7DF 50%,
    #E9CB78 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}


/* ==========================================================================
   (3) 監修者のストーリー
   ========================================================================== */
.sc-story{
  position:relative;
  padding:46px 0 0;
  background:#191919;
  overflow:hidden;
}

/* トレーナー写真：絶対配置。左に見切れさせ、下端は白枠の背後に隠す */
.sc-story__photo{
  position:absolute;
  z-index:0;
  top:9px;
  left:-14%;
  width:58%;
  height:auto;
}

/* ---- 右カラム ---- */
.sc-story__head{
  position:relative;
  z-index:1;
  margin-left:40%;
  padding-right:2%;
  color:var(--sc-white);
  text-align:center;
}

.sc-story__brand{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.14em;
  white-space:nowrap;
}
.sc-story__brand-line{
  flex:1 1 auto;
  height:1px;
  background:var(--sc-white);
}

.sc-story__name{
  margin-top:16px;
  font-size:30px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.2;
}
.sc-story__name-sub{
  margin-left:6px;
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;
}

.sc-story__award{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin-top:12px;
}
.sc-story__laurel{
  flex:0 0 auto;
  width:26px;
}
.sc-story__award-body{ flex:0 1 auto; }
.sc-story__award-org{
  display:block;
  font-family:"Times New Roman",Times,serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
}
.sc-story__award-prize{
  display:block;
  margin-top:2px;
  font-family:var(--sc-font-mincho);
  font-size:22px;
  font-weight:600;
  line-height:1.15;
  letter-spacing:.02em;
  background:linear-gradient(90deg,
    #FAC36F 0%,
    #EED17E 13%,
    #E9CB78 53%,
    #CCA453 72%,
    #B28234 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-story__award-num{ font-size:1.35em; }

.sc-story__lead{
  margin-top:14px;
  font-family:var(--sc-font-mincho);
  font-size:13px;
  font-weight:500;
  line-height:1.85;
  letter-spacing:.02em;
}
.sc-story__lead-em{
  font-size:17px;
  color:var(--sc-gold);
}

/* ---- 白枠 ---- */
.sc-story__box{
  position:relative;
  z-index:2;
  width:auto;
  min-width:auto;
  max-width:calc(100% - 36px);
  margin:16px auto 0;
  padding:26px 21px 30px;
  border-radius:10px;
  background:var(--sc-white);
  color:#111;
  text-align:center;
}
.sc-story__box-title{
  width:fit-content;
  margin:-26px auto 0;   /* 白枠の padding-top を打ち消して上端に密着させる */
  padding:6px 13px 8px;
  background:#C39949;
  clip-path:polygon(0 0, 100% 0, calc(100% - 8px) 100%, 8px 100%);  /* 逆台形 */
  font-family:var(--sc-font-mincho);
  font-size:15px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.02em;
  color:var(--sc-white);
}
.sc-story__box-sub{
  margin-top:10px;
  font-family:var(--sc-font-mincho);
  font-size:20px;
  font-weight:700;
  line-height:1.75;
  letter-spacing:.01em;
  color:#333;
}
.sc-story__box-em{ color:#9D6716; }

/* 区切り線（中央が下向きのV） */
.sc-story__divider{
  display:flex;
  align-items:flex-start;
  max-width:270px;
  margin:14px auto;
}
.sc-story__divider-line{
  flex:1 1 auto;
  height:1px;
  background:#9D6716;
}
.sc-story__divider-mark{
  flex:0 0 auto;
  display:block;
}

/* 3項目 */
.sc-story__list{
  width:fit-content;
  max-width:100%;
  margin:18px auto 0;
  text-align:left;
}
.sc-story__item{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
}
.sc-story__item + .sc-story__item{ margin-top:46px; }
/* 項目間の下向きシェブロン */
.sc-story__item:not(:last-child)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-25px;
  width:10px;
  height:10px;
  border-right:2px solid #B9B9B9;
  border-bottom:2px solid #B9B9B9;
  transform:translateX(-50%) rotate(45deg);
}
.sc-story__icon{
  flex:0 0 52px;
  width:52px;
  height:52px;
}
.sc-story__text{
  flex:1 1 auto;
  min-width:0;
  font-size:15px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.03em;
}
.sc-story__em{ color:#294189; }
.sc-story__gold{
  /* インラインのままだと padding が行ボックスの高さに算入されず、
     紺帯だけが上下にはみ出して前の行に被る
     （Androidの標準和文フォントは字面が高いぶん、はみ出しが大きく出る）。
     inline-block にして帯の高さを行送りに参加させる。
     line-height:1 は、帯の高さをフォントの字面（環境差あり）ではなく
     font-size で決めるため。これで端末が変わっても帯の高さが変わらない */
  display:inline-block;
  line-height:1;
  padding:5px 0;
  background:#24325D;
}
.sc-story__gold-text{
  background:linear-gradient(90deg,
    #FAC36F 0%,
    #EED17E 13%,
    #E9CB78 53%,
    #CCA453 72%,
    #B28234 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}


/* ==========================================================================
   (4) THE SCULPT METHOD
   ========================================================================== */
.sc-method{
  padding:36px 0 44px;
  background:linear-gradient(180deg,
    #191919 0%,
    #191919 8%,
    #F2F2F2 18%,
    #F2F2F2 100%);
}

/* ---- タイトルブロック ---- */
.sc-method__intro{
  padding:0 18px;
  color:var(--sc-white);
  text-align:center;
}
.sc-method__arrow{
  width:27px;
  margin:0 auto;
}
.sc-method__eyebrow{
  margin-top:24px;
  margin-bottom:10px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
}
.sc-method__logo{
  margin-top:6px;
  font-family:"Times New Roman",Times,serif;
  font-weight:700;
  line-height:1.05;
  letter-spacing:.01em;
}
.sc-method__logo-1,
.sc-method__logo-2{
  display:block;
  background:linear-gradient(90deg,
    #A3A3A3 0%,
    #FFFFFF 40%,
    #C9C6C6 63%,
    #ADADAD 83%,
    #3E3E3E 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-method__logo-1{ font-size:31px; font-weight:400; letter-spacing:.09em; }
.sc-method__logo-2{ font-size:42px; letter-spacing:.07em; }

.sc-method__sub{
  max-width:260px;
  margin:14px auto 0;
  padding:9px 0 11px;
  border-top:1px solid var(--sc-white);
  border-bottom:1px solid var(--sc-white);
}
.sc-method__sub-1{
  font-size:15px;
  font-weight:600;
  letter-spacing:.02em;
}
.sc-method__sub-2{
  margin-top:2px;
  font-size:17px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.02em;
  background:linear-gradient(90deg,
    #FFD698 0%,
    #FFF7DF 50%,
    #E9CB78 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-method__sub-num{ font-size:32px; }
.sc-method__sub-em{ font-size:21px; }

/* ---- メソッドカード ---- */
.sc-method__list{
  margin-top:30px;
  padding:0 18px;
}
.sc-method__card{
  overflow:hidden;
  border-radius:10px;
  background:var(--sc-white);
}
.sc-method__card + .sc-method__card{ margin-top:20px; }

.sc-method__head{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:14px;
  padding:20px 0 0 20px;
}
.sc-method__num{
  grid-column:1;
  grid-row:1;
  align-self:start;
  letter-spacing:-0.05em;
  font-family:var(--sc-font-mincho);
  font-size:64px;
  font-weight:600;
  line-height:1;
  color:#F4E1AC;
}
.sc-method__title{
  grid-column:2;
  grid-row:1;
  align-self:end;
  padding-top:3px;
  padding-right:20px;
  padding-bottom:7px;
  font-size:28px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.05em;
  color:#333;
}
.sc-method__en{
  grid-column:1;
  grid-row:2;
  margin-top:6px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  text-align:center;
  color:#DEC58C;
}
/* 横線＝英語の行に置いて上下中央。カード右端まで伸ばす */
.sc-method__rule{
  grid-column:2;
  grid-row:2;
  align-self:center;
  height:1px;
  background:#D6B160;
}
.sc-method__desc{
  padding:14px 20px 18px 26px;
  font-size:18px;
  font-weight:700;
  line-height:1.55;
  letter-spacing:0;
  color:#333;
}
.sc-method__photo{
  width:100%;
  height:auto;
}

/* ---- CTAブロック ---- */
.sc-method__cta{
  margin-top:36px;
  padding:0 18px;
  text-align:center;
}
.sc-method__cta-lead{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-family:var(--sc-font-mincho);
  font-size:16px;
  font-weight:600;
  letter-spacing:.04em;
  color:#333;
}
.sc-method__cta-line{
  flex:1 1 auto;
  max-width:56px;
  height:1px;
  background:#C39949;
}
.sc-method__cta-main{
  margin-top:13px;
  font-family:var(--sc-font-mincho);
  font-weight:700;
  line-height:1.35;
  letter-spacing:.01em;
  color:#333;
}
.sc-method__cta-l1{ display:block; font-size:24px; }
.sc-method__cta-l2{
  display:block;
  margin-top:7px;
  margin-left:32px;
  font-size:32px;
  letter-spacing:.1em;
}
.sc-method__cta-em{ color:#C39949; }
.sc-method__cta-rule{
  display:block;
  /* 上の「ただ鍛えるわけではない」の横線の左右端に合わせた幅（線56px+gap12px×2＋文字幅） */
  width:100%;
  max-width:319px;
  height:2px;
  margin:18px auto 0;
  background:linear-gradient(90deg,
    #A57123 0%,
    #D6B160 20%,
    #EED17E 50%,
    #CCA453 80%,
    #A57123 100%);
}
.sc-method__cta-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:30px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
  color:#333;
}
.sc-method__cta-note::before,
.sc-method__cta-note::after{
  content:"";
  width:1px;
  height:20px;
  background:#333;
}
.sc-method__cta-note::before{ transform:rotate(-22deg); }
.sc-method__cta-note::after{ transform:rotate(22deg); }
.sc-method__cta-num{
  font-size:22px;
  font-weight:800;
  color:#C39949;
}
.sc-method__cta-min{ color:#C39949; }
.sc-method__cta-btn{ margin-top:5px; }


/* --------------------------------------------------
   (5) BEFORE / AFTER
   -------------------------------------------------- */
.sc-ba{
  background:#333;
  padding:40px 0 60px;   /* 帯の上に地色を見せる */
}

/* ---- 見出しの帯 ---- */
.sc-ba__head{
  padding:18px 20px 13px;
  background:#222;
  text-align:center;
}
.sc-ba__en{
  font-family:"Times New Roman",Times,serif;
  font-size:16px;
  font-weight:400;
  letter-spacing:.12em;
  background:linear-gradient(90deg,
    #A3A3A3 0%,
    #FFFFFF 51%,
    #ADADAD 88%,
    #B6B6B6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-ba__lead{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:8px;
  font-family:var(--sc-font-mincho);
  font-size:15px;
  font-weight:600;
  letter-spacing:.06em;
}
.sc-ba__line{
  width:22px;
  height:1px;
  background:var(--sc-white);
}
.sc-ba__ttl{
  margin-top:2px;
  margin-left:30px;
  font-family:var(--sc-font-mincho);
  font-size:30px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.06em;
  color:#F4E1AC;
}

/* ---- カード ---- */
.sc-ba__inner{ padding:0 24px; }
.sc-ba__list{
  display:grid;
  gap:30px;
  margin-top:40px;
}
.sc-ba__card{
  border:1px solid #7C7C7C;
  border-radius:16px;
  background:#444;
  overflow:hidden;   /* 白見出し・写真を角丸で切り抜く */
}
.sc-ba__card-ttl{
  padding:12px 10px;
  background:var(--sc-white);
  color:#333;
  font-size:19px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.02em;
  text-align:center;
}

/* ---- BEFORE / AFTER 写真 ---- */
.sc-ba__photos{ display:flex; }
.sc-ba__photo{
  position:relative;
  flex:1 1 0;
  min-width:0;      /* 画像が実寸で突っ張るのを防ぐ */
  margin:0;
}
.sc-ba__photo img{
  width:100%;
  aspect-ratio:326 / 290;
  object-fit:cover;
}
.sc-ba__tag{
  position:absolute;
  top:0;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:center;
  height:24px;
  font-size:13px;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--sc-white);
}
.sc-ba__tag--before{ background:#818181; }
.sc-ba__tag--after{  background:#BFA569; }

/* ---- 数値 ---- */
.sc-ba__body{ padding:16px 18px 20px; }
.sc-ba__stat{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  column-gap:10px;
  font-size:15px;
  font-weight:700;
  line-height:1.2;
}
.sc-ba__stat + .sc-ba__stat{ margin-top:8px; }
.sc-ba__stat-l{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:2px;
}
.sc-ba__stat-r{
  justify-self:start;
  color:var(--sc-gold);
}
.sc-ba__num{ font-size:24px; font-weight:800; }
.sc-ba__stat-r .sc-ba__num{ font-size:32px; }
.sc-ba__arrow{ width:34px; }

/* ---- 期間・セッション ---- */
.sc-ba__meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:16px;
  text-align:center;
}
.sc-ba__meta-label{
  padding:2px 8px;
  border-radius:999px;
  background:var(--sc-white);
  color:#333;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
}
.sc-ba__meta-val{
  margin-top:5px;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
}

.sc-ba__note{
  margin-top:32px;
  font-size:12px;
  text-align:center;
  color:rgba(255,255,255,.85);
}


/* --------------------------------------------------
   (6) 選ばれる6つの理由
   -------------------------------------------------- */
.sc-reason{
  background:#333;
  padding:18px 0 60px;
}

/* ---- 見出し ---- */
.sc-reason__head{
  padding:0 20px;
  text-align:center;
}
.sc-reason__en{
  font-family:"Times New Roman",Times,serif;
  font-size:16px;
  font-weight:400;
  letter-spacing:.12em;
  background:linear-gradient(90deg,
    #A3A3A3 0%,
    #FFFFFF 51%,
    #ADADAD 88%,
    #B6B6B6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-reason__ttl{
  margin-top:1px;
  margin-bottom:30px;
  font-size:28px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.02em;
}
.sc-reason__ttl-num{
  font-size:39px;
  color:var(--sc-gold);
}

/* ---- 6項目 ---- */
.sc-reason__list{
  display:grid;
  gap:36px;
  margin-top:17px;
}
.sc-reason__figure{
  position:relative;
  margin:0 31px;
}
.sc-reason__no{
  position:absolute;
  top:6px;
  left:8px;
  font-family:"Futura","Century Gothic","Avenir Next",sans-serif;
  font-size:28px;
  font-weight:500;
  line-height:1;
  letter-spacing:.02em;
  color:var(--sc-gold);
}
.sc-reason__body{ padding:0 34px; }
.sc-reason__sub{
  margin-top:22px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--sc-gold);
}
.sc-reason__item-ttl{
  margin-top:6px;
  font-size:24px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:0;   /* 06「1回から選べる、料金設計。」を1行に収めるため */
}
/* 鉤括弧始まりのタイトルは、左のアキ分を戻して他の行と頭を揃える */
.sc-reason__item-ttl--kagi{ margin-left:-13px; }
.sc-reason__text{
  margin-top:22px;
  font-size:15px;
  line-height:1.53;
  letter-spacing:0;
}


/* --------------------------------------------------
   (7) どんな身体を目指しますか？
   -------------------------------------------------- */
.sc-goal{
  background:var(--sc-white);
  color:#333;
  padding:52px 0 66px;
}

/* ---- 見出し ---- */
.sc-goal__ttl{
  font-family:var(--sc-font-mincho);
  font-weight:700;
  line-height:1.3;
  letter-spacing:.02em;
  text-align:center;
}
.sc-goal__ttl-1{ display:block; font-size:22px; }
.sc-goal__ttl-2{ display:block; margin-top:2px; font-size:30px; }
.sc-goal__ttl-3{ display:block; margin-top:6px; font-size:30px; }
.sc-goal__em{ font-size:38px; color:#D6B160; }

/* ---- 2枚組 ---- */
.sc-goal__group{ margin-top:52px; }
.sc-goal__lead{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
}
.sc-goal__lead::before,
.sc-goal__lead::after{
  content:"";
  flex:0 0 52px;
  height:1px;
  background:#333;
}
.sc-goal__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:14px;
  padding:0 21px;
}
.sc-goal__item img{
  width:100%;
  aspect-ratio:318 / 304;
}
.sc-goal__name{
  margin-top:10px;
  font-size:18px;
  font-weight:700;
  letter-spacing:.02em;
  text-align:center;
}
.sc-goal__name::after{
  content:"";
  display:block;
  width:34px;
  height:1px;
  margin:5px auto 0;
  background:#D6B160;
}


/* --------------------------------------------------
   (8) CTA
   -------------------------------------------------- */

/* 背景はセクション全体に敷き、下の黒帯を半透明にして透かす */
.sc-cta{
  background:url("images/lp/sculpt-men/plan_bg.webp") center / cover no-repeat;
}

/* ---- 上：明るい背景 ---- */
.sc-cta__top{
  padding:40px 0 30px;
  color:#333;
  text-align:center;
}
.sc-cta__brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  color:#D6B160;
}
.sc-cta__brand::before,
.sc-cta__brand::after{
  content:"";
  flex:0 0 50px;
  height:1px;
  background:#D6B160;
}
.sc-cta__ttl{
  font-family:var(--sc-font-mincho);
  font-weight:700;
  line-height:1.35;
  letter-spacing:0;
}
.sc-cta__ttl-1{ display:block; margin-top:20px; font-size:24px; }
.sc-cta__ttl-2{ display:block; margin-top:2px; font-size:24px; white-space:nowrap; }
.sc-cta__em{ font-size:32px; }
.sc-cta__sm{ font-size:24px; }
.sc-cta__gold{ color:#C39949; }

.sc-cta__feats{
  display:grid;
  /* minmax(0,1fr)：nowrap のラベル幅に列が引っ張られるのを防ぎ、3列を等幅に保つ */
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  margin-top:30px;
  padding:0 20px;
}
.sc-cta__feat{
  display:grid;
  grid-template-columns:minmax(0,1fr);   /* nowrap のラベル幅で列が広がらないようにする */
  grid-template-rows:auto 1fr;           /* 1行ラベルを2行分の高さの中央に置く */
}
.sc-cta__feat-name{
  align-self:center;
  justify-self:center;
  width:max-content;    /* 列幅より広いラベルを左右対称にはみ出させる */
  margin-top:12px;
  font-size:14px;
  font-weight:700;
  line-height:1.6;
  white-space:nowrap;
}

/* ---- 下：#222 ---- */
.sc-cta__bottom{
  padding:18px 14px 28px;
  background:rgba(34,34,34,.92);   /* 非対応ブラウザ用のフォールバック */
}
/* 半透明の黒を重ねると柄のコントラストまで潰れるので、
   backdrop-filter で「暗くするだけ」にして柄はそのまま残す */
@supports (backdrop-filter: brightness(1)) or (-webkit-backdrop-filter: brightness(1)){
  .sc-cta__bottom{
    background:rgba(0,0,0,.10);
    -webkit-backdrop-filter:brightness(.3);
    backdrop-filter:brightness(.3);
  }
}
.sc-cta__limited{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:283px;
  margin-inline:auto;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  color:#D6B160;
}
.sc-cta__limited::before,
.sc-cta__limited::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:#D6B160;
}
.sc-cta__price{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:11px;
  margin-top:8px;
}
.sc-cta__price-circle{
  display:grid;
  place-items:center;
  place-content:center;   /* 行を伸ばさず2行をひとかたまりで中央に */
  flex:0 0 59px;
  aspect-ratio:1 / 1;
  background:url("images/lp/sculpt-men/cta_cirlce_b.webp") center / contain no-repeat;
  font-size:10px;
  font-weight:700;
  line-height:1.5;
  text-align:center;
}
.sc-cta__price-circle strong{
  display:block;
  margin-top:2px;
  font-size:15px;
  font-weight:800;
  line-height:1;
}
.sc-cta__price-num{
  font-size:50px;
  font-weight:800;
  line-height:1;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.sc-cta__price-unit{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-bottom:4px;
}
.sc-cta__price-tax{ font-size:12px; font-weight:700; line-height:1.1; }
.sc-cta__price-yen{ font-size:24px; font-weight:800; line-height:1.1; }
.sc-cta__btn{ margin-top:20px; }


/* --------------------------------------------------
   (9) 体験レッスンの流れ
   -------------------------------------------------- */
.sc-flow{
  padding:60px 0 60px;
  background:var(--sc-white);
  color:#333;
}

/* ---- 見出し ---- */
.sc-flow__head{ text-align:center; }
.sc-flow__eyebrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  color:#D6B160;
}
.sc-flow__eyebrow img{ width:11px; }
.sc-flow__eyebrow::before,
.sc-flow__eyebrow::after{
  content:"";
  flex:0 0 90px;
  height:5px;                                   /* 上下2本の金線 */
  border-top:1px solid var(--sc-gold);
  border-bottom:1px solid var(--sc-gold);
  margin-inline:5px;
}
.sc-flow__ttl{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.02em;
  white-space:nowrap;
}
.sc-flow__ttl::before,
.sc-flow__ttl::after{
  content:"";
  flex:1 1 auto;                                /* SPは画面端まで伸びる */
  height:5px;                                   /* 上下2本の金線 */
  border-top:1px solid var(--sc-gold);
  border-bottom:1px solid var(--sc-gold);
  margin-inline:12px;
}
.sc-flow__ttl-in{ white-space:nowrap; }
.sc-flow__ttl-s{ font-size:.72em; }              /* 「の」だけ小さく */
.sc-brpc{ display:none; }                        /* PC専用の改行（SPでは無効） */
.sc-flow__tag{
  display:inline-block;
  margin-top:14px;
  padding:3px 20px;
  background:#D6B160;
  color:var(--sc-white);
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.06em;
  clip-path:polygon(5px 0, 100% 0, calc(100% - 5px) 100%, 0 100%);  /* 平行四辺形 */
}

/* ---- 3ステップ ---- */
.sc-flow__list{ padding:30px 25px 0; }   /* padding にして box の margin-top の相殺を防ぐ */
.sc-flow__item + .sc-flow__item::before{
  content:"";
  display:block;
  width:27px;
  height:35px;
  margin:12px auto 30px;
  background:url("images/lp/sculpt-men/arrow_yellow_down.webp") center / contain no-repeat;
}
.sc-flow__box{
  margin-top:90px;
  margin-bottom:20px;
  padding:0 18px 22px;
  border:1px solid #D6B160;
  background:url("images/lp/sculpt-men/flow_bg.webp") center / cover no-repeat;
}
.sc-flow__figure{
  width:193px;
  margin:-73px auto 0;          /* 枠の上端からはみ出させる */
  box-shadow:5px 6px 12px rgba(0,0,0,.20);   /* 右下にうっすら */
}
.sc-flow__ttl-row{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-top:10px;
  padding-bottom:9px;
  border-bottom:1px solid #333;
}
.sc-flow__no{
  flex:0 0 auto;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
  color:#D6B160;
}
.sc-flow__name{
  font-size:20px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:0;
}
.sc-flow__text{
  margin-top:19px;
  font-size:15px;
  font-weight:700;
  line-height:1.55;
  text-align:center;
}


/* --------------------------------------------------
   (10) 料金プラン
   -------------------------------------------------- */

/* ---- 上：明るい背景＋キャンペーンカード ---- */
.sc-plan__top{
  padding:50px 0 30px;
  background:url("images/lp/sculpt-men/plan_bg.webp") center / cover no-repeat;
  color:#333;
  text-align:center;
}
.sc-plan__en{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  color:#BFA569;
}
.sc-plan__en::before,
.sc-plan__en::after{
  content:"";
  flex:0 0 35px;
  height:1px;
  background:#BFA569;
}
.sc-plan__ttl{
  margin-top:14px;
  font-size:32px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.02em;
}

.sc-plan__card{
  position:relative;
  width:330px;
  margin:32px auto 0;
  padding:32px 12px 16px;
  border:1px solid #BFA569;
  background:var(--sc-white);
}
.sc-plan__card-tag{
  position:absolute;
  top:-8px;
  left:50%;
  transform:translateX(-50%);
  padding:3px 22px;
  background:#333;
  color:var(--sc-white);
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.02em;
  white-space:nowrap;
  clip-path:polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);  /* 平行四辺形 */
}
.sc-plan__card-tag-em{ color:#D6B160; }
.sc-plan__card-body{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.sc-plan__circle{
  display:grid;
  place-items:center;
  place-content:center;   /* 行を伸ばさず2行をひとかたまりで中央に */
  flex:0 0 72px;
  aspect-ratio:139 / 143;
  background:url("images/lp/sculpt-men/plan_icon.webp") center / contain no-repeat;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
}
.sc-plan__circle span{ display:block; font-size:11px; font-weight:700; }

.sc-plan__price{ text-align:left; }
.sc-plan__old{
  padding-left:5px;
  font-size:13px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.02em;
}
.sc-plan__old-num{
  position:relative;
  margin-left:2px;
  font-size:22px;
  font-weight:700;
}
.sc-plan__old-num::after{           /* 右肩上がりの赤い斜線 */
  content:"";
  position:absolute;
  left:-4px;
  right:-4px;
  top:52%;
  height:2px;
  background:#FE3030;
  transform:rotate(-5deg);
}
.sc-plan__new{
  display:flex;
  align-items:flex-end;
  gap:5px;
  margin-top:2px;
  line-height:1;
}
.sc-plan__new-num{
  font-size:45px;
  font-weight:800;
  line-height:1.12;               /* グラデ文字が行から欠けないよう行の高さを確保 */
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,
    #E4A73D 0%,
    #C18D35 47%,
    #503C19 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-plan__new-unit{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-bottom:4px;
}
.sc-plan__new-tax{ font-size:12px; font-weight:700; line-height:1.2; white-space:nowrap; }
.sc-plan__new-yen{ font-size:22px; font-weight:700; line-height:1.2; }

/* ---- 下：料金表 ---- */
.sc-plan__bottom{
  padding:36px 32px 60px;
  background:#222;
}
.sc-plan__table-ttl{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.02em;
}
.sc-plan__tax{ font-size:12px; }
.sc-plan__table-ttl::before,
.sc-plan__table-ttl::after{
  content:"";
  flex:0 0 60px;
  height:1px;
  background:#BFA569;
}
.sc-plan__table{
  width:100%;
  margin-top:28px;
  border-collapse:separate;
  border-spacing:0;
  background:#333;
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  table-layout:fixed;
}
.sc-plan__table th,
.sc-plan__table td{
  height:51px;
  padding:0 4px;
  border-bottom:1px solid #888888;
  text-align:center;
  vertical-align:middle;
}
.sc-plan__table th:first-child,
.sc-plan__table td:first-child{ width:25%; }   /* 回数の列だけ狭く */
.sc-plan__table th{
  font-size:14px;
  color:var(--sc-gold);
}

/* 16回（初回限定）行 */
.sc-plan__hl > td{
  height:67px;
  border-top:1px solid var(--sc-gold);
  border-bottom:1px solid var(--sc-gold);
  vertical-align:bottom;
  padding-bottom:9px;
}
.sc-plan__hl-c1{
  position:relative;
  border-left:1px solid var(--sc-gold);
  font-size:18px;
}
.sc-plan__hl-c3{
  border-right:1px solid var(--sc-gold);
  font-size:18px;
  color:var(--sc-gold);
}
.sc-plan__approx{ font-size:13px; }
.sc-plan__hl-tag{
  position:absolute;
  top:0;
  left:0;
  padding:2px 18px 2px 10px;
  background:var(--sc-gold);
  color:#333;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.02em;
  white-space:nowrap;   /* 回数列を狭くしたので折り返さない */
  clip-path:polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%);  /* 右端を斜めカット */
}
.sc-plan__hl-c2{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:1px;
}
.sc-plan__strike{
  font-size:14px;
  font-weight:700;
  color:#B9B9B9;
  text-decoration:line-through;
}
.sc-plan__now{
  font-size:20px;
  font-weight:800;
  color:var(--sc-gold);
}

.sc-plan__note{
  margin-top:16px;
  padding-left:14px;
  text-indent:-14px;
  font-size:13px;
  font-weight:500;
  line-height:1.5;
}


/* --------------------------------------------------
   (11) トレーナー紹介
   -------------------------------------------------- */
.sc-trainer{
  padding:60px 0 60px;
  background:#191919;
}

/* ---- 中元 陸 ---- */
.sc-trainer__main{
  position:relative;
  padding:0 25px;
}
.sc-trainer__main > :not(.sc-trainer__photo){
  position:relative;
  z-index:1;            /* 絶対配置の写真より前に出す */
  font-weight:bold;
}
.sc-trainer__photo{
  position:absolute;
  z-index:0;
  top:-25px;
  right:30px;
  width:160px;
  height:auto;
}
.sc-trainer__en{
  display:inline-block;
  padding-bottom:4px;
  line-height:1.2;
  background-image:linear-gradient(90deg, #D6B160 0%, #766134 100%);
  background-size:100% 1px;
  background-position:0 100%;
  background-repeat:no-repeat;
  font-size:12px;
  font-weight:500;
  letter-spacing:.08em;
  color:#D6B160;
}
.sc-trainer__name{
  margin-top:14px;
  font-size:40px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.02em;
}
.sc-trainer__role{
  margin-top:9px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  background:linear-gradient(90deg,
    #FAC36F 0%,
    #EED17E 13%,
    #E9CB78 53%,
    #CCA453 72%,
    #B28234 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-trainer__shop{
  margin-top:3px;
  font-size:13px;
  font-weight:500;
}
.sc-trainer__lead{ margin-top:29px; }
.sc-trainer__lead-1{ display:block; font-size:15px; font-weight:700; }
.sc-trainer__lead-2,
.sc-trainer__lead-3{
  display:block;
  margin-top:8px;
  font-size:22px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.05em;
}
.sc-trainer__lead-3{ color:#D6B160; }
.sc-trainer__desc{
  margin-top:20px;
  font-size:13px;
  line-height:1.5;
  letter-spacing:.03em;
}

/* ---- 大会実績 / 保有資格 の見出し ---- */
.sc-trainer__main + .sc-trainer__label{ margin-top:24px; }
.sc-trainer__prizes + .sc-trainer__label{ margin-top:38px; }
.sc-trainer__label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 28px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--sc-gold);
}
.sc-trainer__label::before,
.sc-trainer__label::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:#BFA569;
}
.sc-trainer__prizes{ margin-top:22px; padding:0 25px; }
.sc-trainer__prize{
  display:flex;
  align-items:center;
  gap:10px;
}
.sc-trainer__prize + .sc-trainer__prize{ margin-top:17px; }
.sc-trainer__prize img{ flex:0 0 42px; width:42px; }
.sc-trainer__prize-year{
  display:block;
  line-height:1.2;
  font-size:12px;
  font-weight:600;
  color:#D6B160;
}
.sc-trainer__prize-ttl{
  display:block;
  margin-top:3px;
  line-height:1.2;
  font-size:15px;
  font-weight:700;
  letter-spacing:.01em;
}

.sc-trainer__certs{ margin-top:24px; padding:0 25px; }
.sc-trainer__certs li{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:600;
  letter-spacing:.01em;
}
.sc-trainer__certs li + li{ margin-top:11px; }
.sc-trainer__certs img{ flex:0 0 17px; width:17px; }

/* ---- 女性トレーナー ---- */
.sc-trainer__women{
  margin:52px 17px 0;
  padding:8px 15px 12px;
  border:1px solid #D6B160;
}
.sc-trainer__women-ttl{
  font-size:14px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:.02em;
  text-align:center;
  background:linear-gradient(90deg,
    #FFD698 0%,
    #FFF7DF 48%,
    #E9CB78 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-trainer__women-body{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-top:10px;
}
.sc-trainer__women-body img{
  flex:0 0 108px;
  width:108px;
  border-radius:50%;
}
.sc-trainer__women-info{ flex:1 1 auto; min-width:0; }
.sc-trainer__women-name{
  padding-bottom:9px;
  border-bottom:1px solid var(--sc-white);
  font-size:20px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.02em;
}
.sc-trainer__women-name span{ margin-left:6px; font-size:12px; font-weight:600; }
.sc-trainer__women-text{
  margin-top:10px;
  font-size:15px;
  font-weight:600;
  line-height:1.55;
}

/* ---- CTA ---- */
.sc-trainer__cta-note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:55px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.02em;
}
.sc-trainer__cta-note::before,
.sc-trainer__cta-note::after{
  content:"";
  width:1px;
  height:22px;
  background:var(--sc-white);
}
.sc-trainer__cta-note::before{ transform:rotate(-22deg); }
.sc-trainer__cta-note::after{ transform:rotate(22deg); }
.sc-trainer__cta-em{ font-size:18px; color:#F4E4AC; }
.sc-trainer__btn{ width:auto; margin:5px 14px 0; }


/* --------------------------------------------------
   (12) 中元陸 BEFORE / AFTER ＋ メッセージ
   -------------------------------------------------- */
.sc-msg{
  padding:30px 0 44px;
  background:#F2F2F2;
  color:#333;
}
.sc-msg__script{
  display:block;
  margin-bottom:-6px;
  transform:rotate(-5deg);
  color:#D6B160;
  font-family:'Italianno',cursive;
  font-size:27px;
  text-align:center;
}
.sc-msg__ttl{
  font-family:var(--sc-font-mincho);
  text-align:center;
  letter-spacing:.02em;
}
.sc-msg__ttl-1{ display:block; font-size:18px; font-weight:600; line-height:1.4; }
.sc-msg__ttl-2{
  display:block;
  margin-top:2px;
  margin-left:26px;
  font-size:28px;
  font-weight:700;
  line-height:1.4;
}
.sc-msg__ttl-em{ font-size:32px; }
.sc-msg__rule{
  display:block;
  width:248px;
  height:1px;
  margin:12px auto 0;
  background:linear-gradient(90deg,
    #FAC36F 0%,
    #EED17E 13%,
    #E9CB78 53%,
    #CCA453 72%,
    #B28234 100%);
}

/* ---- BEFORE / AFTER の2枚組 ---- */
.sc-msg__visual{
  position:relative;
  height:265px;
  margin-top:19px;
  overflow:hidden;      /* 画面外へのはみ出しを切る */
}
.sc-msg__after{         /* 下のレイヤー：右へ40pxはみ出す */
  position:absolute;
  z-index:0;
  top:0;
  right:-40px;
  width:265px;
  height:auto;
}
.sc-msg__before{        /* 上のレイヤー：左へはみ出す */
  position:absolute;
  z-index:1;
  top:5px;
  left:-44px;
  width:240px;
  height:auto;
}
.sc-msg__tag{
  position:absolute;
  z-index:2;
  top:183px;
  display:flex;
  align-items:center;
  height:32px;
  color:var(--sc-white);
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
}
.sc-msg__tag--before{
  left:0;
  padding:0 26px 0 16px;
  background:#333;
  clip-path:polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);   /* 右端を斜めカット */
}
.sc-msg__tag--after{
  right:0;
  padding:0 16px 0 26px;
  background:#D6B160;
  clip-path:polygon(14px 0, 100% 0, 100% 100%, 0 100%);             /* 左端を斜めカット */
}
.sc-msg__arrow{
  position:absolute;
  z-index:3;
  top:113px;
  left:50%;
  transform:translateX(-89%);
  width:34px;
  height:auto;
}
/* 400px を超えたら、2枚と矢印を「画面中央からの距離」で固定する。
   画面が広がるぶんだけ、見切れていた部分が見えていく。
   （SP域のブレークポイントなので、末尾のPC用 @media には入れない） */
@media (min-width:400px){
  .sc-msg__before{ left:calc(50% - 244px); }
  .sc-msg__after { right:calc(50% - 240px); }
}
/* 帯は画面端から離れる手前まで端に置き、そこから写真と一緒に動かす */
@media (min-width:422px){
  .sc-msg__tag--before{ left:calc(50% - 211px); }
}
@media (min-width:480px){
  .sc-msg__tag--after{ right:calc(50% - 240px); }
}

/* ---- メッセージカード ---- */
.sc-msg__card{
  margin:21px 12px 0;
  padding:20px;
  background:var(--sc-white);
}
/* 罫線はブロック全体に敷く。段落間の空き行にも線が入り、行のリズムが崩れない */
.sc-msg__body{
  background-image:linear-gradient(to bottom, transparent calc(100% - 1px), #F4E1AC 100%);
  background-size:100% 27px;
}
.sc-msg__text{
  font-family:var(--sc-font-mincho);
  font-size:14px;
  font-weight:600;
  line-height:27px;                 /* 罫線の間隔と一致させる */
  letter-spacing:.02em;
}
.sc-msg__text + .sc-msg__text{ margin-top:27px; }   /* ちょうど1行分あける */
.sc-msg__sign{
  margin-top:35px;
  font-family:var(--sc-font-mincho);
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  text-align:right;
}


/* --------------------------------------------------
   (13) ACCESS / 店舗紹介
   -------------------------------------------------- */
.sc-access{
  padding:36px 0 60px;
  background:#333;
}
.sc-access__en{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  color:var(--sc-gold);
}
.sc-access__en::before,
.sc-access__en::after{
  content:"";
  flex:0 0 34px;
  height:1px;
  background:var(--sc-gold);
}
.sc-access__ttl{
  margin-top:12px;
  font-size:34px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.04em;
  text-align:center;
}
.sc-access__station{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:12px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
}
.sc-access__station img{ width:16px; }
.sc-access__min{
  margin:0 3px;
  font-size:24px;
  font-weight:800;
  color:var(--sc-gold);
}
.sc-access__photo{
  width:calc(100% - 52px);
  margin:14px auto 0;
}

/* ---- 店舗情報 ---- */
.sc-access__table{
  width:calc(100% - 72px);
  margin:18px auto 0;
  border-collapse:collapse;
  font-size:13px;
  line-height:20px;
  letter-spacing:.02em;
}
.sc-access__table th{
  width:70px;
  padding:14px 0 10px;
  font-weight:700;
  text-align:left;
  vertical-align:middle;
}
.sc-access__table td{
  padding:14px 0 10px;
  font-weight:500;
  vertical-align:middle;
}
.sc-access__table tr + tr > *{ border-top:1px solid #8D7958; }
.sc-access__table .sc-access__th--top{ vertical-align:top; }

/* ---- 地図 ---- */
.sc-access__map{
  height:220px;
  margin:27px 12px 0;
  background:#D9D9D9;
}
.sc-access__map iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}


/* --------------------------------------------------
   (14) よくある質問
   -------------------------------------------------- */
.sc-faq{
  padding:38px 0 40px;
  background:#F6F6F6;
  color:#333;
}
.sc-faq__en{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  font-size:15px;
  font-weight:600;
  letter-spacing:.1em;
  color:#C39949;
}
.sc-faq__en::before,
.sc-faq__en::after{
  content:"";
  flex:0 0 34px;
  height:1px;
  background:#C39949;
}
.sc-faq__ttl{
  margin-top:12px;
  font-size:30px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.04em;
  text-align:center;
}
.sc-faq__group{
  margin:44px 20px 12px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  color:#C39949;
}
.sc-faq__list{ padding:0 20px; }

/* ---- アコーディオン（JSなし・details/summary） ---- */
.sc-faq__item{
  border:1px solid #D5D5D5;
  border-radius:4px;
  background:var(--sc-white);
}
.sc-faq__item + .sc-faq__item{ margin-top:4px; }
.sc-faq__q{
  display:flex;
  align-items:flex-start;   /* 2行の質問でも Q は1行目に揃える */
  gap:9px;
  padding:11px 14px;
  cursor:pointer;
  list-style:none;          /* Firefox の三角を消す */
}
.sc-faq__q::-webkit-details-marker{ display:none; }
.sc-faq__mark-q{
  flex:0 0 auto;
  font-family:"Times New Roman",Times,serif;
  font-size:20px;
  font-weight:700;
  line-height:18px;   /* 質問文1行分の行ボックス（13px×1.4）に合わせて中心を揃える */
  color:#D6B160;
}
.sc-faq__q-text{
  flex:1 1 auto;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.01em;
}
.sc-faq__toggle{
  position:relative;
  flex:0 0 13px;
  height:13px;
  margin-top:3px;     /* 1行目の中心に合わせる */
}
.sc-faq__toggle::before,
.sc-faq__toggle::after{
  content:"";
  position:absolute;
  background:#5B5B5B;
}
.sc-faq__toggle::before{ left:0; right:0; top:6px; height:1.5px; }
.sc-faq__toggle::after{ top:0; bottom:0; left:6px; width:1.5px; }
.sc-faq__item[open] .sc-faq__toggle::after{ display:none; }   /* 開いたら「−」 */

.sc-faq__a{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0 14px;
  padding:11px 0 13px;
  border-top:1px solid #E6E6E6;
}
.sc-faq__mark-a{
  flex:0 0 auto;
  font-family:"Times New Roman",Times,serif;
  font-size:20px;
  font-weight:700;
  line-height:1.1;
  color:#D6B160;
}
.sc-faq__a-text{
  flex:1 1 auto;
  min-width:0;
  font-size:13px;
  font-weight:700;
  line-height:1.7;
  letter-spacing:.01em;
}


/* --------------------------------------------------
   (15) 最終CTA
   -------------------------------------------------- */
.sc-final{
  position:relative;
  padding:150px 0 45px;
  background:#333 url("images/lp/sculpt-men/cta_bg.webp") top center / 100% auto no-repeat;
}
/* 写真を下へ向かって #333 に溶かすフェード。
   写真と同じ比率（900:675）で高さを取るので、画面幅が変わっても
   グラデの終わり＝写真の下端 が常に一致し、切れ目が出ない。 */
.sc-final::before{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  left:0;
  right:0;
  aspect-ratio:900 / 675;
  box-sizing:content-box;
  padding-bottom:4px;              /* 端数で写真の下端が数px残るのを吸収 */
  background:linear-gradient(180deg,
    rgba(51,51,51,.0) 45%,
    rgba(51,51,51,.7) 60%,
    rgba(51,51,51,0.9) 80%,
    #333 100%);
  pointer-events:none;
}
.sc-final > *{ position:relative; z-index:1; }   /* 中身をフェードより前に */

/* ---- コピー ---- */
.sc-final__ttl{
  padding:0 25px;
  font-family:var(--sc-font-mincho);
  text-align:left;
  letter-spacing:.02em;
}
/* ③「変わらなかった」に白の下線 */
.sc-final__ul{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:6px;
  text-decoration-color:rgba(255,255,255,.85);
}
.sc-final__ttl-1{
  display:block;
  font-size:18px;
  font-weight:600;
  line-height:1.4;
  /* 写真がまだ明るい位置にあるので、暗い影で文字を浮かせる */
  text-shadow:0 1px 3px rgba(0,0,0,.9), 0 2px 10px rgba(0,0,0,.75), 0 0 22px rgba(0,0,0,.55);
}
.sc-final__ttl-2{
  display:block;
  margin-top:10px;
  font-size:35px;
  font-weight:700;
  line-height:1.3;
  background:linear-gradient(90deg,
    #FAC36F 0%,
    #EED17E 13%,
    #E9CB78 53%,
    #CCA453 72%,
    #B28234 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.sc-final__ttl-3{
  display:block;
  margin-top:6px;
  font-size:28px;
  font-weight:700;
  line-height:1.3;
}
.sc-final__ttl-em{ font-size:35px; }
.sc-final__rule{
  display:block;
  width:278px;
  height:2px;
  margin:11px 0 0 25px;
  background:linear-gradient(90deg,
    #FAC36F 0%,
    #EED17E 13%,
    #E9CB78 53%,
    #CCA453 72%,
    #B28234 100%);
}

/* ---- アイコン3つ ---- */
.sc-final__feats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));   /* nowrap のラベルで列幅が崩れないように */
  gap:26px;
  margin-top:39px;
  padding:0 20px;
}
.sc-final__feat{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto 1fr;
}
.sc-final__feat-name{
  align-self:center;
  justify-self:center;
  width:max-content;
  margin-top:14px;
  font-size:14px;
  font-weight:700;
  line-height:1.6;
  white-space:nowrap;
  text-align:center;
}

/* ---- 帯 ---- */
.sc-final__band{
  margin-top:36px;
  padding:26px 8px 24px;
  background:linear-gradient(90deg, #333 0%, #555 50%, #333 100%);
  font-family:var(--sc-font-mincho);
  text-align:center;
  letter-spacing:.02em;
}
.sc-final__band-1{ font-size:20px; font-weight:600; line-height:1.4; }
.sc-final__band-em{
  font-size:24px;
  font-weight:700;
  color:var(--sc-gold);
}
.sc-final__band-2{
  margin-top:8px;
  white-space:nowrap;
  font-size:clamp(16px, 5.6vw, 23px);
  font-weight:700;
  line-height:1.3;
}
/* 下線は鉤括弧を除いた本文だけに引く */
.sc-final__band-ul{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:8px;
  text-decoration-color:var(--sc-gold);
}
.sc-final__band-3{ margin-top:12px; font-size:18px; font-weight:600; line-height:1.4; }

/* ---- CTA ---- */
.sc-final__note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:49px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.02em;
}
.sc-final__note::before,
.sc-final__note::after{
  content:"";
  width:1px;
  height:22px;
  background:var(--sc-white);
}
.sc-final__note::before{ transform:rotate(-22deg); }
.sc-final__note::after{ transform:rotate(22deg); }
.sc-final__note-num{
  margin:0 2px;
  font-size:22px;
  font-weight:800;
  color:var(--sc-gold);
}
.sc-final__btn{ width:auto; margin:5px 14px 0; }
.sc-final__sub{
  margin-top:20px;
  font-size:13px;
  font-weight:400;
  text-align:center;
}


/* ==========================================================================
   固定バナー（SPのみ・FV通過後に画面下部へ出現）
   中身は1枚画像（images/bottom_banner.webp ＝ 1001 × 221px）。
   差し替えは同名のWebPで上書きするだけでよい。
   比率が変わる画像に差し替えるときは下の 221 / 1001 も合わせて直すこと
   ※PCでの非表示は末尾のPC用 @media に集約
   ========================================================================== */
.sc-fixbnr{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:900;
  background:var(--sc-bg);
  padding-bottom:env(safe-area-inset-bottom);
  opacity:0;
  visibility:hidden;
  transform:translateY(100%);
  transition:transform .3s ease, opacity .3s ease, visibility .3s;
}
.sc-fixbnr.is-show{
  opacity:1;
  visibility:visible;
  transform:none;
}
.sc-fixbnr__link{
  display:block;
  max-width:500px;         /* タブレット幅で巨大化しないための上限 */
  margin-inline:auto;
}
.sc-fixbnr__img{
  width:100%;
  height:auto;             /* 1001:221 の比率を保ったまま画面幅に追従 */
}

/* 最終セクションがバナーに隠れないよう、ページ末尾に画像の高さぶんの余白を確保 */
.sc-lp{ padding-bottom:calc(221 * min(100vw, 500px) / 1001); }


/* ==========================================================================
   PC（ここから下にPC分をすべて集約する）
   ブレークポイント＝1000px。768〜999pxは可変のSP/タブレット版が受け持つ
   （PCは固定値のため、1000px未満だと列幅の合計がコンテナを超えて重なるため）
   ========================================================================== */
@media (min-width: 1000px){

  /* ---- 共通パーツ：CTAボタン ---- */
  .sc-btn{
    max-width:480px;
    margin-inline:auto;
    padding:20px 46px 19px 27px;
    font-size:24px;
    align-items:baseline;
  }
  .sc-btn__em{ font-size:32px; }
  .sc-btn__arrow{ right:16px; width:36px; height:36px; }

  /* ---- (1) FV ----
     768px以上はPC扱い。可変にせず固定値で組む（768px付近は見切れてよい）。
     数値は完成イメージ（1440×1024）の実測値を基準に全体を0.87倍したもの。
     コンテンツ幅＝1010px 中央寄せ／左カラム（コピー・バッジ）＝640px */
  .sc-fv{ padding-bottom:50px; }

  /* 上半分：左半分は黒、中央から背景写真がフェードイン */
  .sc-fv__top{
    min-height:565px;
    padding:
      30px
      max(24px,calc((100% - 1010px) / 2))
      42px;
    background:
      linear-gradient(180deg, rgba(25,25,25,0) 80%, var(--sc-bg) 100%),
      linear-gradient(90deg,
        var(--sc-bg)        0%,
        var(--sc-bg)       40%,
        rgba(25,25,25,.8)  48%,
        rgba(25,25,25,0)   61%),
      url("images/lp/sculpt-men/fv_bg.webp") 118% 19% / 74% auto no-repeat;
  }

  /* ロゴ：左上 */
  .sc-fv__logo{ justify-content:flex-start; gap:10px; }
  .sc-fv__logo-mark{ width:38px; height:auto; }
  .sc-fv__logo-name{ font-size:19px; }
  .sc-fv__logo-sub{ font-size:11px; letter-spacing:.04em; }

  /* サブコピー：SPの3行を1本の白帯にまとめる（両端を斜めカット） */
  .sc-fv__lead{
    display:inline-block;
    margin-top:54px;
    padding:6px 24px;
    background:var(--sc-white);
    color:#111418;
    font-size:23px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:.06em;
    white-space:nowrap;
    clip-path:polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
  }
  .sc-fv__lead-line,
  .sc-fv__lead-last{
    display:inline;
    margin:0;
    padding:0;
    background:none;
    color:inherit;
    font-size:inherit;
    font-weight:inherit;
    letter-spacing:inherit;
    clip-path:none;
  }
  .sc-fv__lead-last-s{ font-size:inherit; }

  /* メインコピー（PCでは「正しい」の白ヌキ帯は使わない） */
  .sc-fv__title{
    max-width:560px;
    /* 480pxクエリの margin-inline:auto を打ち消す（PCは左カラム＝左寄せ） */
    margin-inline:0;
    margin-top:23px;
    font-size:54px;
    line-height:1.2;
    letter-spacing:.07em;
  }
  .sc-fv__title-row{ gap:0; }
  .sc-fv__title-row + .sc-fv__title-row{ margin-top:7px; }
  .sc-fv__title-sub{ font-size:49px; }
  .sc-fv__knockout{
    font-size:50px;
    padding:0;
    line-height:inherit;
    background:none;
    color:var(--sc-white);
    mix-blend-mode:normal;
    clip-path:none;
  }
  .sc-fv__title-row--main{
    margin-left:0;
    font-size:77px;
    line-height:1.15;
  }
  .sc-fv__gold{ line-height:1.15; font-size:67px; }
  .sc-fv__gold-lead{ font-size:90px; }
  .sc-fv__title-end{ font-size:50px; }

  /* バッジ4つ：メインコピーと同じ横幅に並べる */
  .sc-fv__badges{
    justify-content:flex-start;
    max-width:500px;
    gap:23px;
    /* 480pxクエリの margin-inline:auto を打ち消す（PCは左カラム＝左寄せ） */
    margin-inline:0;
    margin-top:20px;
  }
  .sc-fv__badge{ max-width:122px; }
  .sc-fv__badge-text{ font-size:17px; letter-spacing:0; }
  .sc-fv__badge-icon{ height:31px; margin-bottom:9px; }
  .sc-fv__badge-num{ font-size:30px; }

  /* ---- 下半分：上下にゴールド線を持つ帯 ----
     ラッパー（__proof / __info）は display:contents で解体し、
     人物・実績・料金・CTA を __bottom 直下のグリッドアイテムとして配置する */
  .sc-fv__bottom{
    display:grid;
    grid-template-columns:
      194px
      minmax(0,1fr)
      346px;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:12px;
    min-height:229px;
    padding:0 max(24px,calc((100% - 1010px) / 2));
    border-top:1px solid #ECCD7B;
    border-bottom:1px solid #ECCD7B;
    background:var(--sc-bg);
  }
  .sc-fv__proof,
  .sc-fv__info{ display:contents; }

  /* 中元陸：頭が帯から少し飛び出す */
  .sc-fv__portrait{
    grid-column:1;
    grid-row:1 / span 2;
    flex:none;
    width:auto;
    max-width:none;
    height:270px;
    /* 負のmargin-topでグリッド行への寄与を打ち消す。
       ＝帯の高さは広げずに、頭だけが上のゴールド線から飛び出す */
    margin:-82px 0 19px -10px;
    justify-self:start;
    align-self:end;
    z-index:0;
  }

  /* 実績：中元陸を上段に、月桂樹は BEST BODY JAPAN と2年連続優勝だけを囲む
     ※月桂樹はグリッドアイテムだと画像が描画されないため、装飾画像なので背景に回す。
       <img> はSP用に残し、PCでは非表示にする */
  .sc-fv__award{
    grid-column:2;
    grid-row:1 / span 2;
    display:block;
    max-width:none;
    text-align:center;
    position:relative;
    z-index:1;
  }
  .sc-fv__laurel{ display:none; }
  .sc-fv__award-body{
    display:block;
    width:fit-content;
    margin-inline:0 auto;
    padding:0 40px;
    background:
      url("images/lp/sculpt-men/laurel_l.webp") left  bottom / auto 97px no-repeat,
      url("images/lp/sculpt-men/laurel_r.webp") right bottom / auto 97px no-repeat;
  }
  .sc-fv__award-name{
    margin-bottom:10px;
    font-size:50px;
    white-space:nowrap;
  }
  .sc-fv__award-name small{ margin-left:10px; font-size:17px; }
  .sc-fv__award-org{
    margin-top:0;
    font-size:21px;
    line-height:1.25;
    white-space:nowrap;
  }
  .sc-fv__award-prize{
    margin-top:-5px;
    font-size:30px;
    line-height:1.4;
    white-space:nowrap;
  }

  /* 料金：シルバー帯を上のゴールド線に重ねる */
  .sc-fv__price{
    grid-column:3;
    grid-row:1;
    display:grid;
    grid-template-columns:auto auto;
    grid-template-rows:auto auto;
    align-items:end;
    gap:8px 7px;
    width:fit-content;
    justify-self:end;
    margin:0;
    align-self:start;
  }
  .sc-fv__price-body{ display:contents; }
  .sc-fv__price-label{
    grid-column:1 / 3;
    grid-row:1;
    max-width:none;
    width:100%;
    margin-top:-27px;
    padding:5px 0;
    font-size:17px;
    letter-spacing:.28em;
    text-indent:.28em;
    background:linear-gradient(90deg,#C9C6C6 0%,#FFFFFF 53%,#ADADAD 100%);
    clip-path:polygon(20px 0, 100% 0, calc(100% - 20px) 100%, 0 100%);
  }
  .sc-fv__price-circle{
    grid-column:1;
    grid-row:2;
    flex:none;
    width:76px;
    font-size:12px;
  }
  .sc-fv__price-circle strong{ margin-top:3px; font-size:18px; }
  .sc-fv__price-value{
    grid-column:2;
    grid-row:2;
    margin-top:0;
    margin-bottom:8px;
    gap:3px;
    justify-content:flex-end;
  }
  .sc-fv__price-num{ font-size:60px; }
  .sc-fv__price-unit{ padding-bottom:6px; }
  .sc-fv__price-tax{ font-size:14px; white-space:nowrap; }
  .sc-fv__price-yen{ font-size:25px; }

  /* CTA：2段（上に無料体験、下にトレーニングを予約） */
  .sc-fv__cta{
    grid-column:3;
    grid-row:2;
    flex-direction:column;
    /* .sc-btn の align-items:baseline は縦積みだと左寄せになるので戻す */
    align-items:center;
    gap:2px;
    width:100%;
    max-width:none;
    margin:0 0 20px;
    padding:12px 33px 12px 18px;
    align-self:end;
    font-size:24px;
    line-height:1.35;
  }
  .sc-fv__cta .sc-btn__em{ font-size:30px; }
  .sc-fv__cta .sc-btn__arrow{
    right:18px;
    width:46px;
    height:46px;
  }


  /* ==========================================================================
     PC共通：文字サイズのトークン
     SPの級数をそのまま拡大するのではなく、PC用に5段階へ寄せる
     ========================================================================== */
  .sc-lp{
    --pc-ttl:44px;    /* セクション見出し */
    --pc-sub:26px;    /* サブ見出し・カード見出し */
    --pc-lead:20px;   /* リード文・強調 */
    --pc-body:17px;   /* 本文 */
    --pc-note:14px;   /* 補足・注記 */
    --pc-w:1010px;    /* セクションの内側幅 */
    --pc-wn:760px;    /* リスト・読み物の幅（狭め） */
  }

  /* ---- (2) お悩み ---- */
  .sc-problem{ padding:96px 0 56px; }
  .sc-problem__title{ font-size:var(--pc-ttl); }
  .sc-problem__title-em{ font-size:calc(var(--pc-ttl) + 6px); }
  .sc-problem__divider{ max-width:var(--pc-w); margin:24px auto 0; padding:0; }
  .sc-problem__list{
    grid-template-columns:repeat(3, 1fr);   /* 横3つずつ */
    gap:30px;
    max-width:900px;
    margin:48px auto 0;
    padding:0;
  }
  .sc-problem__text{ padding:0 26px; font-size:24px; line-height:1.5; }
  .sc-problem__closing{ max-width:860px; margin:60px auto 0; padding:0; }
  .sc-problem__lead{ font-size:var(--pc-lead); }
  .sc-problem__strong{ gap:20px; margin-top:14px; font-size:var(--pc-ttl); }
  .sc-problem__rule{ max-width:96px; }
  .sc-problem__sub{ margin-top:30px; font-size:var(--pc-lead); }
  .sc-problem__box{ margin-top:8px; padding:24px 10px; font-size:var(--pc-sub); }

  /* ---- (3) 監修者ストーリー ---- */
  .sc-story{ padding:80px 0 0; }
  .sc-story__photo{ top:0; left:calc(50% - 430px); width:370px; }
  .sc-story__head{
    /* 下の白枠と同じ幅・同じ位置に置き、右端を揃える。
       左は写真のぶんだけ空ける（写真は白枠の下に潜り込む） */
    max-width:630px;
    margin:0 auto;
    padding-left:280px;
    padding-right:0;
  }
  .sc-story__brand{ font-size:var(--pc-note); }
  .sc-story__name{ margin-top:22px; font-size:42px; }
  .sc-story__name-sub{ margin-left:10px; font-size:var(--pc-lead); }
  .sc-story__award{ margin-top:16px; }
  .sc-story__laurel{ width:38px; }
  .sc-story__award-org{ font-size:var(--pc-lead); }
  .sc-story__award-prize{ font-size:30px; }
  .sc-story__lead{ margin-top:20px; font-size:var(--pc-body); }
  .sc-story__lead-em{ font-size:var(--pc-sub); }
  .sc-story__box{
    max-width:720px;
    margin:32px auto 0;
    padding:34px 30px 36px;
  }
  .sc-story__box-title{ margin-top:-34px; padding:8px 20px 10px; font-size:var(--pc-body); }
  .sc-story__box-sub{ margin-top:24px; font-size:var(--pc-sub); }
  /* PCは横幅があるので、SP用に入れてある改行を無効化して1行にまとめる */
  .sc-story__box-sub br{ display:none; }
  /* 1つ目の改行だけ消す。2つ目は残すので
     「…フォームとトレーニング理論／を一から学び直してから。」の位置で折り返る */
  .sc-story__text br:first-of-type{ display:none; }
  /* 横線は下の本文ブロック（アイコン＋テキスト）と同じ幅に揃える */
  .sc-story__divider{ max-width:576px; margin:16px auto; }
  .sc-story__list{ margin-top:28px; }
  .sc-story__item{ gap:20px; }
  .sc-story__icon{ width:88px; }
  .sc-story__text{ font-size:20px; line-height:1.7; }

  /* ---- (4) THE SCULPT METHOD ---- */
  .sc-method{
    padding:56px 0 72px;
    /* SPは%指定だが、PCはセクションが長くなり黒が上で終わってしまう。
       タイトルブロックの高さぶん(約360px)を px で確保する */
    background:linear-gradient(180deg,
      #191919 0,
      #191919 200px,
      #222 290px,
      #444 350px,
      #F2F2F2 520px,
      #F2F2F2 100%);
  }
  .sc-method__intro{ padding:0 24px; }
  .sc-method__arrow{ width:34px; }
  .sc-method__eyebrow{ margin-top:30px; font-size:var(--pc-lead); }
  .sc-method__logo-1{ font-size:54px; }
  .sc-method__logo-2{ font-size:74px; }
  .sc-method__sub{ max-width:360px; margin-top:20px; padding:12px 0 14px; }
  .sc-method__sub-1{ font-size:var(--pc-lead); }
  .sc-method__sub-2{
    font-size:var(--pc-sub);
    /* この要素は background-clip:text で金グラデを文字に流している。
       text-shadow だとその塗りの「上」に影が描かれて文字が潰れるため、
       要素そのものに影を落とす filter:drop-shadow を使う（影は文字の背面に出る） */
    filter:
      drop-shadow(0 0 2px rgba(0,0,0,.5))
      drop-shadow(0 0 5px rgba(0,0,0,.3));
  }
  .sc-method__sub-num{ font-size:44px; }
  .sc-method__sub-em{ font-size:30px; }
  .sc-method__list{
    display:grid;
    /* 6分割して2列ぶんずつ使う。上段3枚・下段2枚を中央に置くため */
    grid-template-columns:repeat(6, 1fr);
    gap:24px;
    max-width:var(--pc-w);
    margin:44px auto 0;
    padding:0;
  }
  .sc-method__card + .sc-method__card{ margin-top:0; }   /* グリッドなので個別marginは不要 */
  .sc-method__card{ grid-column:span 2; }
  /* 下段の2枚を中央へ */
  .sc-method__card:nth-child(4){ grid-column:2 / span 2; }
  .sc-method__card:nth-child(5){ grid-column:4 / span 2; }
  /* カードを縦フレックスにして、写真が余白を埋めるようにする。
     グリッドの行内でカード高さが揃うので、足りない写真は拡大＆トリミングされる */
  .sc-method__card{
    display:flex;
    flex-direction:column;
  }
  .sc-method__photo{
    flex:1 1 auto;
    min-height:0;
    object-fit:cover;
    object-position:center;
  }
  .sc-method__head{ padding:20px 0 0 18px; }
  .sc-method__num{ font-size:46px; }
  .sc-method__title{ padding-right:18px; font-size:23px; }
  .sc-method__en{ font-size:var(--pc-note); }
  .sc-method__desc{ padding:14px 18px 18px 20px; font-size:15px; }
  .sc-method__cta{ max-width:var(--pc-wn); margin:52px auto 0; padding:0; }
  .sc-method__cta-lead{ font-size:var(--pc-lead); }
  .sc-method__cta-l1{ font-size:30px; }
  .sc-method__cta-line{ flex:1 1 auto; max-width:196px; }
  .sc-method__cta-l2{
    margin-left:50px;
    font-size:45px;
    line-height:1.55;
  }
  .sc-method__cta-rule{ display:block; width:100%; max-width:645px; }
  .sc-method__cta-note{ font-size:var(--pc-body); }
  .sc-method__cta-num{ font-size:var(--pc-sub); }

  /* ---- (5) BEFORE / AFTER ---- */
  .sc-ba{ padding:64px 0 80px; }
  /* 帯は画面の左端から右端までいっぱいに広げる */
  .sc-ba__head{ max-width:none; margin-inline:0; padding:24px 0 16px; }
  .sc-ba__en{ font-size:var(--pc-lead); }
  .sc-ba__lead{ font-size:var(--pc-lead); }
  .sc-ba__line{ width:34px; }
  .sc-ba__ttl{ margin-left:46px; font-size:var(--pc-ttl); }
  .sc-ba__inner{ max-width:var(--pc-w); margin-inline:auto; padding:0; }
  .sc-ba__list{ max-width:var(--pc-wn); margin:48px auto 0; gap:44px; }
  .sc-ba__card-ttl{ padding:16px 12px; font-size:var(--pc-sub); }
  .sc-ba__tag{ font-size:var(--pc-body); }
  .sc-ba__body{ padding:22px 26px 26px; }
  .sc-ba__stat{ font-size:24px; column-gap:32px; }
  /* 左右の1frは BEFORE／AFTER それぞれの半分に対応する。
     ラベル列・数字列を固定幅にして「ラベルは右揃え／数字は左揃え」で表とし、
     その固定幅の塊ごと BEFORE 側の中央へ置く（塊の幅が行ごとに変わらないので、
     体重・体脂肪率で数字の位置が上下でずれない） */
  .sc-ba__stat-l{
    display:grid;
    grid-template-columns:4.6em 4.2em;
    column-gap:10px;
    justify-self:center;
  }
  .sc-ba__stat-label{ text-align:right; }
  .sc-ba__stat-l > span:last-child{ text-align:left; }
  .sc-ba__stat-r{ justify-self:center; margin-left:-42px; }
  .sc-ba__num{ font-size:38px; }
  .sc-ba__stat-r .sc-ba__num{ font-size:52px; }
  .sc-ba__arrow{ width:42px; }
  .sc-ba__meta{ margin-top:22px; gap:18px; }
  .sc-ba__meta-label{ font-size:var(--pc-body); }
  .sc-ba__meta-val{ font-size:var(--pc-sub); }
  .sc-ba__note{ font-size:var(--pc-note); }

  /* ---- (6) 選ばれる理由 ---- */
  .sc-reason{ padding:24px 0 80px; }
  .sc-reason__head{ max-width:var(--pc-w); margin-inline:auto; padding:0; }
  .sc-reason__en{ font-size:var(--pc-lead); }
  .sc-reason__ttl{ font-size:var(--pc-ttl); }
  .sc-reason__ttl-num{ font-size:56px; }
  .sc-reason__list{ max-width:var(--pc-wn); margin-inline:auto; gap:52px; }
  .sc-reason__figure{ margin-inline:40px; }
  .sc-reason__figure img{ width:100%; }
  .sc-reason__no{ font-size:var(--pc-ttl); }
  .sc-reason__body{ padding:0 40px; }
  .sc-reason__sub{ font-size:var(--pc-body); }
  .sc-reason__item-ttl{ font-size:32px; }
  .sc-reason__text{ font-size:var(--pc-body); }

  /* ---- (7) 目指すゴール ---- */
  .sc-goal{ padding:76px 0 88px; }
  .sc-goal__ttl-1{ font-size:var(--pc-sub); }
  .sc-goal__ttl-2,
  .sc-goal__ttl-3{ font-size:var(--pc-ttl); }
  .sc-goal__em{ font-size:56px; }
  .sc-goal__group{ margin-top:64px; }
  .sc-goal__lead{ font-size:var(--pc-lead); }
  .sc-goal__grid{
    grid-template-columns:repeat(2, 1fr);
    gap:28px;
    max-width:620px;
    margin-inline:auto;
    padding:0;
  }
  .sc-goal__name{ font-size:var(--pc-lead); }

  /* ---- (8) 中間CTA ---- */
  .sc-cta__top{ padding:56px 0 40px; }
  .sc-cta__brand{ font-size:var(--pc-note); }
  .sc-cta__ttl-1,
  .sc-cta__ttl-2{ font-size:32px; }
  .sc-cta__em{ font-size:46px; }
  .sc-cta__sm{ font-size:32px; }
  .sc-cta__feats{ max-width:640px; margin-inline:auto; gap:34px; padding:0; }
  .sc-cta__feat-name{ font-size:var(--pc-body); }
  .sc-cta__bottom{ padding:26px 14px 40px; }
  .sc-cta__limited{ max-width:360px; font-size:var(--pc-body); }
  .sc-cta__price-num{ font-size:66px; }
  .sc-cta__price-yen{ font-size:30px; }
  .sc-cta__price-tax{ font-size:var(--pc-note); }
  .sc-cta__price-circle{ flex:0 0 84px; font-size:var(--pc-note); }
  .sc-cta__price-circle strong{ font-size:var(--pc-lead); }

  /* ---- (9) ご利用の流れ ---- */
  .sc-flow{ padding:80px 0 80px; }
  .sc-flow__eyebrow{ font-size:var(--pc-lead); }
  .sc-flow__eyebrow img{ width:15px; }
  .sc-flow__ttl{ font-size:var(--pc-ttl); }
  .sc-flow__tag{ padding:5px 28px; font-size:var(--pc-body); }
  .sc-flow__ttl{ max-width:500px; margin-inline:auto; }
  .sc-flow__list{ max-width:500px; margin-inline:auto; padding:40px 0 0; }
  .sc-flow__ttl-row{ justify-content:center; }
  .sc-brpc{ display:inline; }
  .sc-flow__figure{ width:230px; margin-top:-88px; }
  .sc-flow__box{ margin-top:110px; padding:0 26px 28px; }
  .sc-flow__no{ font-size:var(--pc-note); }
  .sc-flow__name{ font-size:var(--pc-sub); }
  .sc-flow__text{ font-size:var(--pc-body); }

  /* ---- (10) 料金プラン ---- */
  /* __bottom を760pxに絞った分、周囲に地色が出るのでセクションを#333で塗る。
     __top は plan_bg.webp の不透明背景を持つため影響しない */
  .sc-plan{ background:#333; }
  .sc-plan__top{ padding:70px 0 40px; }
  .sc-plan__en{ font-size:var(--pc-note); }
  .sc-plan__ttl{ font-size:var(--pc-ttl); }
  .sc-plan__card{ width:550px; margin-top:44px; padding:52px 24px 34px; }
  .sc-plan__card-tag{ padding:5px 30px; font-size:22px; }
  .sc-plan__card-body{ gap:24px; }
  .sc-plan__circle{ flex:0 0 116px; font-size:26px; }
  .sc-plan__circle span{ font-size:17px; }
  .sc-plan__old{ font-size:20px; }
  .sc-plan__old-num{ font-size:34px; }
  .sc-plan__new-num{ font-size:70px; }
  .sc-plan__new-yen{ font-size:34px; }
  .sc-plan__new-tax{ font-size:18px; }
  .sc-plan__bottom{ max-width:var(--pc-wn); margin-inline:auto; }
  .sc-plan__table-ttl{ font-size:var(--pc-lead); }
  .sc-plan__table{ font-size:var(--pc-body); }
  .sc-plan__table th{ font-size:var(--pc-body); }
  .sc-plan__hl-c1,
  .sc-plan__hl-c3{ font-size:var(--pc-sub); }
  .sc-plan__now{ font-size:var(--pc-sub); }
  .sc-plan__note{ font-size:var(--pc-note); }

  /* ---- (11) トレーナー ---- */
  .sc-trainer{ padding:120px 0 80px; }
  .sc-trainer__main{ max-width:var(--pc-wn); margin-inline:auto; padding:0; }
  .sc-trainer__photo{ top:-55px; right:70px; width:230px; }
  .sc-trainer__en{ font-size:var(--pc-note); letter-spacing:.23em; }
  .sc-trainer__name{ font-size:72px; line-height:1.3; }
  .sc-trainer__role,
  .sc-trainer__shop{ margin-top:-5px; font-size:var(--pc-body); line-height:1.9; }
  .sc-trainer__lead-1{ font-size:var(--pc-lead); }
  .sc-trainer__lead-2,
  .sc-trainer__lead-3{ margin-top:12px; font-size:30px; line-height:1.45; }
  .sc-trainer__lead-1{ line-height:1.9; }
  .sc-trainer__desc{ margin-top:26px; font-size:var(--pc-body); line-height:2; }
  .sc-trainer__label{ max-width:var(--pc-wn); margin-inline:auto; font-size:var(--pc-lead); }
  .sc-trainer__prizes,
  .sc-trainer__certs{ max-width:var(--pc-wn); margin-inline:auto; padding:0; }
  .sc-trainer__prize img{ flex:0 0 54px; width:54px; }
  .sc-trainer__prize-year{ font-size:var(--pc-note); }
  .sc-trainer__prize-ttl{ font-size:var(--pc-lead); }
  .sc-trainer__certs li{ font-size:var(--pc-lead); }
  .sc-trainer__certs img{ flex:0 0 22px; width:22px; }
  .sc-trainer__women{ max-width:500px; margin:60px auto 0; padding:14px 22px 18px; }
  .sc-trainer__women-body{ display:flex; align-items:center; }
  .sc-trainer__women-ttl{ font-size:var(--pc-body); }
  .sc-trainer__women-body img{ width:150px; }
  .sc-trainer__women-name{ font-size:var(--pc-sub); }
  .sc-trainer__women-name span{ font-size:var(--pc-note); }
  .sc-trainer__women-text{ font-size:var(--pc-body); }
  .sc-trainer__cta-note{ font-size:var(--pc-lead); }
  .sc-trainer__cta-em{ font-size:var(--pc-sub); }
  /* SP側の width:auto / margin:12px 14px 0 を打ち消して、.sc-cta__btn と同じ形にする */
  .sc-trainer__btn{ width:100%; max-width:480px; margin:8px auto 0; }

  /* ---- (12) メッセージ ---- */
  .sc-msg{ padding:48px 0 64px; }
  .sc-msg__ttl-1{ font-size:var(--pc-sub); }
  .sc-msg__ttl-2{
    margin-left:56px;
    font-size:var(--pc-ttl);
    letter-spacing:.1em;
    line-height:1.8;
  }
  .sc-msg__ttl-em{ font-size:calc(var(--pc-ttl) + 6px); }
  .sc-msg__rule{
    width:412px;
    height:2px;
    transform:translateX(12px);
  }
  .sc-msg__card{ max-width:600px; margin-inline:auto; padding:40px 40px 30px; }
  /* ビジュアルはカード幅(530px)に合わせて全体を1.1倍に拡大。
     SP域の @media(400/422/480) の位置指定をここで上書きする */
  .sc-msg__visual{ height:329px; margin-top:46px; }
  .sc-msg__before{ top:7px; left:calc(50% - 300px); width:298px; }
  .sc-msg__after { top:0;   right:calc(50% - 300px); width:329px; }
  .sc-msg__arrow{ top:140px; width:42px; }
  .sc-msg__tag{ top:227px; height:40px; font-size:19px; }
  .sc-msg__tag--before{ left:calc(50% - 300px); padding:0 32px 0 20px; }
  .sc-msg__tag--after { right:calc(50% - 300px); padding:0 20px 0 32px; }
  .sc-msg__tag{ font-size:var(--pc-body); }
  .sc-msg__text{ font-size:var(--pc-body); }
  .sc-msg__sign{ font-size:var(--pc-body); }

  /* ---- (13) アクセス ---- */
  .sc-access{ padding-bottom:72px; }
  .sc-access__en{ font-size:var(--pc-note); }
  .sc-access__ttl{ font-size:var(--pc-ttl); }
  .sc-access__station{ font-size:var(--pc-lead); }
  .sc-access__min{ font-size:34px; }
  .sc-access__photo{ max-width:var(--pc-wn); margin-inline:auto; }
  .sc-access__table{
    width:100%;
    max-width:600px;
    margin-inline:auto;
    font-size:var(--pc-body);
    line-height:1.9;
  }
  /* SPはth幅70px・td余白ゼロで見出しと本文が繋がって見えるので、
     PCでは見出し列の幅を広げ、td側に左余白を入れて離す */
  .sc-access__table th{
    width:150px;
    padding:18px 0 16px;
    white-space:nowrap;
  }
  .sc-access__table td{ padding:18px 0 16px 24px; }
  .sc-access__station img{ width:24px; margin-top:5px; }
  .sc-access__min{ font-size:42px; }
  .sc-access__map{ max-width:var(--pc-wn); height:350px; margin-inline:auto; }

  /* ---- (14) FAQ ---- */
  .sc-faq{ padding:76px 0 80px; }
  .sc-faq__en{ font-size:var(--pc-lead); }
  .sc-faq__ttl{ font-size:var(--pc-ttl); }
  .sc-faq__group{ max-width:600px; margin-inline:auto; font-size:var(--pc-body); }
  .sc-faq__list{ max-width:600px; margin-inline:auto; padding:0; }
  .sc-faq__mark-q,
  .sc-faq__mark-a{ font-size:var(--pc-sub); }
  .sc-faq__q-text,
  .sc-faq__a-text{ font-size:var(--pc-body); }
  .sc-faq__a-text{ letter-spacing:.03em; }

  /* ---- (15) 最終CTA ----
     PCは上段を2カラムに。左＝コピー、右＝枠に入れた写真。
     写真は背景敷きではなく「額装したパネル」として置き、金の細枠＋オフセット枠で
     ジムらしい硬質な見せ方にする。下段はベタ塗りの上にアイコン3つ〜ボタン */
  .sc-final{
    padding:0 0 60px;
    background:#333;
  }
  .sc-final::before{
    top:66px;
    left:auto;
    right:max(24px, calc((100% - 1010px) / 2));
    width:470px;
    height:392px;
    aspect-ratio:auto;
    padding-bottom:0;
    background:url("images/lp/sculpt-men/cta_bg.webp") center / cover no-repeat;
    border:0;
    box-shadow:
      16px 16px 0 rgba(214,177,96,.16),
      0 20px 44px rgba(0,0,0,.55);
  }

  /* 上段左：コピー */
  .sc-final__ttl{
    display:flex;
    flex-direction:column;
    width:520px;
    max-width:none;
    margin-left:max(24px, calc((100% - 900px) / 2));
    margin-right:0;
    padding:150px 0 0;
  }
  .sc-final__ttl-1{ font-size:24px; text-shadow:none; }
  .sc-final__ttl-2,
  .sc-final__ttl-em{ margin-top:20px; font-size:56px; }
  .sc-final__ttl-3{ font-size:44px; }
  .sc-final__rule{ width:420px; margin:18px 0 0 max(24px, calc((100% - 900px) / 2)); }

  /* 下段：ベタ塗りの上 */
  .sc-final__feats{
    max-width:640px;
    margin-inline:auto;
    padding:120px 0 0;
  }
  .sc-final__feat img{ width:130px; margin-inline:auto; }
  .sc-final__feat-name{ justify-self:center; text-align:center; font-size:17px; }
  .sc-final__band{ max-width:760px; margin:60px auto 0; }
  .sc-final__band-1{ font-size:26px; }
  .sc-final__band-em{ font-size:32px; }
  .sc-final__band-2{ font-size:30px; }
  .sc-final__band-3{ font-size:26px; }
  .sc-final__note{ font-size:20px; }
  .sc-final__note-num{ font-size:30px; }
  .sc-final__btn{ width:100%; max-width:480px; margin:8px auto 0; }
  .sc-final__sub{ font-size:17px; }

  /* ---- 固定バナー ----
     SP専用のパーツ。PCでは出さない（下部の余白も戻す） */
  .sc-fixbnr{ display:none; }
  .sc-lp{ padding-bottom:0; }

}
