@charset "utf-8";
/* CSS Document */


/********** home **********/

main.home {
  .p-catch {
    padding: 12rem 0;
    background: var(--light-green);
    .p-catch__inner {
      padding: 0 2rem;
      color: #fff;
      text-align: center;
      h2 {
        font-size: 4.8rem;
        line-height: 1.6;
        .yellow_line {
          position: relative;
          z-index: 1;
          &::before {
            content: "";
            position: absolute;
            bottom: -.1em;
            width: 100%;
            height: .2em;
            background: var(--yellow);
            z-index: -1;
          }
        }
      }
      h3 {
        font-size: 2.4rem;
        word-break: keep-all;
      }
      .imgArea {
        position: relative;
        margin: 4rem auto 8rem;
        width: 100%;
        max-width: 1000px;
        aspect-ratio: 1.8;
        .img01,
        .img02 {
          position: absolute;
          display: block;
          top: 0;
          width: 30%
        }
        .img01 {
          left: 10%;
        }
        .img02 {
          right: 10%;
        }
        .img03 {
          position: absolute;
          bottom: 0%;
          left: 48%;
          transform: translate(-50%, 0%);
          right: 0;
          width: 60%;
          z-index: 1;
        }
        .img04,
        .img05 {
          position: absolute;
          display: block;
          bottom: 10%;
          width: 30%;
        }
        .img04 {
          left: 0;
        }
        .img05 {
          right: 0;
        }
      }
    }
  }

  .p-body {
    position: relative;
    padding: 0 0 12rem;
    gap: 0 6rem;
    background: #fff;
    .p-chapter {
      width: 100%;
      padding: 12rem 0;
      .p-chapter__inner {
        margin: 0 auto;
        padding: 0 4rem;
        max-width: 1200px;
        >hgroup {
          position: relative;
          margin: 0 0 8rem;
          font-size: 2rem;
          letter-spacing: .1em;
          line-height: 1.6;
          span {
            display: inline-block;
            font-size: 1em;
            color: var(--green);
          }
          h2 {
            display: inline-block;
            font-size: 2em;
          }
          + h3 {
            display: inline-block;
            margin: 0 0 3rem;
            font-size: 3.6rem;
            font-weight: 500;
            color: var(--green);
          }
        }
      }
    }

    #vacant {
      padding: 16rem 0 12rem;
      background: rgb(90, 180, 90, .1);
      .p-chapter__inner {
        h2 {
          margin: 0 0 8rem;
          font-size: 3.6rem;
          text-align: center;
          word-break: keep-all;
        }
        .fBox {
          display: flex;
          gap: 6rem;
          .fBox_left {
            width: 50%;
            h3 {
              margin: 0;
              font-size: 3.2rem;
              text-align: center;
              .yellow_line {
                border-bottom: 8px solid var(--yellow);
              }
            }
            img {
              display: block;
              margin: 4rem auto 0;
              width: 320px;
            }
          }
          .fBox_right {
            width: calc(50% - 6rem);
            h4 {
              margin: 0 0 3rem;
              font-size: 2.4rem;
            }
            .btnLink02 {
              margin-left: auto;
              margin-right: auto;
            }
          }
        }
      }
    }

    #about {
      position: relative;
      background: linear-gradient(0deg, rgb(255, 255, 255) 25%, rgb(90, 180, 90, .1) 100%);
      .p-chapter__inner {
        position: relative;
        h2 {
          font-size: 5.4rem;
          letter-spacing: .05em;
          line-height: 1.5;
        }
        p {
          position: relative;
          margin: 10rem 0 0;
          font-weight: 600;
          text-align: right;
          word-break: keep-all;
          line-height: 2.4;
          z-index: 1;
          color: #000;
          text-shadow: 2px 2px 2px #fff;
        }
        img {
          position: absolute;
          bottom: 0;
          left: 0;
          width: 45%;
          z-index: 0;
          opacity: .5;
        }
        .btnLink {
          margin-left: auto;
        }
      }
    }

    #reason {
      .p-chapter__inner {
        hgroup {
          position: relative;
          display: block;
          text-align: center;
          padding: 0 0 2rem;
          span {
            display: block;
          }
          h2 {
            display: block;
          }
        }
        .reasonList {
          display: flex;
          flex-wrap: wrap;
          gap: 6rem;
          li {
            position: relative;
            padding: 4rem;
            margin: 0 auto;
            width: calc(100%/2 - 6rem/2);
            max-width: 530px;
            border-radius: 10px;
            background: var(--green-tra);
            border: 2px solid var(--green);
            .num {
              position: absolute;
              top: 0;
              left: 50%;
              transform: translate(-50%, -50%);
              background: var(--green);
              display: flex;
              align-items: center;
              justify-content: center;
              width: 150px;
              height: 50px;
              border-radius: 25px;
              color: #fff;
              font-size: 1.8rem;
              font-weight: 700;
              line-height: 1.2;
              letter-spacing: .05em;
              text-align: center;
            }
            h3 {
              position: relative;
              margin: 0 0 3rem;
              padding: 0 0 .5rem;
              font-size: 3rem;
              text-align: center;
              &::after {
                content: "";
                display: inline-block;
                position: absolute;
                left: 50%;
                bottom: 0;
                transform: translate(-50%,0);
                width: 48px;
                height: 4px;
                background: var(--green);
              }
            }
            img {
              display: block;
              margin: 0 auto 2rem;
              width: auto;
              height: 240px;
            }
            p {
              .note {
                display: block;
                margin: .5em 0 0;
                font-size: .8em;
              }
            }
          }
        }
        .btnLink {
          margin-left: auto;
          margin-right: auto;
        }
      }
    }

    #appraisal {
      background: var(--light-green);
      .p-chapter__inner {
        >hgroup {
          position: relative;
          display: block;
          text-align: center;
          color: #fff;
          text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
          span {
            display: block;
            color: #fff;
          }
          h2 {
            display: block;
          }
        }
        .bold_text {
          margin: 8rem 0;
          color: #fff;
          line-height: 2;
        }
        .appraisalList {
          display: flex;
          gap: 6rem;
          li {
            padding: 6rem 4rem;
            width: calc(100%/2 - 6rem/2);
            max-width: 530px;
            background: #fff;
            border-radius: 20px;
            border: 2px solid #000;
            box-shadow: 6px 6px 0px rgba(0, 0, 0, .25);
            h3 {
              position: relative;
              font-size: 3rem;
              padding: 0 0 .5rem;
              margin: 0 0 3rem;
              text-align: center;
              &::after {
                content: "";
                display: inline-block;
                position: absolute;
                left: 50%;
                bottom: 0;
                transform: translate(-50%,0);
                width: 48px;
                height: 4px;
                background: var(--green);
              }
            }
            img {
              display: block;
              margin: 0 auto 4rem;
              width: auto;
              height: 240px;
            }
          }
        }
        .contactBox {
          background: #fff;
          .contactBox__right {
            .tel {
              background: var(--green-tra);
            }
          }
        }
        .btnLink {
          margin-left: auto;
          margin-right: auto;
        }
      }
    }

    #flow {
      .p-chapter__inner {
        .flowList {
          display: flex;
          justify-content: center;
          gap: 4rem;
          margin: 0 auto;
          padding: 0;
          li {
            position: relative;
            padding: 3rem 2rem;
            width: calc(100%/4 - 4rem*3/4);
            border-radius: 10px;
            background: var(--green-tra);
            border: 2px solid var(--green);
            &:not(:last-child) {
              &::after {
                content: "";
                position: absolute;
                top: 50%;
                right: -2rem;
                transform: translate(50%, -50%);
                height: 2.7rem;
                width: calc(2.7rem*.7);
                clip-path: polygon(0 0, 100% 50%, 0% 100%);
                background: var(--green);
              }
            }
            span {
              display: grid;
              place-content: center;
              margin: 0 auto 2rem;
              padding: .5rem 2rem;
              width: fit-content;
              height: 40px;
              border-radius: 20px;
              color: #fff;
              font-weight: 700;
              background: var(--green);
            }
            img {
              display: grid;
              place-content: center;
              width: auto;
              height: 140px;
              margin: 0 auto 2rem;
              padding: 1.5rem;
              background: #fff;
              border-radius: 50%;
              border: 2px solid var(--green);
            }
            h4 {
              margin: 0;
              font-size: 2.4rem;
              text-align: center;
              color: var(--green);
            }
            p {
              margin: 2rem 0 0;
              font-size: 1.6rem;
            }
          }
        }
        .bold_text {
          margin: 6rem 0 0;
        }
        .btnLink {
          margin-left: auto;
          margin-right: auto;
        }
      }
    }

    #estate{
      .p-chapter__inner {
        .estateList {
          display: flex;
          flex-wrap: wrap;
          gap: 4rem;
          &__item {
            width: calc(100%/3 - 4rem*2/3);
          }
        }
        .btnLink {
          margin-left: auto;
          margin-right: auto;
        }
      }
    }

    #faq{
      padding: 8rem 0;
      .p-chapter__inner {
        dl {
          border: 2px solid var(--green);
          border-radius: 4px;
          dt, dd {
            position: relative;
            display: flex;
            gap: 0 1rem;
            padding: 2rem;
            font-size: 2rem;
            font-weight: 700;
            cursor: pointer;
            span {
              display: block;
              font-size: 1.2em;
              color: var(--green);
              line-height: calc(1.8/1.2);
            }
          }
          dt {
            padding-right: 5rem;
            background: var(--green-tra);
            &.active {
              &::after {
                transform: translate(0, -50%) rotate(180deg);
              }
            }
            &::before, &::after {
              content: "";
              position: absolute;
              top: 50%;
              right: 20px;
              display: block;
              width: 24px;
              height: 4px;
              background: var(--green);
              transition: .3s;
            }
            &::before {
              transform: translate(0, -50%);
            }
            &::after {
              transform: translate(0, -50%) rotate(90deg);
            }
          }
          /* dd {
            display: none;
          } */
          + dl {
            margin: 2rem 0 0;
          }
        }
      }
    }

    #contact{
      padding: 8rem 0;
    }

  }
}

@media (max-width: 1024px) {
  main.home {
    .p-catch {
      .p-catch__text {
        h2 {
          font-size: 4.8rem;
        }
        p {
          margin: 2rem 0 0;
          font-size: 2.4rem;
        }
      }
    }
    .p-body {

      #about {
        .p-chapter__inner {
          h2 {
            font-size: 4.8rem;
          }
        }
      }

      #vacant {
        .p-chapter__inner {
          .fBox {
            flex-wrap: wrap;
            .fBox_left {
              width: 100%;
            }
            .fBox_right {
              width: 100%;
            }
          }
        }
      }

      #reason {
        .p-chapter__inner {
          .reasonList {
            li {
              width: 100%;
            }
          }
        }
      }

      #appraisal {
        .p-chapter__inner {
          .appraisalList {
            align-items: center;
            flex-direction: column;
            li {
              width: 100%;
            }
          }
        }
      }

      #flow {
        .p-chapter__inner {
          .flowList {
            flex-wrap: wrap;
            max-width: 800px;
            li {
              width: calc(100%/2 - 4rem/2);
            }
          }
        }
      }
    }
  }
}

@media (max-width: 768px) {
  main.home {
    .p-catch {
      .p-catch__inner {
        h2 {
          font-size: 4rem;
        }
        h3 {
          font-size: 2rem;
        }
      }
    }

    .p-body {
      .p-chapter {
        .p-chapter__inner {
          hgroup {
            font-size: 1.6rem;
          }
        }
      }

      #about {
        .p-chapter__inner {
          h2 {
            font-size: 3.6rem;
          }
          img {
            width: 75%;
          }
        }
      }

      #vacant {
        .p-chapter__inner {
          h2 {
            font-size: 3rem;
          }
          .fBox {
            .fBox_left {
              h3 {
                font-size: 2.7rem;
                .yellow_line {
                  border-bottom: 6px solid var(--yellow);
                }
              }
            }
          }
        }
      }

      #reason {
        .p-chapter__inner {
          .reasonList {
            li {
              h3 {
                font-size: 2.7rem;
                &::after {
                  width: 48px;
                  height: 4px;
                }
              }
            }
          }
        }
      }

      #appraisal {
        .p-chapter__inner {
          .lead {
            margin: 6rem 0;
            font-size: 1.6rem;
          }
          .appraisalList {
            gap: 4rem;
            li {
              padding: 6rem 4rem;
              border-radius: 20px;
              box-shadow: 6px 6px 0px rgba(0, 0, 0, .25);
              h3 {
                font-size: 2.7rem;
                &::after {
                  width: 48px;
                  height: 4px;
                }
              }
            }
          }
        }
      }
    }
  }
}

@media (max-width: 600px) {
  main.home {
    .p-catch {
      .p-catch__inner {
        h2 {
          font-size: 3.6rem;
        }
        h3 {
          font-size: 1.8rem;
        }
      }
    }

    .p-body {

      #about {
        .p-chapter__inner {
          h2 {
            font-size: 3.2rem;
          }
        }
      }

      #flow {
        .p-chapter__inner {
          .flowList {
            flex-wrap: wrap;
            li {
              width: 100%;
              &:not(:last-child) {
                &::after {
                  content: "";
                  position: absolute;
                  top: auto;
                  bottom: 0;
                  right: 50%;
                  transform: translate(50%, calc(100% + 1rem));
                  width: 3rem;
                  height: calc(3rem*.7);
                  clip-path: polygon(0 0, 100% 0%, 50% 100%);
                  background: var(--green);
                }
              }
            }
          }
        }
      }
    }
  }
}

@media (max-width: 480px) {
  main.home {
    .p-catch {
      padding: 4rem 0;
      .p-catch__inner {
        h2 {
          font-size: 2.4rem;
        }
        h3 {
          font-size: 1.6rem;
        }
        .imgArea {
          margin: 3rem auto;
          aspect-ratio: 1.3;
          .img01,
          .img02 {
            top: 0;
            width: 40%;
          }
          .img01 {
            left: -10px;
          }
          .img02 {
            right: -10px;
          }
          .img03 {
            bottom: 55%;
            transform: translate(-50%, 50%);
            width: 70%;
          }
          .img04,
          .img05 {
            bottom: 0;
            width: 35%;
          }
          .img04 {
            left: -10px;
          }
          .img05 {
            right: -10px;
          }
        }
      }
    }

    .p-body {
      .p-chapter {
        padding: 8rem 0;
        .p-chapter__inner {
          padding: 0 2rem;
          hgroup {
            margin: 0 0 4rem;
            font-size: 1.4rem;
          }
        }
      }

      #about {
        padding: 8rem 0;
        .p-chapter__inner {
          h2 {
            font-size: 2.4rem;
          }
          p {
            margin: 4rem 0 0;
          }
          img {
            bottom: 60px;
            width: 90%;
          }
        }
      }

      #vacant {
        padding: 8rem 0;
        .p-chapter__inner {
          h2 {
            margin: 0 0 4rem;
            font-size: 2.4rem;
          }
          .fBox {
            gap: 4rem;
            .fBox_left {
              h3 {
                font-size: 2rem;
                .yellow_line {
                  border-bottom: 4px solid var(--yellow);
                }
              }
              img {
                margin: 3rem auto 0;
                width: 270px;
              }
            }
            .fBox_right {
              h4 {
                margin: 0 0 3rem;
                font-size: 2rem;
              }
            }
          }
        }
      }

      #reason {
        .p-chapter__inner {
          .reasonList {
            gap: 6rem;
            li {
              padding: 4rem 3rem 3rem;
              .num {
                width: 120px;
                height: 40px;
                border-radius: 20px;
                font-size: 1.4rem;
              }
              h3 {
                font-size: 2.2rem;
                &::after {
                  width: 36px;
                  height: 3px;
                }
              }
              img {
                height: 180px;
              }
            }
          }
        }
      }

      #appraisal {
        .p-chapter__inner {
          .bold_text {
            margin: 4rem 0;
          }
          .appraisalList {
            gap: 4rem;
            li {
              padding: 3rem;
              h3 {
                font-size: 2.2rem;
                &::after {
                  width: 36px;
                  height: 3px;
                }
              }
              img {
                height: 180px;
              }
            }
          }
        }
      }

      #flow{
        .p-chapter__inner {
          .flowList {
            gap: 4rem;
            li {
              padding: 2rem;
              span {
                margin: 0 auto 2rem;
                padding: .2rem 1.5rem;
                height: 32px;
                border-radius: 16px;
              }
              img {
                height: 120px;
              }
              h4 {
                font-size: 2rem;
              }
              p {
                margin: 2rem 0 0;
                font-size: 1.4rem;
              }
            }
          }
          .bold_text {
            margin: 4rem 0 0;
          }
        }
      }

      #faq{
        padding: 4rem 0;
        .p-chapter__inner {
          dl {
            border: 2px solid var(--green);
            border-radius: 4px;
            dt, dd {
              gap: 0 1rem;
              padding: 1.5rem;
              font-size: 1.6rem;
            }
            dt {
              padding-right: 4rem;
              &::before, &::after {
                right: 15px;
                width: 18px;
                height: 3px;
              }
            }
            + dl {
              margin: 2rem 0 0;
            }
          }
        }
      }

      #contact{
        padding: 4rem 0;
      }
    }
  }
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
