/* ══════════════════════════════════
   REWRITE SYSTEMS — LEGAL PAGES v1
   ══════════════════════════════════ */

.legal-page{
  background:var(--bg);
}

.legal-main{
  position:relative;z-index:2;
  padding-top:calc(var(--header-h) + 3rem);
  padding-bottom:5rem;
}

.legal-inner{
  max-width:820px;
  margin:0 auto;
  padding:0 2rem;
}

.legal-title{
  font-family:'Plus Jakarta Sans','Noto Sans JP',sans-serif;
  font-size:2rem;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--fg);
  margin-bottom:.4rem;
}

.legal-subtitle{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.85rem;
  font-weight:400;
  letter-spacing:.12em;
  color:var(--muted);
  text-transform:uppercase;
}

.legal-updated{
  font-family:'Noto Sans JP',sans-serif;
  font-size:.78rem;
  color:var(--muted);
  margin-top:1rem;
  margin-bottom:3rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid rgba(26,26,46,.08);
}

/* ── Body Text ── */
.legal-body{
  font-family:'Noto Sans JP',sans-serif;
  font-size:.88rem;
  line-height:2;
  color:var(--fg-light);
}

.legal-body h2{
  font-family:'Noto Sans JP',sans-serif;
  font-size:1.05rem;
  font-weight:600;
  color:var(--fg);
  margin-top:2.8rem;
  margin-bottom:.8rem;
  padding-left:.8rem;
  border-left:3px solid var(--accent-ember);
}

.legal-body p{
  margin-bottom:1rem;
}

.legal-body ol,
.legal-body ul{
  margin:0 0 1.2rem 1.5rem;
}

.legal-body li{
  margin-bottom:.4rem;
}

/* ── Table (特商法) ── */
.legal-table{
  width:100%;
  border-collapse:collapse;
  margin:1rem 0 2rem;
}

.legal-table th,
.legal-table td{
  font-family:'Noto Sans JP',sans-serif;
  font-size:.85rem;
  line-height:1.9;
  padding:1rem 1.2rem;
  vertical-align:middle;
  border-bottom:1px solid rgba(26,26,46,.07);
}

.legal-table th{
  width:180px;
  font-weight:600;
  color:var(--fg);
  background:rgba(26,26,46,.025);
  border-left:3px solid var(--accent-ember);
  text-align:left;
  white-space:nowrap;
}

.legal-table td{
  color:var(--fg-light);
}

.legal-table td ul{
  margin:0 0 0 1.2rem;
  padding:0;
}

.legal-table td li{
  margin-bottom:.3rem;
}

.legal-table td small{
  font-size:.78rem;
  color:var(--muted);
}

.legal-table tr:nth-child(even) td{
  background:rgba(26,26,46,.012);
}

/* ── Contact Box ── */
.legal-contact{
  background:var(--bg-warm);
  border-radius:12px;
  padding:1.5rem 2rem;
  margin-top:1.5rem;
  border:1px solid rgba(26,26,46,.06);
}

.legal-contact p{
  margin-bottom:.3rem;
  font-size:.85rem;
}

/* ── Responsive ── */
@media(max-width:768px){
  .legal-main{
    padding-top:calc(var(--header-h) + 2rem);
    padding-bottom:3rem;
  }
  .legal-inner{
    padding:0 1.2rem;
  }
  .legal-title{
    font-size:1.5rem;
  }
  .legal-table th,
  .legal-table td{
    display:block;
    width:100%;
    padding:.8rem 1rem;
  }
  .legal-table th{
    white-space:normal;
    border-bottom:none;
    padding-bottom:.3rem;
  }
  .legal-table td{
    padding-top:.3rem;
    border-left:3px solid transparent;
  }
  .legal-contact{
    padding:1.2rem 1.5rem;
  }
}
