/* =========================================================
   WELUCA Blocks 共通デザインシステム
   ミニマル × 落ち着いた赤 × 描画アニメ（文字は静止）
   ========================================================= */
:root{
	--wlc-red:#b23a34;        /* 本文装飾のキーカラー（落ち着いた赤） */
	--wlc-red-deep:#8f2d28;
	--wlc-red-soft:#f8ecea;   /* 淡い塗り面 */
	--wlc-cta:#ea3333;        /* CTA専用の鮮やかな赤（別扱い） */
	--wlc-ink:#1a1d21;
	--wlc-line:#e6e8ec;
	--wlc-muted:#6f7683;
	/* iconbox 用の意味別カラー */
	--wlc-amber:#cf9310;      --wlc-amber-soft:#fbf3e2;   /* ポイント（黄） */
	--wlc-blue:#2f6fd0;       --wlc-blue-soft:#eef3fc;    /* チェック（青） */
	--wlc-code-bg:#f6f7f9;
}

/* ---------------------------------------------------------
   アニメの仕組み
   - 既定（JS無効）: 装飾は「描画済み＝見える」状態（崩れない）
   - html.wlc-js が付く（JS有効）と、装飾は初期「隠し」に
   - 画面に入って .wlc-in が付くと 1回だけ描画アニメ
   - 文字はアニメ無し（常に静止）
   --------------------------------------------------------- */
@keyframes wlcDraw{ to{ stroke-dashoffset:0; } }
@keyframes wlcDraw2{ from{ stroke-dasharray:0 100; } to{ stroke-dasharray:50 50; } }
@keyframes wlcGrowX{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@keyframes wlcGrowY{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } }
@keyframes wlcPop{ 0%{ opacity:0; transform:scale(.3);} 100%{ opacity:1; transform:scale(1);} }

/* =========================================================
   ボックス 5種   weluca/box  variant: frame/top/left/fill/label
   ========================================================= */
.wlc-box{ position:relative; width:100%; margin:2.85rem auto; border-radius:6px; box-sizing:border-box; }
@media (max-width:768px){ .wlc-box{ width:100%; } }
/* エディタ内でWELUCA各ブロックの上下スペースを確保（編集画面で詰まって見える対策） */
.editor-styles-wrapper .wlc-box,
.editor-styles-wrapper .wlc-ib,
.editor-styles-wrapper .wlc-tl,
.editor-styles-wrapper .wlc-fk,
.editor-styles-wrapper .wlc-acc,
.editor-styles-wrapper .wlc-code,
.editor-styles-wrapper .wlc-bc{ margin-top:1.9rem !important; margin-bottom:1.9rem !important; }
.wlc-box__label{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.18em;
	color:var(--wlc-red); text-transform:uppercase; margin-bottom:5px; }
.wlc-box__label:empty{ display:none; }
.wlc-box__title{ font-weight:700; font-size:1.05rem; margin:0 0 8px; line-height:1.5; }
.wlc-box__title:empty{ display:none; }
.wlc-box__inner > :first-child{ margin-top:0; }
.wlc-box__inner > :last-child{ margin-bottom:0; }
.wlc-box__inner p{ font-size:.96em; line-height:1.8; }

/* SVGの枠（frameのみ表示） */
.wlc-frame{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; z-index:1; display:none; }
.wlc-frame rect{ fill:none; stroke:var(--wlc-red); stroke-width:1.5; }
/* 2筆：a=左上起点で前半分[0-50]、b=右下起点で後半分[50-100]。既定は描画済み（全周） */
.wlc-frame__a{ stroke-dasharray:50 50; stroke-dashoffset:0; }
.wlc-frame__b{ stroke-dasharray:50 50; stroke-dashoffset:50; }
.wlc-box__body{ position:relative; z-index:2; }

/* ① frame：細い枠線（SVG一周描画） */
.wlc-box--frame{ background:#fff; box-shadow:inset 0 0 0 1px var(--wlc-line); padding:26px 30px; }
.wlc-box--frame .wlc-frame{ display:block; }

/* ② top：白背景＋上ライン＋ふわっと影（リッチなカード） */
.wlc-box--top{ background:#fff; padding:28px 30px; overflow:hidden; border-radius:10px; box-shadow:0 10px 30px rgba(30,15,15,.08); }
.wlc-box--top::before{ content:""; position:absolute; top:0; left:0; width:100%; height:3px;
	background:var(--wlc-red); transform-origin:left; }

/* ③ left：白＋左ライン */
.wlc-box--left{ background:#fff; border:1px solid var(--wlc-line); border-radius:0 6px 6px 0; padding:22px 26px; overflow:hidden; }
.wlc-box--left::before{ content:""; position:absolute; top:0; left:0; width:3px; height:100%;
	background:var(--wlc-red); transform-origin:top; }

/* ④ fill：白背景＋上ライン＋ふわっと影（リッチなカード） */
.wlc-box--fill{ background:#fff; padding:28px 30px; overflow:hidden; border-radius:10px; box-shadow:0 10px 30px rgba(30,15,15,.08); }
.wlc-box--fill::before{ content:""; position:absolute; top:0; left:0; width:100%; height:3px;
	background:var(--wlc-red); transform-origin:left; }

/* ⑤ label：ラベルタブ */
.wlc-box--label{ background:#fff; border:1px solid var(--wlc-line); padding:26px 28px 24px; border-radius:8px; }
.wlc-box--label .wlc-box__label{ position:absolute; top:-11px; left:22px; margin:0;
	background:var(--wlc-red); color:#fff; letter-spacing:.12em; text-transform:none;
	font-size:11px; padding:5px 13px; border-radius:5px; transform-origin:left; }

/* --- アニメ発火（JS有効時のみ初期隠し→画面内で描画） --- */
.wlc-js .wlc-box--frame .wlc-frame__a,
.wlc-js .wlc-box--frame .wlc-frame__b{ stroke-dasharray:0 100; }
.wlc-js .wlc-box--frame.wlc-in .wlc-frame__a,
.wlc-js .wlc-box--frame.wlc-in .wlc-frame__b{ animation:wlcDraw2 1.05s cubic-bezier(.65,0,.35,1) forwards; }
.wlc-js .wlc-box--top::before,
.wlc-js .wlc-box--fill::before,
.wlc-js .wlc-box--label .wlc-box__label{ transform:scaleX(0); }
.wlc-js .wlc-box--left::before{ transform:scaleY(0); }
.wlc-js .wlc-box--top.wlc-in::before,
.wlc-js .wlc-box--fill.wlc-in::before{ animation:wlcGrowX .7s ease forwards; }
.wlc-js .wlc-box--left.wlc-in::before{ animation:wlcGrowY .7s ease forwards; }
.wlc-js .wlc-box--label.wlc-in .wlc-box__label{ animation:wlcGrowX .5s ease forwards; }

/* =========================================================
   見出し 自動適用：普通の H2 / H3 ブロックに効く
   （Gutenbergが付ける h2.wp-block-heading / h3.wp-block-heading を対象）
   ========================================================= */
/* H2：上に全幅の細い罫＋左に太い赤の短線 */
h2.wp-block-heading{
	position:relative; font-size:2rem; font-weight:800; letter-spacing:.02em; line-height:1.35;
	margin:3rem 0 1.5rem; padding-top:42px;
}
h2.wp-block-heading::before{ content:""; position:absolute; top:0; left:0; width:100%; height:1px;
	background:var(--wlc-line); transform-origin:left; }
h2.wp-block-heading::after{ content:""; position:absolute; top:-1px; left:0; width:64px; height:4px;
	background:var(--wlc-red); border-radius:1px; transform-origin:left; }

/* H3：左に短い赤の横棒 */
h3.wp-block-heading{
	position:relative; font-size:1.4rem; font-weight:800; line-height:1.5;
	margin:2.4rem 0 1rem; padding-left:52px;
}
h3.wp-block-heading::before{ content:""; position:absolute; left:0; top:.7em; width:34px; height:4px;
	background:var(--wlc-red); border-radius:2px; transform-origin:left; }

.wlc-js h2.wp-block-heading::before,
.wlc-js h2.wp-block-heading::after,
.wlc-js h3.wp-block-heading::before{ transform:scaleX(0); }
.wlc-js h2.wp-block-heading.wlc-in::before{ animation:wlcGrowX .7s ease forwards; }
.wlc-js h2.wp-block-heading.wlc-in::after{ animation:wlcGrowX .6s ease forwards .15s; }
.wlc-js h3.wp-block-heading.wlc-in::before{ animation:wlcGrowX .6s ease forwards; }

/* =========================================================
   リード見出し（Hタグなし）  weluca/lead  variant: circle/check
   ========================================================= */
.wlc-lead{ display:flex; align-items:center; gap:15px; font-size:1.15rem; font-weight:700;
	line-height:1.6; margin:1.8rem 0 1rem; }
.wlc-lead__mk{ flex:none; width:32px; height:32px; }
.wlc-lead__mk svg{ width:32px; height:32px; overflow:visible; display:block; }
.wlc-lead__ring{ fill:none; stroke:var(--wlc-red); stroke-width:2.4; stroke-dasharray:100; stroke-dashoffset:0; }
.wlc-lead__dot{ fill:var(--wlc-red); transform-box:fill-box; transform-origin:center; }
.wlc-lead__check{ fill:none; stroke:var(--wlc-red); stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round;
	stroke-dasharray:100; stroke-dashoffset:0; }

.wlc-js .wlc-lead__ring{ stroke-dashoffset:100; }
.wlc-js .wlc-lead__dot{ opacity:0; transform:scale(.3); }
.wlc-js .wlc-lead__check{ stroke-dashoffset:100; }
.wlc-js .wlc-lead.wlc-in .wlc-lead__ring{ animation:wlcDraw 1s cubic-bezier(.65,0,.35,1) forwards; }
.wlc-js .wlc-lead.wlc-in .wlc-lead__dot{ animation:wlcPop .4s ease forwards .5s; }
.wlc-js .wlc-lead.wlc-in .wlc-lead__check{ animation:wlcDraw .85s cubic-bezier(.65,0,.35,1) forwards; }

/* =========================================================
   タイムライン   weluca/timeline ＋ weluca/timeline-item
   ========================================================= */
.wlc-tl{ position:relative; width:100%; margin:2.85rem auto; padding-left:34px; box-sizing:border-box; }
@media (max-width:768px){ .wlc-tl{ width:100%; } }
.wlc-tl__railbg{ position:absolute; left:9px; top:8px; width:2px; height:calc(100% - 16px); background:var(--wlc-line); }
.wlc-tl__rail{ position:absolute; left:9px; top:8px; width:2px; height:calc(100% - 16px);
	background:var(--wlc-red); transform-origin:top; }
.wlc-tl__item{ position:relative; padding-bottom:26px; }
.wlc-tl__item:last-child{ padding-bottom:0; }
.wlc-tl__dot{ position:absolute; left:-34px; top:2px; width:20px; height:20px; border-radius:50%;
	background:#fff; border:2px solid var(--wlc-red); box-shadow:0 0 0 4px #fff; box-sizing:border-box; transform-origin:center; }
.wlc-tl__step{ font-weight:700; margin:0 0 4px; }
.wlc-tl__content > :first-child{ margin-top:0; } .wlc-tl__content > :last-child{ margin-bottom:0; }
.wlc-tl__content p{ font-size:.96em; line-height:1.8; }

.wlc-js .wlc-tl__rail{ transform:scaleY(0); }
.wlc-js .wlc-tl.wlc-in .wlc-tl__rail{ animation:wlcGrowY .9s ease forwards; }
.wlc-js .wlc-tl__dot{ opacity:0; transform:scale(.3); }
.wlc-js .wlc-tl.wlc-in .wlc-tl__list > .wlc-tl__item .wlc-tl__dot{ animation:wlcPop .4s ease forwards; }
.wlc-js .wlc-tl.wlc-in .wlc-tl__list > .wlc-tl__item:nth-child(2) .wlc-tl__dot{ animation-delay:.15s; }
.wlc-js .wlc-tl.wlc-in .wlc-tl__list > .wlc-tl__item:nth-child(3) .wlc-tl__dot{ animation-delay:.3s; }
.wlc-js .wlc-tl.wlc-in .wlc-tl__list > .wlc-tl__item:nth-child(4) .wlc-tl__dot{ animation-delay:.45s; }
.wlc-js .wlc-tl.wlc-in .wlc-tl__list > .wlc-tl__item:nth-child(5) .wlc-tl__dot{ animation-delay:.6s; }
.wlc-js .wlc-tl.wlc-in .wlc-tl__list > .wlc-tl__item:nth-child(6) .wlc-tl__dot{ animation-delay:.75s; }

/* =========================================================
   吹き出し   weluca/fukidashi
   ========================================================= */
/* アイコンはコーナー上・吹き出し本体は下。左右切替（--left/--right）対応 */
.wlc-fk{ position:relative; width:100%; margin:2.55rem auto; padding-top:38px; box-sizing:border-box; }
/* 吹き出し本体 */
.wlc-fk__bubble{ position:relative; background:#fff; border:1.5px solid #ecdcda; border-radius:14px; padding:18px 20px; }
.wlc-fk__body > :first-child{ margin-top:0; } .wlc-fk__body > :last-child{ margin-bottom:0; }
.wlc-fk__body p{ font-size:.95em; margin:0; line-height:1.85; }
/* アバター（コーナー上・少しだけ吹き出しに重なる） */
.wlc-fk__avatar{ position:absolute; top:0; left:6px; width:56px; height:56px; border-radius:50%;
	background:var(--wlc-red-soft); color:var(--wlc-red-deep); border:1px solid #eccfcc;
	display:flex; align-items:center; justify-content:center; font-weight:700; font-size:19px;
	overflow:hidden; z-index:2; box-shadow:0 5px 14px rgba(178,58,52,.16); transform-origin:center; }
.wlc-fk__avatar img{ width:100%; height:100%; object-fit:cover; }
/* 名前ラベル（枠の外・上に。アバターの横） */
.wlc-fk__name{ position:absolute; top:-24px; left:72px; font-size:11px; letter-spacing:.06em;
	color:var(--wlc-muted); z-index:2; white-space:nowrap; }
/* ===== 右（見本と同じ向き）：baseの左指定を打ち消して右へ ===== */
.wlc-fk--right .wlc-fk__avatar{ left:auto; right:6px; }
.wlc-fk--right .wlc-fk__name{ left:auto; right:72px; }

.wlc-js .wlc-fk__avatar{ opacity:0; transform:scale(.4); }
.wlc-js .wlc-fk.wlc-in .wlc-fk__avatar{ animation:wlcPop .45s ease forwards; }

/* =========================================================
   アコーディオン   weluca/accordion ＋ weluca/accordion-item
   ========================================================= */
.wlc-acc{ position:relative; width:100%; margin:2.85rem auto; box-sizing:border-box; }
@media (max-width:768px){ .wlc-acc{ width:100%; } }
.wlc-acc::before{ content:""; position:absolute; top:0; left:0; width:100%; height:1px; background:var(--wlc-line); transform-origin:left; }
.wlc-acc__item{ position:relative; }
.wlc-acc__item::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:1px; background:var(--wlc-line); transform-origin:left; }
.wlc-acc__q{ display:flex; align-items:center; gap:12px; padding:16px 2px; cursor:pointer; font-weight:700; line-height:1.5; }
.wlc-acc__mark{ color:var(--wlc-red); font-weight:800; font-size:.9em; flex:none; }
.wlc-acc:not(.wlc-acc--q) .wlc-acc__mark{ display:none; }
.wlc-acc__qt{ flex:1; }
.wlc-acc__ic{ position:relative; width:15px; height:15px; flex:none; }
.wlc-acc__ic::before,.wlc-acc__ic::after{ content:""; position:absolute; background:var(--wlc-red); border-radius:1px;
	transition:transform .3s ease, opacity .3s ease; }
.wlc-acc__ic::before{ top:50%; left:0; width:100%; height:2px; transform:translateY(-50%); }
.wlc-acc__ic::after{ left:50%; top:0; width:2px; height:100%; transform:translateX(-50%); }
.wlc-acc__item.open .wlc-acc__ic::after{ transform:translateX(-50%) scaleY(0); opacity:0; }
.wlc-acc__a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.wlc-acc__item.open .wlc-acc__a{ max-height:1200px; }
.wlc-acc__a-in{ padding:0 2px 18px; color:#3a3f47; }
.wlc-acc__a-in > :first-child{ margin-top:0; } .wlc-acc__a-in > :last-child{ margin-bottom:0; }
.wlc-acc__a-in p{ font-size:.96em; line-height:1.8; }
/* エディタでは中身が見えるよう開いた状態で表示 */
.editor-styles-wrapper .wlc-acc__a{ max-height:none; overflow:visible; }
/* anim：罫が順に引かれる */
.wlc-js .wlc-acc::before,
.wlc-js .wlc-acc__item::after{ transform:scaleX(0); }
.wlc-js .wlc-acc.wlc-in::before{ animation:wlcGrowX .5s ease forwards; }
.wlc-js .wlc-acc.wlc-in .wlc-acc__item::after{ animation:wlcGrowX .5s ease forwards; }
.wlc-js .wlc-acc.wlc-in .wlc-acc__item:nth-child(2)::after{ animation-delay:.1s; }
.wlc-js .wlc-acc.wlc-in .wlc-acc__item:nth-child(3)::after{ animation-delay:.2s; }
.wlc-js .wlc-acc.wlc-in .wlc-acc__item:nth-child(4)::after{ animation-delay:.3s; }
.wlc-js .wlc-acc.wlc-in .wlc-acc__item:nth-child(5)::after{ animation-delay:.4s; }
.wlc-js .wlc-acc.wlc-in .wlc-acc__item:nth-child(6)::after{ animation-delay:.5s; }

/* =========================================================
   iconbox   weluca/iconbox  type: point(黄)/caution(赤)/check(青)
   ========================================================= */
.wlc-ib{ display:flex; gap:14px; align-items:flex-start; width:100%; margin:2.55rem auto; box-sizing:border-box;
	border-radius:8px; padding:18px 22px; --c:var(--wlc-red); --c-soft:var(--wlc-red-soft); background:var(--c-soft); }
@media (max-width:768px){ .wlc-ib{ width:100%; } }
.wlc-ib--point{ --c:var(--wlc-amber); --c-soft:var(--wlc-amber-soft); }
.wlc-ib--caution{ --c:var(--wlc-red); --c-soft:var(--wlc-red-soft); }
.wlc-ib--check{ --c:var(--wlc-blue); --c-soft:var(--wlc-blue-soft); }
.wlc-ib__ic{ flex:none; width:26px; height:26px; }
.wlc-ib__ic svg{ width:26px; height:26px; display:block; overflow:visible; }
.wlc-ib__ic .st{ fill:none; stroke:var(--c); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;
	stroke-dasharray:100; stroke-dashoffset:0; }
.wlc-ib__title{ font-weight:700; margin:0 0 2px; color:var(--c); }
.wlc-ib__title:empty{ display:none; }
.wlc-ib__inner > :first-child{ margin-top:0; } .wlc-ib__inner > :last-child{ margin-bottom:0; }
.wlc-ib__inner p{ font-size:.96em; margin:0; line-height:1.8; }
/* anim：アイコンが描かれる */
.wlc-js .wlc-ib__ic .st{ stroke-dashoffset:100; }
.wlc-js .wlc-ib.wlc-in .wlc-ib__ic .st{ animation:wlcDraw .95s cubic-bezier(.65,0,.35,1) forwards; }

/* =========================================================
   コード   weluca/code（軽量・ハイライトJSなし）
   ========================================================= */
.wlc-code{ position:relative; width:100%; margin:2.55rem auto; box-sizing:border-box;
	background:var(--wlc-code-bg); border:1px solid var(--wlc-line); border-radius:8px; }
@media (max-width:768px){ .wlc-code{ width:100%; } }
.wlc-code__bar{ position:absolute; top:0; left:0; width:100%; height:2px; background:var(--wlc-red);
	transform-origin:left; border-radius:8px 8px 0 0; }
.wlc-code__label{ position:absolute; top:0; right:12px; transform:translateY(-50%); background:var(--wlc-red); color:#fff;
	font-size:10px; font-weight:700; letter-spacing:.1em; padding:2px 8px; border-radius:4px; }
.wlc-code pre{ margin:0; padding:18px; overflow-x:auto; }
.wlc-code code{ font-family:"SFMono-Regular",Menlo,Consolas,"Courier New",monospace; font-size:.85em; line-height:1.7;
	color:#2b3444; white-space:pre; }
/* anim：上罫が引かれ、ラベルがポップ */
.wlc-js .wlc-code__bar{ transform:scaleX(0); }
.wlc-js .wlc-code__label{ opacity:0; transform:translateY(-50%) scale(.4); transform-origin:center; }
.wlc-js .wlc-code.wlc-in .wlc-code__bar{ animation:wlcGrowX .6s ease forwards; }
.wlc-js .wlc-code.wlc-in .wlc-code__label{ animation:wlcPopY .4s ease forwards .25s; }
@keyframes wlcPopY{ from{ opacity:0; transform:translateY(-50%) scale(.4); } to{ opacity:1; transform:translateY(-50%) scale(1); } }

/* =========================================================
   ブログカード   weluca/blogcard（サムネ＋タイトル・アニメ付き）
   ========================================================= */
.wlc-bc{ display:flex; align-items:stretch; width:100%; margin:2.55rem auto; box-sizing:border-box;
	border:1px solid var(--wlc-line); border-radius:10px; overflow:hidden; text-decoration:none;
	color:var(--wlc-ink); background:#fff; transition:box-shadow .28s ease, transform .28s ease; }
@media (max-width:768px){ .wlc-bc{ width:100%; } }
.wlc-bc:hover{ box-shadow:0 12px 30px -20px rgba(26,29,33,.35); transform:translateY(-2px); }
.wlc-bc__thumb{ flex:none; width:36%; min-height:118px; overflow:hidden; background:#f1f1f0; }
.wlc-bc__thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.wlc-bc:hover .wlc-bc__thumb img{ transform:scale(1.05); }
.wlc-bc__body{ flex:1; min-width:0; padding:14px 18px; display:flex; flex-direction:column; justify-content:center; gap:7px; }
.wlc-bc__label{ align-self:flex-start; font-size:10px; font-weight:700; letter-spacing:.1em; color:#fff;
	background:var(--wlc-red); padding:3px 9px; border-radius:4px; }
.wlc-bc__label:empty{ display:none; }
.wlc-bc__title{ font-weight:700; line-height:1.5; font-size:1rem;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.wlc-bc__more{ font-size:11px; color:var(--wlc-muted); }
/* anim：サムネがワイプで現れ、ラベルがポップ */
.wlc-js .wlc-bc__thumb{ clip-path:inset(0 100% 0 0); }
.wlc-js .wlc-bc.wlc-in .wlc-bc__thumb{ animation:wlcWipe .75s cubic-bezier(.65,0,.35,1) forwards; }
.wlc-js .wlc-bc__label{ opacity:0; transform:scale(.4); transform-origin:left center; }
.wlc-js .wlc-bc.wlc-in .wlc-bc__label{ animation:wlcPop .45s ease forwards .3s; }
@keyframes wlcWipe{ from{ clip-path:inset(0 100% 0 0); } to{ clip-path:inset(0 0 0 0); } }

/* =========================================================
   インライン装飾（WELUCA独自命名）
   旧JIN:Rの文字装飾を weluca-blocks 自前で再現。
   ※変換時に本文のクラス名もこの独自名へ改名する（JIN:Rの名残なし）。
   マーカー/リスト色は #ea3333（ブランド赤）。
   ========================================================= */
.wlc-bold{ font-weight:700; }
/* マーカーペン */
.wlc-marker-yellow{ background:linear-gradient(transparent 80%, #eada2a 80%); }
.wlc-marker-red{ background:linear-gradient(transparent 80%, #dd3333 80%); }
/* 色文字（アクセント） */
.wlc-accent-text{ color:#ea3333; }
/* 装飾リスト（赤い点・番号つき） */
.wp-block-list{ list-style:none; box-sizing:border-box; padding:0 2rem; margin:1.8rem 0; }
.wp-block-list li{ position:relative; margin:9px 0; line-height:2; }
.wp-block-list ol, .wp-block-list ul{ list-style:none; padding-left:1.2rem; margin:0; }
ul.wp-block-list li{ padding-left:1.65rem; }
ul.wp-block-list li::after{ content:""; position:absolute; width:6px; height:6px; border-radius:50%;
	left:0; top:.8em; background-color:#ea3333; }
ul.wp-block-list li li{ padding-left:1.75rem; }
ul.wp-block-list li li::after{ width:8px; height:1px; border-radius:0; top:.85em; }
ol.wp-block-list{ counter-reset:item; padding:0 2.4rem; }
ol.wp-block-list li{ padding-left:2.85rem; counter-increment:item; }
ol.wp-block-list li::before{ content:""; position:absolute; width:20px; height:20px; border-radius:50%;
	left:0; top:.15em; background-color:#ea3333; }
ol.wp-block-list li::after{ content:counter(item); position:absolute; width:20px; height:20px; text-align:center;
	color:#fff; left:0; top:.15em; font-size:.72rem; line-height:20px; }

/* アクセシビリティ：動きを減らす設定なら描画済みで固定 */
@media (prefers-reduced-motion:reduce){
	.wlc-js *{ animation:none !important; }
	.wlc-js .wlc-lead__ring,.wlc-js .wlc-lead__check,.wlc-js .wlc-ib__ic .st{ stroke-dashoffset:0 !important; }
	.wlc-js .wlc-frame__a,.wlc-js .wlc-frame__b{ stroke-dasharray:50 50 !important; }
	.wlc-js .wlc-box--top::before,.wlc-js .wlc-box--fill::before,.wlc-js .wlc-box--left::before,
	.wlc-js h2.wp-block-heading::before,.wlc-js h2.wp-block-heading::after,.wlc-js h3.wp-block-heading::before,
	.wlc-js .wlc-box--label .wlc-box__label,.wlc-js .wlc-tl__rail,
	.wlc-js .wlc-acc::before,.wlc-js .wlc-acc__item::after,.wlc-js .wlc-code__bar{ transform:none !important; }
	.wlc-js .wlc-lead__dot,.wlc-js .wlc-tl__dot,.wlc-js .wlc-fk__avatar,.wlc-js .wlc-code__label,
	.wlc-js .wlc-bc__label{ opacity:1 !important; transform:none !important; }
	.wlc-js .wlc-code__label{ transform:translateY(-50%) !important; }
	.wlc-js .wlc-bc__thumb{ clip-path:none !important; }
}

/* =========================================================
   WELUCAテーマ稼働時のブログ本文ポリッシュ（見出し・コード）
   テーマ style.css の .entry-content h2/pre/code を上書き。
   ========================================================= */
/* --- 見出し：テーマの左罫を打ち消し、WELUCAデザイン（上罫＋左短線）を適用 --- */
.entry-content h2.wp-block-heading{ border-left:0 !important; padding:42px 0 0 !important;
	margin:3rem 0 1.5rem !important; color:var(--wlc-ink) !important; font-size:2rem !important; line-height:1.35 !important; }
.entry-content h3.wp-block-heading{ border-left:0 !important; padding:0 0 0 52px !important;
	margin:2.4rem 0 1rem !important; color:var(--wlc-ink) !important; font-size:1.4rem !important; line-height:1.5 !important; }

/* --- コード：weluca/code と core/code を統一した“スタイリッシュなダーク” --- */
:root{ --wlc-code-dark:#282c34; --wlc-code-fg:#e6e6e6; }
/* 標準コードブロック core/code（ボックス内でも使用） */
.entry-content pre.wp-block-code{ position:relative; width:100%; margin:1.3rem 0; box-sizing:border-box;
	background:var(--wlc-code-dark) !important; color:var(--wlc-code-fg) !important;
	border:0; border-radius:10px; padding:44px 20px 18px; overflow-x:auto;
	font-family:"SFMono-Regular",Menlo,Consolas,"Courier New",monospace; font-size:.85em; line-height:1.75; }
.entry-content pre.wp-block-code code{ background:transparent !important; color:inherit !important; padding:0 !important;
	font-size:1em; white-space:pre; border-radius:0; }
/* weluca/code もダークに統一 */
.wlc-code{ background:var(--wlc-code-dark) !important; border:0 !important; }
.wlc-code pre{ padding:44px 20px 18px; }
.wlc-code code{ color:var(--wlc-code-fg) !important; background:transparent !important; }
.wlc-code .wlc-code__label{ right:auto; left:14px; top:14px; transform:none; }

/* --- コピーボタン（両コードブロック共通） --- */
.wlc-copy{ position:absolute; top:10px; right:10px; z-index:4; font-family:-apple-system,sans-serif;
	font-size:11px; font-weight:700; color:#cfd3dc; background:rgba(255,255,255,.10);
	border:1px solid rgba(255,255,255,.20); border-radius:6px; padding:5px 12px; cursor:pointer; line-height:1;
	transition:background .15s ease; }
.wlc-copy:hover{ background:rgba(255,255,255,.20); }
.wlc-copy.done{ color:#8fd19e; border-color:rgba(143,209,158,.5); }
