/* Figma nodes: PC 328:2817 / 328:2677 / 328:2450, SP 297:6760 / 297:6837 / 297:6870 */

.hero,
.concerns,
.solution {
  width: 100%;
}

.hero {
  height: calc(823 / 14.4 * 1cqw);
  min-height: 0;
  background: #8d8d8d;
}

.hero__art {
  top: calc(-251 / 14.4 * 1cqw);
  right: auto;
  bottom: auto;
  left: calc(-74 / 14.4 * 1cqw);
  width: calc(1549 / 14.4 * 1cqw);
  height: calc(1102 / 14.4 * 1cqw);
  background: url("../assets/hero-background.jpg") center / 100% 100% no-repeat;
  transform: scaleX(-1);
}

.hero::before {
  inset: calc(21 / 14.4 * 1cqw) 0 auto;
  z-index: 1;
  width: 100%;
  height: calc(802 / 14.4 * 1cqw);
  background: linear-gradient(77.914deg, rgba(7, 42, 24, .67) 6.267%, rgba(23, 144, 83, 0) 77.887%);
  opacity: 1;
}

.hero::after {
  display: none;
}

.site-header {
  position: absolute;
  inset: 0 0 auto;
  height: calc(96 / 14.4 * 1cqw);
  padding-left: calc(53 / 14.4 * 1cqw);
  background: #fff;
}

.site-header::before {
  left: calc(327 / 14.4 * 1cqw);
  clip-path: polygon(calc(76 / 14.4 * 1cqw) 0, 100% 0, 100% 100%, 0 100%);
}

.site-header__logo {
  width: calc(254 / 14.4 * 1cqw);
}

.hero__content {
  position: absolute;
  inset: 0;
  width: 100%;
  margin: 0;
}

.hero h1 {
  position: absolute;
  top: calc(235 / 14.4 * 1cqw);
  left: calc(120 / 14.4 * 1cqw);
  z-index: 1;
  width: calc(1050 / 14.4 * 1cqw);
  color: #fff;
  font-size: calc(61 / 14.4 * 1cqw);
  font-weight: 900;
  letter-spacing: .19em;
  line-height: calc(112 / 61);
  text-shadow: none;
}

.hero h1::before,
.hero h1::after {
  position: absolute;
  z-index: -1;
  height: calc(97 / 14.4 * 1cqw);
  background: var(--green);
  clip-path: polygon(0 0, calc(100% - calc(90 / 14.4 * 1cqw)) 0, 100% 100%, 0 100%);
  content: "";
  transform: none;
}

.hero h1::before {
  top: 0;
  left: calc(-291 / 14.4 * 1cqw);
  width: calc(1068 / 14.4 * 1cqw);
}

.hero h1::after {
  top: calc(112 / 14.4 * 1cqw);
  left: calc(-110 / 14.4 * 1cqw);
  width: calc(1067 / 14.4 * 1cqw);
}

.hero h1 > span {
  display: block;
  color: inherit;
  text-shadow: none;
}

.hero h1 .hero__title-line--3 {
  display: inline;
}

.hero h1 > span::after {
  display: none;
}

.hero__content > p {
  position: absolute;
  top: calc(460 / 14.4 * 1cqw);
  left: calc(138 / 14.4 * 1cqw);
  width: calc(903 / 14.4 * 1cqw);
  margin: 0;
  color: #fff;
  font-size: calc(20 / 14.4 * 1cqw);
  font-weight: 800;
  letter-spacing: .05em;
  line-height: 2;
  text-shadow: 0 0 calc(7.3 / 14.4 * 1cqw) rgba(0, 0, 0, .63);
  white-space: nowrap;
}

.hero__buttons {
  position: absolute;
  top: calc(552 / 14.4 * 1cqw);
  left: calc(120 / 14.4 * 1cqw);
  gap: calc(22 / 14.4 * 1cqw);
  margin: 0;
}

.hero__buttons .button {
  width: calc(402 / 14.4 * 1cqw);
  height: calc(96 / 14.4 * 1cqw);
  border-radius: calc(4 / 14.4 * 1cqw);
  box-shadow: none;
}

.hero__buttons .button--phone {
  border: 1px solid var(--orange);
  background: rgba(67, 44, 0, .88);
}

.hero__buttons .button--phone small {
  font-size: calc(14 / 14.4 * 1cqw);
  font-weight: 500;
  letter-spacing: 0;
}

.hero__buttons .button--phone strong {
  margin-top: calc(7 / 14.4 * 1cqw);
  font-size: calc(40 / 14.4 * 1cqw);
  font-family: "DIN 2014", "DIN Alternate", Inter, sans-serif;
  letter-spacing: .06em;
}

.hero__buttons .button--contact {
  width: calc(403 / 14.4 * 1cqw);
  gap: calc(26 / 14.4 * 1cqw);
  background: linear-gradient(#e3ac08, #f57200);
  font-size: calc(24 / 14.4 * 1cqw);
  letter-spacing: .04em;
}

.hero__buttons .button--contact span {
  font-size: 0;
}

.hero__buttons .button--contact span::before {
  display: block;
  width: 0;
  height: 0;
  border-top: calc(10 / 14.4 * 1cqw) solid transparent;
  border-bottom: calc(10 / 14.4 * 1cqw) solid transparent;
  border-left: calc(14 / 14.4 * 1cqw) solid #fff;
  content: "";
}

.hero__benefits {
  grid-template-columns: calc(473 / 14.4 * 1cqw) calc(496 / 14.4 * 1cqw) calc(471 / 14.4 * 1cqw);
  height: calc(81 / 14.4 * 1cqw);
  background: rgba(33, 189, 110, .38);
}

.hero__benefits li {
  border: 1px solid #bbb;
  background: transparent;
}

.hero__benefits li + li {
  border-left: 0;
}

.hero__benefits b {
  display: flex;
  justify-content: center;
  color: #fff;
  font-size: calc(24 / 14.4 * 1cqw);
  letter-spacing: .14em;
}

.hero__benefits b em {
  color: var(--orange);
  font-style: normal;
}

.hero__benefits small {
  margin-top: calc(4 / 14.4 * 1cqw);
  font-size: calc(12 / 14.4 * 1cqw);
  font-weight: 500;
  letter-spacing: .14em;
}

/* Concerns */
.concerns {
  height: calc(917 / 14.4 * 1cqw);
}

.concerns::before,
.concerns::after {
  display: none;
}

.concerns h2 {
  position: absolute;
  top: calc(94 / 14.4 * 1cqw);
  left: calc(119 / 14.4 * 1cqw);
  width: calc(1157 / 14.4 * 1cqw);
  margin: 0;
  font-size: calc(47 / 14.4 * 1cqw);
  font-weight: 900;
  letter-spacing: -.02em;
  line-height: normal;
}

.concerns h2 span {
  margin-left: 0;
  color: var(--ink);
  font-size: calc(42 / 14.4 * 1cqw);
  font-weight: 700;
}

.concerns h2 i {
  display: inline-block;
  color: var(--ink);
  font-family: inherit;
  font-size: calc(42 / 14.4 * 1cqw);
  font-weight: 700;
  transform: rotate(19.72deg);
  transform-origin: center;
}

.concerns__decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.concerns__bubble {
  position: absolute;
  display: block;
}

.concerns__bubble--1 {
  top: calc(106 / 14.4 * 1cqw);
  left: calc(153 / 14.4 * 1cqw);
  width: calc(387.954 / 14.4 * 1cqw);
  height: calc(232 / 14.4 * 1cqw);
}

.concerns__bubble--2 {
  top: calc(154 / 14.4 * 1cqw);
  left: calc(921 / 14.4 * 1cqw);
  width: calc(339.451 / 14.4 * 1cqw);
  height: calc(168.874 / 14.4 * 1cqw);
  transform: rotate(180deg) scaleY(-1);
}

.concerns__bubble--3 {
  top: calc(370 / 14.4 * 1cqw);
  left: calc(39 / 14.4 * 1cqw);
  width: calc(337.433 / 14.4 * 1cqw);
  height: calc(138.718 / 14.4 * 1cqw);
}

.concerns__bubble--4 {
  top: calc(539 / 14.4 * 1cqw);
  left: calc(942 / 14.4 * 1cqw);
  width: calc(377.377 / 14.4 * 1cqw);
  height: calc(122.5 / 14.4 * 1cqw);
  transform: rotate(180deg) scaleY(-1);
}

.concerns::after {
  position: absolute;
  top: auto;
  right: auto;
  bottom: calc(28 / 14.4 * 1cqw);
  left: calc(686 / 14.4 * 1cqw);
  display: block;
  width: 0;
  height: 0;
  border-top: calc(39 / 14.4 * 1cqw) solid var(--green);
  border-right: calc(34.5 / 14.4 * 1cqw) solid transparent;
  border-bottom: 0;
  border-left: calc(34.5 / 14.4 * 1cqw) solid transparent;
  border-radius: 0;
  background: none;
}

/* Solution */
.solution {
  height: calc(1171 / 14.4 * 1cqw);
  min-height: 0;
  padding: 0;
  background: linear-gradient(to bottom, #fff 0, #ddebe4 24.038%, #ddebe4 100%);
}

.solution::before,
.solution::after {
  position: absolute;
  z-index: 0;
  height: calc(41 / 14.4 * 1cqw);
  background: var(--orange);
  content: "";
}

.solution::before {
  top: calc(597 / 14.4 * 1cqw);
  right: 0;
  left: calc(193 / 14.4 * 1cqw);
}

.solution::after {
  top: calc(935 / 14.4 * 1cqw);
  left: 0;
  width: calc(1320 / 14.4 * 1cqw);
}

.section-heading--solution {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.section-heading--solution h2 {
  margin: 0;
  color: var(--green);
}

.section-heading--solution h2 em {
  position: absolute;
  top: calc(90 / 14.4 * 1cqw);
  left: calc(505 / 14.4 * 1cqw);
  display: flex;
  gap: calc(1 / 14.4 * 1cqw);
  margin: 0;
  font-size: calc(66 / 14.4 * 1cqw);
  font-weight: 800;
  line-height: 1;
}

.section-heading--solution h2 em i {
  width: calc(80 / 14.4 * 1cqw);
  height: calc(80 / 14.4 * 1cqw);
  border: 1px solid var(--green);
}

.section-heading--solution h2 b {
  position: absolute;
  top: calc(119 / 14.4 * 1cqw);
  left: calc(839 / 14.4 * 1cqw);
  font-size: calc(32 / 14.4 * 1cqw);
  letter-spacing: .04em;
  line-height: 1.5;
}

.section-heading--solution h2 span {
  position: absolute;
  top: calc(184 / 14.4 * 1cqw);
  left: calc(120 / 14.4 * 1cqw);
  display: block;
  width: calc(1141 / 14.4 * 1cqw);
  margin: 0;
  font-size: calc(32 / 14.4 * 1cqw);
  letter-spacing: .04em;
  line-height: 1.5;
  text-align: center;
}

.section-heading--solution h2 span strong {
  font-size: calc(43 / 14.4 * 1cqw);
  font-weight: 800;
}

.section-heading--solution p {
  position: absolute;
  top: calc(280 / 14.4 * 1cqw);
  left: calc(120 / 14.4 * 1cqw);
  width: calc(1200 / 14.4 * 1cqw);
  margin: 0;
  padding: 0;
  color: #323232;
  font-size: calc(16 / 14.4 * 1cqw);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.5;
  text-align: center;
}

.section-heading--solution p::before,
.section-heading--solution p::after {
  width: calc(22 / 14.4 * 1cqw);
  height: calc(16 / 14.4 * 1cqw);
  border-radius: 0;
  background: none;
}

.section-heading--solution p::before {
  top: 0;
  left: calc(322 / 14.4 * 1cqw);
  border-top: 1px solid #323232;
  border-left: 1px solid #323232;
}

.section-heading--solution p::after {
  right: calc(327 / 14.4 * 1cqw);
  bottom: 0;
  border-right: 1px solid #323232;
  border-bottom: 1px solid #323232;
}

.solution-steps {
  position: absolute;
  top: calc(381 / 14.4 * 1cqw);
  left: calc(193 / 14.4 * 1cqw);
  z-index: 1;
  display: block;
  width: calc(1054 / 14.4 * 1cqw);
  height: calc(641 / 14.4 * 1cqw);
  margin: 0;
}

.solution-steps::before {
  display: none;
}

.solution-steps::after {
  position: absolute;
  top: calc(510 / 14.4 * 1cqw);
  right: auto;
  bottom: auto;
  left: calc(1106 / 14.4 * 1cqw);
  z-index: 0;
  border-top: calc(64 / 14.4 * 1cqw) solid transparent;
  border-right: 0;
  border-bottom: calc(65 / 14.4 * 1cqw) solid transparent;
  border-left: calc(62 / 14.4 * 1cqw) solid var(--orange);
}

.solution-steps li {
  position: absolute;
  width: calc(298 / 14.4 * 1cqw);
  height: calc(305 / 14.4 * 1cqw);
  min-height: 0;
  margin: 0;
  padding: 0;
}

.solution-steps li:nth-child(1) { top: 0; left: 0; }
.solution-steps li:nth-child(2) { top: 0; left: calc(378 / 14.4 * 1cqw); }
.solution-steps li:nth-child(3) { top: 0; left: calc(756 / 14.4 * 1cqw); }
.solution-steps li:nth-child(4) { top: calc(336 / 14.4 * 1cqw); left: calc(189 / 14.4 * 1cqw); margin-left: 0; }
.solution-steps li:nth-child(5) { top: calc(326 / 14.4 * 1cqw); left: calc(567 / 14.4 * 1cqw); margin-left: 0; }

.solution-steps__number {
  top: 0;
  left: 0;
  width: calc(73 / 14.4 * 1cqw);
  height: calc(73 / 14.4 * 1cqw);
  font-size: calc(32 / 14.4 * 1cqw);
  letter-spacing: .04em;
  z-index: 3;
}

.solution-steps__icon {
  z-index: 1;
}

.solution-steps li:nth-child(5) .solution-steps__number {
  top: calc(10 / 14.4 * 1cqw);
}

.solution-steps__icon,
.solution-steps__icon--plan,
.solution-steps__icon--growth,
.solution-steps__icon--truck,
.solution-steps__icon--future {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  transform: none;
}

.solution-steps__icon--value {
  top: calc(38 / 14.4 * 1cqw);
  left: calc(73 / 14.4 * 1cqw);
  width: calc(168 / 14.4 * 1cqw);
  height: calc(140 / 14.4 * 1cqw);
}

.solution-steps__icon--plan {
  top: calc(16 / 14.4 * 1cqw);
  left: calc(41 / 14.4 * 1cqw);
  width: calc(223 / 14.4 * 1cqw);
  height: calc(167 / 14.4 * 1cqw);
}

.solution-steps__icon--growth {
  top: calc(10 / 14.4 * 1cqw);
  left: calc(89 / 14.4 * 1cqw);
  width: calc(165 / 14.4 * 1cqw);
  height: calc(167 / 14.4 * 1cqw);
}

.solution-steps__icon--truck {
  top: calc(49 / 14.4 * 1cqw);
  left: calc(53 / 14.4 * 1cqw);
  width: calc(211 / 14.4 * 1cqw);
  height: calc(158 / 14.4 * 1cqw);
}

.solution-steps__icon--future {
  top: 0;
  left: calc(120 / 14.4 * 1cqw);
  width: calc(79 / 14.4 * 1cqw);
  height: calc(208 / 14.4 * 1cqw);
}

.solution-steps li > div {
  position: absolute;
  top: calc(160 / 14.4 * 1cqw);
  left: 0;
  width: calc(298 / 14.4 * 1cqw);
  height: calc(145 / 14.4 * 1cqw);
  min-height: 0;
  padding: calc(27 / 14.4 * 1cqw) calc(8 / 14.4 * 1cqw) calc(10 / 14.4 * 1cqw);
  border-radius: calc(10 / 14.4 * 1cqw);
  box-shadow: 0 calc(2 / 14.4 * 1cqw) calc(6 / 14.4 * 1cqw) rgba(0, 60, 30, .38);
  z-index: 2;
}

.solution-steps h3 {
  font-size: calc(22 / 14.4 * 1cqw);
  letter-spacing: .04em;
  line-height: normal;
  white-space: nowrap;
}

.solution-steps p {
  margin-top: calc(13 / 14.4 * 1cqw);
  color: var(--green);
  font-size: calc(12 / 14.4 * 1cqw);
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .sp-only {
    display: block;
  }

  .hero {
    height: calc(748 / 3.75 * 1cqw);
    background: #fff;
  }

  .hero__art {
    top: calc(53 / 3.75 * 1cqw);
    left: calc(-720 / 3.75 * 1cqw);
    width: calc(1480 / 3.75 * 1cqw);
    height: calc(797 / 3.75 * 1cqw);
    background-position: center calc(-309 / 3.75 * 1cqw);
    background-size: 100% auto;
  }

  .hero::before {
    top: calc(53 / 3.75 * 1cqw);
    left: calc(-161 / 3.75 * 1cqw);
    width: calc(536 / 3.75 * 1cqw);
    height: calc(797 / 3.75 * 1cqw);
    background: linear-gradient(85.415deg, rgba(7, 42, 24, .67) 6.267%, rgba(23, 144, 83, 0) 77.887%);
  }

  .site-header {
    height: calc(54 / 3.75 * 1cqw);
    padding-left: calc(10 / 3.75 * 1cqw);
  }

  .site-header::before {
    left: calc(91 / 3.75 * 1cqw);
    clip-path: polygon(calc(22 / 3.75 * 1cqw) 0, 100% 0, 100% 100%, 0 100%);
  }

  .site-header__logo {
    width: calc(80 / 3.75 * 1cqw);
  }

  .hero h1 {
    top: calc(108 / 3.75 * 1cqw);
    left: calc(20 / 3.75 * 1cqw);
    width: calc(430 / 3.75 * 1cqw);
    font-size: calc(32 / 3.75 * 1cqw);
    letter-spacing: .02em;
    line-height: calc(60 / 32);
  }

  .hero h1 > span {
    font-size: calc(32 / 3.75 * 1cqw);
    letter-spacing: .19em;
    line-height: calc(48 / 32);
  }

  .hero h1 > .hero__title-line--1 {
    font-size: calc(32 / 3.75 * 1cqw);
    letter-spacing: .02em;
    line-height: calc(60 / 32);
  }

  .hero h1 .hero__title-line--3 {
    display: block;
  }

  .hero h1::before,
  .hero h1::after {
    clip-path: polygon(0 0, calc(100% - calc(45 / 3.75 * 1cqw)) 0, 100% 100%, 0 100%);
  }

  .hero h1::before {
    top: 0;
    left: calc(-126 / 3.75 * 1cqw);
    width: calc(453 / 3.75 * 1cqw);
    height: calc(54 / 3.75 * 1cqw);
  }

  .hero h1::after {
    top: calc(60 / 3.75 * 1cqw);
    left: calc(-21 / 3.75 * 1cqw);
    width: calc(409 / 3.75 * 1cqw);
    height: calc(97 / 3.75 * 1cqw);
  }

  .hero__content > p {
    top: calc(287 / 3.75 * 1cqw);
    left: calc(24 / 3.75 * 1cqw);
    width: calc(384 / 3.75 * 1cqw);
    font-size: calc(17 / 3.75 * 1cqw);
    letter-spacing: .05em;
    line-height: 2;
    white-space: normal;
  }

  .hero__buttons {
    top: calc(424 / 3.75 * 1cqw);
    left: calc(24 / 3.75 * 1cqw);
    flex-direction: column-reverse;
    gap: calc(10 / 3.75 * 1cqw);
  }

  .hero__buttons .button,
  .hero__buttons .button--contact {
    width: calc(211 / 3.75 * 1cqw);
    height: calc(50 / 3.75 * 1cqw);
    margin: 0;
    border-radius: calc(3 / 3.75 * 1cqw);
  }

  .hero__buttons .button--contact {
    gap: calc(13 / 3.75 * 1cqw);
    font-size: calc(13 / 3.75 * 1cqw);
  }

  .hero__buttons .button--contact span::before {
    border-top-width: calc(7 / 3.75 * 1cqw);
    border-bottom-width: calc(7 / 3.75 * 1cqw);
    border-left-width: calc(10 / 3.75 * 1cqw);
  }

  .hero__buttons .button--phone small {
    font-size: calc(9 / 3.75 * 1cqw);
    letter-spacing: 0;
  }

  .hero__buttons .button--phone strong {
    margin-top: calc(2 / 3.75 * 1cqw);
    font-size: calc(24 / 3.75 * 1cqw);
    font-family: "DIN 2014", "DIN Alternate", Inter, sans-serif;
    letter-spacing: 0;
  }

  .hero__benefits {
    top: calc(571 / 3.75 * 1cqw);
    right: auto;
    bottom: auto;
    left: calc(4 / 3.75 * 1cqw);
    grid-template-columns: repeat(3, calc(122 / 3.75 * 1cqw));
    gap: calc(1 / 3.75 * 1cqw);
    width: calc(367 / 3.75 * 1cqw);
    height: calc(122 / 3.75 * 1cqw);
    background: none;
  }

  .hero__benefits li,
  .hero__benefits li + li {
    width: calc(122 / 3.75 * 1cqw);
    height: calc(122 / 3.75 * 1cqw);
    border: 1px solid #bbb;
    border-radius: 50%;
    background: rgba(0, 74, 41, .84);
  }

  .hero__benefits b {
    flex-direction: column;
    font-size: calc(14 / 3.75 * 1cqw);
    letter-spacing: .14em;
    line-height: 1.2;
  }

  .hero__benefits b em {
    font-size: calc(24 / 3.75 * 1cqw);
  }

  .hero__benefits small {
    margin-top: calc(6 / 3.75 * 1cqw);
    font-size: calc(11 / 3.75 * 1cqw);
    letter-spacing: .14em;
  }

  /* Concerns */
  .concerns {
    height: calc(744 / 3.75 * 1cqw);
  }

  .concerns h2 {
    top: calc(44 / 3.75 * 1cqw);
    left: 0;
    width: 100%;
    font-size: calc(40 / 3.75 * 1cqw);
    line-height: 1.15;
  }

  .concerns h2 span {
    display: block;
    margin: 0;
    font-size: calc(36 / 3.75 * 1cqw);
  }

  .concerns h2 i {
    position: absolute;
    top: calc(54 / 3.75 * 1cqw);
    right: calc(28 / 3.75 * 1cqw);
    font-size: calc(36 / 3.75 * 1cqw);
  }

  .concerns__bubble--1 {
    top: calc(63 / 3.75 * 1cqw);
    left: calc(5 / 3.75 * 1cqw);
    width: calc(127.1 / 3.75 * 1cqw);
    height: calc(76 / 3.75 * 1cqw);
  }

  .concerns__bubble--2 {
    top: calc(55 / 3.75 * 1cqw);
    left: calc(250 / 3.75 * 1cqw);
    width: calc(185 / 3.75 * 1cqw);
    height: calc(92 / 3.75 * 1cqw);
  }

  .concerns__bubble--3,
  .concerns__bubble--4 {
    display: none;
  }

  .concerns::after {
    top: auto;
    bottom: calc(15 / 3.75 * 1cqw);
    left: calc(150 / 3.75 * 1cqw);
    border-top-width: calc(40 / 3.75 * 1cqw);
    border-right-width: calc(34.5 / 3.75 * 1cqw);
    border-left-width: calc(34.5 / 3.75 * 1cqw);
  }

  /* Solution */
  .solution {
    height: calc(2306 / 3.75 * 1cqw);
    background: linear-gradient(to bottom, #fff 0, #ddebe4 58.392%, #ddebe4 100%);
  }

  .solution::before {
    top: calc(613 / 3.75 * 1cqw);
    right: auto;
    left: calc(168 / 3.75 * 1cqw);
    width: calc(41 / 3.75 * 1cqw);
    height: calc(1615 / 3.75 * 1cqw);
  }

  .solution::after {
    /* Figma's rotated polygon overlaps the stem by 22px and leaves 21px
       of the solution background below the arrow tip. */
    top: calc(2206 / 3.75 * 1cqw);
    left: calc(113 / 3.75 * 1cqw);
    width: 0;
    height: 0;
    border-top: 0;
    border-right: calc(75.5 / 3.75 * 1cqw) solid transparent;
    border-bottom: calc(79 / 3.75 * 1cqw) solid var(--orange);
    border-left: calc(75.5 / 3.75 * 1cqw) solid transparent;
    background: none;
    transform: rotate(180deg);
  }

  .section-heading--solution h2 em {
    top: calc(29 / 3.75 * 1cqw);
    left: calc(33 / 3.75 * 1cqw);
    gap: calc(.5 / 3.75 * 1cqw);
    font-size: calc(45 / 3.75 * 1cqw);
  }

  .section-heading--solution h2 em i {
    width: calc(55 / 3.75 * 1cqw);
    height: calc(55 / 3.75 * 1cqw);
  }

  .section-heading--solution h2 b {
    top: calc(45 / 3.75 * 1cqw);
    left: calc(255 / 3.75 * 1cqw);
    font-size: calc(24 / 3.75 * 1cqw);
  }

  .section-heading--solution h2 span {
    top: calc(85 / 3.75 * 1cqw);
    left: 0;
    width: 100%;
    font-size: calc(24 / 3.75 * 1cqw);
    line-height: 1.5;
  }

  .section-heading--solution h2 span strong {
    display: block;
    font-size: calc(33 / 3.75 * 1cqw);
  }

  .section-heading--solution p {
    top: calc(190 / 3.75 * 1cqw);
    left: 0;
    width: 100%;
    padding: calc(8 / 3.75 * 1cqw) 0;
    font-size: calc(16 / 3.75 * 1cqw);
    line-height: 1.5;
  }

  .section-heading--solution p::before,
  .section-heading--solution p::after {
    width: calc(87 / 3.75 * 1cqw);
    height: calc(16 / 3.75 * 1cqw);
  }

  .section-heading--solution p::before {
    top: 0;
    left: calc(20 / 3.75 * 1cqw);
  }

  .section-heading--solution p::after {
    right: calc(20 / 3.75 * 1cqw);
    bottom: 0;
  }

  .solution-steps {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .solution-steps::after {
    display: none;
  }

  .solution-steps li {
    left: calc(39 / 3.75 * 1cqw);
    width: calc(298 / 3.75 * 1cqw);
    height: calc(305 / 3.75 * 1cqw);
  }

  .solution-steps li:nth-child(1) { top: calc(358 / 3.75 * 1cqw); left: calc(39 / 3.75 * 1cqw); }
  .solution-steps li:nth-child(2) { top: calc(733 / 3.75 * 1cqw); left: calc(39 / 3.75 * 1cqw); }
  .solution-steps li:nth-child(3) { top: calc(1108 / 3.75 * 1cqw); left: calc(39 / 3.75 * 1cqw); }
  .solution-steps li:nth-child(4) { top: calc(1483 / 3.75 * 1cqw); left: calc(39 / 3.75 * 1cqw); }
  .solution-steps li:nth-child(5) { top: calc(1858 / 3.75 * 1cqw); left: calc(39 / 3.75 * 1cqw); }

  .solution-steps__number {
    width: calc(73 / 3.75 * 1cqw);
    height: calc(73 / 3.75 * 1cqw);
    font-size: calc(32 / 3.75 * 1cqw);
  }

  .solution-steps li:nth-child(5) .solution-steps__number {
    top: calc(10 / 3.75 * 1cqw);
  }

  .solution-steps__icon--value {
    top: calc(38 / 3.75 * 1cqw);
    left: calc(73 / 3.75 * 1cqw);
    width: calc(168 / 3.75 * 1cqw);
    height: calc(140 / 3.75 * 1cqw);
  }

  .solution-steps__icon--plan {
    top: calc(16 / 3.75 * 1cqw);
    left: calc(41 / 3.75 * 1cqw);
    width: calc(223 / 3.75 * 1cqw);
    height: calc(167 / 3.75 * 1cqw);
  }

  .solution-steps__icon--growth {
    top: calc(10 / 3.75 * 1cqw);
    left: calc(89 / 3.75 * 1cqw);
    width: calc(165 / 3.75 * 1cqw);
    height: calc(167 / 3.75 * 1cqw);
  }

  .solution-steps__icon--truck {
    top: calc(49 / 3.75 * 1cqw);
    left: calc(53 / 3.75 * 1cqw);
    width: calc(211 / 3.75 * 1cqw);
    height: calc(158 / 3.75 * 1cqw);
  }

  .solution-steps__icon--future {
    top: 0;
    left: calc(120 / 3.75 * 1cqw);
    width: calc(79 / 3.75 * 1cqw);
    height: calc(208 / 3.75 * 1cqw);
  }

  .solution-steps li > div {
    top: calc(160 / 3.75 * 1cqw);
    width: calc(298 / 3.75 * 1cqw);
    height: calc(145 / 3.75 * 1cqw);
    padding: calc(27 / 3.75 * 1cqw) calc(8 / 3.75 * 1cqw) calc(10 / 3.75 * 1cqw);
    border-radius: calc(10 / 3.75 * 1cqw);
  }

  .solution-steps h3 {
    font-size: calc(22 / 3.75 * 1cqw);
  }

  .solution-steps p {
    margin-top: calc(13 / 3.75 * 1cqw);
    font-size: calc(12 / 3.75 * 1cqw);
  }
}

/* SP: 漫画は縦並び表示（スライダー無効） */
@media (max-width: 767px) {
  .concerns {
    height: auto;
    padding-bottom: calc(80 / 3.75 * 1cqw);
  }

  .comic-carousel {
    position: relative;
    top: auto;
    left: auto;
    width: calc(315 / 3.75 * 1cqw);
    height: auto;
    margin: calc(166 / 3.75 * 1cqw) auto 0;
  }

  .comic-carousel__viewport {
    overflow: visible;
  }

  .comic-carousel__track {
    flex-direction: column;
    transform: none !important;
  }

  .comic-carousel__track li {
    flex: 0 0 auto;
  }

  .comic-carousel__track li::after {
    display: none;
  }

  .comic-carousel__button,
  .comic-dots {
    display: none;
  }
}
