/* =========================================================
   SWELL 受け皿CSS
   SWELL無効化後も、旧記事のSWELLブロックが崩れず読めるよう整える。
   色は各サイトのアクセント(--site-accent)を自動で使用。
   ========================================================= */

/* --- アコーディオン（details/summary） --- */
.swell-block-accordion{ margin:20px 0; }
.swell-block-accordion__item{
	border:1px solid var(--line); border-radius:10px;
	background:#fff; margin-bottom:10px; overflow:hidden;
}
.swell-block-accordion__title{
	list-style:none; cursor:pointer; position:relative;
	padding:13px 44px 13px 16px;
	font-family:var(--heading-font); font-weight:500; color:var(--text);
	background:transparent;
}
.swell-block-accordion__item[open] > .swell-block-accordion__title{
	border-bottom:1px solid var(--line);
}
.swell-block-accordion__title::-webkit-details-marker{ display:none; }
.swell-block-accordion__icon{ display:none; } /* SWELLアイコンフォントは出ないので隠す */
.swell-block-accordion__title::after{
	content:""; position:absolute; right:18px; top:46%;
	width:8px; height:8px;
	border-right:2px solid var(--site-accent); border-bottom:2px solid var(--site-accent);
	transform:translateY(-50%) rotate(45deg); transition:transform .2s;
}
.swell-block-accordion__item[open] > .swell-block-accordion__title::after{
	transform:translateY(-20%) rotate(-135deg);
}
.swell-block-accordion__body{ padding:14px 16px; }
.swell-block-accordion__body > *:last-child{ margin-bottom:0; }

/* --- FAQ（よくある質問） --- */
.swell-block-faq{ margin:20px 0; }
.swell-block-faq__item{
	border:none; background:transparent;
	padding:18px 0; border-bottom:1px solid var(--line);
}
.swell-block-faq__item:last-child{ border-bottom:none; }
.swell-block-faq .faq_q{
	position:relative; margin:0 0 8px; padding-left:38px;
	background:transparent;
	font-family:var(--heading-font); font-weight:500; color:var(--text);
}
.swell-block-faq .faq_q::before{
	content:"Q"; position:absolute; left:0; top:0;
	width:26px; height:26px; border-radius:50%;
	background:var(--site-accent); color:#fff;
	font-family:var(--font-num); font-size:.85rem; line-height:26px; text-align:center;
}
.swell-block-faq .faq_a{
	position:relative; margin:0; padding-left:38px;
}
.swell-block-faq .faq_a::before{
	content:"A"; position:absolute; left:0; top:0;
	width:26px; height:26px; border-radius:50%; box-sizing:border-box;
	background:transparent; border:1.5px solid var(--site-accent); color:var(--site-accent);
	font-family:var(--font-num); font-size:.85rem; line-height:23px; text-align:center;
}
.swell-block-faq .faq_a > *:last-child{ margin-bottom:0; }

/* --- バルーンボックス（吹き出し風の囲み） --- */
.is-style-balloon_box{
	position:relative; background:#F6F2EC;
	border-left:3px solid var(--site-accent); border-radius:6px;
	padding:14px 16px; margin:22px 0 18px;
}

/* --- 番号丸リスト --- */
ul.is-style-num_circle{ list-style:none; counter-reset:swlnum; padding-left:0; }
ul.is-style-num_circle > li{
	position:relative; padding-left:40px; margin:12px 0; counter-increment:swlnum;
}
ul.is-style-num_circle > li::before{
	content:counter(swlnum); position:absolute; left:0; top:.1em;
	width:26px; height:26px; border-radius:50%;
	background:var(--site-accent); color:#fff;
	font-family:var(--font-num); font-size:.85rem; line-height:26px; text-align:center;
}

/* --- チェック/良い/悪いリスト（SWELL定番スタイル） --- */
.is-style-check_list, .is-style-good_list, .is-style-bad_list,
.is-style-mini_ic_check{ list-style:none; padding-left:0; }
.is-style-check_list > li, .is-style-good_list > li,
.is-style-bad_list > li, .is-style-mini_ic_check > li{
	position:relative; padding-left:28px; margin:8px 0;
}
.is-style-check_list > li::before, .is-style-good_list > li::before,
.is-style-mini_ic_check > li::before{
	content:"\2713"; position:absolute; left:2px; top:0; color:var(--sage); font-weight:700;
}
.is-style-bad_list > li::before{
	content:"\2715"; position:absolute; left:2px; top:0; color:var(--plum); font-weight:700;
}

/* --- テーブル（SWELL） --- */
.wp-block-table table{ border-collapse:collapse; width:100%; }
.wp-block-table td, .wp-block-table th{ border:1px solid var(--line); padding:8px 12px; }
.wp-block-table.td_to_th_ td:first-child{
	background:var(--surface); font-weight:500; white-space:nowrap;
}
.wp-block-table.min_width20_ td:first-child{ min-width:20%; }

/* --- ボタン（SWELL） --- */
.swell-block-button__link{
	display:inline-block; background:var(--site-accent); color:#fff !important;
	padding:12px 28px; border-radius:999px; text-decoration:none;
}

/* --- ステップ（保険） --- */
.swell-block-step{ margin:20px 0; }
.swell-block-step__item{
	position:relative; border-left:2px solid var(--site-accent);
	padding:0 0 18px 20px; margin-left:8px;
}
.swell-block-step__number{
	display:inline-block; background:var(--site-accent); color:#fff;
	border-radius:999px; padding:2px 12px;
	font-family:var(--font-num); font-size:.8rem; margin-bottom:6px;
}

/* --- キャプションボックス（保険） --- */
.swell-block-capbox{ border:1px solid var(--line); border-radius:10px; margin:20px 0; overflow:hidden; }
.swell-block-capbox__title{
	background:var(--surface); padding:8px 14px;
	font-family:var(--heading-font); font-weight:500;
}
.swell-block-capbox__body{ padding:14px; }

/* --- ブログカード（関連リンク・保険） --- */
.swell-block-postLink .p-blogCard, .p-blogCard{
	border:1px solid var(--line); border-radius:10px; padding:12px; display:block;
}

/* --- SWELLアイコンフォントが出ない空アイコンの余白を消す --- */
.swell-block-accordion i[class^="icon-"], .swell-block-accordion i[class*=" icon-"]{ display:none; }

/* summary 既定マーカー消し（保険） --- */
.swell-block-accordion summary{ list-style:none; }
.swell-block-accordion summary::-webkit-details-marker{ display:none; }
