/* 法務ページ専用スタイル（style.css に追記して読み込み） */
.legal{ background:var(--bg-soft); }
.legal-main{ padding:36px 0 64px; }
.crumb{ font-size:12.5px; color:var(--muted); margin-bottom:18px; display:flex; gap:8px; align-items:center; }
.crumb a{ color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.legal-main h1{ font-size:clamp(22px,5.5vw,30px); font-weight:900; margin-bottom:24px; letter-spacing:-.01em; }

.legal-intro{ color:var(--ink-2); font-size:14.5px; margin-bottom:28px; }

.legal-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line-color); border-radius:14px; overflow:hidden; }
.legal-table th,.legal-table td{ text-align:left; padding:14px 16px; font-size:14px; border-bottom:1px solid var(--line-color); vertical-align:top; }
.legal-table tr:last-child th,.legal-table tr:last-child td{ border-bottom:0; }
.legal-table th{ background:var(--bg-soft); font-weight:800; width:38%; white-space:normal; color:var(--ink); }
.legal-table td{ color:var(--ink-2); }

.legal-sec{ background:#fff; border:1px solid var(--line-color); border-radius:14px; padding:20px 22px; margin-bottom:14px; box-shadow:var(--shadow-sm); }
.legal-sec h2{ font-size:16px; font-weight:800; margin-bottom:10px; color:var(--ink); }
.legal-sec p{ color:var(--ink-2); font-size:14.5px; }
.legal-sec ul{ margin-top:10px; display:flex; flex-direction:column; gap:7px; }
.legal-sec li{ position:relative; padding-left:20px; color:var(--ink-2); font-size:14.5px; }
.legal-sec li::before{ content:""; position:absolute; left:4px; top:13px; width:6px; height:6px; border-radius:50%; background:var(--accent); }

.legal-date{ color:var(--muted); font-size:13px; margin-top:22px; }
.legal-back{ margin-top:30px; }
.legal-back a{ color:var(--accent); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

@media (min-width:768px){
  .legal-main{ padding:48px 0 80px; }
}
