@charset "UTF-8";

/* ============================================================================
   Terms of Service Page Styles
   対象ファイル: terms.html
   依存: sanitize.css / global.css
   設計方針: モバイルファースト / global.css CSS変数使用 / 相対単位優先
   クラス命名: privacy-policy.css（pp-プレフィックス）と統一
   ============================================================================ */


/* ============================================================================
   1. ページ全体レイアウト
   ============================================================================ */

.pp-main {
  padding-top: var(--space-10);
  padding-bottom: var(--space-16);
}

@media (min-width: 768px) {
  .pp-main {
    padding-top: var(--space-12);
    padding-bottom: var(--space-20);
  }
}


/* ============================================================================
   2. ページヘッダー（h1）
   ============================================================================ */

.pp-header {
  margin-bottom: var(--space-8);
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-border);
}

.pp-title {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
  margin: 0;
}

@media (min-width: 768px) {
  .pp-title {
    font-size: var(--font-size-3xl);
  }
}


/* ============================================================================
   3. リード文
   ============================================================================ */

.pp-lead {
  margin-bottom: var(--space-10);
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--color-border);
}

.pp-lead p {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin: 0;
}


/* ============================================================================
   4. 条項リスト
   ============================================================================ */

.pp-articles {
  display: flex;
  flex-direction: column;
  gap: 0;
}


/* ============================================================================
   5. 各条項（section）
   ============================================================================ */

.pp-article {
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--color-border);
}

@media (min-width: 768px) {
  .pp-article {
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
  }
}

/* 条項見出し（h2） */
.pp-article__heading {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-gold);
  margin: 0 0 var(--space-4) 0;
  letter-spacing: -0.01em;
}

@media (min-width: 768px) {
  .pp-article__heading {
    font-size: var(--font-size-xl);
  }
}

/* 条項本文エリア */
.pp-article__body {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
}

.pp-article__body p {
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-3) 0;
}

.pp-article__body p:last-child {
  margin-bottom: 0;
}


/* ============================================================================
   6. リスト（箇条書き・番号付き）
   ============================================================================ */

.pp-list {
  margin: 0 0 var(--space-3) 0;
  padding-left: var(--space-4);
}

.pp-list li {
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  margin-bottom: var(--space-1);
  padding-left: var(--space-2);
}

.pp-list li:last-child {
  margin-bottom: 0;
}

/* 箇条書き（・） */
.pp-list--bullet {
  list-style: none;
  padding-left: var(--space-3);
}

.pp-list--bullet li {
  position: relative;
  padding-left: var(--space-3);
}

.pp-list--bullet li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: var(--color-gold);
}

/* 番号付きリスト */
.pp-list--numbered {
  list-style: decimal;
  padding-left: var(--space-5);
}

.pp-list--numbered li::marker {
  color: var(--color-gold);
  font-weight: var(--font-weight-medium);
}


/* ============================================================================
   7. 第6条 免責事項（h3 + 本文）
   ============================================================================ */

.pp-disclaimer {
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

.pp-disclaimer--last {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.pp-disclaimer__heading {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0 0 var(--space-2) 0;
  line-height: var(--line-height-tight);
}

.pp-disclaimer p {
  margin: 0;
}


/* ============================================================================
   8. お問い合わせ（address）
   ============================================================================ */

.pp-contact {
  font-style: normal;
  margin-top: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.pp-contact p {
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-2) 0;
}

.pp-contact p:last-child {
  margin-bottom: 0;
}

.pp-contact__name {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary) !important;
}


/* ============================================================================
   9. フッター（制定日・改定日）
   ============================================================================ */

.pp-footer {
  margin-top: var(--space-10);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.pp-footer p {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  margin: 0 0 var(--space-1) 0;
}

.pp-footer p:last-child {
  margin-bottom: 0;
}

.pp-footer__copyright {
  margin-top: var(--space-3) !important;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
}
