/* ==========================================================
   法務ページ共通スタイル（特定商取引法 / プライバシーポリシー / 利用規約）
   本体LPのデザイン（css/style.css）とは独立させ、
   万一こちらを調整してもLP本体に影響しないようにしている。

   法務ページは「上品さ」より「読みやすさ」を優先する方針のため、
   LP本体より本文の文字を濃く・太く・大きめにし、行間も広めにとっている。

   font-familyはLP本体の実際のcomputed styleを確認して決定：
   LP本体の通常本文（.section-text p等）はvar(--font-body)
   ("Noto Serif JP", "Shippori Mincho", serif)で描画されているため、
   法務ページ全体（タイトル・見出し・本文・リンク）もこの1つの値に統一し、
   bodyだけに指定してh1/h2/p/li/aはすべて継承させている。
   ========================================================== */

:root {
  --legal-bg: #FFFFFF;
  --legal-text: #2A2521;
  --legal-muted: #5B5349;
  --legal-hairline: rgba(42, 37, 33, 0.16);
  --legal-font: "Noto Serif JP", "Shippori Mincho", serif;
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--legal-bg);
  color: var(--legal-text);
  font-family: var(--legal-font);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.9;
  -webkit-font-smoothing: antialiased;
}

.legal-container {
  max-width: 680px;
  margin-inline: auto;
  padding: 48px 24px 80px;
}

.legal-back {
  display: inline-block;
  margin-bottom: 36px;
  font-size: 14px;
  font-weight: 500;
  color: var(--legal-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-back:hover {
  color: var(--legal-text);
}

.legal-title {
  /* font-familyは指定しない＝bodyのvar(--legal-font)をそのまま継承させ、
     法務ページ全体で確実に単一のフォントになるようにしている。 */
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.5;
  margin: 0 0 44px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--legal-hairline);
}

.legal-section {
  margin: 0 0 40px;
}

.legal-section h2 {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.6;
  margin: 0 0 14px;
}

.legal-section p {
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
  white-space: normal;
}

.legal-section p:last-child {
  margin-bottom: 0;
}

.legal-section ul {
  margin: 0 0 16px;
  padding-left: 1.4em;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.9;
}

.legal-section a {
  color: var(--legal-text);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  /* メールアドレス・URLなど長い英数字リンクだけが対象。
     日本語の本文はブラウザの自動折り返しに任せるため、
     ここでのみoverflow-wrapを効かせて画面外へのはみ出しを防ぐ。 */
  overflow-wrap: anywhere;
  word-break: break-word;
}

.legal-note {
  font-size: 13px;
  font-weight: 500;
  color: var(--legal-muted);
  line-height: 1.8;
}

.legal-footer {
  margin-top: 56px;
  padding-top: 24px;
  border-top: 1px solid var(--legal-hairline);
  font-size: 13px;
  font-weight: 500;
  color: var(--legal-muted);
}

@media (max-width: 480px) {
  .legal-container {
    padding: 40px 20px 64px;
  }

  .legal-title {
    font-size: 23px;
  }
}
