@charset "UTF-8";
/* =====================================================================
   legal.css — 法務・企業情報ページ専用
   対象：プライバシーポリシー / 特定商取引法に基づく表記 / 会社概要
   ※ functions.php で該当ページのみ条件読み込み
   ===================================================================== */

/* ---- プライバシーポリシー・特定商取引法（.legal-page / .legal-table）---- */
.legal-page { max-width: 880px; margin: 0 auto; padding: clamp(100px,20vw,240px) 20px; line-height: 1.9; color: #333; }
  .legal-page__title { font-size: clamp(1.6rem,4vw,2.2rem); font-weight: 700; margin: 0 0 1.2em; text-align: center; letter-spacing: .04em; }
  .legal-page__lead { margin: 0 0 2.4em; }
  .legal-page h2 { font-size: clamp(1.05rem,2.4vw,1.25rem); font-weight: 700; margin: 2.4em 0 .8em; padding-left: .7em; border-left: 4px solid #b8935a; }
  .legal-page p { margin: 0 0 1em; }
  .legal-page ul { margin: 0 0 1.4em; padding-left: 1.4em; }
  .legal-page li { margin-bottom: .5em; list-style: disc; }
  .legal-page__contact { margin-top: 1em; padding: 1.4em 1.6em; background: #fafafa; border: 1px solid #e3e3e3; border-radius: 8px; }
  .legal-page__contact p { margin: 0 0 .3em; }
  .legal-page a { color: #b8935a; text-decoration: underline; }
  .legal-table { width: 100%; border-collapse: collapse; margin-top: 1em; }
  .legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: 1em 1.1em; border-bottom: 1px solid #e3e3e3; }
  .legal-table th { width: 32%; font-weight: 700; background: #fafafa; }
  @media (max-width: 600px) {
    .legal-table th, .legal-table td { display: block; width: 100%; border: none; padding: .6em 0; }
    .legal-table th { background: none; padding-top: 1em; }
    .legal-table tr { display: block; border-bottom: 1px solid #e3e3e3; padding: .4em 0; }
  }

/* ---- 会社概要（.company-profile）---- */
.company-profile { max-width: 880px; margin: 0 auto; padding: clamp(100px,20vw,160px) 20px; }
  .company-profile__title { font-size: clamp(1.6rem,4vw,2.2rem); font-weight: 700; margin: 0 0 1.4em; text-align: center; letter-spacing: .04em; }
  .company-profile__table { width: 100%; border-collapse: collapse; }
  .company-profile__table th,
  .company-profile__table td { text-align: left; vertical-align: top; padding: 1em 1.1em; border-bottom: 1px solid #e3e3e3; line-height: 1.8; }
  .company-profile__table th { width: 30%; font-weight: 700; color: #333; background: #fafafa; white-space: nowrap; }
  .company-profile__table td { color: #444; }
  .company-profile__table a { color: #b8935a; text-decoration: underline; }
  @media (max-width: 600px) {
    .company-profile__table th,
    .company-profile__table td { display: block; width: 100%; border: none; padding: .6em 0; }
    .company-profile__table th { background: none; padding-top: 1em; }
    .company-profile__table tr { display: block; border-bottom: 1px solid #e3e3e3; padding: .4em 0; }
  }
