@charset "UTF-8";
:root {
  --primary: #61C0BF;
  --secondary: #BBDED6;
  --tertiary: #FAE3D9;
  --annotations: #FFB6B9;
  --font: #333333;
}

/*
  利用規約・プライバシーポリシー・特定商取引法・ご利用ガイド
  共通スタイル
*/
.legal-doc {
  max-width: 640px;
  margin: 0 auto;
  color: var(--font);
  font-size: 15px;
  line-height: 1.9;
}

@media (min-width: 1030px) {
  .legal-doc {
    max-width: 780px;
  }
}
.legal-lead {
  margin: 0 0 2rem;
}

/* 大見出し（■ で始まっていた章タイトル） */
.legal-section-title {
  font-size: 19px;
  font-weight: 700;
  margin: 3rem 0 1.5rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid var(--primary);
}

.legal-section-title:first-child {
  margin-top: 0;
}

/* 条文ひとつのまとまり */
.legal-article {
  margin-top: 2rem;
}

.legal-article-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 0.75rem;
  padding-left: 10px;
  border-left: 3px solid var(--primary);
}

.legal-body {
  margin: 0;
}

/* 条文内の箇条書き・番号リスト */
.legal-list {
  margin: 0;
  padding-left: 1.5em;
}

.legal-list li + li {
  margin-top: 0.4em;
}

.legal-list.legal-list--numbered li::marker {
  color: var(--primary);
  font-weight: 700;
}

/* ※ 補足事項 */
.legal-note {
  margin: 0.75rem 0 0;
  padding-left: 0.75em;
  border-left: 2px solid #ccc;
  color: #6b6b6b;
  font-size: 13px;
}

/* 連絡先・所在地などの情報ボックス */
.legal-box {
  margin-top: 0.5rem;
  padding: 1rem 1.25rem;
  background-color: #f7f7f7;
  border-radius: 4px;
}

.legal-box p {
  margin: 0;
}

.legal-box p + p {
  margin-top: 0.25rem;
}

.legal-footer {
  margin-top: 3rem;
  color: #777777;
  font-size: 14px;
  text-align: right;
}

@media (max-width: 767px) {
  .legal-doc {
    font-size: 14px;
    line-height: 1.8;
  }
  .legal-section-title {
    font-size: 18px;
    margin: 2.5rem 0 1.25rem;
  }
  .legal-article {
    margin-top: 1.5rem;
  }
  .legal-article-title {
    font-size: 15px;
  }
}
