@charset "shift_jis";

:root {
  --main-color: #2d86af;
  --btn-color: #ff9c00;
  --bg-blue-color: #e6f3fa;
}

@media screen and (min-width: 769px) {

  /*--- sozokuここから ---*/
  .sale_sozoku_wrap {

    /* メイン画像 */
    .sozoku_main_wrap {
      background: url(../img/main_bg.webp);
      background-size: cover;
      background-position: center;
      height: 500px;
      box-sizing: border-box;
      padding-top: 100px;

      .sozoku_main_inner {
        width: 1000px;
        margin: 0 auto;
        text-align: center;

        .sozoku_main_subti {
          span {
            color: #fff;
            font-size: 35px;
            font-weight: bold;
            line-height: 35px;
            border-bottom: 1px solid #fff;
            padding-bottom: 10px;
            margin: 0 10px;
          }
        }

        .sozoku_main_ti {
          margin: 50px 0 20px;

          p {
            color: #fff;
            font-size: 50px;
            line-height: 70px;
            font-weight: bold;
            margin: 0 0 15px;

            span {
              font-weight: bold;
              font-size: 70px;
            }
          }

          span {
            font-size: 25px;
            line-height: 30px;
            font-weight: bold;
            color: #fff;
            margin-top: 20px;
          }
        }

        ul {
          display: flex;
          justify-content: center;

          li {
            width: 215px;
            background: #0d73a2;
            color: #fff;
            line-height: 56px;
            border-radius: 10px;
            font-size: 20px;
            letter-spacing: 0.1em;
            font-weight: bold;

            &:first-child {
              margin-right: 10px;
            }
          }
        }
      }
    }

    /* 悩み */
    .sozoku_nayami_wrap {
      width: 1100px;
      margin: 80px auto;

      ul {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;

        &::after {
          content: "";
          display: block;
          background: url(../img/nayami_icon.webp);
          width: 329px;
          height: 218px;
          position: absolute;
          bottom: 40px;
          left: 360px;
          z-index: -1;
        }

        li {
          border: 1px solid #ccc;
          border-radius: 10px;
          padding: 20px 30px;
          font-size: 20px;
          font-weight: bold;
          line-height: 30px;
          position: relative;
          text-align: center;
          margin-bottom: 30px;
          background: #fff;

          span {
            font-weight: bold;
            background: linear-gradient(transparent 60%, #ffdbde 60%);
          }

          &::before {
            content: "";
            border-left: 16px solid transparent;
            border-top: 16px solid #ccc;
            position: absolute;
            right: 35px;
            bottom: -16px;
            transform: rotate(-90deg);
          }

          &::after {
            content: "";
            border-left: 15px solid transparent;
            border-top: 15px solid white;
            position: absolute;
            right: 35px;
            bottom: -14px;
            transform: rotate(-90deg);
          }

          &:nth-child(2) {
            margin: 0 35px 30px;
          }

          &:nth-child(3) {
            &::before {
              top: 56px;
              right: -16px;
              bottom: auto;
            }

            &::after {
              top: 57px;
              right: -14px;
              bottom: auto;
            }
          }

          &:nth-child(4) {
            margin: 0px 0 30px 410px;

            &::before {
              top: 36px;
              left: -16px;
              right: auto;
              bottom: auto;
              transform: none;
            }

            &::after {
              top: 37px;
              left: -14px;
              right: auto;
              bottom: auto;
              transform: none;
            }
          }

          &:nth-child(5),
          &:nth-child(6) {
            &::before {
              top: -16px;
              right: 35px;
              bottom: auto;
              transform: rotate(-180deg);
            }

            &::after {
              top: -14px;
              right: 35px;
              bottom: auto;
              transform: rotate(-180deg);
            }
          }

          &:nth-child(6) {
            margin: 0 0 30px 300px;
          }
        }
      }
    }

    /* 不動産の相続対策とは */
    .sozoku_about_wrap {
      background: var(--bg-blue-color);
      padding: 80px 0;

      .sozoku_about_inner {
        width: 1100px;
        margin: 0 auto;

        .sozoku_about_point {
          border: 3px solid #0d73a2;
          background: #f8fdff;
          box-sizing: border-box;
          border-radius: 5px;
          padding: 50px 40px;
          position: relative;
          margin-bottom: 90px;

          h3 {
            color: #0d73a2;
            font-size: 40px;
            line-height: 40px;
            font-weight: bold;
            letter-spacing: 0.05em;
            margin: 0;
          }

          p {
            font-size: 25px;
            font-weight: bold;
            line-height: 25px;
            color: #000;
            letter-spacing: 0.18em;
            margin: 40px 0;
          }

          ul {
            li {
              position: relative;
              padding-left: 40px;
              font-size: 18px;
              color: #ff5050;
              font-weight: 500;
              line-height: 25px;
              margin-bottom: 10px;

              &::before {
                content: "";
                display: block;
                background: url(../img/check_icon.webp);
                width: 25px;
                height: 25px;
                position: absolute;
                top: 0;
                left: 0;
              }
            }
          }

          img {
            position: absolute;
            right: 40px;
            bottom: -15px;
            z-index: 10;
          }
        }
      }

      .sozoku_problem_wrap {
        width: 1100px;
        margin: 0 auto;

        .sozoku_problem_top {
          h2 {
            color: #0d73a2;
          }

          p {
            font-size: 25px;
            font-weight: bold;
            line-height: 40px;
            text-align: center;
            letter-spacing: 0.18em;
            margin: 0;
          }

          ul {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            margin: 40px 0;

            li {
              margin-bottom: 20px;
              background: #fff;
              width: 350px;
              height: 130px;
              box-sizing: border-box;
              border: 1px solid #ccc;
              border-radius: 5px;
              text-align: center;
              padding: 20px 0;

              span {
                display: block;
                text-align: center;
                font-size: 25px;
                line-height: 30px;
                color: #000;
                font-weight: bold;
              }

              p {
                color: #0d73a2;
                font-size: 18px;
                line-height: 30px;
                letter-spacing: 0.05em;
                margin: 0;
                height: 60px;
                display: flex;
                justify-content: center;
                align-items: center;
                margin-top: 5px;
              }
            }
          }
        }

        .sozoku_problem_con {
          ul {
            li {
              background: #fff;
              padding: 20px;
              border-radius: 10px;
              margin-bottom: 30px;

              h3 {
                background: var(--bg-blue-color);
                line-height: 60px;
                border-radius: 10px;
                text-align: left;
                padding-left: 20px;
                color: #0d73a2;
                font-size: 35px;
                font-weight: bold;
                letter-spacing: 0.1em;
                margin: 0 0 30px;
              }

              .sozoku_problem_flex {
                display: flex;
                justify-content: space-between;

                .sozoku_problem_txt {
                  width: 630px;
                  margin-left: 20px;

                  h4 {
                    font-size: 25px;
                    font-weight: bold;
                    line-height: 30px;
                    margin: 0 0 15px;
                  }

                  p {
                    font-size: 18px;
                    font-weight: 500;
                    line-height: 35px;
                    margin: 0;
                  }
                }
              }
            }
          }
        }
      }
    }

    /* 不動産相続の成功と失敗の分岐点 */
    .sozoku_point_wrap {
      width: 1100px;
      margin: 100px auto;

      ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 90px;

        li {
          width: 530px;
          height: 570px;
          box-sizing: border-box;
          border: 3px solid #0d73a2;
          border-radius: 10px;
          background: #f8fdff;
          padding: 70px 15px 0;
          text-align: center;
          margin-bottom: 60px;
          position: relative;

          &:first-child {
            img {
              margin: 14px 0;
            }
          }

          &:last-child {
            width: 1100px;
            height: 380px;
            padding: 40px 15px;
            margin: 0;

            h3 {
              top: -30px;
            }

            img {
              position: absolute;
              right: 15px;
              top: 15px;
            }

            p {
              width: 690px;
            }
          }

          h3 {
            width: 490px;
            text-align: center;
            background: #0d73a2;
            border-radius: 10px;
            font-size: 24px;
            font-weight: bold;
            line-height: 36px;
            letter-spacing: 0.05em;
            padding: 10px 0;
            position: absolute;
            left: 17px;
            top: -40px;
            z-index: 10;
            margin: 0;
            color: #fff;
          }

          p {
            color: #307fa9;
            font-size: 18px;
            line-height: 30px;
            margin: 15px 0 0;
            text-align: left;

            span {
              font-weight: bold;
              color: #f00;
            }
          }
        }
      }
    }

    /* よくある質問 */
    #sa_qa {
      padding: 0;
      background-color: var(--bg-blue-color);

      .sozoku_qa_wrap {
        padding: 80px 0;
        background-color: var(--bg-blue-color);
      }
    }

    /* title */
    h2 {
      font-size: 40px;
      line-height: 40px;
      font-weight: bold;
      text-align: center;
      color: #000;
      margin: 0 0 40px;
      display: block;

      &.sa_conts_tit_line::after {
        content: "";
        display: block;
        width: 70px;
        height: 5px;
        background-color: #0e6e98;
        margin: 30px auto 0;
      }
    }

    /* svg */
    svg {
      margin: 0 auto;
      display: block;

      .cls-1 {
        fill: var(--main-color);
      }
    }

    /* btn */
    .btn_link {
      display: block;
      width: 80%;
      line-height: 60px;
      background-color: var(--btn-color);
      color: #fff;
      text-align: center;
      position: relative;
      margin: 0 auto 00px;
      border-radius: 5px;
      font-weight: bold;
      font-size: 18px;

      &:hover {
        opacity: .8;
      }
    }

    /* fadein（下から上） */
    .fadein {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease-out;

      &.show {
        opacity: 1;
        transform: translateY(0);
      }

      &.fadein-1 {
        transition-delay: 0.2s;
      }

      &.fadein-2 {
        transition-delay: 0.4s;
      }

      &.fadein-3 {
        transition-delay: 0.6s;
      }

      &.fadein-4 {
        transition-delay: 0.8s;
      }

      &.fadein-5 {
        transition-delay: 1.0s;
      }

      &.fadein-6 {
        transition-delay: 1.2s;
      }
    }
  }

  /*--- sozokuここまで ---*/
}









/*-------------------------------
sp
--------------------------------*/


@media screen and (max-width: 768px) {

  /*--- sozokuここから ---*/
  .sale_sozoku_wrap {

    /* メイン画像 */
    .sozoku_main_wrap {
      background: url(../img/main_bg.webp);
      background-size: cover;
      background-position: 60% 0;
      box-sizing: border-box;
      padding: 30px 0;

      .sozoku_main_inner {
        width: 90%;
        margin: 0 auto;

        .sozoku_main_subti {
          text-align: center;

          span {
            color: #fff;
            font-size: clamp(14px, 4.2vw, 16px);
            font-weight: 500;
            line-height: 30px;
            border-bottom: 1px solid #fff;
            padding-bottom: 5px;
            margin: 0 5px;
          }
        }

        .sozoku_main_ti {
          margin: 15px 0;

          p {
            color: #fff;
            font-size: clamp(14px, 6vw, 28px);
            line-height: 1.4;
            margin: 15px 0;
            font-weight: bold;
            text-align: center;

            span {
              font-weight: bold;
              font-size: clamp(14px, 10vw, 38px);
            }
          }

          span {
            font-size: clamp(14px, 4.4vw, 24px);
            font-weight: 500;
            letter-spacing: 0.05em;
            color: #fff;
          }
        }

        ul {
          display: flex;
          justify-content: center;

          li {
            background: #0d73a2;
            color: #fff;
            line-height: 40px;
            border-radius: 5px;
            font-size: clamp(12px, 3.5vw, 14px);
            letter-spacing: 0.05em;
            font-weight: bold;
            padding: 0 10px;

            &:first-child {
              margin-right: 5px;
            }
          }
        }
      }
    }

    /* 悩み */
    .sozoku_nayami_wrap {
      width: 90%;
      margin: 60px auto 0;

      ul {
        position: relative;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;

        &::after {
          content: "";
          display: block;
          background: url(../img/nayami_icon.webp);
          background-size: contain;
          background-repeat: no-repeat;
          width: 200px;
          height: 130px;
          margin: 20px auto 0;
        }

        li {
          width: 49%;
          border: 1px solid #ccc;
          border-radius: 5px;
          padding: 10px 3%;
          font-weight: bold;
          position: relative;
          text-align: center;
          margin-bottom: 2%;
          box-sizing: border-box;
          font-size: clamp(11px, 3vw, 20px);
          line-height: 1.8;

          span {
            font-weight: bold;
            background: linear-gradient(transparent 60%, #ffdbde 60%);
          }
        }
      }
    }

    /* 不動産の相続対策とは */
    .sozoku_about_wrap {
      background: var(--bg-blue-color);
      padding: 60px 0;

      .sozoku_about_inner {
        width: 90%;
        margin: 0 auto;

        .sozoku_about_point {
          border: 2px solid #0d73a2;
          background: #f8fdff;
          box-sizing: border-box;
          border-radius: 5px;
          padding: 30px 5%;
          position: relative;
          margin-bottom: 70px;

          h3 {
            color: #0d73a2;
            font-size: clamp(14px, 6vw, 24px);
            line-height: 1.8;
            font-weight: bold;
            letter-spacing: 0.05em;
            margin: 0;
          }

          p {
            font-size: clamp(15px, 4.7vw, 18px);
            font-weight: bold;
            line-height: 28px;
            color: #000;
            letter-spacing: 0.1em;
            margin: 15px 0;
          }

          ul {
            li {
              position: relative;
              padding-left: 40px;
              font-size: clamp(15px, 4.7vw, 18px);
              color: #ff5050;
              font-weight: 500;
              line-height: 25px;
              margin-bottom: 10px;

              &::before {
                content: "";
                display: block;
                background: url(../img/check_icon.webp);
                width: 25px;
                height: 25px;
                position: absolute;
                top: 0;
                left: 0;
              }
            }
          }

          img {
            width: 84%;
            display: block;
            margin: 30px auto 15px;
          }
        }
      }

      .sozoku_problem_wrap {
        width: 90%;
        margin: 0 auto;

        .sozoku_problem_top {
          h2 {
            color: #0d73a2;
          }

          p {
            font-size: clamp(15px, 4.7vw, 18px);
            font-weight: 500;
            line-height: 28px;
            text-align: left;
            letter-spacing: 0.1em;
            margin: 0;
          }

          ul {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            margin: 30px 0;

            li {
              margin-bottom: 2%;
              background: #fff;
              width: 49%;
              box-sizing: border-box;
              border: 1px solid #ccc;
              border-radius: 5px;
              text-align: center;
              padding: 15px 3%;

              span {
                display: block;
                text-align: center;
                font-size: clamp(11px, 4vw, 20px);
                line-height: 1.8;
                color: #000;
                font-weight: bold;
              }

              p {
                color: #0d73a2;
                margin: 0;
                margin-top: 5px;
                font-size: clamp(12px, 3vw, 20px);
                line-height: 1.8;
              }
            }
          }
        }

        .sozoku_problem_con {
          ul {
            li {
              background: #fff;
              padding: 15px;
              border-radius: 10px;
              margin-bottom: 30px;

              h3 {
                background: var(--bg-blue-color);
                line-height: 50px;
                border-radius: 10px;
                text-align: left;
                color: #0d73a2;
                font-size: clamp(20px, 5.8vw, 24px);
                font-weight: bold;
                letter-spacing: 0.1em;
                text-align: center;
                margin: 0px 0 20px;
              }

              .sozoku_problem_flex {
                .sozoku_problem_txt {
                  h4 {
                    font-size: clamp(14px, 5vw, 24px);
                    font-weight: bold;
                    line-height: 1.8;
                    margin: 0 0 10px;
                  }

                  p {
                    font-size: clamp(14px, 4vw, 16px);
                    font-weight: 500;
                    line-height: 28px;
                    letter-spacing: 0.04em;
                    margin: 0;
                  }
                }

                img {
                  width: 100%;
                  margin-top: 20px;
                }
              }
            }
          }
        }
      }
    }

    /* 不動産相続の成功と失敗の分岐点 */
    .sozoku_point_wrap {
      width: 90%;
      margin: 80px auto;

      ul {
        margin-top: 60px;

        li {
          box-sizing: border-box;
          border: 2px solid #0d73a2;
          border-radius: 10px;
          background: #f8fdff;
          padding: 50px 4% 20px;
          text-align: center;
          margin-bottom: 60px;
          position: relative;

          &:nth-child(2) {
            img {
              width: auto;
            }
          }

          &:last-child {
            h3 {
              top: -30px;
            }
          }

          h3 {
            width: 90%;
            box-sizing: border-box;
            text-align: left;
            background: #0d73a2;
            border-radius: 10px;
            font-size: clamp(14px, 4.8vw, 22px);
            font-weight: bold;
            line-height: 1.6;
            letter-spacing: 0.05em;
            padding: 5px 15px;
            position: absolute;
            left: 5%;
            top: -40px;
            z-index: 10;
            margin: 0;
            color: #fff;
          }

          img {
            width: 80%;
            display: block;
            margin: 0 auto;
          }

          p {
            color: #307fa9;
            font-size: clamp(15px, 4.7vw, 18px);
            line-height: 30px;
            margin: 15px 0 0;
            text-align: left;
            letter-spacing: 0.05em;

            span {
              font-weight: bold;
              color: #f00;
            }
          }
        }
      }
    }

    /* よくある質問 */
    #sa_qa {
      padding: 0;
      background-color: var(--bg-blue-color);

      .sozoku_qa_wrap {
        padding: 60px 0;
        background-color: var(--bg-blue-color);
      }
    }

    /* CV */
    #sa_inq {
      .sa_inq_txt {
        width: 96%;
        margin: 0 auto;
        letter-spacing: normal !important;
      }

      h2 {
        margin: 10px auto 30px;
        line-height: 1.3;
      }
    }

    /* title */
    h2 {
      font-size: clamp(14px, 6vw, 24px);
      line-height: 1.8;
      font-weight: bold;
      text-align: center;
      color: #000;
      margin: 0 0 30px;

      &.sa_conts_tit_line::after {
        content: "";
        display: block;
        width: 70px;
        height: 5px;
        background-color: #0e6e98;
        margin: 20px auto 0;
      }
    }

    /* svg */
    svg {
      margin: 0 auto;
      display: block;

      .cls-1 {
        fill: var(--main-color);
      }
    }

    /* btn */
    .btn_link {
      display: block;
      width: 80%;
      line-height: 60px;
      background-color: var(--btn-color);
      color: #fff;
      text-align: center;
      position: relative;
      margin: 0 auto 00px;
      border-radius: 5px;
      font-weight: bold;
      font-size: clamp(15px, 4.7vw, 18px);

      &:hover {
        opacity: .8;
      }
    }

    /* fadein（下から上） */
    .fadein {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease-out;

      &.show {
        opacity: 1;
        transform: translateY(0);
      }

      &.fadein-1 {
        transition-delay: 0.2s;
      }

      &.fadein-2 {
        transition-delay: 0.4s;
      }

      &.fadein-3 {
        transition-delay: 0.6s;
      }

      &.fadein-4 {
        transition-delay: 0.8s;
      }

      &.fadein-5 {
        transition-delay: 1.0s;
      }

      &.fadein-6 {
        transition-delay: 1.2s;
      }
    }
  }

  /*--- sozokuここまで ---*/
}