/* ===========================================================================
   TaskLink 法務ページ共通スタイル
   LP (public/lp/index.html) のデザイントークンに準拠した軽量版。
   利用規約 / プライバシーポリシー / 特定商取引法に基づく表記 で共用する。
   =========================================================================== */
:root{
  --ink:    #0B1733;
  --ink-2:  #1B2A4E;
  --ink-3:  #3A4868;
  --muted:  #6B7891;
  --line:   #E3E7EF;
  --line-2: #EEF1F6;
  --bg:     #FBFAF7;
  --bg-card:#FFFFFF;
  --bg-soft:#F2F4FA;
  --bg-tint:#EEF1FB;
  --accent: #1F3FB5;
  --accent-2:#0FA29A;
  --shadow-sm: 0 1px 2px rgba(11,23,51,.04), 0 1px 0 rgba(11,23,51,.03);
  --shadow: 0 6px 24px -12px rgba(11,23,51,.18), 0 2px 6px -2px rgba(11,23,51,.06);
  --r: 10px;
  --maxw: 880px;
  --pad-x: clamp(20px, 4vw, 40px);
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:"Inter","Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color:var(--ink); background:var(--bg);
  font-size:16px; line-height:1.85;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  font-feature-settings:"palt";
}
a{ color:var(--accent); text-decoration:none; }
a:hover{ text-decoration:underline; }
.container{ max-width:var(--maxw); margin:0 auto; padding:0 var(--pad-x); }

/* header */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(251,250,247,.9);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
header.site .nav{ display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo{ display:inline-flex; align-items:center; gap:10px; font-weight:700; font-size:18px; letter-spacing:-.01em; color:var(--ink); }
.logo:hover{ text-decoration:none; }
.logo-mark{ width:22px; height:22px; }
.logo-mark svg{ width:100%; height:100%; display:block; }
.logo-img{ height:28px; width:auto; display:block; mix-blend-mode:multiply; }
.back-home{ font-size:13.5px; color:var(--ink-3); display:inline-flex; align-items:center; gap:6px; }
.back-home:hover{ color:var(--ink); text-decoration:none; }

/* page head */
.page-head{ padding:clamp(40px,6vw,72px) 0 clamp(20px,3vw,32px); }
.page-head .eyebrow{
  font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); font-weight:600;
}
.page-head h1{
  font-size:clamp(26px,4vw,38px); line-height:1.3; font-weight:700; margin:10px 0 8px; color:var(--ink); letter-spacing:-.01em;
}
.page-head .updated{ font-size:13px; color:var(--muted); }

/* body content */
main.legal{ padding-bottom:clamp(64px,9vw,120px); }
.legal h2{
  font-size:clamp(18px,2.4vw,22px); font-weight:700; color:var(--ink);
  margin:40px 0 12px; padding-top:8px; letter-spacing:-.005em;
}
.legal h3{ font-size:16px; font-weight:600; color:var(--ink-2); margin:24px 0 8px; }
.legal p{ margin:0 0 14px; color:var(--ink-2); }
.legal ul, .legal ol{ margin:0 0 16px; padding-left:1.4em; color:var(--ink-2); }
.legal li{ margin:0 0 8px; }
.legal small{ color:var(--muted); }
.lead{ font-size:15.5px; color:var(--ink-3); margin-bottom:24px; }

/* placeholder marker — 事業者確定情報の記入待ち */
.fill{
  display:inline-block; background:#FFF3D6; color:#8A5A00;
  border:1px dashed #E0B450; border-radius:4px;
  padding:1px 8px; font-size:13px; font-weight:500;
}

/* 特商法など定義テーブル */
.def-table{ width:100%; border-collapse:collapse; margin:8px 0 28px; font-size:14.5px; }
.def-table th, .def-table td{
  text-align:left; vertical-align:top;
  border:1px solid var(--line); padding:14px 16px;
}
.def-table th{
  width:34%; background:var(--bg-soft); color:var(--ink-2); font-weight:600; white-space:nowrap;
}
.def-table td{ background:#fff; color:var(--ink-2); }
@media (max-width:640px){
  .def-table, .def-table tbody, .def-table tr, .def-table th, .def-table td{ display:block; width:100%; }
  .def-table th{ border-bottom:0; }
  .def-table td{ border-top:0; margin-bottom:-1px; }
}

/* price list within 特商法 */
.price-rows{ list-style:none; padding:0; margin:0; }
.price-rows li{ display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line-2); padding:8px 0; }
.price-rows li:last-child{ border-bottom:0; }
.price-rows .name{ color:var(--ink-2); }
.price-rows .amt{ color:var(--ink); font-weight:600; font-feature-settings:"tnum"; white-space:nowrap; }

/* footer */
footer.site{ background:#fff; border-top:1px solid var(--line); padding:36px 0 28px; }
.foot-links{ display:flex; flex-wrap:wrap; gap:14px 28px; margin-bottom:18px; }
.foot-links a{ font-size:14px; color:var(--ink-3); }
.foot-links a:hover{ color:var(--ink); }
.foot-copy{ font-size:12px; color:var(--muted); }
