@charset "utf-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
SP版
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
[class*='__wrapper-m'] {
  width: min(100%, 1100px);
  margin-inline: auto;
}

main {
  position: relative;
}

.cmn-py {
  padding-block: 0 var(--sp-5);
}

.sp-px {
  padding-inline: var(--sp-2);
}

.cmn-mb {
  margin-bottom: var(--sp-4);
}

.cmn-header {
  padding: var(--sp-3);
  background: no-repeat center / cover url('../img/cmn-header_bg.png');
  border-radius: var(--sp-1);

  h3 {
    font-size: var(--h4-fz);
    font-weight: var(--bold);
    color: var(--clr-white);
    text-align: center;
  }
}

.cmn-header2 {
  h4 {
    font-size: var(--h5-fz);
    font-weight: var(--bold);
    text-align: center;
  }
}

.cmn-header3 {
  position: relative;
  margin-bottom: var(--sp-2);
  padding-left: var(--sp-2);

  &::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    background-color: var(--clr-main);
    width: 5px;
    height: 100%;
    /* width: 5px;
    height: 30px; */
    margin-block: auto;
    border-radius: var(--sp-2);
  }

  h4 {
    font-size: var(--h5-fz);
    font-weight: var(--bold);
    color: var(--clr-main);
  }
}

.cmn-textbox {
  text-align: justify;

  p {
    line-height: 180%;

    &:not(:last-child) {
      margin-bottom: var(--sp-3);
    }

    span {
      background-color: var(--clr-accent);
    }
  }
}

.sec00 {
  /* height: 346px; */
  background: no-repeat center / cover url('../img/sec00_bg.png');

  .sec00__wrapper-m {
    padding-block: calc(var(--sp-1) * 6);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    gap: var(--sp-4);
  }

  .sec00__header {
    color: var(--clr-white);
    font-weight: var(--bold);
    filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
    text-align: center;
  }

  .sec00__title {
    font-size: calc((30 / 390) * 100vw);
    margin-bottom: var(--sp-2);
  }

  .sec00__text1 {
    width: fit-content;
    font-size: var(--h3-fz);
    padding: 0 var(--sp-1);
    border: 1px solid var(--clr-white);
    margin: 0 auto var(--sp-2) auto;
  }

  .sec00__text2 {
    font-size: var(--body-fz);
  }
}

.sec01 {
  padding-block: var(--sp-5);

  .sec01__list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap;
    gap: var(--sp-1);
  }

  .sec01__item {
    width: calc((114 / 390) * 100vw);
    height: calc((114 / 390) * 100vw);
    background-color: var(--clr-sub01);
    border-radius: 50%;

    position: relative;
    transition: all 0.2s;
    /* box-shadow: 0 4px 0 var(--clr-sub02); */
    box-shadow: 0 4px 4px 0 #00000040;

    &:hover {
      transform: translateY(4px);
      /* box-shadow: 0 0 0 var(--clr-sub02); */
      box-shadow: 0 0px 0px 0 #00000040;
    }
  }

  .sec01__item-link {
    width: inherit;
    height: inherit;
    border-radius: inherit;
    display: flex;
    justify-content: center;
    align-items: end;
    position: relative;

    &::before {
      content: '';
      position: absolute;
      inset: auto 0 var(--sp-3) 0;
      margin-inline: auto;
      width: calc((15 / 390) * 100vw);
      height: calc((16 / 390) * 100vw);
      background: no-repeat center / contain url('../img/sec01_deco1.png');
    }
  }

  .sec01__item-header {
    margin-bottom: calc(var(--sp-1) * 7);

    h3 {
      color: var(--clr-white);
      font-size: var(--small-fz);
      font-weight: var(--bold);
      text-decoration: underline;
      text-align: center;
    }
  }
}

.sec02 {
  .sec02__list,
  .sec02__list4,
  .sec02__item,
  .sec02__item2 {
    display: flex;
  }

  .sec02__list {
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: var(--sp-3) var(--sp-5);
    margin-bottom: var(--sp-5);
  }

  .sec02__item {
    justify-content: start;
    align-items: center;
    flex-flow: column nowrap;
    /* width: min(100%, 530px); */
    padding: var(--sp-3) var(--sp-2);
    background-color: var(--clr-bg);

    .cmn-textbox {
      /* height: 175px; */
      margin-bottom: var(--sp-3);
    }
  }

  .sec02__item-img {
    margin-bottom: var(--sp-3);
  }

  .sec02__item-header {
    margin-bottom: var(--sp-2);

    h5 {
      font-weight: var(--bold);
      font-size: var(--h5-fz);
      text-align: center;
    }
  }

  .sec02__list2 {
    width: 100%;
    counter-reset: count;

    &:has(+ .sec02__list3) {
      margin-bottom: var(--sp-2);
    }
  }

  .sec02__list2--des2 {
    .sec02__item2-count {
      background: no-repeat center / contain url('../img/sec02_deco2.png');

      &::before {
        color: var(--clr-txt);
      }
    }
  }

  .sec02__item2-count {
    display: block;
    flex-shrink: 0;
    margin-right: var(--sp-2);
    width: calc((75 / 390) * 100vw);
    height: calc((42 / 390) * 100vw);
    background: no-repeat center / contain url('../img/sec02_deco1.png');
    position: relative;

    &::before {
      counter-increment: count;
      content: counter(count);
      position: absolute;
      /* inset: auto var(--sp-2) var(--sp-05) auto; */
      inset: auto calc((15 / 390) * 100vw) calc((4 / 390) * 100vw) auto;
      /* inset: auto 15px 3px auto; */
      color: var(--clr-white);
      font-weight: var(--black);
      font-size: var(--body-fz);
    }
  }

  .sec02__item2 {
    border-radius: var(--sp-05);
    background-color: var(--clr-white);
    padding: var(--sp-2);
    border: 1px solid #d9d9d9;
    justify-content: start;
    align-items: center;
    flex-flow: row nowrap;

    &:not(:last-child) {
      margin-bottom: var(--sp-1);
    }

    h6 {
      font-weight: var(--bold);
      line-height: 130%;
      font-size: var(--body-fz);
    }

    &:nth-child(n + 10) {
      .sec02__item2-count::before {
        right: calc(var(--sp-1) * 1.2);
      }
    }
  }

  .sec02__list3 {
    list-style: '※ ' outside;
    /* padding-left: calc(var(--sp-1) * 1.5); */
    padding-left: var(--sp-2);
  }

  .sec02__item3 {
    text-align: justify;
    font-size: var(--small-fz);
    font-weight: var(--medium);
  }

  .sec02__list4 {
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    gap: var(--sp-2);
    margin-bottom: var(--sp-4);
  }

  .sec02__item4 {
    /* width: min(100%, 262px); */
    width: calc((171 / 390) * 100vw);

    .sec02__item4-img {
      margin-bottom: var(--sp-1);
      height: auto;
    }

    h5 {
      font-size: var(--small-fz);
      font-weight: var(--bold);
      line-height: 150%;
      text-align: center;
    }
  }
}

.sec03 {
  .sec03__item {
    background-color: var(--clr-bg);
    padding: var(--sp-3) var(--sp-2);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    /* gap: var(--sp-3); */

    &:nth-child(odd) {
      .sec03__item-header h5 {
        background-color: #2768ab;
      }
    }

    &:nth-child(even) {
      .sec03__item-header h5 {
        background-color: #00b0f0;
      }
    }

    &:not(:last-child) {
      margin-bottom: var(--sp-3);
    }

    &:nth-child(1) {
      .sec03__item-img {
        width: 100%;
        height: auto;
      }
    }

    &:nth-child(2) {
      .sec03__item-img {
        width: calc((124 / 390) * 100vw);
        height: auto;
      }
    }

    .cmn-textbox {
      p {
        letter-spacing: 0;
      }
    }
  }

  .sec03__item-box {
    width: min(100%, 670px);
  }

  .sec03__item-header {
    font-weight: var(--bold);
    margin-bottom: var(--sp-3);
    text-align: center;

    h5 {
      width: 100%;
      font-size: var(--body-fz);
      padding: var(--sp-1);
      margin-bottom: var(--sp-2);
      color: var(--clr-white);
    }

    p {
      font-size: var(--h5-fz);
    }
  }

  .sec03__item-img {
    /* width: 100%;
    height: auto; */
    /* margin-inline: auto; */
    margin: 0 auto calc((20 / 390) * 100vw) auto;
  }

  .sec03__img {
    width: calc((358 / 390) * 100vw);
    height: auto;
    margin: 0 auto var(--sp-3) auto;
  }
}

.sec04 {
  padding-bottom: 0;

  .cmn-textbox,
  .sec04__list {
    margin-bottom: var(--sp-3);
  }

  .sec04__list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: var(--sp-2);
    counter-reset: count;
  }

  .sec04__item {
    width: calc((171 / 390) * 100vw);
    background-color: var(--clr-bg);
    padding: var(--sp-1);

    h5 {
      text-align: center;
      font-size: calc((14 / 390) * 100vw);
      font-weight: var(--regular);
    }
  }

  .sec04__item-img,
  .sec04__item-count {
    margin-bottom: var(--sp-1);
  }

  .sec04__item-count {
    text-align: center;
    background-color: var(--clr-sub01);
    color: var(--clr-white);
    font-size: var(--small-fz);
    font-weight: var(--bold);
    padding: var(--sp-05);

    &::after {
      counter-increment: count;
      content: counter(count);
      font-size: calc((12 / 390) * 100vw);
    }
  }

  .sec04__item-img {
    width: 100%;
    height: auto;
  }
}

.sec05 {
  padding-block: var(--sp-5) 0;

  .sec05__list {
    width: 100%;
  }

  .sec05__item {
    &:not(:last-child) {
      margin-bottom: var(--sp-1);
    }
  }

  .sec05__item-link {
    display: block;
    width: inherit;
    height: inherit;
    padding: var(--sp-1) var(--sp-2);
    border-bottom: 1px solid #d6d9da;
    position: relative;

    &::before {
      content: '';
      position: absolute;
      inset: 0 auto 0 0;
      margin-block: auto;
      width: 7px;
      height: 14px;
      background: no-repeat center / contain url('../img/sec05_deco.png');
    }

    h3 {
      font-weight: var(--regular);
      font-size: var(--small-fz);
    }
  }
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
既存パーツ調整
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#faq {
}
#faq .inner {
  padding: 0;
}
#faq .sec_cta {
  margin-bottom: var(--sp-5);
}
.qa-list dt {
  padding-right: 20px;
  padding-left: 25px !important;
}
.section-ttl-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--h3-fz);
  font-weight: var(--medium);
  margin-bottom: var(--sp-4);
}

.sec-ttle {
  color: var(--clr-main);
}

#faq .qa-list dd::before {
  top: 25px;
}
.qa-list .in-dl {
  padding-right: 5vw;
}
