.features .row {
  --row-space: 2.5rem;
}
@media screen and (max-width: 767px) {
  .features .row {
    gap: 3.4rem;
    --row-space: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .features .row .col {
    width: 33.3333333333%;
  }
}
.features .row .col {
  position: relative;
}
.features .row .col:not(:last-child):after {
  content: "";
  position: absolute;
  aspect-ratio: 26/48;
  background: url(../images/factoring/arrow.svg) left center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .features .row .col:not(:last-child):after {
    width: 1.6rem;
    left: 50%;
    bottom: 0;
    transform: translateY(100%) translateX(-50%) rotate(90deg);
  }
}
@media screen and (min-width: 768px) {
  .features .row .col:not(:last-child):after {
    width: 2.6rem;
    right: -1.4rem;
    top: 50%;
    transform: translateY(-50%);
  }
}
.features .row .item {
  height: 100%;
  padding: 2.4rem 1.6rem;
  background-color: #ffffff;
  border-radius: 2.4rem;
  position: relative;
}
.features .row .item::before {
  content: "";
  display: block;
  background: var(--icon) center/contain no-repeat;
  aspect-ratio: 112/110;
  margin-bottom: 3.6rem;
  position: absolute;
  right: 2.4rem;
  top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .features .row .item::before {
    height: 8rem;
  }
}
@media screen and (min-width: 768px) {
  .features .row .item::before {
    height: 10rem;
  }
}
.features .row .item .step {
  display: inline-block;
  background-color: var(--color-primary);
  color: #fff;
  font-weight: bold;
  font-size: 1.6rem;
  padding: 0.4rem 1.6rem 0.6rem;
  border-radius: 0.8rem;
  line-height: 1;
}
.features .row .item .step b {
  font-size: 2.4rem;
}
.features .row .item .stt {
  font-weight: bold;
  color: #091524;
  font-size: 2rem;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .features .row .item .stt {
    margin-top: 8.5rem;
    margin-bottom: 2rem;
  }
}