/* ============================================
   CTA共通スタイル
   ============================================ */

:root {
  --cta-font-family: "Rounded Mplus 1c Bold";
  --cta-font-size-pc: 18px;
  --cta-font-size-sp: 16px;
  --cta-line-height: 140%;
  --cta-height: 64px;
  --cta-gap: 8px;
  --cta-border-radius-pc: 100px;
  --cta-border-radius-sp: 0px;
  --cta-width-pc: 236px;
  --cta-width-sp: 100%;
}

/* ============================================
     CTAコンテナ
     ============================================ */
.cta-container {
  background: #fffce3;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 16px;
  padding: 24px 0 0 0;
}

@media screen and (max-width: 800px) {
  .cta-container {
    padding: 0;
    width: 100%;
    gap: 0;
  }
}

/* ============================================
     CTAボタン共通スタイル
     ============================================ */
.cta-request-documents,
.cta-trial-lesson {
  /* 共通スタイル */
  border-radius: var(--cta-border-radius-pc);
  width: var(--cta-width-pc);
  height: var(--cta-height);
  color: #fff;
  font-size: var(--cta-font-size-pc);
  font-style: normal;
  line-height: var(--cta-line-height);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--cta-gap);
  opacity: 1;
}

@media screen and (max-width: 800px) {
  .cta-request-documents,
  .cta-trial-lesson {
    border-radius: var(--cta-border-radius-sp);
    width: var(--cta-width-sp);
    font-size: var(--cta-font-size-sp);
    flex: 1 0 0;
  }
}

/* ============================================
     CTAボタンの背景色・テキストカラー・ボーダー
     ============================================ */
.cta-request-documents {
  background: linear-gradient(0deg, #d0699e 0%, #f197c6 100%);
  color: #fff;
  font-family: var(--cta-font-family);
  font-weight: 700;
}

.cta-trial-lesson {
  background: #ffdd81;
  border: 1px solid #403d25;
  color: #000;
  font-family: "Noto Sans JP";
  font-weight: 400;
}

@media screen and (max-width: 800px) {
  .cta-trial-lesson {
    border: none;
  }
}

/* ============================================
     Heroセクションの余白の上書き
     ============================================ */
@media screen and (min-width: 801px) {
  .hero__cta {
    margin: 0 auto 0;
    padding: 16px 0 24px 0;
  }
}

.hero__txt {
  margin-bottom: 0;
}

/* ============================================
     アイコン
     ============================================ */
.icon-cta {
  width: 25px;
  height: 25px;
}

@media screen and (max-width: 800px) {
  .icon-cta {
    width: 23px;
    height: 23px;
  }
}

/* ============================================
     ホバー時のアニメーション無効化
     ============================================ */
.cta-request-documents:hover,
.cta-trial-lesson:hover {
  opacity: 1;
}

/* ============================================
     追従CTAボタン
     ============================================ */
.sticky-cta-container {
  position: sticky;
  height: 96px;
  bottom: -1px;
  background: #fffce3;
  padding: 16px 0;
  z-index: 3;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 800px) {
  .sticky-cta-container {
    padding: 0;
    height: var(--cta-height);
  }
}

.sticky-cta-button {
  width: 400px;
}

@media screen and (max-width: 800px) {
  .sticky-cta-button {
    width: 100%;
  }
}

/* ============================================
     料金表ダウンロードボタン
     ============================================ */
.cta-price-list {
  border-radius: 100px;
  width: 360px;
  height: var(--cta-height);
  color: #fff;
  font-size: var(--cta-font-size-pc);
  font-style: normal;
  line-height: var(--cta-line-height);
  display: flex;
  justify-content: center;
  align-items: center;

  gap: var(--cta-gap);
  opacity: 1;
  background: linear-gradient(0deg, #d0699e 0%, #f197c6 100%);
  color: #fff;
  font-family: var(--cta-font-family);
  font-weight: 700;
  margin: 24px auto 0 auto;
}

@media screen and (max-width: 768px) {
  .cta-price-list {
    width: var(--cta-width-sp);
    font-size: var(--cta-font-size-sp);
    flex: 1 0 0;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .cta-price-list {
    width: 280px;
  }
}
