/* ============================================
   SPRIME Legal Pages – 共通スタイル
   情報セキュリティ／利用規約／プライバシーポリシー／特定商取引法
   ============================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#1a1014;
  --ink-2:#4a4a4a;
  --ink-3:#888;
  --bg:#ffffff;
  --bg-sec:#fafaf6;
  --line:rgba(26,16,20,0.08);
  --line-strong:rgba(26,16,20,0.16);
  --brand:#D85B5B;
  --brand-2:#D3708A;
  --brass:#C9A961;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;line-height:1.85;
  letter-spacing:-0.005em;
}
a{color:var(--brand);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--brand-2);text-decoration:underline}

/* ── Header ── */
.legal-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  border-bottom:0.5px solid var(--line);
  padding:14px 32px;
}
.legal-header-inner{
  max-width:880px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.legal-logo{
  display:flex;align-items:center;font-weight:900;letter-spacing:-0.02em;
  font-size:1.1rem;color:var(--ink);
}
.legal-logo:hover{text-decoration:none;color:var(--brand)}
.legal-logo img{height:24px;width:auto;display:block;filter:invert(1) hue-rotate(180deg)}
.legal-back{
  font-size:0.84rem;color:var(--ink-2);font-weight:600;letter-spacing:0.04em;
}
.legal-back:hover{color:var(--brand)}

/* ── Hero ── */
.legal-hero{
  padding:80px 32px 40px;background:var(--bg-sec);
  border-bottom:0.5px solid var(--line);
  position:relative;overflow:hidden;
}
.legal-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 40% 30% at 20% 0%,rgba(216,91,91,0.05),transparent 65%),
    radial-gradient(ellipse 35% 25% at 80% 100%,rgba(201,169,97,0.05),transparent 65%);
}
.legal-hero-inner{max-width:880px;margin:0 auto;position:relative;z-index:1}
.legal-eyebrow{
  font-size:0.78rem;letter-spacing:0.18em;color:var(--brand);
  font-weight:700;text-transform:uppercase;margin-bottom:14px;
}
.legal-title{
  font-size:clamp(1.8rem,4.6vw,2.6rem);font-weight:800;
  letter-spacing:-0.03em;line-height:1.25;color:var(--ink);
}
.legal-updated{
  font-size:0.82rem;color:var(--ink-3);margin-top:20px;font-weight:500;
}

/* ── Content ── */
.legal-content{
  max-width:880px;margin:0 auto;padding:64px 32px 100px;
}
.legal-section{margin-bottom:48px}
.legal-section:last-child{margin-bottom:0}
.legal-section h2{
  font-size:1.32rem;font-weight:800;color:var(--ink);
  letter-spacing:-0.02em;line-height:1.4;
  margin-bottom:18px;padding-left:14px;
  border-left:3px solid var(--brand);
}
.legal-section h3{
  font-size:1.05rem;font-weight:700;color:var(--ink);
  margin:24px 0 12px;letter-spacing:-0.015em;
}
.legal-section p{
  font-size:0.96rem;color:var(--ink-2);line-height:1.95;
  margin-bottom:14px;font-weight:500;
}
.legal-section ul,.legal-section ol{
  margin:14px 0 18px 24px;padding-left:8px;
}
.legal-section li{
  font-size:0.96rem;color:var(--ink-2);line-height:1.85;
  margin-bottom:8px;font-weight:500;
}
.legal-section ul ul,.legal-section ol ul,.legal-section ul ol,.legal-section ol ol{
  margin:8px 0 8px 16px;
}

/* 定義リスト（特商法など） */
.legal-table{
  width:100%;border-collapse:collapse;margin:18px 0;
  background:var(--bg);border:1px solid var(--line);border-radius:14px;overflow:hidden;
}
.legal-table th,.legal-table td{
  padding:18px 22px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--line);font-size:0.95rem;line-height:1.7;
}
.legal-table tr:last-child th,.legal-table tr:last-child td{border-bottom:none}
.legal-table th{
  background:var(--bg-sec);width:30%;
  font-weight:700;color:var(--ink);letter-spacing:-0.005em;
}
.legal-table td{color:var(--ink-2);font-weight:500}

.legal-note{
  background:var(--bg-sec);border:1px solid var(--line);
  border-radius:12px;padding:18px 22px;margin:18px 0;
  font-size:0.9rem;color:var(--ink-2);line-height:1.85;font-weight:500;
}
.legal-note strong{color:var(--ink);font-weight:700}

/* ── Footer ── */
.legal-footer{
  background:#0a0a0c;color:#c4c4ca;
  padding:56px 32px 40px;font-size:0.86rem;line-height:1.8;text-align:center;
}
.legal-footer-inner{max-width:880px;margin:0 auto}
.legal-footer-links{
  display:flex;flex-wrap:wrap;justify-content:center;gap:24px;
  margin-bottom:28px;
}
.legal-footer-links a{
  color:#c4c4ca;font-weight:600;letter-spacing:0.02em;
}
.legal-footer-links a:hover{color:#fff;text-decoration:none}
.legal-footer-copy{color:#777;font-size:0.78rem;letter-spacing:0.02em}

@media(max-width:720px){
  .legal-header{padding:12px 20px}
  .legal-hero{padding:60px 20px 32px}
  .legal-content{padding:48px 20px 80px}
  .legal-section{margin-bottom:36px}
  .legal-section h2{font-size:1.18rem}
  .legal-table th{width:38%;font-size:0.86rem;padding:14px 16px}
  .legal-table td{font-size:0.86rem;padding:14px 16px}
  .legal-footer-links{gap:16px;font-size:0.78rem}
}
