/* /privacy 専用（/about と同トーン・最小上書き） */
.page-privacy .company-section { padding: 80px 0; }
@media (max-width: 640px) { .page-privacy .company-section { padding: 48px 0; } }

.page-privacy .policy-content h2,
.page-privacy .policy-content h3 {
  font-weight: 800;
  margin: 24px 0 12px;
}
.page-privacy .policy-content p {
  line-height: 1.9;
  margin: 0 0 16px;
}
.page-privacy .policy-content ul {
  list-style: disc;
  padding-left: 1.5em;
  margin: 0 0 16px;
}
.page-privacy .policy-content li {
  margin: 6px 0;
  line-height: 1.7;
}
.page-privacy .policy-updated {
  margin-top: 16px;
  font-size: .9rem;
  color: #555;
}

/* =========================
   モバイル時の見出し一行固定（<=768px）
   - h1, h2 を折り返さず、省略記号でカット
   - 画面幅に応じて縮小（可読性優先の安全値）
   ========================= */
@media (max-width: 768px) {
  .page-privacy .policy-content h1,
  .page-privacy .policy-content h2 {
    white-space: nowrap;          /* 改行させない */
    overflow: hidden;             /* はみ出し隠す */
    text-overflow: ellipsis;      /* 省略記号… */
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.3;             /* 省略時の高さを安定 */
    margin-top: 20px;             /* 上余白を微調整（任意） */
    
  }
}
@media (max-width: 768px) {
  .page-hero__title,
  .page-hero__subtitle {
    white-space: nowrap;        /* 折り返し禁止 */
    overflow: hidden;           /* はみ出し隠す */
    text-overflow: ellipsis;    /* はみ出したら … に */
    font-size: clamp(16px, 5vw, 20px); /* 自動縮小して幅に収めやすく */
  }
}