@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400&display=swap");

.lp-page {
  --lp-blue: #006dca;
  --lp-navy: #080f6d;

  width: 100%;
  max-width: none;
  padding: 0;

  .lp-sp-break,
  .lp-sp-flex-break {
    display: none;
  }

  .lp-section-inner {
    width: min(calc(100% - 48px), 1100px);
    margin-inline: auto;
    padding-inline: 0;
    box-sizing: border-box;
  }

  .lp-line-copy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    &::before,
    &::after {
      flex: 0 0 15px;
      width: 15px;
      height: 21px;
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      content: "";
    }

    &::before {
      background-image: url("img/l-line-l.png");
    }

    &::after {
      background-image: url("img/l-line-r.png");
    }
  }

  .lp-eyecatch .lp-line-copy::before,
  .lp-eyecatch .lp-line-copy::after {
    filter: brightness(0);
    opacity: 0.8;
  }

  .lp-eyecatch__button span,
  .lp-guide-cta__button span,
  .lp-closing-cta__button span[aria-hidden="true"],
  .lp-cta__button span[aria-hidden="true"] {
    position: relative;
    z-index: 0;
    isolation: isolate;
    line-height: 1;

    &::before {
      position: absolute;
      z-index: -1;
      top: 40%;
      left: 50%;
      content: "\25cf";
      font-size: 12px;
      line-height: 1;
      pointer-events: none;
      transform: translate(-50%, -50%);
    }
  }

  .lp-eyecatch__button--primary span::before,
  .lp-guide-cta__button--primary span::before,
  .lp-closing-cta__button--primary span[aria-hidden="true"]::before,
  .lp-cta__button--primary span[aria-hidden="true"]::before {
    color: #ffffff40;
  }

  .lp-eyecatch__button--secondary span::before,
  .lp-guide-cta__button--secondary span::before,
  .lp-closing-cta__button--secondary span[aria-hidden="true"]::before,
  .lp-cta__button--secondary span[aria-hidden="true"]::before {
    color: #fed36c;
  }

  .lp-eyecatch {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    background: #eefaff url("img/e-back.webp") center / cover no-repeat;
    overflow: hidden;

    .lp-eyecatch__inner {
      display: grid;
      grid-template-columns: minmax(0, 650px) minmax(480px, 1fr);
      align-items: center;
      gap: 0;
      width: min(calc(100% - 48px), 1200px);
      min-height: clamp(680px, 63vw, 900px);
      margin-inline: auto;
      box-sizing: border-box;
    }

    .lp-eyecatch__content {
      position: relative;
      z-index: 4;
      padding-block: 54px;
    }

    .lp-eyecatch__eyebrow {
      margin: 0 0 22px;
      color: var(--lp-navy);
      font-size: clamp(18px, 2.222vw, 32px);
      font-weight: 700;
      line-height: 1.4;
    }

    .lp-eyecatch__title {
      width: fit-content;
      margin: 0 0 28px;
      color: var(--lp-navy);
      background: linear-gradient(90deg, #080f6d 0%, #006dca 54%, #009fc3 100%);
      background-clip: text;
      font-size: clamp(34px, 3.611vw, 52px);
      font-weight: 800;
      line-height: 1.35;
      letter-spacing: 0.015em;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;

      span {
        display: block;
        white-space: nowrap;
      }
    }

    .lp-eyecatch__points {
      display: grid;
      gap: 18px;
      margin: 0 0 28px;
      padding: 0;
      color: #333;
      font-size: clamp(13px, 1.25vw, 18px);
      font-weight: 700;
      line-height: 1.65;
      list-style: none;

      li {
        position: relative;
        padding-left: 28px;
        white-space: nowrap;

        &::before {
          position: absolute;
          top: 0.3em;
          left: 0;
          width: 18px;
          height: 18px;
          background: url("img/check.png") center / contain no-repeat;
          content: "";
        }
      }

      strong {
        color: var(--lp-blue);
        font-weight: 800;
      }
    }

    .lp-eyecatch__actions {
      display: grid;
      grid-template-columns: minmax(0, 332px) 200px;
      align-items: end;
      gap: 20px;
    }

    .lp-eyecatch__primary-group {
      width: 100%;

      p {
        margin: 0 0 10px;
        color: #333;
        font-size: 14px;
        text-align: center;
        font-weight: 700;
      }
    }

    .lp-eyecatch__button {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      height: 64px;
      padding: 10px 20px;
      border: 2px solid #ff6818;
      border-radius: 999px;
      box-sizing: border-box;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
      transition:
        opacity 0.2s ease,
        transform 0.2s ease;

      &:hover,
      &:focus-visible {
        opacity: 0.86;
        transform: translateY(-2px);
      }

      span {
        font-size: 8px;
      }
    }

    .lp-eyecatch__button--primary {
      width: 100%;
      color: #fff;
      background: linear-gradient(90deg, #ff4d0d 0%, #ffa620 100%);
    }

    .lp-eyecatch__button--secondary {
      width: 200px;
      justify-content: space-between;
      color: #ff7020;
      background: #fff;
    }

    .lp-eyecatch__visual {
      position: relative;
      z-index: 1;
      width: min(52vw, 680px);
      margin: 30px clamp(-80px, -5.556vw, -48px) 0 clamp(-5px, -0.347vw, 0px);

      img {
        display: block;
        width: 100%;
        height: auto;
        image-rendering: -webkit-optimize-contrast;
      }
    }

    @media (max-width: 1200px) {
      .lp-eyecatch__inner {
        grid-template-columns: minmax(0, 1fr) minmax(400px, 0.8fr);
        min-height: clamp(620px, 65vw, 715px);
      }

      .lp-eyecatch__title {
        font-size: clamp(34px, 4.4vw, 46px);
      }

      .lp-eyecatch__points {
        font-size: clamp(12px, 1.35vw, 15px);

        li {
          white-space: normal;
        }
      }

      .lp-eyecatch__actions {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 0.68fr);
      }

      .lp-eyecatch__button--secondary {
        width: 100%;
      }

      .lp-eyecatch__visual {
        width: min(60vw, 650px);
        margin-top: 35px;
      }
    }

    @media (min-width: 768px) and (max-width: 1024px) {
      .lp-eyecatch__inner {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
        column-gap: 20px;
      }

      .lp-eyecatch__title {
        font-size: clamp(28px, 3.4vw, 35px);
      }

      .lp-eyecatch__visual {
        width: 100%;
        margin: 0;
      }

      .lp-eyecatch__actions {
        grid-template-columns: minmax(0, 332px);
        gap: 12px;
      }

      .lp-eyecatch__button--secondary {
        width: 100%;
      }
    }

    @media (max-width: 767px) {
      background: #eefaff url("img/fv-sp.webp") center top / cover no-repeat;

      .lp-eyecatch__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        width: min(calc(100% - 20px), 560px);
        padding-top: 34px;
      }

      .lp-eyecatch__content {
        display: contents;
        padding-block: 0;
      }

      .lp-eyecatch__eyebrow {
        position: relative;
        z-index: 4;
        order: 1;
        margin-bottom: 14px;
        font-size: 16px;
      }

      .lp-eyecatch__title {
        position: relative;
        z-index: 4;
        order: 2;
        margin-bottom: 22px;
        font-size: clamp(28px, 8.4vw, 38px);

        span {
          white-space: normal;
        }
      }

      .lp-eyecatch__points {
        position: relative;
        z-index: 4;
        order: 3;
        gap: 12px;
        font-size: 12px;
      }

      .lp-eyecatch__actions {
        position: relative;
        z-index: 4;
        order: 5;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: -54px;
      }

      .lp-eyecatch__button,
      .lp-eyecatch__button--secondary {
        position: relative;
        width: 100%;
        height: 56px;
        padding-inline: 40px;
        justify-content: center;

        span {
          position: absolute;
          top: 50%;
          right: 18px;
          transform: translateY(-50%);

          &::before {
            top: 50%;
          }
        }
      }

      .lp-eyecatch__visual {
        order: 4;
        display: block;
        justify-self: center;
        width: 100vw;
        max-width: none;
        margin: -6px 0 -8px;
      }
    }
  }

  .lp-lead {
    padding: 0px 24px 0px;
    .lp-lead__inner {
      width: min(100%, 1100px);
      margin-inline: auto;
    }

    .lp-lead__title {
      margin: 0 0 36px;
      color: var(--lp-navy);
      font-size: clamp(24px, 3vw, 38px);
      font-weight: 700;
      line-height: 1.35;
      text-align: center;
      letter-spacing: 0.02em;

      .lp-lead__title-top,
      .lp-lead__title-main {
        display: block;
      }

      .lp-lead__title-top {
        margin-bottom: 6px;
        font-size: clamp(17px, 1.667vw, 24px);
      }

      strong {
        display: inline-block;
        margin-right: 0.18em;
        padding: 0.12em 0.24em 0.16em;
        color: #fff;
        background: linear-gradient(
          105deg,
          #171878 0%,
          #075b9f 56%,
          #00aec3 100%
        );
        font-weight: 800;
        line-height: 1.1;
      }
    }

    .lp-lead__body {
      display: grid;
      grid-template-columns: minmax(0, 1.33fr) minmax(300px, 1fr);
      align-items: center;
      gap: clamp(16px, 6vw, 24px);
    }

    .lp-lead__catch {
      margin: 0 0 28px;
      color: var(--lp-blue);
      font-size: clamp(17px, 1.8vw, 24px);
      font-weight: 700;
      line-height: 1.9;
    }

    .lp-lead__text {
      color: #333;
      font-size: 16px;
      line-height: 2;

      p {
        margin: 0 0 17px;

        &:last-child {
          margin-bottom: 0;
        }
      }
    }

    .lp-lead__visual {
      margin: 0;

      img {
        display: block;
        width: 100%;
        height: auto;
        image-rendering: -webkit-optimize-contrast;
      }
    }
  }

  .lp-text-marquee {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    overflow: hidden;
    background: #fff;

    .lp-text-marquee__track {
      display: flex;
      align-items: center;
      width: max-content;
      height: clamp(90px, 10.28vw, 148px);
      animation: lp-text-scroll 18s linear infinite;
      will-change: transform;

      img {
        display: block;
        flex: 0 0 auto;
        width: auto;
        height: 100%;
        margin-right: clamp(28px, 3vw, 48px);
        object-fit: contain;
        object-position: center;
      }
    }

    &.lp-text-marquee--movie {
      position: relative;
      padding: clamp(36px, 5vw, 64px) 24px clamp(48px, 6vw, 76px);
      background: #fff;

      .lp-text-marquee__track {
        position: absolute;
        z-index: 0;
        top: auto;
        bottom: calc(
          clamp(48px, 6vw, 76px) + min(calc(28.125vw - 13.5px), 140.625px) -
            70px
        );
        left: 0;
        height: 140px;
        opacity: 0.72;
        animation-name: lp-text-scroll-movie;

        img {
          flex: 0 0 auto;
          width: auto;
          height: 100%;
        }
      }
    }
  }

  .lp-movie {
    position: relative;
    z-index: 1;
    padding: 0;
    text-align: center;

    .lp-movie__title {
      margin: 0 0 18px;
      color: var(--lp-navy);
      font-size: 18px;
      font-weight: 700;
      line-height: 1.5;

      &::before {
        background-image: url("img/r-b-line.png");
      }

      &::after {
        background-image: url("img/l-b-line.png");
      }
    }

    .lp-movie__embed {
      position: relative;
      width: min(100%, 500px);
      aspect-ratio: 16 / 9;
      margin-inline: auto;
      overflow: hidden;
      background: #000;

      iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
      }

      .lp-movie__poster {
        position: absolute;
        inset: 0;
        display: grid;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: #000;
        cursor: pointer;
        place-items: center;

        img {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
        }

        span {
          position: relative;
          z-index: 1;
          display: grid;
          width: 74px;
          height: 52px;
          padding-left: 4px;
          border-radius: 14px;
          color: #fff;
          background: #f00;
          font-size: 25px;
          place-items: center;
        }
      }
    }
  }

  .lp-section-heading {
    padding: clamp(22px, 3.2vw, 31px) 24px;
    padding-left: 0px;
    background: transparent;

    .lp-section-heading__title {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: clamp(14px, 2vw, 24px);
      width: min(100%, 1100px);
      margin: 0 auto;
      color: var(--lp-navy);
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0.01em;
    }

    .lp-section-heading__point {
      align-self: center;
      flex: 0 0 auto;
      width: clamp(62px, 7vw, 78px);
      height: auto;
    }

    .lp-section-heading__main {
      flex: 0 0 auto;
      font-size: clamp(24px, 2.639vw, 38px);
      white-space: nowrap;
    }

    .lp-section-heading__sub {
      flex: 0 1 auto;
      font-size: clamp(18px, 1.667vw, 24px);
      white-space: nowrap;
    }
  }

  .lp-about {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: 0 0 clamp(54px, 7vw, 88px);
    display: grid;
    justify-items: center;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(205, 232, 255, 0.08) 8%,
      rgba(208, 227, 243, 0.4) 34%,
      rgba(186, 213, 236, 0.4) 72%,
      rgba(186, 213, 236, 0.32) 89%,
      rgba(192, 225, 254, 0.12) 96%,
      rgba(255, 255, 255, 0) 100%
    );

    .lp-about__inner {
      width: min(calc(100% - 48px), 1100px);
      margin-right: auto;
      margin-left: auto;
      box-sizing: border-box;
      justify-self: center;
      @media (max-width: 440px) {
        width: min(calc(100% - 23px), 600px);
      }
    }

    .lp-about__title {
      margin: 0 0 clamp(26px, 3vw, 34px);
      color: var(--lp-navy);
      background: linear-gradient(90deg, #080f6d 0%, #006dca 65%, #009fc3 100%);
      background-clip: text;
      font-size: clamp(18px, 1.667vw, 24px);
      font-weight: 700;
      line-height: 1.45;
      letter-spacing: 0.01em;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .lp-about__body {
      display: grid;
      grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
      align-items: start;
      gap: clamp(38px, 5vw, 64px);
    }

    .lp-about__text {
      width: 100%;
      color: #333;
      font-size: clamp(16px, 1.55vw, 16px);
      line-height: 1.85;

      p {
        margin: 0 0 clamp(23px, 2.8vw, 31px);

        &:last-child {
          margin-bottom: 0;
        }
      }
    }

    .lp-about__visual {
      margin: 0;

      img {
        display: block;
        width: 100%;
        height: auto;
        filter: drop-shadow(0 0 20px rgba(39, 120, 190, 0.2));
      }
    }
  }

  .lp-terms {
    width: 100%;
    padding: clamp(54px, 7vw, 40px) 0 0;
    background: transparent;

    .lp-terms__inner {
      display: grid;
      grid-template-columns: minmax(0, 1.78fr) minmax(0, 1fr);
      align-items: start;
      gap: 0;
      width: 100%;
      margin-inline: auto;
    }

    .lp-terms__title {
      margin: 0 0 23px;
      color: var(--lp-blue);
      font-size: 18px;
      font-weight: 700;
      line-height: 1.5;
    }

    .lp-terms__cards {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 30px;
    }

    .lp-term-card {
      width: 100%;
      min-width: 0;
      padding: 17px 10px 18px;
      border-radius: 11px;
      background: radial-gradient(circle at center, #fff 0%, #ecf7ff 100%);
      box-shadow: 0 0px 20px #2777be4e;
    }

    .lp-term-card__title {
      margin: 0;
      padding: 0 0 13px;
      border-bottom: 2px dotted #18a0df;
      color: #333;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.45;
      cursor: default;
      list-style: none;

      &::-webkit-details-marker {
        display: none;
      }
    }

    .lp-term-card__details {
      margin: 11px 0 0;
    }

    .lp-term-card__row {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      column-gap: 10px;
      margin-top: 12px;
      color: #333;
      font-size: 14px;
      line-height: 1.9;

      &:first-child {
        margin-top: 0;
      }

      dt {
        display: flex;
        gap: 4px;
        align-items: flex-start;
        margin: 0;
        font-weight: 700;
        white-space: nowrap;

        span {
          display: inline-block;
          flex: 0 0 16px;
          width: 16px;
          height: 16px;
          margin-top: 4px;
          background: url("img/check.png") center / contain no-repeat;
          font-size: 0;
        }
      }

      dd {
        min-width: 0;
        margin: 0;
        letter-spacing: 2%;
      }
    }

    .lp-definition {
      position: relative;
      width: 410px;
      margin-top: clamp(82px, 8vw, 101px);
      z-index: 2;
      transform: translateX(-18px);
    }

    .lp-definition__bubble {
      position: relative;
      z-index: 1;
      display: flex;
      width: 100%;
      min-height: 268px;
      margin-inline: auto;
      padding: 38px 50px 34px;
      border-radius: 999px;
      background: #fff;
      box-shadow: 0 7px 10px #2777be4e;
      box-sizing: border-box;
      flex-direction: column;
      justify-content: center;

      p {
        margin: 0;
        color: #333;
        font-size: clamp(15px, 1.3vw, 16px);
        font-weight: 700;
        line-height: 1.9;
      }
    }

    .lp-definition__tail {
      position: absolute;
      z-index: 2;
      bottom: -23px;
      left: 18%;
      display: block;
      width: 58px;
      height: auto;
    }

    .lp-definition__icon {
      position: absolute;
      z-index: 2;
      top: -24px;
      right: 13%;
      width: clamp(62px, 6vw, 76px);
      height: auto;
    }

    .lp-definition__title {
      margin: 0 0 17px;
      color: var(--lp-navy);
      font-size: clamp(18px, 2.5vw, 24px);
      font-weight: 700;
      line-height: 1.35;
      text-align: center;
    }
  }

  .lp-reasons-intro {
    padding: clamp(33px, 4.2vw, 48px) 24px clamp(70px, 8vw, 96px);
    color: var(--lp-navy);
    text-align: center;

    .lp-reasons-intro__eyebrow {
      margin: 0 0 7px;
      font-size: clamp(15px, 1.667vw, 24px);
      font-weight: 700;
      line-height: 1.5;
    }

    .lp-reasons-intro__title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      margin: 0;
      color: var(--lp-navy);
      font-size: clamp(27px, 2.639vw, 38px);
      font-weight: 700;
      line-height: 1.25;

      img {
        width: clamp(43px, 4.6vw, 52px);
        height: auto;
      }
    }

    .lp-reasons-intro__lead {
      margin: clamp(21px, 2.6vw, 29px) 0 0;
      color: #333;
      font-size: clamp(14px, 1.1111vw, 16px);
      font-weight: 400;
      line-height: 1.75;
    }

    .lp-reasons__body {
      display: grid;
      grid-template-columns: clamp(75px, 9vw, 118px) minmax(0, 1fr);
      align-items: start;
      gap: 0;
      width: min(100%, 1200px);
      margin: clamp(58px, 7vw, 82px) auto 0;
      text-align: left;
    }

    .lp-reasons__person {
      position: relative;
      z-index: 2;
      width: 100%;
      margin: 23px -7px 0 0;
      @media (max-width: 767px) {
        display: none;
      }

      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    .lp-reasons__cards {
      display: grid;
      gap: clamp(40px, 5vw, 58px);
    }

    .lp-reason-card {
      position: relative;
      min-width: 0;
      padding: clamp(25px, 3vw, 36px) clamp(18px, 2.5vw, 30px)
        clamp(19px, 2.5vw, 29px);
      border-radius: 0 8px 8px 8px;
      background: radial-gradient(ellipse at center, #fff 0%, #e0f2ff 100%);
    }

    .lp-reason-card__label {
      position: absolute;
      top: clamp(-30px, -2.4vw, -25px);
      left: 0;
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: clamp(100px, 11vw, 130px);
      height: clamp(26px, 2.6vw, 31px);
      margin: 0;
      padding: 0 19px;
      border-radius: 7px 7px 0 0;
      background: #e0f2ff;
      color: #080f6d;
      font-size: 16px;
      font-weight: 700;
      line-height: 1;
    }

    .lp-reason-card__content {
      display: grid;
      grid-template-columns: minmax(0, 1fr) clamp(160px, 20vw, 240px);
      align-items: start;
      gap: clamp(24px, 4vw, 40px);
    }

    .lp-reason-card__text {
      min-width: 0;

      h3 {
        width: fit-content;
        max-width: 100%;
        margin: 0 0 clamp(14px, 2vw, 21px);
        color: var(--lp-navy);
        background: linear-gradient(
          90deg,
          #080f6d 0%,
          #080f6d 48%,
          #006dca 76%,
          #009fc3 100%
        );
        background-clip: text;
        font-size: clamp(17px, 1.667vw, 24px);
        font-weight: 700;
        line-height: 1.5;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
      }

      p {
        margin: 0;
        color: #333333;
        font-size: clamp(12px, 1.111vw, 16px);
        font-weight: 400;
        line-height: 2;
      }

      .lp-reason-card__source {
        margin-top: clamp(13px, 1.8vw, 20px);
        text-decoration: underline;
        text-underline-offset: 2px;
        a {
          color: #333333;
        }
      }
    }

    .lp-reason-card__visual {
      width: min(100%, 240px);
      margin: 0;

      img {
        display: block;
        width: 100%;
        aspect-ratio: 0.86;
        border-radius: 7px;
        object-fit: cover;
      }
    }
  }

  > .post_content {
    margin-top: 0;
  }

  .lp-strengths {
    width: calc(100% - 32px);
    margin-inline: auto;
    padding: clamp(48px, 7vw, 82px) 24px;
    border-radius: 16px;
    background-image: url("img/r-back.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
    overflow: hidden;
    max-width: 1440px;

    .lp-strengths__inner {
      width: min(100%, 1200px);
      margin-inline: auto;
    }

    .lp-strengths__title {
      display: flex;
      align-items: center;
      gap: 15px;
      margin: 0 0 clamp(34px, 4vw, 48px);
      color: #fff;
      font-size: clamp(22px, 2.639vw, 38px);
      font-weight: 700;
      line-height: 1.5;

      img {
        flex: 0 0 auto;
        width: clamp(42px, 5vw, 58px);
        height: auto;
      }
    }

    .lp-strengths__grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px 30px;
    }

    .lp-strength-card {
      min-width: 0;
      padding: 20px 20px 24px;
      border: 1px solid rgba(255, 255, 255, 0.28);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.1);
      box-shadow: inset 0 0 24px rgba(255, 255, 255, 0.03);
    }

    .lp-strength-card__icon {
      display: block;
      width: clamp(70px, 7.917vw, 114px);
      height: auto;
      margin: 0 auto 13px;
    }

    .lp-strength-card__heading {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: center;
      gap: 16px;
      margin-bottom: 19px;

      h3 {
        margin: 0;
        color: #fff;
        font-size: clamp(17px, 1.667vw, 24px);
        font-weight: 700;
        line-height: 1.45;

        small {
          display: block;
          font-size: 0.72em;
          font-weight: 700;
        }
      }
    }

    .lp-strength-card__number {
      margin: 0;
      color: #fff;
      font-family: "DM Sans", sans-serif;
      font-size: clamp(42px, 5.556vw, 80px);
      font-weight: 400;
      line-height: 1;
      font-weight: 700;
    }

    .lp-strength-card__text {
      margin: 0;
      color: #fff;
      font-size: clamp(12px, 1.111vw, 16px);
      line-height: 2;
    }

    .lp-strength-card__link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-top: 16px;
      color: #fff;
      font-size: clamp(14px, 1.389vw, 20px);
      font-weight: 700;
      line-height: 1.4;
      text-decoration: none;
      transition: opacity 0.2s ease;

      img {
        display: block;
        flex: 0 0 24px;
        width: 24px;
        height: 24px;
      }

      &:hover {
        color: #fff;
        opacity: 0.75;
      }

      &:focus-visible {
        border-radius: 2px;
        outline: 2px solid #fff;
        outline-offset: 4px;
      }
    }
  }

  .lp-results {
    padding: clamp(64px, 8vw, 96px) 24px;
    padding-bottom: 40px;
    background: #fff;

    .lp-results__inner {
      width: min(100%, 1100px);
      margin-inline: auto;
    }

    .lp-results__title {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 clamp(35px, 4vw, 48px);
      color: var(--lp-navy);
      font-size: clamp(23px, 2.639vw, 38px);
      font-weight: 700;
      line-height: 1.4;

      img {
        flex: 0 0 auto;
        width: clamp(48px, 5vw, 60px);
        height: auto;
      }

      small {
        align-self: flex-end;
        margin-bottom: 0.32em;
        font-size: 24px;
        white-space: nowrap;
      }
    }

    .lp-results__list {
      display: grid;
      gap: 28px;
    }

    .lp-result-card {
      display: grid;
      grid-template-columns: minmax(0, 1.12fr) minmax(280px, 0.88fr);
      align-items: center;
      gap: clamp(24px, 4vw, 30px);
      padding: clamp(20px, 2.083vw, 29px);
      border: 5px solid #fff;
      border-radius: 12px;
      background: radial-gradient(ellipse at center, #fff 0%, #e0f2ff 100%);
      box-shadow: 0 2px 12px rgba(66, 130, 174, 0.24);
    }

    .lp-result-card__data {
      min-width: 0;

      h3 {
        margin: 8px 0 16px;
        color: var(--lp-navy);
        background: linear-gradient(
          100deg,
          #080f6d 0%,
          #006dca 58%,
          #009fc3 100%
        );
        background-clip: text;
        font-size: clamp(18px, 1.8vw, 24px);
        font-weight: 700;
        line-height: 1.45;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
      }

      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    .lp-result-card__tag {
      position: relative;
      display: inline-block;
      margin: 0;
      padding: 4px 16px 5px;
      border-radius: 999px;
      color: var(--lp-navy);
      background: linear-gradient(
        100deg,
        #080f6d 0%,
        #006dca 58%,
        #009fc3 100%
      );
      background-clip: text;
      font-size: clamp(12px, 1.112vw, 16px);
      font-weight: 700;
      line-height: 1.4;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;

      &::before {
        position: absolute;
        inset: 0;
        padding: 2px;
        border-radius: inherit;
        background: linear-gradient(
          100deg,
          #171878 0%,
          #075b9f 58%,
          #00a9bd 100%
        );
        content: "";
        pointer-events: none;
        -webkit-mask:
          linear-gradient(#fff 0 0) content-box,
          linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
      }
    }

    .lp-result-card__text {
      color: #333;
      font-size: clamp(13px, 1.15vw, 16px);
      line-height: 2;

      p {
        margin: 0 0 18px;
        letter-spacing: 2%;
        &:last-child {
          margin-bottom: 0;
        }
      }
    }
  }

  .lp-advantage {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: clamp(60px, 8vw, 40px) 24px clamp(50px, 8.333vw, 120px);
    padding-bottom: 0px;
    box-sizing: border-box;
    background: linear-gradient(
      180deg,
      #fff 0%,
      #e8f5ff 30%,
      #d9edfc 50%,
      #e8f5ff 70%,
      #fff 100%
    );

    .lp-advantage__inner {
      width: min(100%, 1200px);
      margin-inline: auto;
    }

    .lp-advantage__title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      margin: 0 0 clamp(54px, 7vw, 82px);
      color: var(--lp-navy);
      font-size: clamp(24px, 2.8vw, 38px);
      font-weight: 700;

      img {
        width: clamp(48px, 5vw, 60px);
        height: auto;
      }
    }

    .lp-advantage__analysis,
    .lp-advantage__monitor {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: center;
      gap: clamp(28px, 7vw, 40px);
      max-width: 1100px;
      margin-inline: auto;
    }
    .lp-advantage__monitor {
      max-width: 1200px;
    }

    .lp-advantage__copy {
      width: min(100%, 486px);

      h3 {
        margin: 0 0 10px;
        color: var(--lp-navy);
        font-size: clamp(27px, 3vw, 38px);
        font-weight: 700;
        line-height: 1.45;

        span {
          display: block;
          width: fit-content;
          background: linear-gradient(
            90deg,
            #080f6d 0%,
            #006dca 65%,
            #009fc3 100%
          );
          background-clip: text;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        }
      }
    }

    .lp-advantage__note {
      margin: 0 0 34px;
      color: var(--lp-navy);
      font-size: 16px;
      font-weight: 700;
    }

    .lp-advantage__text,
    .lp-advantage__monitor-text {
      color: #333;
      font-size: clamp(14px, 1.15vw, 16px);
      line-height: 2;

      p {
        margin: 0 0 18px;
        letter-spacing: 2%;

        &:last-child {
          margin-bottom: 0;
        }
      }
    }

    .lp-advantage__device,
    .lp-advantage__monitor figure {
      margin: 0;

      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    .lp-advantage__pc {
      position: relative;
      width: 100%;
      aspect-ratio: 1436 / 918;
    }

    .lp-advantage__pc-screen {
      position: absolute;
      z-index: 1;
      top: 4.58%;
      left: 25.42%;
      width: 66.36%;
      height: 65.36%;
      background: #fff;
      clip-path: polygon(4% 0, 100% 0.7%, 96.8% 100%, 0 96%);
      overflow: hidden;
    }

    .lp-advantage__pc-perspective {
      width: 100%;
      margin: -1.5% 0 0 2%;
      transform: rotate(4deg) skewY(1deg) scale(1);
      transform-origin: center top;
    }

    .lp-advantage__pc-track {
      width: 100%;
      animation: lp-pc-slide-scroll 30s linear infinite;
      animation-play-state: paused;
      will-change: transform;

      img {
        display: block;
        width: 100%;
        height: auto;
        image-rendering: -webkit-optimize-contrast;
      }
    }

    .lp-advantage__pc-screen.is-in-view .lp-advantage__pc-track {
      animation-play-state: running;
    }

    .lp-advantage__pc-frame {
      position: relative;
      z-index: 2;
      display: block;
      width: 100%;
      height: auto;
      pointer-events: none;
    }

    @media (prefers-reduced-motion: reduce) {
      .lp-advantage__pc-track {
        animation: none;
      }
    }

    .lp-advantage__metrics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 26px;
      width: min(100%, 940px);
      margin: clamp(28px, 6vw, 40px) auto clamp(40px, 6.556vw, 80px);
      margin-bottom: 0px;
      div {
        padding: 20px 12px;
        border: 7px solid #fff;
        border-radius: 10px;
        background: radial-gradient(
          ellipse at center,
          #fff 0%,
          #eff9ff 50%,
          #e0f2ff 100%
        );
        text-align: center;
      }

      strong {
        display: block;
        margin-bottom: 10px;
        color: #006dca;
        font-size: clamp(31px, 3.334vw, 48px);
        line-height: 1;

        small {
          font-size: 0.5em;
        }
      }

      span {
        color: #333;
        font-size: 16px;
        line-height: 1.65;
      }
    }

    .lp-advantage__monitor {
      grid-template-columns: minmax(0, 1.21fr) minmax(0, 0.9fr);
      gap: clamp(32px, 4vw, 55px);
      margin-bottom: clamp(70px, 9vw, 110px);
      margin-top: 110px;
      @media (max-width: 768px) {
        margin-top: 20px;
      }
    }

    .lp-advantage__monitor-text {
      h3 {
        margin: 0 0 15px;
        color: var(--lp-navy);
        background: linear-gradient(
          100deg,
          #080f6d 0%,
          #006dca 58%,
          #009fc3 100%
        );
        background-clip: text;
        font-size: clamp(27px, 3vw, 38px);
        line-height: 1.35;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
      }

      h4 {
        margin: 0 0 30px;
        color: var(--lp-navy);
        font-size: clamp(15px, 1.5vw, 16px);
      }
    }

    .lp-advantage__screens {
      width: min(100%, 1100px);
      margin-inline: auto;

      h3 {
        margin: 0 0 28px;
        color: var(--lp-navy);
        font-size: clamp(18px, 2vw, 24px);
        text-align: center;
      }
    }

    .lp-advantage__screen-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;

      figure {
        margin: 0;
        min-width: 0;
      }
      figcaption {
        width: fit-content;
        margin: 0 auto 12px;
        padding: 5px 18px;
        border-radius: 999px;
        color: #fff;
        background: #111878;
        font-size: 16px;
        font-weight: 700;
        white-space: nowrap;
      }
      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }
  }

  .lp-guide-cta {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: min(5.5556vw, 80px) 0;
    box-sizing: border-box;
    /* overflow: hidden; */
    isolation: isolate;

    &::before {
      position: absolute;
      z-index: 0;
      top: 50%;
      left: 50%;
      width: min(143.75vw, 2070px);
      aspect-ratio: 2070 / 1445;
      background: url("img/cta-b-parts2.png") center / 100% 100% no-repeat;
      content: "";
      pointer-events: none;
      transform: translate(-50%, -50%);
    }

    .lp-guide-cta__panel {
      position: relative;
      z-index: 1;
      width: min(86.1111vw, 1240px);
      min-height: min(71.5278vw, 1030px);
      margin-inline: auto;
      padding: 90px clamp(72px, 8.75vw, 126px) clamp(82px, 6.944vw, 100px);
      border-radius: 32px;
      -webkit-clip-path: inset(0 round 32px);
      clip-path: inset(0 round 32px);
      color: #fff;
      background: url("img/cta-b-parts1.webp") center / 100% 100% no-repeat;
      overflow: hidden;
      box-sizing: border-box;
    }

    .lp-guide-cta__top {
      position: relative;
      min-height: 553px;
    }

    .lp-guide-cta__copy {
      position: relative;
      z-index: 2;
      width: min(100%, 550px);

      h2 {
        margin: 0 0 48px;
        color: #fff;
        font-size: clamp(30px, 2.639vw, 38px);
        font-weight: 700;
        line-height: 1.7;
        letter-spacing: 0.02em;
        white-space: nowrap;

        strong {
          display: inline-block;
          margin-right: 10px;
          padding: 0 10px;
          background: #fff;
          font-size: clamp(42px, 3.334vw, 48px);
          line-height: 1.12;

          > span {
            color: var(--lp-blue);
            background: linear-gradient(
              90deg,
              #080f6d 0%,
              #006dca 65%,
              #009fc3 100%
            );
            background-clip: text;
            font-size: inherit;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
          }
        }

        span {
          font-size: inherit;
        }
      }
    }

    .lp-guide-cta__lead {
      margin: 0 0 32px;
      font-size: 16px;
      font-weight: 700;
      line-height: 2;
    }

    .lp-guide-cta__features {
      padding: 17px 14px;
      border: 1px solid rgba(255, 255, 255, 0.35);
      border-radius: 5px;
      background: rgba(255, 255, 255, 0.1);

      h3 {
        margin: 0 0 13px;
        color: #fff;
        font-size: 20px;
        line-height: 1.5;
      }

      ul {
        display: grid;
        gap: 8px;
        margin: 0;
        padding: 0;
        font-size: 16px;
        line-height: 1.55;
        list-style: none;
      }

      li::before {
        display: inline-block;
        width: 18px;
        height: 18px;
        margin-right: 8px;
        background: url("img/c-white.png") center / contain no-repeat;
        content: "";
        vertical-align: -3px;
      }
    }

    .lp-guide-cta__document {
      position: absolute;
      z-index: 1;
      top: clamp(-93px, -6.458vw, -68px);
      right: -15.18%;
      width: 76.92%;
      margin: 0;

      img {
        display: block;
        width: 100%;
        height: auto;
        image-rendering: -webkit-optimize-contrast;
      }
    }

    .lp-guide-cta__bottom {
      position: relative;
      z-index: 3;
      margin-top: 18px;
    }

    .lp-guide-cta__message {
      margin: 0 0 47px;
      color: #fff;
      font-size: clamp(18px, 1.667vw, 24px);
      font-weight: 700;
      line-height: 1.9;
      text-align: center;
    }

    .lp-guide-cta__actions {
      display: grid;
      grid-template-columns: 420px 260px;
      align-items: end;
      justify-content: center;
      gap: 28px;
    }

    .lp-guide-cta__primary-group {
      p {
        margin: 0 0 10px;
        color: #fff;
        font-size: 14px;
        text-align: center;
      }
    }

    .lp-guide-cta__button {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      height: 64px;
      padding: 10px 20px;
      border: 2px solid #ff7a24;
      border-radius: 999px;
      box-sizing: border-box;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
      transition:
        opacity 0.2s ease,
        transform 0.2s ease;

      &:hover,
      &:focus-visible {
        opacity: 0.86;
        transform: translateY(-2px);
      }

      span {
        font-size: 8px;
      }
    }

    .lp-guide-cta__button--primary {
      width: 420px;
      color: #fff;
      border: none;
      background: linear-gradient(90deg, #248caf 0%, #05a3b4 100%);
    }

    .lp-guide-cta__button--secondary {
      width: 260px;
      justify-content: space-between;
      color: #ff7020;
      background: #fff;
    }

    .lp-guide-cta__person {
      position: absolute;
      z-index: 4;
      display: block;
      height: auto;
      pointer-events: none;
    }

    .lp-guide-cta__person--left {
      bottom: 0.98%;
      left: -0.81%;
      width: 18.55%;
    }

    .lp-guide-cta__person--right {
      right: 6.45%;
      bottom: 3.43%;
      width: 7.26%;
    }

    @media (min-width: 1441px) {
      padding-block: clamp(80px, calc(12vw - 92.8px), 180px);
    }

    @media (max-width: 1050px) {
      padding: 100px 24px;

      .lp-guide-cta__panel {
        min-height: 0;
        padding: 72px 58px 70px;
      }

      .lp-guide-cta__top {
        display: grid;
        grid-template-columns: 1fr;
        min-height: 0;
      }

      .lp-guide-cta__copy {
        width: min(100%, 650px);
        margin-inline: auto;
      }

      .lp-guide-cta__copy h2 {
        white-space: normal;
      }

      .lp-guide-cta__document {
        position: relative;
        top: auto;
        right: auto;
        width: min(100%, 680px);
        margin: 4px auto 0;
      }

      .lp-guide-cta__person--right {
        right: 20px;
      }
    }

    @media (min-width: 768px) and (max-width: 1280px) {
      .lp-guide-cta__actions {
        grid-template-columns: minmax(0, 420px);
        gap: 14px;
        width: min(100%, 420px);
        margin-inline: auto;
      }

      .lp-guide-cta__primary-group,
      .lp-guide-cta__button,
      .lp-guide-cta__button--primary,
      .lp-guide-cta__button--secondary {
        width: 100%;
      }

      .lp-guide-cta__person--left {
        bottom: 18px;
        left: 0;
        width: clamp(125px, 16vw, 170px);
      }

      .lp-guide-cta__person--right {
        right: 0;
        bottom: 28px;
        width: clamp(64px, 8vw, 82px);
      }
    }

    @media (max-width: 767px) {
      padding: 52px 0 92px;
      overflow-x: clip;
      overflow-y: visible;

      &::before,
      &::after {
        position: absolute;
        z-index: 0;
        width: 200vw;
        aspect-ratio: 807 / 787;
        /* Position the two halves independently while preserving the image ratio. */
        background: url("img/sp-b-bn2.webp") center top / 100% auto no-repeat;
        content: "";
        pointer-events: none;
        transform: none;
      }

      &::before {
        top: calc(52px - 48vw);
        left: -42vw;
      }

      &::after {
        bottom: calc(92px - 69vw);
        left: -84vw;
        width: 300vw;
        background-position: center bottom;
      }

      .lp-guide-cta__panel {
        width: 100%;
        padding: 50px 14px 56px;
        border-radius: 24px;
        -webkit-clip-path: none;
        clip-path: none;
        background-image: url("img/cta-b-k.webp");
        background-size: 100% 100%;
        overflow: visible;
      }

      .lp-guide-cta__copy h2 {
        margin-bottom: 32px;
        padding-right: 70px;
        font-size: clamp(17px, 5.35vw, 24px);
        line-height: 1.8;
      }

      .lp-guide-cta__lead {
        font-size: 12px;
      }

      .lp-guide-cta__features {
        padding: 15px;
      }

      .lp-guide-cta__features h3 {
        font-size: 15px;
      }

      .lp-guide-cta__features ul {
        font-size: 12px;
      }

      .lp-guide-cta__message {
        font-size: 15px;
      }

      .lp-guide-cta__actions {
        grid-template-columns: 1fr;
        gap: 18px;
        width: min(100%, 290px);
        margin-inline: auto;
        padding-inline: 0;
      }

      .lp-guide-cta__button,
      .lp-guide-cta__button--primary,
      .lp-guide-cta__button--secondary {
        width: 100%;
        height: 60px;
        padding: 10px 28px;
        gap: 8px;
        font-size: 14px;
        line-height: 1.5;
        text-align: left;
      }

      .lp-guide-cta__person--left {
        bottom: -95px;
        left: 6px;
        width: clamp(90px, 28vw, 110px);
        opacity: 1;
      }

      .lp-guide-cta__person--right {
        top: 38px;
        right: 26px;
        bottom: auto;
        width: clamp(42px, 12.8vw, 54px);
        opacity: 1;
      }
    }
  }

  .lp-conversion {
    width: calc(100% - 32px);
    margin-inline: auto;
    padding: clamp(58px, 7vw, 84px) 24px clamp(48px, 6vw, 72px);
    border-radius: 16px;
    background: url("img/b-haikei.webp") center / cover no-repeat;
    color: #fff;
    overflow: hidden;

    .lp-conversion__inner {
      width: min(100%, 1200px);
      margin-inline: auto;
    }

    .lp-conversion__intro {
      display: grid;
      grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.8fr);
      align-items: center;
      gap: clamp(35px, 5vw, 65px);
    }

    .lp-conversion__content {
      h2 {
        margin: 0 0 24px;
        color: #fff;
        background: none;
        font-size: clamp(18px, 2.639vw, 38px);
        font-weight: 700;
        line-height: 1.5;
        white-space: nowrap;
        -webkit-text-fill-color: currentColor;
      }
    }

    .lp-conversion__headline {
      display: flex;
      align-items: flex-end;
      gap: 12px;
      margin: 0 0 7px;
      color: var(--lp-navy);
      font-size: clamp(21px, 2.5vw, 38px);
      font-weight: 700;

      > img {
        flex: 0 0 auto;
        width: clamp(48px, 5vw, 62px);
        height: auto;
        align-self: center;
      }

      > span {
        color: #fff;
      }

      strong {
        padding: 0.03em 0.17em 0.1em;
        background: #fff;
        font-size: 86.667px;
        line-height: 1;

        span {
          background: linear-gradient(
            90deg,
            #080f6d 0%,
            #006dca 65%,
            #009fc3 100%
          );
          background-clip: text;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        }
      }
    }

    .lp-conversion__note {
      margin: 0 0 36px;
      font-size: 14px;
      line-height: 1.75;
      margin-top: 20px;
    }

    .lp-conversion__text {
      font-size: clamp(12px, 1.111vw, 16px);
      line-height: 2;
      letter-spacing: 2%;
      p {
        margin: 0 0 17px;
        a {
          color: white;
          text-decoration: underline;
        }
      }
    }

    .lp-conversion__visual {
      width: min(100%, 400px);
      margin: 0;
      padding-bottom: 32px;
      align-self: end;
      justify-self: end;

      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    .lp-conversion__chart-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 260px;
      align-items: center;
      gap: 0;
      margin-top: 12px;
    }

    .lp-conversion__chart {
      margin: 0;

      img {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 12px;
      }
    }

    .lp-conversion__bubble {
      position: relative;
      z-index: 2;
      display: grid;
      width: 260px;
      min-height: 190px;
      margin: 0;
      padding: 32px 25px;
      border-radius: 999px;
      place-items: center;
      color: var(--lp-navy);
      background: #fff;
      box-shadow: 0 0 20px rgba(39, 120, 190, 0.4);
      font-size: clamp(16px, 1.55vw, 20px);
      font-weight: 700;
      line-height: 1.75;
      text-align: center;
      transform: translateX(-24px);

      &::after {
        position: absolute;
        z-index: 0;
        bottom: -22px;
        left: 28%;
        width: 54px;
        height: 54px;
        background: url("img/hukidashi.webp") center / contain no-repeat;
        content: "";
      }
    }

    .lp-conversion__closing {
      margin-top: 25px;
      text-align: center;

      > span {
        display: block;
        margin: 0 auto 8px;
        border-radius: 50%;
        background: #fff;

        &:nth-of-type(1) {
          width: 7px;
          height: 7px;
        }

        &:nth-of-type(2) {
          width: 11px;
          height: 11px;
        }

        &:nth-of-type(3) {
          width: 15px;
          height: 15px;
        }
      }

      p {
        margin: 22px 0 0;
        font-size: clamp(14px, 1.667vw, 24px);
        font-weight: 700;
      }
    }
  }

  .lp-pages {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: clamp(70px, 9vw, 108px) 24px;
    box-sizing: border-box;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(205, 232, 255, 0.08) 8%,
      rgba(156, 206, 250, 0.4) 34%,
      rgba(156, 206, 250, 0.4) 72%,
      rgba(136, 193, 243, 0.32) 89%,
      rgba(192, 225, 254, 0) 100%
    );

    .lp-pages__inner {
      width: min(100%, 1100px);
      margin-inline: auto;
    }
    .lp-pages__eyebrow {
      margin: 0 0 4px;
      color: var(--lp-navy);
      font-size: 24px;
      font-weight: 700;
      text-align: center;
    }
    .lp-pages__title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      margin: 0 0 30px;
      color: var(--lp-navy);
      font-size: clamp(25px, 3vw, 38px);
      img {
        width: clamp(45px, 5vw, 58px);
        height: auto;
      }
    }
    .lp-pages__lead {
      margin: 0 auto 34px;
      color: #333;
      font-size: 16px;
      line-height: 1.9;
      letter-spacing: 2%;
    }
    .lp-pages__nav {
      display: grid;
      grid-template-columns: repeat(5, auto);
      align-items: center;
      margin-bottom: 32px;
      max-width: 1040px;
      margin-inline: auto;
      a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-height: 48px;
        padding: 8px 18px;
        color: var(--lp-navy);
        font-size: 16px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        &:not(:last-child)::after {
          position: absolute;
          top: 50%;
          right: 0;
          width: 1px;
          height: 26px;
          background: #101878;
          content: "";
          transform: translateY(-50%);
        }
        img {
          width: 22px;
          height: 22px;
          object-fit: contain;
        }
      }
    }
    .lp-pages__list {
      display: grid;
      gap: 24px;
    }
    .lp-page-card {
      padding: 26px 30px 20px;
      border: 9px solid #fff;
      border-radius: 14px;
      background: radial-gradient(ellipse at center, #fff -5%, #e0f2ff 100%);
      box-shadow: 0 2px 12px rgba(66, 130, 174, 0.2);
    }
    .lp-page-card__body {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(360px, 1.1fr);
      align-items: center;
      gap: 20px;
      h3 {
        margin: 0 0 10px;
        color: #006dca;
        font-size: clamp(21px, 2.3vw, 24px);
        line-height: 1.35;
      }
      h3 span {
        margin-right: 18px;
        font-size: clamp(32px, 3.333vw, 48px);
        font-weight: 700;
        font-family: "DM Sans", sans-serif;
      }
      p {
        margin: 0;
        color: #333;
        font-size: 16px;
        line-height: 2;
      }
      img {
        display: block;
        width: 100%;
        height: auto;
        filter: drop-shadow(0 0 12px rgba(39, 120, 190, 0.16));
      }
    }
    .lp-page-card__accordion {
      margin-top: 22px;
      padding: 0 18px;
      border-radius: 11px;
      background: #ecf7ff;
      box-shadow: 0 5px 15px #2777be42;
      summary {
        position: relative;
        padding: 15px 42px 12px 0;
        border-bottom: 0;
        color: var(--lp-blue);
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
        list-style: none;
        &::-webkit-details-marker {
          display: none;
        }
        &::after {
          position: absolute;
          top: 50%;
          right: 0;
          width: 25px;
          height: 25px;
          background: url("img/ac-down.png") center / contain no-repeat;
          content: "";
          transform: translateY(-50%);
        }
      }
      &[open] summary::after {
        background-image: url("img/ac-up.png");
      }

      &[open] summary {
        border-bottom: 2px dotted #2397d1;
      }
      ul {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 20px;
        margin: 0;
        padding: 13px 0 16px;
        color: #333;
        font-size: 14px;
        line-height: 1.6;
        list-style: none;
        li::before {
          display: inline-block;
          width: 16px;
          height: 16px;
          margin-right: 6px;
          background: url("img/check.png") center / contain no-repeat;
          content: "";
          vertical-align: -2px;
        }

        li:only-child {
          grid-column: 1 / -1;
        }
      }
    }
  }

  .lp-service {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: clamp(38px, 5vw, 62px) 24px 34px;
    background: transparent;

    &::before {
      position: absolute;
      z-index: 0;
      top: clamp(58px, 6vw, 82px);
      right: -100vw;
      bottom: 0;
      left: -100vw;
      border-radius: 50% 50% 0 0 / 127.5vw 127.5vw 0 0;
      background: linear-gradient(180deg, #eaeff5 0%, #eaeff5 72%, #fff 100%);
      content: "";
      pointer-events: none;
    }

    .lp-service__intro {
      position: relative;
      z-index: 1;
      width: min(100%, 1100px);
      margin-inline: auto;
    }

    .lp-service-index,
    .lp-measures {
      position: relative;
      z-index: 1;
    }

    .lp-service__intro-inner {
      display: grid;
      grid-template-columns: minmax(190px, 0.85fr) minmax(300px, 1fr) minmax(
          190px,
          0.85fr
        );
      align-items: end;
      gap: clamp(20px, 4vw, 54px);
      width: min(100%, 900px);
      margin-inline: auto;
    }

    .lp-service__illustration {
      display: block;
      width: 100%;
      height: clamp(130px, 17vw, 205px);
      object-fit: contain;

      &.lp-service__illustration--left {
        object-position: right bottom;
      }
      &.lp-service__illustration--right {
        object-position: left bottom;
      }
    }

    .lp-service__heading {
      align-self: end;
      color: var(--lp-navy);
      text-align: center;

      p {
        margin: 0 0 5px;
        font-size: clamp(16px, 1.667vw, 24px);
        font-weight: 700;
      }

      h2 {
        margin: 0;
        color: var(--lp-navy);
        font-size: clamp(25px, 3.1vw, 38px);
        font-weight: 700;
        line-height: 1.2;
        white-space: nowrap;

        strong {
          display: inline-block;
          padding: 0.04em 0.2em 0.1em;
          color: #fff;
          background: linear-gradient(105deg, #171878, #00a9bd);
          font-size: 1.14em;
          line-height: 1;
        }
      }
    }

    .lp-service__lead {
      margin: 5px auto 0;
      color: #333;
      font-size: clamp(12px, 1.1111vw, 16px);
      line-height: 1.85;
      text-align: left;
      margin-top: 32px;
      letter-spacing: 0.5px;
    }

    .lp-service-index {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px 26px;
      width: min(100%, 1100px);
      margin: clamp(38px, 5vw, 58px) auto 0;
    }

    .lp-service-index__item {
      display: grid;
      grid-template-columns: 54px minmax(0, 1fr) 27px;
      align-items: center;
      gap: 14px;
      min-height: 100px;
      padding: 18px 20px;
      border-radius: 12px;
      color: var(--lp-navy);
      background: #fff;
      box-shadow: 0 7px 17px rgba(44, 91, 125, 0.12);
      text-decoration: none;
      transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;

      &:hover,
      &:focus-visible {
        color: var(--lp-navy);
        box-shadow: 0 10px 22px rgba(44, 91, 125, 0.2);
        transform: translateY(-2px);
      }

      span {
        min-width: 0;
      }
      strong {
        display: block;
        font-size: clamp(15px, 1.35vw, 16px);
        line-height: 1.45;
      }
      small {
        display: block;
        margin-top: 2px;
        font-size: 14px;
        line-height: 1.4;
      }
    }

    .lp-service-index__icon {
      display: block;
      width: 48px;
      height: 48px;
      object-fit: contain;
    }

    .lp-service-index__arrow {
      display: block;
      width: 25px;
      height: 25px;
    }

    .lp-service-index__toggle {
      display: none;
    }

    .lp-measures {
      width: min(100%, 1100px);
      margin: clamp(60px, 8vw, 94px) auto 0;
      border-top: 1px solid #a9cfe5;
    }

    .lp-measure {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 43fr) minmax(0, 64fr);
      align-items: start;
      column-gap: 30px;
      row-gap: 20px;
      padding: clamp(34px, 4vw, 48px) 0;
      border-bottom: 1px solid #a9cfe5;
      scroll-margin-top: 30px;

      a {
        color: #333;
        text-decoration: underline;
        text-underline-offset: 3px;
        overflow-wrap: anywhere;
        word-break: break-word;
      }

      &.lp-measure--align-start {
        align-items: start;
      }

      &:last-child {
        border-bottom: 0;
      }
    }

    .lp-measure__content {
      display: contents;

      h3 {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        gap: 15px;
        width: fit-content;
        max-width: 100%;
        margin: 0;
        color: var(--lp-blue);
        background: linear-gradient(
          90deg,
          #080f6d 0%,
          #080f6d 48%,
          #006dca 76%,
          #009fc3 100%
        );
        background-clip: text;
        font-size: clamp(18px, 1.8vw, 24px);
        font-weight: 700;
        line-height: 1.5;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;

        span {
          display: grid;
          flex: 0 0 52px;
          width: 52px;
          height: 52px;
          border-radius: 50%;
          background: #fff;
          place-items: center;
        }

        img {
          width: 31px;
          height: 31px;
          object-fit: contain;
        }
      }

      p {
        grid-column: 1;
        min-width: 0;
        margin: 0 0 16px;
        color: #333;
        font-size: 16px;
        line-height: 2;

        &:last-child {
          margin-bottom: 0;
        }
      }

      .lp-measure__reference {
        text-decoration: underline;
        text-underline-offset: 3px;

        a {
          color: inherit;
        }
      }
    }

    .lp-measure__accordion {
      grid-column: 2;
      grid-row: 2;
      min-width: 0;
      max-width: 100%;
      padding: 0 20px;
      border-radius: 8px;
      background: rgba(225, 244, 255, 0.85);
      box-shadow: 0 4px 14px #2778be33;
      box-sizing: border-box;

      summary {
        position: relative;
        padding: 16px 40px 13px 0;
        border-bottom: 0;
        color: #006dca;
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
        list-style: none;

        &::-webkit-details-marker {
          display: none;
        }
        &::after {
          position: absolute;
          top: 50%;
          right: 0;
          width: 22px;
          height: 22px;
          background: url("img/ac-down.png") center / contain no-repeat;
          content: "";
          transform: translateY(-50%);
        }
      }

      &[open] summary::after {
        background-image: url("img/ac-up.png");
      }

      &[open] summary {
        border-bottom: 2px dotted #006dca;
      }

      ul {
        display: flex;
        flex-wrap: wrap;
        gap: 7px 20px;
        margin: 0;
        padding: 14px 0 4px;
        padding-bottom: 16px;
        color: #333;
        font-size: 14px;
        line-height: 1.6;
        list-style: none;

        li::before {
          display: inline-block;
          width: 16px;
          height: 16px;
          margin-right: 5px;
          background: url("img/check.png") center / contain no-repeat;
          content: "";
          vertical-align: -2px;
        }
      }

      p {
        margin: 9px 0 20px;
        color: #333333;
        font-size: 14px;
        line-height: 1.7;
      }
      h4 {
        margin: 14px 0 2px;
        color: #333333;
        font-size: 14px;

        &::before {
          display: inline-block;
          width: 16px;
          height: 16px;
          margin-right: 6px;
          background: url("img/check.png") center / contain no-repeat;
          content: "";
          vertical-align: -2px;
        }
      }

      &.lp-measure__accordion--media {
        > img {
          display: block;
          width: min(100%, 440px);
          height: auto;
          margin: 12px 0 0;
          border-radius: 4px;
        }
      }
    }

    #lp-measure-01 .lp-measure__accordion > ul,
    #lp-measure-03 .lp-measure__accordion > ul {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #lp-measure-03 .lp-measure__accordion > ul {
      grid-template-columns: max-content minmax(0, 1fr);
    }

    #lp-measure-03 .lp-measure__accordion > ul > li:nth-child(-n + 3) {
      grid-column: 1 / -1;
    }

    .lp-measure__samples {
      display: grid;
      gap: 15px;
      padding-top: 13px;

      figure {
        margin: 0;
      }

      figcaption {
        margin-bottom: 7px;
        color: #333333;
        font-size: 14px;

        &::before {
          display: inline-block;
          width: 16px;
          height: 16px;
          margin-right: 6px;
          background: url("img/check.png") center / contain no-repeat;
          content: "";
          vertical-align: -2px;
        }
      }

      img {
        display: block;
        width: min(100%, 440px);
        height: auto;
        border-radius: 4px;
      }
    }
  }

  .lp-report-cta {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: clamp(150px, 16vw, 230px) 24px clamp(145px, 15vw, 220px);
    padding-bottom: 0px;
    background: url("img/cta-b-2.png") center / cover no-repeat;
    box-sizing: border-box;
    overflow: hidden;

    .lp-report-cta__panel {
      position: relative;
      width: min(100%, 1200px);
      min-height: 775px;
      margin-inline: auto;
      padding: clamp(90px, 7.292vw, 105px) clamp(70px, 6.944vw, 100px)
        clamp(75px, 5.903vw, 85px);
      color: #fff;
      background: url("img/cta-b-p1.webp") center / 100% 100% no-repeat;
      box-sizing: border-box;
    }

    .lp-report-cta__body {
      position: relative;
      z-index: 2;
    }

    h2 {
      margin: 0 0 31px;
      color: #fff;
      font-size: clamp(30px, 3vw, 38px);
      font-weight: 700;
      line-height: 1.35;
    }

    .lp-report-cta__subtitle {
      margin: 0 0 28px;
      color: #fff;
      font-size: clamp(18px, 1.8vw, 24px);
      font-weight: 700;
      line-height: 1.55;
    }

    .lp-report-cta__columns {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.9fr);
      align-items: start;
      gap: 34px;
    }

    .lp-report-cta__copy {
      p:first-child {
        margin: 0;
        font-size: 16px;
        line-height: 2.15;
      }
    }

    .lp-report-cta__note {
      margin: 18px 0 10px;
      font-size: 14px;
      font-weight: 700;
      text-align: center;
    }

    .lp-report-cta__button {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      width: min(100%, 400px);
      height: 66px;
      margin-inline: auto;
      padding: 10px 20px;
      border-radius: 999px;
      color: #fff;
      background: linear-gradient(90deg, #ff4f0f 0%, #ffad19 100%);
      box-sizing: border-box;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
      transition:
        opacity 0.2s ease,
        transform 0.2s ease;

      &:hover,
      &:focus-visible {
        opacity: 0.86;
        transform: translateY(-2px);
      }

      span {
        font-size: 8px;
      }
    }

    .lp-report-cta__features {
      padding: 18px 21px 12px;
      border: 1px solid rgba(255, 255, 255, 0.35);
      border-radius: 6px;
      background: rgba(255, 255, 255, 0.08);

      h3 {
        margin: 0 0 16px;
        color: #fff;
        font-size: 20px;
      }

      ul {
        display: grid;
        gap: 11px;
        margin: 0;
        padding: 0;
        font-size: 14px;
        line-height: 1.45;
        list-style: none;
      }

      li::before {
        display: inline-block;
        width: 16px;
        height: 16px;
        margin-right: 4px;
        background: url("img/c-white.png") center / contain no-repeat;
        content: "";
        vertical-align: -3px;
      }
    }

    .lp-report-cta__movie {
      display: grid;
      grid-template-columns: 178px minmax(0, 1fr) 40px;
      align-items: center;
      gap: 16px;
      width: min(100% - 190px, 710px);
      min-height: 140px;
      margin: 38px auto 0;
      padding: 18px 20px;
      border-radius: 12px;
      color: #080f6d;
      background: #fff;
      box-sizing: border-box;
      text-decoration: none;

      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    .lp-report-cta__movie-copy {
      display: grid;
      gap: 8px;

      strong {
        font-size: clamp(16px, 1.7vw, 22px);
        line-height: 1.4;
      }

      small {
        font-size: 12px;
        line-height: 1.55;
      }
    }

    .lp-report-cta__movie-icon {
      display: block;
      width: 38px;
      height: 38px;
      object-fit: contain;
    }

    .lp-report-cta__decoration {
      position: absolute;
      z-index: 3;
      display: block;
      height: auto;
      pointer-events: none;
    }

    .lp-report-cta__decoration--data {
      top: clamp(-60px, -4.167vw, -44px);
      right: -3.75%;
      width: 24.17%;
    }

    .lp-report-cta__decoration--left {
      bottom: -0.39%;
      left: -4.92%;
      width: 20.42%;
    }

    .lp-report-cta__decoration--right {
      right: 6.25%;
      bottom: 9.03%;
      width: 9.33%;
    }

    @media (max-width: 1050px) {
      padding-block: 110px;

      .lp-report-cta__panel {
        min-height: 0;
        padding: 90px 70px 75px;
      }

      .lp-report-cta__columns {
        grid-template-columns: 1fr;
      }

      .lp-report-cta__features {
        width: min(100%, 560px);
        box-sizing: border-box;
      }

      .lp-report-cta__movie {
        width: min(100% - 80px, 710px);
      }

      .lp-report-cta__decoration--data {
        width: 220px;
      }

      .lp-report-cta__decoration--right {
        right: 25px;
        bottom: 45px;
        width: 90px;
      }
    }

    @media (max-width: 767px) {
      padding: 58px 12px;

      .lp-report-cta__panel {
        padding: 68px 24px 45px;
        border-radius: 16px;
        background-size: cover;
      }

      h2 {
        margin-bottom: 18px;
        padding-right: 52px;
        font-size: 27px;
      }

      .lp-report-cta__subtitle {
        margin-bottom: 22px;
        font-size: 17px;
      }

      .lp-report-cta__copy p:first-child {
        font-size: 13px;
        line-height: 1.9;
      }

      .lp-report-cta__button {
        height: 58px;
        padding-inline: 14px;
        font-size: 13px;
      }

      .lp-report-cta__features h3 {
        font-size: 16px;
      }

      .lp-report-cta__features ul {
        font-size: 13px;
      }

      .lp-report-cta__movie {
        grid-template-columns: 100px minmax(0, 1fr) 30px;
        gap: 10px;
        width: 100%;
        min-height: 0;
        margin-top: 28px;
        padding: 12px;
      }

      .lp-report-cta__movie-copy strong {
        font-size: 13px;
      }

      .lp-report-cta__movie-copy small {
        font-size: 9px;
      }

      .lp-report-cta__movie-icon {
        width: 30px;
        height: 30px;
      }

      .lp-report-cta__decoration--data {
        top: -20px;
        right: -20px;
        width: 125px;
      }

      .lp-report-cta__decoration--left {
        bottom: -10px;
        left: -30px;
        width: 105px;
        opacity: 0.85;
      }

      .lp-report-cta__decoration--right {
        right: -4px;
        bottom: 100px;
        width: 58px;
        opacity: 0.85;
      }
    }
  }

  .lp-mistakes-flow-bg {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(205, 232, 255, 0.08) 8%,
      rgba(208, 227, 243, 0.4) 34%,
      rgba(186, 213, 236, 0.4) 72%,
      rgba(186, 213, 236, 0.28) 88%,
      rgba(192, 225, 254, 0.1) 96%,
      rgba(192, 225, 254, 0) 100%
    );
  }

  .lp-mistakes {
    padding: clamp(66px, 8vw, 96px) 24px;
    background: transparent;

    .lp-mistakes__inner {
      width: min(100%, 1100px);
      margin-inline: auto;
    }

    .lp-mistakes__title {
      display: flex;
      align-items: center;
      gap: 13px;
      margin: 0 0 27px;
      color: var(--lp-navy);
      font-size: clamp(25px, 2.639vw, 38px);
      line-height: 1.35;
      img {
        width: clamp(49px, 5vw, 61px);
        height: auto;
      }
    }

    .lp-mistakes__lead {
      margin: 0 0 clamp(43px, 5vw, 60px);
      color: #333;
      font-size: 16px;
      line-height: 1.8;
    }
    .lp-mistakes__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 28px 30px;
      width: min(100%, 1100px);
      margin-inline: auto;
    }

    .lp-mistake-card {
      min-width: 0;
      padding: 25px 22px 27px;
      border: 8px solid #fff;
      border-radius: 12px;
      background: radial-gradient(circle at center, #fff 0%, #e0f2ff 100%);
      box-shadow: 0 5px 15px #2778be33;

      p {
        margin: 0;
        color: #333;
        font-size: 16px;
        line-height: 2;
      }
    }

    .lp-mistake-card__heading {
      display: grid;
      grid-template-columns: 38px minmax(0, 1fr);
      align-items: center;
      gap: 13px;
      margin-bottom: 19px;
      h3 {
        margin: 0;
        color: #006dca;
        font-size: clamp(15px, 1.35vw, 18px);
        line-height: 2;
        font-weight: 700;
      }
      img {
        display: block;
        width: 34px;
        height: 34px;
        object-fit: contain;
      }
    }

    @media (min-width: 768px) {
      .lp-mistakes__grid {
        width: min(100%, 1098px);
      }

      .lp-mistake-card {
        min-height: 334px;
        box-sizing: border-box;

        p {
          line-height: 1.6;
        }
      }

      .lp-mistake-card__heading h3 {
        line-height: 1.5;
      }
    }
  }

  .lp-flow {
    padding: clamp(67px, 8vw, 100px) 24px clamp(75px, 9vw, 110px);
    padding-top: 32px;
    background: transparent;

    .lp-flow__inner {
      width: min(100%, 1100px);
      margin-inline: auto;
    }
    .lp-flow__title {
      display: flex;
      align-items: center;
      gap: 13px;
      margin: 0 0 25px;
      color: var(--lp-navy);
      font-size: clamp(24px, 2.8vw, 38px);
      line-height: 1.4;
      img {
        width: clamp(49px, 5vw, 61px);
        height: auto;
      }
    }
    .lp-flow__lead {
      margin: 0 0 clamp(50px, 6vw, 70px);
      color: #333;
      font-size: 16px;
      line-height: 1.8;
    }
    .lp-flow__steps {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: clamp(30px, 4.5vw, 60px);
    }

    .lp-flow-step {
      position: relative;
      min-width: 0;

      .lp-flow-step__dots {
        position: absolute;
        top: 92px;
        left: calc(100% + 4px);
        display: flex;
        width: calc(clamp(30px, 4.5vw, 60px) - 8px);
        height: 18px;
        z-index: 2;
        align-items: center;
        justify-content: space-between;
        color: var(--lp-navy);
        line-height: 1;
        pointer-events: none;
        transform: translateY(-50%);

        span {
          display: block;

          &:nth-child(1) {
            font-size: 7px;
          }
          &:nth-child(2) {
            font-size: 11px;
          }
          &:nth-child(3) {
            font-size: 15px;
          }
        }
      }

      .lp-flow-step__number {
        margin: 0 0 -22px;
        color: var(--lp-navy);
        font-size: clamp(27px, 3vw, 36px);
        font-weight: 700;
        line-height: 1;
        font-family: "DM Sans", sans-serif;
      }
      .lp-flow-step__visual {
        width: clamp(145px, 15vw, 190px);
        aspect-ratio: 1;
        margin: 0 auto 24px;
        border-radius: 50%;
        overflow: hidden;
        img {
          display: block;
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }
      h3 {
        margin: 0 0 18px;
        color: var(--lp-blue);
        background: linear-gradient(
          100deg,
          #080f6d 0%,
          #006dca 58%,
          #009fc3 100%
        );
        background-clip: text;
        font-size: clamp(17px, 1.65vw, 20px);
        line-height: 1.5;
        text-align: center;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
      }
      > p:last-child {
        margin: 0;
        color: #333;
        font-size: 14px;
        line-height: 2;
      }
    }
  }

  .lp-pricing {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: clamp(63px, 8vw, 92px) 24px clamp(48px, 6vw, 70px);
    background: transparent;

    &::before {
      position: absolute;
      z-index: 0;
      inset: 0;
      background: #eaeff5;
      clip-path: circle(200vw at 50% calc(200vw + clamp(18px, 2.5vw, 36px)));
      content: "";
      pointer-events: none;
    }

    .lp-pricing__inner {
      position: relative;
      z-index: 1;
      width: min(100%, 1100px);
      margin-inline: auto;
      padding-top: 100px;
      @media (max-width: 767px) {
        padding-top: 0px;
      }
    }
    .lp-pricing__title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      margin: 0 0 30px;
      color: var(--lp-navy);
      font-size: clamp(28px, 3.4vw, 38px);
      line-height: 1.3;
      img {
        width: clamp(50px, 5.5vw, 65px);
        height: auto;
      }
    }
    .lp-pricing__lead {
      margin: 0 0 clamp(48px, 6vw, 68px);
      color: #333;
      font-size: 16px;
      line-height: 1.8;
      text-align: center;
    }
    .lp-pricing__table-wrap {
      overflow-x: auto;
      border-radius: 20px;
      outline-offset: 4px;
    }
    .lp-pricing__table {
      width: 100%;
      min-width: 760px;
      border-collapse: separate;
      border-spacing: 0;
      color: #333;
      background: transparent;
      font-size: 16px;

      th,
      td {
        padding: 20px 28px;
        border-right: 1px solid #e7e7e7;
        border-bottom: 1px solid #e7e7e7;
        vertical-align: middle;
      }
      thead th {
        color: #fff;
        background: #111878;
        font-size: 24px;
        font-weight: 700;
        text-align: center;
      }
      thead th:first-child {
        width: 24%;
        border: 0;
        background: transparent;
      }
      thead th:nth-child(2) {
        border-radius: 20px 0 0;
      }
      thead th:last-child {
        border-right: 0;
        border-radius: 0 20px 0 0;
      }
      tbody th {
        width: 24%;
        color: var(--lp-navy);
        background: #cfd8e9;
        font-size: 20px;
        text-align: center;
      }
      tbody td {
        width: 38%;
        background: #fff;
        text-align: center;
      }
      tbody tr:first-child th {
        border-radius: 20px 0 0;
      }
      tbody td:last-child {
        border-right: 0;
      }
      tbody tr:last-child th {
        border-bottom: 0;
        border-radius: 0 0 0 20px;
      }
      tbody tr:last-child td {
        border-bottom: 0;
        border-radius: 0 0 20px;
      }

      .lp-pricing__price {
        strong {
          display: block;
          color: var(--lp-blue);
          font-size: 38px;
          line-height: 1.2;
        }
        strong small {
          font-size: 0.42em;
        }
        span {
          display: block;
          margin-top: 5px;
          font-size: 14px;
        }
      }

      .lp-pricing__details,
      .lp-pricing__option {
        ul {
          margin: 0;
          padding: 0;
          list-style: none;
          text-align: left;
        }
        li {
          margin: 5px 0;
          line-height: 1.55;
        }
        li::before {
          margin-right: 5px;
          color: var(--lp-navy);
          content: "✓";
          font-weight: 700;
        }
      }

      .lp-pricing__option td {
        padding-block: 16px;
      }
      .lp-pricing__option ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px 32px;
      }
    }
    .lp-pricing__note {
      margin: 12px 0 0;
      color: #333;
      font-size: 14px;
      line-height: 1.7;
      a {
        color: #333333;
        text-decoration: underline;
      }
    }
  }

  .lp-faq {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: clamp(62px, 8vw, 92px) 24px clamp(68px, 8vw, 100px);
    padding-top: 0px;
    padding-bottom: 0px;
    box-sizing: border-box;
    background: linear-gradient(180deg, #eaeff5 0%, #eaeff5 72%, #fff 100%);

    .lp-faq__inner {
      width: min(100%, 1100px);
      margin-inline: auto;
    }
    .lp-faq__title {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 28px;
      color: var(--lp-navy);
      font-size: clamp(28px, 2.639vw, 38px);
      line-height: 1.35;
      img {
        width: clamp(50px, 5.5vw, 65px);
        height: auto;
      }
    }
    .lp-faq__lead {
      margin: 0 0 clamp(47px, 6vw, 67px);
      color: #333;
      font-size: 16px;
      line-height: 1.8;
    }
    .lp-faq__list {
      border-top: 1px solid #a9cfe5;
    }
    .lp-faq-item {
      border-bottom: 1px solid #a9cfe5;
    }
    .lp-faq-item summary {
      position: relative;
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr);
      align-items: center;
      gap: 14px;
      min-height: 72px;
      padding: 16px 50px 16px 0;
      color: var(--lp-navy);
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      list-style: none;

      &::-webkit-details-marker {
        display: none;
      }
      &::after {
        position: absolute;
        top: 50%;
        right: 8px;
        display: grid;
        width: 24px;
        height: 24px;
        color: #080f6d;
        background: none;
        content: "+";
        font-size: 24px;
        font-weight: 400;
        line-height: 1;
        transform: translateY(-50%);
        place-items: center;
      }
    }
    .lp-faq-item[open] summary::after {
      content: "−";
    }
    .lp-faq-item__q {
      display: grid;
      width: 36px;
      height: 36px;
      padding: 0;
      box-sizing: border-box;
      border-radius: 50%;
      color: #fff;
      background: linear-gradient(135deg, #101878, #0098b8);
      font-size: 20px;
      line-height: 1;
      letter-spacing: 0;
      text-align: center;
      place-items: center;
    }
    .lp-faq-item__answer {
      padding: 0 50px 23px 42px;
      p {
        margin: 0;
        color: #333;
        font-size: 16px;
        line-height: 1.9;
      }
    }
  }

  .lp-closing-cta {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    padding: min(10.4167vw, 150px) 0 min(3.4722vw, 50px);
    box-sizing: border-box;
    overflow-x: clip;
    overflow-y: visible;
    isolation: isolate;

    &::before {
      position: absolute;
      z-index: 0;
      top: max(-61px, -4.236vw);
      left: 50%;
      width: min(143.75vw, 2070px);
      aspect-ratio: 2070 / 1475;
      background: url("img/c-b2-parts2.webp") center / 100% 100% no-repeat;
      content: "";
      pointer-events: none;
      transform: translateX(-50%);
    }

    .lp-closing-cta__panel {
      position: relative;
      z-index: 1;
      width: min(86.1111vw, 1240px);
      min-height: min(75.9028vw, 1093px);
      margin-inline: auto;
      padding: clamp(90px, 7.292vw, 105px) clamp(70px, 6.944vw, 100px)
        clamp(85px, 7.708vw, 111px);
      color: #fff;
      background: url("img/c-b2-parts1.webp") center / 100% 100% no-repeat;
      box-sizing: border-box;
    }

    .lp-closing-cta__body {
      position: relative;
      z-index: 2;
    }

    h2 {
      margin: 0 0 30px;
      color: #fff;
      font-size: clamp(28px, 3vw, 38px);
      font-weight: 700;
      line-height: 1.4;
    }

    .lp-closing-cta__lead {
      margin: 0 0 26px;
      color: #fff;
      font-size: clamp(17px, 1.8vw, 24px);
      font-weight: 700;
      line-height: 1.9;

      strong {
        font-size: inherit;
      }
    }

    .lp-closing-cta__slides {
      margin: 0 0 20px;

      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    .lp-closing-cta__features {
      padding: 20px;
      border: 1px solid rgba(255, 255, 255, 0.35);
      border-radius: 6px;
      background: rgba(255, 255, 255, 0.06);

      h3 {
        margin: 0 0 13px;
        color: #fff;
        font-size: 20px;
      }

      ul {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 25px;
        margin: 0;
        padding: 0;
        font-size: 16px;
        line-height: 1.5;
        list-style: none;
      }

      li::before {
        margin-right: 4px;
        content: "✓";
      }
    }

    .lp-report-cta__movie {
      display: grid;
      grid-template-columns: 178px minmax(0, 1fr) 40px;
      align-items: center;
      gap: 16px;
      width: min(100% - 190px, 710px);
      min-height: 140px;
      margin: 38px auto 0;
      padding: 18px 20px;
      border-radius: 12px;
      color: #080f6d;
      background: #fff;
      box-sizing: border-box;
      text-decoration: none;

      > img:first-child {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    .lp-report-cta__movie-copy {
      display: grid;
      gap: 8px;

      strong {
        font-size: clamp(16px, 1.667vw, 24px);
        line-height: 1.4;
        letter-spacing: 1%;
      }

      small {
        font-size: 14px;
        line-height: 1.55;
        letter-spacing: 1%;
      }
    }

    .lp-report-cta__movie-icon {
      display: block;
      width: 38px;
      height: 38px;
      object-fit: contain;
    }

    .lp-closing-cta__note {
      margin: 0 0 10px;
      color: #fff;
      font-size: 14px;
      font-weight: 700;
      text-align: center;
    }

    .lp-closing-cta__actions {
      display: grid;
      grid-template-columns: 380px 260px;
      align-items: end;
      justify-content: center;
      gap: 20px;
      margin-top: 28px;
    }

    .lp-closing-cta__primary-group {
      width: 100%;
    }

    .lp-closing-cta__button {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      height: 64px;
      padding: 10px 20px;
      border: 2px solid #ff7a24;
      border-radius: 999px;
      box-sizing: border-box;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
      transition:
        opacity 0.2s ease,
        transform 0.2s ease;

      &:hover,
      &:focus-visible {
        opacity: 0.86;
        transform: translateY(-2px);
      }

      span[aria-hidden="true"] {
        font-size: 8px;
      }
    }

    .lp-closing-cta__button--primary {
      color: #fff;
      background: linear-gradient(90deg, #ff4f0f 0%, #ffad19 100%);
    }

    .lp-closing-cta__button--secondary {
      justify-content: space-between;
      color: #ff6818;
      background: #fff;
    }

    .lp-closing-cta__decoration {
      position: absolute;
      z-index: 3;
      display: block;
      height: auto;
      pointer-events: none;
    }

    .lp-closing-cta__decoration--data {
      top: clamp(-55px, -3.819vw, -40px);
      right: -3.75%;
      width: 24.17%;
    }

    .lp-closing-cta__decoration--left {
      bottom: 7.86%;
      left: -1.5%;
      width: 20.42%;
    }

    .lp-closing-cta__decoration--right {
      right: 6.25%;
      bottom: 9.25%;
      width: 9.33%;

      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    @media (max-width: 1050px) {
      padding-block: 110px;

      .lp-closing-cta__panel {
        min-height: 0;
        padding: 90px 70px 75px;
      }

      .lp-closing-cta__decoration--data {
        width: 220px;
      }

      .lp-closing-cta__decoration--right {
        right: 20px;
        width: 90px;
      }

      .lp-report-cta__movie {
        width: min(100% - 80px, 710px);
      }
    }

    @media (min-width: 768px) and (max-width: 1280px) {
      .lp-closing-cta__actions {
        position: relative;
        z-index: 5;
        grid-template-columns: minmax(0, 380px);
        gap: 14px;
        width: min(100%, 380px);
        margin-inline: auto;
      }

      .lp-closing-cta__button {
        width: 100%;
      }

      .lp-closing-cta__decoration--left {
        bottom: 8px;
        left: 0;
        width: clamp(130px, 18vw, 185px);
      }

      .lp-closing-cta__decoration--right {
        right: 0;
        bottom: 70px;
        width: clamp(64px, 8vw, 82px);
      }
    }

    @media (max-width: 767px) {
      padding: 0;
      background: none;

      &::before,
      &::after {
        position: absolute;
        z-index: 0;
        display: block;
        /* Show each half of the 869 × 1874 artwork without changing its proportions. */
        width: 300vw;
        aspect-ratio: 869 / 937;
        background: url("img/sp-p-ctap1.webp") center top / 100% auto no-repeat;
        content: "";
        pointer-events: none;
        transform: none;
        /* Fade the outer edges instead of clipping the glow at the section boundary. */
        -webkit-mask-image: linear-gradient(
          to bottom,
          transparent,
          #000 48px,
          #000 calc(100% - 48px),
          transparent
        );
        mask-image: linear-gradient(
          to bottom,
          transparent,
          #000 48px,
          #000 calc(100% - 48px),
          transparent
        );
      }

      &::before {
        top: -50vw;
        left: -132vw;
      }

      &::after {
        bottom: -75vw;
        left: -104vw;
        background-position: center bottom;
      }

      .lp-closing-cta__panel {
        width: 100%;
        padding: clamp(104px, 29.333vw, 110px) 36px 130px;
        border-radius: 0;
        background: none;
        overflow: visible;

        &::before {
          position: absolute;
          z-index: 0;
          inset: 24px -8px 0;
          background: url("img/sp-p-ctap2.webp") center / 100% 100% no-repeat;
          content: "";
          pointer-events: none;
        }
      }

      h2 {
        margin-bottom: 18px;
        margin-inline: -24px;
        padding-inline: 0;
        box-sizing: border-box;
        font-size: 24px;
        text-align: center;
        white-space: nowrap;
      }

      .lp-closing-cta__lead {
        margin-bottom: 20px;
        font-size: 15px;
        line-height: 1.8;
      }

      .lp-closing-cta__slides {
        display: grid;
        gap: 22px;
        margin: 0 0 44px;
        overflow: visible;
        margin-bottom: 20px;
        &::before,
        &::after {
          display: block;
          aspect-ratio: 5 / 3;
          border-radius: 4px;
          background-color: #fff;
          background-image: url("img/cta-data2.webp");
          background-size: 300% 100%;
          background-repeat: no-repeat;
          content: "";
        }

        &::before {
          order: 2;
          background-position: center;
        }

        &::after {
          order: 3;
          background-position: right center;
        }

        img {
          order: 1;
          width: 100%;
          max-width: 100%;
          aspect-ratio: 5 / 3;
          border-radius: 4px;
          background: #fff;
          object-fit: cover;
          object-position: left center;
        }
      }

      .lp-closing-cta__features h3 {
        font-size: 16px;
      }

      .lp-closing-cta__features ul {
        display: grid;
        gap: 8px;
        font-size: 13px;
      }

      .lp-report-cta__movie {
        grid-template-columns: 36% minmax(0, 1fr) 36px;
        gap: 14px 12px;
        width: 100%;
        min-height: 0;
        margin-top: 28px;
        margin-inline: auto;
        padding: 12px;

        > img:first-child {
          grid-column: 1;
          grid-row: 1;
          align-self: center;
        }
      }

      .lp-report-cta__movie-copy {
        display: contents;
      }

      .lp-report-cta__movie-copy strong {
        grid-column: 2 / -1;
        grid-row: 1;
        min-width: 0;
        font-size: 16px;
        line-height: 1.5;
        text-wrap: balance;
      }

      .lp-report-cta__movie-copy small {
        grid-column: 1 / 3;
        grid-row: 2;
        min-width: 0;
        font-size: 12px;
        line-height: 1.8;
      }

      .lp-report-cta__movie-icon {
        grid-column: 3;
        grid-row: 2;
        justify-self: end;
        width: 36px;
        height: 36px;
      }

      .lp-closing-cta__actions {
        grid-template-columns: 1fr;
        gap: 12px;
      }

      .lp-closing-cta__button {
        width: 100%;
        height: 56px;
        font-size: 13px;
      }

      .lp-closing-cta__button.lp-closing-cta__button--primary {
        justify-content: space-between;
        height: auto;
        min-height: 80px;
        padding: 16px 20px;
        font-size: clamp(14px, 4.8vw, 18px);
        line-height: 1.3;
        text-align: left;

        .lp-closing-cta__button-label {
          white-space: nowrap;
        }
      }

      .lp-closing-cta__decoration--data {
        top: 0;
        right: clamp(10px, 4vw, 18px);
        width: clamp(100px, 32vw, 120px);
      }

      .lp-closing-cta__decoration--left {
        bottom: -80px;
        left: 10px;
        width: 138px;
        opacity: 1;
      }

      .lp-closing-cta__decoration--right {
        top: calc(clamp(104px, 29.333vw, 110px) + 24px * 2.8 + 10px);
        right: auto;
        bottom: auto;
        /* Centered second line: keep the toe just to the left of its first glyph. */
        left: calc(50% - 144px - (78 / 375 * 100vw) * 0.44 - 4px);
        width: calc(78 / 375 * 100vw);
        opacity: 1;
        transform: translateY(-100%);
      }
    }
  }

  .lp-cta {
    position: relative;
    padding: 0 0 clamp(16px, 2vw, 24px);
    background: url("../lp/img/n-cta2.png") center / cover no-repeat;
    display: flex;
    align-items: center;
    aspect-ratio: 1440 / 620;
    background-size: auto;
    @media (max-width: 1024px) {
      background: none;
    }
    @media (width <= 1280px) {
      aspect-ratio: 1555 / 744;
      background-size: cover;
    }
    &::before {
      position: absolute;
      inset: -50px -4%;
      content: "";
      pointer-events: none;
    }

    .lp-cta__inner {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(145px, 0.75fr) minmax(520px, 2fr) minmax(
          210px,
          1fr
        );
      align-items: center;
      gap: 8px;
      width: min(100%, 1440px);
      aspect-ratio: 1440 / 620;
      margin-inline: auto;
    }

    .lp-cta__panel {
      position: absolute;
      z-index: 0;
      /* 1940 x 765の画像から、従来の1440 x 640相当範囲を表示する */
      max-width: none;
      height: auto;
      object-fit: contain;
      width: 100%;
    }

    .lp-cta__side {
      position: relative;
      z-index: 2;
      pointer-events: none;

      img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
      }

      &.lp-cta__side--left {
        align-self: start;
        padding-top: 0;
        transform: translate(
          clamp(8px, 0.833vw, 12px),
          clamp(70px, 6.25vw, 90px)
        );

        img {
          max-width: 242px;
          margin-left: auto;
        }
      }
      &.lp-cta__side--right {
        align-self: start;
        width: clamp(370px, 27.778vw, 410px);
        max-width: none;
        transform: translate(
          clamp(-50px, -3.472vw, -40px),
          clamp(88px, 11.986vw, 170px)
        );
      }

      &.lp-cta__side--bottom {
        display: none;
      }
    }

    .lp-cta__content {
      position: relative;
      z-index: 3;
      width: 100%;
      color: #fff;
      text-align: center;
      transform: translateY(4%);

      h2 {
        margin: 0 0 18px;
        color: #fff;
        font-size: clamp(21px, 2.639vw, 38px);
        line-height: 1.35;
      }
    }

    .lp-cta__break--sp {
      display: none;
    }

    .lp-cta__buttons {
      display: grid;
      grid-template-columns: 380px 260px;
      align-items: end;
      justify-content: center;
      gap: 16px;
    }

    .lp-cta__primary-group {
      width: min(100%, 380px);
      justify-self: center;

      p {
        margin: 0 0 10px;
        font-size: 14px;
      }
    }

    .lp-cta__button {
      display: flex;
      align-items: center;
      justify-content: space-evenly;
      gap: 12px;
      min-height: 48px;
      padding: 10px 20px;
      border: 2px solid #ff7a24;
      border-radius: 999px;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
      transition:
        opacity 0.2s ease,
        transform 0.2s ease;

      &:hover,
      &:focus-visible {
        opacity: 0.86;
        transform: translateY(-2px);
      }
      span[aria-hidden="true"] {
        font-size: 8px;
      }
    }

    .lp-cta__button--primary {
      width: min(100%, 380px);
      height: 64px;
      min-height: 64px;
      box-sizing: border-box;
      border-color: #ff6818;
      color: #fff;
      background: linear-gradient(90deg, #ff4d0d 0%, #ffa620 100%);
    }
    .lp-cta__button--secondary {
      width: min(100%, 260px);
      height: 64px;
      min-height: 64px;
      box-sizing: border-box;
      justify-content: space-between;
      justify-self: center;
      color: #ff7020;
      background: #fff;
    }
  }

  .lp-pricing + .lp-cta {
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    box-sizing: border-box;
    background-color: #eaeff5;

    @media (max-width: 767px) {
      .lp-cta__inner {
        background-image: url("img/cta-sp-rb.webp");
      }
    }
  }

  @media (min-width: 768px) and (max-width: 1280px) {
    .lp-cta {
      .lp-cta__inner {
        grid-template-columns:
          minmax(100px, 0.7fr) minmax(360px, 1.8fr)
          minmax(120px, 0.8fr);
        min-height: 520px;
        padding-inline: 12px;
        aspect-ratio: auto;
        box-sizing: border-box;
      }

      .lp-cta__panel {
        width: 100%;
        height: auto;
        object-fit: contain;
      }

      .lp-cta__buttons {
        grid-template-columns: minmax(0, 380px);
        gap: 12px;
        width: min(100%, 380px);
        margin-inline: auto;
      }

      .lp-cta__primary-group,
      .lp-cta__button--primary,
      .lp-cta__button--secondary {
        width: 100%;
      }

      .lp-cta__side.lp-cta__side--left {
        align-self: start;
        padding-top: 0;
        transform: translate(8px, clamp(70px, 6.25vw, 80px));
      }

      .lp-cta__side.lp-cta__side--right {
        align-self: start;
        width: auto;
        max-width: 100%;
        transform: translate(-8px, clamp(88px, 11.986vw, 154px));
      }
    }
  }

  @media (max-width: 1050px) {
    .lp-advantage {
      .lp-advantage__monitor {
        grid-template-columns: 1fr;
        gap: 38px;
      }

      .lp-advantage__monitor figure {
        width: min(100%, 750px);
        margin-inline: auto;
      }

      .lp-advantage__screen-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 20px;

        figcaption {
          max-width: 100%;
          box-sizing: border-box;
          line-height: 1.4;
          text-align: center;
          white-space: normal;
        }
      }
    }

    .lp-about {
      .lp-about__body {
        grid-template-columns: 1fr;
      }

      .lp-about__visual {
        width: min(100%, 700px);
        margin-inline: auto;
      }
    }

    .lp-terms {
      .lp-terms__inner {
        grid-template-columns: 1fr;
        gap: 58px;
      }

      .lp-definition {
        width: min(100%, 560px);
        margin: 24px auto 0;
        transform: none;
      }
    }

    .lp-service {
      .lp-service-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .lp-measure {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
      }

      .lp-measure__content {
        h3,
        p {
          grid-column: 1;
        }
      }

      .lp-measure__accordion {
        grid-column: 1;
        grid-row: auto;
      }
    }
  }

  @media (max-width: 820px) {
    .lp-terms {
      .lp-definition {
        width: min(100%, 410px);
        margin: 20px auto 0;
        transform: none;
      }

      .lp-definition__bubble {
        min-height: 190px;
        padding: 26px 45px 22px;
        border-radius: 999px;

        p {
          font-size: 14px;
          line-height: 1.75;

          br {
            display: initial;
          }
        }
      }

      .lp-definition__icon {
        top: -38px;
        right: 12%;
        width: 62px;
      }

      .lp-definition__tail {
        top: -23px;
        bottom: auto;
        left: 52%;
        transform: rotate(180deg) scaleX(-1);
      }

      .lp-definition__title {
        margin-bottom: 14px;
        font-size: 24px;
      }
    }
  }

  @media (max-width: 767px) {
    .lp-section-inner {
      width: calc(100% - 40px);
      padding-inline: 0;
    }

    .lp-lead {
      padding: 48px 15px 40px;
      padding-bottom: 0px;

      .lp-lead__title {
        margin-bottom: 28px;
        font-size: clamp(22px, 7vw, 30px);

        .lp-lead__title-main {
          line-height: 1.55;
        }
      }

      .lp-lead__body {
        grid-template-columns: 1fr;
        gap: 28px;
      }

      .lp-lead__catch {
        margin-bottom: 20px;
        font-size: 16px;
      }

      .lp-lead__text {
        font-size: 13px;
        line-height: 1.85;
      }

      .lp-lead__visual {
        width: min(100%, 480px);
        margin-inline: auto;
      }
    }

    .lp-movie {
      padding: 0;

      .lp-movie__title {
        margin-bottom: 14px;
        font-size: 16px;
      }
    }

    .lp-text-marquee.lp-text-marquee--movie {
      padding: 24px 16px 45px;

      .lp-text-marquee__track {
        bottom: calc(45px + min(calc(28.125vw - 9px), 140.625px) - 70px);
        height: 140px;
      }
    }

    .lp-section-heading {
      padding: 24px 20px;

      .lp-section-heading__title {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: center;
        gap: 2px 12px;
        justify-content: start;
      }

      .lp-section-heading__point {
        grid-row: 1 / 3;
        width: 58px;
      }

      .lp-section-heading__main {
        font-size: clamp(25px, 8vw, 34px);
      }

      .lp-section-heading__sub {
        font-size: clamp(16px, 5.4vw, 22px);
      }
    }

    .lp-about {
      padding: 0 0 48px;

      .lp-about__title {
        margin-bottom: 22px;
        font-size: clamp(20px, 6vw, 27px);
      }

      .lp-about__body {
        grid-template-columns: 1fr;
        gap: 30px;
      }

      .lp-about__text {
        font-size: 15px;
        line-height: 1.9;

        p {
          margin-bottom: 22px;
        }
      }

      .lp-about__visual {
        width: min(100%, 620px);
        margin-inline: auto;
      }
    }

    .lp-terms {
      padding: 48px 0 0;

      .lp-terms__inner {
        grid-template-columns: 1fr;
        gap: 50px;
      }

      .lp-terms__title {
        margin-bottom: 18px;
        font-size: 19px;
      }

      .lp-terms__cards {
        grid-template-columns: 1fr;
        gap: 18px;
      }

      .lp-term-card {
        width: 100%;
        padding: 16px 18px 18px;
      }

      .lp-term-card__title {
        font-size: 17px;
      }

      .lp-term-card__row {
        column-gap: 8px;
        font-size: 14px;
      }
    }

    .lp-reasons-intro {
      padding: 35px 20px 64px;

      .lp-reasons-intro__eyebrow {
        font-size: 15px;
      }

      .lp-reasons-intro__title {
        font-size: 28px;

        img {
          width: 44px;
        }
      }

      .lp-reasons-intro__lead {
        margin-top: 20px;
        font-size: 12px;
        text-align: left;
      }

      .lp-reasons__body {
        grid-template-columns: 1fr;
        margin-top: 56px;
      }

      .lp-reasons__person {
        width: 82px;
        margin: 0 auto 42px;
      }

      .lp-reasons__cards {
        gap: 48px;
      }

      .lp-reason-card {
        padding: 28px 11px 20px;
      }

      .lp-reason-card__label {
        top: -27px;
        min-width: 105px;
        height: 28px;
        padding-inline: 15px;
        font-size: 16px;
      }

      .lp-reason-card__content {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .lp-reason-card__text {
        h3 {
          margin-bottom: 14px;
          font-size: 17px;
        }

        p {
          font-size: 13px;
          line-height: 1.9;
        }
      }

      .lp-reason-card__visual {
        width: min(100%, 300px);
        margin-inline: auto;
      }
    }

    .lp-strengths {
      width: calc(100% - 0px);
      padding: 45px 14px;
      border-radius: 12px;

      .lp-strengths__title {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 30px;
        font-size: 21px;

        img {
          width: 43px;
          margin-top: 2px;
        }
      }

      .lp-strengths__grid {
        grid-template-columns: 1fr;
        gap: 18px;
      }

      .lp-strength-card {
        padding: 20px 18px 22px;
      }

      .lp-strength-card__icon {
        width: 72px;
      }

      .lp-strength-card__heading {
        gap: 13px;

        h3 {
          font-size: 17px;
        }
      }

      .lp-strength-card__number {
        font-size: 43px;
      }

      .lp-strength-card__text {
        font-size: 13px;
        line-height: 1.85;
      }
    }

    .lp-results {
      padding: 56px 20px;
      padding-bottom: 0px;

      .lp-results__title {
        display: grid;
        grid-template-columns: 45px minmax(0, 1fr);
        gap: 3px 10px;
        margin-bottom: 60px;
        font-size: 22px;

        img {
          grid-row: 1 / 3;
          width: 45px;
        }

        small {
          align-self: auto;
          margin: 0;
          font-size: 12px;
        }
      }

      .lp-results__list {
        gap: 22px;
      }

      .lp-result-card {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 18px 15px;
        border-width: 3px;
        @media (max-width: 767px) {
          border-width: 10px;
        }
      }

      .lp-result-card__data {
        h3 {
          font-size: 18px;

          br {
            display: none;
          }
        }
      }

      .lp-result-card__text {
        font-size: 13px;
        line-height: 1.85;

        .lp-result-card__break--desktop-only {
          display: none;
        }
      }
    }

    .lp-advantage {
      padding: 52px 20px 48px;
      padding-bottom: 12px;

      .lp-advantage__title {
        margin-bottom: 44px;
        font-size: 25px;
      }
      .lp-advantage__analysis,
      .lp-advantage__monitor {
        grid-template-columns: 1fr;
        gap: 30px;
      }
      .lp-advantage__copy h3 {
        font-size: 28px;
      }
      .lp-advantage__device {
        grid-row: 2;
      }

      .lp-advantage__metrics {
        grid-template-columns: 1fr;
        gap: 14px;
        margin: 24px auto 0px;
      }

      .lp-advantage__monitor {
        margin-bottom: 30px;
      }

      .lp-advantage__monitor-text {
        order: 1;
      }

      .lp-advantage__monitor figure {
        order: 2;
      }

      .lp-advantage__monitor-text h3 {
        font-size: 27px;
      }
      .lp-advantage__screen-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
      }
      .lp-advantage__screen-grid figcaption {
        padding-inline: 10px;
        font-size: 14px;
      }
    }

    .lp-conversion {
      width: calc(100% - 24px);
      padding: 60px 14px 60px;
      border-radius: 20px;
      @media (max-width: 480px) {
        width: 100%;
      }

      .lp-conversion__intro {
        grid-template-columns: minmax(0, 1fr) calc(134 / 375 * 100vw);
        align-items: start;
        gap: 24px 10px;
      }
      .lp-conversion__content {
        display: contents;
      }
      .lp-conversion__headline {
        grid-column: 1;
        grid-row: 2;
        align-self: center;
        display: grid;
        grid-template-columns: calc(40 / 375 * 100vw) minmax(0, 1fr);
        gap: 10px 8px;
        margin: 0;
        font-size: 20px;

        > img {
          width: calc(40 / 375 * 100vw);
          align-self: start;
          margin-top: -14px;
        }

        > .lp-sp-flex-break {
          display: none;
        }
      }
      .lp-conversion__headline strong {
        grid-column: 2;
        justify-self: start;
        white-space: nowrap;
        font-size: 52px;
      }
      .lp-conversion__content h2 {
        grid-column: 1 / -1;
        grid-row: 1;
        margin-bottom: 0;
        white-space: normal;
      }
      .lp-conversion__visual {
        grid-column: 2;
        grid-row: 2;
        width: calc(134 / 375 * 100vw);
        margin: 0;
        padding-bottom: 0;
        align-self: end;
        justify-self: end;
      }
      .lp-conversion__note {
        grid-column: 1 / -1;
        grid-row: 3;
        margin: 0;
      }
      .lp-conversion__text {
        grid-column: 1 / -1;
        grid-row: 4;
      }
      .lp-conversion__chart-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
      }
      .lp-conversion__chart {
        position: relative;
        z-index: 1;
        grid-row: 2;
        margin-top: -14px;
      }
      .lp-conversion__bubble {
        grid-row: 1;
        width: min(92%, 320px);
        min-height: 170px;
        margin-inline: auto;
        padding: 24px 20px;
        box-sizing: border-box;
        box-shadow:
          0 8px 24px rgba(8, 15, 109, 0.28),
          0 0 0 1px rgba(39, 120, 190, 0.18);
        font-size: 16px;
        transform: translateY(-8px);

        &::after {
          bottom: -18px;
          left: 50%;
          width: 48px;
          height: 48px;
          transform: translateX(-50%);
        }
      }
      .lp-conversion__closing p {
        font-size: 14px;
        line-height: 1.7;
      }
    }

    .lp-pages {
      padding: 55px 16px;
      .lp-pages__nav {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 6px 0;
      }
      .lp-pages__nav a {
        grid-column: span 2;
        justify-content: center;
        gap: 8px;
        min-height: 34px;
        padding: 4px 0;
        font-size: 12px;
      }
      .lp-pages__nav a:nth-child(-n + 2) {
        grid-column: span 3;
      }
      .lp-pages__nav a:first-child,
      .lp-pages__nav a:last-child {
        justify-content: center;
      }
      .lp-pages__nav a img {
        width: 20px;
        height: 20px;
      }
      .lp-pages__nav a:not(:last-child)::after {
        display: none;
      }
      .lp-page-card {
        padding: 18px 16px 14px;
        border-width: 10px;
      }
      .lp-page-card__body {
        grid-template-columns: 1fr;
        gap: 20px;
      }
      .lp-page-card__body img {
        width: min(100%, 430px);
        margin-inline: auto;
      }
      .lp-page-card__accordion ul {
        grid-template-columns: 1fr;
      }
    }

    .lp-service {
      padding: 38px 20px 16px;

      &::before {
        top: 90px;
      }

      .lp-service__intro-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 125px auto;
        gap: 18px 0;
        width: min(100%, 420px);
      }

      .lp-service__illustration {
        grid-row: 1;
        height: 125px;
      }
      .lp-service__illustration.lp-service__illustration--left {
        grid-column: 1;
        width: 75%;
        justify-self: start;
        object-position: left bottom;
        transform: translate(-12px, 34px);
      }
      .lp-service__illustration.lp-service__illustration--right {
        grid-column: 2;
        width: 88%;
        justify-self: end;
        object-position: right bottom;
      }
      .lp-service__heading {
        z-index: 1;
        grid-row: 2;
        grid-column: 1 / -1;
      }
      .lp-service__heading p {
        font-size: 12px;
      }
      .lp-service__heading h2 {
        font-size: clamp(20px, 6vw, 27px);
      }
      .lp-service__lead {
        margin-top: 16px;
        font-size: 12px;
        text-align: left;
      }

      .lp-service-index {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 34px;
      }
      .lp-service-index__item {
        grid-template-columns: 45px minmax(0, 1fr) 24px;
        min-height: 82px;
        padding: 14px 16px;
      }
      .lp-service-index__icon {
        width: 40px;
        height: 40px;
      }
      .lp-service-index__arrow {
        width: 23px;
        height: 23px;
      }
      .lp-service-index__item strong {
        font-size: 15px;
      }
      .lp-service-index__item small {
        font-size: 12px;
      }
      .lp-service-index.is-collapsible:not(.is-expanded)
        .lp-service-index__item:nth-child(n + 4) {
        display: none;
      }
      .lp-service-index.is-collapsible .lp-service-index__toggle {
        display: grid;
        place-items: center;
        justify-self: center;
        width: 44px;
        height: 30px;
        margin: -4px 0 0;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
      }
      .lp-service-index.is-collapsible .lp-service-index__toggle img {
        display: block;
        width: 16px;
        height: auto;
      }
      .lp-service-index.is-collapsible
        .lp-service-index__toggle
        .lp-service-index__toggle-icon--collapse {
        display: none;
      }
      .lp-service-index.is-collapsible.is-expanded
        .lp-service-index__toggle
        .lp-service-index__toggle-icon--expand {
        display: none;
      }
      .lp-service-index.is-collapsible.is-expanded
        .lp-service-index__toggle
        .lp-service-index__toggle-icon--collapse {
        display: block;
      }

      .lp-measures {
        margin-top: 54px;
      }
      .lp-measure {
        grid-template-columns: minmax(0, 1fr);
        gap: 25px;
        padding: 34px 0;
      }
      .lp-measure__content h3 {
        grid-column: 1;
      }
      .lp-measure__content p {
        grid-column: 1;
      }
      .lp-measure__accordion {
        grid-column: 1;
        grid-row: auto;
      }
      .lp-measure__content h3 {
        align-items: flex-start;
        gap: 12px;
        font-size: 18px;
      }
      .lp-measure__content h3 span {
        flex-basis: 45px;
        width: 45px;
        height: 45px;
      }
      .lp-measure__content h3 img {
        width: 27px;
        height: 27px;
      }
      .lp-measure__content p {
        font-size: 13px;
        line-height: 1.9;
      }
      .lp-measure__accordion {
        padding-inline: 16px;
        a {
          font-size: 12px;
        }
      }
      #lp-measure-01 .lp-measure__accordion > ul,
      #lp-measure-03 .lp-measure__accordion > ul {
        grid-template-columns: 1fr;
      }
    }

    .lp-mistakes {
      padding: 120px 20px;
      padding-bottom: 60px;
      .lp-mistakes__title {
        align-items: flex-start;
        font-size: 25px;
      }
      .lp-mistakes__lead {
        margin-bottom: 34px;
        font-size: 12px;
      }
      .lp-mistakes__grid {
        grid-template-columns: 1fr;
        gap: 18px;
      }
      .lp-mistake-card {
        padding: 21px 18px 23px;
        border-width: 10px;
      }
      .lp-mistake-card__heading h3 {
        font-size: 16px;
      }
      .lp-mistake-card p {
        font-size: 13px;
        line-height: 1.9;
      }
    }

    .lp-flow {
      padding: 54px 20px 65px;
      .lp-flow__title {
        align-items: flex-start;
        font-size: 24px;
      }
      .lp-flow__lead {
        margin-bottom: 42px;
        font-size: 12px;
      }
      .lp-flow__steps {
        grid-template-columns: minmax(0, 1fr);
        gap: 60px;
      }
      .lp-flow-step {
        padding-left: 0;
      }
      .lp-flow-step .lp-flow-step__dots {
        top: auto;
        bottom: -40px;
        left: calc(50% - 100px + 24vw);
        flex-direction: column;
        width: 18px;
        height: 36px;
        transform: translateX(-50%);
      }
      .lp-flow-step .lp-flow-step__number {
        position: absolute;
        z-index: 1;
        top: -6px;
        left: calc(50% - 124px);
        margin: 0;
        font-size: 29px;
      }
      .lp-flow-step .lp-flow-step__visual {
        width: calc(180 / 375 * 100vw);
        margin-right: 0;
        margin-bottom: 20px;
        margin-left: calc(50% - 100px);
      }
      .lp-flow-step h3 {
        width: max-content;
        min-width: 155px;
        margin-right: 0;
        margin-left: calc(50% - 100px);
        font-size: 18px;
        text-align: center;
        white-space: nowrap;
      }
      .lp-flow-step > p:last-child {
        font-size: 13px;
        line-height: 1.9;
      }
    }

    .lp-pricing {
      padding: 52px 20px 48px;
      padding-bottom: 0px;
      .lp-pricing__title {
        font-size: 29px;
      }
      .lp-pricing__lead {
        margin-bottom: 36px;
        font-size: 12px;
        text-align: left;
      }
      .lp-pricing__table-wrap {
        border-radius: 12px;
      }
      .lp-pricing__table th,
      .lp-pricing__table td {
        padding: 16px 20px;
      }
      .lp-pricing__note {
        font-size: 10px;
      }
    }

    .lp-faq {
      padding: 52px 20px 65px;
      padding-top: 0px;
      .lp-faq__title {
        font-size: 29px;
      }
      .lp-faq__lead {
        margin-bottom: 36px;
        font-size: 12px;
      }
      .lp-faq-item summary {
        min-height: 68px;
        padding-right: 36px;
        font-size: 13px;
      }
      .lp-faq-item__answer {
        padding: 0 10px 22px 42px;
      }
      .lp-faq-item__answer p {
        font-size: 13px;
      }
    }

    .lp-cta {
      padding: 38px 12px;
      .lp-cta__inner {
        grid-template-columns: 1fr;
        min-height: 440px;
        aspect-ratio: auto;
      }
      .lp-cta__panel {
        inset: auto;
        top: -4.3375%;
        left: -23.611%;
        width: 134.722%;
        height: 109.969%;
      }
      .lp-cta__side {
        position: absolute;
        bottom: 0;
        opacity: 0.55;
      }
      .lp-cta__side--left {
        left: -12px;
        width: 42%;
        padding-top: 0;
        transform: none;
      }
      .lp-cta__side--right {
        right: -12px;
        width: 55%;
        transform: none;
      }
      .lp-cta__content {
        width: calc(100% - 38px);
        margin: 70px auto 0;
        align-self: start;
      }
      .lp-cta__content {
        transform: none;
      }
      .lp-cta__content h2 {
        margin-bottom: 20px;
        font-size: 25px;
      }
      .lp-cta__buttons {
        grid-template-columns: 1fr;
        gap: 12px;
      }
      .lp-cta__button {
        min-height: 52px;
        padding: 10px 17px;
        font-size: 13px;
      }
    }
  }

  @media (max-width: 1024px) {
    .lp-cta {
      display: block;
      padding: 0;
      aspect-ratio: auto;

      .lp-cta__inner {
        position: relative;
        display: block;
        width: min(100%, 600px);
        min-height: 0;
        padding: 0;
        aspect-ratio: 680 / 1000;
        background: url("img/cta-sp-bn.webp") center / 100% 100% no-repeat;
        box-sizing: border-box;
      }

      .lp-cta__panel {
        display: none;
      }

      .lp-cta__side {
        position: absolute;
        z-index: 2;
        bottom: auto;
        opacity: 1;

        picture,
        img {
          display: block;
          width: 100%;
          height: auto;
        }
      }

      .lp-cta__side.lp-cta__side--left {
        top: 7.5%;
        left: 7%;
        width: 12%;
        padding: 0;
        transform: scaleX(-1);
      }

      .lp-cta__side.lp-cta__side--right {
        top: 25%;
        right: 0;
        width: 19%;
        max-width: none;
        aspect-ratio: 1;
        background: url("img/cta-data.webp") center / contain no-repeat;
        transform: none;

        picture {
          display: none;
        }
      }

      .lp-cta__side.lp-cta__side--bottom {
        bottom: 8%;
        left: 50%;
        display: block;
        width: 34%;
        transform: translateX(-50%);
      }

      .lp-cta__content {
        position: absolute;
        z-index: 3;
        top: 20%;
        left: 50%;
        width: 70%;
        margin: 0;
        transform: translateX(-50%);
      }

      .lp-cta__content h2 {
        margin-bottom: clamp(14px, 2.4vw, 22px);
        font-size: clamp(19px, 4.2vw, 32px);
      }

      .lp-cta__buttons {
        grid-template-columns: 1fr;
        gap: clamp(18px, 2vw, 16px);
        width: 100%;
      }

      .lp-cta__primary-group,
      .lp-cta__button--primary,
      .lp-cta__button--secondary {
        width: 100%;
      }

      .lp-cta__primary-group p {
        margin-bottom: clamp(6px, 1.2vw, 10px);
        font-size: clamp(12px, 1.8vw, 14px);
      }

      .lp-cta__button {
        min-height: clamp(44px, 7vw, 60px);
        padding: 8px clamp(14px, 2.4vw, 20px);
        font-size: clamp(13px, 2.3vw, 17px);
      }

      .lp-cta__button--secondary {
        height: clamp(44px, 7vw, 60px);
        min-height: clamp(48px, 7vw, 60px);
      }

      .lp-cta__button--primary {
        height: auto;
        min-height: clamp(60px, 16vw, 72px);
        justify-content: space-between;
        line-height: 1.35;
        text-align: left;
        white-space: normal;
        overflow-wrap: anywhere;
      }
    }
  }
}

@keyframes lp-text-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes lp-text-scroll-movie {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes lp-pc-slide-scroll {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lp-page {
    .lp-text-marquee {
      .lp-text-marquee__track {
        animation-play-state: paused;
      }
    }
  }
}

#content:has(.lp-page) {
  display: block;
  margin: 0;
  margin-inline: auto;
  max-width: none;
  padding: 0;
}

#content:has(.lp-page) > .lp-page {
  width: 100%;
}

/* LP限定 */
body:has(.lp-page) {
  .l-container {
    max-width: 100%;
  }
  #body_wrap {
    .cta-wrap {
      margin-inline: auto;
      margin-bottom: 80px !important;
      margin-top: 80px !important;
    }
    .b-list-pt {
      background-color: #fff !important;
    }
  }
  .p-blogParts:has(.auh-wrap) {
    margin: 24px;
    @media (max-width: 767px) {
      margin-top: 100px;
    }
    .auh-wrap {
      max-width: 1200px;
      margin-inline: auto;
      margin-bottom: 88px !important;
    }
  }
}

.lp-mobile-fixed-bar {
  display: none;
}

/* Figma mobile typography (design_sp_v1 / 375px) */
@media (max-width: 767px) {
  .lp-page {
    .lp-sp-break {
      display: initial;
    }

    .lp-sp-flex-break {
      display: block;
      flex-basis: 100%;
      width: 0;
      height: 0;
    }

    .lp-eyecatch {
      .lp-eyecatch__eyebrow {
        font-size: 18px;
      }

      .lp-eyecatch__title {
        font-size: 26px;
      }

      .lp-eyecatch__points,
      .lp-eyecatch__button {
        font-size: 14px;
      }
    }

    .lp-lead {
      .lp-lead__title {
        font-size: 24px;
      }

      .lp-lead__title .lp-lead__title-top,
      .lp-lead__catch {
        font-size: 18px;
      }

      .lp-lead__text {
        font-size: 14px;
        letter-spacing: 2%;
      }
    }

    .lp-movie .lp-movie__title {
      font-size: 14px;
    }

    .lp-section-heading {
      .lp-section-heading__main {
        font-size: 24px;
      }

      .lp-section-heading__sub {
        font-size: 14px;
      }
    }

    .lp-about {
      .lp-about__title {
        font-size: 18px;
      }

      .lp-about__text {
        font-size: 14px;
      }
    }

    .lp-terms {
      .lp-terms__title {
        font-size: 16px;
      }

      .lp-term-card__title {
        font-size: 14px;
      }

      .lp-term-card__row {
        font-size: 12px;
      }

      .lp-definition__title {
        font-size: 20px;
      }

      .lp-definition__bubble p {
        font-size: 14px;
      }
    }

    .lp-reasons-intro {
      .lp-reasons-intro__eyebrow {
        font-size: 18px;
      }

      .lp-reasons-intro__title {
        font-size: 24px;
      }

      .lp-reasons-intro__lead,
      .lp-reason-card__label,
      .lp-reason-card__text p {
        font-size: 14px;
      }

      .lp-reason-card__text h3 {
        font-size: 18px;
      }
    }

    .lp-strengths {
      .lp-strengths__title {
        font-size: 24px;
      }

      .lp-strength-card__number {
        font-size: 48px;
      }

      .lp-strength-card__heading h3 {
        font-size: 20px;
      }

      .lp-strength-card__heading h3 small,
      .lp-strength-card__text {
        font-size: 14px;
      }

      .lp-strength-card:last-child .lp-strength-card__text {
        font-size: 16px;
      }
    }

    .lp-results {
      .lp-results__title {
        font-size: 24px;
      }

      .lp-results__title small,
      .lp-result-card__tag,
      .lp-result-card__text {
        font-size: 14px;
      }

      .lp-result-card__data h3 {
        font-size: 18px;
      }
    }

    .lp-advantage {
      .lp-advantage__title,
      .lp-advantage__copy h3,
      .lp-advantage__monitor-text h3 {
        font-size: 24px;
      }

      .lp-advantage__note,
      .lp-advantage__monitor-text,
      .lp-advantage__monitor-text h4,
      .lp-advantage__metrics span,
      .lp-advantage__metrics strong small,
      .lp-advantage__screen-grid figcaption {
        font-size: 14px;
      }

      .lp-advantage__metrics strong {
        font-size: 24px;
      }

      .lp-advantage__screens h3 {
        font-size: 18px;
      }
    }

    .lp-guide-cta {
      .lp-guide-cta__message {
        font-size: 18px;
      }

      .lp-guide-cta__copy h2,
      .lp-guide-cta__copy h2 > span {
        font-size: clamp(17px, 5.35vw, 24px);
      }

      .lp-guide-cta__copy h2 strong {
        font-size: clamp(36px, 10.7vw, 46px);
      }

      .lp-guide-cta__lead,
      .lp-guide-cta__features h3,
      .lp-guide-cta__features ul,
      .lp-guide-cta__primary-group p {
        font-size: 14px;
      }

      .lp-guide-cta__button,
      .lp-guide-cta__button--secondary {
        font-size: 14px;
      }
    }

    .lp-conversion {
      .lp-conversion__content h2 {
        font-size: 24px;
      }

      .lp-conversion__headline {
        font-size: 24px;
      }

      .lp-conversion__headline strong {
        font-size: 42px;
      }

      .lp-conversion__note {
        font-size: 12px;
      }

      .lp-conversion__text {
        font-size: 14px;
      }

      .lp-conversion__bubble {
        font-size: 20px;
      }

      .lp-conversion__closing p {
        font-size: 18px;
        width: 90%;
        margin-inline: auto;
      }
    }

    .lp-pages {
      .lp-pages__eyebrow {
        font-size: 18px;
      }

      .lp-pages__title {
        font-size: 24px;
      }

      .lp-pages__lead,
      .lp-pages__nav a,
      .lp-page-card__body p,
      .lp-page-card__accordion summary {
        font-size: 14px;
      }

      .lp-page-card__body h3 {
        font-size: 18px;
      }

      .lp-page-card__body h3 span {
        font-size: 36px;
      }

      .lp-page-card__accordion ul {
        font-size: 12px;
      }
    }

    .lp-service {
      .lp-service__heading p {
        font-size: 18px;
      }

      .lp-service__heading h2 {
        font-size: 24px;
      }

      .lp-service__lead,
      .lp-service-index__item strong,
      .lp-measure__content p,
      .lp-measure__accordion summary,
      .lp-measure__accordion p,
      .lp-measure__accordion h4,
      .lp-measure__samples figcaption {
        font-size: 14px;
      }

      .lp-service-index__item small,
      .lp-measure__accordion ul {
        font-size: 12px;
      }

      .lp-measure__content h3 {
        font-size: 18px;
      }
    }

    .lp-report-cta {
      h2 {
        font-size: 24px;
      }

      .lp-report-cta__subtitle {
        font-size: 18px;
      }

      .lp-report-cta__copy p:first-child,
      .lp-report-cta__note,
      .lp-report-cta__features ul {
        font-size: 14px;
      }

      .lp-report-cta__features h3,
      .lp-report-cta__button,
      .lp-report-cta__movie-copy strong {
        font-size: 16px;
      }

      .lp-report-cta__movie-copy small {
        font-size: 12px;
      }
    }

    .lp-mistakes {
      .lp-mistakes__title {
        font-size: 24px;
      }

      .lp-mistakes__lead,
      .lp-mistake-card p {
        font-size: 14px;
      }

      .lp-mistake-card__heading h3 {
        font-size: 16px;
      }

      .lp-mistake-card:last-child .lp-mistake-card__heading h3 {
        font-size: 18px;
      }
    }

    .lp-flow {
      .lp-flow__title {
        font-size: 24px;
      }

      .lp-flow__lead {
        font-size: 14px;
      }

      .lp-flow-step .lp-flow-step__number {
        font-size: 36px;
      }

      .lp-flow-step h3 {
        font-size: 16px;
      }

      .lp-flow-step > p:last-child {
        font-size: 12px;
        padding-bottom: 12px;
      }
    }

    .lp-pricing {
      .lp-pricing__title {
        font-size: 24px;
      }

      .lp-pricing__lead {
        font-size: 14px;
      }

      .lp-pricing__table-wrap {
        overflow-x: visible;
        width: calc(100% + 20px);
        margin-inline: -10px;
        border-radius: 20px;
      }

      .lp-pricing__table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
        font-size: 14px;
      }

      .lp-pricing__table th,
      .lp-pricing__table td {
        padding: 20px 10px;
        overflow-wrap: anywhere;
      }

      .lp-pricing__table thead th,
      .lp-pricing__table tbody th {
        font-size: 18px;
        line-height: 1.55;
      }

      .lp-pricing__table thead th {
        height: 74px;
        padding: 10px 4px;
      }

      .lp-pricing__table thead th:first-child,
      .lp-pricing__table tbody th {
        width: 24%;
      }

      .lp-pricing__table tbody td {
        width: 38%;
      }

      .lp-pricing__table thead th:nth-child(2) {
        border-radius: 20px 0 0;
      }

      .lp-pricing__table thead th:last-child {
        border-radius: 0 20px 0 0;
      }

      .lp-pricing__table tbody tr:first-child td {
        padding-block: 20px;
        font-size: 14px;
      }

      .lp-pricing__table .lp-pricing__price strong {
        font-size: 26px;
        line-height: 1.15;
        white-space: nowrap;
      }

      .lp-pricing__table .lp-pricing__price strong small {
        font-size: 14px;
      }

      .lp-pricing__table .lp-pricing__price .lp-pricing__tax {
        display: block;
        font-weight: 400;
        line-height: 1.4;
      }

      .lp-pricing__table .lp-pricing__price .lp-pricing__monthly {
        display: none;
      }

      .lp-pricing__table .lp-pricing__price span {
        margin-top: 7px;
        font-size: 10px;
        line-height: 1.5;
      }

      .lp-pricing__table .lp-pricing__details ul,
      .lp-pricing__table .lp-pricing__option ul {
        font-size: 12px;
      }

      .lp-pricing__table .lp-pricing__details td {
        padding: 16px 8px;
        vertical-align: top;
      }

      .lp-pricing__table .lp-pricing__details li,
      .lp-pricing__table .lp-pricing__option li {
        position: relative;
        margin: 4px 0;
        padding-left: 18px;
        line-height: 1.9;
      }

      .lp-pricing__table .lp-pricing__details li {
        margin-block: 0;
      }

      .lp-pricing__table .lp-pricing__details li::before,
      .lp-pricing__table .lp-pricing__option li::before {
        position: absolute;
        top: 3px;
        left: 0;
        width: 16px;
        height: 16px;
        margin-right: 0;
        background: url("img/b-check.png") center / contain no-repeat;
        content: "";
      }

      .lp-pricing__table .lp-pricing__option td {
        padding: 16px 14px;
      }

      .lp-pricing__table .lp-pricing__option ul {
        display: block;
      }

      .lp-pricing__note {
        font-size: 12px;
        line-height: 1.6;
      }
    }

    .lp-faq {
      .lp-faq__title {
        font-size: 24px;
      }

      .lp-faq__lead,
      .lp-faq-item summary,
      .lp-faq-item__answer p {
        font-size: 14px;
      }

      .lp-faq-item__q {
        font-size: 18px;
      }

      .lp-faq-item:nth-child(11) summary {
        font-size: 16px;
      }
    }

    .lp-closing-cta {
      h2 {
        font-size: 24px;
      }

      .lp-closing-cta__lead {
        font-size: 15px;
      }

      .lp-closing-cta__features ul,
      .lp-closing-cta__note {
        font-size: 14px;
      }

      .lp-closing-cta__features h3,
      .lp-closing-cta__button {
        font-size: 16px;
      }

      .lp-report-cta__movie-copy strong {
        font-size: 16px;
      }

      .lp-report-cta__movie-copy small {
        font-size: 12px;
      }
    }

    .lp-cta {
      .lp-cta__content h2 {
        font-size: 24px;
      }

      .lp-cta__break--sp {
        display: inline;
      }

      .lp-cta__button {
        font-size: 16px;
      }
    }
  }

  body:has(.lp-page) {
    padding-bottom: calc(50px + env(safe-area-inset-bottom));
    .p-fixBtnWrap {
      bottom: 4.25em;
      display: none;
    }
  }

  .lp-mobile-fixed-bar {
    position: fixed;
    z-index: 9999;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: calc(50px + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    background: #f7f7f7;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
  }

  .lp-mobile-fixed-bar__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 0;
    padding: 4px 10px;
    font-size: clamp(14px, 3.5vw, 16px);
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;

    img {
      display: block;
      flex: 0 0 24px;
      width: 24px;
      height: 24px;
      object-fit: contain;
    }

    &:focus-visible {
      position: relative;
      z-index: 1;
      outline: 2px solid currentColor;
      outline-offset: -4px;
    }
  }

  .lp-mobile-fixed-bar__link--report {
    color: #fff;
    background: linear-gradient(180deg, #ffa620 0%, #ff4d0d 100%);

    &:hover {
      color: #fff;
    }
  }

  .lp-mobile-fixed-bar__link--contact {
    color: #ff5b18;
    background: linear-gradient(180deg, #fff 0%, #dbdada 100%);

    &:hover {
      color: #ff5b18;
    }
  }
}

@media (max-width: 440px) {
  .lp-page {
    .lp-term-card__title {
      position: relative;
      padding-right: 32px;
      cursor: pointer;

      &::after {
        position: absolute;
        top: 50%;
        right: 0;
        width: 16px;
        height: 16px;
        background: url("img/im-t.png") center / contain no-repeat;
        content: "";
        transform: translateY(-50%);
      }
    }

    .lp-term-card[open] .lp-term-card__title::after {
      background-image: url("img/im-m.png");
    }

    .lp-term-card:not([open]) .lp-term-card__title {
      padding-bottom: 0;
      border-bottom: 0;
    }
  }
}
