@charset "UTF-8";

.cloud-set {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 40px;
  margin-bottom: 50px;

  @media screen and (max-width: 767px) {
    margin-bottom: 30px;
    gap: 20px;
    flex-direction: column;
  }

  .set-photo {}

  .set-text {
    width: 440px;
    flex-shrink: 0;

    @media screen and (max-width: 767px) {
      width: 100%;
    }

    .text-title {
      margin-bottom: 40px;
      font-weight: 700;
      font-size: 4rem;
      line-height: 48px;
      letter-spacing: 1.76px;

      @media screen and (max-width: 767px) {
        margin-bottom: 10px;
        font-size: 2.4rem;
      }
    }

    .text-detail {
      .detail-title {
        margin-bottom: 20px;
        font-weight: 700;
        font-size: 3rem;
        line-height: 1.2;
        letter-spacing: 1.76px;
        color: #1A7D5A;

        @media screen and (max-width: 767px) {
          margin-bottom: 10px;
          font-size: 2rem;
          line-height: 1.2;
        }
      }

      .detail-description {
        font-weight: 400;
        font-size: 2rem;
        line-height: 150%;
        letter-spacing: 1.76px;

        @media screen and (max-width: 767px) {
          font-size: 1.4rem;
        }
      }
    }
  }
}

.btn-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-bottom: 50px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 24px;
  color: #FFFFFF;

  @media screen and (max-width: 767px) {
    gap: 20px;
    flex-direction: column;
  }

  >* {
    min-width: 280px;
    @media screen and (max-width: 767px) {
      width: 100%;
    }
  }

  .c-btn--small {
    min-width: 280px;

    @media screen and (max-width: 767px) {
      min-width: 100%;
      height: 48px;
      font-size: 1.6rem;
    }
  }
}

.feature-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  counter-reset: number;

  @media screen and (max-width: 767px) {
    gap: 15px;
  }

  >li {
    width: calc(100% / 3 - 20px * 2 / 3);
    padding: 30px 20px;
    border: 1px solid #D1D1D1;
    counter-increment: number;

    @media screen and (max-width: 767px) {
      width: 100%;
    }
  }

  .list-icon {
    text-align: center;
  }
  .list-number {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    gap: 10px;
    margin: 0 auto 20px;
    width: 70px;
    height: 70px;
    background: linear-gradient(88.1deg, #1A7D5A 3.32%, #21A174 51.19%, #21C98C 99.06%);
    border-radius: 35px;

    @media screen and (max-width: 767px) {
      margin-bottom: 10px;
      width: 50px;
      height: 50px;
      border-radius: 25px;
    }

    &:before {
      content: counter(number, decimal-leading-zero);
      font-weight: 700;
      font-size: 3rem;
      color: #FFFFFF;
    }

    @media screen and (max-width: 767px) {
      &:before {
        font-size: 2rem;
      }
    }
  }

  .list-text {
    .text-title {
      margin-bottom: 30px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 2rem;
      line-height: 150%;
      text-align: center;
      color: #000000;
      
      @media print, screen and (min-width: 767.01px) {
        min-height: 90px;
      }

      @media screen and (max-width: 767px) {
        margin-bottom: 10px;
        font-size: 1.8rem;
      }
    }

    .text-detail {
      & p {
        font-weight: 400;
        font-size: 1.6rem;
        line-height: 150%;
        color: #000000;

        @media screen and (max-width: 767px) {
          font-size: 1.4rem;
        }
      }
      & .catch{
        margin-bottom: 1rem;
        font-weight: 600;
        font-size: 1.8rem;
        color: var(--color-green);

        @media screen and (max-width: 767px) {
          font-size: 1.6rem;
        }
      }
      & .marker{
        font-weight: 600;
      }
    }

    .text-list {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 15px;
      margin-top: 20px;

      @media screen and (max-width: 767px) {
        margin-top: 10px;
        gap: 5px 10px;
      }

      >li {
        position: relative;
        padding-left: 24px;
        font-weight: 400;
        font-size: 1.4rem;
        line-height: 150%;
        color: #000000;

        &:before {
          content: "";
          position: absolute;
          left: 0;
          top: 3px;
          z-index: 1;
          display: block;
          width: 14px;
          height: 14px;
          border-radius: 50%;
          background: #017E50;
        }
      }
    }
  }
}
