/* =========================================================
   エムサイト工房 — 法務ページ共通スタイル（特商法/プライバシー/利用規約）
   LP v3 のブランドトークンを継承。JS非依存・自己完結（フォールバック原則）。
   このディレクトリは content/legal/ にあるため、資産参照は ../../ から。
   ========================================================= */
:root{
  --brand:#2A93E0;
  --brand-deep:#155C9E;
  --navy:#122E4A;
  --navy-900:#0C2238;
  --sky:#E9F4FD;
  --sky-soft:#F2F8FE;
  --paper:#F8FBFE;
  --sun:#FFC24B;
  --ink:#16314E;
  --text:#3A5572;
  --muted:#5B708A;
  --line:#E4EFF9;
  --line-2:#DCEAF7;
  --r-card:18px;
  --font-disp:'Zen Maru Gothic',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Noto Sans JP',sans-serif;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:var(--brand-deep)}
img{max-width:100%;display:block}

/* ===== ヘッダー ===== */
.legal-header{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--line);
}
.legal-header__inner{
  max-width:920px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.legal-header__logo{display:block;width:170px;flex:none}
.legal-header__back{
  flex:none;font-size:14px;font-weight:700;text-decoration:none;
  color:var(--brand-deep);
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);
  background:#fff;transition:background .2s,border-color .2s;
}
.legal-header__back:hover{background:var(--sky-soft);border-color:var(--brand)}
.legal-header__back svg{width:16px;height:16px}

/* ===== ヒーロー帯 ===== */
.legal-hero{
  background:linear-gradient(180deg,var(--sky),var(--paper));
  border-bottom:1px solid var(--line);
}
.legal-hero__inner{max-width:920px;margin:0 auto;padding:40px 24px 34px}
.legal-hero__crumbs{font-size:13px;color:var(--muted);margin:0 0 10px}
.legal-hero__crumbs a{color:var(--muted);text-decoration:none}
.legal-hero__crumbs a:hover{text-decoration:underline}
.legal-hero h1{
  font-family:var(--font-disp);font-weight:900;
  font-size:clamp(24px,5vw,34px);line-height:1.35;margin:0;color:var(--navy);
}
.legal-hero__lead{margin:14px 0 0;color:var(--text);font-size:15px}

/* ===== 本文 ===== */
.legal-main{max-width:920px;margin:0 auto;padding:36px 24px 8px}
.legal-body h2{
  font-family:var(--font-disp);font-weight:700;
  font-size:clamp(18px,3.2vw,21px);color:var(--brand-deep);
  margin:38px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--line-2);
}
.legal-body h2:first-child{margin-top:0}
.legal-body h3{
  font-family:var(--font-disp);font-weight:700;font-size:16px;
  color:var(--navy);margin:24px 0 8px;
}
.legal-body p{margin:0 0 14px;color:var(--text)}
.legal-body ul,.legal-body ol{margin:0 0 16px;padding-left:1.4em;color:var(--text)}
.legal-body li{margin:0 0 8px}
.legal-body li::marker{color:var(--brand)}
.legal-body strong{color:var(--ink);font-weight:700}
.legal-body a{word-break:break-word}

/* 番号付き条文（利用規約）— カウンタで階層を明示 */
.legal-body ol{list-style:decimal}
.legal-body ol ul{margin-top:8px}

/* ===== 表（特商法） ===== */
.legal-table-wrap{overflow-x:auto;margin:0 0 20px}
.legal-table{
  width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--line-2);border-radius:var(--r-card);overflow:hidden;
  font-size:15px;
}
.legal-table th,.legal-table td{
  text-align:left;vertical-align:top;padding:14px 16px;
  border-bottom:1px solid var(--line);
}
.legal-table tr:last-child th,.legal-table tr:last-child td{border-bottom:0}
.legal-table th{
  width:34%;min-width:150px;background:var(--sky-soft);
  color:var(--navy);font-weight:700;
}
.legal-table td{color:var(--text)}
@media(max-width:560px){
  .legal-table th{width:40%;min-width:120px}
  .legal-table th,.legal-table td{padding:12px 12px}
}

/* ===== 制定日など ===== */
.legal-meta{
  margin:32px 0 0;padding-top:18px;border-top:1px solid var(--line-2);
  color:var(--muted);font-size:14px;
}

/* ===== ページ内 法務ナビ ===== */
.legal-otherlinks{
  max-width:920px;margin:44px auto 0;padding:0 24px;
}
.legal-otherlinks__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
@media(max-width:640px){.legal-otherlinks__grid{grid-template-columns:1fr}}
.legal-otherlinks__card{
  display:block;padding:16px 18px;border-radius:14px;text-decoration:none;
  background:#fff;border:1px solid var(--line-2);
  color:var(--navy);font-weight:700;font-size:15px;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.legal-otherlinks__card:hover{
  border-color:var(--brand);box-shadow:0 12px 26px -18px rgba(18,46,74,.4);transform:translateY(-2px);
}
.legal-otherlinks__card[aria-current="page"]{
  background:var(--sky-soft);border-color:var(--brand);color:var(--brand-deep);cursor:default;
}
.legal-otherlinks__card span{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:4px}

/* ===== フッター ===== */
.legal-footer{
  margin-top:56px;background:var(--navy-900);color:#cfe3f5;
}
.legal-footer__inner{
  max-width:920px;margin:0 auto;padding:28px 24px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
}
.legal-footer__nav{display:flex;flex-wrap:wrap;gap:18px}
.legal-footer__nav a{color:#cfe3f5;text-decoration:none;font-size:14px}
.legal-footer__nav a:hover{color:#fff;text-decoration:underline}
.legal-footer__copy{font-size:13px;color:#8fb4d6}
