@charset "utf-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
SP版
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/* --------------------------------- Common --------------------------------- */
[class*="__wrapper-m"] {
  width: min(100%, 1100px);
  margin-inline: auto;
}

.sp-px {
  /* padding-inline: 16px !important; */
  padding-inline: 4.1vw !important;
}

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

.cmn-header {
  margin-bottom: var(--sp-3);
  width: fit-content;
  position: relative;
  padding-inline: var(--sp-2) var(--sp-5);

  &::before,
  &::after {
    content: "";
    position: absolute;
    margin-block: auto;
  }

  &::before {
    inset: 0 auto 0 0;
    background-color: #1b2951;
    border-radius: 20px;
    width: 8px;
    height: 32px;
    transform: translateY(2px);
  }

  &::after {
    inset: 0 0 0 auto;
    width: 30px;
    height: 30px;
    background: no-repeat center / contain
      url("/assets/images/top_2025/sec03_icon2.webp");
    transform: translateY(1px);
  }

  h4 {
    font-size: 32px;
    font-weight: var(--bold);
  }
}

/* トップのcmnヘッダー */
.top2025-header {
  width: 100%;
  margin-bottom: var(--sp-3);
  border-bottom: 1px solid var(--clr-txt);
  display: flex;
  justify-content: start;
  align-items: end;
  flex-flow: row nowrap;
  gap: var(--sp-2);
  color: var(--clr-txt);

  h3,
  p {
    color: inherit;
    font-weight: var(--bold);
    line-height: 1.5;
    letter-spacing: 0;
  }

  h3 {
    font-size: var(--body-fz);
    line-height: 1;
    margin-bottom: var(--sp-1) !important;
  }

  p {
    color: #103e76;
    margin: 0;
    text-transform: uppercase;
    font-size: calc((32 / 390) * 100vw);
  }
}

.top2025-header--white {
  color: var(--clr-white);
  border-color: var(--clr-white);

  p {
    color: var(--clr-white);
  }
}

/* もっと詳しく知るボタン */
.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);
}

.mt-80 {
  margin-top: var(--sp-10);
}

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

/* ---------------------------------- sec00 --------------------------------- */
/* MVスクロールアニメーション */
@keyframes moveDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}

.sec00 {
  /* margin-top: calc((65 / 390) * 100vw); */

  .header__mainvis {
    height: calc((553 / 390) * 100vw);
    background: no-repeat center / cover
      url("/assets/images/top_2025/sp-sec00_bg.webp");

    .header__wrapper-l {
      width: min(100%, 1920px);
      margin-inline: auto;
      height: inherit;
      display: flex;
      justify-content: center;
      align-items: start;
      flex-flow: column nowrap;
      position: relative;

      .header__catch {
        margin: calc((88 / 390) * 100vw) 0 auto auto;
      }

      .header__scroll {
        position: absolute;
        inset: auto var(--sp-1) 0 auto;
        margin: var(--sp-2) var(--sp-1);
        display: flex;
        justify-content: center;
        align-items: center;
        flex-flow: column nowrap;
        gap: var(--sp-1);
        /* opacity: 1;
        animation: fade 2s infinite linear; */

        .header__scroll-box {
          overflow: hidden;
        }

        .header__scroll-arrow {
          animation: moveDown 1.5s cubic-bezier(0, 0.3, 1, 0.8) infinite 0.5s;
        }
      }
    }

    .header__note {
      width: 100%;
      /* position: absolute;
      inset: auto auto 0 0; */
      padding: var(--sp-2);
      order: 3;

      img {
        margin-bottom: var(--sp-1);
      }

      p {
        font-size: calc((6 / 390) * 100vw);
        font-weight: var(--regular);
        letter-spacing: 0;
        line-height: 1.2;
        color: var(--clr-white);

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

    .header__info {
      /* position: absolute;
      inset: auto 0 0 auto; */
      /* padding: var(--sp-5); */
      margin-inline: auto;
      order: 2;

      img {
        width: calc((388 / 390) * 100vw);
        /* height: calc((110 / 390) * 100vw); */
        height: auto;
      }
    }
  }

  .header__banner2 {
    padding-block: var(--sp-4) var(--sp-5);

    .header__banner2-list {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: row wrap;
      gap: var(--sp-2);
    }

    .header__banner2-item {
      width: 207px;
      height: 54px;
      border-radius: 100px;

      &:nth-child(1) .header__banner2-link {
        background-color: #1b2951;

        span {
          color: var(--clr-white);
          padding-right: var(--sp-3);

          &::before {
            background-image: url("/assets/images/top_2025/sec00_icon1.webp");
          }

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

      &:nth-child(2) .header__banner2-link {
        span::before {
          background-image: url("/assets/images/top_2025/sec00_icon2.webp");
        }
      }

      &:nth-child(3) .header__banner2-link {
        span::before {
          background-image: url("/assets/images/top_2025/sec00_icon3.webp");
        }
      }

      &:nth-child(4) .header__banner2-link {
        span::before {
          background-image: url("/assets/images/top_2025/sec00_icon4.webp");
        }
      }

      &:nth-child(5) .header__banner2-link {
        span::before {
          background-image: url("/assets/images/top_2025/sec00_icon5.webp");
        }
      }
    }

    .header__banner2-link {
      width: inherit;
      height: inherit;
      border-radius: inherit;
      /* border: 1px solid #1164b3; */
      background-color: var(--clr-white);
      display: flex;
      justify-content: center;
      align-items: center;
      box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);

      span {
        font-weight: var(--bold);
        font-size: var(--body-fz);
        letter-spacing: 0;
        line-height: 1.2;
        color: #1b2951;
        text-align: center;
        position: relative;
        padding-left: var(--sp-4);

        &::before {
          content: "";
          position: absolute;
          inset: 0 auto 0 0;
          margin-block: auto;
          width: 22px;
          height: 22px;
          background: no-repeat center / contain;
        }
      }
    }
  }
/* 
  #side-button.show {
    opacity: 1;
    display: flex;

    .side-button__link {
      pointer-events: auto;
    }
  }

  .side-button {
    z-index: 10000;
    position: fixed;
    inset: 120px 0 auto auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    gap: 2.05vw;

    opacity: 0;
    transition: all 0.5s ease-in-out;

    @media screen and (max-width: 1600px) {
      zoom: 80%;
      inset: 24vh 0 auto auto;
    }

    .side-button__link {
      width: 52px;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #153c7b;
      border-radius: 1.03vw 0 0 1.03vw;
      padding: 12px 0;
      pointer-events: none;

      transition: opacity display 0.5s ease-in-out;
      transition: transform 0.1s ease-in-out;

      span {
        color: #fff;
        font-weight: 700;
        font-size: 20px;
        letter-spacing: 0;
        writing-mode: vertical-rl;
        position: relative;

        &::before,
        &::after {
          content: "";
          position: absolute;
          margin: auto;
          width: 18px;
          height: 18px;
          background: no-repeat center / contain;
        }
      }
    }

    .side-button__link--mail {
      background-color: #ff544b;

      span {
        padding-top: 6.15vw;

        &::before {
          inset: 0 0 auto 0;
          background-image: url("/assets/images/top_2025/sec00_deco3.webp");
        }
      }
    }

    .side-button__link--share {
      span {
        padding-bottom: 6.15vw;

        &::before {
          inset: auto 0 0 0;
          background-image: url("/assets/images/top_2025/sec00_deco1.webp");
        }
      }
    }
  }
}

.side-button2 {
  inset: auto 0 0 0;
  position: fixed;
  z-index: 1001;
  padding: 2.05vw;
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(3px);
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.3s ease, transform 0.3s ease;

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

  .side-button2__text {
    color: #1b2951;
    font-size: 3.6vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: 2.05vw;
    text-align: center;
  }

  .side-button2__box {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row nowrap;
    gap: 2.05vw;
  }

  .side-button2__button {
    width: calc((183 / 390) * 100vw);
    padding-block: 2.05vw;
    border-radius: 1.03vw;
    display: flex;
    justify-content: center;
    align-items: center;

    span {
      color: #fff;
      font-size: calc((15 / 390) * 100vw);
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0;
      position: relative;
      padding-left: 8.21vw;
      text-align: center;

      &::before {
        content: "";
        position: absolute;
        inset: 0 auto 0 0;
        margin-block: auto;
        width: calc((24 / 390) * 100vw);
        height: calc((24 / 390) * 100vw);
        background: no-repeat center / contain;
      }

      small {
        color: inherit;
        font-weight: 400;
        font-size: calc((10 / 390) * 100vw);
        letter-spacing: inherit;
      }
    }
  }

  .side-button2__button--call {
    background-color: #ff544b;

    span {
      transform: translateY(calc((-4 / 390) * 100vw));

      &::before {
        background-image: url("/assets/images/top_2025/sp-sec00_icon1.webp");
        transform: translateY(calc((3 / 390) * 100vw));
      }
    }
  }

  .side-button2__button--mail {
    background-color: #444f6f;

    span {
      &::before {
        background-image: url("/assets/images/top_2025/sp-sec00_icon2.webp");
      }
    }
  } */
}

/* Header2025用のカルーセル */
#header2025-carousel {
  position: relative;

  .header__banner-arrows {
    inset: 0;
    position: absolute;
    width: min(100%, 1100px);
    margin-inline: auto;
  }

  .header__banner-wrapper {
    background-color: #1b2951;
    padding-block: var(--sp-4);
  }

  .header__banner-list {
    margin-inline: auto !important;
  }

  .header__banner-item {
    width: calc((342 / 390) * 100vw) !important;
    height: calc((150 / 390) * 100vw) !important;
  }

  .header__banner-link {
    img {
      display: block;
      margin-inline: auto;
      width: 100%;
      height: auto;
    }
  }
}

/* ---------------------------------- sec01 --------------------------------- */
.sec01 {
  /* background-color: #8fa7ae; */
  background: no-repeat top left / calc((206 / 390) * 100vw)
      calc((305 / 390) * 100vw) url("/assets/images/top_2025/sp-sec01_img1.webp"),
    no-repeat bottom right / calc((195 / 390) * 100vw) calc((290 / 390) * 100vw)
      url("/assets/images/top_2025/sp-sec01_img2.webp"),
    #233458 !important;

  .sec01__wrapper-l {
    padding-block: var(--sp-5);
    /* padding-bottom: 0; */
    width: min(100%, 1920px);
    margin-inline: auto;
    overflow: hidden;
    position: relative;
    /* background: no-repeat top 105px left / 425px
        url("/assets/images/top_2025/sec01_img1.webp"),
      no-repeat top 105px right / 448px
        url("/assets/images/top_2025/sec01_img2.webp"); */

    /* &::before,
    &:after {
      content: '';
      position: absolute;
      background: no-repeat center / contain;
    }

    &::before {
      width: 425px;
      height: 476px;
      inset: 105px auto auto 0;
      background-image: url('/assets/images/top_2025/sec01_img1.png');
    } */
  }

  .sec01__textbox {
    width: min(100%, 705px);
    margin: 0 auto;
    padding-inline: var(--sp-2);

    p {
      font-size: var(--body-fz);
      color: var(--clr-white);
      font-weight: var(--regular);
      letter-spacing: 0;
      line-height: 1.5;
      text-align: left;
      /* text-shadow: 0px 0px 40px #ffffff, 0px 0px 5px #ffffff,
        0px 0px 5px #ffffff, 0px 0px 5px #ffffff, 0px 0px 5px #ffffff,
        0px 0px 5px #ffffff; */

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

  .sec01__button {
    width: fit-content;
    display: block;
    margin: 0 auto;
  }
}

/* ---------------------------------- sec02 --------------------------------- */
.sec02 {
  .sp-sec02__menu {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-flow: row nowrap;
    gap: calc((2 / 390) * 100vw);
  }

  .sp-sec02__menu-item {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--sp-1);
    border-radius: var(--sp-05) var(--sp-05) 0 0;
    border: 1px solid #aaaaaa;
    border-bottom: none;
    background-color: var(--clr-white);

    span {
      text-align: left;
      color: #103e76;
      font-weight: var(--bold);
      font-size: var(--body-fz);
      letter-spacing: 0;
      position: relative;
      /* padding-right: var(--sp-3); */

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

  .sp-sec02__menu-item--active {
    border-color: #dfe1e9;
    background-color: #dfe1e9;
  }

  .sp-sec02__content {
    padding: var(--sp-4) var(--sp-2);
    background-color: #dfe1e9;
    margin-bottom: var(--sp-5);
  }

  .sp-sec02__content-header {
    margin-bottom: var(--sp-2);

    h4 {
      font-size: var(--px-18);
      font-weight: var(--bold);
      letter-spacing: 0;
      position: relative;
      padding-left: var(--sp-3);

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

  .sp-sec02__content-list {
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row wrap;
    gap: var(--sp-2);

    &:has(+ .sp-sec02__content-header) {
      margin-bottom: var(--sp-4);
      padding-bottom: var(--sp-4);
      &:not(:last-of-type) {
        border-bottom: 1px solid #454f6e;
      }
    }
  }

  .sp-sec02__content-item {
  }

  /* .sp-sec02__content-link {
    display: block;
    background-color: var(--clr-white);
    border: 1px solid var(--clr-txt);
    border-radius: calc((40 / 390) * 100vw);
    padding: calc((12 / 390) * 100vw);
    font-size: calc((12 / 390) * 100vw);
    font-weight: var(--regular);
    letter-spacing: 0;
  } */
  .sp-sec02__content-link {
    display: inline-block;
    color: var(--clr-txt);
    /* font-size: var(--h6-fz); */
    font-size: var(--small-fz);
    font-weight: var(--bold);
    position: relative;
    padding-right: var(--sp-3);
    padding-bottom: var(--sp-05);
    border-bottom: 1px dashed var(--clr-sub03);
    white-space: nowrap;

    &::before {
      content: "";
      position: absolute;
      inset: 0 0 0 auto;
      margin-block: auto;
      width: 18px;
      height: 18px;
      background: no-repeat center/contain
        url("/assets/images/top_2025/sec02_icon2.webp");
    }
  }
  .sp-sec02__content-img {
    width: 100%;
    height: calc((150 / 390) * 100vw);
    object-fit: cover;
    margin-bottom: var(--sp-2);
  }

  .sec02__button {
    display: block;
    width: fit-content;
    /* margin-inline: auto; */
    margin: 0 auto var(--sp-5) auto;
  }
}

/* ---------------------------------- sec03 --------------------------------- */
.sec03 {
  padding-block: 0;

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

  .sec03__item {
    &:not(:last-child) {
      margin-bottom: var(--sp-10);
    }
  }

  .sec03__item-content {
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: row nowrap;
    gap: var(--sp-4);
  }

  .sec03__item-content--des2 {
    align-items: start;
    flex-flow: row-reverse nowrap;
  }

  .sec03__list2 {
    flex-grow: 1;
    counter-reset: count;
  }

  .sec03__item2 {
    counter-increment: count;

    &:first-child {
      .sec03__item2-link {
        /* padding-top: 0; */
      }
    }
  }

  .sec03__item2-link {
    display: block;
    border-bottom: 2px dashed var(--clr-sub03);
    position: relative;
    padding: 20px var(--sp-4) 20px var(--sp-5);

    &::before {
      height: 37px;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: var(--sp-1);
      content: counter(count);
      position: absolute;
      inset: 0 auto 0 0;
      margin-block: auto;
      color: var(--clr-white);
      background-color: var(--clr-sub03);
      font-weight: var(--bold);
      font-size: 20px;
      border-radius: var(--sp-05);
    }

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

    span {
      font-size: 20px;
      font-weight: var(--bold);
    }
  }
}

/* ---------------------------------- sec04 --------------------------------- */
.sec04 {
  color: var(--clr-white);

  .sec04__wrapper-l {
    /* width: min(100%, 1920px); */
    margin-inline: auto;
    /* height: 667px; */
    /* padding-block: 88px 98px; */
    padding-block: var(--sp-5) 70px;
    background: no-repeat bottom center / cover
      url("/assets/images/top_2025/sp-sec04_bg.webp");
  }

  .sec04__wrapper-m {
    /* display: flex;
    justify-content: start;
    align-items: start;
    flex-flow: row nowrap;
    gap: var(--sp-2) 135px; */

    .top2025-header {
      flex-flow: column nowrap;
      gap: var(--sp-1);

      p {
        line-height: 1;
        width: 100%;
      }
    }
  }

  .sec04__content {
    width: min(100%, 705px);
  }

  .sec04__subtitle {
    color: var(--clr-white);
    font-weight: var(--bold);
    line-height: 1.5;
    font-size: var(--h4-fz);
    margin-bottom: var(--sp-3);
  }

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

    p {
      color: var(--clr-white);
      font-size: var(--body-fz);
      font-weight: var(--regular);
      line-height: 1.5;
    }
  }

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

  .sec04__item {
    font-weight: var(--bold);
    font-size: var(--px-18);
    line-height: 1.5;
    border-bottom: 1px solid var(--clr-white);
    padding: var(--sp-1) 0 var(--sp-1) var(--sp-3);
    position: relative;

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

  /* .sec04__button {
    width: 182px;
    height: 43px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap;
    gap: var(--sp-2);
    background-color: var(--clr-white);
    border-radius: 6px;
    margin-inline: auto;

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

      &::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/sec04_icon2.webp");
      }
    }
  } */
}

/* ---------------------------------- sec05 --------------------------------- */
.sec05 {
  /* padding-bottom: 0; */

  .sec05__header {
    padding: var(--sp-05) var(--sp-2);
    /* background-color: var(--clr-sub03); */
    background-color: #1f294a;
    margin-bottom: var(--sp-2);

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

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

  .sec05__item {
    width: calc((171 / 390) * 100vw);
    /* height: calc((131 / 390) * 100vw); */
    /* border: 1px solid var(--clr-sub03); */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    gap: var(--sp-1);
    background-color: #dfe1e9;
    padding: var(--sp-1);

    .sec05__item-title {
      font-size: var(--body-fz);
      font-weight: var(--bold);
      color: var(--clr-txt);
      text-align: center;
    }
  }
}

/* ---------------------------------- sec06 --------------------------------- */
.sec06 {
  padding-bottom: 0;

  .sec06__list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;
    gap: var(--sp-2);
    counter-reset: count;
  }

  .sec06__item {
    /* width: min(100%, 207px) !important; */
    width: calc((358 / 390) * 100vw);
    margin-inline: auto;
    border: 1px solid var(--clr-txt);
    background-color: var(--clr-white);
    padding: var(--sp-1);
    display: flex;
    justify-content: start;
    align-items: stretch;
    flex-flow: column nowrap;
    gap: var(--sp-2);

    .sec06__item-img {
      margin: 0 auto;
    }

    .sec06__item-header {
      counter-increment: count;

      h4 {
        text-align: center;
        color: var(clr-txt);
        font-size: calc((20 / 390) * 100vw);
        font-weight: var(--bold);
        line-height: 1.5;
        letter-spacing: 0;

        &::before {
          content: counter(count) ".";
        }
      }
    }

    .sec06__item-textbox {
      p {
        font-size: var(--body-fz);
        font-weight: var(--regular);
        line-height: 1.5;
        color: var(--clr-txt);
        text-align: center;
      }
    }
  }
}

/* ---------------------------------- sec07 --------------------------------- */
.sec07 {
  /* background-color: var(--clr-bg) !important; */
  background-color: #dfe1e9 !important;
  position: relative;
  overflow: initial;
  padding-block: var(--sp-3);
  margin-bottom: var(--sp-5);

  &::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    margin-inline: auto;
    width: 124px;
    height: 52px;
    background: no-repeat center/contain
      url("/assets/images/top_2025/sp-sec07_deco1.webp");
    transform: translateY(70%);
  }

  .cmn-header {
    text-align: center;
    margin-inline: auto;

    &::before,
    &::after {
      content: none;
    }

    h3 {
      font-size: var(--h3-fz);
    }
  }

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

  .sec07__item {
    width: min(100%, 534px);
    background-color: var(--clr-white);
    border-radius: var(--sp-2);
    display: flex;
    justify-content: start;
    align-items: center;
    flex-flow: column nowrap;
    gap: var(--sp-2);
    padding: var(--sp-3) var(--sp-3) var(--sp-2);

    .sec07__item-text,
    .sec07__item-header {
      font-weight: var(--bold);
      line-height: 1.5;
      letter-spacing: 0;
      text-align: center;
    }

    &:nth-child(1) .sec07__item-header h4::before {
      background-image: url("/assets/images/top_2025/sec07_icon1.webp");
    }

    &:nth-child(2) .sec07__item-header h4::before {
      background-image: url("/assets/images/top_2025/sec07_icon2.webp");
    }

    .sec07__item-header {
      h4,
      p {
        line-height: inherit;
        letter-spacing: inherit;
        letter-spacing: inherit;
        text-align: inherit;
        font-weight: inherit;
      }

      h4 {
        /* color: #ff6600; */
        color: #ff544b;
        font-size: calc((22 / 390) * 100vw);
        position: relative;
        padding-left: var(--sp-5);

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

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

    .sec07__item-text {
      font-size: var(--px-18);
    }

    .sec07__item-text2 {
      font-size: var(--small-fz);
      font-weight: var(--regular);
      margin-inline: auto 0;
    }
  }

  .sec07__item--des2 {
    padding-bottom: 20px;
  }
}

/* ---------------------------------- sec08 --------------------------------- */
.sec08 {
  .sec08__list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    gap: var(--sp-2);
  }

  .sec08__item {
  }

  .sec08__item-img {
    width: calc((358 / 390) * 100vw);
    /* height: calc((151 / 390) * 100vw); */
    height: auto;
  }
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
既存パーツ調整
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#ddf_to_top {
  display: none;
}
.sec_cta.mb-80:not(:has(.pc)) {
  padding-bottom: var(--sp-5);
  /* margin-bottom: 0; */
  /* background: #253457; */
}
#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);
}
.faq__textbox {
  margin-bottom: var(--sp-3);

  p {
    font-size: var(--body-fz);
    font-weight: var(--regular);
    letter-spacing: 0;
    line-height: 1.5;
  }
}
.sec-ttle {
  color: var(--clr-main);
}

#faq .qa-list dd::before {
  top: 25px;
}
.qa-list .in-dl {
  padding-right: 5vw;
}

#media {
  padding-top: var(--sp-10);
}

/* .more_btn_2011 */
.more_btn_2011 {
  /* zoom: 80%; */
}
.more_btn_2011 a {
  width: fit-content;
  display: block;
  margin: 0 auto;
}

.more_btn_2011 {
}
.more_btn_2011 a {
}
.more_btn_2011 a span {
  position: relative;
  display: block;
  text-align: center;
  width: 330px;
  margin: 0 auto;
  padding: 18px 0 18px 20px;
  background-color: #ffffff;
  color: #353738;
  border: 4px solid #353738;
  border-radius: 12px;
  font-size: 30px;
  line-height: 1;
  box-shadow: 0 2px 20px -5px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease-in-out;
}
.more_btn_2011 a span:before {
  content: "";
  margin: 0;
  padding: 0;
  top: 25.5px;
  left: 46px;
  position: absolute;
  border: 4px solid #353738;
  border-left: none;
  border-top: none;
  height: 17px;
  width: 17px;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transition: all 0.2s ease-in-out;
}
.more_btn_2011 a span:hover {
  /*	transform: scale(1.02, 1.02);*/
  color: #ffffff;
  background-color: #353738;
  opacity: 1;
}
.more_btn_2011 a span:hover:before {
  border-color: #ffffff;
}

.more_btn_2011 a span {
  width: 250px;
  padding: 16px 0 16px 24px;
  font-size: 24px;
}
.more_btn_2011 a span:before {
  top: 21px;
  left: 38px;
  height: 15px;
  width: 15px;
}

.more_btn_2011 {
  /* zoom: 80%; */
}
.more_btn_2011 a {
  width: fit-content;
  display: block;
  margin: 0 auto;
}

/* cta調整 */
/* .sec_cta */
.sec_cta__box-wrap {
  margin-bottom: var(--sp-10);
}
/* .sec_cta */
.sec_cta__box {
  position: relative;
  line-height: 1.5;
  padding: calc((16 / 390) * 100vw) calc((5 / 390) * 100vw)
    calc((16 / 390) * 100vw);
  background: no-repeat bottom center/contain url("../img/sp_sec_cta__box.webp");
  background-size: cover;
  display: flex;
  margin-bottom: calc((65 / 390) * 100vw);
}
/* .sec_cta__box::after {
  position: absolute;
  bottom: calc((-18 / 390) * 100vw - (25 / 390) * 100vw);
  left: calc(50% - (22 / 390) * 100vw);
  content: "";
  display: block;
  background: url("../img/icon_tr_cta.webp") no-repeat;
  background-size: contain;
  width: calc((44 / 390) * 100vw);
  height: calc((25 / 390) * 100vw);
} */

.sec_cta__box-header {
  width: 100%;
  /* margin-inline: auto; */
  margin-bottom: calc((270 / 390) * 100vw);
}
.sec_cta__box-header h4 {
  width: fit-content;
  font-size: calc((26 / 390) * 100vw);
  color: #e8e428;
  font-weight: 700;
  letter-spacing: 0.06em;
  /* margin: 0 auto; */
  padding-left: var(--sp-1);
  margin-bottom: calc((16 / 390) * 100vw);
}
.sec_cta__box-header p {
  font-size: calc((18 / 390) * 100vw);
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.02em;
  padding-left: var(--sp-1);
  margin-bottom: var(--sp-1);
}

.sec_cta__box-header h4 small {
  font-size: calc((20 / 390) * 100vw);
  color: #ffffff;
}
.sec_cta__box-header p sup {
  font-size: 10px;
  top: 0;
}
.sec_cta__box-header small {
  position: relative;
  width: calc((350 / 390) * 100vw);
  display: block;
  font-size: 10px;
  padding-left: 22px;
  color: #ffffff;
  /* zoom: 0.6; */
  transform: scale(0.6);
  transform-origin: right top; /* 基準点の調整 */
  margin-left: auto;
}
.sec_cta__box-header small:nth-of-type(1)::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "※1";
}
.sec_cta__box-header small:nth-of-type(2)::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "※2";
}

/* ------------------------------- 緊急対応をご希望の方へ ------------------------------ */
.note {
  background-color: #dfe1e9;

  .cmn-header {
    width: fit-content;
    margin-inline: auto;
    padding-inline: 0;

    &::before,
    &::after {
      content: none;
    }

    h3 {
      color: var(--clr-main);
      text-align: center;
    }
  }

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

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

    h4 {
      font-size: var(--h4-fz);
      color: var(--clr-main);
    }
  }

  .note__text {
    font-weight: var(--medium);
    margin-bottom: var(--sp-3);
  }

  .note__list3 {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-flow: column nowrap;
    gap: var(--sp-4);
    margin-bottom: var(--sp-4);
  }

  .note__item3 {
    /* width: min(100%, 295px); */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;

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

  .note__item3-img {
    margin-bottom: calc((12 / 390) * 100vw);
  }

  .note__item3-header {
    margin-bottom: calc((12 / 390) * 100vw);
    text-align: center;

    h5 {
      font-weight: var(--bold);
      font-size: var(--body-fz);
    }
  }

  .note__item3-text {
    width: calc((295 / 390) * 100vw);
    margin-inline: auto;
    text-align: justify;
    font-size: var(--small-fz);
  }

  .cmn-dd {
    margin-bottom: var(--sp-4);

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

    .cmn-dd__header {
      width: 100%;
      background-color: var(--clr-main);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--sp-1);
      /* padding: var(--sp-3) 64px var(--sp-3) var(--sp-2); */
      padding: var(--sp-2);
      position: relative;
      color: var(--clr-white);
      font-weight: var(--bold);
      transition: all 0.3s;
      outline: none;
      border: none;

      &:hover {
        opacity: 0.9;
      }

      h5 {
        text-align: left;
        flex-grow: 1;
        font-size: var(--h6-fz);
        color: inherit;
      }

      p {
        font-weight: var(--medium);
        font-size: calc((48 / 390) * 100vw);
        /* transform: translateY(-6px); */
        color: inherit;
        line-height: 1;
      }
    }

    .cmn-dd__content {
      background-color: #f8f8f8;
      padding: calc((20 / 390) * 100vw) var(--sp-05);
      display: none;
    }

    .cmn-dd__list {
      counter-reset: count;
    }

    .cmn-dd__item {
      border: 2px solid var(--clr-txt);
      box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);

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

    .cmn-dd__item-header {
      background-color: #daf4ff;
      padding: calc((12 / 390) * 100vw);
      font-weight: var(--bold);
      border-bottom: 2px solid var(--clr-txt);

      h6 {
        font-size: var(--body-fz);

        &::before {
          counter-increment: count;
          content: counter(count, decimal-leading-zero) ". ";
          color: #33a0d6;
        }
      }
    }

    .cmn-dd__textbox {
      text-align: justify;
      padding: var(--sp-1);
      font-size: var(--small-fz);

      ul {
        padding-left: var(--sp-2);
        list-style: disc outside;
      }
    }
  }

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

  .sp-note__item {
    &:not(:last-child) {
      margin-bottom: var(--sp-5);
    }

    .sp-note__item-title {
      margin-bottom: var(--sp-2);
      color: #333333;
      font-size: var(--body-fz);
      font-weight: var(--bold);
      line-height: 1.5;
      letter-spacing: 0;

      &::before {
        counter-increment: count;
        content: counter(count) ".";
      }
    }

    .sp-note__item-title--des2 {
      margin-bottom: var(--sp-1);
    }

    .sp-note__item-note {
      color: #333333;
      font-size: var(--small-fz);
      font-weight: var(--bold);
      line-height: 1.5;
      letter-spacing: 0;
      margin: 0 var(--sp-1) var(--sp-1);
    }

    .sp-note__item-box {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: row nowrap;
      gap: var(--sp-1);

      p {
        text-align: left;
        color: var(--clr-txt);
        font-size: var(--small-fz);
        font-weight: var(--regular);
        line-height: 1.5;
        letter-spacing: 0;
      }
    }
  }
}

/* --------------------------- なぜデジタルデータフォレンジックなのか -------------------------- */
.why {
  padding-block: var(--sp-5) calc((50 / 390) * 100vw);

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

    h3 {
      text-align: center;
      color: #224586;
      font-size: calc((32 / 390) * 100vw);
      font-weight: var(--bold);
      line-height: 1.55;
    }
  }

  .why__textbox {
    width: min(100%, 880px);
    margin: 0 auto var(--sp-3) auto;

    p {
      font-size: var(--body-fz);
      text-align: justify;
      line-height: 1.5;
    }
  }

  .why__img {
    display: block;
    margin-inline: auto;
  }
}

/* --------------------------- お問い合わせから調査・報告までの流れ --------------------------- */
.flow {
  padding-block: var(--sp-5);
  background-color: #f2f2f2 !important;
}

.flow__box3 {
  margin-bottom: 30px;

  p {
    font-size: var(--small-fz);
    font-weight: var(--medium);
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.flow__box4 {
  margin-bottom: 16px;
  position: relative;
}
.flow__box4-img {
  position: absolute;
  inset: 0 calc((6 / 390) * 100vw) auto auto;
  /* transform: translateX(15px); */
}
.flow__list2 {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-flow: column nowrap;
  gap: 20px;
  counter-reset: count;
  margin-bottom: 10px;
}
.flow__item2-box .cmn-textbox p {
  font-size: 3.3vw;
}
.flow__item2 {
  width: 100%;
  height: 100px;
  border-radius: 0;
  background-color: #ffffff;
  filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.25));
  transform: translateZ(0);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-flow: row nowrap;
  gap: var(--sp-2);
  padding: calc((10 / 390) * 100vw) calc((28 / 390) * 100vw)
    calc((10 / 390) * 100vw) var(--sp-5);
  position: relative;
}
.flow__item2:nth-child(1) {
  height: fit-content;
  padding-bottom: 25px;
}
.flow__item2:nth-child(1) .cmn-textbox p {
  font-size: 17px;
}
.flow__item2:nth-child(1) h5 {
  margin-bottom: 16px;
}
.flow__item2:nth-child(1) .cmn-tel {
  margin-bottom: 20px;
}
.flow__item2::after {
  counter-increment: count;
  content: counter(count, decimal-leading-zero);
  position: absolute;
  inset: 0 auto 0 0;
  width: 30px;
  height: 100%;
  border-radius: 0;
  background-color: #103e76;
  color: #ffffff;
  font-weight: 700;
  font-size: 18px;
  padding: 10px 4px 0 4px;
}
.flow__item2:nth-child(2) {
  padding-right: calc((45 / 390) * 100vw);
}
.flow__item2:nth-child(3) {
  padding-right: var(--sp-2);
}
/* .flow__item2:not(:last-child)::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  margin-inline: auto;
  background: no-repeat center/contain
    url("/assets/images/top_2025/sp_sec03_deco1.webp");
  width: 28px;
  height: 28px;
  border-radius: 0;
  transform: translateY(27px);
  z-index: 1;
} */
.flow__item2-header {
  margin-bottom: 5px;
}
.flow__item2-header h5 {
  color: #103e76;
  font-size: 20px;
  font-weight: 700;
}
.flow__button {
  color: #103e76;
  font-weight: 700;
  /* text-align: center; */
}

.flow__header {
  margin-bottom: 24px;
  position: relative;
}
.flow__header::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  background-color: #1f294a;
  width: 5px;
  height: 100%;
  border-radius: 15px;
  margin-block: auto;
  transform: translateY(2px);
}
.flow__header h4 {
  color: #1f294a;
  font-size: 24px;
  font-weight: 700;
  padding-inline: 15px;
}
.flow-tel span {
  position: relative;
  white-space: nowrap;
  font-size: 25px;
  font-weight: 700;
  padding-left: 35px;
}
.flow-tel span::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  margin-block: auto;
  width: 30px;
  height: 30px;
  border-radius: 0;
  background: no-repeat center/contain
    url("/assets/images/top_2025/icon_tel.webp");
}

.flow-mail {
  width: 206px;
  height: 35px;
  border-radius: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ff544b;
  filter: drop-shadow(0 4px 0 rgba(16, 62, 118, 0.25));
}
.flow-mail:hover {
  background-color: #ff847e;
}
.flow-mail span {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  padding-left: 20px;
  position: relative;
}
.flow-mail span::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  margin-block: auto;
  width: 16px;
  height: 16px;
  border-radius: 0;
  background: no-repeat center/contain
    url("/assets/images/top_2025/icon_mail.webp");
}

/* --------------------------------- よくある質問 --------------------------------- */
.qa-list .in-dl {
  padding: 15px;
  border: 2px solid #2a4174;
  margin-bottom: 14px;
}

.qa-list dt {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  box-sizing: border-box;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

.qa-list dt::before {
  content: "Q";
  color: #2a4174;
  font-size: 26px;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1;
}

.qa-list dt::after {
  content: "";
  display: block;
  position: absolute;
  top: 25%;
  right: 0;
  width: 11px;
  height: 11px;
  border-top: 2.5px solid #2a4174;
  border-right: 2.5px solid #2a4174;
  transform: rotate(135deg);
  transition: 0.3s;
}

.qa-list dt.current:after {
  transform: rotate(-45deg);
  transition: 0.3s;
}

.qa-list dd {
  font-size: 20px;
  line-height: 1.8;
  position: relative;
  padding-top: 20px;
  padding-left: 35px;
  margin-top: 20px;
  border-top: 1px solid darkred;
}

.qa-list dd::before {
  content: "A";
  color: darkred;
  font-size: 26px;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 20px;
  line-height: 1;
}

.faq-cont {
  margin-top: 20px;
  padding-left: 0px;
  padding-right: 0px;
}


.faq-cont {
  margin-top: 20px;
  padding-left: 0px;
  padding-right: 0px;
}

.qa-item {
  dd {
    /* padding-inline: calc((2 / 390) * 100vw); */
    font-size: var(--h5-fz) !important;
    text-align: justify !important;
    /* color: var(--clr-white) !important; */
  }
}

/* ---------------------------------- ニュース ---------------------------------- */
/* @media (max-width: 600px) { */
.topics_box {
  width: 100%;
  margin: 2rem auto 0;
  overflow: scroll;
  border: solid 1px #333333;
  height: 400px;
  padding: 0.5rem 0;
  box-sizing: border-box;
}
.topics_box dl {
  padding: 1rem;
  display: block;
  box-sizing: border-box;
  text-align: left;
}
.topics_box dl dt {
  border-top: 1px dotted #cccccc;
  padding-top: 1rem;
  font-weight: bold;
  color: #00153e;
  box-sizing: border-box;
}
.topics_box dl dd {
  margin-top: 0.4rem;
  padding-left: 0;
  line-height: 1.5em;
  box-sizing: border-box;
}
.topics_box dl dd:last-child {
  border-bottom: 1px dotted #cccccc;
}
/* } */

/* ---------------------------- デジタルフォレンジックの調査事例 ---------------------------- */
#case .inner {
  width: 96%;
}
#case .more_btn_2011 {
  margin-top: var(--sp-5);
}
#case .cmn-h2 {
  margin-bottom: var(--sp-5);
}
#case h2.title {
  font-size: 4vw;
  /* text-decoration: none; */
}

/* .case__header {
  margin-bottom: var(--sp-4);

  h3 {
    font-size: var(--h4-fz); 
    font-weight: var(--bold);
    text-align: center;
    text-decoration: underline;
  }
} */

.case__textbox {
  margin-bottom: calc((20 / 390) * 100vw);

  p {
    text-align: center;
    font-weight: var(--bold);
    font-size: var(--body-fz);
    line-height: 1.5;
    letter-spacing: 0;

    span {
      background: linear-gradient(
        to bottom,
        transparent 15%,
        #ffff00 15%,
        #ffff00 95%,
        transparent 95%
      );
    }
  }
}

.case_title {
}

.case_title .sub-title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  font-size: var(--h4-fz);
  line-height: 1.5;
  font-weight: var(--bold);
  text-align: center;
  margin-bottom: var(--sp-5);
}

.case_title .sub-title strong {
  display: block;
  color: var(--clr-main);
  font-weight: var(--black);
  font-size: var(--h2-fz);
}

/* .case_cont */
.case_cont {
  margin: 0 auto;
  background-color: #f8f8f8;
  /* padding: 18.3px 16px; */
  margin-bottom: var(--sp-4);
}

.case_cont-header {
  position: relative;
  display: flex;
  gap: 0.8vw;
}
.case_cont-header::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  left: 0;
  bottom: 0;
  background-color: #2f4365;
  border-radius: 4px;
}
.case_cont-tab .img {
  width: 12vw;
  margin: 0 auto;
}

.case_cont-tab .img img {
  max-width: 100%;
}

.case_cont-tab .ttl {
  font-size: 10px;
  font-weight: var(--bold);
  /* color: var(--clr-main); */
  color: var(--clr-txt);
  margin-bottom: var(--sp-1);
  text-align: center;
}

.case_cont-header .case_cont-tab {
  flex: 1;
  text-align: center;
  padding: var(--sp-05) 1px;
  padding-top: 19px;
  cursor: pointer;
  font-weight: bold;
  border: 2px solid #eaeaea;
  /* 左右下のボーダー */
  border-top: none;
  /* 上のボーダーを削除 */
  border-radius: 10px 10px 0 0;
  /* 上の角だけ丸くする */
  opacity: 0.6;
  position: relative;
  /* 擬似要素のために必要 */
  background-color: #fff;
  /* 背景色を追加 */
  display: grid;
  justify-content: center;
  align-items: center;
}
.case_cont-header .case_cont-tab::before {
  content: "";
  position: absolute;
  top: 0;
  left: -2px;
  right: 0;
  width: calc(100% + 4px);
  height: 11px;
  /* background-color: var(--clr-main); */
  background-color: #1f294a;
  border-radius: 10px 10px 0 0;
  z-index: 2;
}

.case_cont-header .case_cont-tab.active {
  position: relative;
  opacity: 1;
  background-color: #eaeaea;
  z-index: 2;
}

.case_cont-header .case_cont-tab.active::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: -3px;
  right: 0;
  width: calc(100% + 6px);
  height: 5px;
  background-color: #eaeaea;
  /* border-radius: 10px 10px 0 0; */
  z-index: 2;
}

.case_cont-content {
  display: none;
  background-color: #eaeaea;
  padding: var(--sp-2);
}

.case_cont-content.active {
  display: block;
}

.case_cont-consult-box,
.case_cont-ddf-box {
  padding: var(--sp-2);
  background: var(--clr-white);
}

.case_cont-consult-title {
  width: fit-content;
  /* background-color: var(--clr-main); */
  background-color: #1f294a;
  color: var(--clr-white);
  font-size: var(--h6-fz);
  font-weight: var(--bold);
  padding: var(--sp-05) var(--sp-1);

  margin-bottom: 3vw;
}

.case_cont-ddf-title {
  width: fit-content;
  background-color: #1facd4;
  color: var(--clr-white);
  font-size: var(--h6-fz);
  padding: var(--sp-05) var(--sp-1);
  font-weight: bold;
  margin-bottom: 3vw;
}

.case_cont-inner {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}

.case_cont-inner > div {
  flex: 1;
}

/* .more_btn_2011 */
.more_btn_2011 {
  /* zoom: 80%; */
}
.more_btn_2011 a {
  width: fit-content;
  display: block;
  margin: 0 auto;
}

/* ---------------------------------- お役立ち資料 ---------------------------------- */
.res {
  .res__list {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-1);
    padding-bottom: 10px;
  }

  .res__item {
    width: 50%;
    /* width: min(100%, 300px); */
    &:nth-of-type(3) {
      display: none;
    }
  }

  .res__item-link {
    background-color: var(--clr-white);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column nowrap;

    &:hover {
      opacity: 0.8;

      .res__item-tbox img {
        transform: scale(1.05);
      }
    }
  }

  .res__item-tbox,
  .res__item-bbbox {
    width: 100%;
  }

  .res__item-tbox {
    padding: calc((10 / 390) * 100vw);
    background-color: #f8f7f6;

    img {
      transition: transform 0.3s ease-in-out;
      box-shadow: 0 0 calc((10 / 390) * 100vw) rgba(0, 0, 0, 0.5);
      display: block;
      margin-inline: auto;
    }
  }

  .res__item-bbox {
    padding: calc((16 / 390) * 100vw);
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column nowrap;

    ul {
      display: flex;
      justify-content: start;
      align-items: center;
      flex-flow: row wrap;
      gap: calc((2 / 390) * 100vw);
      margin-bottom: calc((4 / 390) * 100vw);
    }

    li {
      padding: calc((2 / 390) * 100vw) calc((7 / 390) * 100vw);
      color: var(--clr-white);
      background-color: #ff6600;
      text-align: center;
      width: fit-content;
      border-radius: 100px;
      font-size: calc((11 / 390) * 100vw);
      font-weight: var(--medium);
    }
  }

  .res__item-header {
    h4 {
      font-size: calc((16 / 390) * 100vw);
      line-height: 1.2;
      font-weight: var(--medium);
      margin-bottom: calc((8 / 390) * 100vw);
      color: #333333;
    }
  }

  .res__item-textbox {
    margin-bottom: calc((16 / 390) * 100vw);

    p {
      font-size: calc((12 / 390) * 100vw);
      text-align: left;
      font-weight: var(--medium);
    }
  }

  .res__item-button {
    width: 100%;
    display: block;
    background-color: #191f4d;
    padding: calc((10 / 390) * 100vw) 0;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-block: auto 0;
    border-radius: calc((4 / 390) * 100vw);

    p {
      color: var(--clr-white);
      font-size: calc((10 / 390) * 100vw);
      font-weight: var(--medium);
      text-align: center;

      &::after {
        content: "➔";
        margin-left: calc((10 / 390) * 100vw);
      }
    }
  }
}
