/* =========================================================
   privacy.html（個人情報の取り扱い）＋ 404.html（共用）
   接頭辞 .p-privacy- ／ .p-404- ／ base.css のトークンと部品だけで組む
   ========================================================= */

/* ---------- privacy：本文（中央寄り 5〜19列） ---------- */
.p-privacy-body { padding: 0 0 64px; }
@media (min-width: 768px) { .p-privacy-body { padding: 8px 0 96px; } }
@media (min-width: 768px) { .p-privacy-doc { grid-column: 5 / 20; } }

.p-privacy-item { padding: 32px 0 36px; border-top: 1px solid var(--line-2); }
.p-privacy-item:last-child { border-bottom: 1px solid var(--line-2); }
@media (min-width: 768px) { .p-privacy-item { padding: 40px 0 44px; } }
.p-privacy-item .t-h4 { margin-bottom: 16px; }
.p-privacy-item p + p, .p-privacy-item p + .p-privacy-list, .p-privacy-item .p-privacy-list + p { margin-top: 1em; }
.p-privacy-list li { position: relative; padding-left: 1.2em; }
.p-privacy-list li + li { margin-top: .35em; }
.p-privacy-list li::before { content: "・"; position: absolute; left: 0; top: 0; }

.p-privacy-contact__lead { margin-top: 12px; }
.p-privacy-table { margin-top: 24px; }
.p-privacy-table th, .p-privacy-table td { border-color: var(--line-2); }
.p-privacy-table tr:first-child th, .p-privacy-table tr:first-child td { border-top-color: var(--line-2); }
.p-privacy-table a { text-decoration: underline; text-underline-offset: 3px; }
.p-privacy-date { margin-top: 28px; color: var(--ink-2); text-align: right; }

/* ---------- 404 ---------- */
.p-404 { padding-bottom: 96px; }
@media (min-width: 768px) { .p-404 { padding: 120px 0 144px; } }
@media (min-width: 768px) {
  .p-404-head { grid-column: 1 / 12; }
  .p-404-links { grid-column: 14 / 24; }
}
.p-404-head .t-body { margin-top: 24px; max-width: 26em; }
.p-404-links { border-top: 1px solid var(--line-2); }
.p-404-links a {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding: 18px 0; border-bottom: 1px solid var(--line-2);
  font-family: var(--f-serif); font-weight: 400; font-size: 22px; line-height: 1.4; letter-spacing: .04em;
  transition: opacity .3s var(--ease);
}
@media (min-width: 768px) { .p-404-links a { font-size: 26px; padding: 22px 0; } }
.p-404-links a:hover { opacity: .6; }
.p-404-links small { font-family: var(--f-sans); font-size: 12.5px; font-weight: 400; color: var(--ink-2); letter-spacing: .02em; text-align: right; }
