@charset "utf-8";

/* ================================================
   会員規約ページ
   ================================================ */
.terms {
  background-color: #fff;
  border-radius: 0.6rem;
  padding: 4rem 2rem 5rem;
  margin-top: clamp(5rem, 1.4921rem + 0.8995vw, 8.4rem);
}

/* イントロ文 */
.terms__intro {
  text-align: center;
  font-size: var(--fluid-14-16);
  line-height: 1.8;
}

/* 章見出し */
.terms__chapter {
  font-size: var(--fluid-20-24);
  text-align: center;
  margin-top: clamp(3.4rem, 0.3048rem + 0.7937vw, 6.4rem);
}

/* 条文ブロック */
.terms__article {
  margin-top: clamp(2rem, 5.0476rem + -0.3968vw, 3.5rem);
}

/* 条文見出し */
.terms__article-heading {
  background-color: #fff;
  border-block: 1px solid var(--c-gray02);
  padding: 1rem 0;
  font-size: var(--fluid-16-18);
}

/* 条文内容 */
.terms__article-content {
  font-size: var(--fluid-14-16);
  padding: 1rem 0;
  line-height: 1.8;
}

.terms__article-content>*:first-child {
  margin-top: 0;
}

.terms__article-content p {
  margin-top: 0;
}

.terms__article-content p+p {
  margin-top: 0.5rem;
}

/* 番号付きリスト（1, 2, 3...） */
.terms__list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: terms-counter;
}

.terms__list>li {
  position: relative;
  padding-left: 1.6rem;
  line-height: 1.8;
  counter-increment: terms-counter;
}

.terms__list>li::before {
  content: counter(terms-counter);
  position: absolute;
  left: 0;
}

.terms__list>li+li {
  margin-top: 0.5rem;
}

/* サブリスト（(1), (2), (3)...） */
.terms__sublist {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 0.5rem;
  counter-reset: terms-sub-counter;
}

.terms__sublist>li {
  line-height: 1.8;
  counter-increment: terms-sub-counter;
}

.terms__sublist>li::before {
  content: "(" counter(terms-sub-counter) ") ";
}

.terms__sublist>li+li {
  margin-top: 0.3rem;
}

/* ネストされたサブリスト（terms__list内のterms__sublist） */
.terms__list .terms__sublist {
  margin-top: 0.3rem;
  margin-left: 0;
}

/* 中見出し（個人情報の取扱い等で使用） */
.terms__subheading {
  font-size: var(--fluid-16-18);
  font-weight: bold;
  margin-top: 2rem;
  margin-bottom: 0.8rem;
}

/* 定義リスト（窓口情報等） */
.terms__definition {
  margin-top: 1rem;
  margin-bottom: 0;
}

.terms__definition>dt {
  font-weight: bold;
}

.terms__definition>dd {
  margin-left: 0;
  margin-top: 0.3rem;
}

/* 最終改定日 */
.terms__date {
  font-size: var(--fluid-14-16);
  margin-top: 4rem;
}

/* CTAボタン */
.terms__cta-btn {
  /* width: 23.4rem; */
  margin-inline: auto;
  margin-top: clamp(4rem, 5.0159rem + -0.1323vw, 4.5rem);
  white-space: nowrap;
  grid-template-columns: 3rem 1fr 3rem;
}

@media (min-width: 768px) {
  .terms {
    padding: 4.5rem 10rem 8.5rem;
  }

  .terms__article-heading {
    padding: 1rem 0;
  }

  .terms__article-content {
    padding: 2.4rem 0;
  }

  .terms__date {
    margin-top: 4rem;
    padding-left: 0rem;
  }

  .terms__cta-btn {
    width: 44rem;
  }
}