/* =========================================================
   プライバシーポリシー
   ========================================================= */
.policy__body { max-width: 820px; }
.policy__body > p { color: var(--c-ink); }
.policy__body h2 {
  margin: 56px 0 16px; padding-top: 24px; border-top: 1px solid var(--c-line);
  font-family: var(--ff-serif); font-weight: 500; font-size: 21px; letter-spacing: .08em; line-height: 1.5;
}
.policy__body p + p, .policy__body ul + p { margin-top: 14px; }
.policy__body ul { display: grid; gap: 6px; margin-top: 12px; }
.policy__body ul li { position: relative; padding-left: 20px; }
.policy__body ul li::before {
  content: ""; position: absolute; left: 2px; top: .9em; width: 7px; height: 7px;
  border-top: 1.5px solid var(--c-champagne); border-right: 1.5px solid var(--c-champagne); border-top-right-radius: 4px;
}
.policy__contact { margin-top: 12px; border-top: 1px solid var(--c-line); }
.policy__contact > div { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 14px 2px; border-bottom: 1px solid var(--c-line); }
.policy__contact dt { color: var(--c-brass); }
.policy__contact dd { word-break: break-all; }
.policy__contact a { border-bottom: 1px solid var(--c-line); }
.policy__date { margin-top: 56px; text-align: right; font-size: 14px; color: var(--c-mute); }
@media (max-width: 599px) { .policy__contact > div { grid-template-columns: 1fr; gap: 2px; } }
