.container,
.terms-container,
.notfound-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 64px;
  background-color: #2a2a2a;
  flex-grow: 1;

  .main-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 100px 0;
    width: 100%;
    height: auto;
    background: url("../img/MainVisual.jpg");
    object-fit: cover;
    background-size: cover;

    &::before {
      /* 透過した黒を上から重ねるイメージ */
      background-color: rgba(0, 0, 0, 0.45);
      /* 自由に位置指定 */
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      content: "";
      z-index: 1;
    }

    img {
      position: relative;
      width: 100%;
      height: auto;
      max-width: 250px;
      z-index: 2;
    }
  }

  .intro {
    flex-direction: column;
    max-width: 800px;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 40px 0px;
    background-color: #2a2a2a;
    display: inline-flex;
    position: relative;
    flex: 0 0 auto;
  }

  .summery {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    position: relative;
    flex: 0 0 auto;
  }

  .text-wrapper {
    width: fit-content;
    margin: 4px auto;
    background: linear-gradient(
      90deg,
      rgba(232, 223, 61, 1) 0%,
      rgba(195, 138, 48, 1) 100%
    );
    -webkit-background-clip: text !important;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: "Noto Sans JP-Bold", Helvetica;
    font-weight: 700;
    color: transparent;
    font-size: 24px;
    line-height: normal;
    letter-spacing: 0;
  }

  .div-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 0 0 auto;
  }

  .text-wrapper-3 {
    margin-top: -1px;
    font-family: "Noto Sans JP-Regular", Helvetica;
    font-weight: 400;
    text-align: center;
    line-height: 24px;
    position: relative;
    width: fit-content;
    color: #ffffff;
    font-size: 16px;
    letter-spacing: 0;
  }

  .frame-2 {
    display: flex;
    flex-direction: column;
    max-width: 900px;
    align-items: center;
    gap: 24px;
    padding: 8px;
    position: relative;
    width: 100%;
    flex: 0 0 auto;
  }

  .frame-3 {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    padding: 16px 0px;
    position: relative;

    width: 100%;
  }

  .frame-4 {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 280px;
    align-items: center;
    gap: 16px;
    margin: 0 auto;
    padding: 8px;

    .img-wrapper img {
      padding: 10px 0 0;
    }
  }

  .text-wrapper-4 {
    font-family: "Noto Sans JP-Bold", Helvetica;
    font-weight: 700;
    color: #ffffff;
    font-size: 20px;
    line-height: normal;
    position: relative;
    width: fit-content;
    letter-spacing: 0;
  }

  .text-wrapper-5 {
    margin-left: -4px;
    margin-right: -4px;
    font-family: "Noto Sans JP-Regular", Helvetica;
    font-weight: 400;
    color: #ffffff;
    font-size: 16px;
    line-height: 20px;
    position: relative;
    width: fit-content;
    letter-spacing: 0;
  }

  .frame-5 {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 280px;
    align-items: center;
    gap: 16px;
    margin: 0 auto;
    padding: 8px;
  }

  .contents-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0px 20px;
    position: relative;
    flex: 0 0 auto;
  }

  .contents {
    position: relative;
    width: 60px;
    height: 100px;
  }

  .text-wrapper-6 {
    font-family: "Noto Sans JP-Regular", Helvetica;
    font-weight: 400;
    color: #ffffff;
    font-size: 16px;
    line-height: 20px;
    position: relative;
    width: fit-content;
    letter-spacing: 0;
  }

  .frame-6 {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 280px;
    align-items: center;
    gap: 16px;
    margin: 0 auto;
    padding: 8px;
  }

  .img-wrapper {
    width: auto;
    height: 100px;
    padding: 0px 7px;

    img {
      width: 100%;
      max-width: 100px;
      height: auto;
      max-height: 100px;
      filter: invert(100%);
      object-fit: contain;
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }

  .contents-2 {
    position: relative;
    width: 86px;
    height: 99px;
  }

  .frame-7 {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
    padding: 0px 16px;
    gap: 24px;
    position: relative;
    flex: 0 0 auto;
  }

  .frame-wrapper {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    position: relative;
    flex: 0 0 auto;
  }

  .frame-8 {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
  }

  .frame-9 {
    position: relative;
    width: 100%;
    max-width: 360px;
    height: auto;
    background-image: url(./img/frame-5-2.svg);
    background-size: cover;
    background-position: 50% 50%;

    img {
      width: 100%;
      height: auto;
    }
  }

  .frame-10 {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 360px;
    align-items: flex-start;
    gap: 16px;
    padding: 8px 14px;
    position: relative;
  }

  .text-wrapper-7 {
    margin-top: -1px;
    font-family: "Noto Sans JP-Bold", Helvetica;
    font-weight: 700;
    color: #ffffff;
    font-size: 20px;
    line-height: 24px;
    position: relative;
    letter-spacing: 0;
  }

  .text-wrapper-8 {
    font-family: "Noto Sans JP-Regular", Helvetica;
    font-weight: 400;
    color: #ffffff;
    font-size: 16px;
    line-height: 24px;
    position: relative;
    letter-spacing: 0;
  }

  .frame-11 {
    position: relative;
    width: 100%;
    max-width: 360px;
    height: auto;
    background-image: url(./img/frame-5.svg);
    background-size: cover;
    background-position: 50% 50%;

    img {
      width: 100%;
      height: auto;
    }
  }

  .text-wrapper-9 {
    margin-top: -1px;
    font-family: "Noto Sans JP-Bold", Helvetica;
    font-weight: 700;
    color: #ffffff;
    font-size: 20px;
    line-height: 24px;

    position: relative;
    width: fit-content;
    letter-spacing: 0;
  }

  .frame-12 {
    position: relative;
    width: 100%;
    max-width: 360px;
    height: auto;
    background-image: url(./img/frame-5.png);
    background-size: cover;
    background-position: 50% 50%;

    img {
      width: 100%;
      height: auto;
    }
  }

  .frame-13 {
    display: flex;
    flex-direction: column;
    max-width: 700px;
    align-items: center;
    gap: 24px;
    padding: 16px 0px;
    position: relative;
    width: 100%;
    flex: 0 0 auto;
  }

  .frame-14 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 48px 0px;
    position: relative;

    width: 100%;
    flex: 0 0 auto;
  }

  .frame-15 {
    display: flex;
    width: 100%;
    height: auto;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    position: relative;
  }

  .text-wrapper-10 {
    margin-top: -1px;
    font-family: "Times New Roman-Bold", Helvetica;
    font-weight: 700;
    color: #ffffff;
    font-size: 40px;
    line-height: normal;

    position: relative;
    width: fit-content;
    letter-spacing: 0;
  }

  .text-wrapper-11 {
    font-family: "Times New Roman-Bold", Helvetica;
    font-weight: 700;
    color: #ffffff;
    font-size: 32px;
    line-height: normal;

    position: relative;
    width: fit-content;
    letter-spacing: 0;
  }

  .frame-16 {
    position: relative;
    width: 237px;
    height: 42px;
  }

  .frame-17 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: absolute;
    top: 0;
    left: 0;
  }

  .text-wrapper-12 {
    margin-top: -1px;
    font-family: "Noto Sans JP-Regular", Helvetica;
    font-weight: 400;
    color: #ffffff;
    font-size: 14px;
    line-height: normal;
    position: relative;
    width: fit-content;
    letter-spacing: 0;
  }

  .frame-18 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: absolute;
    top: 25px;
    left: 28px;
  }

  .faq {
    width: 100%;
    max-width: 650px;
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 0px 8px;
    flex: 0 0 auto;
    flex-direction: column;
    position: relative;
  }

  .frame-19 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    position: relative;

    width: 100%;
    flex: 0 0 auto;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-color: #ffffff;
  }

  .text-wrapper-13 {
    font-family: "Noto Sans JP-Bold", Helvetica;
    font-weight: 700;
    line-height: normal;

    position: relative;
    width: fit-content;
    color: #ffffff;
    font-size: 16px;
    letter-spacing: 0;
  }

  .frame-20 {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 8px;
    position: relative;
    flex: 0 0 auto;
  }

  .frame-21 {
    display: inline-flex;
    align-items: flex-start;
    padding: 8px;
    gap: 24px;
    position: relative;
    flex: 0 0 auto;
  }

  .frame-22 {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 16px;
  }

  .group {
    height: auto;
    width: 100%;
    max-width: 300px;
  }

  .tippi {
    font-family: "Noto Sans JP-Regular", Helvetica;
    font-weight: 400;
    color: #ffffff;
    font-size: 16px;
    text-align: center;
    line-height: 24px;
    width: fit-content;
    letter-spacing: 0;
  }

  .group-2 {
    height: auto;
    width: 100%;
    max-width: 300px;
  }

  .frame-23 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    flex: 0 0 auto;
  }

  .footer {
    display: flex;
    height: auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px;
    width: 100%;
    background-color: #494949;
  }

  .frame-24 {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px;
    position: relative;
    flex: 0 0 auto;
  }

  .text-wrapper-14 {
    margin-top: -1px;
    font-family: "Noto Sans JP-Regular", Helvetica;
    font-weight: 400;
    color: #ffffff;
    font-size: 12px;
    text-align: center;
    line-height: normal;

    position: relative;
    width: fit-content;
    letter-spacing: 0;
  }

  .qa-6 {
    width: 100%;
    max-width: 650px;
    margin-bottom: 5px;
    border-bottom: 2px solid #d6dde3;
  }

  .qa-6 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
  }

  .qa-6 summary::before,
  .qa-6 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
  }

  /* .qa-6 summary::before {
    color: #75bbff;
    content: "Q";
  } */

  .qa-6 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: "";
    transition: transform 0.5s;
  }

  .qa-6[open] summary::after {
    transform: rotate(225deg);
  }

  .qa-6 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 1em 1.5em;
    line-height: 1.4;
    color: #fff;
    transition: transform 0.5s, opacity 0.5s;
  }

  .qa-6[open] p {
    transform: none;
    opacity: 1;
  }

  /* .qa-6 p::before {
    color: #ff8d8d;
    line-height: 0.9;
    content: "A";
  } */
}

a {
  color: #fff;
  text-decoration: none;
}

/* 規約/404ページスタイル */
.terms-container,
.notfound-container {
  .content-head-section {
    width: 100%;
    padding: 24px 0;
    border-bottom: 1px solid #8c8c8c;
    .logo-image {
      margin: 0 auto;

      img {
        display: block;
        position: relative;
        width: 100%;
        height: auto;
        max-width: 128px;
        margin: 0 auto;
      }
    }
  }

  .terms-wrapper {
    width: 100%;
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    color: #fff;

    .breadcrumb-nav {
      color: #fff;

      .breadcrumb-item ~ .current {
        font-weight: bold;
      }
    }
    div.tab-navigation {
      display: flex;
      flex-wrap: wrap;

      input {
        display: none;
      }

      div {
        display: none;
        width: 100%;
        padding: 1.5em 1em;
      }

      .terms-text {
        h2 {
          margin: 40px auto;
          text-align: center;
          font-size: 1.5rem;
          width: fit-content;
          background: linear-gradient(
            90deg,
            rgba(232, 223, 61, 1) 0%,
            rgba(195, 138, 48, 1) 100%
          );
          -webkit-background-clip: text !important;
          background-clip: text;
          -webkit-text-fill-color: transparent;
          /* font-family: "Noto Sans JP-Bold", Helvetica; */
          font-weight: 700;
          color: transparent;
          letter-spacing: 0;
        }

        h3 {
          margin: 16px auto;
          font-weight: bold;
        }

        .terms-details,
        .terms-text {
          .terms-article {
            margin: 48px auto;

            p {
              line-height: 1.5;
            }
          }
        }
      }
    }

    .tab-navigation > label {
      flex: 1;
      order: -1;
      min-width: 70px;
      padding: 0.7em 0.2em 1.5em;
      color: #999;
      font-weight: 600;
      font-size: 1em;
      text-align: center;
      cursor: pointer;

      &:hover {
        opacity: 0.8;
      }

      &:has(:checked) {
        border-bottom: 1px solid #fff;
        color: #fff;

        + div {
          display: block;
        }
      }
    }

    main.content-section {
      .content-title {
        margin: 24px auto;
        text-align: center;
        font-size: 1.5rem;
        width: fit-content;
        background: linear-gradient(
          90deg,
          rgba(232, 223, 61, 1) 0%,
          rgba(195, 138, 48, 1) 100%
        );
        -webkit-background-clip: text !important;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        font-family: "Noto Sans JP-Bold", Helvetica;
        font-weight: 700;
        color: transparent;
        letter-spacing: 0;
      }
      .terms-text {
        line-height: 1.5;
      }
    }
  }

  .notfound {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex-grow: 1;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    justify-content: center;

    h1 {
      /* margin: 24px auto; */
      font-size: 4rem;
      font-weight: bold;
    }

    p {
      font-size: 1.25rem;
    }
  }
}

/* 画面サイズ 600px 未満 */
@media (width < 600px) {
  /* スタイルルール */
  .container {
    .main-visual {
      background-position: center;
    }

    .text-wrapper {
      font-size: 20px;
    }

    .frame-3 {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    .frame-8 {
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    .frame-10 {
      padding: 8px 0px;
    }
  }

  .terms-container .terms-wrapper {
    .tab-navigation > label {
      font-size: 0.75em;
    }

    .breadcrumb-nav {
      margin: 0 16px;
    }
    .notfound {
      h1 {
        font-size: 2rem;
      }
    }
  }

  .terms-container {
    gap: 40px;
  }

  .notfound-container {
    .notfound {
      h1 {
        font-size: 2rem;
      }

      p {
        font-size: 1rem;
      }
    }
  }
} /* スマホ設定 END */
