: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コンテナ
   ============================================ */
.cta-container {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  gap: 16px;
}

@media screen and (max-width: 767px) {
  .cta-container {
    left: 0;
    bottom: 0;
    transform: none;
    width: 100%;
    gap: 0;
  }
}

/* ============================================
   CTAボタン共通スタイル
   ============================================ */
.cta-request-documents,
.cta-trial-lesson {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--cta-border-radius-pc);
  width: 256px;
  height: var(--cta-height);
  gap: var(--cta-gap);
  color: #fff;
  font-family: var(--cta-font-family);
  font-size: var(--cta-font-size-pc);
  font-style: normal;
  font-weight: 700;
  line-height: var(--cta-line-height);
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .cta-request-documents,
  .cta-trial-lesson {
    flex: 1 0 0;
    border-radius: var(--cta-border-radius-sp);
    width: 100%;
    font-size: var(--cta-font-size-sp);
  }
}
/* ============================================
   CTAボタンの背景色
   ============================================ */
.cta-request-documents {
  background: linear-gradient(0deg, #907100 0%, #b79000 100%);
}

.cta-trial-lesson {
  background: linear-gradient(90deg, #2cc0d1 0%, #4171e1 100%);
}

/* ============================================
   アイコン
   ============================================ */
.icon-cta {
  width: 25px;
  height: 25px;
}

@media screen and (max-width: 767px) {
  .icon-cta {
    width: 23px;
    height: 23px;
  }
}

/* ============================================
   ホバー時のアニメーション無効化
   ============================================ */
.cta-request-documents:hover,
.cta-trial-lesson:hover {
  opacity: 1;
}

/* ============================================
   追従CTAボタン
   ============================================ */
.sticky-cta-container {
  position: sticky;
  display: flex;
  justify-content: center;
  bottom: 0;
  background: #fffce3;
  padding: 16px 0;
  z-index: 3;
}

.cta-sticky {
  width: 400px;
}

@media screen and (max-width: 767px) {
  .sticky-cta-container {
    padding: 0;
    height: var(--cta-height);
  }

  .cta-sticky {
    width: 100%;
  }
}

/* ============================================
   料金ダウンロード
   ============================================ */
.cta-price-list-container {
  background: #fffce3;
  gap: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 48px 0;
  padding: 16px;
}

.cta-price-list-text {
  color: #181d27;
  text-align: center;
  font-family: "Rounded Mplus 1c";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 125%;
  letter-spacing: 0.5px;
}

.cta-price-list {
  background: linear-gradient(0deg, #907100 0%, #b79000 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--cta-border-radius-pc);
  width: 400px;
  height: var(--cta-height);
  gap: var(--cta-gap);
  color: #fff;
  font-family: var(--cta-font-family);
  font-size: var(--cta-font-size-pc);
  font-style: normal;
  font-weight: 700;
  line-height: var(--cta-line-height);
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .cta-price-list {
    font-size: var(--cta-font-size-sp);
    width: 100%;
  }
}
