/* ═══════════════════════════════════════
   MUSE Legal — Privacy / 特商法 共通CSS
   ═══════════════════════════════════════ */

/* LEGAL BODY */
.legal{
  margin-top:var(--sp-section);margin-bottom:var(--sp-page-bottom);
  background:var(--w);position:relative;overflow:hidden;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),var(--shadow-section);
  padding:var(--sp-inner);
}
.legal::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:var(--grain-fine),linear-gradient(170deg,transparent 25%,rgba(212,220,233,.3) 65%,rgba(168,181,204,.2) 100%);
  background-size:200px 200px,100% 100%;opacity:.42;mix-blend-mode:multiply;
}
.legal__inner{position:relative;z-index:2;max-width:800px}

.legal__section{margin-bottom:clamp(32px,4vh,48px)}
.legal__section:last-child{margin-bottom:0}

.legal__h2{
  font-family:var(--fd);font-weight:700;font-size:clamp(14px,1.1vw,18px);
  letter-spacing:.02em;color:var(--k);
  margin-bottom:clamp(12px,1.5vh,20px);
  padding-bottom:clamp(8px,1vh,12px);
  border-bottom:1px solid var(--k7);
  display:flex;align-items:center;gap:10px;
}
.legal__h2::before{
  content:'';width:3px;height:clamp(14px,1.1vw,18px);background:var(--bl);flex-shrink:0;
}

.legal__p{
  font-family:var(--fj);font-size:clamp(12px,.88vw,14px);
  font-weight:380;line-height:2.1;letter-spacing:.035em;color:var(--k4);
  margin-bottom:clamp(8px,1vh,14px);
}
.legal__p:last-child{margin-bottom:0}

.legal__list{
  list-style:none;
  margin:clamp(8px,1vh,14px) 0;padding-left:clamp(16px,1.5vw,24px);
}
.legal__list li{
  font-family:var(--fj);font-size:clamp(12px,.88vw,14px);
  font-weight:380;line-height:2.1;letter-spacing:.035em;color:var(--k4);
  position:relative;padding-left:16px;
}
.legal__list li::before{
  content:'';position:absolute;left:0;top:.9em;
  width:6px;height:1px;background:var(--bl);opacity:.4;
}

.legal__table{
  width:100%;border-collapse:collapse;margin:clamp(8px,1vh,14px) 0;
}
.legal__table th,.legal__table td{
  font-family:var(--fj);font-size:clamp(12px,.88vw,14px) !important;
  font-weight:400 !important;letter-spacing:.03em;color:var(--k4) !important;
  padding:clamp(12px,1.4vh,18px) 0 !important;
  border-bottom:1px solid rgba(0,0,0,.04) !important;
  text-align:left !important;vertical-align:top !important;
}
.legal__table th{
  font-family:var(--fm);font-size:clamp(8px,.6vw,10px) !important;
  letter-spacing:.16em;text-transform:uppercase;color:var(--k6) !important;
  width:clamp(100px,16vw,200px);font-weight:400 !important;
  padding:clamp(12px,1.4vh,18px) clamp(16px,2vw,28px) clamp(12px,1.4vh,18px) 0 !important;
}

/* FOOTER */
