@charset "UTF-8";

/* =========================================
   CTA (コンバージョンエリア)
   ========================================= */
.cta {
  /* セクション専用のカラー変数 */
  --color-cta-grad-start: #282bb0;
  --color-cta-grad-end: #6d47ed;

  /* 中央コンテンツを少し上にずらすため上部paddingを減らし、下部を増やす */
  padding: 8rem 0 22rem; 
  background-image: url('../images/cta_bg.jpg');
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  text-align: center;
}

.cta__inner {
  padding: 0 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cta__title {
  color: var(--color-base-dark); /* 共通変数を使用 */
  font-size: 5.5rem; 
  font-weight: 700;
  line-height: 1.25; /* 行間を少しだけ狭める */
  margin-bottom: 3.5rem;
}

/* CTAエリア専用テキストグラデーション */
.cta__title-gradient {
  display: inline-block;
  background: linear-gradient(to right, var(--color-cta-grad-start), var(--color-cta-grad-end));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 6.0rem; 
}

.cta__lead {
  color: var(--color-base-dark); /* 共通変数を使用 */
  font-size: 2.4rem; 
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: 3.5rem; /* ボタンの位置をほんの少し上にずらすため下余白を減らす */
}

/* ボタン横並び（Flexbox） */
.cta__actions {
  display: flex;
  justify-content: center;
  gap: 2.4rem;
  width: 100%;
}

/* =========================================
   Responsive Settings (1024px以下)
   ========================================= */
@media (max-width: 1024px) {
  .cta {
    /* SP・タブレット用の背景画像へ切り替え */
    background-image: url('../images/cta_bg_sp.jpg');
    background-position: center top;
    /* 画面幅に合わせてスケーリングしつつ、上にずらす比率を維持 */
    padding: clamp(4rem, 8vw, 8rem) 0 clamp(16rem, 24vw, 22rem);
  }

  .cta__title {
    font-size: clamp(2.4rem, 6.5vw, 4.2rem);
    line-height: 1.25; /* 行間を少しだけ狭める */
    margin-bottom: clamp(2.4rem, 4vw, 3.5rem);
  }

  .cta__title-gradient {
    font-size: clamp(2.6rem, 7vw, 4.6rem);
  }

  .cta__lead {
    font-size: clamp(1.5rem, 4vw, 2.0rem);
    margin-bottom: clamp(2.5rem, 4vw, 3.5rem); /* ボタンの位置を上にずらす */
  }

  /* ボタンレイアウトを縦積みに変更 */
  .cta__actions {
    flex-direction: column;
    align-items: center;
    gap: clamp(1.6rem, 3vw, 2.4rem);
  }
}