/* ===== page-privacy.css ｜ プライバシーポリシー（Figma 14486:42119）=====
   デザイン言語: 色/書体トークンは base.css。英大見出し＋和ラベルのペア、共通ボタン(.btn)、コンテンツ幅1200中央（--pad-side）を全ページで使い回す。 */

.lfv__en--privacy{letter-spacing:-.9px}   /* インク幅 Figma 607px に合わせて実測補正 */
/* Figma は各テキストボックス高を整数に丸めるため、小数の行高（19.2/38.4）を整数に固定して累積ズレを防ぐ */
.lfv .breadcrumb li{line-height:19px}
.lfv .lfv__label{line-height:38px}

/* --- 本文: base3 / pt80 px120 pb160 / 885px 中央 --- */
.policy{width:100%;padding:80px var(--pad-side) var(--sp-section-gap);background:var(--c-base3);overflow:hidden}
.policy__inner{display:flex;flex-direction:column;align-items:flex-end;gap:40px;width:885px;max-width:100%;margin-inline:auto}
.policy__article{display:flex;flex-direction:column;align-items:flex-start;gap:48px;width:100%}
.policy__intro,.policy-item__body p{width:100%;font-size:var(--fs-body-m);font-weight:400;line-height:2;letter-spacing:.16px}
/* Chrome は 16px Noto の字面が Figma より 1px 下に出る（実測）→ 本文のみ 1px 引き上げて画素照合を合わせる */
.policy-item__body p,.policy-list__text,.policy__sign{position:relative;top:-1px}
/* 記事パーツ: 見出し24px → 本文（gap24） */
.policy-item{display:flex;flex-direction:column;align-items:flex-start;gap:24px;width:100%}
.policy-item__title{font-size:var(--fs-h4);font-weight:500;line-height:38px;letter-spacing:.24px;white-space:nowrap}
.policy-item__body{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%}
/* 箇条書き: 「・」は Lato SemiBold 16px lh32px 青、本文16px lh1.6（行高32） */
.policy-list{display:flex;flex-direction:column;align-items:flex-start;width:100%}
.policy-list li{display:flex;align-items:center;gap:4px;font-size:var(--fs-body-m);white-space:nowrap}
.policy-list__dot{font-family:var(--font-en);font-weight:600;line-height:32px;color:var(--c-text-sub);font-feature-settings:normal}
.policy-list__text{font-weight:400;line-height:26px;letter-spacing:.16px}
/* 窓口の表: th 279px 白 px32 py16 / td px32 py8 / 罫線 #c2cde0 */
/* Figma の罫線は内側ストロークで高さに加算されない → 1行58px（罫線込み）×4＝232px になるよう separate で組む */
.policy-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-body-m);letter-spacing:.16px}
.policy-table th,.policy-table td{border-bottom:1px solid var(--c-border);line-height:1.6;text-align:left;vertical-align:middle}
.policy-table tr:first-child th,.policy-table tr:first-child td{border-top:1px solid var(--c-border);padding-top:15px}
.policy-table th{width:279px;padding:16px 32px;background:var(--c-base);border-right:1px solid var(--c-border);font-weight:500;line-height:25px;white-space:nowrap}
.policy-table td{padding:8px 32px;font-weight:400}
.policy__sign{font-size:var(--fs-body-m);font-weight:400;line-height:2;letter-spacing:.16px;text-align:right;white-space:nowrap}

/* ===== SP（768px以下）: SPカンプ無し → TOP-SP（375）のルール（左右24px・SPトークン・1カラム）から導出 ===== */
@media (max-width:768px){
  .lfv__en--privacy{font-size:52px;letter-spacing:-.6px}
  .policy{padding:48px var(--sp-side-m) var(--sp-section-gap)}
  .policy__inner{gap:32px}
  .policy__article{gap:40px}
  .policy__intro,.policy-item__body p{line-height:1.9}
  .policy-item{gap:16px}
  .policy-item__title{line-height:1.6;white-space:normal}
  .policy-list li{align-items:flex-start;white-space:normal}
  .policy-list__dot{line-height:26px}
  .policy-list__text{line-height:26px}
  /* 窓口の表: th を 96px に詰めて2列のまま（スクロールなし） */
  .policy-table th{width:96px;padding:12px;white-space:normal}
  .policy-table td{padding:8px 12px}
  .policy__sign{white-space:normal}
}
