/* ============================================================
   Theme B — Ledian Luxe（ラグジュアリー美容クリニック）
   アイボリー基調・シャンパンゴールド×ディーププラム・明朝見出し
   既存クラス互換：_common.css / 埋め込みCSSの差し替え用
   ============================================================ */
:root {
  --navy:#3D2C3E; --coral:#B08A4F; --amber:#C77D2E; --red:#B3383E; --green:#5C7A5E;
  --text-dark:#332B33; --text-muted:#847A80; --divider:#E9E2D8;
  --bg:#F7F3EC; --white:#FFFDF9; --ice:#E5D9C4; --ice-light:#F3EDE0;
  --amber-light:#F9EFDD; --red-light:#F7E6E4; --green-light:#EAF0E8; --navy-dark:#2A1E2B;
  --gold:#B08A4F; --gold-light:#D8BE8F; --radius:6px;
  --shadow:0 2px 10px rgba(61,44,62,.07);
}
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:"Hiragino Sans","ヒラギノ角ゴシック","Yu Gothic","Meiryo",sans-serif;
  background:var(--bg); color:var(--text-dark); line-height:1.9; font-size:16px;
  -webkit-font-smoothing:antialiased; }
.container { max-width:860px; margin:28px auto; padding:56px 60px; background:var(--white);
  border:1px solid var(--divider); box-shadow:var(--shadow); }
.header { text-align:left; border-bottom:double 4px var(--gold-light); padding-bottom:26px; margin-bottom:26px; }
.badge-row { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.q-badge,.ver-badge,.strong-badge { display:inline-block; padding:5px 16px; border-radius:2px;
  font-size:11.5px; font-weight:600; letter-spacing:.14em; }
.q-badge { background:var(--navy-dark); color:var(--gold-light); }
.ver-badge { background:transparent; color:var(--navy); border:1px solid var(--gold); }
.strong-badge { background:var(--gold); color:var(--white); }
h1 { font-family:"Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif; font-size:29px;
  color:var(--navy-dark); margin-bottom:10px; font-weight:600; letter-spacing:.05em; }
.meta { color:var(--text-muted); font-size:12px; letter-spacing:.06em; }
.law-banner { background:var(--navy-dark); color:#F2E8D8; padding:14px 20px; margin:22px 0;
  border-radius:var(--radius); font-size:13px; line-height:1.8; border-left:4px solid var(--gold); }
.law-banner strong { color:var(--gold-light); }
.strong-box strong { color:#FFF6E5; }
.danger-box strong, .urgent-box strong { color:inherit; font-weight:700; }
h2 { font-family:"Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif; color:var(--navy-dark);
  font-size:21px; margin:48px 0 16px; padding-bottom:10px; letter-spacing:.05em;
  border-bottom:1px solid var(--gold-light); position:relative; }
h2::after { content:""; position:absolute; left:0; bottom:-1px; width:64px; height:2px; background:var(--gold); }
h3 { color:var(--navy); font-size:16px; margin:26px 0 10px; padding-left:12px;
  border-left:3px solid var(--gold); letter-spacing:.03em; }
p { margin:8px 0; font-size:14px; }
ul,ol { margin:8px 0 8px 24px; }
li { margin:4px 0; font-size:14px; }
strong { color:var(--navy-dark); font-weight:700; }
.quick-summary { background:var(--ice-light); border:1px solid var(--ice); padding:20px 24px;
  margin:22px 0; border-radius:var(--radius); font-size:14px; position:relative; }
.quick-summary::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--gold); }
.quick-summary h3 { color:var(--navy-dark); margin:0 0 10px; border:none; padding:0; font-size:14px; }
table { width:100%; border-collapse:separate; border-spacing:0; margin:16px 0; background:var(--white);
  border:1px solid var(--divider); font-size:13px; box-shadow:var(--shadow); }
th { background:var(--navy-dark); color:#EFE3CE; padding:11px 14px; text-align:left; font-size:12px;
  font-weight:600; letter-spacing:.08em; }
td { padding:11px 14px; border-bottom:1px solid var(--divider); vertical-align:top; }
tbody tr:nth-child(even) td { background:#FBF8F2; }
tr:last-child td { border-bottom:none; }
.danger-box { background:var(--red-light); border:1px solid #E4BDB9; border-left:5px solid var(--red);
  border-radius:var(--radius); padding:16px 22px; margin:18px 0; }
.danger-box h4 { color:var(--red); margin:0 0 8px; font-size:14px; letter-spacing:.03em; }
.urgent-box { background:var(--amber-light); border:1px solid #E8D2AC; border-left:5px solid var(--amber);
  border-radius:var(--radius); padding:16px 22px; margin:18px 0; }
.urgent-box h4 { color:#9A5E1E; margin:0 0 8px; font-size:14px; }
.strong-box { background:linear-gradient(120deg,var(--navy-dark) 0%,#4A3448 70%,#5A4152 100%);
  color:#F5EDDF; padding:22px 26px; margin:22px 0; border-radius:var(--radius);
  border:1px solid var(--gold-light); }
.strong-box .title { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-weight:600;
  font-size:15.5px; margin-bottom:8px; color:var(--gold-light); letter-spacing:.05em; }
.strong-box .body { font-size:13px; line-height:1.85; }
.related-q { background:var(--ice-light); border:1px solid var(--ice); border-radius:var(--radius);
  padding:18px 24px; margin:26px 0; }
.related-q h4 { color:var(--navy-dark); margin:0 0 10px; font-size:14px; letter-spacing:.04em; }
.related-q ul { margin:0 0 0 20px; font-size:13px; }
.related-q a { color:#8A6A33; text-decoration:none; border-bottom:1px solid var(--gold-light); }
.related-q a:hover { color:var(--navy-dark); border-bottom-color:var(--gold); }
.citation { color:var(--text-muted); font-size:11px; margin-top:6px; letter-spacing:.02em; }
.citation::before { content:"📖 "; }
.footer { margin-top:60px; padding-top:22px; border-top:double 4px var(--gold-light); font-size:11px;
  color:#A79D96; text-align:center; letter-spacing:.08em; }
.type-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; margin:22px 0; }
.type-card { background:var(--white); border:1px solid var(--divider); border-radius:var(--radius);
  padding:18px 16px; position:relative; box-shadow:var(--shadow); }
.type-card::before { content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light)); }
.type-card h4 { color:var(--navy-dark); margin:2px 0 8px; font-size:14px; }
.type-card .desc { font-size:12px; color:var(--text-muted); margin-bottom:6px; }
.type-card .treatment { font-size:12px; color:#8A6A33; font-weight:700; }
.hilite { background:linear-gradient(135deg,#FBF4E4 0%,#F7EDE6 100%); border:1px solid var(--gold-light);
  border-left:5px solid var(--gold); border-radius:var(--radius); padding:18px 24px; margin:22px 0; }
.hilite .title { font-weight:700; color:#8A6A33; margin-bottom:8px; font-size:14px; letter-spacing:.04em; }
.hilite .body { font-size:14px; line-height:1.85; margin:0; }
.termbox { background:var(--green-light); border:1px dashed var(--green); border-radius:var(--radius);
  padding:16px 22px; margin:18px 0; }
.termbox .title { font-weight:700; color:#465F48; margin-bottom:8px; font-size:13px; }
.termbox ul { font-size:13px; margin:6px 0 0 20px; line-height:1.85; }
img { max-width:100%; border:1px solid var(--divider); }
@media print { body{background:var(--white);} .container{box-shadow:none; border:none; margin:0; padding:24px;} }
