/* ArticleBody：記事本文（.lm-article）の中身。
   前半：旧記事（WordPress の本文）を新しい本文幅で読めるようにする規則。
   後半：旧テーマ Jet_cms_media_c の装飾クラス。本文に埋まったまま残るので、見た目をここで吸収する（CLAUDE.md「致命傷の先回り」1）。
     形は editor-jetb-style.css、色は Jet_Tpl_style.css（管理画面の設定値を焼き込んだもの）から写した。値は旧テーマのまま。
     旧サイトで実際に効いている値（ブラウザの計算結果）と突き合わせて確認済み（2026-09-25、/news/5014/）。
   使用回数と対象記事は docs/plugin-dependencies.md。 */

/* ---- 旧記事の本文 ---- */
/* 旧記事の書き方（1行ごとに段落、空行は <p>&nbsp;</p>）：段落の余白を 0 にし、空行の段落を1行分の間にする。
   新しい段落の余白（space-4）のままだと、空行と重なって間が倍以上に開く（2026-09-25、/news/5014/ で確認） */
.lm-article--legacy p { margin: 0; }

/* 本文中の h1（旧記事に計297個。要素は書き換えない）と h4 は、本文の見出しの段に合わせる。h2 20px・h3 17px は bundle.css */
.lm-article h1 { margin: var(--space-5) 0 var(--space-3); font-size: 22px; line-height: 1.7; font-weight: 400; letter-spacing: .08em; }
.lm-article h4 { margin: var(--space-4) 0 var(--space-2); font-size: 16px; line-height: 1.9; font-weight: 500; letter-spacing: .06em; }
.lm-article img { max-width: 100%; height: auto; }
.lm-article a:has(> img:only-child) { border-bottom: 0; }   /* 画像だけのリンク（バナー）に本文リンクの下線を引かない */
.lm-article .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.lm-article .alignleft { float: left; margin: 0 var(--space-3) var(--space-2) 0; }
.lm-article .alignright { float: right; margin: 0 0 var(--space-2) var(--space-3); }
.lm-article .wp-caption { max-width: 100%; }
.lm-article .wp-caption-text { margin-top: var(--space-1); font-size: 12px; line-height: 1.8; letter-spacing: .06em; color: var(--ink-muted); }
.lm-article::after { content: ""; display: block; clear: both; }
.lm-article table { width: 100%; border-collapse: collapse; margin: 0 0 var(--space-4); font-size: 15px; line-height: 1.9; }
.lm-article th, .lm-article td { padding: var(--space-1) var(--space-2) var(--space-1) 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--rule); }

/* Easy Table of Contents（本文の先頭に入る目次）：本文の段落・リンク・箇条書きの規則を当てない */
.lm-article #ez-toc-container, .lm-article .ez-toc-container { margin: 0 0 var(--space-4); }
.lm-article #ez-toc-container ul, .lm-article #ez-toc-container ol { margin: 0; }
.lm-article #ez-toc-container li { margin: 0; font-size: 15px; line-height: 1.8; font-weight: 400; letter-spacing: .04em; }
.lm-article #ez-toc-container a { border-bottom: 0; }
.lm-article #ez-toc-container p { margin: 0; font-size: 15px; line-height: 1.8; font-weight: 500; }

/* ---- 旧テーマの装飾クラス ---- */
/* 見出しの飾り（本文の h1〜h4 の中の span に付いている） */
.lm-article .deco_A { display: block; padding: 5px 0 5px 8px; border-left: 5px solid; margin-bottom: 10px; }
.lm-article .deco_B { display: block; padding: 5px 0 5px 8px; margin-bottom: 10px; border-left: 5px solid; border-bottom: 1px solid; }
.lm-article .deco_C { display: block; padding: 3px 0 3px 8px; margin-bottom: 10px; border-left: 5px solid; }
.lm-article .deco_D { display: inline-block; padding: 5px; margin-bottom: 10px; border-top: 1px solid; border-bottom: 1px solid; }
.lm-article .deco_A, .lm-article .deco_B, .lm-article .deco_C, .lm-article .deco_D { border-color: #ffb24d; }
.lm-article .deco_A { background: #f8f8f8; }

/* マーカー・下線 */
.lm-article .deco_line1 { background: linear-gradient(transparent 50%, rgba(255, 178, 77, .1) 50%); }
.lm-article .under_line2 { border-bottom: 1px solid #444444; }

/* 囲み枠 */
.lm-article .deco_case_bg { clear: both; width: 100%; padding: 24px; box-sizing: border-box; border: 1px solid rgba(255, 178, 77, .1); background-color: #f8f8f8; }
.lm-article .deco_case { clear: both; width: 100%; padding: 24px; box-sizing: border-box; border: 1px solid rgba(255, 178, 77, .1); }
.lm-article .deco_case_red { background: #ffeaea; box-shadow: 0 0 0 5px #ffeaea; border: dashed 2px #fff; padding: .2em .5em; }
.lm-article .deco_case_blue { background: #dfefff; box-shadow: 0 0 0 5px #dfefff; border: dashed 2px #fff; padding: .2em .5em; }
.lm-article .deco_case_bg > :last-child, .lm-article .deco_case > :last-child { margin-bottom: 0; }

/* チェックリスト。旧テーマはアイコンフォント Ionicons の ✓（\f373）を使っていた。フォントは読み込まないので、同じ位置に細い線で描く */
.lm-article .deco_check1 { display: flex; align-items: center; }
.lm-article .deco_check1::before { content: ""; flex: none; width: .35em; height: .7em; margin: 0 12px 0 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-.15em) rotate(45deg); }

/* 吹き出し（4143 ほか少数） */
.lm-article .balloon1-left { position: relative; display: inline-block; margin: 1.5em 0 1.5em 15px; padding: 7px 10px; min-width: 120px; max-width: 100%; color: #555; font-size: 16px; border-radius: 3px; background: #e0edff; }
.lm-article .balloon1-left::before { content: ""; position: absolute; top: 50%; left: -30px; margin-top: -15px; border: 15px solid transparent; border-right: 15px solid #e0edff; }
.lm-article .balloon1-left p { margin: 0; padding: 0; }
.lm-article .balloon4 { position: relative; margin: 2em 0 2em 40px; padding: 15px; background: #fff0c6; border-radius: 30px; }
.lm-article .balloon4::before { content: ""; position: absolute; left: -38px; width: 13px; height: 12px; bottom: 0; background: #fff0c6; border-radius: 50%; }
.lm-article .balloon4::after { content: ""; position: absolute; left: -24px; width: 20px; height: 18px; bottom: 3px; background: #fff0c6; border-radius: 50%; }
.lm-article .balloon4 p { margin: 0; padding: 0; }
.lm-article .balloon_talk_left, .lm-article .balloon_border_talk_left { width: 100%; margin: 1.5em 0; overflow: hidden; }
.lm-article .balloon_talk_left .faceicon, .lm-article .balloon_border_talk_left .faceicon { float: left; width: 80px; }
.lm-article .balloon_talk_left .faceicon img { width: 100%; height: auto; border: solid 3px #d7ebfe; border-radius: 50%; box-sizing: border-box; }
.lm-article .balloon_border_talk_left .faceicon img { width: 100%; height: auto; border: solid 1px #000; border-radius: 50%; box-sizing: border-box; }
.lm-article .balloon_talk_left .chatting, .lm-article .balloon_border_talk_left .chatting { float: right; width: calc(100% - 100px); }
.lm-article .balloon_talk_left .says { display: inline-block; position: relative; margin: 5px 0 0; padding: 17px 13px; border-radius: 12px; background: #d7ebfe; }
.lm-article .balloon_talk_left .says::after { content: ""; display: inline-block; position: absolute; top: 18px; left: -24px; border: 12px solid transparent; border-right: 12px solid #d7ebfe; }
.lm-article .balloon_border_talk_left .says { display: inline-block; position: relative; margin: 5px 0 0; padding: 17px 13px; border-radius: 12px; border: 1px solid #000; background: #fff; }
.lm-article .balloon_border_talk_left .says::before { content: ""; display: inline-block; position: absolute; top: 18px; left: -24px; border: 12px solid transparent; border-right: 12px solid #000; }
.lm-article .balloon_border_talk_left .says::after { content: ""; display: inline-block; position: absolute; top: 18px; left: -23px; border: 12px solid transparent; border-right: 12px solid #fff; }
.lm-article .says p { margin: 0; }
