/* --------------------------------- Common --------------------------------- */
[class*="__wrapper-m"] {
  width: min(100%, 1100px);
  margin-inline: auto;
}

.cmn-py {
  padding-block: var(--sp-5);
}

.sp-px {
  padding-inline: var(--sp-2);
}

.cmn-cta {
  /* width: min(100%, 1100px); */
  position: relative;
  /* padding-bottom: var(--sp-5);
  margin-block: var(--sp-10) var(--sp-4); */
  text-align: center;
  background: no-repeat bottom center / contain
    url("../images/cmn-cta_deco1.webp");
  padding: 0 0 var(--sp-3);
  margin: var(--sp-5) var(--sp-2) var(--sp-3);

  p {
    font-size: var(--px-20);
    font-weight: var(--bold);
    color: var(--clr-sub01);
    text-align: center;

    span {
      color: var(--clr-sub02);
      background: var(--clr-accent);
    }

    small {
      font-size: var(--px-18);
    }
  }
}

/* トップのcmnヘッダー */
.top2025-header {
  margin-bottom: var(--sp-4);

  p,
  h3 {
    font-weight: var(--bold);
    text-align: center;
  }

  p {
    font-size: var(--h4-fz);
    color: var(--clr-sub01);
    margin-bottom: var(--sp-05);
    text-transform: uppercase;
  }

  h3 {
    /* font-size: var(--body-fz); */
    font-size: var(--px-18);
  }
}

/* もっと詳しく知るボタン */
.top2025-button {
  /* width: 198px;
  height: 43px; */
  width: fit-content;
  margin: var(--sp-3) auto;
  border: 1px solid var(--clr-txt2);
  border-radius: 6px;

  .top2025-button__link {
    width: inherit;
    height: inherit;
    border-radius: inherit;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px var(--sp-3);

    span {
      font-size: var(--body-fz);
      font-weight: var(--regular);
      color: var(--clr-txt2);
      padding-left: var(--sp-3);
      position: relative;

      &::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        margin-block: auto;
        width: 18px;
        height: 18px;
        background: no-repeat center/contain
          url("/assets/images/top_2025/top2025-button_icon.webp");
      }
    }
  }
}

.top2025-button--white {
  background-color: var(--clr-white);
}

.cmn-header {
  margin-bottom: var(--sp-3);

  h3,
  h4 {
    font-size: var(--px-20);
    font-weight: var(--bold);
    color: var(--clr-sub01);
    position: relative;
    padding-left: var(--sp-2);

    &::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      margin-block: auto;
      width: calc((11 / 390) * 100vw);
      height: 100%;
      border-radius: calc((10 / 390) * 100vw);
      background-color: var(--clr-sub01);
    }
  }
}

.cmn-link {
  display: block;
  width: fit-content;
  margin-inline: 0 auto;
  font-size: var(--small-fz);
  font-weight: var(--bold);
  text-decoration: underline;

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

  &::before {
    content: "＞";
  }
}

/* ---------------------------------- Sec00 --------------------------------- */
.sec00 {
  .sec00__header {
    background: no-repeat top center / cover url("../images/sp/sec00_bg1.webp") !important;
    height: calc((346 / 390) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;

    h2,
    p {
      font-weight: var(--bold);
      color: var(--clr-white);
      filter: drop-shadow(0 0 10px rgba(0, 0, 0, 70%));
      text-align: left;
    }

    p {
      font-size: var(--px-20);
      text-align: center;
    }

    h2 {
      font-size: calc((44 / 390) * 100vw);
      padding-bottom: var(--sp-1);
      margin-bottom: var(--sp-1);
      border-bottom: 1px solid var(--clr-white);
    }
  }

  .sec00__wrapper {
    width: min(100%, 1293px);
    margin-inline: auto;
    height: inherit;
    display: flex;
    justify-content: center;
    align-items: end;
    position: relative;

    img {
      width: 100%;
    }

    a {
      position: absolute;
      inset: auto 30px 4px auto;
      font-size: 49px;
      font-weight: var(--regular);
      color: var(--clr-white);
    }
  }
}

/* ---------------------------------- Sec01 --------------------------------- */
.sec01 {
  margin-top: var(--sp-1);
  background-color: var(--clr-bg) !important;

  .sec01__header {
    margin-bottom: var(--sp-3);

    p {
      width: fit-content;
      margin-inline: auto;
      padding: var(--sp-1) var(--sp-5);
      font-size: var(--px-18);
      font-weight: var(--bold);
      color: var(--clr-white);
      background-color: #d9473f;
      margin-bottom: var(--sp-2);
      clip-path: polygon(3% 0%, 100% 0%, 97% 100%, 0% 100%);
    }

    h3 {
      font-size: calc((22 / 390) * 100vw);
      font-weight: var(--bold);
      text-align: center;
    }
  }

  .sec01__list {
    background-color: var(--clr-white);
    border-radius: var(--sp-2);
    padding: var(--sp-3) var(--sp-2);
  }

  .sec01__item {
    font-size: var(--body-fz);
    font-weight: var(--bold);
    position: relative;
    padding-left: calc((30 / 390) * 100vw);

    span {
      background-color: #fef67f;
    }

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

    &::before {
      content: "";
      position: absolute;
      width: calc((31 / 390) * 100vw);
      height: calc((18 / 390) * 100vw);
      inset: calc((5 / 390) * 100vw) auto auto 0;
      /* inset: 0 auto 0 0;
      margin-block: auto; */
      background: no-repeat center / contain url("../images/sec01_deco1.webp");
    }
  }
}

/* ---------------------------------- Sec02 --------------------------------- */
.sec02 {
  background-color: var(--clr-main) !important;
  margin-bottom: var(--sp-5);

  .sec02__header {
    margin-bottom: calc((50 / 390) * 100vw);

    p,
    h3 {
      font-weight: var(--bold);
      text-align: center;
    }

    p {
      font-size: calc((18 / 390) * 100vw);
      color: var(--clr-white);
      /* margin-bottom: var(--sp-2); */
    }

    h3 {
      font-size: var(--px-18);
      font-weight: var(--bold);
      color: var(--clr-accent);
    }
  }

  .sec02__list {
    padding: var(--sp-5) var(--sp-2) var(--sp-3);
    border-radius: var(--sp-2);
    border: 1px solid var(--clr-white);
    position: relative;
    margin-bottom: var(--sp-3);

    &::before {
      /* width: fit-content; */
      width: calc((326 / 390) * 100vw);
      margin-inline: auto;
      content: "実際にこんなケースも…";
      position: absolute;
      inset: 0 0 auto 0;
      font-size: var(--px-18);
      font-weight: var(--bold);
      color: var(--clr-main);
      text-align: center;
      background-color: var(--clr-white);
      border-radius: var(--sp-4);
      padding: var(--sp-1);
      transform: translateY(-50%);
    }
  }

  .sec02__item {
    padding: 0 0 0 var(--sp-5);
    font-size: var(--body-fz);
    font-weight: var(--bold);
    color: var(--clr-white);
    position: relative;

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

    &::before {
      content: "";
      position: absolute;
      inset: var(--sp-1) auto auto 0;
      margin-block: auto;
      width: calc((25 / 390) * 100vw);
      height: calc((20 / 390) * 100vw);
      background: no-repeat center / contain url("../images/sp/sec02_deco1.webp");
    }
  }

  .sec02__content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    gap: var(--sp-1) var(--sp-5);
  }

  .sec02__img {
    order: 2;
    display: block;
    width: 100%;
  }

  .sec02__box {
    width: min(100%, 695px);

    p {
      font-size: var(--body-fz);
      color: var(--clr-white);
    }

    .sec02__box-title {
      font-size: var(--px-18);
      font-weight: var(--bold);
      color: var(--clr-accent);
      margin-bottom: var(--sp-1);
    }
  }
}

/* ---------------------------------- Sec03 --------------------------------- */
.sec03 {
  .sec03__text {
    font-size: var(--body-fz);
    font-weight: var(--bold);
    text-align: left;
    margin-bottom: var(--sp-3);

    span {
      background-color: var(--clr-accent);
    }
  }

  .sec03__list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: var(--sp-2) var(--sp-10);
    margin-bottom: var(--sp-2);
  }

  .sec03__item {
    width: calc((313 / 390) * 100vw);
    background-color: var(--clr-main);
    padding: var(--sp-2) var(--sp-2) var(--sp-5);
    border-radius: calc((10 / 390) * 100vw);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;

    .sec03__item-header {
      margin-bottom: var(--sp-3);
      /* height: 2.5lh; */

      h5 {
        font-size: calc((24 / 390) * 100vw);
        font-weight: var(--bold);
        color: var(--clr-white);
        text-align: center;
      }
    }

    .sec03__item-img {
      width: 100%;
      margin: 0 auto var(--sp-2);
    }

    .sec03__item-textbox {
      padding-inline: var(--sp-2);

      p {
        font-size: var(--body-fz);
        font-weight: var(--regular);
        color: var(--clr-white);
        text-align: justify;
      }
    }
  }
}

/* ---------------------------------- Sec04 --------------------------------- */
#sec04 {
}
#sec04 .inner {
  padding-bottom: 0;
}

#sec04 h2.title {
  text-decoration: none;
  margin-bottom: var(--sp-2);
}

.sec04_list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-2);
  /* flex-wrap: wrap; */
  margin-bottom: var(--sp-4);
}

.sec04_list .list {
  /* width: 771px; */
}

.sec04_list .list li {
  position: relative;
  font-size: var(--h6-fz);
  font-weight: var(--bold);
  line-height: 1.5;
  letter-spacing: 0.04em;
  padding: var(--sp-1) 0;
  padding-left: var(--sp-3);
  border-bottom: 1px solid #eaeaea;
}

.sec04_list .list li::before {
  position: absolute;
  top: 3vw;
  left: 0;
  content: "";
  display: block;
  background: url("../img/icon_check.webp") no-repeat;
  background-size: contain;
  width: 4.62vw; /* 18px -> 4.62vw */
  height: 4.62vw; /* 18px -> 4.62vw */
}

.sec04_list .img {
  width: 100%;
}

.sec04_content {
  /* margin-bottom: var(--sp-4); */
}
.sec04_content .cmn-h3 {
  margin-bottom: var(--sp-2);
}
.sec04_content-list {
  /* width: 1500px; */
  width: fit-content;
  display: flex;
  /* justify-content: space-between; */
  justify-content: center;
  gap: var(--sp-1);
  flex-wrap: nowrap;
}
.sec04_content-list-box {
  overflow-x: scroll;
  background-color: var(--clr-bg);
  padding: var(--sp-1);
  padding-bottom: var(--sp-2);
}
.sec04_content-list-item {
  background-color: var(--clr-white);
  /* width: var(--col-5); */
  padding: var(--sp-1);
  display: grid;
  justify-content: center;
  align-items: center;
  gap: var(--sp-1);
  border: 1px solid #eaeaea;
  width: calc((135 / 390) * 100vw);
  /* height: calc((135 / 390) * 100vw); */
}

.sec04_content-list-item .title {
  /* font-size: var(--h6-fz); */
  font-size: calc((12 / 390) * 100vw);
  line-height: 1.5;
}

.sec04_content-list-item .icon {
  width: 50px;
  margin: 0 auto;
}

.sec04_content-list-item:last-of-type .icon {
  width: 100px;
}

.sec04_content-list-item .icon img {
  max-width: 100%;
}

.sec04_txt {
  background-color: var(--clr-white);
  /* padding: var(--sp-5); */
}

.sec04_txt .title {
  font-size: var(--h6-fz);
  letter-spacing: 0;
  line-height: 1.5;
  text-align: center;
  margin-bottom: var(--sp-4);
}
.sec04_txt .title span {
  position: relative;
  display: block;
  margin-bottom: 13.3vw;
}
.sec04_txt .title span::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: calc(50% - 19px);
  display: block;
  width: 38px;
  height: 20px;
  background: url("../img/icon_tr.webp") no-repeat;
  background-size: contain;
}

.sec04_txt-cont {
  background-color: var(--clr-bg);
  padding: 4.6vw 3.1vw;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--sp-3);

  width: 100vw;
  margin-left: -2.05vw;
}

.sec04_txt-cont01 {
  padding-bottom: 0;
}

.sec04_txt-cont02 {
  margin-bottom: var(--sp-4);
}

.sec04_txt-cont .img {
  width: 18vw;
}

.sec04_txt-cont .txt {
  display: flex;
  flex-direction: column;
}

.sec04_txt-cont .txt h4 {
  font-size: var(--small-fz);
  font-weight: var(--bold);
  line-height: 1.5;
}
.sec04_txt-cont .txt p {
  font-size: 3vw;
}
.sec04_txt .sec_cta {
  position: relative;
}

.sec04_txt .title span::after {
  position: absolute;
  content: "";
  bottom: -9vw;
  left: calc(50% - 4.87vw); /* 19px -> 4.87vw */
  display: block;
  width: 9.74vw; /* 38px -> 9.74vw */
  height: 5.13vw; /* 20px -> 5.13vw */
  background: url("../img/sp_icon_tr_sec04.webp") no-repeat;
  background-size: contain;
}

/* ---------------------------------- Sec05 --------------------------------- */
.sec05 {
  /* .sec_cta {
    width: 100vw;
    margin-left: -4.1vw;
  } */

  .sec05__text {
    font-size: var(--body-fz);
    font-weight: var(--bold);
    text-align: left;
    margin-bottom: var(--sp-3);

    span {
      background-color: var(--clr-accent);
    }
  }

  .sec05__list {
    counter-reset: count;
    /* margin-bottom: var(--sp-10); */
  }

  .sec05__item {
    border-radius: var(--sp-2);
    overflow: hidden;

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

    &:nth-child(1) {
      img {
        width: calc((82 / 390) * 100vw);
        height: calc((109 / 390) * 100vw);
      }
    }

    &:nth-child(2) {
      img {
        width: calc((126 / 390) * 100vw);
        height: calc((112 / 390) * 100vw);
      }
    }

    &:nth-child(3) {
      img {
        width: calc((83 / 390) * 100vw);
        height: calc((112 / 390) * 100vw);
      }
    }

    &:nth-child(4) {
      img {
        width: calc((126 / 390) * 100vw);
        height: calc((112 / 390) * 100vw);
      }
    }

    .sec05__item-header {
      background-color: var(--clr-sub01);
      display: flex;
      justify-content: start;
      align-items: center;
      flex-flow: row nowrap;
      gap: var(--sp-1);
      padding: calc((11 / 390) * 100vw) calc((13 / 390) * 100vw);
      /* border-radius: var(--sp-2) var(--sp-2) 0 0; */

      p {
        width: calc((93 / 390) * 100vw);
        text-align: center;
        background-color: var(--clr-white);
        font-size: var(--body-fz);
        font-weight: var(--bold);
        color: var(--clr-main);
        border-radius: var(--sp-2);
        text-transform: uppercase;
        padding: var(--sp-05);

        &::after {
          counter-increment: count;
          content: counter(count, decimal-leading-zero);
        }
      }

      h4 {
        font-size: var(--body-fz);
        font-weight: var(--bold);
        color: var(--clr-white);
        text-align: left;
      }
    }

    .sec05__item-content {
      display: flex;
      justify-content: center;
      align-items: stretch;
      flex-flow: column nowrap;
      /* gap: 0; */
      /* border-radius: 0 0 var(--sp-2) var(--sp-2);
      overflow: hidden; */
    }

    .sec05__item-rbox,
    .sec05__item-lbox {
      background-color: var(--clr-bg);
      display: flex;
      justify-content: center;
    }

    .sec05__item-rbox {
      /* width: 179px; */
      align-items: center;
      flex-shrink: 0;
      padding-block: calc((12 / 390) * 100vw) 0;
    }

    .sec05__item-lbox {
      flex-flow: 1;
      padding: var(--sp-2) calc((14 / 390) * 100vw);
      gap: calc((12 / 390) * 100vw);
      align-items: stretch;
      flex-flow: column nowrap;
    }

    .sec05__item-box {
      /* width: min(100%, 430px); */
      background-color: var(--clr-white);
      padding: var(--sp-2);
    }

    .sec05__item-title {
      font-size: var(--body-fz);
      font-weight: var(--bold);
      padding: var(--sp-05) var(--sp-1);
      background-color: var(--clr-sub01);
      margin-bottom: var(--sp-2);
      width: fit-content;
      color: var(--clr-white);
    }

    .sec05__item-title--des2 {
      background-color: #30a9cc;
    }

    .sec05__item-textbox {
      p {
        font-size: var(--body-fz);
        font-weight: var(--medium);
        text-align: justify;
      }
    }
  }

  .cmn-link {
    &:nth-of-type(1) {
      margin-top: var(--sp-2) !important;
    }
  }
}

/* ---------------------------------- Sec06 --------------------------------- */
.sec06 {
  padding-bottom: var(--sp-3);

  .sec06__text {
    font-size: var(--body-fz);
    font-weight: var(--bold);
    margin-bottom: var(--sp-2);
  }

  .sec06__memo {
    font-weight: var(--small-fz);
    font-weight: var(--regular);
    position: relative;
    padding-left: var(--sp-2);
    margin-bottom: var(--sp-5);

    &::before {
      content: "※";
      position: absolute;
      inset: 0 auto auto 0;
    }
  }

  .sec06__header {
    width: fit-content;
    margin: 0 auto var(--sp-3);

    h4 {
      padding: var(--sp-05) var(--sp-1);
      font-size: var(--px-20);
      font-weight: var(--bold);
      background-color: #fef67f;
      text-align: center;
    }
  }

  .sec06__content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    gap: var(--sp-2);
    margin-bottom: var(--sp-5);
  }

  .sec06__img {
    order: 2;
    width: 100%;
  }

  .sec06__textbox {
    width: min(100%, 668px);

    p {
      font-size: var(--body-fz);
      /* line-height: 2; */
    }
  }

  .sec06__list {
    background-color: var(--clr-bg);
    padding: var(--sp-2) calc((12 / 390) * 100vw);
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: calc((12 / 390) * 100vw);
  }

  .sec06__item {
    width: calc((160 / 390) * 100vw);
    /* padding: var(--sp-4) var(--sp-2); */
    padding: var(--sp-2) 0;
    background-color: var(--clr-white);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    gap: calc((13 / 390) * 100vw);

    .sec06__item-header {
      height: 2lh;

      h5 {
        font-size: var(--small-fz);
        font-weight: var(--bold);
        text-align: center;
      }
    }

    .sec06__item-img {
      max-width: 80%;
    }
  }

  .sec06__deco {
    display: block;
    margin-inline: auto;
    /* padding-top: var(--sp-4); */
  }
}

/* ---------------------------------- Sec07 --------------------------------- */
.sec07 {
  /* height: 513px; */
  overflow: initial;
  /* margin-top: var(--sp-5); */
  padding-top: var(--sp-3);
  background: no-repeat bottom center / cover url("../images/sec07_bg1.webp") !important;

  .sec07__header {
    /* width: fit-content;
    position: absolute;
    inset: 0 0 auto 0;
    margin-inline: auto;
    transform: translateY(-40px); */
    margin-bottom: var(--sp-4);

    h3 {
      font-size: var(--h4-fz);
      font-weight: var(--bold);
      color: var(--clr-white);
      text-align: center;
    }
  }

  .sec07__content {
    margin-top: var(--sp-4);
  }

  .sec07__title {
    font-size: var(--h5-fz);
    font-weight: var(--bold);
    color: var(--clr-white);
    margin-bottom: var(--sp-2);
  }

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

    p {
      font-size: var(--fz-small);
      font-weight: var(--regular);
      color: var(--clr-white);

      span {
        font-weight: var(--bold);
        color: var(--clr-accent);
      }
    }
  }
}

/* ---------------------------------- Sec08 --------------------------------- */
.sec08 {
  /* padding-top: 0; */

  .sec08__box {
    background-color: #f3f5f9;
    /* padding: var(--sp-5) calc(50% - 550px); */
    padding: calc((20 / 390) * 100vw) var(--sp-2);
    margin-bottom: var(--sp-5);

    .cmn-header2 {
      margin-bottom: var(--sp-3);
    }
  }

  .sec08__list {
    padding: 0;
    display: flex;
    justify-content: start;
    align-items: stretch;
    flex-flow: row nowrap;
    gap: var(--sp-3);
    /* padding-bottom: var(--sp-5); */
    position: relative;
    margin-bottom: var(--sp-2);
    overflow: auto;
    padding-top: var(--sp-1);

    /* 
    &::before {
      content: '';
      position: absolute;
      inset: auto 0 0 0;
      margin-inline: auto;
      width: calc(var(--sp-1) * 6);
      height: 20px;
      background: no-repeat center / contain url('../img/sec08_deco1.webp');
    } */
  }

  .sec08__deco {
    display: block;
    margin: 0 auto var(--sp-2);
  }

  .sec08__item-count {
    position: absolute;
    inset: 0 0 auto 0;
    width: fit-content;
    margin-inline: auto;
    transform: translateY(-50%);

    span {
      color: #30a9cc;
      font-weight: var(--bold);
      font-size: 28px;
      text-align: center;
      position: relative;

      &::before {
        content: "";
        position: absolute;
        inset: auto 0 0 0;
        margin-inline: auto;
        width: 19px;
        height: 3px;
        background-color: #30a9cc;
        transform: translateY(var(--sp-1));
      }
    }
  }

  .sec08__item {
    /* width: min(100%, 345px); */
    width: calc((335 / 390) * 100vw);
    background-color: var(--clr-white);
    padding: 50px 29px 25px 29px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    position: relative;
    flex-shrink: 0;

    &:not(:last-child) {
      &::before {
        content: "";
        position: absolute;
        inset: 0 0 0 auto;
        width: 51px;
        height: 35px;
        margin-block: auto;
        background: no-repeat center / contain url("../img/sec08_deco6.webp");
        transform: translateX(35px);
      }
    }
  }

  .sec08__item-header {
    width: 100%;
    /* height: 66px; */
    margin-bottom: var(--sp-2);

    h5 {
      font-weight: var(--bold);
      font-size: var(--h5-fz);
      text-align: left;
    }
  }

  .sec08__item-textbox {
    margin-bottom: var(--sp-2);

    p {
      line-height: 1.5;
      letter-spacing: 0;
      font-size: var(--small-fz);
      font-weight: var(--medium);
    }
  }

  .sec08__item-img {
    display: block;
    width: 100%;
    height: auto;
    margin: auto auto 0 auto;
  }

  .sec08__textbox {
    padding: var(--sp-3) var(--sp-2);
    background-color: #41b3dd;

    p {
      font-size: calc((24 / 390) * 100vw);
      font-weight: var(--bold);
      text-align: left;
      color: var(--clr-white);
      margin-bottom: 0;

      span {
        font-weight: inherit;
        color: #fff833;
      }
    }
  }

  .sec08__list2 {
    margin-bottom: var(--sp-4);
  }

  .sec08__item2 {
    /* height: 205px; */
    background-color: var(--clr-bg);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap;
    gap: var(--sp-3);
    padding: var(--sp-2);
    padding-left: calc((47 / 390) * 100vw);
    position: relative;

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

    &:last-child {
      .sec08__item2-deco {
        height: auto;
      }
    }

    &:nth-child(1) {
      height: calc((203 / 390) * 100vw);
    }

    &:nth-child(2) {
      height: calc((217 / 390) * 100vw);
    }

    &:nth-child(3) {
      height: calc((283 / 390) * 100vw);
    }

    &:nth-child(4) {
      height: calc((250 / 390) * 100vw);
    }
  }

  .sec08__item2-deco {
    position: absolute;
    inset: 0 auto 0 0;
    width: calc((30.5 / 390) * 100vw);
    height: auto;
  }

  .sec08__item2-box {
    flex-grow: 1;
  }

  .sec08__item2-header {
    width: 100%;
    border-bottom: 3px solid #206ba9;
    padding-bottom: var(--sp-1);
    margin-bottom: var(--sp-1);

    h5 {
      color: #206ba9;
      font-weight: var(--bold);
      font-size: var(--h5-fz);
    }
  }

  .sec08__item2-textbox {
    p {
      font-weight: var(--medium);
      font-size: var(--small-fz);

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

      em {
        font-weight: var(--bold);
        font-size: var(--body-fz);
        font-style: normal;
        color: inherit;
      }
    }

    span {
      background-color: #fff833;
      font-weight: var(--bold);
    }
  }
}

/* ---------------------------------- Sec09 --------------------------------- */
.sec09 {
  padding-top: 0;

  .sec09__text {
    margin-bottom: var(--sp-3);
    font-size: var(--body-fz);
    font-weight: var(--regular);
  }

  .sec09__header {
    padding: var(--sp-05) var(--sp-4) var(--sp-1);
    background-color: var(--clr-sub03);
    margin-bottom: var(--sp-2);
    border-radius: var(--sp-1);

    h4 {
      font-size: var(--h4-fz);
      font-weight: var(--bold);
      color: var(--clr-white);
    }
  }

  .sec09__content {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row wrap;
    gap: var(--sp-1) var(--sp-2);
    margin-bottom: var(--sp-4);
  }

  .sec09__box {
    /* width: min(100%, 487px); */

    .sec09__box-header {
      position: relative;
      margin-bottom: var(--sp-3);
      padding-left: var(--sp-2);

      &::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        margin-block: auto;
        width: calc((5 / 390) * 100vw);
        /* height: calc(100% - var(--sp-2)); */
        height: 100%;
        background-color: var(--clr-pink);
      }

      h5 {
        font-size: 24px;
        font-weight: var(--bold);
        color: var(--clr-pink);
      }
    }
  }

  .sec09__subttl {
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row nowrap;
    gap: var(--sp-1);
    margin-bottom: var(--sp-1);

    .sec09__subttl-1,
    .sec09__subttl-2,
    .sec09__subttl-3 {
      font-weight: var(--bold);
    }

    .sec09__subttl-2,
    .sec09__subttl-3 {
      font-size: var(--px-18);
    }

    .sec09__subttl-1 {
      width: calc((112 / 390) * 100vw);
      height: calc((35 / 390) * 100vw);
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: var(--sp-1);
      background-color: var(--clr-sub03);
      font-size: var(--px-18);
      color: var(--clr-white);
    }

    .sec09__subttl-2 {
      color: var(--clr-pink);

      small {
        font-size: var(--px-18);
      }
    }

    .sec09__subttl-3 {
      small {
        font-size: var(--body-fz);
        font-weight: var(--regular);
      }
    }
  }

  .sec09__subttl--col {
    flex-flow: column nowrap;
    align-items: start;
  }

  .sec09__box-textbox {
    p {
      font-size: var(--body-fz);
      font-weight: var(--regular);
      margin-bottom: var(--sp-2);
    }
  }

  .sec09__img {
    width: calc((300 / 390) * 100vw);
    height: calc((306 / 390) * 100vw);

    iframe,
    img {
      width: inherit;
      height: inherit;
    }
  }

  .sec09__item {
    width: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    border-radius: var(--sp-1);

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

    .sec09__item-img {
      transition: all 0.3s;
    }

    .sec09__item-img--rotate {
      transform: rotate(180deg);
    }

    .sec09__item-header,
    .sec09__item-textbox {
      position: relative;
      padding: var(--sp-2) 0;
      margin-inline: var(--sp-2);
      display: flex;
      justify-content: start;
      align-items: stretch;
      flex-flow: row nowrap;
      /* gap: var(--sp-2); */
      gap: calc((12 / 390) * 100vw);

      &::before {
        position: relative;
        font-size: var(--px-18);
        font-weight: var(--bold);
      }
    }

    .sec09__item-header {
      width: calc(100% - var(--sp-4));
      background-color: var(--clr-white);
      border: none;
      align-items: start;

      &::before {
        content: "Q";
        color: #4f5ed2;
      }

      &:hover {
        cursor: pointer;
      }

      h5 {
        font-size: var(--body-fz);
        font-weight: var(--bold);
        color: #4a667a;
        flex-grow: 1;
        text-align: left;
      }
    }

    .sec09__item-box {
      display: none;
    }

    .sec09__item-box--active {
      display: block;
    }

    .sec09__item-textbox {
      padding-top: var(--sp-2);
      border-top: 1px dashed #4a667a;

      &::before {
        content: "A";
        color: #dc0161;
      }

      p {
        font-size: var(--body-fz);
        font-weight: var(--regular);
      }
    }
  }
}

/* ---------------------------------- Sec10 --------------------------------- */
.sec10 {
  padding-top: 0;

  .sec10__img1,
  .sec10__img2 {
    display: block;
    /* margin: var(--sp-5) auto; */
    width: 100%;
  }

  .sec10__img1 {
    /* margin-top: 0; */
    margin-bottom: var(--sp-5);
  }

  .sec10__img2 {
    /* margin-bottom: 0; */
    margin-block: var(--sp-5);
  }
}
