/* =====================================================================
 * column-legacy.css — 旧サイト(SWELL)記事の互換スタイル
 * ---------------------------------------------------------------------
 * 移行するコラム記事の本文には、SWELL独自ブロックのクラスが
 * そのまま残っている（swell-block-*, is-style-*）。
 * SWELLテーマを外すとCSSが無くなり体裁が崩れるため、
 * 見た目を極力揃えるための最小限のスタイルをここに用意する。
 * 対応クラスは移行対象記事で実際に使われていたものに限定。
 * ===================================================================== */

.entry-content .wp-block-paragraph { margin: 0 0 1.4em; }

/* --- is-style-stitch／note_box：注意書きの囲みボックス --- */
.entry-content .is-style-stitch {
	display: block;
	position: relative;
	background: var(--c-bg-soft);
	color: var(--c-ink-weak);
	padding: 1em 1.4em;
	margin: 1.6em 0;
	border-radius: var(--radius-sm);
}
.entry-content .is-style-stitch::before {
	content: "";
	position: absolute;
	inset: 6px;
	border: 1px dashed var(--c-border);
	border-radius: inherit;
	pointer-events: none;
}

/* --- is-style-bg_stripe：ストライプ背景の強調 --- */
.entry-content .is-style-bg_stripe {
	position: relative;
	padding: 1em 1.4em;
	margin: 1.6em 0;
	background-image: repeating-linear-gradient(
		-45deg,
		transparent, transparent 3px,
		var(--c-border) 3px, var(--c-border) 6px
	);
}

/* --- is-style-photo_frame：画像の白フチ＋影 --- */
.entry-content .is-style-photo_frame img,
.entry-content img.photo_frame {
	border: 4px solid #fff;
	box-shadow: 0 0 0 1px var(--c-border);
}

/* --- is-style-balloon_box：吹き出し風の一言 --- */
.entry-content .is-style-balloon_box {
	display: inline-block;
	width: fit-content;
	background: var(--c-brand);
	color: #fff;
	line-height: 1.4;
	padding: .5em 1.25em;
	margin: 1em 0;
	border-radius: 2px;
}

/* --- is-style-num_circle：丸数字リスト --- */
.entry-content .is-style-num_circle {
	list-style: none !important;
	padding-left: 0;
	counter-reset: swl-num;
}
.entry-content .is-style-num_circle > li {
	position: relative;
	padding: .3em 0 .3em 2.2em;
	margin-bottom: .6em;
	counter-increment: swl-num;
}
.entry-content .is-style-num_circle > li::before {
	content: counter(swl-num);
	position: absolute;
	left: 0;
	top: .2em;
	width: 1.6em;
	height: 1.6em;
	line-height: 1.6em;
	text-align: center;
	background: var(--c-brand);
	color: #fff;
	border-radius: 50%;
	font-weight: var(--fw-bold);
	font-size: .85em;
}

/* --- is-style-big_icon_check／good：チェックアイコン付きリスト --- */
.entry-content .is-style-big_icon_check,
.entry-content .is-style-big_icon_good {
	list-style: none !important;
	padding-left: 0;
}
.entry-content .is-style-big_icon_check > li,
.entry-content .is-style-big_icon_good > li {
	position: relative;
	padding: .2em 0 .2em 1.8em;
	margin-bottom: .5em;
}
.entry-content .is-style-big_icon_check > li::before,
.entry-content .is-style-big_icon_good > li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--c-ok);
	font-weight: var(--fw-bold);
}

/* --- is-style-kakko_box：括弧見出し風の囲み --- */
.entry-content .is-style-kakko_box {
	position: relative;
	padding: 1.2em 1.4em;
	margin: 1.6em 0;
	border-top: 2px solid var(--c-brand);
	border-bottom: 2px solid var(--c-brand);
}

/* --- is-style-border：シンプルな下線 --- */
.entry-content .is-style-border {
	border-bottom: 1px solid var(--c-border);
	padding-bottom: .2em;
}

/* --- swell-block-columns／column：横並びカラム --- */
.entry-content .swell-block-columns__inner {
	display: flex;
	flex-wrap: wrap;
	margin: 1.6em 0;
	gap: 1.2em;
}
.entry-content .swell-block-column {
	flex: 1 1 240px;
	min-width: 0;
}
.entry-content .swell-block-column img {
	width: 100%;
	height: auto;
	border-radius: var(--radius-sm);
}

/* --- swell-block-faq：アコーディオン風Q&A --- */
.entry-content .swell-block-faq {
	margin: 1.6em 0;
}
.entry-content .swell-block-faq__item {
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	margin-bottom: .8em;
	overflow: hidden;
}
.entry-content .swell-block-faq .faq_q {
	position: relative;
	background: var(--c-bg-soft);
	color: var(--c-brand-deep);
	font-weight: var(--fw-bold);
	padding: .9em 2.4em .9em 1.2em;
}
.entry-content .swell-block-faq .faq_q::before {
	content: "Q";
	color: var(--c-brand);
	font-weight: var(--fw-black);
	margin-right: .5em;
}
.entry-content .swell-block-faq .faq_a {
	padding: .9em 1.2em;
	margin: 0;
}
.entry-content .swell-block-faq .faq_a::before {
	content: "A";
	color: var(--c-warm);
	font-weight: var(--fw-black);
	margin-right: .5em;
}

/* --- swell-block-postLink／p-blogCard：関連記事カード --- */
.entry-content .swell-block-postLink { margin: 1.8em 0; }
.entry-content .p-blogCard {
	display: block;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	text-decoration: none;
	color: inherit;
	transition: box-shadow .2s;
}
.entry-content .p-blogCard:hover {
	box-shadow: var(--shadow);
}
.entry-content .p-blogCard__inner {
	display: flex;
	align-items: center;
	gap: 1em;
	padding: 16px;
	position: relative;
}
.entry-content .p-blogCard__caption {
	position: absolute;
	top: -.7em;
	left: 12px;
	background: #fff;
	padding: 0 .5em;
	font-size: .75em;
	color: var(--c-gray);
}
.entry-content .p-blogCard__thumb {
	flex-shrink: 0;
	width: 30%;
	max-width: 120px;
}
.entry-content .p-blogCard__thumb img {
	width: 100%;
	height: auto;
	border-radius: var(--radius-sm);
	display: block;
}
.entry-content .p-blogCard__body {
	flex: 1 1 auto;
	font-weight: var(--fw-bold);
	color: var(--c-ink);
}

/* ===========================================================
   旧テーマ（SWELL）のブロックを新テーマで出すための見た目
   2026-08-25。inc/legacy-blocks.php と対になる。
   =========================================================== */

/* --- 関連記事リンク（旧 loos/post-link。287か所） --- */
.legacy-postlink {
	display: flex; gap: 14px; align-items: center;
	margin: 20px 0; padding: 14px 16px;
	background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius);
	text-decoration: none; color: inherit;
}
.legacy-postlink:hover { border-color: var(--c-brand); background: var(--c-brand-pale); }
.legacy-postlink__thumb { flex: 0 0 96px; }
.legacy-postlink__thumb img { width: 96px; height: 72px; object-fit: cover; border-radius: 6px; display: block; }
.legacy-postlink__body { display: grid; gap: 4px; }
.legacy-postlink__label { font-size: 12px; font-weight: var(--fw-bold); color: var(--c-brand); }
.legacy-postlink__title { font-weight: var(--fw-bold); text-decoration: underline; }

/* --- 吹き出し（旧 loos/balloon。82か所） --- */
.legacy-balloon { display: flex; gap: 12px; align-items: flex-start; margin: 20px 0; }
.legacy-balloon__icon { flex: 0 0 60px; text-align: center; }
.legacy-balloon__icon img { width: 60px; height: 60px; object-fit: cover; border-radius: 50%; display: block; }
.legacy-balloon__name { font-size: 11px; color: var(--c-gray); display: block; margin-top: 4px; }
.legacy-balloon__text {
	position: relative; flex: 1;
	background: var(--c-bg-soft); border-radius: 12px; padding: 14px 16px;
}
/* 吹き出しの尻尾。アイコン側へ向ける */
.legacy-balloon__text::before {
	content: ""; position: absolute; left: -8px; top: 20px;
	border: 8px solid transparent; border-right-color: var(--c-bg-soft); border-left: 0;
}
.legacy-balloon__text > :first-child { margin-top: 0; }
.legacy-balloon__text > :last-child { margin-bottom: 0; }
.legacy-balloon--blue .legacy-balloon__text { background: #eaf3fd; }
.legacy-balloon--blue .legacy-balloon__text::before { border-right-color: #eaf3fd; }
.legacy-balloon--green .legacy-balloon__text { background: #eaf7ee; }
.legacy-balloon--green .legacy-balloon__text::before { border-right-color: #eaf7ee; }
.legacy-balloon--yellow .legacy-balloon__text { background: #fdf6e3; }
.legacy-balloon--yellow .legacy-balloon__text::before { border-right-color: #fdf6e3; }
