.template-rakusta-lp__root .rlp-section.rlp-section--cta {
  background: #FFFFFF;
  @media (min-width: 0px) {
    padding: 0;
  }
  @media (min-width: 768px) {
    padding: 0;
  }
}

.template-rakusta-lp__root .rlp-section.rlp-section--cta > .rlp-responsive__foreground {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.section-rakusta-lp-cta__root {
  margin: 0 auto;
  box-sizing: border-box;
  @media (min-width: 0px) {
    width: 100%;
    padding: 0;
  }
  @media (min-width: 768px) {
    width: 100%;
    padding: 0;
  }
}

.rlp-cta {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  background: #E50051;
  color: #FFFFFF;
  @media (min-width: 0px) {
    padding: calc(40 * var(--as1Px)) calc(16 * var(--as1Px)) calc(130 * var(--as1Px));
  }
  @media (min-width: 768px) {
    padding: calc(120 * var(--as1Px)) calc(32 * var(--as1Px)) calc(140 * var(--as1Px));
  }
}

.rlp-cta__content {
  position: relative;
  z-index: 2;
  text-align: center;
  margin: 0 auto;
  @media (min-width: 0px) {
    max-width: calc(288 * var(--as1Px));
  }
  @media (min-width: 768px) {
    max-width: calc(1060 * var(--as1Px));
  }
}

.rlp-cta__title {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #FFFFFF;
  @media (min-width: 0px) {
    font-size: min(calc(28 * var(--as1Px)), 40px);
    line-height: 140%;
  }
  @media (min-width: 768px) {
    font-size: min(calc(40 * var(--as1Px)), 40px);
    line-height: 150%;
  }
}

.rlp-cta__lead {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  color: #FFFFFF;
  @media (min-width: 0px) {
    margin-top: calc(24 * var(--as1Px));
    gap: calc(2 * var(--as1Px)) calc(4 * var(--as1Px));
    font-size: min(calc(20 * var(--as1Px)), 18px);
    line-height: 145%;
  }
  @media (min-width: 768px) {
    margin-top: calc(16 * var(--as1Px));
    gap: calc(2 * var(--as1Px)) calc(6 * var(--as1Px));
    font-size: min(calc(24 * var(--as1Px)), 24px);
    line-height: 150%;
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}

.rlp-cta__lead strong {
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  color: #FFFFFF;
  white-space: nowrap;
  @media (min-width: 0px) {
    font-size: min(calc(30 * var(--as1Px)), 40px);
    line-height: 120%;
  }
  @media (min-width: 768px) {
    font-size: min(calc(40 * var(--as1Px)), 40px);
    line-height: 120%;
  }
}

.rlp-cta__button {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: none;
  border-radius: calc(8 * var(--as1Px));
  background: #FACC15;
  color: #111827;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 100%;
  transition: filter 0.2s ease;
  @media (min-width: 0px) {
    margin-top: calc(24 * var(--as1Px));
    min-height: calc(48 * var(--as1Px));
    padding: 0 calc(24 * var(--as1Px));
    gap: calc(8 * var(--as1Px));
    font-size: min(calc(16 * var(--as1Px)), 16px);
  }
  @media (min-width: 768px) {
    margin-top: calc(32 * var(--as1Px));
    min-height: calc(56 * var(--as1Px));
    padding: 0 calc(36 * var(--as1Px));
    gap: calc(12 * var(--as1Px));
    font-size: min(calc(16 * var(--as1Px)), 16px);
  }

  &:hover {
    filter: brightness(0.96);
  }
}

.rlp-cta__button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  @media (min-width: 0px) {
    font-size: min(calc(18 * var(--as1Px)), 18px);
  }
  @media (min-width: 768px) {
    font-size: min(calc(20 * var(--as1Px)), 20px);
  }
}

.rlp-cta__note {
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  color: #FFFFFF;
  @media (min-width: 0px) {
    margin-top: calc(16 * var(--as1Px));
    font-size: min(calc(14 * var(--as1Px)), 16px);
    line-height: 150%;
  }
  @media (min-width: 768px) {
    margin-top: calc(20 * var(--as1Px));
    font-size: min(calc(16 * var(--as1Px)), 16px);
    line-height: 150%;
  }
}

.rlp-cta__background {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
  @media (min-width: 0px) {
    width: calc(176 * var(--as1Px));
  }
  @media (min-width: 768px) {
    width: calc(332 * var(--as1Px));
  }
}

.rlp-cta__background img {
  display: block;
  width: 100%;
  height: auto;
}
