@media (max-width: 767px) {
  .benefits-top-section {
    min-height: 54rem !important;
    height: 54rem !important;
  }
  .benefits-top-section .js-section__pin {
    top: 0 !important;
  }
}

.benefits-box {
  border-radius: var(--radius);
  background: linear-gradient(to right, #eeeff1 0%, #a4bff6 100%);
  margin-bottom: 10rem;
  padding: 5rem 7rem;
}
@media print, screen and (min-width: 768px) {
  .benefits-box {
    min-height: 17rem;
  }
}
@media (max-width: 767px) {
  .benefits-box {
    padding: 1.5rem 1.5rem;
    margin-bottom: 7rem;
  }
  .benefits-box--2 {
    padding: 2.5rem 1.5rem;
  }
}
.benefits-box__head {
  color: var(--accent1);
}
@media print, screen and (min-width: 768px) {
  .benefits-box__head {
    display: flex;
    align-items: end;
  }
}
.benefits-box__title {
  font-size: 4.8rem;
}
@media (max-width: 767px) {
  .benefits-box__title {
    font-size: 2.8rem;
  }
}
.benefits-box__subtitle {
  font-weight: bold;
  font-size: 3.2rem;
}
@media (max-width: 767px) {
  .benefits-box__subtitle {
    margin-top: 0.5rem;
    font-size: 1.4rem;
  }
}

.benefits-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.6rem;
  counter-reset: bnno;
}
@media (max-width: 767px) {
  .benefits-items {
    grid-template-columns: 1fr;
    gap: 6.3rem;
  }
  .benefits-items--no-step {
    gap: 1.5rem;
  }
}

.benefits-item {
  background-color: #fff;
  border-radius: var(--radius);
  padding: 7.5rem 1rem 3.5rem 2.5rem;
  position: relative;
  counter-increment: bnno;
}
@media (max-width: 767px) {
  .benefits-item {
    padding: 6.3rem 2.2rem 3.3rem;
  }
}
.benefits-item::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%2226%22%20viewBox%3D%220%200%2013%2026%22%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_4%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%204%22%20d%3D%22M13%2C0%2C26%2C13H0Z%22%20transform%3D%22translate(13)%20rotate(90)%22%20fill%3D%22%23a4bff6%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  height: 2.6rem;
  width: 1.3rem;
  position: absolute;
  inset: 0 0 0 auto;
  margin: auto;
  transform: translate(calc(100% + 1.2rem), 0);
}
@media (max-width: 767px) {
  .benefits-item::after {
    display: none;
  }
}
@media (max-width: 767px) {
  .benefits-item.no-step {
    padding-top: 3rem;
  }
}
.benefits-item.no-step::after {
  display: none;
}
.benefits-item:last-child::after {
  display: none;
}
.benefits-item__no {
  position: absolute;
  inset: -5rem auto auto 0;
  width: 10rem;
  height: 10rem;
  border-radius: 100%;
  background-color: var(--accent1);
  color: #fff;
  text-align: center;
  font-family: var(--font-en);
  text-align: center;
  font-weight: bold;
  padding: 2.7rem 0 0;
}
@media (max-width: 767px) {
  .benefits-item__no {
    width: 8.7rem;
    height: 8.7rem;
    border-radius: 100%;
    padding: 2rem 0 0;
    font-size: 1.4rem;
  }
}
.benefits-item__no::after {
  content: "0" counter(bnno);
  display: block;
  text-align: center;
  font-size: 3.2rem;
  line-height: 1;
  margin-top: -0.2rem;
}
@media (max-width: 767px) {
  .benefits-item__no::after {
    font-size: 2.8rem;
  }
}
.benefits-item__title {
  margin-bottom: 2rem;
  font-weight: bold;
  font-size: 2.8rem;
  color: var(--accent1);
}
@media (max-width: 767px) {
  .benefits-item__title {
    font-size: 2.4rem;
  }
}
.benefits-item__title span {
  font-size: 2rem;
}
@media (max-width: 767px) {
  .benefits-item p {
    font-size: 1.2rem;
  }
}

.benefits-columns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.5rem;
}
@media (max-width: 767px) {
  .benefits-columns {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.benefits-column {
  background-color: #fff;
  border-radius: 2rem;
  padding: 3.5rem;
}
@media (max-width: 767px) {
  .benefits-column {
    padding: 1.5rem;
    border-radius: var(--radius);
  }
}
.benefits-column__title {
  color: var(--accent1);
  font-weight: bold;
  font-size: 2.8rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 767px) {
  .benefits-column__title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
}
