/* SabaiBook 日本版 法務ページ共通スタイル
   配色は index.html の :root と揃えてある。変えるときは両方直すこと。 */
:root{
  --bg:#FBF8F5; --bg-deep:#F4EDE7; --card:#FFFFFF;
  --ink:#2D2420; --ink-soft:#6B5F5A; --ink-mute:#9A8E89;
  --rose:#C9989B; --rose-deep:#B07578; --rose-soft:#F4E4E5;
  --gold:#D4A574; --line:#EEE7E2;
  --shadow-md:0 6px 28px rgba(45,36,32,.08);
  --serif:'Cormorant Garamond','Noto Serif JP','Hiragino Mincho ProN',serif;
  --sans:'Noto Sans JP','Hiragino Sans',system-ui,sans-serif;
  --u:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:var(--sans); color:var(--ink); background:var(--bg);
  line-height:1.85; font-size:15.5px; -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
}
.wrap{max-width:760px; margin:0 auto; padding:0 22px}

/* 見出し */
.hd{border-bottom:1px solid var(--line); background:var(--card)}
.hd .wrap{display:flex; align-items:center; justify-content:space-between;
          padding-top:13px; padding-bottom:13px}
.brand{font-family:var(--serif); font-size:20px; letter-spacing:.04em;
       color:var(--ink); text-decoration:none; font-weight:600}
.brand span{color:var(--rose-deep)}
.hd nav a{font-size:13px; color:var(--ink-soft); text-decoration:none; margin-left:16px}
.hd nav a:hover{color:var(--rose-deep)}

.hero{padding:calc(var(--u)*7) 0 calc(var(--u)*4); text-align:center}
.eyebrow{font-size:12px; letter-spacing:.3em; color:var(--rose-deep);
         text-transform:uppercase; margin:0 0 var(--u)}
h1{font-family:var(--serif); font-size:30px; font-weight:600; letter-spacing:.04em;
   margin:0 0 6px; line-height:1.4}
.hero .en{font-size:12px; color:var(--ink-mute); letter-spacing:.12em; margin:0}
.updated{font-size:12.5px; color:var(--ink-mute); margin-top:calc(var(--u)*2)}

/* 本文 */
main{padding-bottom:calc(var(--u)*8)}
section{background:var(--card); border:1px solid var(--line); border-radius:14px;
        padding:calc(var(--u)*3) calc(var(--u)*3.5); margin-bottom:calc(var(--u)*2);
        box-shadow:var(--shadow-md)}
h2{font-size:16px; margin:0 0 calc(var(--u)*1.5); font-weight:600;
   display:flex; align-items:baseline; gap:10px; line-height:1.5}
h2 .n{font-family:var(--serif); font-size:13px; color:#fff; background:var(--rose-deep);
      min-width:24px; height:24px; border-radius:50%; display:inline-flex;
      align-items:center; justify-content:center; flex:0 0 auto; font-weight:600}
p{margin:0 0 calc(var(--u)*1.5)}
p:last-child,ul:last-child,dl:last-child{margin-bottom:0}
ul{margin:0 0 calc(var(--u)*1.5); padding-left:1.3em}
li{margin-bottom:6px}
a{color:var(--rose-deep)}

/* 注記 */
.note{background:var(--bg-deep); border-radius:10px; padding:calc(var(--u)*2);
      font-size:14px; color:var(--ink-soft); margin:calc(var(--u)*1.5) 0 0}
.warn{background:#FDF6EC; border:1px solid var(--gold); border-radius:10px;
      padding:calc(var(--u)*2); font-size:14px; margin:calc(var(--u)*2) 0}
.warn b{color:#8A6321}
.tbd{display:inline-block; background:var(--rose-soft); color:var(--rose-deep);
     border-radius:6px; padding:2px 10px; font-size:13px; font-weight:600;
     letter-spacing:.02em}

/* 定義リスト（特商法） */
dl{margin:0}
dt{font-size:13px; color:var(--ink-mute); letter-spacing:.04em;
   padding-top:calc(var(--u)*2); border-top:1px solid var(--line); margin-top:calc(var(--u)*2)}
dl > dt:first-child{border-top:none; padding-top:0; margin-top:0}
dd{margin:4px 0 0}

/* フッター */
footer{border-top:1px solid var(--line); background:var(--card);
       padding:calc(var(--u)*4) 0; text-align:center; font-size:13px; color:var(--ink-mute)}
footer .fb{font-family:var(--serif); font-size:18px; color:var(--ink); margin-bottom:6px}
.flinks{margin-top:calc(var(--u)*2); display:flex; gap:18px; justify-content:center;
        flex-wrap:wrap}
.flinks a{color:var(--ink-soft); text-decoration:none}
.flinks a:hover{color:var(--rose-deep)}

@media (max-width:560px){
  h1{font-size:24px}
  section{padding:calc(var(--u)*2.5) calc(var(--u)*2.5)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important}}
