/* ── 記事内コンポーネント（AndPOST 結果まとめ記事用・2026-09-23）──
   ブロックエディタの「カスタムHTML」ブロックに貼ったHTMLがこのクラスを使う。
   生成元：~/OW/_andpost_results_scripts/build_wp_blocks.py（貼り付け用ブロック列を出力）。
   すべて .article-body 配下だけに効く。見出しのピンク縦線は、見出しブロックの
   「追加CSSクラス」に ap-h2 を付けたものだけに付く（他の記事に影響しない）。 */

.article-body .hicon{width:auto;height:auto;border-radius:50%;margin:0;display:inline-block;vertical-align:middle;background:#eef;}
.article-body .tcell{display:inline-flex;align-items:center;gap:10px}
.article-body .tcell .hicon{width:28px;height:28px}
.article-body .hero-head{display:flex;align-items:center;gap:16px;margin:3em 0 .8em}
.article-body .hero-head .hicon{width:72px;height:72px;box-shadow:0 0 0 3px #fff,0 0 0 5px #ff0062}
.article-body .hero-head h3{margin:0;font-size:1.25rem}
.article-body .hero-head h4{margin:0;font-size:1.05rem;color:var(--color-dark)}
.article-body .hero-rank{font-family:Inter,var(--font-ja);font-weight:700;font-size:.8rem;color:#ff0062;letter-spacing:.04em}
.article-body .hero-tag{margin:2px 0 0;font-weight:700;color:var(--color-dark);font-size:.95rem}
.article-body .hero-head--sm{margin:1.6em 0 .4em}
.article-body .hero-head--sm .hicon{width:56px;height:56px;box-shadow:none}
.article-body .hero-head + p{margin-top:.4em}
.article-body .hero-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:18px 10px;margin:1.6em 0 2.4em}
.article-body .gcell{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.35}
.article-body .gcell .hicon{width:64px;height:64px;margin-bottom:6px}
.article-body .grank{font-family:Inter,var(--font-ja);font-size:.7rem;font-weight:700;color:#ff0062}
.article-body .gname{font-size:.78rem;font-weight:700;color:var(--color-dark)}
.article-body .gvote{font-size:.72rem;color:var(--color-muted)}
/* 記事の見出し2＝ピンクの縦線（左揃えのとき）。中央揃え（has-text-align-center）は線なし・下線なし（2026-09-28 既定化）。
   縦位置：line-height 1.4 の1行目の中心（.7em）に線の中心を合わせる。日本語の字面はやや下に見えるので .03em 下げる */
.article-body h2,.article-body h2.ap-h2{font-size:26px;line-height:1.4;border-bottom:none;padding-bottom:0;margin-top:3.2em;position:relative;padding-left:18px}
.article-body h2::before,.article-body h2.ap-h2::before{content:"";position:absolute;left:0;top:.28em;width:6px;height:.9em;background:#ff0062;border-radius:3px}
.article-body h2.has-text-align-center,.article-body h2.has-text-align-right{padding-left:0}
.article-body h2.has-text-align-center::before,.article-body h2.has-text-align-right::before{display:none}
.article-body .podium{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;align-items:end;margin:1.2em 0 2.2em}
.article-body .podium-card{background:#f7f7f8;border-radius:20px;padding:22px 16px 18px;text-align:center;display:flex;flex-direction:column;align-items:center}
.article-body .podium-card.is-1{background:#fff;border:2px solid #ff0062;order:1}
.article-body .podium-card.is-2{order:2} .article-body .podium-card.is-3{order:3}
.article-body .podium-rank{font-family:Inter,var(--font-ja);font-weight:900;color:#090a1a;line-height:1;margin-bottom:12px}
.article-body .podium-no{font-size:2.6rem} .article-body .is-1 .podium-no{font-size:3.6rem;color:#ff0062}
.article-body .podium-unit{font-size:1rem;font-weight:700;margin-left:2px}
.article-body .podium-card .hicon{width:120px;height:120px;box-shadow:0 0 0 3px #fff,0 0 0 5px #ddd}
.article-body .is-1 .hicon{width:160px;height:160px;box-shadow:0 0 0 4px #fff,0 0 0 7px #ff0062}
.article-body .podium-name{font-weight:900;font-size:1.15rem;color:#090a1a;margin-top:14px;line-height:1.3}
.article-body .is-1 .podium-name{font-size:1.45rem}
.article-body .podium-votes{font-family:Inter,var(--font-ja);font-weight:900;font-size:1.6rem;color:#090a1a;line-height:1.1;margin-top:6px}
.article-body .podium-votes small{font-size:.7rem;font-weight:700;margin-left:2px;font-family:var(--font-ja)}
.article-body .is-1 .podium-votes{font-size:2.2rem;color:#ff0062}
.article-body .podium-sub{font-size:.75rem;color:var(--color-muted);margin-top:4px}
.article-body .podium-tag{font-weight:700;font-size:.9rem;color:#090a1a;margin:12px 0 0}
.article-body .podium-card blockquote{margin:10px 0 0 !important;padding:0 8px;border-left:none;font-size:.78rem;line-height:1.7;color:var(--color-muted);text-align:center}
.article-body .duo,.article-body .love{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:1.2em 0 2em}
.article-body .love{grid-template-columns:1fr 1fr 1fr}
.article-body .duo-card,.article-body .love-card{background:#f7f7f8;border-radius:20px;padding:20px 16px 18px;text-align:center;display:flex;flex-direction:column;align-items:center}
.article-body .duo-label{font-size:.78rem;font-weight:700;color:#ff0062;letter-spacing:.04em;margin-bottom:12px}
.article-body .duo-card .hicon{width:104px;height:104px;box-shadow:0 0 0 3px #fff,0 0 0 5px #ff0062}
.article-body .love-card .hicon{width:96px;height:96px;box-shadow:0 0 0 3px #fff,0 0 0 5px #ff0062}
.article-body .love-sub{font-size:.75rem;color:var(--color-muted);margin-top:4px}
.article-body .love-card blockquote{margin:10px 0 0 !important;padding:0 6px;border-left:none;font-size:.78rem;line-height:1.7;color:var(--color-muted);text-align:center}
@media (max-width:640px){.article-body .podium{grid-template-columns:1fr}  .article-body .love{grid-template-columns:1fr} .article-body .duo{grid-template-columns:1fr}}
.article-body .hero-rank--muted{color:var(--color-muted);font-weight:500}
.article-body h2.role-h{margin-top:2.2em}
.article-body h2.role-h{font-size:1.25rem;margin-top:3em;padding-left:0} .article-body h2.role-h::before{display:none} .article-body h2.role-h .role-count{font-size:.8rem;font-weight:500;color:var(--color-muted);margin-left:10px}
.article-body .hero-nums{font-size:.82rem;color:var(--color-muted);margin:-.2em 0 1em}
.article-body .aim1-cta{display:flex;gap:24px;align-items:center;background:#f7f7f8;border-radius:20px;padding:28px 28px;margin:2.4em 0}
.article-body .aim1-cta-logo{flex:0 0 120px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:16px;height:120px}
.article-body .aim1-cta-logo img{width:76px;height:auto;margin:0;border-radius:0}
.article-body .aim1-cta-kicker{font-family:Inter,var(--font-ja);font-size:.72rem;font-weight:700;letter-spacing:.12em;color:#ff0062;margin:0 0 4px}
.article-body .aim1-cta h3{margin:0 0 8px;font-size:1.2rem}
.article-body .aim1-cta-body p{margin:0 0 14px;font-size:.92rem;line-height:1.9}
.article-body .aim1-cta-btn{display:inline-block;background:#090a1a;color:#fff !important;text-decoration:none !important;font-size:.85rem;font-weight:700;padding:10px 18px;border-radius:999px}
@media (max-width:640px){.article-body .aim1-cta{flex-direction:column;align-items:flex-start}}
.article-body .rlist{list-style:none;margin:1em 0 2em;padding:0}
.article-body .rlist li{display:flex;align-items:center;gap:14px;padding:10px 6px;border-bottom:1px solid var(--color-border);margin:0}
.article-body .rl-rank{font-family:Inter,var(--font-ja);font-weight:700;font-size:1rem;color:var(--color-muted);width:2.2em;text-align:right;flex:0 0 auto}
.article-body .rlist .hicon{width:44px;height:44px;flex:0 0 auto}
.article-body .rl-name{font-weight:700;color:#090a1a;flex:1;line-height:1.3;display:flex;flex-direction:column}
.article-body .rl-sub{font-size:.72rem;font-weight:500;color:var(--color-muted);margin-top:2px}
.article-body .rl-votes{font-family:Inter,var(--font-ja);font-weight:700;font-size:1.05rem;color:#090a1a;flex:0 0 auto}
.article-body .rl-votes small{font-size:.7rem;font-weight:700;margin-left:2px;font-family:var(--font-ja)}
.article-body .rl-votes--muted{font-size:.85rem;color:var(--color-muted);font-weight:500}
.article-body .rlist-duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:1em 0 2em}
.article-body .rlist-duo .rlist{margin:0}
.article-body .rl-head{font-size:.8rem;font-weight:700;color:#ff0062;letter-spacing:.04em;margin:0 0 6px}
.article-body .gaps{margin:1.4em 0 .6em}
.article-body .chips{display:flex;flex-wrap:wrap;gap:8px}
.article-body .chip{display:inline-flex;align-items:center;gap:8px;background:#f7f7f8;border-radius:999px;padding:4px 14px 4px 4px;font-size:.85rem;font-weight:700;color:#090a1a}
.article-body .chip .hicon{width:36px;height:36px}
.article-body .gaps + p{margin-top:.6em}
@media (max-width:640px){.article-body .rlist-duo{grid-template-columns:1fr}}
.article-body .hgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1em 0 2.4em}
.article-body .hcard{background:#f7f7f8;border-radius:20px;padding:22px 20px 18px;display:flex;flex-direction:column}
.article-body .hcard .hero-head{margin:0 0 .6em;gap:14px}
.article-body .hcard .hero-head .hicon{width:64px;height:64px}
.article-body .hcard .hero-head h3{font-size:1.1rem}
.article-body .hcard .hero-tag{font-size:.88rem}
.article-body .hcard p{font-size:.86rem;line-height:1.85;margin:0 0 .9em}
.article-body .hcard blockquote{margin:auto 0 0 !important;padding:10px 0 0;border-left:none;border-top:1px solid #e6e6ea;font-size:.8rem;line-height:1.7}
.article-body .hcard blockquote p{margin:0 0 .5em;color:var(--color-muted)}
.article-body .hcard blockquote p::before{content:"“";color:#ff0062;font-weight:700;margin-right:2px}
@media (max-width:640px){.article-body .hgrid{grid-template-columns:1fr}}
.article-body .photos{display:grid;gap:14px;margin:1.4em 0 2em}
.article-body .photos-2{grid-template-columns:1fr 1fr}
.article-body .photos figure{margin:0 !important}
.article-body .ph{aspect-ratio:4/3;background:#e9e9ee;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#8a8a94;font-size:.85rem;font-weight:700;letter-spacing:.04em}
.article-body .photos-1 .ph{aspect-ratio:16/9}
@media (max-width:640px){.article-body .photos-2{grid-template-columns:1fr}}
.article-body table td:first-child,.article-body table th:first-child{white-space:nowrap}
.article-body table{font-size:.88rem}


/* ── ブロックパターン版（patterns/*.php・標準ブロック＋クラス名で同じ見た目にする）──
   カスタムHTML版のクラスと同じ名前を、カラム/グループ/画像/段落ブロックに当てている。 */
.article-body .wp-block-columns.podium,
.article-body .wp-block-columns.duo,
.article-body .wp-block-columns.hgrid{display:grid;gap:14px;margin:1.2em 0 2.2em !important}
.article-body .wp-block-columns.podium{grid-template-columns:1.25fr 1fr 1fr;align-items:end !important}
.article-body .wp-block-columns.podium > .wp-block-column.podium-card{align-self:end;height:auto}
.article-body .wp-block-columns.duo{grid-template-columns:1fr 1fr}
.article-body .wp-block-columns.duo.love{grid-template-columns:1fr 1fr 1fr}
.article-body .wp-block-columns.rlist-duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:1em 0 2em !important}
/* カテゴリ別ランキング（3列・小さめ） */
.article-body .wp-block-columns.rlist-roles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:1em 0 2em !important}
.article-body .rlist-roles .rlist,.article-body .rlist-roles .wp-block-group.rlist{margin:0}
.article-body .rlist-roles .rl-rank{width:1.4em}
.article-body .rlist-roles .rl-name{font-size:.85rem}
.article-body .rlist-roles .rl-votes{font-size:.9rem}
.article-body .rlist-roles .hicon,.article-body .rlist-roles .wp-block-image.hicon img{width:36px;height:36px}
@media (max-width:760px){.article-body .wp-block-columns.rlist-roles{grid-template-columns:1fr}}
.article-body .wp-block-columns.hgrid{grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.article-body .wp-block-columns.hgrid > .wp-block-column{display:flex;flex-direction:column;gap:16px}
.article-body .wp-block-column.podium-card,
.article-body .wp-block-column.duo-card{flex-basis:auto !important;display:flex;flex-direction:column;align-items:center;text-align:center}
/* 画像ブロック → 丸アイコン（テーマ標準の width:100% を打ち消す） */
.article-body .wp-block-image.hicon{margin:0 !important}
.article-body .wp-block-image.hicon img{width:auto;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:0;display:block;background:#eef}
.article-body .podium-card .wp-block-image.hicon img{box-shadow:0 0 0 3px #fff,0 0 0 5px #ddd}
.article-body .podium-card.is-1 .wp-block-image.hicon img{box-shadow:0 0 0 4px #fff,0 0 0 7px #ff0062}
.article-body .duo-card .wp-block-image.hicon img,
.article-body .hero-head .wp-block-image.hicon img{box-shadow:0 0 0 3px #fff,0 0 0 5px #ff0062}
/* 段落ブロック → 各パーツ（本文の余白を打ち消す） */
.article-body p.podium-rank,.article-body p.podium-votes,.article-body p.podium-sub,.article-body p.podium-tag,.article-body p.podium-quote,
.article-body p.rl-rank,.article-body p.rl-name,.article-body p.rl-votes,.article-body p.duo-label,.article-body p.rl-head,.article-body p.hero-tag,.article-body p.aim1-cta-kicker{margin:0}
.article-body p.podium-rank{font-family:Inter,var(--font-ja);font-weight:900;font-size:1rem;line-height:1;margin-bottom:12px;color:#090a1a}
.article-body p.podium-rank::first-letter{font-size:2.6rem}
.article-body .is-1 p.podium-rank::first-letter{font-size:3.6rem;color:#ff0062}
.article-body h3.podium-name{margin:14px 0 0;font-weight:900;font-size:1.15rem;line-height:1.3}
.article-body .is-1 h3.podium-name{font-size:1.45rem}
.article-body p.podium-votes{font-family:Inter,var(--font-ja);font-weight:900;font-size:1.6rem;line-height:1.1;margin-top:6px;color:#090a1a}
.article-body p.podium-votes::after{content:"票";font-size:.7rem;font-weight:700;margin-left:2px;font-family:var(--font-ja)}
.article-body .is-1 p.podium-votes{font-size:2.2rem;color:#ff0062}
.article-body p.podium-sub{font-size:.75rem;color:var(--color-muted);margin-top:4px}
.article-body p.podium-tag{font-weight:700;font-size:.9rem;color:#090a1a;margin-top:12px}
.article-body p.podium-quote{font-size:.78rem;line-height:1.7;color:var(--color-muted);margin-top:10px;padding:0 8px}
/* ランキングリスト（グループ横並び） */
.article-body .wp-block-group.rlist{margin:1em 0 2em}
.article-body .wp-block-group.rl-row{gap:14px;padding:10px 6px;border-bottom:1px solid var(--color-border);align-items:center}
.article-body p.rl-rank{font-family:Inter,var(--font-ja);font-weight:700;font-size:1rem;color:var(--color-muted);width:2.2em;text-align:right;flex:0 0 auto}
.article-body .rl-row .wp-block-image.hicon img{width:44px;height:44px}
.article-body p.rl-name{font-weight:700;color:#090a1a;flex:1;line-height:1.3}
.article-body p.rl-votes{font-family:Inter,var(--font-ja);font-weight:700;font-size:1.05rem;color:#090a1a;flex:0 0 auto}
.article-body p.rl-votes::after{content:"票";font-size:.7rem;font-weight:700;margin-left:2px;font-family:var(--font-ja)}
.article-body p.rl-votes.rl-votes--muted{font-size:.85rem;color:var(--color-muted);font-weight:500}
.article-body p.rl-votes.rl-votes--muted::after{content:none}
.article-body p.rl-name .rl-sub{display:block;font-size:.72rem;font-weight:500;color:var(--color-muted);margin-top:2px}
/* ヒーローカード（グループ） */
.article-body .wp-block-group.hcard{background:#f7f7f8;border-radius:20px;padding:22px 20px 18px;display:flex;flex-direction:column;flex:1;margin:0 !important}
.article-body .wp-block-group.hero-head{gap:14px;align-items:center;margin:0 0 .6em}
.article-body .hero-head .wp-block-group{gap:2px}
.article-body .hero-head .wp-block-image.hicon img{width:64px;height:64px}
.article-body .hcard h3{margin:0;font-size:1.1rem}
.article-body .hcard p.hero-tag{font-weight:700;font-size:.88rem;color:#090a1a}
.article-body .hcard > p{font-size:.86rem;line-height:1.85;margin:0 0 .9em}
.article-body .hcard p.hquote{font-size:.8rem;line-height:1.7;color:var(--color-muted);margin:0 0 .5em}
.article-body .hcard p.hquote::before{content:"“";color:#ff0062;font-weight:700;margin-right:2px}
.article-body .hcard p:not(.hquote) + p.hquote{border-top:1px solid #e6e6ea;padding-top:10px;margin-top:auto}
/* 部門1位・チップ */
.article-body .wp-block-column.duo-card{background:#f7f7f8;border-radius:20px;padding:20px 16px 18px}
.article-body p.duo-label{font-size:.78rem;font-weight:700;color:#ff0062;letter-spacing:.04em;margin-bottom:12px}
.article-body .duo-card .wp-block-image.hicon img{width:104px;height:104px}
.article-body .wp-block-group.chips{gap:8px;margin:0 0 .6em}
.article-body .wp-block-group.chip{gap:8px;background:#f7f7f8;border-radius:999px;padding:4px 14px 4px 4px;align-items:center}
.article-body .chip .wp-block-image.hicon img{width:36px;height:36px}
.article-body .chip p{margin:0;font-size:.85rem;font-weight:700;color:#090a1a}
/* 導線カード */
.article-body .wp-block-group.aim1-cta{gap:24px;align-items:center}
.article-body .wp-block-group.aim1-cta-logo{flex:0 0 120px;height:120px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:16px}
.article-body .aim1-cta-logo .wp-block-image{margin:0 !important}
.article-body .aim1-cta-logo .wp-block-image img{width:76px;height:auto;border-radius:0}
.article-body .aim1-cta-body h3{margin:0 0 8px;font-size:1.2rem}
.article-body .aim1-cta-body > p{margin:0 0 14px;font-size:.92rem;line-height:1.9}
.article-body .wp-block-button.aim1-cta-btn .wp-block-button__link{background:#090a1a;color:#fff;font-size:.85rem;font-weight:700;padding:10px 18px;border-radius:999px;text-decoration:none}
@media (max-width:640px){
  .article-body .wp-block-columns.podium,.article-body .wp-block-columns.duo,.article-body .wp-block-columns.duo.love,.article-body .wp-block-columns.hgrid,.article-body .wp-block-columns.rlist-duo{grid-template-columns:1fr}
  .article-body .wp-block-group.aim1-cta{flex-direction:column;align-items:flex-start}
}

/* 表彰台を階段型に（1位が一番高く、2位・3位と順に低く。下端揃え）（2026-09-23） */
.article-body .podium{align-items:end}
.article-body .podium-card.is-2 .hicon{width:112px;height:112px} .article-body .podium-card.is-3 .hicon{width:88px;height:88px}
.article-body .is-2 .podium-no{font-size:2.2rem} .article-body .is-3 .podium-no{font-size:1.9rem}
.article-body .is-2 .podium-name{font-size:1.05rem} .article-body .is-3 .podium-name{font-size:.95rem}
.article-body .is-2 .podium-votes{font-size:1.4rem} .article-body .is-3 .podium-votes{font-size:1.25rem}
.article-body .is-3 .podium-card blockquote,.article-body .podium-card.is-3 blockquote{font-size:.74rem}
.article-body .podium-card.is-3{padding-top:18px}
/* パターン版（画像ブロック・段落ブロック） */
.article-body .podium-card.is-2 .wp-block-image.hicon img{width:112px;height:112px} .article-body .podium-card.is-3 .wp-block-image.hicon img{width:88px;height:88px}
.article-body .is-2 p.podium-rank::first-letter{font-size:2.2rem} .article-body .is-3 p.podium-rank::first-letter{font-size:1.9rem}
.article-body .is-2 h3.podium-name{font-size:1.05rem} .article-body .is-3 h3.podium-name{font-size:.95rem}
.article-body .is-2 p.podium-votes{font-size:1.4rem} .article-body .is-3 p.podium-votes{font-size:1.25rem}
.article-body .is-3 p.podium-quote{font-size:.74rem}

/* 折りたたみ（「詳細」ブロックに追加CSSクラス ap-details）2026-09-28 */
.article-body details.ap-details{border:1px solid var(--color-border);border-radius:12px;padding:0;margin:1em 0 1.6em;background:#fff}
.article-body details.ap-details>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;font-size:.95rem;color:#090a1a;display:flex;align-items:center;gap:10px}
.article-body details.ap-details>summary::-webkit-details-marker{display:none}
.article-body details.ap-details>summary::before{content:"";width:8px;height:8px;border-right:2px solid #ff0062;border-bottom:2px solid #ff0062;transform:rotate(-45deg);transition:transform .2s;margin-left:4px;flex:0 0 auto}
.article-body details.ap-details[open]>summary::before{transform:rotate(45deg)}
.article-body details.ap-details>*:not(summary){margin-left:18px;margin-right:18px}
.article-body details.ap-details .wp-block-group.rlist,.article-body details.ap-details .rlist{margin:0 18px .8em}

/* 53体の「愛され方」リスト（顔＋名前＋スタッフのひとこと＋引用3件）2026-09-28 */
.article-body .wp-block-group.lv{display:flex;gap:22px;align-items:flex-start;padding:22px 0;border-bottom:1px solid #ececf0;margin:0}
.article-body .lv .wp-block-image.hicon{flex:0 0 88px;margin:0}
.article-body .lv .wp-block-image.hicon img{width:88px;height:88px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 5px #ff0062}
.article-body .lv .wp-block-group.lv-body{flex:1;min-width:0}
.article-body .lv h3.lv-name{font-size:1.15rem;font-weight:900;margin:4px 0 8px;color:#090a1a}
.article-body .lv p.lv-staff{font-size:.95rem;line-height:1.95;color:#090a1a;margin:0 0 10px}
.article-body .lv .wp-block-group.lv-qs{padding-left:12px;border-left:3px solid #ffd0e2}
.article-body .lv p.lv-q{font-size:.84rem;line-height:1.7;color:#777;margin:0 0 4px}
.article-body .lv p.lv-q::before{content:"\201C";color:#ff0062;font-weight:700;margin-right:2px}
@media (max-width:640px){.article-body .wp-block-group.lv{gap:14px} .article-body .lv .wp-block-image.hicon{flex-basis:64px} .article-body .lv .wp-block-image.hicon img{width:64px;height:64px}}

/* カテゴリごとの箱（見出し＋画像＋折りたたみ）2026-09-28 */
.article-body .wp-block-group.rolebox{background:#f7f7f8;border-radius:20px;padding:22px 22px 12px;margin:1.2em 0}
.article-body .rolebox .wp-block-group.rolebox-head{display:flex;align-items:baseline;gap:10px;margin:0 0 12px}
.article-body .rolebox h3.rb-name{font-weight:900;font-size:1.2rem;color:#090a1a;margin:0}
.article-body .rolebox p.rb-n{font-size:.8rem;color:#888;font-weight:500;margin:0}
.article-body .rolebox .wp-block-group.rb-faces{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.article-body .rolebox .rb-faces .wp-block-image.hicon{margin:0}
.article-body .rolebox .rb-faces .wp-block-image.hicon img{width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 2px #fff}
.article-body .rolebox details.ap-details{margin:0 0 10px;background:#fff}
.article-body .rolebox details.ap-details .wp-block-group.lv{margin-left:22px;margin-right:22px}

/* 53体：テーマとキーワードの行（2026-10-02）。既存の .lv（2026-09-28）に2行足すだけ */
.article-body .lv p.lv-theme{font-size:1rem;font-weight:700;line-height:1.6;color:#ff0062;margin:0 0 4px}
.article-body .lv p.lv-kw{font-size:.82rem;line-height:1.7;color:#777;margin:0 0 10px}
.article-body .lv h3.lv-name:has(+ p.lv-theme){margin-bottom:4px}   /* プレビューv10と同じ：テーマ行があるときは名前の下を4pxに */

/* ── 53体ブロック（.lv）の中だけ、行間・段落間隔を固定（2026-10-02）。
   WPがグループ（constrained）の子要素に入れる自動の間隔（margin-block-start: block-gap ≈24px）を、このブロックの中だけ打ち消す。
   .editor-styles-wrapper も付けて、編集画面でも同じ見た目に（functions.php の add_editor_style）。他のブロックには触らない ── */
/* リセットは :where() で優先度を下げる（WPの自動間隔 (0,1,0) には勝ち、下の個別ルールには負ける） */
:is(.article-body,.editor-styles-wrapper) .lv :where(.lv-body,.lv-qs) > :where(*){margin-block:0}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv{display:flex;gap:22px;align-items:flex-start;padding:22px 0;border-bottom:1px solid #ececf0;margin:0}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-image.hicon{flex:0 0 88px;margin:0 !important;max-width:none !important}   /* style.css の「本文画像は中央寄せ・回り込みなし !important」より優先 */
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-image.hicon img{width:88px;height:88px;border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 5px #ff0062}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-group.lv-body{flex:1;min-width:0}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv h3.lv-name{font-size:1.15rem;font-weight:900;color:#090a1a;margin:4px 0 8px}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-theme{font-size:1rem;font-weight:700;line-height:1.6;color:#ff0062;margin:0 0 4px}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-kw{font-size:.82rem;line-height:1.7;color:#777;margin:0 0 10px}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-staff{font-size:.95rem;line-height:1.95;color:#090a1a;margin:0 0 10px}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-group.lv-qs{padding-left:12px;border-left:3px solid #ffd0e2;margin:0}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-q{font-size:.84rem;line-height:1.7;color:#777;margin:0 0 4px}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-q:last-child{margin-bottom:0}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-q::before{content:"\201C";color:#ff0062;font-weight:700;margin-right:2px}
@media (max-width:640px){:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv{gap:14px} :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-image.hicon{flex-basis:64px} :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-image.hicon img{width:64px;height:64px}}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv h3.lv-name:has(+ p.lv-theme){margin-bottom:4px}

/* ── SP（〜640px）の53体ブロック（2026-10-04 エイタさん「SPで2カラムになって微妙」）：
   マークアップは変えず、顔を左に回り込ませて名前・テーマだけ横に並べ、キーワード以降は全幅に流す ── */
@media (max-width:640px){
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv{display:block;gap:0;padding:18px 0}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv::after{content:"";display:block;clear:both}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-image.hicon{float:left !important;width:56px;flex:none;margin:2px 12px 4px 0 !important}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-image.hicon img{width:56px;height:56px;box-shadow:0 0 0 2px #fff,0 0 0 4px #ff0062}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-group.lv-body{display:block;min-width:0}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv h3.lv-name{font-size:1.05rem;margin:2px 0 2px}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-theme{font-size:.95rem;margin:0 0 8px}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-kw{clear:both;padding-top:4px;margin:0 0 8px}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-staff{clear:both;margin:0 0 10px}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-group.lv-qs{clear:both}
}
/* ── 53体ブロックの中の見出し（2026-10-04）：見た目は記事の見出しのまま（見出し2ならピンクの縦線と大きさもそのまま）。
   直すのは2点だけ：見出し2の大きな上余白（3.2em）を外す／SPで顔の回り込みの横に収まるようにして、縦線が顔に被らないようにする ── */
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-group.lv-body > :is(h2,h3,h4,h5){margin-top:0;margin-bottom:6px}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-group.lv-body > :is(h2,h3,h4,h5):has(+ p.lv-theme){margin-bottom:4px}
@media (max-width:640px){
  /* 回り込み（float）の横に見出しの箱ごと置く＝縦線（::before）が顔の上ではなく、顔の右に出る */
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-group.lv-body > :is(h2,h3,h4,h5){display:flow-root;margin:4px 0 4px}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv .wp-block-group.lv-body > h2{font-size:1.35rem;line-height:1.3}
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-theme{display:flow-root}
}

/* ── 53体ブロックの文字サイズを記事本文の新標準（Apple準拠・2026-10-04）に揃える ──
   スタッフのひとこと＝本文と同じ（PC19／SP17）、テーマ行＝本文と同じで太字、キーワード・引用＝注記（14px） */
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-staff{font-size:1em;line-height:1.7}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-theme{font-size:1em;line-height:1.5}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-kw{font-size:13px;line-height:1.6}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-q{font-size:13px;line-height:1.6;margin:0 0 6px}
:is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-q:last-child{margin-bottom:0}
@media (max-width:640px){
  :is(.article-body,.editor-styles-wrapper) .wp-block-group.lv p.lv-theme{font-size:1em}
}
/* 見出し2のSPサイズ（2026-10-04 Apple見た目合わせ：PC24／h2 SP 21px） */
@media (max-width:768px){.article-body h2,.article-body h2.ap-h2{font-size:22px}}

/* ── ロゴ画像：角丸なし（2026-10-05 エイタさん「AIM1のロゴが途切れる」＝本文画像の角丸12pxで透過PNGの角が削れていた）。
   画像ブロックの「高度な設定 → 追加CSSクラス」に logo と入れる。aim1-cta-logo の中の画像は自動で角丸なし ── */
.article-body .wp-block-image.logo img,
.article-body figure.logo img,
.article-body img.logo,
.article-body .aim1-cta-logo img,
.article-body .wp-block-column.logo img,
.article-body .wp-block-group.logo img{border-radius:0 !important}
