/* ========================================
   FV
   ======================================== */
.fv {
  position: relative;
  padding-top: var(--space-xxl);
  overflow: hidden;

  .bg {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 1920px;
    height: 100%;
    overflow: hidden;
    pointer-events: none;

    .cercle-pattern {
      img:nth-child(1) {
        position: absolute;
        top: 0;
        width: 620px;
      }

      img:nth-child(2) {
        position: absolute;
        top: 80px;
        right: 200px;
        width: 400px;
      }
    }

    .wave-bg {
      position: absolute;
      bottom: 0;
    }
  }

  .fv-inner {
    position: relative;
    max-width: var(--container-xl);
    width: 100%;
    min-height: 855px;
    height: auto;
    margin: auto;

    .fv-left {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      max-width: 720px;

      .fv-text {
        h2 {
          font-size: var(--font-xl);
        }

        h1 {
          margin-top: 16px;
          font-size: var(--fv-title);
          font-weight: 900;
          line-height: 1.5;
        }

        p {
          font-size: var(--font-lg);
          margin-top: var(--space-xs);
        }
      }

      .fv-list {
        ul {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          margin-top: var(--space-md);
          font-weight: 700;
        }

        li {
          text-align: center;
          border-left: 1px solid var(--color-primary);

          p {
            margin-top: 12px;
          }
        }

        li:first-child {
          border: none;
        }

        li:nth-child(4) {
          border-right: none;
        }
      }

      .fv-contact-btn {
        margin-top: var(--space-lg);

        a {
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          width: 480px;
          height: 80px;
          padding: var(--space-xxs) var(--space-xs);
          font-size: var(--font-lg);
          font-weight: 700;
          border-radius: var(--radius-round);
          background-color: var(--color-primary);
          color: var(--color-bg);
          transition:
            transform 0.25s ease,
            box-shadow 0.25s ease;

          &:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
          }
        }

        .mail-icon {
          position: absolute;
          left: 12px;
          width: 54px;
          height: 54px;
          padding: 10px;
          border-radius: var(--radius-round);
          background-color: var(--color-bg);
        }

        .arrow-icon {
          width: 24px;
          height: 24px;
        }
      }
    }

    .tel-note {
      margin-top: 8px;
      font-size: 14px;
      color: #666;
    }

    .fv-right {
      .fv-image-bg {
        img:nth-child(1) {
          position: absolute;
          top: 24px;
          right: -48px;
          width: 450px;
          border-radius: var(--radius-md);
        }

        img:nth-child(2) {
          position: absolute;
          bottom: 48px;
          right: 0;
          width: 650px;
          border-radius: var(--radius-md);
        }
      }
    }
  }
}

/* ========================================
   このような悩みはありませんか？
   ======================================== */
.home-pain {
  padding-top: 120px;

  .home-pain-inner {
    position: relative;
  }

  .home-pain-title {
    text-align: center;

    img {
      width: auto;
      height: 96px;
      margin-top: -40px;
      margin-left: -4px;
    }
  }

  .home-pain-worman-image {
    img {
      position: absolute;
      top: -74px;
      right: 68px;
      width: 120px;
    }
  }

  .home-pain-list {
    margin-top: var(--space-lg);

    ul {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-xs);
    }

    li {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      height: 250px;
      border-radius: var(--radius-md);
      background-color: var(--color-primary);

      p {
        font-size: var(--font-xl);
        font-weight: 700;
        color: var(--color-bg);
      }

      span {
        color: var(--color-accent);
      }

      img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      }
    }
  }

  .home-pain-bottom-arrow {
    text-align: center;

    img {
      margin-top: var(--space-sm);
      height: 140px;
    }
  }
}

/* ========================================
   その悩み私たちが解決します
   ======================================== */
.home-solve {

  .home-solve-inner {
    position: relative;
    max-width: var(--container-md);
    margin: auto;
    padding-bottom: var(--section-space);

    .home-solve-title {
      text-align: center;
      width: fit-content;
      margin: auto;

      h2 {
        display: inline;
        font-weight: 900;
        line-height: 1.6;
        background:
          linear-gradient(transparent 65%,
            #f3e54d 65%);
      }
    }

    .home-solve-list {
      margin-top: var(--space-md);
      padding: 40px;
      border-radius: var(--radius-md);
      background-color: var(--color-bg);

      ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: fit-content;
        margin: auto;
        gap: var(--space-sm);
      }

      li {
        display: flex;
        align-items: center;
        gap: 12px;

        p {
          font-size: var(--font-lg);
          font-weight: 700;
        }
      }
    }

    .home-solve-worman-img {
      img {
        position: absolute;
        bottom: -4px;
        left: -32px;
        width: 120px;
      }
    }
  }
}

/* ========================================
   サービスのご案内
   ======================================== */
.home-service {
  background-color: var(--color-primary);
}

.home-service-inner {
  padding: var(--space-xxxl) 0;

  .home-service-title {

    h2 {
      color: var(--color-bg);
    }
  }

  .home-service-text {
    width: fit-content;
    margin: var(--space-lg) auto 0;

    p {
      color: var(--color-bg);
    }
  }

  .home-service-wrap {
    .home-service-item {
      position: relative;
      display: flex;
      align-items: center;
      margin-top: var(--space-xxl);
      border-radius: var(--radius-md);
      background-color: var(--color-bg);

      .service-item-left {
        width: 55%;

        img {
          border-radius: var(--radius-md) 0 0 var(--radius-md);
        }
      }

      .service-item-right {
        width: 45%;
        padding: var(--space-md);

        h3 {
          font-size: var(--font-xxl);
          font-weight: 900;
        }

        p {
          margin-top: var(--space-md);
        }

        .service-link {
          a {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            width: 200px;
            height: 45px;
            margin-top: var(--space-md);
            font-size: var(--font-sm);
            border-radius: var(--radius-round);
            border: 1px solid var(--color-primary);
            color: var(--color-primary);
            overflow: hidden;
            transition: color 0.3s ease;
            z-index: 1;
          }

          /* スライドする背景 */
          a::before {
            content: "";
            position: absolute;
            inset: 0;
            background-color: var(--color-primary);
            transform: translateX(-100%);
            transition: transform 0.35s ease;
            z-index: -1;
          }

          /* hover */
          a:hover {
            color: #fff;
          }

          a:hover::before {
            transform: translateX(0);
            color: #fff;
          }

          .arrow-icon {
            display: inline-block;
            width: 14px;
            height: 14px;
          }

          .arrow {
            position: absolute;
            inset: 0;
            transition: opacity 0.3s ease;
          }

          .arrow.hover {
            opacity: 0;
          }

          a:hover .arrow.hover {
            opacity: 1;
          }

          a:hover .arrow.normal {
            opacity: 1;
          }
        }
      }

      .service-bg-image {
        img {
          position: absolute;
          bottom: 0;
          right: 72px;
          width: 170px;
          opacity: 0.15;
        }
      }

      .service-bg-text {
        img {
          position: absolute;
          top: -20px;
          left: 64px;
          opacity: .7;
        }
      }
    }
  }

  .service-wrap-left {
    flex-direction: row-reverse;

    .service-item-right {
      a {
        .arrow-icon {
          right: 16px;
        }
      }
    }

    .service-item-left {
      img {
        border-radius: 0 var(--radius-md) var(--radius-md) 0 !important;
      }
    }

    .service-bg-image {
      img {
        position: absolute;
        bottom: 0;
        left: 300px;
        width: 170px;
      }
    }

    .service-bg-text {
      img {
        position: absolute;
        top: -20px;
        left: inherit !important;
        right: 272px !important;
        font-size: 64px;
        font-weight: 700;
      }
    }
  }
}

/* ========================================
   選ばれる理由
   ======================================== */
.home-reason {

  .home-reason-inner {
    .home-reason-title {
      span {
        color: #e1ebdd;
      }
    }

    .home-reason-wrap {
      display: flex;
      flex-direction: column;
      gap: var(--space-xl);
      margin-top: var(--space-xl);

      .home-reason-item {
        display: flex;
        align-items: center;
        gap: var(--space-xl);

        .reason-item-left {
          width: 45%;

          span {
            font-size: var(--font-lg);
            font-weight: 900;
          }

          img {
            display: block;
            margin-top: var(--space-xs);
          }

          h3 {
            margin-top: var(--space-xs);
            font-size: 40px;
            line-height: 1.6;

            span {
              font-weight: 800;
              font-size: 40px;
            }
          }

          p {
            margin-top: var(--space-sm);
          }
        }

        .reason-item-right {
          width: 55%;
        }
      }

      .reason-item-left {
        flex-direction: row-reverse;
      }
    }
  }
}


/* ========================================
   対応エリア
   ======================================== */
.home-area {
  margin-top: 420px;

  .home-area-inner {
    .inner-wrap {
      text-align: center;

      .area-inner-title {
        margin-top: var(--space-xl);

        h3 {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 10px;
          font-size: var(--font-xxl);
          font-weight: 900;
          color: var(--color-primary);
        }
      }

      .area-inner-img {
        margin-top: var(--space-lg);

        img {
          max-width: 530px;
          width: 100%;
        }
      }

      .area-inner-text {
        p {
          margin-top: var(--space-lg);
          font-size: var(--font-lg);
          font-weight: 700;
        }
      }
    }
  }
}

/* ========================================
   収支イメージ
   ======================================== */
.home-profit {
  .home-profit-inner {
    max-width: 900px;
    margin: auto;

    .profit-inner-text {
      width: fit-content;
      margin: var(--space-lg) auto;
    }

    .profit-simulation {
      .simulation-title {
        h3 {
          font-size: var(--font-xxl);
          color: var(--color-primary);
        }

        span {
          color: var(--color-text-light);
        }
      }

      .simulation-terms {
        margin-top: var(--space-md);

        ul {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          gap: var(--space-xs);
        }

        li {
          display: flex;
          justify-content: center;
          gap: 12px;
          padding: var(--space-xxs) 0;
          border-radius: var(--radius-round);
          font-size: var(--font-sm);
          font-weight: 700;
          background-color: var(--color-bg-light);

          span {
            position: relative;
            padding-left: var(--space-xs);
            color: var(--color-primary);

            &::before {
              content: "";
              position: absolute;
              left: 0;
              top: 50%;
              width: 8px;
              height: 8px;
              background-color: #f5c400;
              border-radius: 50%;
              transform: translateY(-50%);
            }
          }
        }
      }

      .simulation-seles {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: var(--space-md);
        padding: var(--space-md);
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);

        h4 {
          font-size: var(--font-xl);
          color: var(--color-primary);
        }

        .price {
          display: flex;
          align-items: center;
        }

        p {
          display: flex;
          align-items: baseline;
          font-size: var(--font-lg);
          font-weight: 700;
        }

        span {
          margin: 0 4px 0 8px;
          font-size: var(--font-xxxl);
          font-weight: 900;
          color: var(--color-primary);
        }
      }

      .simulation-cost {
        margin-top: var(--space-sm);
        padding: var(--space-md);
        border-radius: var(--radius-sm);
        border: 1px solid var(--color-border);

        h4 {
          font-size: var(--font-xl);
          color: var(--color-primary);
        }

        ul {
          display: flex;
          flex-direction: column;
          margin-top: var(--space-sm);
          gap: var(--space-sm);
        }

        li {
          display: flex;
          justify-content: space-between;
          font-size: var(--font-lg);
          font-weight: 700;
        }

        li:nth-child(5) {
          padding-top: var(--space-sm);
          border-top: 1px dashed var(--color-border);
        }
      }

      .simulation-profit {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: var(--space-sm);
        padding: var(--space-md);
        font-size: var(--font-xl);
        border-radius: var(--radius-sm);
        background-color: var(--color-primary);
        color: var(--color-bg);

        p {
          font-size: var(--font-lg);
        }

        span {
          margin-right: 4px;
          font-size: var(--font-xxxl);
          font-weight: 900;
        }
      }

      .simulation-annotation {
        margin-top: var(--space-xs);

        p {
          font-size: 14px;
          color: #666;
        }
      }
    }
  }
}

/* ========================================
   よくある質問
   ======================================== */
.home-faq {
  .home-faq-inner {
    max-width: var(--container-md);
    margin: auto;

    .question-wrap {
      display: grid;
      grid-template-columns: repeat(1, 7fr);
      gap: var(--space-sm);
      margin-top: var(--space-xl);

      .question-item {
        padding: var(--space-md);
        border-radius: var(--radius-sm);
        background-color: var(--color-bg-light);

        .question {
          position: relative;
          display: flex;
          align-items: center;
          gap: 16px;
          font-size: var(--font-lg);
          cursor: pointer;

          span {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 40px;
            height: 40px;
            font-size: 18px;
            font-weight: 700;
            border-radius: var(--radius-round);
            color: var(--color-bg);
            background-color: var(--color-primary);
          }

          h3 {
            flex: 1;
            font-weight: 700;
          }

          img {
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            transition: transform 0.4s ease;
          }
        }

        .answer {
          display: flex;
          align-items: center;
          gap: 16px;
          max-height: 0;
          font-weight: 500;
          opacity: 0;
          overflow: hidden;
          transition:
            max-height 0.4s ease,
            opacity 0.3s ease;

          span {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 40px;
            height: 40px;
            font-size: 18px;
            font-weight: 700;
            border-radius: var(--radius-round);
            border: 1px solid var(--color-primary);
            color: var(--color-primary);
          }

          p {
            flex: 1;
          }
        }
      }

      .question-item.is-open img {
        transform: translateY(-60%) rotate(180deg);
      }

      .question-item.is-open .answer {
        max-height: 500px;
        opacity: 1;
        margin-top: 16px;
      }
    }
  }
}

@media (max-width:1440px) {
  .fv {
    .bg {
      width: 100%;
      min-width: inherit;

      .cercle-pattern {
        img:nth-child(1) {
          width: clamp(26.25rem, -4.519rem + 48.08vw, 38.75rem);
        }

        img:nth-child(2) {
          top: 100px;
          right: clamp(4.375rem, -15.625rem + 31.25vw, 12.5rem);
          width: clamp(20rem, 7.692rem + 19.23vw, 25rem);
        }
      }
    }

    .fv-inner {
      min-height: clamp(36.25rem, -6.058rem + 66.11vw, 53.438rem);

      .fv-left {
        left: 16px;

        .fv-text {
          h2 {
            font-size: clamp(1.125rem, 0.202rem + 1.44vw, 1.5rem);
          }

          h1 {
            font-size: clamp(3rem, -0.692rem + 5.77vw, 4.5rem);
          }

          p {
            font-size: 18px;
          }
        }

        .fv-list {
          ul {
            margin-top: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);

            li {
              img {
                width: clamp(2.5rem, 1.269rem + 1.92vw, 3rem);
              }

              p {
                font-size: clamp(0.875rem, 0.567rem + 0.48vw, 1rem);
              }
            }
          }
        }

        .fv-contact-btn {
          margin-top: var(--space-md);

          a {
            width: clamp(26.875rem, 19.183rem + 12.02vw, 30rem);
            height: clamp(4.5rem, 3.269rem + 1.92vw, 5rem);
            font-size: clamp(1.125rem, 0.817rem + 0.48vw, 1.25rem);

            .mail-icon {
              width: clamp(3rem, 2.077rem + 1.44vw, 3.375rem);
              height: clamp(3rem, 2.077rem + 1.44vw, 3.375rem);
            }
          }

          .arrow-icon {
            width: clamp(1.5rem, 0.885rem + 0.96vw, 1.75rem);
            height: clamp(1.5rem, 0.885rem + 0.96vw, 1.75rem);
          }
        }
      }

      .fv-right {
        .fv-image-bg {
          img:nth-child(1) {
            right: 24px;
            width: clamp(18.75rem, -4.327rem + 36.06vw, 28.125rem);
          }

          img:nth-child(2) {
            right: 40px;
            width: clamp(25.625rem, -11.298rem + 57.69vw, 40.625rem);
          }
        }
      }
    }
  }


  .home-pain {
    padding-top: clamp(6.25rem, 3.173rem + 4.81vw, 7.5rem);

    .home-pain-worman-image {
      img {
        top: -52px;
        right: 60px;
        width: clamp(6.25rem, 3.173rem + 4.81vw, 7.5rem);
      }
    }

    .home-pain-list {
      li {
        height: clamp(13.75rem, 9.135rem + 7.21vw, 15.625rem);

        p {
          font-size: clamp(1.25rem, 0.635rem + 0.96vw, 1.5rem);
        }
      }
    }

    .home-pain-bottom-arrow {
      img {
        height: clamp(7.5rem, 4.423rem + 4.81vw, 8.75rem);
      }
    }
  }


  .home-solve {
    .home-solve-inner {
      padding-bottom: clamp(10rem, -2.308rem + 19.23vw, 15rem);

      .home-solve-list {
        width: 90%;
        margin: 32px auto 0;
      }

      .home-solve-worman-img {
        img {
          left: 24px;
          width: clamp(6.25rem, 3.173rem + 4.81vw, 7.5rem);
        }
      }
    }
  }


  .home-service-inner {
    .home-service-wrap {
      .home-service-item {
        margin-top: clamp(4rem, 1.538rem + 3.85vw, 5rem);

        .service-bg-text {
          img {
            height: clamp(6.875rem, 2.26rem + 7.21vw, 8.75rem);
            position: absolute;
            top: -20px;
            left: clamp(2.5rem, -1.192rem + 5.77vw, 4rem);
            opacity: .7;
          }
        }

        .service-item-right {
          h3 {
            font-size: clamp(1.75rem, 1.135rem + 0.96vw, 2rem);
          }

          p {
            margin-top: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);
          }
        }

        .service-bg-image {
          img {
            right: clamp(2rem, -4.154rem + 9.62vw, 4.5rem);
            width: clamp(8.75rem, 4.135rem + 7.21vw, 10.625rem);
          }
        }
      }
    }

    .service-wrap-left {
      .service-bg-text {
        img {
          right: clamp(16.25rem, 14.404rem + 2.88vw, 17rem) !important;
        }
      }
    }
  }


  .home-reason {
    .home-reason-inner {
      .home-reason-wrap {
        margin-top: clamp(3rem, 0.538rem + 3.85vw, 4rem);

        .home-reason-item {
          .reason-item-left {
            img {
              height: clamp(3.5rem, 2.423rem + 1.68vw, 3.938rem);
              margin-top: 16px;
            }

            h3 {
              margin-top: clamp(0.5rem, -0.731rem + 1.92vw, 1rem);
              font-size: clamp(2.25rem, 1.635rem + 0.96vw, 2.5rem);
            }

            p {
              margin-top: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);
            }
          }
        }
      }
    }
  }


  .home-area {
    .home-area-inner {
      .inner-wrap {
        .area-inner-text {
          p {
            margin-top: var(--space-lg);
            font-size: clamp(1.125rem, 0.817rem + 0.48vw, 1.25rem);
          }
        }
      }
    }
  }


  .home-profit {
    .home-profit-inner {
      .profit-inner-text {
        margin: clamp(2.5rem, 1.269rem + 1.92vw, 3rem) auto;
      }

      .profit-simulation {
        .simulation-title {
          h3 {
            font-size: clamp(1.75rem, 1.135rem + 0.96vw, 2rem);
          }

          span {
            font-size: clamp(0.875rem, 0.567rem + 0.48vw, 1rem);
          }
        }

        .simulation-terms {
          margin-top: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);
        }

        .simulation-seles {
          margin-top: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);
          padding: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);

          h4 {
            font-size: clamp(1.25rem, 0.635rem + 0.96vw, 1.5rem);
          }

          p {
            font-size: clamp(1.125rem, 0.817rem + 0.48vw, 1.25rem);
          }

          span {
            font-size: clamp(2.125rem, 1.202rem + 1.44vw, 2.5rem);
          }
        }

        .simulation-cost {
          padding: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);

          h4 {
            font-size: clamp(1.25rem, 0.635rem + 0.96vw, 1.5rem);
          }

          li {
            font-size: clamp(1rem, 0.385rem + 0.96vw, 1.25rem);
          }
        }

        .simulation-profit {
          padding: clamp(1.5rem, 0.269rem + 1.92vw, 2rem);
          font-size: clamp(1.25rem, 0.635rem + 0.96vw, 1.5rem);

          p {
            font-size: 20px;
          }

          span {
            font-size: clamp(2.125rem, 1.202rem + 1.44vw, 2.5rem);
          }
        }

        .simulation-annotation {

          p {
            margin-top: clamp(0.125rem, -0.798rem + 1.44vw, 0.5rem);
            font-size: clamp(0.875rem, 0.567rem + 0.48vw, 1rem);
          }
        }
      }
    }
  }


  .home-faq {
    .home-faq-inner {
      padding: 0 16px;

      .question-wrap {
        margin-top: clamp(3rem, 0.538rem + 3.85vw, 4rem);
      }
    }
  }
}

@media (max-width:1024px) {
  .fv {
    padding: 16px 16px 0;

    .bg {
      .cercle-pattern {
        img:nth-child(2) {
          right: 30px;
        }
      }
    }

    .fv-inner {
      display: flex;
      flex-direction: column-reverse;
      max-width: 768px;
      margin-top: 24px;

      .fv-left {
        text-align: center;
        position: inherit;
        top: inherit;
        left: 0;
        transform: none;
        max-width: inherit;
        width: 100%;
        margin: 32px auto 0;

        .fv-text {
          h2 {
            font-size: clamp(1.125rem, 0.594rem + 1.89vw, 1.5rem);
          }

          h1 {
            font-size: clamp(2.25rem, -0.226rem + 8.81vw, 4rem);
          }

          p {
            font-size: clamp(1rem, 0.646rem + 1.26vw, 1.25rem);
          }
        }

        .fv-list {
          ul {
            margin-top: clamp(1.5rem, 0.792rem + 2.52vw, 2rem);

            li {
              img {
                width: clamp(2.25rem, 1.189rem + 3.77vw, 3rem);
              }

              p {
                font-size: clamp(0.75rem, 0.396rem + 1.26vw, 1rem);
              }
            }
          }
        }

        .fv-contact-btn {
          margin-top: clamp(2rem, 1.292rem + 2.52vw, 2.5rem);

          a {
            width: 80%;
            height: clamp(4.5rem, 3.792rem + 2.52vw, 5rem);
            margin: auto;
          }
        }
      }

      .fv-right {
        .fv-image-bg {
          display: flex;
          flex-direction: row-reverse;
          align-items: end;
          gap: clamp(1rem, 0.292rem + 2.52vw, 1.5rem);

          img:nth-child(1) {
            position: inherit;
            min-width: 0;
            width: 42%;
            height: 100%;
          }

          img:nth-child(2) {
            position: inherit;
            min-width: 0;
            width: 58%;
          }

        }
      }
    }
  }


  .home-pain {
    .home-pain-title {
      img {
        height: clamp(3rem, 1.585rem + 5.03vw, 4rem);
        margin-left: clamp(-0.875rem, -1.406rem + 1.89vw, -0.5rem);
      }
    }

    .home-pain-worman-image {
      img {
        top: -36px;
        right: clamp(2rem, 2.265rem + -0.94vw, 1.813rem);
        width: clamp(3.5rem, 2.085rem + 5.03vw, 4.5rem);
      }
    }

    .home-pain-list {
      margin-top: 24px;

      ul {
        grid-template-columns: repeat(1, 3fr);
      }

      li {

        p {
          font-size: clamp(1.25rem, 0.896rem + 1.26vw, 1.5rem);
        }
      }
    }

    .home-pain-bottom-arrow {
      img {
        margin-top: clamp(0.5rem, -0.208rem + 2.52vw, 1rem);
        height: clamp(5rem, 3.231rem + 6.29vw, 6.25rem);
      }
    }
  }


  .home-solve {
    .home-solve-inner {
      padding: 0 16px 120px;

      .home-solve-list {
        width: 100%;
        margin-top: 24px;
        padding: 32px;

        li {
          p {
            font-size: clamp(1.125rem, 0.948rem + 0.63vw, 1.25rem);
            word-break: keep-all;
          }
        }
      }

      .home-solve-worman-img {
        img {
          left: 10px;
          width: 80px;
        }
      }
    }
  }


  .home-service {
    .home-service-inner {
      padding: 64px 16px;

      .home-service-text {
        margin: 24px auto 0;
      }

      .home-service-wrap {
        margin-top: clamp(2.5rem, 1.792rem + 2.52vw, 3rem);

        .home-service-item {
          flex-direction: column;

          .service-item-left {
            width: 100%;

            img {
              border-radius: 24px 24px 0 0 !important;
            }
          }

          .service-item-right {
            width: 100%;

            p {
              width: 80%;
            }
          }

          .service-bg-image {
            img {
              left: inherit;
              right: 12px;
              width: clamp(6.25rem, 2.712rem + 12.58vw, 8.75rem);
            }
          }

          .service-bg-text {
            width: clamp(5.5rem, 3.554rem + 6.92vw, 6.875rem);
            top: clamp(-1rem, -0.646rem + -1.26vw, -1.25rem);
            left: 40px;
          }
        }
      }
    }
  }


  .home-reason {
    margin-top: clamp(5rem, 1.462rem + 12.58vw, 7.5rem);

    & .home-reason-inner {
      & .home-reason-wrap {
        .home-reason-item {
          flex-direction: column-reverse;
          gap: 24px;

          .reason-item-left {
            width: 100%;

            span {
              font-size: clamp(1rem, 0.823rem + 0.63vw, 1.125rem);
            }

            img {
              height: clamp(2.5rem, 1.792rem + 2.52vw, 3rem);
            }

            h3 {
              font-size: clamp(1.625rem, 1.094rem + 1.89vw, 2rem);

              span {
                font-size: clamp(1.625rem, 1.094rem + 1.89vw, 2rem);
              }
            }

            p {
              margin-top: 16px;
            }
          }

          .reason-item-right {
            width: 75%;
          }
        }
      }
    }
  }


  .home-area {
    margin-top: 480px;

    .home-area-inner {
      .inner-wrap {
        .area-inner-title {
          margin-top: clamp(1.5rem, 0.792rem + 2.52vw, 2rem);
        }

        .area-inner-img {
          margin-top: clamp(1.5rem, 0.085rem + 5.03vw, 2.5rem);

          img {
            width: 60%;
          }
        }

        .area-inner-text {
          p {
            margin-top: clamp(2rem, 1.292rem + 2.52vw, 2.5rem);
          }
        }
      }
    }
  }


  .home-profit {
    margin-top: clamp(5rem, -2.075rem + 25.16vw, 10rem) !important;

    .home-profit-inner {
      padding: 0 16px;

      .profit-inner-text {
        margin: 32px auto;
      }

      .profit-simulation {
        .simulation-title {
          h3 {
            font-size: clamp(1.5rem, 1.146rem + 1.26vw, 1.75rem);
          }
        }

        .simulation-terms {
          margin-top: clamp(1rem, 0.292rem + 2.52vw, 1.5rem);

          ul {
            grid-template-columns: repeat(2, 2fr);
          }

          li {
            gap: 16px;
            font-size: clamp(0.75rem, 0.573rem + 0.63vw, 0.875rem);
          }
        }

        .simulation-seles {
          h4 {
            font-size: clamp(1.125rem, 0.948rem + 0.63vw, 1.25rem);
          }

          p {
            font-size: clamp(1rem, 0.823rem + 0.63vw, 1.125rem);
          }

          span {
            font-size: clamp(1.75rem, 1.219rem + 1.89vw, 2.125rem);
          }
        }

        .simulation-cost {
          h4 {
            font-size: clamp(1.125rem, 0.948rem + 0.63vw, 1.25rem);
          }

          ul {
            margin-top: clamp(1rem, 0.292rem + 2.52vw, 1.5rem);
            gap: clamp(1rem, 0.292rem + 2.52vw, 1.5rem);
          }
        }

        .simulation-profit {
          font-size: clamp(1.125rem, 0.948rem + 0.63vw, 1.25rem);

          p {
            span {
              font-size: clamp(1.75rem, 1.219rem + 1.89vw, 2.125rem);
            }
          }
        }
      }
    }
  }

  .home-faq {
    .home-faq-inner {
      .question-wrap {
        margin-top: clamp(2rem, 0.585rem + 5.03vw, 3rem);

        .question-item {
          .question {
            font-size: clamp(1.125rem, 0.948rem + 0.63vw, 1.25rem);

            span {
              width: clamp(1.875rem, 0.991rem + 3.14vw, 2.5rem);
              height: clamp(1.875rem, 0.991rem + 3.14vw, 2.5rem);
              font-size: clamp(0.813rem, 0.37rem + 1.57vw, 1.125rem);
            }
          }

          .answer {
            align-items: baseline;
            font-size: clamp(1.125rem, 0.948rem + 0.63vw, 1.25rem);

            span {
              width: clamp(1.875rem, 0.991rem + 3.14vw, 2.5rem);
              height: clamp(1.875rem, 0.991rem + 3.14vw, 2.5rem);
              font-size: clamp(0.813rem, 0.37rem + 1.57vw, 1.125rem);
            }
          }
        }
      }
    }
  }
}

@media(max-width: 768px) {
  .fv {
    .bg {
      .cercle-pattern {
        img:nth-child(1) {
          width: clamp(15.938rem, 2.229rem + 48.74vw, 25.625rem);
        }

        img:nth-child(2) {
          top: 60px;
          right: 16px;
          width: clamp(7.5rem, 1.309rem + 22.01vw, 11.875rem);
        }
      }
    }
  }


  .home-faq {
    .home-faq-inner {
      .question-wrap {
        .question-item {

          .question {
            img {
              right: -12px;
            }
          }
        }
      }
    }
  }
}


@media (max-width: 450px) {
  .fv {
    .bg {
      .cercle-pattern {
        img:nth-child(1) {
          width: 200px;
        }

        img:nth-child(2) {
          top: 120px;
          right: 2px;
        }
      }
    }

    .fv-inner {
      margin-top: 64px;
      min-height: inherit;

      .fv-left {
        .fv-text {
          h2 {
            font-size: clamp(1rem, 0.563rem + 2vw, 1.125rem);
          }

          h1 {
            font-size: clamp(2rem, 1.125rem + 4vw, 2.25rem);
          }

          p {
            margin-top: clamp(0.75rem, -0.125rem + 4vw, 1rem);
            word-break: keep-all;
            font-size: 16px;
          }
        }

        .fv-list {
          ul {
            margin-top: 24px;

            li {
              img {
                width: 32px;
              }

              p {
                font-size: 12px;
              }
            }
          }
        }

        .fv-contact-btn {
          margin-top: 32px;

          a {
            width: 100%;
            height: clamp(4rem, 2.25rem + 8vw, 4.5rem);
            font-size: 16px;

            .mail-icon {
              width: clamp(2.5rem, 0.75rem + 8vw, 3rem);
              height: clamp(2.5rem, 0.75rem + 8vw, 3rem);
            }

            .arrow-icon {
              width: clamp(1.25rem, 0.375rem + 4vw, 1.5rem);
              height: clamp(1.25rem, 0.375rem + 4vw, 1.5rem);
            }
          }
        }
      }

      .fv-right {
        .fv-image-bg {
          gap: 16px;

          img:nth-child(1) {
            border-radius: 16px;
          }

          img:nth-child(2) {
            border-radius: 16px;
          }
        }
      }
    }
  }

  .home-pain {
    padding-top: clamp(3rem, -0.5rem + 16vw, 4rem);

    .home-pain-inner {
      .home-pain-title {
        h2 {
          font-size: clamp(1.75rem, 1.313rem + 2vw, 1.875rem);
          line-height: 1.6;
          word-break: keep-all;
        }

        img {
          height: clamp(2.625rem, 1.313rem + 6vw, 3rem);
          margin-left: 0;
          margin-top: -14px;
        }
      }

      .home-pain-worman-image {
        img {
          top: 34px;
          right: 30px;
          width: 50px;
        }
      }

      .home-pain-list {
        ul {
          li {
            height: 190px;

            p {
              font-size: 20px;
              font-weight: 800;
            }

            img {
              width: 120px;
            }
          }
        }
      }

      .home-pain-bottom-arrow {
        img {
          margin-top: 8px;
          height: clamp(4.5rem, 2.75rem + 8vw, 5rem);
        }
      }
    }
  }


  .home-solve {
    .home-solve-inner {
      .home-solve-list {
        li {
          align-items: flex-start;
          gap: 8px;

          img {
            width: 22px;
            margin-top: 4px;
          }

          p {
            font-size: clamp(1rem, 0.563rem + 2vw, 1.125rem);
            word-break: normal;
          }
        }
      }

      .home-solve-worman-img {
        img {
          width: clamp(4.5rem, 2.75rem + 8vw, 5rem);
        }
      }
    }
  }

  .home-service {
    .home-service-inner {
      .home-service-wrap {
        display: flex;
        flex-direction: column;
        gap: 48px;

        margin-top: 40px;

        .home-service-item {
          margin-top: 0;

          .service-item-right {
            padding: clamp(1.5rem, -0.25rem + 8vw, 2rem);

            h3 {
              font-size: 24px;
            }

            p {
              width: 100%;
              margin-top: 16px;
            }

            .service-link {
              a {
                margin-top: 24px;
              }
            }
          }

          .service-bg-image {
            img {
              width: clamp(8.125rem, 3.75rem + 20vw, 9.375rem);
              /*width: clamp(5rem, 0.625rem + 20vw, 6.25rem);*/
            }
          }

          .service-bg-text {
            img {
              top: -16px;
              left: clamp(1.5rem, -2rem + 16vw, 2.5rem);
              height: clamp(5rem, 3.25rem + 8vw, 5.5rem);
            }
          }

        }
      }
    }
  }


  .home-reason {
    margin-top: 100px;

    .home-reason-inner {
      .home-reason-wrap {
        margin-top: 24px;

        .home-reason-item {
          gap: 12px;

          .reason-item-left {
            span {
              font-size: 16px;
            }

            img {
              height: 40px;
              margin-top: 8px;
            }

            h3 {
              font-size: 26px;

              span {
                font-size: 26px;
              }
            }
          }

          .reason-item-right {
            width: 100%;
          }
        }
      }
    }
  }


  .home-area {
    margin-top: clamp(15.625rem, -6.25rem + 100vw, 21.875rem);

    .home-area-inner {
      .inner-wrap {
        .area-inner-title {
          margin-top: 24px;

          h3 {
            gap: 8px;
            font-size: 20px;

            img {
              width: 20px;
              height: 20px;
            }
          }
        }

        .area-inner-img {
          margin-top: 24px;

          img {
            width: 80%;
          }
        }

        .area-inner-text {
          p {
            word-break: keep-all;
            margin-top: 32px;
            font-size: clamp(1rem, 0.563rem + 2vw, 1.125rem);
          }
        }
      }
    }
  }


  .home-profit {
    margin-top: 100px !important;

    .home-profit-inner {
      .profit-inner-text {
        margin: clamp(1.5rem, -0.25rem + 8vw, 2rem) auto;
      }

      .profit-simulation {
        .simulation-title {
          h3 {
            font-size: 24px;
          }
        }

        .simulation-terms {
          margin-top: 16px;

          ul {
            gap: 8px;
          }

          li {
            gap: 10px;
            font-size: 12px;
          }
        }

        .simulation-seles {
          flex-direction: column;
          align-items: baseline;
          padding: 16px;
          margin-top: clamp(1rem, -0.75rem + 8vw, 1.5rem);

          h4 {
            font-size: 18px;
          }

          .price {
            p {
              font-size: 16px;
            }

            span {
              font-size: clamp(1.5rem, 0.625rem + 4vw, 1.75rem);
            }
          }
        }

        .simulation-cost {
          margin-top: clamp(1rem, -0.75rem + 8vw, 1.5rem);

          ul {
            margin-top: 16px;
            gap: 16px;
          }

          li {
            font-size: clamp(0.875rem, 0.438rem + 2vw, 1rem);

            p {
              word-break: keep-all;
            }
          }

          li:nth-child(5) {
            padding-top: 16px;
          }
        }

        .simulation-profit {
          margin-top: clamp(1rem, -0.75rem + 8vw, 1.5rem);
          font-size: 18px;

          p {
            span {
              font-size: clamp(1.5rem, 0.625rem + 4vw, 1.75rem);
            }
          }
        }

        .simulation-profit {
          margin-top: clamp(1rem, -0.75rem + 8vw, 1.5rem);
        }

        .simulation-annotation {
          margin-top: 8px;

          p {
            font-size: 12px;
          }
        }
      }
    }
  }

  .home-faq {
    .home-faq-inner {
      .question-wrap {
        gap: 16px;
        margin-top: clamp(1.5rem, -0.25rem + 8vw, 2rem);

        .question-item {
          padding: 24px;

          .question {
            align-items: center;
            font-size: 18px;

            span {
              width: 34px;
              height: 34px;
              font-size: 14px;
            }

            h3 {
              flex: .9;
            }

            img {
              right: -12px;
            }
          }

          .answer {
            align-items: baseline;

            span {
              width: 34px;
              height: 34px;
              font-size: 14px;
            }

            p {
              flex: .9;
              font-size: 16px;
            }
          }
        }
      }
    }
  }
}