@charset "UTF-8";

/* ==========================================================
   東京ガスのウォーターサーバー / FC東京応援キャンペーン LP
   - 共通CSS(lp-base.css)の上に載せる個別CSS
   - デザイン: PC 1280px / SP 393px (等倍1x)
   - レイアウト切替: 〜1023px = SPデザイン / 1024px〜 = PCデザイン
     (768〜1023pxのタブレットはSPレイアウトを可変で表示)
   - 1280px超: 全幅の背景・画像は画面幅いっぱいまで拡大し、
     インナー(本文・表・ボタン等)は1280px時点のpx値で固定する
     → 幅は % + max-width、余白は min()/max() でカンプ値を上限にしている
   ========================================================== */

:root {
  /* --- 色(design/pc.png から実測) --- */
  --c-navy: #013ca3; /* 見出し・本文の濃い青 */
  --c-blue: #2841cd; /* 安心セクションなどの青 */
  --c-red: #f23333; /* 強調の赤 */
  --c-red-dow: #e60021; /* 日曜表記の赤 */
  --c-yellow: #fffb1b; /* 申込締切・賞タブの黄 */
  --c-pink: #ffc6c6; /* 締切セルの背景 */
  --c-pale: #e4f3ff; /* 淡い水色の背景 */
  --c-water: #cfeefc; /* 水背景ゾーンのベース色(water_bgを重ねる前提) */
  --c-white: #fff;
}

/* ----------------------------------------------------------
   ユーティリティ(案件固有) — assets/utilities.css の補完
   PCレイアウトの切替が1024pxのため、1023px以下で出す要素用
   ---------------------------------------------------------- */

.u-under-pc {
  display: none;
}

@media screen and (max-width: 1023px) {
  .u-under-pc {
    display: revert;
  }
}

/* ----------------------------------------------------------
   ベース
   ---------------------------------------------------------- */

.p-lp,
.p-lp *,
.p-lp *::before,
.p-lp *::after {
  box-sizing: border-box;
}

.p-lp {
  overflow-x: hidden;
  color: var(--c-navy);
  font-weight: 500;
  line-height: 1.4;
}

.p-lp img {
  display: block;
  width: 100%;
  height: auto;
}

.p-lp a {
  color: inherit;
  text-decoration: none;
}

.p-cta__btn a,
.p-mv__btn a,
.p-fixed-cta__btn a {
  display: block;
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .p-cta__btn a:hover,
  .p-mv__btn a:hover,
  .p-fixed-cta__btn a:hover {
    opacity: 0.8;
  }
}

/* ----------------------------------------------------------
   メインビジュアル
   ---------------------------------------------------------- */

.p-mv__visual {
  position: relative;
}

/* 支給画像の上端(デザイン上は固定ヘッダーに隠れている領域)を切り落とす */
.p-mv__frame {
  overflow: hidden;
  aspect-ratio: 393 / 596;
}

.p-mv__img {
  margin-top: -16.0305%; /* 63/393 */
}

.p-mv__btn {
  position: absolute;
  top: 75.3356%; /* (512-63)/596 */
  left: 2.5445%; /* 10/393 */
  width: 94.9109%; /* 373/393 */
}

.p-mv__official {
  position: absolute;
  top: 95.4698%; /* (632-63)/596 */
  right: 5.8524%; /* 23/393 */
  color: var(--c-white);
  font-weight: 700;
  font-size: clamp(0.8125rem, 0.6712rem + 0.6018vw, 1.0625rem);
  line-height: 1.2;
}

.p-mv__official a {
  color: var(--c-white);
}

.p-mv__official-line {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em; /* 25pxで約4px下 */
}

/* ----------------------------------------------------------
   水背景ゾーン(概要〜中間CTA)
   ---------------------------------------------------------- */

.p-water {
  background-color: var(--c-water);
  background-image: url("/service/housework/ad/water_server02-assets/img/water_bg_sp.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
}

/* ----------------------------------------------------------
   キャンペーン概要
   ---------------------------------------------------------- */

.p-outline {
  padding-top: 7.6336%; /* 30/393 */
}

.p-outline__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 4.0712%; /* 16/393 */
  font-weight: 700;
  font-size: clamp(1.3125rem, 1.2417rem + 0.3015vw, 1.4375rem);
  line-height: 1.2;
}

.p-outline__ttl::before,
.p-outline__ttl::after {
  content: "";
  width: 10.1781%; /* 40/393 */
  height: 2px;
  background-color: currentColor;
}

.p-outline__body {
  width: 88.2952%; /* 347/393 */
  margin-inline: auto;
  margin-top: 5.0891%; /* 20/393 */
  font-size: clamp(0.7688rem, 0.6489rem + 0.4881vw, 0.9609rem); /* 12.3px@393 */
  line-height: 1.4634; /* 18px @12.3px */
}

.p-outline__lead {
  margin-bottom: 0.55em;
  font-weight: 700;
  text-align: center;
}

.p-outline__txt + .p-outline__acc {
  margin-top: 1.15em;
}

.p-outline__acc + .p-outline__acc {
  margin-top: 1.15em;
}

/* 開閉トグル: 既定の三角マーカーを消して「＋/−」を出す */
.p-outline__acc-head {
  display: block;
  margin-bottom: 0.2em;
  cursor: pointer;
  list-style: none;
}

.p-outline__acc-head::-webkit-details-marker {
  display: none;
}

.p-outline__acc-head:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.p-outline__subttl {
  font-size: inherit; /* h3のUA既定サイズを打ち消す */
  font-weight: 700;
  line-height: inherit;
  text-align: center;
}

.p-outline__subttl::before {
  content: "＋　";
}

[open] > .p-outline__acc-head .p-outline__subttl::before {
  content: "−　";
}

/* ----------------------------------------------------------
   日程表
   ---------------------------------------------------------- */

.p-schedule {
  width: 92.3664%; /* 363/393 */
  margin-inline: auto;
  margin-top: 9.2875%; /* 36.5/393 (本文の行数差を吸収) */
  font-weight: 700;
}

.p-schedule__head {
  width: 26.4463%; /* 96/363 */
  margin-left: auto;
  margin-right: -1.1019%; /* -4/363 カンプではセルの右端より4px外に出る */
  padding: 0;
  background-color: var(--c-yellow);
  clip-path: polygon(5.2% 0, 100% 0, 94.8% 100%, 0 100%);
  font-size: clamp(0.8125rem, 0.6858rem + 0.5159vw, 1.0156rem); /* 13px@393 */
  line-height: 1.1538; /* 15px @13px */
  text-align: center;
}

.p-schedule__row {
  display: grid;
  grid-template-columns: 74.3802% 25.0689%; /* 270 / 91 (of 363) */
  justify-content: space-between;
  align-items: stretch;
  margin-top: 0.8264%; /* 3/363 */
}

.p-schedule__row:first-child {
  margin-top: 0.2545%; /* 1/393 */
}

.p-schedule__main,
.p-schedule__limit {
  display: flex;
  align-items: center;
  min-height: 40px;
}

.p-schedule__main {
  padding-left: 1.6529%; /* 6/363 */
  background-color: var(--c-pale);
}

.p-schedule__limit {
  justify-content: center;
  background-color: var(--c-pink);
}

.p-schedule__limit-txt {
  white-space: nowrap;
}

.p-schedule__no {
  flex: none;
  padding: 0.25em 0.4em;
  background-color: var(--c-navy);
  color: var(--c-white);
  font-size: clamp(0.625rem, 0.6073rem + 0.0754vw, 0.6875rem);
  line-height: 1;
}

.p-schedule__no-num {
  display: inline-block;
  min-width: 0.9em;
  text-align: center;
}

.p-schedule__date,
.p-schedule__team,
.p-schedule__limit {
  font-size: clamp(0.8125rem, 0.7771rem + 0.1508vw, 0.875rem);
}

.p-schedule__date {
  flex: none;
  display: flex;
  align-items: center;
  margin-left: 0.5em;
  white-space: nowrap;
}

.p-schedule__team {
  flex: none;
}

.p-schedule__vs {
  flex: none;
  margin-left: 1.1em;
  margin-right: 0.8em;
  font-style: italic;
  font-size: clamp(0.6875rem, 0.6698rem + 0.0754vw, 0.75rem);
}

.p-schedule__dow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.34em; /* 47/35 (PC) = 17.5/13 (SP) */
  height: 1.34em;
  margin-left: 0.35em;
  background-color: var(--c-white);
  line-height: 1;
}

.p-schedule__dow--sun {
  color: var(--c-red-dow);
}

.p-schedule__note {
  margin-top: 3.944%; /* 15.5/393 */
  font-size: clamp(0.75rem, 0.6331rem + 0.4762vw, 0.9375rem); /* 12px@393 */
  font-weight: 500;
  line-height: 1.3333; /* 16px @12px */
  text-align: center;
}

/* ----------------------------------------------------------
   賞品
   ---------------------------------------------------------- */

.p-present {
  padding-top: 11.8321%; /* 46.5/393 */
}

.p-present__item {
  width: 85.4962%; /* 336/393 */
  margin-inline: auto;
}

.p-present__row .p-present__item {
  margin-top: 0.7634%; /* 3/393 */
}

.p-present__row .p-present__item + .p-present__item {
  margin-top: 4.5802%; /* 18/393 */
}

/* ----------------------------------------------------------
   ラインナップ
   ---------------------------------------------------------- */

.p-lineup {
  padding-top: 13.2316%; /* 52/393 */
}

.p-lineup__ttl {
  color: var(--c-navy);
  font-weight: 700;
  font-size: clamp(1.5rem, 1.2661rem + 0.9524vw, 1.875rem); /* 24px@393 */
  line-height: 1.5; /* 36px @24px */
  text-align: center;
}

.p-lineup__accent {
  color: var(--c-red);
}

/* 紺色部分はSPだけ小さい(カンプ実測: 赤24px / 紺20px・行送りは共に36px) */
.p-lineup__sub {
  font-size: 0.8333em; /* 20px @24px */
  line-height: 1.8; /* 36px @20px */
}

.p-lineup__img {
  margin-top: 7.888%; /* 31/393 */
}

.p-lineup__img--02 {
  margin-top: 3.5623%; /* 14/393 */
}

/* ----------------------------------------------------------
   CTA(中間・下部共通)
   ---------------------------------------------------------- */

.p-cta__catch {
  width: 94.1476%; /* 370/393 */
  margin-inline: auto;
  margin-top: 2.5445%; /* 10/393 */
}

.p-cta--mid {
  padding-bottom: 12.9771%; /* 51/393 */
}

.p-cta--mid .p-cta__body {
  padding-top: 16.285%; /* 64/393 */
}

.p-cta__lead {
  color: var(--c-red);
  font-weight: 700;
  font-size: clamp(1.625rem, 1.3714rem + 1.0317vw, 2.0313rem); /* 26px@393 */
  line-height: 1.2;
  text-align: center;
}

.p-cta__code {
  width: 85.7506%; /* 337/393 */
  margin-inline: auto;
  margin-top: 1.7812%; /* 7/393 */
  padding: 0.656em 0.5em; /* 高さ73px */
  background-color: var(--c-white);
  font-size: clamp(1rem, 0.8441rem + 0.6349vw, 1.25rem); /* 16px@393 */
  line-height: 1.3;
  text-align: center;
}

.p-cta__code b {
  font-size: 1.5em; /* 24px @16px */
  font-weight: 700;
}

.p-cta__note {
  margin-top: 0.857em; /* 12px */
  font-size: clamp(0.875rem, 0.7386rem + 0.5556vw, 1.0938rem); /* 14px@393 */
  line-height: 1.2857; /* 18px @14px */
  text-align: center;
}

.p-cta__btn {
  width: 85.4962%; /* 336/393 */
  margin-inline: auto;
  margin-top: 3.3079%; /* 13/393 */
}

.p-cta--last {
  padding-bottom: 12.2646%; /* 48/393 */
  background-color: var(--c-water);
  background-image: url("/service/housework/ad/water_server02-assets/img/cta_bg_sp.webp");
  background-repeat: no-repeat;
  background-position: center;
  /* 100% auto だと文字量でセクションが背景より高くなった時に下端が余るため cover */
  background-size: cover;
}

.p-cta--last .p-cta__body {
  padding-top: 10.9415%; /* 43/393 */
}

/* ----------------------------------------------------------
   選ばれる理由
   ---------------------------------------------------------- */

.p-reason {
  position: relative;
  padding-top: 9.2875%; /* 36.5/393 */
  background-color: var(--c-white);
}

.p-reason__ttl {
  color: var(--c-blue);
  font-weight: 700;
  font-size: clamp(1.5rem, 1.2661rem + 0.9524vw, 1.875rem); /* 24px@393 */
  line-height: 1.3333; /* 32px @24px */
  text-align: center;
}

.p-reason__accent {
  color: var(--c-red);
}

.p-reason__img {
  margin-top: 6.2341%; /* 24.5/393 */
}

/* ----------------------------------------------------------
   安心
   ---------------------------------------------------------- */

.p-anshin {
  /* 直前の .p-reason が position:relative のため、重ね順を揃える */
  position: relative;
  /* リボンの負マージンがマージン相殺でセクション(=背景)ごと
     引き上がるのを防ぐ。背景は理由セクションの直下から始める */
  display: flow-root;
  padding-bottom: 9.9237%; /* 39/393 */
  background-color: var(--c-pale);
  color: var(--c-blue);
  text-align: center;
}

.p-anshin__ttl {
  margin-top: -15.7761%; /* -62/393 リボンを理由セクションに重ねる */
}

.p-anshin__lead {
  margin-top: 0.2545%; /* 1/393 */
  font-weight: 700;
  font-size: clamp(1rem, 0.844rem + 0.6349vw, 1.25rem); /* 16px@393 */
  line-height: 1.6;
}

.p-anshin__lead-strong {
  font-size: 2.25em; /* 36px @16px */
  line-height: 1.65;
}

.p-anshin__txt {
  margin-top: 3.5115%; /* 13.8/393 */
  font-size: clamp(1rem, 0.844rem + 0.6349vw, 1.25rem); /* 16px@393 */
  line-height: 2;
  font-weight: 600;
}

.p-anshin__img {
  margin-top: 6.6158%; /* 26/393 */
}

/* ----------------------------------------------------------
   追従CTA
   ---------------------------------------------------------- */

.p-fixed-cta {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  padding: 18px 0;
  background-color: var(--c-white);
  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
}

.p-fixed-cta.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.p-fixed-cta__btn {
  width: 94.9109%; /* 373/393 */
  max-width: 749px;
  margin-inline: auto;
}

/* ----------------------------------------------------------
   狭幅端末(〜374px)の調整
   デザイン幅(393px)より狭い環境で、見出しが不自然な位置で
   折り返さないようにサイズだけ詰める
   ---------------------------------------------------------- */

@media screen and (max-width: 374px) {
  .p-cta__lead {
    font-size: clamp(1.25rem, 0.9375rem + 1.3333vw, 1.4375rem); /* 320pxで20px */
  }

  /* 日程表: 320pxでも1行に収める */
  .p-schedule__date,
  .p-schedule__team,
  .p-schedule__limit {
    font-size: 0.7188rem; /* 11.5px */
  }

  .p-schedule__no {
    padding: 0.25em 0.3em;
    font-size: 0.5625rem; /* 9px */
  }

  .p-schedule__vs {
    margin-left: 0.5em;
    margin-right: 0.4em;
  }

  .p-schedule__date {
    margin-left: 0.3em;
  }
}

/* ==========================================================
   PC (1024px〜) — デザイン 1280px 基準
   ========================================================== */

@media print, screen and (min-width: 1024px) {
  /* --- メインビジュアル --- */
  /* mv_pc.webp の上端60px(固定ヘッダーのモック)を隠す */
  .p-mv__frame {
    aspect-ratio: 1280 / 767;
  }

  .p-mv__img {
    margin-top: -4.6875%; /* 60/1280 */
  }

  .p-mv__btn {
    top: 82.9205%; /* (696-60)/767 */
    left: 20.7031%; /* 265/1280 */
    width: 55.3906%; /* 709/1280 */
  }

  .p-mv__official {
    top: 93.4811%; /* (777-60)/767 */
    right: 2.6563%; /* 34/1280 */
    font-size: clamp(1.3281rem, 0.3906rem + 1.4648vw, 2.1875rem); /* 25px@1280 → 35px@1920 (MV画像に追従) */
    line-height: 1;
  }

  /* --- 水背景ゾーン --- */
  .p-water {
    background-image: url("/service/housework/ad/water_server02-assets/img/water_bg.webp");
  }

  /* --- キャンペーン概要 --- */
  .p-outline {
    padding-top: min(2.5%, 32px); /* 32/1280 */
  }

  .p-outline__ttl {
    gap: 0 min(2.0313%, 26px); /* 26/1280 */
    font-size: clamp(2.55rem, 0.75rem + 2.8125vw, 3rem); /* 48px@1280 */
  }

  .p-outline__ttl::before,
  .p-outline__ttl::after {
    width: min(7.2656%, 93px); /* 93/1280 */
  }

  .p-outline__body {
    width: 77.5%; /* 992/1280 */
    max-width: 992px;
    margin-top: min(1.1719%, 15px); /* 15/1280 */
    font-size: clamp(0.7438rem, 0.2188rem + 0.8203vw, 0.875rem); /* 14px@1280 */
    line-height: 1.2857; /* 18px @14px */
  }

  .p-outline__lead {
    margin-bottom: 0.5em; /* 7px */
  }

  .p-outline__txt + .p-outline__acc {
    margin-top: 1.4286em; /* 20px */
  }

  .p-outline__acc + .p-outline__acc {
    margin-top: 1.0714em; /* 15px */
  }

  .p-outline__acc-head {
    margin-bottom: 0.2143em; /* 3px */
  }

  /* --- 日程表 --- */
  .p-schedule {
    width: 91.875%; /* 1176/1280 */
    max-width: 1176px;
    margin-top: min(2.1094%, 27px); /* 27/1280 */
  }

  .p-schedule__head {
    width: 25.4252%; /* 299/1176 */
    margin-right: -0.3401%; /* -4/1176 */
    padding: 0;
    clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%);
    font-size: clamp(1.7rem, 0.5rem + 1.875vw, 2rem); /* 32px@1280 */
    line-height: 1.4063; /* 45px @32px */
  }

  .p-schedule__row {
    grid-template-columns: 74.5748% 25.2551%; /* 877 / 297 (of 1176) */
    margin-top: 0.2551%; /* 3/1176 */
  }

  .p-schedule__row:first-child {
    margin-top: 0.0851%; /* 1/1176 */
  }

  .p-schedule__main,
  .p-schedule__limit {
    min-height: clamp(6.3219rem, 1.8594rem + 6.9727vw, 7.4375rem); /* 119px@1280 */
  }

  /* 締切セルの中身がカンプより約5px上にくるぶんを下げる */
  .p-schedule__limit {
    padding-top: 0.2857em; /* 10px@35px → 中央揃えで+5px */
  }

  .p-schedule__main {
    padding-left: 0.3421%; /* 3/877 */
  }

  .p-schedule__no {
    width: 11.9726%; /* 105/877 */
    justify-content: center;
    padding: 0.2407em 0;
    font-size: clamp(1.3163rem, -0.1688rem + 2.3203vw, 1.6875rem); /* 27px@1280 */
    text-align: center;
  }

  .p-schedule__date {
    align-items: baseline;
    margin-left: 2.3945%; /* 21/877 */
  }

  .p-schedule__date,
  .p-schedule__limit {
    font-size: clamp(1.7063rem, -0.2188rem + 3.0078vw, 2.1875rem); /* 35px@1280 */
  }

  .p-schedule__team {
    margin-left: 2.8506%; /* 25/877 */
    font-size: clamp(1.95rem, -0.25rem + 3.4375vw, 2.5rem); /* 40px@1280 */
  }

  .p-schedule__vs {
    margin-left: 3.2%; /* 28/877 */
    margin-right: 0;
    letter-spacing: -0.08em; /* 合成イタリックで広がる字送りを詰める */
    font-size: clamp(1.755rem, -0.225rem + 3.0938vw, 2.25rem); /* 36px@1280 */
  }

  .p-schedule__num {
    font-size: 2.8em; /* 98px @35px */
    line-height: 0.72;
  }

  .p-schedule__limit .p-schedule__num {
    font-size: 1.8857em; /* 66px @35px */
  }

  .p-schedule__dow {
    margin-left: 0.43em;
  }

  .p-schedule__note {
    margin-top: min(1.0156%, 13px); /* 13/1280 */
    font-size: clamp(0.7438rem, 0.2188rem + 0.8203vw, 0.875rem); /* 14px@1280 */
    line-height: 1.5; /* 21px @14px */
  }

  /* --- 賞品 --- */
  .p-present {
    padding-top: min(0.3125%, 4px); /* 4/1280 */
  }

  .p-present__item {
    width: 91.6406%; /* 1173/1280 */
    max-width: 1173px;
  }

  .p-present__row {
    display: flex;
    justify-content: center;
    gap: 0 min(3.4375%, 44px); /* 44/1280 */
    margin-top: min(1.0938%, 14px); /* 14/1280 */
  }

  .p-present__row .p-present__item,
  .p-present__row .p-present__item + .p-present__item {
    width: 44.1406%; /* 565/1280 */
    max-width: 565px;
    margin-top: 0;
    margin-inline: 0;
  }

  /* --- ラインナップ --- */
  .p-lineup {
    padding-top: min(4.5313%, 58px); /* 58/1280 */
  }

  .p-lineup__ttl {
    font-size: clamp(1.7rem, 0.5rem + 1.875vw, 2rem); /* 32px@1280 */
    line-height: 1.5; /* 48px @32px */
  }

  .p-lineup__sub {
    font-size: 1em;
    line-height: inherit;
  }

  .p-lineup__img {
    margin-top: min(0.9375%, 12px); /* 12/1280 */
  }

  /* --- CTA --- */
  .p-cta__catch {
    width: 63.2031%; /* 809/1280 */
    max-width: 809px;
    margin-top: -4.4531%; /* -57/1280 サーバー画像に重ねる */
  }

  .p-cta--mid .p-cta__body {
    padding-top: 0;
    margin-top: max(-5.2344%, -67px); /* -67/1280 catch画像の透明余白ぶん詰める */
  }

  .p-cta__lead {
    font-size: clamp(2.0187rem, 0.5937rem + 2.2266vw, 2.375rem); /* 38px@1280 */
  }

  .p-cta__code {
    width: 35.0781%; /* 449/1280 */
    max-width: 449px;
    margin-top: min(0.3906%, 5px); /* 5/1280 */
    padding: 0.125em 0.5em; /* 高さ35px */
    font-size: clamp(1.275rem, 0.375rem + 1.4063vw, 1.5rem); /* 24px@1280 */
    line-height: 1.2083; /* 29px @24px */
  }

  /* PCは「キャンペーンコード：」と「FCtokyo2026」が同サイズ */
  .p-cta__code b {
    font-size: 1em;
  }

  .p-cta__note {
    margin-top: 0.1563em; /* 2px */
    font-size: clamp(0.7438rem, 0.2188rem + 0.8203vw, 0.875rem); /* 14px@1280 */
    line-height: 1.5; /* 21px @14px */
  }

  .p-cta__btn {
    width: 33.2813%; /* 426/1280 */
    max-width: 426px;
    margin-top: min(2.5%, 32px); /* 32/1280 */
  }

  .p-cta--mid {
    padding-bottom: min(5.4688%, 70px); /* 70/1280 */
  }

  .p-cta--last {
    padding-bottom: 3.5938%; /* 46/1280 */
    background-image: url("/service/housework/ad/water_server02-assets/img/cta_bg.webp");
  }

  .p-cta--last .p-cta__body {
    padding-top: 3.125%; /* 40/1280 */
  }

  /* --- 選ばれる理由 --- */
  .p-reason {
    padding-top: 0;
    padding-bottom: 0;
  }

  /* PCは画像上に見出しを重ねる(画像上部が余白) */
  .p-reason__ttl {
    position: absolute;
    top: 9.5139%; /* 68.5/720 (画像高さ基準) */
    right: 0;
    left: 0;
    z-index: 1;
    font-size: clamp(2.125rem, 0.625rem + 2.3438vw, 3.4375rem); /* 40px@1280 → 55px@1920 (理由画像に追従) */
    line-height: 1.2;
  }

  .p-reason__img {
    margin-top: 0;
  }

  /* --- 安心 --- */
  .p-anshin {
    padding-bottom: min(3.3594%, 43px); /* 43/1280 */
  }

  .p-anshin__ttl {
    width: 88.0469%; /* 1127/1280 */
    max-width: 1127px;
    margin-inline: auto;
    margin-top: -12.2656%; /* -157/1280 リボンを理由セクションに重ねる */
  }

  .p-anshin__lead {
    margin-top: max(-1.6406%, -21px); /* -21/1280 リボン画像の透明余白ぶん詰める */
    font-size: clamp(1.8594rem, 0.5469rem + 2.0508vw, 2.1875rem); /* 35px@1280 */
    line-height: 1.45; /* 50.75px */
  }

  .p-anshin__lead-strong {
    font-size: 1.1714em; /* 41px @35px */
    line-height: 1.45;
  }

  .p-anshin__txt {
    margin-top: min(0.4688%, 6px); /* 6/1280 */
    font-size: clamp(0.85rem, 0.25rem + 0.9375vw, 1rem); /* 16px@1280 */
    line-height: 1.75; /* 28px */
  }

  .p-anshin__img {
    margin-top: -5.5469%; /* -71/1280 左右の写真をテキストに重ねる */
  }

  /* --- 追従CTA --- */
  .p-fixed-cta {
    padding: 16px 0;
  }

  .p-fixed-cta__btn {
    width: 58.5156%; /* 749/1280 */
  }
}
