/* ============================================================
   12-privacy（プライバシーポリシー）固有CSS
   - ページ全体が濃紺ソリッド（#10203b）・白文字
   - 固定青背景は使わない（対象外ページ）
   - FVは .subfv--solid（common.css）、ヘッダーは site-header--solid
   ============================================================ */

/* ページ全体を濃紺地に（FV〜本文を一続きの濃紺面に） */
body[data-page="privacy"]{
  background:var(--c-main);
  color:var(--c-white);
}

/* FVタイトルのテキストグラデを濃紺地向けに上書き（淡色→青で視認性確保）。
   common.css の .tgrad 既定は最終色 #2b5eb4 で濃紺地上は暗く沈むため、
   本ページFVは明色起点のグラデに差し替える（カンプ準拠：#C1C9EA→#2B5EB4）。 */
body[data-page="privacy"] .subfv__title.tgrad{ color:#c1c9ea }
.js body[data-page="privacy"] .subfv__title.tgrad{
  /* カンプの対角グラデ（左上=明 #C1C9EA → 右下=青 #2B5EB4）。上書きは色(background-image)のみ。
     size/position は共通 .js .tgrad（200% 100% / position-x:100% / no-repeat）を継承＝単一ソース。
     sweep(tgradSweep)で position-x 100%→0% に流れ、どちらの位置でも濃紺地で視認できる明度域に収める。 */
  background-image:linear-gradient(100deg, #c1c9ea 0%, #d7ddf2 45%, #5a86d6 78%, #2b5eb4 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
@media (prefers-reduced-motion:reduce){
  .js body[data-page="privacy"] .subfv__title.tgrad{
    background:none; color:#c1c9ea; -webkit-text-fill-color:#c1c9ea;
  }
}

/* FV：Figma hero(2414:11521)は h237・pt104・pb0（パンくず無しのコンパクト型）。
   common の .subfv--solid 既定（pt84/pb72）は本ページのFigmaと異なるため
   ページスコープで寸法のみ上書き（contact/recruit も同型なら共通側で変数化が本筋→レポート記載）。
   pb はタイトル/eyebrow の text-box-trim 後の実高との差分補正（総高237に合わせる）。 */
body[data-page="privacy"] .subfv--solid{
  padding-top:104px;
  padding-bottom:19px;
  min-height:0;
}
@media (max-width:1023px){
  body[data-page="privacy"] .subfv--solid{ padding-top:72px; padding-bottom:24px; min-height:0 }
}
@media (max-width:767px){
  body[data-page="privacy"] .subfv--solid{ padding-top:56px; padding-bottom:24px; min-height:0 }
}

/* 本文セクション：FVと地続きの濃紺。上の余白はFVが持つので詰める */
.privacy{
  background:var(--c-main);
  padding-top:88px;
  padding-bottom:160px;
}
@media (max-width:1023px){ .privacy{ padding-top:64px; padding-bottom:112px } }
@media (max-width:767px){ .privacy{ padding-top:48px; padding-bottom:80px } }

/* 本文ラッパ：カンプは内容幅1094px（コンテナ1208px内で中央寄せ） */
.privacy__wrap{
  max-width:1094px;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:48px;
  color:var(--c-white);
}
@media (max-width:767px){ .privacy__wrap{ gap:36px } }

/* 導入文 */
.privacy__intro{
  font-size:var(--fz-body);
  line-height:var(--lh-body);
  letter-spacing:1px;
}

/* 各条項ブロック：Figma(2416:5551等)＝見出し・段落群・リストの各ブロック間24px、
   連続する段落同士は同一テキストブロック（行送りのみ・間隔0）。
   flex gap だと段落間にも24pxが入るため、ブロックフロー＋隣接結合で再現する */
.privacy__sec{
  display:block;
}
.privacy__sec > * + *{ margin-top:24px }
.privacy__sec p + p{ margin-top:0 }
@media (max-width:767px){ .privacy__sec > * + *{ margin-top:16px } .privacy__sec p + p{ margin-top:0 } }

/* 条項見出し（H4=24px Bold）：Figmaはtext-box-trim(cap/alphabetic)で上下の空白を刈る（box高18px） */
.privacy__heading{
  font-size:var(--fz-h4);
  line-height:var(--lh-h4);
  font-weight:700;
  letter-spacing:1px;
  color:var(--c-white);
  text-box-trim:trim-both;
  text-box-edge:cap alphabetic;
}
@media (max-width:767px){ .privacy__heading{ font-size:20px } }

/* 本文段落 */
.privacy__sec p{
  font-size:var(--fz-body);
  line-height:var(--lh-body);
  letter-spacing:1px;
  color:var(--c-white);
}

/* 番号付きリスト（カンプ＝十進・インデント24px・行間詰め＝8行連続 231px） */
.privacy__list{
  list-style:decimal;
  padding-left:24px;
  margin:24px 0 0;  /* 先行段落との間24px（Figma sec2: p→ol=24。.privacy__sec > * + * と同特異度のため明示） */
  display:flex;
  flex-direction:column;
  gap:0;
}
.privacy__list li{
  font-size:var(--fz-body);
  line-height:var(--lh-body);
  letter-spacing:1px;
  color:var(--c-white);
  padding-left:4px;
}

/* お問い合わせ窓口（定義リスト：ラベル＝太字18px、値＝16px） */
.privacy__contact{
  display:flex;
  flex-direction:column;
  gap:24px;
  margin:24px 0 0;  /* 先行段落との間24px（Figma sec9: p→事業者ブロック=24。同上の特異度対策で明示） */
}
.privacy__contact-row{
  display:flex;
  flex-direction:column;
  gap:0;
}
.privacy__contact dt{
  font-weight:700;
  font-size:var(--fz-lead);   /* 18px */
  line-height:1.8;
  letter-spacing:1px;
  color:var(--c-white);
}
.privacy__contact dd{
  margin:0;
  font-size:var(--fz-body);   /* 16px */
  line-height:1.8;
  letter-spacing:1px;
  color:var(--c-white);
}
.privacy__contact dd a{
  color:var(--c-white);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:opacity .2s ease;
}
.privacy__contact dd a:hover{ opacity:.7 }

/* 制定日（右寄せ） */
.privacy__date{
  text-align:right;
  font-size:var(--fz-body);
  line-height:var(--lh-body);
  letter-spacing:1px;
  color:var(--c-white);
}
@media (max-width:767px){ .privacy__date{ text-align:left } }
