/* =====================================================================
   MCPGATE 法務ページ共通CSS（/terms /privacy /tokushoho）
   site.css のトークンを前提に、lg- 接頭辞でページ固有スタイルを足す。
   LP本体のコンポーネント（mg-head 等の複合DOM）には依存しない。
   ===================================================================== */

.lg-body{ background:var(--ground); }

/* ヘッダー（簡易版） */
.lg-head{
  position:sticky; top:0; z-index:20;
  background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.lg-head__in{
  display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--gutter); height:var(--head-h);
}
.lg-logo{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-en); font-weight:800; font-size:17px; letter-spacing:.04em;
  color:var(--ink);
}
.lg-logo .mg-ic{ width:20px; height:20px; stroke:var(--blue-deep); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.lg-logo .mg-ic circle{ fill:var(--blue-deep); stroke:none; }
.lg-back{
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:700; color:var(--blue-text);
}
.lg-back .mg-ic{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.lg-back:hover{ text-decoration:underline; text-underline-offset:3px; }

/* 本文レイアウト */
.lg-main{ padding:clamp(48px,7vw,88px) var(--gutter) clamp(64px,8vw,110px); }
.lg-wrap{ max-width:860px; margin:0 auto; }

.lg-hero{ margin-bottom:clamp(28px,4vw,44px); }
.lg-hero .mg-tag{
  display:inline-block; font-family:var(--font-mono); font-size:11px; letter-spacing:.14em;
  color:var(--blue-text); border:1px solid var(--line); border-radius:var(--r-tag);
  padding:3px 10px; background:var(--paper); margin-bottom:14px;
}
.lg-hero h1{
  font-size:clamp(24px,4vw,34px); line-height:1.4; letter-spacing:.01em;
  position:relative; padding-bottom:14px;
}
.lg-hero h1::after{
  content:""; position:absolute; left:0; bottom:0;
  width:64px; height:3px; background:var(--grad); border-radius:2px;
}
.lg-hero__lead{ margin-top:16px; color:var(--ink-soft); font-size:14px; }
.lg-hero__date{ margin-top:10px; font-family:var(--font-mono); font-size:12px; color:var(--muted); }

/* パネル */
.lg-panel{
  background:var(--paper); border:1px solid var(--line);
  border-radius:var(--r-panel); box-shadow:var(--shadow-soft);
  padding:clamp(24px,4.5vw,52px);
}

/* 条文 */
.lg-art{ margin-top:clamp(28px,4vw,40px); }
.lg-art:first-child{ margin-top:0; }
.lg-art h2{
  font-size:16px; line-height:1.6; display:flex; align-items:baseline; gap:10px;
  padding-bottom:10px; border-bottom:1px solid var(--line-soft); margin-bottom:14px;
}
.lg-art h2 .lg-no{
  font-family:var(--font-mono); font-weight:500; font-size:12px; color:var(--blue-text);
  letter-spacing:.06em; white-space:nowrap;
}
.lg-art p{ font-size:14px; color:var(--ink-soft); margin-bottom:10px; }
.lg-art p:last-child{ margin-bottom:0; }
.lg-art ol{ list-style:none; counter-reset:lgitem; margin:4px 0 10px; }
.lg-art ol>li{
  counter-increment:lgitem; position:relative; padding-left:30px;
  font-size:14px; color:var(--ink-soft); margin-bottom:8px;
}
.lg-art ol>li::before{
  content:counter(lgitem); position:absolute; left:0; top:2px;
  width:20px; height:20px; border:1px solid var(--line); border-radius:6px 2px 2px 2px;
  font-family:var(--font-mono); font-size:11px; color:var(--blue-text);
  display:flex; align-items:center; justify-content:center; background:var(--ground);
}
.lg-art ul{ margin:4px 0 10px; }
.lg-art ul>li{
  position:relative; padding-left:18px; font-size:14px; color:var(--ink-soft); margin-bottom:6px;
}
.lg-art ul>li::before{
  content:""; position:absolute; left:2px; top:.72em; width:7px; height:7px;
  background:var(--grad); border-radius:2px 1px 1px 1px;
}
.lg-art strong{ color:var(--ink); font-weight:700; }
.lg-art a{ color:var(--blue-text); font-weight:700; }
.lg-art a:hover{ text-decoration:underline; text-underline-offset:3px; }

/* 特商法の表 */
.lg-table{ border-top:1px solid var(--line); }
.lg-table__row{
  display:grid; grid-template-columns:220px 1fr; gap:0;
  border-bottom:1px solid var(--line-soft);
}
.lg-table__row dt{
  padding:16px 18px; font-size:13px; font-weight:700; color:var(--ink);
  background:var(--ground);
}
.lg-table__row dd{ padding:16px 18px; font-size:14px; color:var(--ink-soft); }
.lg-table__row dd p{ margin-bottom:6px; }
.lg-table__row dd p:last-child{ margin-bottom:0; }
@media (max-width:640px){
  .lg-table__row{ grid-template-columns:1fr; }
  .lg-table__row dt{ padding:10px 14px; font-size:12px; }
  .lg-table__row dd{ padding:12px 14px 16px; }
}

/* 附則 */
.lg-note{
  margin-top:clamp(28px,4vw,40px); padding-top:16px; border-top:1px solid var(--line-soft);
  font-family:var(--font-mono); font-size:12px; color:var(--muted); line-height:2;
}

/* フッター */
.lg-foot{
  background:var(--navy); color:var(--on-dark-soft);
  padding:28px var(--gutter); font-size:13px;
}
.lg-foot__in{
  max-width:860px; margin:0 auto;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px;
}
.lg-foot__links{ display:flex; flex-wrap:wrap; gap:6px 22px; }
.lg-foot__links a{ color:var(--on-dark-soft); }
.lg-foot__links a:hover{ color:var(--on-dark); text-decoration:underline; text-underline-offset:3px; }
.lg-foot__links a[aria-current="page"]{ color:var(--on-dark); font-weight:700; }
.lg-foot__c{ font-family:var(--font-mono); font-size:11px; color:var(--on-dark-faint); letter-spacing:.06em; }
