/* ----------------------------------- PC ----------------------------------- */
.sx-cnt_wrap {
  #mv {
    background-image: url("../img/mv_bg_03.webp") !important;
  }
}

#mv {
  .catch {
    width: 636px;
  }
  .mv_cta {
    padding: 32px 12px;
    padding-top: 0 !important;

    h3 {
      width: 329px;
      text-align: center;

      span {
        color: inherit;
      }
    }

    .txt {
      color: #ff3025;
      font-size: 18px;
      font-weight: var(--bold);
    }

    .tel {
      width: fit-content;
      margin-inline: auto;

      .tel_txt {
        font-weight: var(--bold);
      }
    }
  }
}

#sec01 {
  .inner {
    padding-top: 32px;
  }
  .sec_cta {
    &:first-of-type {
      margin-bottom: 120px;
    }

    h2.title {
      color: #28427b;
      text-decoration: none;
      text-align: center;

      p {
        font-size: 23px;
        font-weight: var(--bold);
        color: #28427b;
        letter-spacing: 0.04em;
        line-height: 1.5;
        margin-bottom: var(--sp-2);
      }
    }
  }

  .sec01__custom-text {
    p {
      display: block;
      width: fit-content;
      margin-inline: auto;
      text-align: center;
      color: var(--clr-txt);
      font-weight: var(--bold);
      letter-spacing: 0.04em;
      line-height: 1.5;

      &:nth-child(1) {
        font-size: 21px;
        margin-bottom: var(--sp-1);
      }

      &:nth-child(2) {
        font-size: 38px;
        margin-bottom: 60px;
      }
    }
  }

  .sec01_content-txt {
    margin-bottom: 0;
  }

  .sec01__box {
    margin-bottom: 100px;

    .sec01__box-img {
      margin-bottom: var(--sp-2);
    }

    .sec01__list {
      /* スライダー時は以下のスタイルはJavaScriptとsec01_slider.cssで制御 */
      /* display: flex;
      justify-content: center;
      align-items: stretch;
      flex-flow: column nowrap; */
      /* flex-flow: row nowrap; */
      /* gap: var(--sp-1); */
      margin-bottom: var(--sp-4);
      /* overflow: hidden; */
    }

    .sec01__item {
      /* スライダー時は以下のスタイルはsec01_slider.cssで制御 */
      /* width: min(100%, 1100px);
      flex-shrink: 0; */
      /* width: min(100%, 343px); */
      width: min(100%, 343px);
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: column nowrap;
    }

    .sec01__item-header,
    .sec01__item-box {
      width: 100%;
    }

    .sec01__item-header {
      background-color: #ffd91e;
      padding: var(--sp-1) var(--sp-5);
      border-radius: var(--sp-1) var(--sp-1) 0 0;

      h3 {
        color: var(--clr-txt);
        font-size: var(--h4-fz);
        font-weight: var(--bold);
        line-height: 1.5;
        letter-spacing: 0;
      }
    }

    .sec01__item-box {
      flex-grow: 1;
      background-color: var(--clr-white);
      display: flex;
      justify-content: center;
      align-items: start;
      flex-flow: row nowrap;
      gap: var(--sp-2);
      padding: var(--sp-4);
      border-radius: 0 0 var(--sp-1) var(--sp-1);
      border: 4px solid #ffd91e;

      p {
        color: var(--clr-txt);
        font-size: 22px;
        font-weight: var(--medium);
        letter-spacing: 0.04em;
        line-height: 1.5;
      }
    }

    .sec01__list2 {
      margin-top: var(--sp-2);
      list-style: outside "※";
      padding-inline: var(--sp-2);
      font-size: 10px;
      opacity: 0.8;
    }

    .sec01__item2 {
      color: var(--clr-txt);
      font-size: var(--small-fz);
      font-weight: var(--regular);
      letter-spacing: 0;
      line-height: 1.5;

      &:not(:last-child) {
        margin-bottom: var(--sp-1);
      }
    }
  }
}

.sec02 {
  .inner {
    padding-top: 0;
  }
}

#sec03 {
  .inner {
    padding-bottom: 0;
  }

  .sec03_cont {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

#sec04 {
  /* background: no-repeat center bottom / cover url("../img/sec04_bg.webp") !important; */

  h2.title {
    color: var(--clr-white);
  }

  .sec04_title-txt p {
    text-align: center;
  }
  .sec04_data-list-txt small {
    zoom: 0.8;
  }
}

#sec05 {
  .sec05_txt,
  .txt_box {
    margin-bottom: 0;
  }
}

.sec05to6 {
  margin-bottom: var(--sp-10);
}

#sec08 {
  .inner {
    padding-block: 0;
  }
}

#sec09 {
  .sec09_cont {
    margin-bottom: 0;
  }
}

/* ----------------------------------- SP ----------------------------------- */
@media screen and (max-width: 767px) {
  .sec_cta .title span {
    font-size: calc((20 / 390) * 100vw);
  }

  .sx-cnt_wrap {
    #mv {
      background-image: url("../img/sp-mv_bg_03.webp") !important;

      .inner {
        padding-block: var(--sp-10) 0;
      }
    }
  }

  #sec01 {
    .inner {
      padding: var(--sp-5) 0;
    }
    .sec_cta {
      &:first-of-type {
        margin-bottom: calc((60 / 390) * 100vw);
      }

      h2.title {
        p {
          padding-inline: var(--sp-2);
          font-size: calc((20 / 390) * 100vw);
        }
      }
    }
    .sec01__list {
      /* スライダー時は以下のスタイルはJavaScriptとsec01_slider.cssで制御 */
      /* display: flex;
      justify-content: center;
      align-items: stretch;
      flex-flow: column nowrap; */
      /* flex-flow: row nowrap; */
      /* gap: var(--sp-1); */
      margin-bottom: var(--sp-2) !important;
      /* overflow: hidden; */
    }
    .sec01__slider-container {
      margin-bottom: var(--sp-2) !important;
    }
    .sec01_content-list {
      dl {
        margin-bottom: 0;
      }
    }

    .sec01__custom-text {
      padding-inline: var(--sp-1);

      p {
        &:nth-child(1),
        &:nth-child(2) {
          text-align: left !important;
          font-size: calc((20 / 390) * 100vw);
          margin-inline: 0;
        }

        &:nth-child(1) {
          margin-bottom: 0;
        }

        &:nth-child(2) {
          margin-bottom: var(--sp-4);
        }
      }
    }

    .sec01__box {
      margin-bottom: var(--sp-5);

      .sec01__item-header {
        padding: var(--sp-2);
      }

      .sec01__item-box {
        padding: var(--sp-2);
        flex-flow: column nowrap;

        img {
          margin-inline: auto;
          /* width: 100%; */
        }

        p {
          font-size: var(--small-fz);
        }
      }
    }
  }

  #sec02 {
    .inner {
      padding-bottom: 0;
    }
  }

  .sec05to6 {
    margin-bottom: 0;
  }

  #sec06 {
    .sec06_list {
      margin-bottom: var(--sp-10);
    }
    .sec06_txt {
      background: none !important;
    }

    .sec06_txt-cont {
      background-color: var(--clr-bg);

      .img {
        flex-shrink: 0;
      }

      .txt > h4 {
        margin-bottom: calc((6 / 390) * 100vw);
        color: var(--clr-txt);
      }

      .txt > p {
        font-size: calc((12 / 390) * 100vw);
      }
    }
  }

  #sec09 {
    .sec09_list {
      dl {
        margin-bottom: 0;
      }
    }
  }
}
