@charset "UTF-8";
/* =============================================================
   YouTube LP / FV を Figma に合わせる（node 26-3726）
   SCSSビルドと分離・手動メンテ。style.css の後に読み込む。

   ※ .fv__* / .c-title__* はエリアLP・業界LPでも共有しているため、
     すべて .fv--yt（このLPのFVのみ）にスコープする。
   ※ 1rem = 10px（1920px時）。Figma の px 値を 1/10 で指定。
   ============================================================= */

/* -------------------------------------------------------------
   背景：白地＋斜めの「BEHEALTHY」透かし（Rozha One 335px / #EBEBEB）
   ------------------------------------------------------------- */
.fv--yt {
  aspect-ratio: auto;
  height: auto;
  overflow: hidden;
  background-color: #fff;
  /* 透かし(-2) とノートPC画像(-1) をこの中で重ねるため
     スタッキングコンテキストを作る */
  z-index: 0;
}

.fv--yt::before {
  content: "BEHEALTHY BEHEALTHY";
  inset: auto;
  top: 105rem;
  left: -58.4rem;
  width: auto;
  height: auto;
  aspect-ratio: auto;
  background: none;
  white-space: nowrap;
  font-family: "Rozha One", serif;
  font-weight: 400;
  font-size: 33.5rem;
  line-height: 1.6;
  color: #ebebeb;
  -webkit-transform: rotate(-25deg);
  transform: rotate(-25deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  pointer-events: none;
  z-index: -2;
}

/* -------------------------------------------------------------
   セクション全体：2段組み（上段=見出し+アンバサダー / 下段=PC+CTA）
   ------------------------------------------------------------- */
.fv--yt .fv__inner {
  padding-block: 4rem 8.6rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
}

/* -------------------------------------------------------------
   上段
   ------------------------------------------------------------- */
.fv--yt .fv__content-wrapper {
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.fv--yt .fv__content {
  width: 70rem;
  padding-top: 0;
}

/* 見出し：白バッジ＋黒帯 */
.fv--yt .fv__title {
  position: relative;
  padding-top: 3.4rem;
  margin-bottom: 0.5rem;
}

.fv--yt .fv__title-badge {
  position: absolute;
  top: 0;
  /* 黒帯（.fv__title-band）の左右中央に合わせる */
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 1rem 3.5rem;
  background-color: #fff;
  border-radius: 3rem;
  -webkit-box-shadow: 0 0.3rem 2rem 0 rgba(0, 0, 0, 0.16);
  box-shadow: 0 0.3rem 2rem 0 rgba(0, 0, 0, 0.16);
  color: #eba139;
  font-family: var(--ibmplexsansjp, "IBM Plex Sans JP", sans-serif);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.fv--yt .fv__title-band {
  display: block;
  background-color: #000;
  padding-inline: 0.5rem;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1.511;
  letter-spacing: 0;
  white-space: nowrap;
}

/* 成果直結型：120px / 成果直結はグラデーション、型は #FF6200 */
.fv--yt .fv__service {
  font-size: 12rem;
  line-height: 1.125;
  letter-spacing: 0.005em;
  color: #ff6200;
}

.fv--yt .fv__service .color-orange {
  background: -webkit-linear-gradient(45deg, #f0d800 0%, #ff9a00 66%);
  background: linear-gradient(225deg, #f0d800 0%, #ff9a00 66%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* YouTube マーケティング */
.fv--yt .fv__platform {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.fv--yt .fv__platform-icon {
  width: 9.41rem;
}

.fv--yt .fv__platform-text {
  font-size: 5.23rem;
}

.fv--yt .fv__platform-text .c-title__platform-text--lts {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0;
}

/* 説明文：20px / 行間1.5 / 黒 */
.fv--yt .fv__description {
  margin-top: 3rem;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #000;
}

/* 無料相談ボタン */
.fv--yt .fv__consult {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 38.5rem;
  height: 7rem;
  margin: 2.7rem auto 0;
  border-radius: 999px;
  background: -webkit-linear-gradient(222deg, #f0d800 5%, #ff9a00 68%);
  background: linear-gradient(228deg, #f0d800 5%, #ff9a00 68%);
  padding-right: 5rem;
  position: relative;
  color: #fff;
  font-family: "Noto Sans CJKjp", sans-serif;
  font-weight: 700;
  font-size: 1.9rem;
  line-height: 1.15;
}

/* アイコン（既存CTAボタンと同じ丸＋矢印を流用） */
.fv--yt .fv__consult::before,
.fv--yt .fv__consult::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.fv--yt .fv__consult::before {
  right: 1.5rem;
  width: 3.4rem;
  height: 3.4rem;
  background: url(../images/common/cta-circle.webp) no-repeat center center/contain;
}

.fv--yt .fv__consult::after {
  right: 3.2rem;
  width: 2.65rem;
  height: 0.45rem;
  background: url(../images/common/cta-arrow.webp) no-repeat center center/cover;
}

.fv--yt .fv__consult:hover::before {
  -webkit-transform: translateY(-50%) scale(1.05);
  transform: translateY(-50%) scale(1.05);
}

.fv--yt .fv__consult:hover::after {
  -webkit-transform: translateY(-50%) translateX(0.3rem);
  transform: translateY(-50%) translateX(0.3rem);
}

/* 公式アンバサダー */
.fv--yt .fv__ambassador {
  position: relative;
  width: 61.1rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-top: 4rem;
}

.fv--yt .fv__ambassador-img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
}

.fv--yt .fv__ambassador-caption {
  position: relative;
  z-index: 1;
  width: 58.2rem;
  margin: -5.2rem 0 0 3.8rem;
  padding: 2.1rem 0 2.7rem;
  background-color: #1b1b1b;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.4;
}

/* -------------------------------------------------------------
   下段：ラップトップ＋CTA
   ------------------------------------------------------------- */
.fv--yt .fv__bottom {
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
}

.fv--yt .fv__visual {
  width: 83.4rem;
  -webkit-transform: none;
  transform: none;
}

.fv--yt .fv__laptop {
  height: auto;
  aspect-ratio: 834/517;
}

.fv--yt .fv__laptop::before {
  aspect-ratio: 834/517;
}

.fv--yt .fv__laptop-screen {
  width: 60.7rem;
  padding-top: 6.3rem;
}

/* 「成果が出ている企業増加中」はラップトップの下へ */
.fv--yt .fv__achievement {
  position: static;
  top: auto;
  left: auto;
  -webkit-transform: none;
  transform: none;
  margin-top: 0;
}

/* Figma: #FF6200 / IBM Plex Serif Bold 30px / 行間42px / 字間0.06em */
.fv--yt .fv__achievement-text {
  color: #ff6200;
  font-family: var(--gothic);
  font-weight: 700;
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  margin-top: 1rem;
}

.fv--yt .fv__cta {
  width: 62.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-top: 0;
}

.fv--yt .fv__cta-buttons {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10rem;
}

/* -------------------------------------------------------------
   SP：既存の縦積みレイアウトに戻す（PC用の指定を打ち消す）
   ------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  .fv--yt::before {
    font-size: 14rem;
    top: 78rem;
    left: -20rem;
  }

  .fv--yt .fv__inner {
    padding-block: 5rem 1.65rem;
    gap: 1.8rem;
  }

  .fv--yt .fv__content {
    width: calc(100% - 3rem);
  }

  .fv--yt .fv__title {
    padding-top: 2.6rem;
    text-align: center;
  }

  .fv--yt .fv__title-badge {
    padding: 0.6rem 2.2rem;
    font-size: 1.3rem;
    border-radius: 2rem;
  }

  .fv--yt .fv__title-band {
    padding-inline: 0.5rem;
    font-size: 2rem;
    text-align: center;
  }

  .fv--yt .fv__service {
    font-size: 5.6rem;
  }

  .fv--yt .fv__platform-icon {
    width: 4.4rem;
  }

  .fv--yt .fv__platform-text {
    font-size: 2.45rem;
  }

  .fv--yt .fv__platform-text .c-title__platform-text--lts {
    font-size: 1.9rem;
  }

  .fv--yt .fv__description {
    margin-top: 1.7rem;
    font-size: 1.4rem;
  }

  .fv--yt .fv__consult {
    width: 100%;
    max-width: 28rem;
    height: 5rem;
    margin-top: 1.8rem;
    padding-right: 3.6rem;
    font-size: 1.5rem;
  }

  .fv--yt .fv__consult::before {
    right: 1.2rem;
    width: 2.6rem;
    height: 2.6rem;
  }

  .fv--yt .fv__consult::after {
    right: 2.4rem;
    width: 2rem;
    height: 0.35rem;
  }

  .fv--yt .fv__ambassador {
    width: 100%;
    max-width: 30rem;
    margin-inline: auto;
    padding-top: 0;
  }

  .fv--yt .fv__ambassador-caption {
    width: 95.3%;
    margin: -2.6rem 0 0 1.9rem;
    padding: 1rem 0 1.3rem;
    font-size: 1.2rem;
  }

  .fv--yt .fv__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.8rem;
  }

  .fv--yt .fv__visual {
    width: 100%;
  }

  .fv--yt .fv__laptop {
    height: 21.9rem;
    aspect-ratio: auto;
  }

  .fv--yt .fv__laptop-screen {
    width: 96%;
    padding-top: 0;
  }

  .fv--yt .fv__achievement {
    margin-top: 0;
  }

  .fv--yt .fv__achievement-text {
    font-size: 1.8rem;
    line-height: 1.3888888889;
  }

  .fv--yt .fv__cta {
    width: 100%;
    margin-top: 4.3rem;
  }

  .fv--yt .fv__cta-buttons {
    gap: 3.8rem;
  }
}

/* =============================================================
   YouTube LP / ページ下部CTA を Figma に合わせる（node 26-5588）
   ※ .company__promotion* はエリアLP・業界LP・Instagram LP 等でも
     共有しているため、すべて .company__promotion--yt にスコープする。
   ============================================================= */

/* 左：公式アンバサダー ／ 右：見出し（gap 66px） */
.company__promotion--yt {
  padding-inline: 18rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 6.6rem;
}

.company__promotion--yt .company__promotion-ambassador {
  width: 43.1rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.company__promotion--yt .company__promotion-ambassador-img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
}

.company__promotion--yt .company__promotion-ambassador-caption {
  position: relative;
  z-index: 1;
  width: 36rem;
  margin: -4.93rem 0 0 1.5rem;
  padding: 1.29rem 1.53rem;
  background-color: #1b1b1b;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
}

.company__promotion--yt .company__promotion-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
}

/* 見出し */
.company__promotion--yt .company__promotion-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.9rem;
}

.company__promotion--yt .company__promotion-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* 「60分の無料相談」：グラデーション地に白抜き */
.company__promotion--yt .company__promotion-badge {
  display: inline-block;
  padding: 0 0.5rem;
  background: -webkit-linear-gradient(45deg, #f0d800 0%, #ff9a00 66%);
  background: linear-gradient(225deg, #f0d800 0%, #ff9a00 66%);
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 6rem;
  line-height: 1.267;
  letter-spacing: 0.06em;
}

.company__promotion--yt .company__promotion-fz52 {
  font-size: 5.2rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

/* YouTube ロゴ＋ワードマーク */
.company__promotion--yt .company__promotion-row--yt {
  gap: 3rem;
}

.company__promotion--yt .company__promotion-yt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

.company__promotion--yt .company__promotion-yt-icon {
  display: block;
  width: 21.32rem;
}

.company__promotion--yt .company__promotion-yt-icon img {
  display: block;
  width: 100%;
  height: auto;
}

.company__promotion--yt .company__promotion-yt-text {
  font-family: var(--oswald, Oswald, sans-serif);
  font-weight: 500;
  font-size: 11.84rem;
  line-height: 1.4815;
  letter-spacing: -0.03em;
}

/* 集・客・戦・略：黒地にグラデーション文字 */
.company__promotion--yt .company__promotion-boxes {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4rem;
}

.company__promotion--yt .company__promotion-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 11.1rem;
  height: 11rem;
  background-color: #171717;
}

.company__promotion--yt .company__promotion-box > span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 10rem;
  line-height: 1;
  letter-spacing: 0;
  background: -webkit-linear-gradient(45deg, #f0d800 0%, #ff9a00 66%);
  background: linear-gradient(225deg, #f0d800 0%, #ff9a00 66%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.company__promotion--yt .company__promotion-fz48 {
  margin-top: 0;
  font-size: 4.8rem;
  line-height: 1.2;
  letter-spacing: 0.06em;
}

/* 説明文 */
/* Figma でも見出し幅より少し広く（1114px / 見出し1063px）1行で入る */
.company__promotion--yt .company__promotion-description {
  margin-top: 3.2rem;
  margin-inline: -3.5rem;
}

.company__promotion--yt .company__promotion-subtitle {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 2.2;
  letter-spacing: 0.03em;
  text-align: center;
}

/* -------------------------------------------------------------
   選ばれる5つの理由（Figma: node 26-4945）
   リストの左に公式アンバサダーの写真＋黒帯を重ねる。
   Figma実測（1920px時）：
     ・項目ブロック  W1064 / 親コンテナ基準 X+191（= ラッパー左端から391）
     ・写真          W458 H451 / 項目ブロック基準 X-434 Y+37
     ・黒帯          W360 H76 / 写真基準 X+24 Y+418（下端に33px重なる）
   ------------------------------------------------------------- */
/* 写真のぶんリストを右へ寄せる（見た目の幅は Figma の項目ブロックに合わせる）。
   .reason__list はエリアLP・業界LPとも共有し、それらも同じ custom.css を読むため、
   アンバサダーを置くこのLPのリストだけにモディファイヤでスコープする。 */
.reason__list--ambassador {
  /* Figma の項目ブロックは 106.4rem だが、04 の本文が 2 行に折り返すため
     1 行に収まる最小幅（109.7rem）まで広げる。ラッパー内には収まる。 */
  max-width: 109.7rem;
  margin-left: 39.1rem;
  margin-right: auto;
}

.reason__ambassador {
  position: absolute;
  top: 3.7rem;
  left: -43.4rem;
  width: 45.8rem;
}

.reason__ambassador-img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: auto;
}

.reason__ambassador-caption {
  position: absolute;
  z-index: 1;
  top: 41.8rem;
  left: 2.4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 36rem;
  height: 7.6rem;
  padding: 0 1.53rem;
  background-color: #1b1b1b;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  /* body の letter-spacing: 0.06em が効くと 1 行に収まらないため解除 */
  letter-spacing: 0;
  line-height: 1.4;
}

/* SP は写真をリストの下に回す */
@media screen and (max-width: 767px) {
  .reason__list--ambassador {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .reason__btn-list {
    margin-top: 3rem;
    gap: 3rem;
  }

  .reason__ambassador {
    position: static;
    width: 30rem;
    margin: 3rem auto 0;
  }

  /* 左下の飾りは白カードに重なって「かっこ」に見える作りだが、SP は写真が
     リスト下端に入り背面が白カードでなくなるため、L字に切り抜いて形を保つ */
  .reason__list--ambassador::before {
    /* リストの gap 1.48rem ＋ 写真ブロック（margin-top 3rem ＋ 写真 29.54rem
       ＋ 帯の出っ張り 1.76rem）＝ 35.78rem ぶん上へ戻し、
       項目リストの左下（05 のカード下端）に掛かるようにする */
    bottom: 35.2rem;
    -webkit-clip-path: polygon(
      0 0,
      0.6rem 0,
      0.6rem calc(100% - 0.6rem),
      100% calc(100% - 0.6rem),
      100% 100%,
      0 100%
    );
    clip-path: polygon(
      0 0,
      0.6rem 0,
      0.6rem calc(100% - 0.6rem),
      100% calc(100% - 0.6rem),
      100% 100%,
      0 100%
    );
  }

  .reason__ambassador-caption {
    position: relative;
    top: auto;
    left: auto;
    width: 78.6%;
    height: auto;
    /* 写真下端への重なり 33/458 */
    margin: -7.2% auto 0;
    padding: 0.7rem 0.8rem;
    font-size: 0.9rem;
    letter-spacing: 0;
  }
}

/* 下部CTA：SP（Figma はPCのみのため既存LPの縮尺に合わせて縦積み） */
@media screen and (max-width: 767px) {
  .company__promotion--yt {
    padding-inline: 0;
    padding-bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 1rem;
  }

  .company__promotion--yt .company__promotion-ambassador-img{
  width: 56%;
  margin-inline: auto;
  }

  .company__promotion--yt .company__promotion-ambassador {
    width: 100%;
    max-width: 28rem;
    margin-inline: auto;
  }

  .company__promotion--yt .company__promotion-ambassador-caption {
    width: 83.5%;
    /* 写真下端への重なり（margin-top）だけ残し、左右は auto で中央寄せ */
    margin: -6.44% auto 0;
    padding: 0.9rem 0.5rem;
    font-size: 1rem;
  }

  .company__promotion--yt .company__promotion-title {
    gap: 0.6rem;
  }

  .company__promotion--yt .company__promotion-badge {
    font-size: 2.4rem;
    padding-inline: 0.3rem;
  }

  .company__promotion--yt .company__promotion-fz52 {
    font-size: 2rem;
    line-height: 1.5;
  }

  .company__promotion--yt .company__promotion-row--yt {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.8rem;
  }

  .company__promotion--yt .company__promotion-yt {
    gap: 0.8rem;
  }

  .company__promotion--yt .company__promotion-yt-icon {
    width: 6rem;
  }

  .company__promotion--yt .company__promotion-yt-text {
    font-size: 3.4rem;
  }

  .company__promotion--yt .company__promotion-boxes {
    gap: 0.2rem;
  }

  .company__promotion--yt .company__promotion-box {
    width: 3.7rem;
    height: 3.7rem;
  }

  .company__promotion--yt .company__promotion-box > span {
    font-size: 3.3rem;
  }

  .company__promotion--yt .company__promotion-fz48 {
    font-size: 2rem;
  }

  .company__promotion--yt .company__promotion-description {
    margin-top: 1rem;
    margin-inline: 0;
  }

  .company__promotion--yt .company__promotion-subtitle {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

/* =============================================================
   固定CTA（フローティングバナー）
   Figma node 3-126 / 260 × 201（1rem = 10px 換算で 26rem × 20.1rem）
   .banner--yt にスコープし、style.css の .banner 系を上書きする。
   ============================================================= */
.banner--yt {
  position: fixed;
  /* reCAPTCHA バッジ（下14px + 高さ60px）と被らないよう、その上に配置 */
  bottom: 90px;
  width: 26rem;
  height: 20.1rem;
  padding: 0;
  background: #fff;
  border: 0.4rem solid #fff;
  border-radius: 0;
  overflow: visible;
  -webkit-box-shadow: none;
  box-shadow: none;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0;
}

/* --- 閉じるボタン（右上のオレンジ丸 24×24） --- */
.banner--yt .banner__close {
  position: absolute;
  top: -1.2rem;
  right: -0.9rem;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #eba139;
  cursor: pointer;
  z-index: 2;
  -webkit-appearance: none;
  appearance: none;
}

.banner--yt .banner__close::before,
.banner--yt .banner__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.1rem;
  height: 0.2rem;
  background: #fff;
  border-radius: 0.1rem;
}

.banner--yt .banner__close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.banner--yt .banner__close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* --- 上部オレンジ帯（256×50） --- */
.banner--yt .banner__head {
  position: relative;
  height: 5rem;
  background: #ffb700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 0.3rem;
}

/* 「今すぐ」白フキダシ（38×16） */
.banner--yt .banner__badge {
  position: absolute;
  top: 0.3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  margin-left: -0.3rem;
  width: 3.8rem;
  height: 1.3rem;
  border-radius: 0.3rem;
  background: #fff;
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3rem;
  text-align: center;
}

.banner--yt .banner__badge::after {
  content: "";
  position: absolute;
  left: 0.6rem;
  bottom: -0.4rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.3rem 0.4rem 0 0;
  border-color: #fff transparent transparent transparent;
}

/* 「SNSのプロに無料相談する」（18px / 216×26） */
.banner--yt .banner__headline {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.45;
  color: #000;
  text-align: center;
  white-space: nowrap;
}

.banner--yt .banner__em {
  display: inline-block;
  height: 2.1rem;
  line-height: 2.1rem;
  background: #1c1c1c;
  color: #fff;
}

/* --- 田村淳 写真（98×134）＋キャプション（110×23） --- */
.banner--yt .banner__figure {
  position: absolute;
  top: 4.4rem;
  left: 1rem;
  width: 10.6rem;
  height: 14.4rem;
  margin: 0;
  overflow: hidden;
}

/* 人物全体が見えるよう、拡大トリミングをやめて自然に収める */
.banner--yt .banner__img {
  display: block;
  width: 100%;
  height: 100%;
  margin-top: 0;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center top;
  object-position: center top;
}

.banner--yt .banner__caption {
  position: absolute;
  left: -0.6rem;
  top: 8.1rem;
  width: 11rem;
  height: 2.3rem;
  background: #1b1b1b;
  color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.banner--yt .banner__caption-sub {
  display: block;
  font-size: 0.5rem;
  font-weight: 700;
  line-height: 1.4;
  /* 代替フォント時に「」が黒帯からはみ出さないように詰める */
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.banner--yt .banner__caption-main {
  display: block;
  font-size: 0.6rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

/* --- 「初回のご相談は 無料です」 --- */
.banner--yt .banner__lead {
  position: absolute;
  top: 6.9rem;
  right: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  color: #000;
}

.banner--yt .banner__lead-top {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  margin-right: 0.7rem;
  padding-bottom: 0.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#f4f3a9), to(#f4f3a9)) 0 100% / 100% 0.5rem no-repeat;
  background: linear-gradient(#f4f3a9, #f4f3a9) 0 100% / 100% 0.5rem no-repeat;
}

.banner--yt .banner__lead-bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}

.banner--yt .banner__lead-free {
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 1;
  color: #0356e5;
}

/* --- 申し込みボタン（247×39 / pill） --- */
.banner--yt .banner__apply {
  position: absolute;
  left: 0.4rem;
  bottom: 0.6rem;
  width: 24.7rem;
  height: 3.9rem;
  border-radius: 999px;
  background: var(--orange-grad);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.46;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .company__main {
    padding-bottom: 3rem;
  }
}

/* =============================================================
   支援実績：Figma（node 26-5013）に合わせて背景は白
   style.css の斜めグラデ帯（archivements-bg.webp）を非表示にする。
   ※PC・タブレット・SP すべての疑似要素をまとめて無効化。
   ============================================================= */
.archivements::before {
  display: none;
}
