/* ============ LEGAL（プライバシーポリシー・404） ============ */
.legal{
  background: #fff;
  padding: 56px 28px 96px;
}
.legal-inner{
  max-width: 800px;
  margin: 0 auto;
  color: var(--ink);
  font-size: 15px;
  line-height: 2;
}
.legal h2{
  font-family: var(--f-ja-serif);
  font-weight: 500;
  font-size: 20px;
  letter-spacing: .06em;
  line-height: 1.6;
  margin: 48px 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--rule);
}
.legal h2:first-child{margin-top: 0}
.legal p{margin: 0 0 12px}
.legal ul{
  margin: 0 0 12px;
  padding-left: 1.4em;
}
.legal li{margin: 0 0 6px}
.legal a{
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal a:hover{color: var(--accent-dk)}
.legal-date{
  margin-top: 48px !important;
  color: var(--ink-2);
  font-size: 13px;
  text-align: right;
}
.legal-links{
  list-style: none;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.legal-links a{
  display: block;
  padding: 16px 20px;
  border: 1px solid var(--rule-2);
  color: var(--ink);
  text-decoration: none;
  background: var(--bg-2);
}
.legal-links a:hover{
  border-color: var(--accent);
  color: var(--accent);
}
@media (max-width: 640px){
  .legal{padding: 40px 16px 72px}
  .legal-inner{font-size: 14px}
  .legal h2{font-size: 18px; margin-top: 36px}
}
