/* ↓↓↓ fv ↓↓↓ */
.fv {
  position: relative;
  padding-top: min(260px, 20.3125vw);
  @media (max-width: 768px) {
    padding-top: 196px;
  }
  &::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: min(720px, 56.25cqw);
    background-color: #EDF4F7;
    z-index: -1;
    @media (max-width: 768px) {
      height: 389px;
    }
  }
  .fv-inner {
    max-width: 1280px;
    margin: 0 auto;
    container-type: inline-size;
    @media (max-width: 768px) {
      max-width: 100%;
    }

    .ttl-wrap {
      margin-left: 10cqw;
      @media (max-width: 768px) {
        margin-left: 32px;
      }
      .en {
        position: relative;
        font-size: 1.09375cqw;
        font-family: var(--text-lato);
        font-weight: 700;
        color: #0090BA;
        letter-spacing: 0.08em;
        padding-left: 1.7968749999999998cqw;
        @media (max-width: 768px) {
          font-size: 1.4rem;
          padding-left: 23px;
        }
        &::after {
          content: '';
          position: absolute;
          translate: 0 -50%;
          top: 50%;
          left: 0;
          width: 1.25cqw;
          height: 1.25cqw;
          background: url(../img/service/service-deco.svg) no-repeat;
          background-size: 1.25cqw 1.25cqw;
          @media (max-width: 768px) {
            width: 16px;
            height: 16px;
            background-size: 16px 16px;
          }
        }
      }
      .ttl {
        font-size: 3.125cqw;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: 0.08em;
        margin-top: 0.625cqw;
        @media (max-width: 768px) {
          font-size: 2.4rem;
          margin-top: 8px;
        }
      }
    }

    .image {
      width: 90.625cqw;
      margin: 7.8125cqw 0 0 auto;

      @media (max-width: 768px) {
        width: 93.6cqw;
        margin: 48px 0 0 auto;
      }
    }
  }
}
/* ↑↑↑ fv ↑↑↑ */

/* ↓↓↓ content-box ↓↓↓ */
.contents-box {
  width: 100%;
  padding-top: min(120px, 9.375vw);
  overflow: clip;
  @media (max-width: 768px) {
    padding-top: 80px;
  }
  .contents-box_inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    container-type: inline-size;
    @media (max-width: 768px) {
      width: 100%;
      display: block;
    }
    .float-menu {
      position: sticky;
      top: 120px;
      left: 9.375cqw;
      width: 17.109375cqw;
      height: 20.546875cqw;
      z-index: 2;
      transition: opacity 300ms ease;
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: rgba(255, 255, 255, 0.5);
      border-radius: 8px;

      @media (max-width: 768px) {
        position: fixed;
        translate: -50% 330px;
        top: unset;
        bottom: 0;
        left: 50%;
        margin-bottom: 0;
        width: 344px;
        height: fit-content;
        z-index: 5;
        border-radius: 8px 8px 0 0;
        background-color: #fff;
        box-shadow: 0 -2px 5px rgba(4, 142, 197, 0.2);
        padding-bottom: 24px;
        display: block;
        transition: translate 300ms ease;

        &.-active {
          translate: -50% 0;
          .side-navi {
            .sp-head {
              &::before {
                rotate: 180deg;
              }
            }
          }
        }

        @media (max-width: 768px) {
          &.-hide {
            opacity: 0;
            visibility: hidden;
          }
        }
      }

      .side-navi {
        width: fit-content;
        @media (max-width: 768px) {
          width: 100%;
        }
        .sp-head {
          display: none;
          @media (max-width: 768px) {
            position: relative;
            display: block;
            width: 100%;
            padding: 20px 20px 20px 47px;
            font-size: 1.4rem;
            font-family: var(--text-lato);
            font-weight: 700;
            color: #0090BA;
            &::before {
              content: '';
              position: absolute;
              top: 27px;
              right: 24px;
              width: 13px;
              height: 13px;
              background: url(../img/company/arrow_sp.svg) no-repeat;
              background-size: cover;
              transition: rotate 300ms ease;
            }
            &::after {
              content: '';
              position: absolute;
              translate: 0 -50%;
              top: 50%;
              left: 24px;
              width: 15px;
              height: 16px;
              mask-image: url(../img/common/en-deco.svg);
              mask-repeat: no-repeat;
              mask-size: cover;
              background-color: #0090BA;
              transition: opacity 300ms ease;
            }
          }

        }
        ul {
          width: fit-content;
        }
        @media (max-width: 768px) {
          ul {
            width: 100%;
            margin-top: 5px;
          }
        }
        li {
          position: relative;
          font-size: 1.09375cqw;
          font-weight: 500;
          letter-spacing: 0.08em;
          padding-left: 1.484375cqw;
          transition: color 300ms ease;
          @media (max-width: 768px) {
            width: 100%;
            font-size: 1.4rem;
            font-weight: 500;
            padding: 0 24px 16px 40px;

            a {
              display: block;
              width: 100%;
            }
          }
          &::after {
            content: '';
            position: absolute;
            translate: 0 -50%;
            top: 50%;
            left: 0;
            width: 0.9375cqw;
            height: 0.9375cqw;
            mask-image: url(../img/service/service-deco.svg);
            mask-repeat: no-repeat;
            mask-size: cover;
            background-color: #0090BA;
            opacity: 0;
            transition: opacity 300ms ease;
            @media (max-width: 768px) {
              translate: unset;
              top: 8px;
              left: 24px;
              width: 8px;
              height: 8px;
              mask: unset;
              background-color: #0090BA;
              border-radius: 50%;
              opacity: 1;
            }
          }

          @media (max-width: 768px) {
            &::before {
              content: '';
              position: absolute;
              translate: -50% 0;
              left: 50%;
              bottom: 0;
              width: 296px;
              height: 1px;
              background-image: repeating-linear-gradient(90deg, #b3dff0, #b3dff0 4px, transparent 4px, transparent 8px);
              background-position: left top;
              background-repeat: repeat-x;
              background-size: 100% 1px;
            }
          }
          + li {
            margin-top: 0.9375cqw;
            @media (max-width: 768px) {
              margin-top: 16px;
            }
          }

          &:has(.is-crrent) {
            color: #0090BA;
            &::after {
              opacity: 1;
            }
          }

          .tgt03,
          .tgt04,
          .tgt05,
          .tgt06 {
            position: relative;
            padding-left: 1.25cqw;
            @media (max-width: 768px) {
              padding-left: 16px;
            }
            &::after {
              content: '';
              position: absolute;
              top: 50%;
              left: 0;
              width: 0.625cqw;
              height: 1px;
              background-color: #000;
              transition: background-color 300ms ease;
              @media (max-width: 768px) {
                width: 8px;
              }
            }
            &.is-crrent {
              &::after {
                background-color: #0090BA;
              }
            }
          }
          @media (min-width: 769px) {
            &:hover {
              color: #0090BA;
              .tgt03,
              .tgt04,
              .tgt05,
              .tgt06 {
                &::after {
                  background-color: #0090BA;
                }
              }
            }
          }

          @media (max-width: 768px) {
            &:has(.tgt02) {
              padding-bottom: 0;
              &::before {
                display: none;
              }
            }
            &:has(.tgt03),
            &:has(.tgt04),
            &:has(.tgt05) {
              padding-bottom: 0;
              &::before,
              &::after {
                display: none;
              }
            }
            &:has(.tgt06) {
              &::after {
                display: none;
              }
            }
          }
        }
      }
    }

    .breakthrough {
      position: relative;
      width: 100vw;
      margin: 0 calc(50% - 50vw);
      &:has(#anchor03) {
        margin-top: 5cqw;
        @media (max-width: 768px) {
          margin-top: 64px;
        }
        &::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 40.625cqw;
          background: url(../img/service/service-image07.jpg) no-repeat;
          background-size: cover;
          background-position: top center;
          z-index: -1;
          @media (max-width: 768px) {
            height: 500px;
            background: url(../img/service/service-image07_sp.jpg) no-repeat;
            background-size: cover;
            background-position: top center;
          }
        }
      }
      &:has(#anchor04) {
        margin-top: 5cqw;
        @media (max-width: 768px) {
          margin-top: 64px;
        }
        &::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 40.625cqw;
          background: url(../img/service/service-image10.jpg) no-repeat;
          background-size: cover;
          background-position: top center;
          z-index: -1;
          @media (max-width: 768px) {
            height: 500px;
            background: url(../img/service/service-image10_sp.jpg) no-repeat;
            background-size: cover;
            background-position: top center;
          }
        }
      }
      &:has(#anchor05) {
        margin-top: 5cqw;
        @media (max-width: 768px) {
          margin-top: 64px;
        }
        &::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 40.625cqw;
          background: url(../img/service/service-image13.jpg) no-repeat;
          background-size: cover;
          background-position: top center;
          z-index: -1;
          @media (max-width: 768px) {
            height: 500px;
            background: url(../img/service/service-image13_sp.jpg) no-repeat;
            background-size: cover;
            background-position: top center;
          }
        }
      }
      &:has(#anchor06) {
        margin-top: 5cqw;
        @media (max-width: 768px) {
          margin-top: 64px;
        }
        &::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 40.625cqw;
          background: url(../img/service/service-image16.jpg) no-repeat;
          background-size: cover;
          background-position: top center;
          z-index: -1;
          @media (max-width: 768px) {
            height: 500px;
            background: url(../img/service/service-image16_sp.jpg) no-repeat;
            background-size: cover;
            background-position: top center;
          }
        }
      }
    }

    .sec-box {
      overflow: hidden;
      width: calc(100% - 30cqw);
      margin-left: auto;
      padding-right: 9.375cqw;
      @media (max-width: 768px) {
        width: 100%;
        margin: 0;
        padding: 0 24px;
      }
      .head-wrap {
        margin-left: 0.625cqw;
        @media (max-width: 768px) {
          margin-left: 8px;
        }
        .en {
          position: relative;
          font-size: 0.9375cqw;
          font-family: var(--text-lato);
          font-weight: 700;
          color: #0090BA;
          padding-left: 1.484375cqw;
          @media (max-width: 768px) {
            font-size: 1.4rem;
            padding-left: 19px;
          }
          &::after {
            content: '';
            position: absolute;
            translate: 0 -50%;
            top: 50%;
            left: 0;
            width: 0.9375cqw;
            height: 0.9375cqw;
            mask-image: url(../img/service/service-deco.svg);
            mask-repeat: no-repeat;
            mask-size: cover;
            background-color: #0090BA;
            transition: opacity 300ms ease;
            @media (max-width: 768px) {
              width: 12px;
              height: 12px;
            }
          }
        }
        .head {
          font-size: 2.1875cqw;
          font-weight: 500;
          letter-spacing: 0.08em;
          @media (max-width: 768px) {
            font-size: 24px;
          }
        }
      }

      &#anchor01 {
        @media (max-width: 768px) {
          padding-inline: 24px;
        }
        .txt-image {
          width: 26.25cqw;
          margin-top: 3.75cqw;
          @media (max-width: 768px) {
            width: 280px;
            margin-top: 40px;
          }
          picture {
            display: block;
            width: 100%;
          }
        }
        .txt-wrap {
          position: relative;
          margin-top: 2.34375cqw;
          @media (max-width: 768px) {
            margin-top: 30px;
          }
          .txt {
            font-size: 1.25cqw;
            letter-spacing: 0.12em;
            line-height: 1.75;
            @media (max-width: 768px) {
              font-size: 1.6rem
            }
            .marker {
              background-image: linear-gradient(#FFF09F 0, #FFF09F 100%);
              background-size: 0% 100%;
              background-repeat: no-repeat;
              background-position: center left;
              transition: background-size 300ms 0s ease;
            }
            &:last-of-type {
              margin-top: 1.875cqw;
              @media (max-width: 768px) {
                margin-top: 32px;
              }
            }
            &.-active {
              .marker {
                background-size: 100% 100%;
              }
            }
          }
          .image01 {
            position: absolute;
            top: -9.921875cqw;
            right: -9.375cqw;
            width: 28.749999999999996cqw;
            @media (max-width: 768px) {
              position: relative;
              top: unset;
              right: unset;
              width: 66.4cqw;
              margin: 32px 0 0 auto;
              translate: 24px 0;
            }
          }
          .image02 {
            position: absolute;
            bottom: 6.328125cqw;
            right: 0;
            width: 14.21875cqw;
            @media (max-width: 768px) {
              position: relative;
              bottom: unset;
              right: unset;
              width: 48.53333333333333cqw;
              margin: 32px 0 0 0;
            }
          }
        }
        .container {
          display: flex;
          gap: 1.25cqw;
          margin-top: 6.25cqw;
          @media (max-width: 768px) {
            flex-direction: column;
            gap: 16px;
            margin-top: 40px;
          }
          .card {
            position: relative;
            width: 19.375cqw;
            @media (max-width: 768px) {
              width: 100%;
            }
            .point {
              width: 9.375cqw;
              aspect-ratio: 120 / 32;
              font-size: 1.25cqw;
              font-family: var(--text-lato);
              font-weight: 700;
              color: #fff;
              letter-spacing: 0.12em;
              display: flex;
              align-items: center;
              justify-content: center;
              background-color: #0064B4;
              border-radius: 8px 8px 0 0;
              margin: 0 auto;
              @media (max-width: 768px) {
                width: 120px;
                font-size: 1.6rem;
              }
            }

            .txt-wrap {
              position: relative;
              width: 100%;
              aspect-ratio: 248 / 256;
              background-color: #EDF4F7;
              display: flex;
              align-items: center;
              justify-content: center;
              z-index: 0;
              margin: 0;
              @media (max-width: 768px) {
                height: 172px;
                aspect-ratio: 327 / 172;
              }
              &::after {
                content: '';
                position: absolute;
                translate: -50% -50%;
                top: 50%;
                left: 50%;
                width: 11.5625cqw;
                height: 11.5625cqw;
                background: url(../img/service/service-image04.svg) no-repeat;
                background-size: cover;
                z-index: -1;
                @media (max-width: 768px) {
                  width: 120px;
                  height: 120px;
                }
              }
              .txt {
                font-size: 1.25cqw;
                line-height: 1.75;
                letter-spacing: 0.12em;
                text-align: center;
                margin: 0;
                @media (max-width: 768px) {
                  font-size: 1.6rem;
                }
                .-blue {
                  font-weight: 600;
                  color: #0064B4;
                  .-num {
                    font-size: 1.5625cqw;
                    @media (max-width: 768px) {
                      font-size: 2.0rem;
                    }
                  }
                }
              }
            }
          }
        }
      }

      &#anchor02 {
        margin-top: 9.375cqw;
        @media (max-width: 768px) {
          margin-top: 80px;
          padding-inline: 24px;
        }
        .anchor-btn_wrap {
          display: flex;
          gap: 1.25cqw;
          flex-wrap: wrap;
          margin-top: 3.75cqw;
          @media (max-width: 768px) {
            gap: 8px 10px;
            margin-top: 40px;
          }
          .anchor-btn {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 29.6875cqw;
            aspect-ratio: 380 / 80;
            background-color: #14B1E0;
            border: 1px solid #14B1E0;
            border-radius: 70px;
            padding: 0.625cqw 0.625cqw 0.625cqw 1.875cqw;
            transition: background-color 300ms ease;

            @media (max-width: 768px) {
              flex-direction: column;
              width: calc((100% - 10px) / 2);
              height: 104px;
              padding: 8px 12px;
            }

            .icon {
              position: relative;
              width: 5cqw;
              aspect-ratio: 1 / 1;
              @media (max-width: 768px) {
                width: 40px;
              }
              &::after {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                mask-repeat: no-repeat;
                mask-size: cover;
                background-color: #fff;
                transition: background-color 300ms ease;
              }
            }

            &[href="#anchor03"] {
              .icon {
                &::after {
                  mask-image: url(../img/service/service-icon01.svg);
                }
              }
            }

            &[href="#anchor04"] {
              .icon {
                &::after {
                  mask-image: url(../img/service/service-icon02.svg);
                }
              }
            }

            &[href="#anchor05"] {
              .icon {
                &::after {
                  mask-image: url(../img/service/service-icon03.svg);
                }
              }
            }

            &[href="#anchor06"] {
              .icon {
                &::after {
                  mask-image: url(../img/service/service-icon04.svg);
                }
              }
            }

            .txt {
              font-size: 1.25cqw;
              font-weight: 600;
              letter-spacing: 0.12em;
              color: #fff;
              transition: color 300ms ease;
              @media (max-width: 768px) {
                font-size: 1.4rem;
              }
            }

            .arrow {
              position: relative;
              width: 5cqw;
              aspect-ratio: 1 / 1;
              background-color: #fff;
              border-radius: 50%;
              transition: background-color 300ms ease;
              @media (max-width: 768px) {
                width: 20px;
              }
              &::after {
                content: '';
                position: absolute;
                translate: -50% -50%;
                top: 50%;
                left: 50%;
                width: 0.859375cqw;
                height: 0.859375cqw;
                mask-image: url(../img/service/anchor-arrow.svg);
                mask-repeat: no-repeat;
                mask-size: cover;
                background-color: #14B1E0;
                transition: background-color 300ms ease;
                @media (max-width: 768px) {
                  width: 7px;
                  height: 7px;
                  mask-image: url(../img/service/anchor-arrow_sp.svg);
                  mask-repeat: no-repeat;
                  mask-size: cover;
                  background-color: #14B1E0;
                }
              }
            }

            @media (min-width: 769px) {
              &:hover {
                background-color: #fff;
                .icon {
                  &::after {
                    background-color: #14B1E0;
                  }
                }
                .txt {
                  color: #14B1E0;
                }
                .arrow {
                  background-color: #14B1E0;
                  &::after {
                    background-color: #fff;
                  }
                }
              }
            }
          }
        }
      }

      &#anchor03,
      &#anchor04,
      &#anchor05,
      &#anchor06 {
        margin-top: 9.375cqw;
        @media (max-width: 768px) {
          margin-top: 64px;
        }
        .head-wrap {
          display: flex;
          align-items: center;
          gap: 1.25cqw;
          margin: 0;
          @media (max-width: 768px) {
            flex-direction: column;
            gap: 8px;
          }

          .icon {
            width: 7.8125cqw;
            @media (max-width: 768px) {
              width: 80px;
            }
          }

          .txt-wrap {
            .sub {
              font-size: 1.25cqw;
              font-weight: 600;
              letter-spacing: 0.12em;
              color: #fff;
              @media (max-width: 768px) {
                font-size: 1.6rem;
              }
            }
            .head {
              font-size: 2.5cqw;
              font-weight: 600;
              letter-spacing: 0.12em;
              line-height: 1.5;
              color: #fff;
              margin-top: 0.78125cqw;
              @media (max-width: 768px) {
                font-size: 2.8rem;
                margin-top: 4px;
                text-align: center;
              }
            }
          }
        }
        .txt {
          width: 45.15625cqw;
          font-size: 1.25cqw;
          font-weight: 600;
          letter-spacing: 0.12em;
          line-height: 1.714;
          color: #fff;
          text-align: justify;
          word-break: break-all;
          margin-top: 2.5cqw;
          @media (max-width: 768px) {
            width: 100%;
            font-size: 1.6rem;
            margin-top: 24px;
          }
        }
        .image-wrap {
          display: flex;
          gap: 1.25cqw;
          margin-top: 6.25cqw;
          @media (max-width: 768px) {
            flex-direction: column;
            gap: 32px;
            margin-top: 40px;
          }
          .image {
            width: 29.6875cqw;
            @media (max-width: 768px) {
              width: 100%;
            }
            img {
              width: 100%;
            }
            .cap {
              width: 24.53125cqw;
              font-size: 1.25cqw;
              letter-spacing: 0.12em;
              line-height: 1.714;
              text-align: justify;
              word-break: break-all;
              margin-top: 1.25cqw;
              @media (max-width: 768px) {
                width: 100%;
                font-size: 1.6rem;
                margin-top: 8px;
              }
            }
          }
        }
        .block {
          width: 100%;
          margin-top: 3.75cqw;
          @media (max-width: 768px) {
            margin-top: 40px;
          }
          .block-head {
            padding: 0.625cqw 0.9375cqw;
            background-color: #0064B4;
            border-radius: 8px 8px 0 0;
            @media (max-width: 768px) {
              padding: 8px 12px;
            }
            p {
              position: relative;
              font-size: 1.25cqw;
              font-weight: 600;
              letter-spacing: 0.12em;
              color: #fff;
              padding-left: 1.25cqw;
              @media (max-width: 768px) {
                font-size: 1.6rem;
                padding-left: 16px;
              }
              &::after {
                content: '';
                position: absolute;
                translate: 0 -50%;
                top: 50%;
                left: 0;
                width: 0.625cqw;
                height: 0.625cqw;
                background-color: #fff;
                border-radius: 50%;
                @media (max-width: 768px) {
                  width: 8px;
                  height: 8px;
                }
              }
            }
          }
          .list {
            padding: 2.5cqw;
            background-color: #EDF4F7;
            @media (max-width: 768px) {
              padding: 24px;
            }
            ul {
              display: flex;
              flex-wrap: wrap;
              gap: 0.9375cqw 2.265625cqw;
              @media (max-width: 768px) {
                flex-direction: column;
                gap: 12px;
              }

              .item {
                position: relative;
                width: 17.03125cqw;
                font-size: 1.171875cqw;
                font-weight: 600;
                letter-spacing: 0.12em;
                padding-left: 1.5625cqw;
                @media (max-width: 768px) {
                  width: 100%;
                  font-size: 1.5rem;
                  padding-left: 20px;
                }
                &::after {
                  content: '';
                  position: absolute;
                  translate: 0 -50%;
                  top: 50%;
                  left: 0;
                  width: 0.625cqw;
                  height: 0.625cqw;
                  background-color: #0090BA;
                  border-radius: 50%;
                  @media (max-width: 768px) {
                    width: 8px;
                    height: 8px;
                  }
                }
              }
            }
          }
        }
        .container {
          display: flex;
          padding: 2.5cqw;
          background-color: #EDF4F7;
          @media (max-width: 768px) {
            flex-direction: column;
            padding: 24px;
          }
          .card {
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding-right: 3.515625cqw;
            @media (max-width: 768px) {
              padding: 0 0 46px;
            }
            &::after {
              content: '';
              position: absolute;
              top: 0;
              right: 1.7968749999999998cqw;
              width: 1px;
              height: 100%;
              background-image: repeating-linear-gradient(180deg, #0064b4, #0064b4 4px, transparent 4px, transparent 8px);
              background-position: left top;
              background-repeat: repeat-y;
              background-size: 1px 100%;
              @media (max-width: 768px) {
                top: unset;
                bottom: 23px;
                right: 0;
                width: 100%;
                height: 1px;
                background-image: repeating-linear-gradient(90deg, #0064b4, #0064b4 4px, transparent 4px, transparent 8px);
                background-position: left top;
                background-repeat: repeat-x;
                background-size: 100% 1px;
              }
            }
            &:last-of-type {
              padding: 0;
              &::after {
                display: none;
              }
            }
            .point {
              position: relative;
              font-size: 1.25cqw;
              line-height: 1.71428;
              letter-spacing: 0.12em;
              font-weight: 600;
              padding-left: 1.25cqw;
              @media (max-width: 768px) {
                font-size: 1.6rem;
                padding-left: 20px;
              }
              &::after {
                content: '';
                position: absolute;
                top: 0.625cqw;
                left: 0;
                width: 0.625cqw;
                height: 0.625cqw;
                background-color: #0090BA;
                border-radius: 50%;
                @media (max-width: 768px) {
                  top: 8px;
                  width: 8px;
                  height: 8px;
                }
              }
              .-blue {
                color: #0064B4;
              }
            }
            .btn {
              position: relative;
              width: 16.25cqw;
              aspect-ratio: 208 / 48;
              font-size: 1.25cqw;
              letter-spacing: 0.12em;
              font-weight: 600;
              color: #14B1E0;
              display: flex;
              align-items: center;
              padding-left: 3.75cqw;
              border: 1px solid #14B1E0;
              background-color: #fff;
              border-radius: 40px;
              margin-top: 1.875cqw;
              transition: border 300ms ease;
              @media (max-width: 768px) {
                width: 278px;
                aspect-ratio: 278 / 56;
                font-size: 1.4rem;
                display: flex;
                align-items: center;
                justify-content: center;
                padding-left: 0;
                margin-top: 16px;
              }
              &::after {
                content: '';
                position: absolute;
                translate: 0 -50%;
                top: 50%;
                right: 1.25cqw;
                width: 1.171875cqw;
                height: 0.9375cqw;
                mask: url(../img/common/ex-link.svg) no-repeat;
                mask-size: cover;
                background-color: #14B1E0;
                transition: background-color 300ms ease;
                @media (max-width: 768px) {
                  right: 16px;
                  width: 15px;
                  height: 12px;
                }
              }
              @media (min-width: 769px) {
                &:hover {
                  border: 1px solid #fff;
                }
              }
            }
          }
        }
        .link-btn {
          position: relative;
          width: 29.6875cqw;
          aspect-ratio: 380 / 100;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 1.5625cqw;
          font-weight: 600;
          letter-spacing: 0.12em;
          color: #fff;
          background-color: #14B1E0;
          border-radius: 50px;
          border: 1px solid #14B1E0;
          margin: 3.75cqw auto 0;
          transition: background-color 300ms ease, color 300ms ease;
          @media (max-width: 768px) {
            width: 326px;
            aspect-ratio: 326 / 80;
            font-size: 2.0rem;
            margin: 32px auto 0;
          }
          &::after {
            content: '';
            position: absolute;
            translate: 0 -50%;
            top: 50%;
            right: 2.5cqw;
            width: 1.171875cqw;
            height: 0.9375cqw;
            mask: url(../img/common/ex-link.svg) no-repeat;
            mask-size: cover;
            background-color: #fff;
            transition: background-color 300ms ease;
            @media (max-width: 768px) {
              right: 24px;
              width: 15px;
              height: 12px;
            }
          }
          @media (min-width: 769px) {
            &:hover {
              color: #14B1E0;
              background-color: #fff;
              &::after {
                background-color: #14B1E0;
              }
            }
          }
        }
      }

      &#anchor04 {
        .block {
          .list {
            ul {
              .item {
                width: 21.09375cqw;
                @media (max-width: 768px) {
                  width: 100%;
                }
              }
            }
          }
        }
      }
      &#anchor05 {
        .block {
          .list {
            
            ul {
              position: relative;
              padding-bottom: 1.875cqw;
              @media (max-width: 768px) {
                justify-content: space-between;
                flex-direction: row;
                padding-bottom: 16px;
              }
              &::after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                width: 100%;
                height: 1px;
                background-color: #fff;
              }
              .item {
                width: 7.03125cqw;
                @media (max-width: 768px) {
                  width: fit-content;
                  letter-spacing: 0.08em;
                }
              }
            }
            .other {
              position: relative;
              margin-block: 1.875cqw 1.25cqw;
              width: 11.875cqw;
              aspect-ratio: 152 / 28;
              font-size: 1.09375cqw;
              font-weight: 600;
              letter-spacing: 0.12em;
              color: #0064B4;
              background-color: #fff;
              border-radius: 50px;
              display: flex;
              justify-content: center;
              align-items: center;
              @media (max-width: 768px) {
                margin-block: 16px;
                width: 152px;
                font-size: 1.4rem;
              }
              + ul {
                padding: 0;
                &::after {
                  display: none;
                }
                .item {
                  width: 21.484375cqw;
                  @media (max-width: 768px) {
                    width: 100%;
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
/* ↑↑↑ content-box ↑↑↑ */

/* ↑↑↑ use-box ↑↑↑ */
.use-box {
  margin-top: 9.375cqw;
  padding-block: 7.8125cqw 22.265625cqw;
  background-color: #EDF4F7;
  @media (max-width: 768px) {
    margin-top: 80px;
    padding: 64px 0 260px;
  }
  .use-box_inner {
    max-width: 1280px;
    margin: 0 auto;
    container-type: inline-size;
    @media (max-width: 768px) {
      max-width: 100%;
    }
    .head-wrap {
      margin-left: 0.625cqw;
      @media (max-width: 768px) {
        max-width: 100%;
      }
      @media (max-width: 768px) {
        margin-left: 8px;
      }
      .en {
        position: relative;
        width: fit-content;
        font-size: 0.9375cqw;
        font-family: var(--text-lato);
        font-weight: 700;
        color: #0090BA;
        padding-left: 1.484375cqw;
        margin: 0 auto;
        @media (max-width: 768px) {
          font-size: 1.4rem;
          padding-left: 19px;
        }
        &::after {
          content: '';
          position: absolute;
          translate: 0 -50%;
          top: 50%;
          left: 0;
          width: 0.9375cqw;
          height: 0.9375cqw;
          mask-image: url(../img/service/service-deco.svg);
          mask-repeat: no-repeat;
          mask-size: cover;
          background-color: #0090BA;
          transition: opacity 300ms ease;
          @media (max-width: 768px) {
            width: 12px;
            height: 12px;
          }
        }
      }
      .head {
        font-size: 2.1875cqw;
        font-weight: 500;
        letter-spacing: 0.08em;
        text-align: center;
        @media (max-width: 768px) {
          font-size: 24px;
        }
      }
    }
    .block {
      margin-top: 5cqw;
      @media (max-width: 768px) {
        margin-top: 48px;
      }
      + .block {
        margin-top: 7.8125cqw;
        @media (max-width: 768px) {
          margin-top: 60px;
        }
      }
      .bubble {
        position: relative;
        display: flex;
        gap: 1.25cqw;
        align-items: center;
        width: fit-content;
        padding: 0.625cqw 2.5cqw 0.625cqw 0.625cqw;
        background-color: #0064B4;
        border-radius: 50px;
        margin: 0 auto;
        @media (max-width: 768px) {
          gap: 8px;
          padding: 8px 24px 8px 8px;
        }
        &::after {
          content: '';
          position: absolute;
          translate: -50% 0;
          bottom: -0.703125cqw;
          left: 50%;
          width: 0.9375cqw;
          height: 0.78125cqw;
          background: url(../img/selling-point/triangle.svg) no-repeat;
          background-size: 0.9375cqw 0.78125cqw;
          @media (max-width: 768px) {
            bottom: -9px;
            width: 12px;
            height: 10px;
            background-size: 12px 10px;
          }
        }
        .icon {
          position: relative;
          width: 4.375cqw;
          height: 4.375cqw;
          background-color: #fff;
          border-radius: 50%;
          @media (max-width: 768px) {
            width: 48px;
            height: 48px;
          }
          &.icon01 {
            &::after {
              content: '';
              position: absolute;
              translate: -50% -50%;
              top: 50%;
              left: 50%;
              width: 3.28125cqw;
              height: 3.28125cqw;
              mask-image: url(../img/service/service-icon01.svg);
              mask-size: cover;
              mask-repeat: no-repeat;
              background-color: #0064B4;
              @media (max-width: 768px) {
                width: 36px;
                height: 36px;
              }
            }
          }
          &.icon02 {
            &::after {
              content: '';
              position: absolute;
              translate: -50% -50%;
              top: 50%;
              left: 50%;
              width: 3.28125cqw;
              height: 3.28125cqw;
              mask-image: url(../img/service/service-icon03.svg);
              mask-size: cover;
              mask-repeat: no-repeat;
              background-color: #0064B4;
              @media (max-width: 768px) {
                width: 36px;
                height: 36px;
              }
            }
          }
        }
        .bubble-txt {
          font-size: 1.5625cqw;
          font-weight: 600;
          letter-spacing: 0.12em;
          color: #fff;
          @media (max-width: 768px) {
            font-size: 1.8rem;
            line-height: 1.3;
            text-align: center;
          }
        }
      }
      .wrap {
        @media (max-width: 768px) {
          width: calc(100% - 24px);
          margin: 0 0 0 24px;
          overflow-y: scroll;
        }
      }
      .scroll-hint-icon {
        display: block;
        top: 38px;
        left: 0;
        width: 100px;
        height: 100px;
        z-index: 2;
        padding: 0;
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 50%;
        &::before {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          background: url('../img/service/scroll-hint.svg') no-repeat center / cover;
        }
        &::after {
          display: none;
        }
      }
      .container {
        display: flex;
        justify-content: center;
        width: 81.25cqw;
        margin: 6.25cqw auto 0;
        @media (max-width: 768px) {
          width: fit-content;
          justify-content: flex-start;
          margin: 88px 0 0 0;
        }
        .card {
          position: relative;
          width: 18.4375cqw;
          background-color: #fff;
          padding: 2.5cqw 1.25cqw 1.875cqw;
          margin-right: 2.5cqw;
          z-index: 1;
          @media (max-width: 768px) {
            width: 236px;
            padding: 24px 16px;
            margin-right: 28px;
          }
          &::after {
            content: '';
            position: absolute;
            translate: -50% 0;
            top: 50%;
            right: -2.8125cqw;
            width: 1.875cqw;
            height: 3.75cqw;
            background: url(../img/service/step-arrow.svg) no-repeat;
            background-size: cover;
            @media (max-width: 768px) {
              width: 20px;
              height: 40px;
              right: -30px;
            }
          }
          &:last-of-type {
            margin: 0;
            &::after {
              display: none;
            }
          }
          .step {
            position: absolute;
            translate: -50% 0;
            top: -4.765625cqw;
            left: 50%;
            width: 10.390625cqw;
            z-index: -1;
            @media (max-width: 768px) {
              top: -60px;
              width: 133px;
              height: 61px;
            }
          }
          .card-head {
            font-size: 1.40625cqw;
            font-weight: 600;
            color: #0064B4;
            letter-spacing: 0.12em;
            line-height: 1.35;
            text-align: center;
            @media (max-width: 768px) {
              font-size: 1.8rem;
            }
          }
          .image {
            width: 100%;
            margin-top: 1.875cqw;
            @media (max-width: 768px) {
              margin-top: 24px;
            }
          }
          .txt {
            font-size: 1.25cqw;
            letter-spacing: 0.12em;
            line-height: 1.714;
            text-align: justify;
            word-break: break-all;
            margin-top: 1.25cqw;
            @media (max-width: 768px) {
              font-size: 1.6rem;
              margin-top: 16px;
            }
            .-blue {
              color: #0064B4;
              font-weight: 600;
            }
          }
          .attention {
            font-size: 0.9375cqw;
            letter-spacing: 0.06em;
            line-height: 1.83333;
            text-align: justify;
            word-break: break-all;
            padding-left: 1em;
            text-indent: -1em;
            margin-top: 0.625cqw;
            @media (max-width: 768px) {
              font-size: 1.2rem;
              margin-top: 8px;
            }
            +.attention {
              margin-top: 0;
            }
          }
        }
      }
    }
    .block:last-of-type {
      .container {
        .card {
          &:last-of-type {
            margin: 0;
            padding: 1.25cqw 1.25cqw 1.875cqw;
            @media (max-width: 768px) {
              padding: 16px 16px 24px;
            }
            &::after {
              display: none;
            }
            .image {
              margin-top: 1.25cqw;
              @media (max-width: 768px) {
                margin-top: 16px;
              }
            }
          }
        }
      }
    }
  }
}
/* ↓↓↓ use-box ↓↓↓ */


footer {
  .link-box {
    margin: -9.765625cqw auto 0;
    @media (max-width: 768px) {
      margin: -180px auto 0;
    }
  }
}