/* ============================================================
   BabuuFit — legal pages (特商法 / プライバシーポリシー)
   ============================================================ */
.legal-main{ padding:clamp(40px,6vw,84px) clamp(18px,5vw,40px) 90px; }
.legal-wrap{ max-width:880px; margin:0 auto; }

.legal-head{ text-align:center; margin-bottom:clamp(30px,4vw,48px); }
.legal-head .eyebrow{
  display:block; font-family:var(--bf-zen); font-weight:700; color:var(--bf-orange);
  font-size:13px; letter-spacing:.3em; margin-bottom:12px;
}
.legal-head h1{
  font-family:var(--bf-zen); font-weight:900; color:var(--bf-ink);
  font-size:clamp(26px,4vw,40px); margin:0; letter-spacing:.04em;
}
.legal-head h1::after{
  content:""; display:block; width:54px; height:5px; border-radius:99px;
  background:linear-gradient(90deg,var(--bf-orange),var(--bf-orange-l)); margin:18px auto 0;
}
.legal-updated{ margin-top:14px; color:var(--ink-faint,#90a0a8); font-size:13px; }

.legal-card{
  background:#fff; border:1px solid var(--bf-tint); border-radius:24px;
  padding:clamp(26px,4vw,52px); box-shadow:0 16px 44px rgba(200,76,22,.09);
}

.legal-table{ width:100%; border-collapse:collapse; font-size:15px; }
.legal-table th,.legal-table td{
  border:1px solid var(--bf-tint); padding:15px 18px; text-align:left; vertical-align:top; line-height:1.85;
}
.legal-table th{
  width:34%; background:var(--bf-tint2); font-family:var(--bf-zen); font-weight:700; color:var(--bf-ink);
}
.legal-table td{ color:#4a423b; }
.legal-table .ph{ color:var(--bf-orange-d); font-weight:700; background:#fff4ec; padding:1px 6px; border-radius:6px; }

.legal-card h2{
  font-family:var(--bf-zen); font-weight:900; color:var(--bf-ink); font-size:18px;
  margin:34px 0 12px; padding-left:14px; position:relative; line-height:1.6;
}
.legal-card h2:first-of-type{ margin-top:0; }
.legal-card h2::before{
  content:""; position:absolute; left:0; top:.18em; bottom:.18em; width:5px; border-radius:99px;
  background:linear-gradient(180deg,var(--bf-orange),var(--bf-orange-l));
}
.legal-card p{ color:#4a423b; line-height:1.95; margin:0 0 12px; font-size:15px; }
.legal-card ul{ margin:0 0 14px; padding-left:1.2em; }
.legal-card ul li{ color:#4a423b; line-height:1.9; margin-bottom:6px; list-style:disc; font-size:15px; }
.legal-card .note{ font-size:13px; color:var(--muted,#776f69); }

.legal-back{
  display:inline-flex; align-items:center; gap:8px; margin-top:34px;
  font-family:var(--bf-zen); font-weight:700; color:var(--bf-orange-d);
}
.legal-back:hover{ text-decoration:underline; }

/* simple header back link */
.header .top-link{
  font-family:var(--bf-zen); font-weight:700; font-size:14px; color:var(--bf-ink);
  display:inline-flex; align-items:center; gap:7px;
}
.header .top-link:hover{ color:var(--bf-orange); }

@media(max-width:560px){
  .legal-table th{ width:40%; }
  .legal-table th,.legal-table td{ padding:12px 12px; font-size:14px; }
}
