/* ----------------------------------- PC ----------------------------------- */
#sec02 {
  .title {
    margin-bottom: var(--sp-4);
  }

  .inner {
    padding-bottom: 0;
  }
}

#sec03 {
  .inner {
    padding-top: 120px;
  }
  .title {
    small {
      font-weight: inherit;
    }
  }
}

#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;
  }
}

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

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

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

  .txt p {
    font-size: 15px;
  }
}

#sec07 {
  .inner {
    padding-block: 0 var(--sp-10);
    /* padding-bottom: 0 !important; */
  }
  h2.title {
    margin-bottom: var(--sp-5);
  }
  .sec07_txt {
    text-align: center;
    margin-bottom: var(--sp-2);
    font-weight: var(--medium);
    letter-spacing: 0.04em;
    line-height: 1.5;
  }

  .sec_cta {
    margin-bottom: 0 !important;
  }

  .sec07_endtxt {
    position: relative;
    padding-bottom: calc(40px + 44px);
    margin-bottom: var(--sp-5);
  }
  .sec07_endtxt::after {
    position: absolute;
    bottom: 0px;
    left: calc(50% - 90px);
    content: "";
    display: block;
    background: url("../img/sec02_arrow.webp") no-repeat;
    background-size: contain;
    width: 180px;
    height: 44px;
  }
}

.sec07-2 {
  margin-top: var(--sp-10);
  background: none !important;
}

#sec08 {
  .inner {
    padding-top: 120px;
    padding-bottom: 0 !important;
  }
}

#sec09 {
  h2.title {
    font-weight: var(--bold);
  }
}

/* ----------------------------------- SP ----------------------------------- */
@media screen and (max-width: 767px) {
  #mv {
    .inner {
      padding-bottom: 0 !important;
    }
  }

  #sec01 {
    .sec01_content-txtlist {
      margin-bottom: var(--sp-2);
    }
  }
  .sec02_bnr-sec {
    position: relative;
    padding-top: calc(10.26vw + 20.05vw); /* 40px + 44px -> 10.26vw + 11.28vw */
  }
  #sec03 {
    .inner {
      padding-top: var(--sp-10);
    }
    .sec03__custom-list {
      width: calc((310 / 390) * 100vw);
      margin: 0 auto var(--sp-2) auto;
      list-style: outside "※ ";

      li {
        font-weight: var(--bold);
        font-size: var(--small-fz);
        letter-spacing: 0;
        line-height: 1.5;
        color: #28427b;
      }
    }
  }
.sec04_data-list-txt small{
          zoom: 0.8;
}
  .sec05to6 {
    padding-top: var(--sp-10);
  }

  #sec06 {
    .sec06_content .cmn-h3 {
      font-size: var(--h5-fz);
    }
    .sec06_list {
      margin-bottom: var(--sp-10) !important;
    }
    .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);
      }
    }
  }
  #sec07 {
    .inner {
      padding-block: 0;
    }
    h2.title {
      font-size: 4.5vw;
    }
    .sec07_txt {
      text-align: left;
      margin-bottom: var(--sp-2);
      font-size: var(--small-fz);
      font-weight: var(--medium);
      letter-spacing: 0.04em;
      line-height: 1.5;
    }
  }

  .sec07-2 {
    margin-top: 0;
  }
  .sec07_endtxt {
    padding-bottom: var(--sp-10);
    margin-bottom: 0;
  }
  .sec07_endtxt::after {
    position: absolute;
    bottom: 0vw;
    left: calc(50% - 23.08vw);
    content: "";
    display: block;
    background: url(../img/sec02_arrow.webp) no-repeat;
    background-size: contain;
    width: 46.15vw;
    height: 11.28vw;
  }
  #sec08 {
    .inner {
      padding-top: var(--sp-10);
    }
  }
  #sec09 {
    .sec09_list {
      dl {
        margin-bottom: 0;
      }
    }
  }
}

.sec03__progress-container {
  width: 100%;
  height: 8px;
  background-color: #f0f0f0;
  border-radius: 4px;
  margin-top: 10px;
  overflow: hidden;
  position: relative;
}

.sec03__progress-bar {
  height: 100%;
  background-color: #ccc;
  border-radius: 4px;
  transition: transform 0.3s ease;
  width: calc(100% / 3); /* 固定幅 */
  position: absolute;
  left: 0;
  top: 0;
}
/* sec03のスクロールバー非表示（SP時） */
@media (max-width: 767px) {
  .sec03_cont-inner {
    /* Firefox用 */
    scrollbar-width: none;
    /* IE・Edge用 */
    -ms-overflow-style: none;
  }

  /* Webkit系ブラウザ用（Chrome、Safari等） */
  .sec03_cont-inner::-webkit-scrollbar {
    display: none;
  }
}
