@charset "utf-8";

:root {
  --font-en: "Montserrat", sans-serif;
}

.bg-grad {
  background: linear-gradient(#55a86c 0%, #b9db64 100%);

  .title {
    position: relative;
  }

  .title::before {
    content: attr(data-title);
    font-family: var(--font-en);
    font-weight: 100;
    font-size: 256px;
    line-height: 312px;
    top: -79px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    color: rgba(255, 255, 255, 0.15);
    position: absolute;

    @media screen and (max-width: 1024px) {
      font-size: 190px;
    }

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


  .desc {
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    color: #333;



  }

  .breadlist {
    display: flex;
    max-width: 1100px;
    width: 90%;
    margin: auto auto 39px;

    .item {
      font-weight: normal;
      font-size: 11px;
      line-height: 24px;
      text-align: left;
      color: #fff;
    }
  }


}


.s_price {


  .c-title-section::before {
    margin-bottom: 7px;
  }

  .c-title-section {
    font-weight: 500;
    font-size: 32px;
    text-align: center;
    color: #333;
    margin-bottom: 40px;

    @media screen and (max-width: 767px) {
      font-size: 26px;
      margin-bottom: 20px;
    }
  }

  .c-title-section__en {
    font-size: 15px;
    margin-top: 7px;

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

  .desc {
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #333;

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

  .dot {
    display: flex;
    flex-direction: column;

    li {
      font-size: 16px;
      line-height: 30px;
      padding-left: 19px;
      position: relative;

      @media screen and (max-width: 767px) {
        font-size: 14px;
        line-height: 24px;
      }
    }

    li:before {
      content: "●";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      font-size: 10px;
      color: #55a86c;
      display: inline-block;
    }
  }

  .f-14 {
    font-size: 14px;
  }

  .f-16 {
    font-size: 16px;
  }

  .f-20 {
    font-size: 20px;
  }

  .f-24 {
    font-size: 24px;
  }

  .font-en {
    font-family: var(--font-en);
  }

  .w900 {
    max-width: 900px;
    width: 100%;
    margin: auto;
  }

  .w930 {
    max-width: 930px;
    width: 95%;
    margin: auto;
  }

  .w1100 {
    max-width: 1100px;
    width: 90%;
    margin: auto;
  }

  .t-green {
    color: #55A86C;
    font-weight: bold;
  }

  .pc-hidden {
    display: none;

    @media screen and (max-width: 767px) {
      display: block;
    }
  }
}

.price_header {
  margin-bottom: 100px;

  .bg-grad {
    padding: 21px 0 141px;
  }


  .c-title-section {
    font-weight: 500;
    font-size: 44px;
    text-align: center;
    color: #fff;
    margin-bottom: 0;
  }

  .c-title-section::before {
    margin-bottom: 0;
  }

  .c-title-section__en {
    margin-top: 3px;
    font-family: var(--font-en);
    font-weight: 600;
    font-size: 15px;
    text-align: center;
    color: #fff;
  }

  .w-box {
    border-radius: 50px;
    background: #fff;
    box-shadow: 10px 10px 30px rgba(197, 213, 183, 0.25);
    max-width: 1100px;
    width: 90%;
    margin: -86px auto 0;
    padding: 64px 0 73px;

    .text {
      margin-bottom: 38px;

      .desc {
        text-align: center;

        @media screen and (max-width: 767px) {
          text-align: left;
          width: calc(323 / 343 * 100%);
          margin-left: auto;
          margin-right: auto;
        }

        strong {
          font-weight: bold;
          font-size: 20px;
          line-height: 30px;
          text-align: center;
          color: #333;

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

          }

        }
      }
    }

    .p_menu {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto;
      gap: 10px;

      @media screen and (max-width: 767px) {
        grid-template-columns: 1fr;
        width: 90%;
        margin: 0 auto;
      }

      .menuitem {
        border-radius: 5px;
        background: #fafcf4;

        border: 1px solid #d7ecbc;
        padding: 18px 13px;
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-decoration: underline;
        transition: all .4s ease;

        p {
          font-size: 16px;
          line-height: 20px;

          @media screen and (max-width: 767px) {
            font-size: 14px;
            width: calc(220 / 303 * 100%);
          }
        }



        a {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;

        }


      }

      .menuitem:hover {
        filter: opacity(60%);
        transition: all .4s ease;
      }
    }
  }


}

.price_market {
  background-color: #FFF;
  padding: 100px 0 95px;

  >.w930 {
    padding-bottom: 60px;

    @media screen and (max-width: 767px) {
      max-width: calc(343 / 393 * 100%);
    }
  }

  .w1100 {
    padding-bottom: 60px;
  }

  .w1100:last-of-type {
    padding-bottom: 0;
  }


  .title {
    margin-bottom: 42px;

    @media screen and (max-width: 767px) {
      max-width: calc(343 / 393 * 100%);
      width: 100%;
      margin-left: auto;
      margin-right: auto;
    }
  }

  .column {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    margin-bottom: 41px;

    @media screen and (max-width: 767px) {
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      margin-bottom: 35px;
    }



    .item {
      position: relative;

      .item-ttl {
        font-weight: bold;
        font-size: 20px;
        line-height: 32px;
        text-align: center;
        color: #55a86c;
        margin-bottom: 10px;

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

        sup {
          font-weight: normal;
          vertical-align: super;
          font-size: smaller;
        }
      }

      .desc {
        text-align: left;
        margin-bottom: 10px;
      }

      figure {
        text-align: center;
      }

      table {
        width: 320px;
        margin: auto;

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

        tr {
          border-bottom: 1px solid #CFD1C7;

          :first-of-type {
            border-top: 1px solid #CFD1C7;
          }

          th {
            height: 60px;
            font-size: 16px;
            font-weight: bold;
            background-color: rgba(164, 199, 78, 0.29);
            vertical-align: middle;
            text-align: center;

            @media screen and (max-width: 767px) {
              font-size: 14px;
              height: 50px;
            }
          }

          td {
            height: 60px;
            font-weight: normal;
            font-size: 16px;
            vertical-align: middle;
            text-align: center;

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

    .item:first-child::after {
      content: "";
      position: absolute;
      width: 1px;
      height: 100%;
      top: 0;
      right: -24px;
      border-right: 1px dashed #CFD1C7;

      @media screen and (max-width: 767px) {
        border-right: none;
        border-bottom: 1px dashed #CFD1C7;
        top: auto;
        bottom: -24px;
        right: auto;
        left: 0;
        width: 100%;
        height: 1px;
      }
    }
  }

  .catch {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;

    .desc {
      font-weight: normal;
      font-size: 16px;
      text-align: left;

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

  .kome {
    p {
      font-weight: 300;
      line-height: 20px;
      color: #707070;

      @media screen and (max-width: 767px) {
        font-size: 12px;
        line-height: 17px;
      }
    }
  }

  .label {
    background: #55a86c;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    height: 77px;
    margin-bottom: 30px;

    @media screen and (max-width: 767px) {
      font-size: 18px;
      height: 67px;
      margin-bottom: 16px;
    }
  }

  .w1100 {

    .desc {
      margin-bottom: 50px;

      @media screen and (max-width: 767px) {
        text-align: left;
        margin-bottom: 40px;
      }
    }

    .w930 {

      .desc {
        margin-bottom: 0;
      }

      .column {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
        margin-bottom: 40px;

        @media screen and (max-width: 1000px) {
          grid-template-columns: 1fr;
          grid-template-rows: auto;
        }

        .item {
          position: relative;
          padding: 37px 0 20px;
          border-radius: 20px;
          background: #fff;
          border: 2px solid #55a86c;
          box-shadow: 10px 10px 30px rgba(197, 213, 183, 0.25);
          display: flex;
          flex-direction: column;

          @media screen and (max-width: 1000px) {
            max-width: 80%;
            margin: auto;
          }

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

          .pattern {
            position: absolute;
            height: 40px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-weight: bold;
            font-size: 16px;
            color: #FFF;
            border-radius: 20px;
            background: #55a86c;
            width: 200px;
            margin: auto;
            left: 0;
            right: 0;
            top: -19px;
          }

          .desc {
            max-width: 250px;
            width: 100%;
            margin: auto auto 20px;

            @media screen and (max-width: 1000px) {
              max-width: 90%;
            }
          }

          .pattern_price {
            max-width: 250px;
            width: 100%;
            margin: auto;
            height: 46px;
            border-radius: 10px;
            background: #e67c8d;
            font-size: 16px;
            color: #FFF;
            display: flex;
            justify-content: center;
            align-items: center;

            @media screen and (max-width: 1000px) {
              max-width: 90%;
              margin-bottom: 20px;
            }
          }
        }

        .item:first-child::after {
          content: none;
        }
      }

      .catch {
        margin-bottom: 0;
        background-color: #FAFCF6;
        border: 1px solid #55a86c;
        position: relative;
        padding: 8px 0;

        @media screen and (max-width: 1000px) {
          padding: 22px 0;
        }

        .label {
          position: absolute;
          left: -1px;
          top: -10px;
          font-family: var(--font-en);
          font-weight: 500;
          font-size: 18px;
          text-align: center;
          color: #fff;
          background: url(../img/deco.png) no-repeat center/contain;
          padding: 5px 25px 5px 17px;
          height: auto;
          margin-bottom: 0;

          @media screen and (max-width: 1000px) {
            font-size: 14px;
          }

        }

        .desc {
          font-weight: bold;
          font-size: 24px;
          line-height: 38px;
          text-align: center;
          color: #55a86c;
          width: 90%;
          margin: auto;

          @media screen and (max-width: 1000px) {
            font-size: 16px;
            line-height: 26px;
          }
        }



      }

      .column.column2 {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;



        @media screen and (max-width: 1000px) {
          grid-template-columns: 1fr;
          grid-template-rows: auto;
        }

        .item {
          padding: 59px 0 56px;

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

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


          .ttl {
            position: absolute;
            height: 40px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-weight: bold;
            font-size: 16px;
            color: #FFF;
            border-radius: 20px;
            background: #55a86c;
            max-width: 400px;
            width: 90%;
            margin: auto;
            left: 0;
            right: 0;
            top: -19px;
          }

          .column {
            max-width: 410px;
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            margin-bottom: 20px;
            padding-bottom: 17px;
            border-bottom: 1px solid #CFD1C7;
            display: flex;
            justify-content: space-between;
            align-items: center;

            @media screen and (max-width: 1000px) {
              max-width: 100%;
              width: 90%;
              justify-content: center;
              gap: 20px;
            }

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


            .item-ttl, .desc {
              text-align: left;

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

              }
            }

            .item-ttl {
              @media screen and (max-width: 767px) {
                font-size: 18px;
              }
            }

            .text {
              width: 83%;

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

              .desc {
                max-width: 100%;
              }
            }
          }

          .bottom {
            max-width: 410px;
            width: 100%;
            margin-left: auto;
            margin-right: auto;

            @media screen and (max-width: 1000px) {
              max-width: 90%;
            }



            .item-ttl, .desc {
              text-align: left;

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

            .item-ttl {
              @media screen and (max-width: 1000px) {
                font-size: 18px;
              }
            }

            .desc {
              max-width: none;
            }
          }
        }

        .item.blue {
          .ttl {
            background: #35a5b2;
          }

          .item-ttl {
            color: #35a5b2;
          }

        }
      }
    }

  }

}

.price_plan {
  .w900 {
    padding: 100px 0;

    .title {
      margin-bottom: 30px;

      @media screen and (max-width: 767px) {
        max-width: calc(343 / 393 * 100%);
        text-align: left;
        width: 100%;
        margin: 0 auto 30px;
      }
    }

    .p-home-price-table__wrap {
      max-width: 900px;
      width: 100%;
      margin: 0 auto;
      margin-bottom: 30px;

      @media screen and (max-width: 1000px) {
        width: 90%;
      }

      @media screen and (max-width: 767px) {
        overflow-x: auto;
        width: 90%;
        -webkit-overflow-scrolling: touch;
      }
    }

    .p-home-price-table {
      width: 100%;
      min-width: auto;

      @media screen and (max-width: 1000px) {
        width: 680px;


      }

      @media screen and (max-width: 767px) {
        th:first-child {
          width: 90px;
          padding: 0;
        }

        .c-list-dot>li {
          font-size: 14px;
          line-height: 1.3;
        }
      }
    }

    .p-home-price-plan {
      font-size: 20px;

      @media screen and (max-width: 767px) {
        font-size: 16px;
        padding-left: 0;
        padding-right: 0;
      }
    }

    .p-home-price-table td {
      background: #FFF;
    }

    .planlist {
      display: flex;
      flex-direction: column;
      gap: 20px;
      max-width: 900px;
      width: 100%;
      margin: auto;

      @media screen and (max-width: 1000px) {
        width: 90%;
      }

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

      .item {
        display: grid;
        grid-template-columns: 25% auto;
        box-shadow: 10px 10px 30px rgba(197, 213, 183, 0.25);

        @media screen and (max-width: 767px) {
          grid-template-columns: 1fr;
          grid-template-rows: auto;
        }

        .item-ttl {
          display: flex;
          flex-direction: column;
          justify-content: center;
          gap: 10px;
          align-items: center;
          border-radius: 20px 0px 0px 20px;
          font-weight: bold;
          font-size: 20px;
          color: #FFF;

          @media screen and (max-width: 767px) {
            border-radius: 20px 20px 0px 0px;
            flex-direction: row;
            padding: 17px 0;

            img {
              height: 70px;
              width: auto;
            }
          }
        }

        .text {
          padding: 20px;
          background-color: #FFF;
          border-radius: 0 20px 20px 0;

          @media screen and (max-width: 767px) {
            border-radius: 0 0 20px 20px;
          }

          .desc {
            font-size: 16px;
            line-height: 26px;
            text-align: left;

            @media screen and (max-width: 767px) {
              font-size: 14px;
              line-height: 24px;
            }
          }
        }
      }

      .item.plan01 {
        .item-ttl {
          background: #55a86c;
        }
      }

      .item.plan02 {
        .item-ttl {
          background: #DDAB47;
        }
      }

      .item.plan03 {
        .item-ttl {
          background: #E67C8D;
        }
      }
    }
  }
}

.price_estimated {
  background-color: #FFF;
  padding: 100px 0;

  .title {
    margin-bottom: 27px;
  }

  .slider-estimated {
    padding-bottom: 60px;
    margin-bottom: 70px;

    .swiper-slide {
      width: 500px;
      border-radius: 20px;
      background: #fff;
      box-shadow: 10px 10px 30px rgba(197, 213, 183, 0.25);
      padding-top: 20px;
      height: auto;

      @media screen and (max-width: 767px) {
        width: calc(343 / 393 * 100%);
      }

      .estimated-slider__title {
        position: relative;
        height: 60px;
        border-radius: 20px 20px 0px 0px;
        background: #55a86c;
        border: 2px solid #55a86c;
        display: flex;
        justify-content: flex-start;
        padding-left: 115px;
        align-items: center;
        font-weight: bold;
        font-size: 20px;
        color: #fff;
        gap: 45px;

        @media screen and (max-width: 767px) {
          flex-direction: column;
          justify-content: center;
          font-size: 16px;
          gap: 0;
          align-items: flex-start;
        }


        img {
          position: absolute;
          bottom: 0;
          left: 25px;
        }

        span {
          color: #FFF;
        }

        span.has-border {
          position: relative;
        }

        span.has-border::after {
          content: "";
          position: absolute;
          width: 1px;
          height: 30px;
          background-color: #FFF;
          top: 0;
          bottom: 0;
          left: 81px;
          margin: auto;

          @media screen and (max-width: 767px) {
            content: none;
          }

        }
      }

      .t_inner {
        padding-top: 25px;
        padding-bottom: 25px;
        height: 100%;

        .t_estimated {
          width: 440px;
          margin: auto auto 30px;

          @media screen and (max-width: 767px) {
            width: calc(303 / 343 * 100%);
          }

          tr {
            height: 49px;
            border-top: 1px solid #CFD1C7;

            th {
              width: 120px;
              text-align: center;
              vertical-align: middle;
              font-weight: bold;
              font-size: 16px;
              background-color: rgba(164, 199, 78, 0.29);

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

            td {
              font-weight: normal;
              font-size: 16px;
              line-height: 25px;
              vertical-align: middle;
              padding: 10px 17px;
              background-color: #FFF;

              @media screen and (max-width: 767px) {
                font-size: 14px;
                line-height: 22px;
              }
            }
          }

          tr:last-of-type {
            border-bottom: 1px solid #CFD1C7;
          }

          .t_head {
            th {
              background-color: rgba(164, 199, 78, 0.29);
            }

            td {
              background-color: rgba(164, 199, 78, 0.15);
              font-weight: bold;
              font-size: 16px;
              text-align: center;
            }
          }
        }

        .detail {
          width: 440px;
          margin: auto;

          @media screen and (max-width: 767px) {
            width: calc(303 / 343 * 100%);
          }

          .p-calc {
            display: flex;
          }

          .wrap {
            display: flex;
            flex-direction: column;

            .circle {
              font-weight: normal;
              font-size: 12px;
              border-radius: 10px;
              background: #55a86c;
              text-align: center;
              color: #fff;
              height: 24px;
              display: flex;
              justify-content: center;
              align-items: center;
              width: fit-content;
              padding: 3px 8px;
            }

            .num {
              font-family: var(--font-en);
              font-weight: 500;
              font-size: 28px;

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

              .f-16 {
                font-weight: bold;
                font-family: initial;

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


          }

          .p-total {
            font-family: var(--font-en);
            font-size: 40px;
            font-weight: 500;

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

            .f-24, .f-20 {
              font-family: initial;
              font-weight: bold;
            }
          }

          .kome {
            font-weight: normal;
            font-size: 14px;
            line-height: 22px;
            color: #777;

            @media screen and (max-width: 767px) {
              font-size: 12px;
              line-height: 20px;
            }
          }
        }
      }
    }

    .slider-estimated__pagination {
      display: flex;
      justify-content: center;
      position: absolute;
      bottom: 0;
    }

    .swiper-button-prev, .swiper-rtl .swiper-button-next, .swiper-button-next, .swiper-rtl .swiper-button-prev {
      display: none;

      @media screen and (max-width: 767px) {
        display: block;
      }


    }

    .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after, .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
      content: none;
    }
  }

  .w1100 {
    .item {
      .label {
        background: #55a86c;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-weight: bold;
        font-size: 24px;
        height: 77px;
        margin-bottom: 30px;

        @media screen and (max-width: 767px) {
          font-size: 18px;
          height: 67px;
          margin-bottom: 16px;
        }
      }

      .column {
        display: flex;
        gap: 26px;
        justify-content: center;

        @media screen and (max-width: 767px) {
          flex-direction: column;
          align-items: center;
          justify-content: center;
        }

        .desc {
          font-weight: normal;
          font-size: 16px;
          line-height: 26px;
          text-align: left;

          @media screen and (max-width: 767px) {
            font-size: 14px;
            line-height: 24px;
          }
        }

        .img {
          max-width: 234px;
          width: 100%;

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

    .item.mb60 {
      margin-bottom: 60px;
    }

    .w930 {
      .column {
        gap: 30px;
        margin-top: 30px;
        margin-bottom: 30px;

        .item {
          border-radius: 20px;
          background: #fff;
          border: 2px solid #55a86c;
          box-shadow: 10px 10px 30px rgba(197, 213, 183, 0.25);
          padding-top: 31px;
          padding-bottom: 20px;
          max-width: 290px;
          width: 100%;

          @media screen and (max-width: 1000px) {
            max-width: 80%;
          }

          @media screen and (max-width: 767px) {
            max-width: 100%;
            display: flex;
            gap: 18px;
            padding: 20px;
            align-items: center;
          }

          figure {
            text-align: center;
            margin-bottom: 13px;

            @media screen and (max-width: 767px) {
              margin-bottom: 0;
            }
          }

          .text {
            display: flex;
            flex-direction: column;
            gap: 10px;
            max-width: 250px;
            width: 90%;
            margin: auto;

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

            .item-ttl {
              text-align: center;
              font-weight: bold;
              font-size: 20px;
              color: #55a86c;
            }
          }
        }
      }

      .desc {
        text-align: left;



        .t-green {
          color: #55A86C;
          font-weight: bold;
        }
      }
    }
  }
}

.price_differences {
  background-color: #FAFCF4;
  padding: 100px 0;

  .title {
    margin-bottom: 30px;

    @media screen and (max-width: 1000px) {
      width: 90%;
      margin: auto auto 30px;
    }

    @media screen and (max-width: 767px) {
      .desc {
        text-align: left;
      }
    }
  }

  .table-wrap {
    max-width: 930px;
    width: 100%;
    margin: auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;

    @media screen and (max-width: 1000px) {
      width: 90%;
    }



    .compare-table {
      border-collapse: collapse;
      width: 100%;

      @media screen and (max-width: 1000px) {
        width: 800px;
      }

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

        .desc {
          text-align: left;
        }
      }


      th {
        width: 240px;

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

      td {
        padding: 16px 0;
        background-color: #FFF;

        .circle {
          display: inline-block;
          width: 28px;
          height: 28px;
          border-radius: 50px;
          border: 1px solid #e67c8d;

          @media screen and (max-width: 767px) {
            width: 26px;
            height: 26px;
          }
        }

        .cross {
          font-size: 30px;
          color: #CFD1C7;

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

      }

      td.c-yellow {
        background-color: #FFFFD8;
      }

      td.c-gray {
        background-color: #FBFBFB;
      }

      td:nth-child(n + 2) {
        border-right: 1px solid #cfd1c7;
      }

      th.has-color {
        width: 207px;
        background-color: #F2F7E4;
        color: #333333;
        height: 60px;
        padding-left: 15px;
        text-align: left;
        vertical-align: middle;

        @media screen and (max-width: 767px) {
          width: 100px;
          font-size: 13px;
          padding-left: 0;
          text-align: center;
        }
      }

      td.milae {
        border-left: 5px solid #55a86c;
        border-right: 5px solid #55a86c;

        .circle {
          display: inline-block;
          width: 30px;
          height: 30px;
          border-radius: 50px;
          border: 3px solid #e67c8d;

          @media screen and (max-width: 767px) {
            width: 26px;
            height: 26px;
          }
        }
      }

      tr:last-of-type td.milae {
        border-bottom: 5px solid #55a86c;
      }

      tr {
        border-bottom: 1px solid #CFD1C7;

        .font-en {
          font-size: 24px;

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

        font-size: 18px;
        text-align: center;
        vertical-align: middle;

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

      .t_head {
        height: 70px;

        th {
          background: linear-gradient(to bottom, transparent 10%, #A3A891 10%);
          font-weight: bold;
          font-size: 16px;
          color: #FFF;
          text-align: center;
          vertical-align: middle;

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

        th:nth-of-type(3) {
          border-right: 1px solid #FFF;
        }

        th.has-color {
          background: linear-gradient(to bottom, transparent 10%, #F2F7E4 10%);
          color: #333333;

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



        th.milae {
          border-left: 5px solid #55a86c;
          border-right: 5px solid #55a86c;
          background: #55A86C;
          height: 70px;

          @media screen and (max-width: 767px) {
            font-size: 15px;
            line-height: 22px;
          }
        }
      }
    }
  }
}

.price_qa {
  background-color: #FFF;
  padding: 100px 0;

  .title {
    margin-bottom: 40px;

    @media screen and (max-width: 767px) {
      margin-bottom: 20px;
    }
  }

  .label {
        background: #55a86c;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-weight: bold;
        font-size: 24px;
        height: 77px;
        margin-bottom: 30px;

        @media screen and (max-width: 767px) {
          font-size: 18px;
          height: 67px;
          margin-bottom: 16px;
        }
      }

  .qa-wrap {
    max-width: 930px;
    width: 100%;
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 25px;

    @media screen and (max-width: 767px) {
      gap: 20px;
      width: calc(323 / 343 * 100%);
      margin: 0 auto;
    }

    .item {
      border-radius: 20px;
      background: #fff;
      border: 2px solid #55a86c;
      box-shadow: 10px 10px 30px rgba(197, 213, 183, 0.25);

      .question {
        color: #333;
        font-size: 18px;
        line-height: 24px;
        font-weight: normal;
        cursor: pointer;
        position: relative;
        padding: 15px 20px;
        display: flex;
        gap: 15px;

        @media screen and (max-width: 767px) {
          font-size: 16px;
          padding: 15px 35px 15px 15px;
        }

        .q-ttl {
          font-family: var(--font-en);
          font-weight: 600;
          font-size: 32px;
          color: #55a86c;

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

      .question::after {
        content: "＋";
        width: 38px;
        height: 38px;
        border: 1px solid #fff;
        color: #55A86C;
        font-weight: bold;
        font-size: 18px;
        line-height: 24px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 31px;

        @media screen and (max-width: 767px) {
          width: 18px;
          height: 27px;
          right: 17px;
        }
      }

      .answer {
        font-size: 16px;
        line-height: 24px;
        font-weight: normal;
        margin: auto;
        padding: 0 20px;
        height: 0;
        visibility: hidden;
        opacity: 0;
        display: flex;
        gap: 15px;
        transition:

          opacity 0.6s ease,
          height 0.6s ease;

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

        }

        .a-ttl {
          color: #c30d23;
          font-weight: 600;
          font-size: 32px;
          font-family: var(--font-en);
        }
      }

    }

    .item.active .question::after {
      content: "ー";
    }

    .item.active .answer {
      max-height: 5000px;
      box-sizing: content-box;
      visibility: visible;
      padding: 15px 20px;
      opacity: 1;
      height: auto;
      border-top: 1px solid #CFD1C7;
      transition:

        opacity 0.6s ease,
        height 0.6s ease;

      @media screen and (max-width: 767px) {
        font-size: 16px;
        padding: 15px 35px 15px 15px;
      }
    }
  }
}
