/* ===========================================
   Page — Privacy Policy (privacy.html)
   =========================================== */

.policy         { padding: 70px 0 120px; }
.policy-inner   { max-width: 880px; margin: 0 auto; padding: 0 20px; }

.policy-title   { font-size: 32px; font-weight: 700; color: var(--color-heading); margin-bottom: 36px; }
.policy-lead    { font-size: 14.5px; color: var(--color-text-soft); line-height: 1.9; margin-bottom: 56px; text-align: left; }

.policy-article {
  padding-top: 36px; margin-top: 36px;
  text-align: left;
}
.policy-article:first-of-type { padding-top: 0; margin-top: 0; }
.policy-article-title { font-size: 18px; font-weight: 700; color: var(--color-heading); margin-bottom: 18px; }

.policy-text             { font-size: 14.5px; color: var(--color-text-soft); line-height: 1.9; margin-bottom: 16px; }
.policy-text:last-child  { margin-bottom: 0; }

.policy-list,
.policy-olist  { margin: 0 0 16px; padding-left: 0; }

.policy-list li {
  position: relative;
  font-size: 14.5px; color: var(--color-text-soft); line-height: 1.9;
  padding-left: 1.2em;
}
.policy-list li::before { content: "・"; position: absolute; left: 0; }

.policy-olist {
  counter-reset: policy-num;
  list-style: none;
}
.policy-olist > li {
  position: relative;
  counter-increment: policy-num;
  font-size: 14.5px; color: var(--color-text-soft); line-height: 1.9;
  padding-left: 1.8em; margin-bottom: 10px;
}
.policy-olist > li::before {
  content: counter(policy-num) ".";
  position: absolute; left: 0;
  color: var(--color-text); font-weight: 500;
}
.policy-olist--nested { margin-top: 10px; padding-left: 0.6em; }

.policy-info    { margin-bottom: 24px; }
.policy-info p  { font-size: 14.5px; color: var(--color-text-soft); line-height: 1.9; }
.policy-date    { font-size: 14.5px; color: var(--color-text-soft); text-align: right; }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .policy               { padding: 56px 0 80px; }
  .policy-title         { font-size: 24px; margin-bottom: 28px; }
  .policy-lead          { margin-bottom: 40px; }
  .policy-article       { padding-top: 28px; margin-top: 28px; }
  .policy-article-title { font-size: 16px; }
}
