/* SWELL のアイコン付き注記（is-style-icon_info 等）が本文の最初の段落の時、先頭段落を囲み枠にする共通CSS
   （codex-sp1-design-system-v4 の > p:first-child）の余白でアイコンと区切り線が文字に重なっていたのを戻す（2026-10-12）。
   id 2つで v4 の規則（id 1つ）より強くし、テーマ本来の左余白 4.25em だけを戻す。 */
#body_wrap #main_content .post_content > p[class*="is-style-icon_"] {
  padding-left: 4.25em;
}
/* Explicitly authored .se-cta and owned ms-apply keyboard-focus correction; no generic link conversion or color assignment.
   Site/vendor colors continue to come from the existing canonical color modules. */
.post_content .se-cta{margin:1.25em 0;max-width:100%;clear:both}
.post_content .se-cta__benefit{margin:0 0 .55em!important;font-size:16px;font-weight:700;line-height:1.6}
.post_content .se-cta .se-cta__btn,.post_content .se-cta--provided>a,.post_content .se-cta--provided>p>a{position:relative;display:flex;align-items:center;justify-content:center;gap:.65em;box-sizing:border-box;width:100%;max-width:100%;min-height:52px;padding:12px 18px;border:0;border-radius:8px;background:var(--ms-head,#173b64);color:#fff;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none;text-align:center;box-shadow:0 2px 0 #0003}
.post_content .se-cta .se-cta__btn::after{content:none!important}
.post_content .se-cta__label{min-width:0;overflow-wrap:anywhere}
.post_content .se-cta__arrow{flex:none;font-size:1.1em;line-height:1}
.post_content .se-cta__btn:hover,.post_content .se-cta--provided>a:hover,.post_content .se-cta--provided>p>a:hover{text-decoration:underline;text-underline-offset:.2em}
.post_content .se-cta .se-cta__btn:focus-visible,.post_content .se-cta--provided>a:focus-visible,.post_content .se-cta--provided>p>a:focus-visible,#body_wrap .post_content a.ms-apply__btn:focus-visible{outline:3px solid #2454db!important;outline-offset:3px!important}
.post_content .se-cta--provided img[width="1"][height="1"]{position:absolute;width:1px!important;height:1px!important;opacity:0;visibility:hidden;pointer-events:none}
.post_content .se-cta__note{margin:.6em 0 0!important;color:#3d4652;font-size:14px;line-height:1.7}
@media(min-width:768px){.post_content .se-cta .se-cta__btn,.post_content .se-cta--provided>a,.post_content .se-cta--provided>p>a{width:fit-content;min-width:min(100%,360px)}}

/* Classic WordPress may wrap a complete text material and its tracker in a paragraph. */
.post_content .se-cta--provided>p:not(.se-cta__benefit):not(.se-cta__note){margin:0!important}


/* カテゴリー：SWELL既定の英字の副題（全サイト） */
#body_wrap .c-pageTitle__subTitle{display:none!important}

/* 記事・固定ページの枠（トップ以外）。並び順に依らないよう要素ごとに上の余白だけで間隔を作る */
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>*{margin-bottom:0!important}
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>:is(.p-articleHead,.c-pageTitle){margin-top:0!important}
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>.p-articleMetas.-top{margin-top:12px!important}
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>:is(.p-articleThumb,.w-singleTop,.sp1-mnp-strip,.post_content){margin-top:24px!important}
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>:is(.p-articleFoot,.w-singleBottom){margin-top:40px!important}
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>.p-articleFoot{padding-top:16px!important}
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>:is(.w-singleBottom,.w-singleTop):not(:has(*)){margin-top:0!important}
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>.c-shareBtns.-bottom{margin-top:24px!important}
#body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>#after_article{margin-top:32px!important;padding-top:0!important}
#body_wrap.sr-on #after_article .l-articleBottom__section{margin-top:40px!important}
#body_wrap.sr-on #after_article>:first-child{margin-top:0!important}

/* 本文の見出しと段落 */
#body_wrap.sr-on .post_content>h2:not(:first-child){margin-top:48px!important}
#body_wrap.sr-on .post_content>h2{margin-bottom:24px!important}
#body_wrap.sr-on .post_content>h3:not(:first-child){margin-top:32px!important}
#body_wrap.sr-on .post_content>h3{margin-bottom:16px!important}
#body_wrap.sr-on .post_content>*:has(+.p-toc){margin-bottom:32px!important}
#body_wrap.sr-on .post_content>.p-toc{margin-top:0!important;margin-bottom:32px!important}
/* 目次の「もっと見る」：SWELL既定は 98x35px でタップ目安44pxに届かない（2026-10-22 モノ比較 anker-charger 390px実測）。全サイト共通で高さ44px */
.p-toc__expandBtn{min-height:44px!important;padding:10px 20px!important}
#body_wrap.sr-flat .post_content>p{margin-bottom:1.2em!important}
/* 段落→段落の間：行間1.82（29px）と段落間18px の差が小さく切れ目が見えなかった。参考記事の390px実測の中央値24〜25px（ダイヤモンド・Zenn24、
   ライフハッカー25/PC30、note30/PC36）に合わせ SP1.5em≒24px・PC1.7em≒28px。段落の次が段落の時だけ（囲み・表・リストの前の余白は別管理）。
   2026-10-23 UX 20261010-sp-17px-24px-1-5em-pc-28px-1-82。戻し方：この2行を消して配り直す */
#body_wrap:is(.sr-card,.sr-hm) .post_content>p:has(+p){margin-bottom:1.5em!important}
@media (min-width:960px){#body_wrap:is(.sr-card,.sr-hm) .post_content>p:has(+p){margin-bottom:1.7em!important}}

/* カテゴリー：見出し→説明16→一覧24。案内パーツの重なる見出し・説明を隠す */
#body_wrap.sr-on.archive .c-pageTitle{margin-bottom:0!important}
#body_wrap.sr-on.archive .p-termHead{margin-top:16px!important;margin-bottom:24px!important}
#body_wrap.sr-on.archive .l-mainContent__inner>*{margin-bottom:0!important}
#body_wrap.sr-on.archive .l-mainContent__inner>:is(.p-termContent,.sc-guide,.c-prNotation,.p-postListWrap,.c-pagination){margin-top:24px!important}
#body_wrap.sr-shotai.archive .p-termHead{padding:16px!important}
#body_wrap.sr-card.archive .p-termHead__desc{padding:0!important}
#body_wrap.sr-mono .mono-cat-head>div:first-child,#body_wrap.sr-sp1 .sp1-cat-head>div:first-child,
#body_wrap.sr-mono .mono-cat-lead{display:none!important}
#body_wrap.sr-mono .mono-cat-head,#body_wrap.sr-sp1 .sp1-cat-head{justify-content:flex-start!important;margin-bottom:8px!important}
/* 2026-11-06 モノ比較：見出しを隠した後も案内の3px下線と次の節の1px上線が残り、ページ見出しの下に線3本と空白が並んでいた。両方の線を外す */
#body_wrap.sr-mono .mono-cat-head{border-bottom:0!important;padding-bottom:0!important}
#body_wrap.sr-mono :is(.mono-cat-head,.mono-cat-head+.mono-cat-lead)+.mono-cat-section{border-top:0!important;padding-top:0!important;margin-top:16px!important}

/* トップ：見出し直後とセクション間 */
#body_wrap.sr-on.home :is(.mhz,.spz,.shz){row-gap:0!important}
#body_wrap.sr-on.home :is(.mhz,.spz,.shz)>*{margin-top:0!important;margin-bottom:0!important}
#body_wrap.sr-on.home :is(.mhz,.spz,.shz)>:not(style,script,link,template)~:not(style,script,link,template){margin-top:28px!important}
#body_wrap.sr-on.home :is(.mhz,.spz,.shz)>:is(.mhz-intro,.spz-head,.shz-hero)+*,#body_wrap.sr-on.home :is(.mhz,.spz,.shz)>:is(.mhz-intro,.spz-head,.shz-hero)+:is(style,script)+*{margin-top:16px!important}

/* フッター */
#body_wrap.sr-on .w-footer{padding-top:0!important}
#body_wrap.sr-on .l-footer__widgetArea{padding-top:32px!important;padding-bottom:32px!important}

@media (max-width:959px){
  /* カード型3サイトのスマホ：本文の左右を20pxに */
  #body_wrap.sr-card:not(.home) #content.l-content{padding-top:16px!important}
  #body_wrap.sr-shotai:not(.home) #content.l-content{padding-left:8px!important;padding-right:8px!important}
  #body_wrap.sr-card:not(.home) .l-mainContent__inner{padding:20px 12px 28px!important}
  #body_wrap.sr-on .w-footer__box{padding-top:0!important;padding-bottom:0!important;margin-bottom:0!important}
  #body_wrap.sr-on .w-footer__box+.w-footer__box{margin-top:32px!important}
}
@media (min-width:960px){
  #body_wrap.sr-card:not(.home) #content.l-content{padding-top:40px!important}
  #body_wrap.sr-card:not(.home) .l-mainContent__inner{padding:56px 64px!important}
  #body_wrap.sr-flat:is(.single,.page):not(.home) .l-mainContent__inner{max-width:800px;margin-left:auto;margin-right:auto}
  #body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>:is(.p-articleThumb,.w-singleTop,.sp1-mnp-strip,.post_content){margin-top:32px!important}
  #body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>:is(.p-articleFoot,.w-singleBottom){margin-top:48px!important}
  #body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>:is(.w-singleBottom,.w-singleTop):not(:has(*)){margin-top:0!important}
  #body_wrap.sr-on:is(.single,.page):not(.home) .l-mainContent__inner>#after_article{margin-top:40px!important}
  #body_wrap.sr-on #after_article .l-articleBottom__section{margin-top:48px!important}
  #body_wrap.sr-on .post_content>h2:not(:first-child){margin-top:64px!important}
  #body_wrap.sr-on .post_content>h2{margin-bottom:28px!important}
  #body_wrap.sr-on .post_content>h3:not(:first-child){margin-top:40px!important}
  #body_wrap.sr-on.home :is(.mhz,.spz,.shz)>:not(style,script,link,template)~:not(style,script,link,template){margin-top:40px!important}
  #body_wrap.sr-on.home :is(.mhz,.spz,.shz)>:is(.mhz-intro,.spz-head,.shz-hero)+*,#body_wrap.sr-on.home :is(.mhz,.spz,.shz)>:is(.mhz-intro,.spz-head,.shz-hero)+:is(style,script)+*{margin-top:24px!important}
  #body_wrap.sr-on .l-footer__widgetArea{padding-top:48px!important;padding-bottom:48px!important}
  #body_wrap.sr-shotai.archive .p-termHead{padding:20px 24px!important}
}

/* SP1：各社カードの「契約までの流れ」（.sp1-cx__flow／.sp1-qk__flow。中身は snippet 119 の JS が 📝申込 → ⚡開通の目安 → 🎁特典の受け取り で作る）を、
   文字のチップから「丸アイコン＋点線＋最後の受け取りを緑」の図にする（2026-10-22 本人「図解でわかりやすく購入契約までいけるようにして」。
   モノ比較・招待コードナビ・はりまっぷと同じ形。台帳 ux 20261021-3-3-3-bd03b6 系）。中身・順番・リンクは変えない（見た目だけ）。
   正本 site-engine/assets/sp1/flow_diagram.css、配布は tools/sitewide_css.py --css。戻し方：同じ名前で --deactivate */
#body_wrap .sp1-cx__flow,#body_wrap .sp1-qk__flow{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0!important;margin:4px 0 6px!important;padding:4px 2px!important;border-radius:10px;background:#f3f7fc;list-style:none!important}
#body_wrap .sp1-cx__flow li,#body_wrap .sp1-qk__flow li{position:relative;display:flex!important;flex-direction:column;align-items:center;gap:2px!important;margin:0!important;padding:0 2px!important;background:none!important;border-radius:0!important;text-align:center;font-size:11.5px;font-weight:800;line-height:1.3;color:#0f2a47}
#body_wrap .sp1-cx__flow li+li,#body_wrap .sp1-qk__flow li+li{margin-left:0!important}
#body_wrap .sp1-cx__flow li+li::after,#body_wrap .sp1-qk__flow li+li::before{content:none!important}
#body_wrap .sp1-cx__flow li i,#body_wrap .sp1-qk__flow li i{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#dbe7f5;font-style:normal;font-size:13px;line-height:1}
#body_wrap .sp1-cx__flow li:first-child i,#body_wrap .sp1-qk__flow li:first-child i{background:#ffcf3f;box-shadow:0 0 0 3px #ffcf3f55}
#body_wrap .sp1-cx__flow li:last-child i,#body_wrap .sp1-qk__flow li:last-child i{background:#bfe8cf;box-shadow:0 0 0 3px #1a9e6a33}
#body_wrap .sp1-cx__flow li:not(:last-child)::before,#body_wrap .sp1-qk__flow li:not(:last-child)::before{content:""!important;position:absolute;top:12px;left:calc(50% + 15px);right:calc(-50% + 15px);border-top:2px dashed #9db3cc}
#body_wrap .sp1-cx .cx-more .sp1-cx__flow,#body_wrap .sp1-qk__card.is-more .sp1-qk__flow{display:none!important}
.sp1-flash{margin:0 0 14px}
.sp1-flash a.sp1-flash__link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;min-height:48px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#b3001b 0%,#e0263e 100%);color:#fff!important;text-decoration:none!important;box-shadow:0 6px 18px rgba(179,0,27,.24)}
.sp1-flash__kicker{grid-column:1;font-size:13px;font-weight:800;line-height:1.4;color:#ffe25a;letter-spacing:.02em}
.sp1-flash__title{grid-column:1;font-size:18px;font-weight:900;line-height:1.4;color:#fff}
.sp1-flash__lead{grid-column:1;font-size:13.5px;font-weight:600;line-height:1.5;color:#fff3f4}
.sp1-flash__cd{grid-column:1;font-size:14px;font-weight:800;line-height:1.4;color:#fff;font-variant-numeric:tabular-nums}
.sp1-flash__cd:empty{display:none}
.sp1-flash__btn{grid-column:2;grid-row:1/span 4;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border-radius:999px;background:#fff;color:#b3001b;font-size:14.5px;font-weight:900;white-space:nowrap}
.sp1-flash a.sp1-flash__link:hover .sp1-flash__btn{background:#fff1b8}
.sp1-flash a.sp1-flash__link:focus-visible{outline:3px solid #ffd27a;outline-offset:3px}
@media(max-width:420px){.sp1-flash a.sp1-flash__link{grid-template-columns:minmax(0,1fr)}.sp1-flash__btn{grid-column:1;grid-row:auto;margin-top:6px;width:100%}}
@media(min-width:960px){.sp1-flash__title{font-size:21px}}