/* =========================================================
 * privacy.css : 「07 プライバシーポリシー」ページ固有スタイル
 * デザイン基準: design-reference/07-privacy-pc.png (1440x6759) / 07-privacy-sp.png
 * 中央コンテンツ幅 1024 / PC左右余白 208px
 * base -> header -> footer -> cta -> privacy -> spcv の順で読み込む
 * ========================================================= */

/* ----- ヒーローサブ（company-hero / legal-hero を踏襲）----- */
.privacy-hero {
  position: relative;
  width: 100%;
  height: 120px; /* Figma SP: par/ヘッダーサブ 375x120（PCは1025+で250） */
  overflow: hidden;
}

@media (min-width: 1025px) {
  .privacy-hero {
    height: 250px;
  }
}

.privacy-hero__bg {
  position: absolute;
  inset: 0;
  background-image: url("../images/privacy/hero.jpg");
  background-size: cover;
  background-position: center;
}

.privacy-hero__content {
  position: relative;
  height: 100%;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-sp);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (min-width: 1025px) {
  .privacy-hero__content {
    padding-inline: 0;
  }
}

.privacy-hero__title {
  font-family: var(--font-en);
  font-weight: 700;
  font-size: 20px; /* Figma SP hero title 20px（PCは1025+で40px） */
  line-height: 1.3;
  letter-spacing: 1.4px;
  color: var(--color-bg-white);
}

@media (min-width: 1025px) {
  .privacy-hero__title {
    font-size: 40px;
    letter-spacing: 2px;
  }
}

/* ----- 共通サブタイトル ----- */
.par-subtitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 15px;
}

.par-subtitle__en {
  font-family: var(--font-en);
  font-weight: 400; /* Figma SP: Privacy policy 14/400/lh24（PCは1025+で16/700/28） */
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0;
  color: var(--color-accent);
}

@media (min-width: 1025px) {
  .par-subtitle__en {
    font-weight: 700;
    font-size: 16px;
    line-height: 28px;
  }
}

.par-subtitle__jp {
  color: var(--color-navy);
}

/* privacy.css は base.css より前に読まれるため、t-h2(24/40) を上書きするには
   特異度を上げる必要がある。Figma SP プライバシーポリシー=20（PCは40=t-h2） */
.par-subtitle .par-subtitle__jp {
  font-size: 20px;
}

@media (min-width: 1025px) {
  .par-subtitle .par-subtitle__jp {
    font-size: 40px;
  }
}

/* ----- 本文セクション ----- */
.privacy {
  background: var(--color-bg-white);
  padding-top: 60px;
  padding-bottom: 100px;
}

@media (min-width: 1025px) {
  .privacy {
    padding-top: 80px;
    padding-bottom: 160px;
  }
}

.privacy-body {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad-sp);
  margin-top: 40px;
}

@media (min-width: 1025px) {
  .privacy-body {
    padding-inline: 0;
    margin-top: 60px;
  }
}

/* 本文共通タイポ（Figma本文ノード: SP 14/lh24/ls0・PC 18/lh32/ls0。paltなし） */
.privacy-body {
  font-family: var(--font-jp);
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0;
  font-feature-settings: normal; /* Figma openTypeFeatures空: 字詰めpaltを無効化 */
  color: var(--color-text-black);
}

@media (min-width: 1025px) {
  .privacy-body {
    font-size: 18px;
    line-height: 32px;
  }
}

/* 導入段落 */
.pv-lead {
  margin-bottom: 8px;
}

/* 各条見出し（h3） */
.pv-heading {
  font-family: var(--font-jp);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: var(--color-text-black);
  margin-top: 44px;
  margin-bottom: 12px;
}

@media (min-width: 1025px) {
  .pv-heading {
    margin-top: 52px;
  }
}

/* 通常段落 */
.pv-para {
  margin-top: 12px;
}

.pv-para:first-child {
  margin-top: 0;
}

/* インデント段落（オプトアウト説明・URL など） */
.pv-para--indent {
  margin-top: 16px;
}

/* 番号付き上位項目（1. 2. …）ハンギングインデント */
.pv-num {
  position: relative;
  margin-top: 16px;
  padding-left: 1.8em;
}

.pv-num__no {
  position: absolute;
  left: 0;
  top: 0;
}

/* 小項目リスト（(1) / （1） …）*/
.pv-sublist {
  margin-top: 10px;
  margin-bottom: 4px;
  padding-left: 1.2em;
  list-style: none;
}

.pv-sublist > li {
  position: relative;
  padding-left: 0;
  margin-top: 4px;
}

.pv-sublist > li:first-child {
  margin-top: 0;
}

.pv-sub-detail {
  display: inline-block;
  padding-left: 1.6em;
}

/* URL の折返し（横溢れ防止） */
.privacy-body a {
  color: var(--color-navy);
  text-decoration: underline;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.privacy-body a:hover {
  color: var(--color-accent);
}

/* 制定日 */
.pv-date {
  margin-top: 48px;
}
