/* 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}

/* トップ：見出し直後とセクション間 */
#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}

.osusumesp {
	color:#DC3A3A;
	font-weight:bold;
	text-align:center;
}

.fullsp1{
	margin-left:-1px;
	margin-right:-1px;
	margin-bottom: 1em;
}

#bbsp1{
	width:100%;
	display:flex;
	justify-content:center;
	padding:0;
	list-style: none;
}

#bbsp1 a {
	color:#fff;
	font-weight:bold;
	text-decoration:none;
	text-align:center;
	display: block;
	margin:.2em;
}

	.box1{width:calc(100% / 3);margin:1px;}
.box2{width:calc(100% / 4);margin:1px;}
.box1:hover, .box2:hover{opacity:0.8;}
.docomo{background-color:#c03;
padding-top:.15em}
.au{background-color:#eb5505;padding-top:.15em}
.softbank{background-color:#B3B4B6;padding-top:.15em}
.rakutenmobile{background-color:#FB107F;padding-top:.15em}
.ymobile{background-color:#FB1032;padding-top:.15em}
.uqmobile{background-color:#DC0E72;padding-top:.15em}
.ahamo{background-color:#201715;padding-top:.15em}
.linemo{background-color:#14cd0a;padding-top:.15em}
.ocn{background-color:#112E70;padding-top:.15em}
.mineo{background-color:#04a140;padding-top:.15em}
.iijmio{background-color:#fa4e9e;padding-top:.15em}
.matomesp{background-color:#808080;padding-top:.15em}


/*
 * SP1 design system v4 — neutral mobile-plan decision desk
 * Presentation only. The existing article-top campaign DOM, text, links and sequence stay intact.
 */

:root {
  --sp4-ink: #17283a;
  --sp4-heading: #12324f;
  --sp4-link: #075ea9;
  --sp4-link-hover: #054b86;
  --sp4-blue: #1768a5;
  --sp4-blue-deep: #104d79;
  --sp4-blue-soft: #edf5fb;
  --sp4-yellow: #e3ad20;
  --sp4-amber: #9b4a0e;
  --sp4-canvas: #f4f7fa;
  --sp4-paper: #ffffff;
  --sp4-line: #d6e1eb;
  --sp4-muted: #52667a;
  --sp4-focus: #ffbf47;
  --sp4-radius-sm: 8px;
  --sp4-radius-md: 13px;
  --sp4-radius-lg: 20px;
  --sp4-shadow: 0 14px 38px rgba(18, 50, 79, .08);
  --sp4-shadow-soft: 0 6px 20px rgba(18, 50, 79, .055);
}

html {
  background: var(--sp4-canvas);
}

body {
  background:
    radial-gradient(circle at 4% 0%, rgba(23, 104, 165, .075), transparent 31rem),
    linear-gradient(180deg, #fbfcfd 0, var(--sp4-canvas) 34rem);
  color: var(--sp4-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: #d9ecf9;
  color: var(--sp4-heading);
}

a {
  text-underline-offset: .18em;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--sp4-focus) !important;
  outline-offset: 3px !important;
}

#header {
  border-bottom: 1px solid rgba(18, 50, 79, .1);
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 4px 18px rgba(18, 50, 79, .06);
}

#header .l-header__inner,
.p-breadcrumb__list {
  max-width: 1180px;
}

#header .c-headLogo__img {
  filter: saturate(.94) contrast(1.02);
}

#header .c-gnav > li > a {
  color: var(--sp4-heading);
  font-size: 14px;
  font-weight: 740;
  letter-spacing: .01em;
}

#header .c-gnav > li > a:hover {
  color: var(--sp4-link);
}

.p-breadcrumb {
  border: 0;
  background: transparent;
  color: var(--sp4-muted);
}

.p-breadcrumb a {
  color: var(--sp4-link);
}

.p-breadcrumb__text {
  font-size: 12px;
}

#content {
  width: min(1180px, calc(100% - 36px));
  padding-top: clamp(30px, 5vw, 62px);
  padding-bottom: clamp(62px, 8vw, 100px);
}

#main_content {
  min-width: 0;
}

#main_content > .l-mainContent__inner {
  box-sizing: border-box;
  border: 1px solid rgba(207, 219, 230, .9);
  border-radius: var(--sp4-radius-lg);
  background: var(--sp4-paper);
  box-shadow: var(--sp4-shadow);
  padding: clamp(26px, 4vw, 48px);
}

#main_content :where(.c-pageTitle, .c-postTitle__ttl, .p-termHead__title) {
  color: var(--sp4-heading) !important;
  font-weight: 830 !important;
  letter-spacing: -.018em !important;
  line-height: 1.4 !important;
  text-wrap: balance;
}

#main_content .c-pageTitle {
  margin-bottom: clamp(22px, 4vw, 34px);
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sp4-line);
  font-size: clamp(27px, 3.2vw, 36px) !important;
}

/* Home: task-first service navigation. */
.home #content {
  width: min(1180px, calc(100% - 36px));
}

#body_wrap.home #main_content > .l-mainContent__inner {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

#body_wrap.home #main_content > .l-mainContent__inner > .post_content {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

#body_wrap.home #main_content {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

#body_wrap.home .spz {
  box-sizing: border-box;
  width: min(100%, 1080px) !important;
  max-width: 1080px !important;
  margin-inline: auto !important;
  color: var(--sp4-ink);
}

.home .spz-head {
  padding: clamp(30px, 4.5vw, 52px);
  border: 1px solid var(--sp4-line);
  border-radius: var(--sp4-radius-lg);
  background: linear-gradient(135deg, #fff, #f5f9fc);
  box-shadow: var(--sp4-shadow);
}

.home .spz-head h1 {
  color: var(--sp4-heading);
  font-size: clamp(34px, 4vw, 46px);
  font-weight: 860;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.home .spz-head p {
  color: var(--sp4-muted);
  line-height: 1.8;
}

.home :where(.spz-actions, .spz-navs) a {
  min-height: 48px;
  border-radius: var(--sp4-radius-sm);
  font-weight: 800;
}

.home .spz-top {
  gap: 12px;
}

.home :where(.spz-feature, .spz-priority, .spz-row, .spz-nav, .spz-carriers, .spz-latest, .spz-section) {
  border-color: var(--sp4-line) !important;
  border-radius: var(--sp4-radius-md) !important;
}

.home :where(.spz-feature, .spz-priority, .spz-section) {
  background: #fff;
  box-shadow: var(--sp4-shadow-soft) !important;
}

.home .spz-feature {
  overflow: hidden;
}

.home .spz-feature-copy {
  padding: clamp(18px, 3vw, 26px);
}

.home .spz-feature strong {
  color: var(--sp4-heading);
  line-height: 1.45;
}

.home .spz-priority {
  gap: 10px;
}

.home .spz-priority > a,
.home .spz-latest > a,
.home .spz-row {
  min-height: 48px;
  border: 1px solid var(--sp4-line);
  border-radius: 10px;
  background: #fff;
  color: var(--sp4-heading);
}

.home .spz-section {
  padding: clamp(21px, 3.5vw, 32px);
}

.home .spz-section-head {
  color: var(--sp4-heading) !important;
  font-size: clamp(22px, 2.7vw, 29px);
  font-weight: 840;
  letter-spacing: -.02em;
}

.home .spz-navs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}

.home .spz-nav {
  min-height: 112px;
  padding: 17px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(18, 50, 79, .035);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.home .spz-nav:hover {
  border-color: #a8c5dc !important;
  box-shadow: var(--sp4-shadow-soft) !important;
  transform: translateY(-2px);
}

.home .spz-carriers {
  gap: 7px;
}

.home .spz-carriers a {
  min-height: 44px;
  border: 1px solid var(--sp4-line);
  border-radius: 999px;
  background: #fff;
  color: var(--sp4-link);
  font-weight: 760;
}

/* Articles: campaign stays in the existing top container and sequence. */
.single-post #main_content .sp1-mnp-202609 .mnp-final h2 {
  color: #172033 !important;
}

.single-post #main_content > .l-mainContent__inner {
  max-width: 960px;
  margin-inline: auto;
}

.single-post #main_content .c-postTitle__ttl {
  max-width: 860px;
  margin-inline: auto;
  font-size: clamp(29px, 3.1vw, 38px) !important;
  line-height: 1.42 !important;
}

.single-post .p-articleMetas {
  max-width: 860px;
  margin: 12px auto 0;
  color: var(--sp4-muted);
}

.single-post .p-articleThumb {
  overflow: hidden;
  width: min(100%, 860px) !important;
  margin: clamp(22px, 4vw, 35px) auto !important;
  border-radius: var(--sp4-radius-md);
  box-shadow: 0 13px 32px rgba(18, 50, 79, .11);
}

.single-post .w-singleTop {
  width: min(100%, 820px);
  margin: 26px auto 34px !important;
}

.single-post .w-singleTop > .p-blogParts {
  width: 100%;
  margin-inline: auto;
}

.single-post .w-singleTop [data-partsid="29643"] .codex-sp1-urgent-widget-balloon {
  width: 100% !important;
  margin: 0 0 14px !important;
  justify-content: flex-start !important;
}

.single-post .w-singleTop [data-partsid="29643"] .codex-sp1-urgent-widget-balloon > div {
  max-width: none !important;
  border-color: #c6742a !important;
  background: #fff8ee !important;
  color: #78370f !important;
  box-shadow: 0 6px 18px rgba(155, 74, 14, .09) !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
}

.single-post .w-singleTop [data-partsid="27866"] .cap_box {
  overflow: hidden;
  margin: 0 !important;
  border: 1px solid #b9cede;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(18, 50, 79, .07);
}

.single-post .w-singleTop [data-partsid="27866"] .cap_box_ttl {
  min-height: 48px;
  padding: 11px 15px;
  background: var(--sp4-blue-deep);
  color: #fff;
  font-weight: 820;
  letter-spacing: .01em;
}

.single-post .w-singleTop [data-partsid="27866"] .cap_box_content {
  padding: 17px 18px 18px;
  background: #fbfdff;
  color: var(--sp4-ink);
  font-size: 16px;
  line-height: 1.82;
}

.single-post .w-singleTop [data-partsid="27866"] .cap_box_content a {
  color: var(--sp4-link);
  font-weight: 720;
  text-decoration-thickness: .08em;
}

.single-post .post_content:not(.p-blogParts):not(.p-toc),
.page #main_content .post_content:not(.p-blogParts):not(.p-toc) {
  width: min(100%, 780px);
  margin-inline: auto;
  color: #24384d;
  font-size: clamp(16px, 1.35vw, 17.5px);
  line-height: 1.9;
}

.single-post .post_content:not(.p-blogParts):not(.p-toc) > p:first-child:not(:empty),
.page #main_content .post_content:not(.p-blogParts):not(.p-toc) > p:first-child:not(:empty) {
  margin-bottom: 27px;
  padding: 17px 18px;
  border: 1px solid #d3e0ea;
  border-left: 5px solid var(--sp4-blue);
  border-radius: 0 11px 11px 0;
  background: #f7fafc;
  color: var(--sp4-heading);
  font-weight: 570;
}

#main_content .post_content:not(.p-blogParts):not(.p-toc) > h2 {
  margin-top: 2.55em !important;
  margin-bottom: 1em !important;
  padding: .72em .82em !important;
  border: 1px solid #cfe0ec !important;
  border-left: 5px solid var(--sp4-blue) !important;
  border-radius: 0 10px 10px 0 !important;
  background: linear-gradient(135deg, var(--sp4-blue-soft), #f8fbfd) !important;
  color: var(--sp4-heading) !important;
  box-shadow: none !important;
  font-size: clamp(22px, 2.35vw, 28px) !important;
  font-weight: 840 !important;
  line-height: 1.48 !important;
  letter-spacing: -.015em;
}

#main_content .post_content:not(.p-blogParts):not(.p-toc) > h3 {
  margin-top: 2.05em !important;
  margin-bottom: .85em !important;
  padding: 0 0 .5em !important;
  border: 0 !important;
  border-bottom: 3px solid var(--sp4-line) !important;
  background: transparent !important;
  color: var(--sp4-heading) !important;
  font-size: clamp(19px, 1.9vw, 23px) !important;
  font-weight: 810 !important;
  line-height: 1.5 !important;
}

#main_content .post_content :where(.swell-block-capbox, .is-style-big_icon_point, .is-style-big_icon_check, .wp-block-group, .wp-block-table) {
  border-radius: var(--sp4-radius-sm);
}

#main_content .post_content :where(.swell-block-button__link, .wp-block-button__link, a[class*="btn"], .is-style-btn_normal a) {
  min-height: 48px;
  border-radius: var(--sp4-radius-sm) !important;
  font-weight: 800;
  line-height: 1.45;
}

#main_content .post_content :where(.swell-block-button__link, .wp-block-button__link) {
  background: var(--sp4-link);
  box-shadow: 0 5px 14px rgba(7, 94, 169, .15);
}

#main_content .p-toc.-capbox {
  overflow: hidden;
  width: min(100%, 780px);
  margin: 27px auto 38px;
  border: 1px solid #ccdae6;
  border-radius: 12px;
  background: #fff;
  box-shadow: var(--sp4-shadow-soft);
}

#main_content .p-toc.-capbox .p-toc__ttl {
  margin: 0 -1.5em 1em;
  padding: .72em 1em;
  border-radius: 11px 11px 0 0;
  background: var(--sp4-blue-deep);
  color: #fff;
}

#main_content .wp-block-table,
#main_content .codex-mobile-table-wrap {
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(18, 50, 79, .045);
}

#main_content :where(.wp-block-table th, .codex-mobile-table-wrap th) {
  background: var(--sp4-blue-deep);
  color: #fff;
  font-weight: 800;
}

/* Categories: a static comparison grid at every width, so choices never hide off-screen. */
.category #main_content .p-termHead {
  margin-bottom: 22px;
  padding: 15px 17px;
  border: 1px solid var(--sp4-line);
  border-left: 5px solid var(--sp4-blue);
  border-radius: 0 11px 11px 0;
  background: #f7fafc;
  color: var(--sp4-muted);
  line-height: 1.8;
}

.category #main_content .sp1-cat-entry {
  margin-bottom: 34px !important;
  padding: clamp(19px, 3vw, 28px) !important;
  border: 1px solid var(--sp4-line) !important;
  border-radius: 17px !important;
  background: #fbfdff;
}

.category #main_content .sp1-cat-kicker {
  color: var(--sp4-link);
  letter-spacing: .12em;
}

.category #main_content .sp1-cat-title {
  color: var(--sp4-heading) !important;
  font-size: clamp(23px, 2.8vw, 30px) !important;
}

.category #main_content .sp1-cat-lead {
  color: var(--sp4-muted);
  font-size: 15px;
  line-height: 1.8;
}

.category #main_content .sp1-cat-track {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 11px !important;
  overflow: visible !important;
  padding: 2px 0 5px !important;
  scroll-snap-type: none !important;
}

.category #main_content .sp1-cat-card {
  min-width: 0 !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 11px !important;
  border: 1px solid var(--sp4-line) !important;
  border-radius: 11px !important;
  background: #fff;
  box-shadow: 0 5px 15px rgba(18, 50, 79, .04) !important;
  scroll-snap-align: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.category #main_content .sp1-cat-card:hover {
  border-color: #a8c4da !important;
  box-shadow: var(--sp4-shadow-soft) !important;
  transform: translateY(-2px);
}

.category #main_content .sp1-cat-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  object-fit: cover;
}

.category #main_content .sp1-cat-card :where(h2, h3, h4, .sp1-cat-card__title) {
  color: var(--sp4-heading);
  font-size: 15px;
  line-height: 1.48;
}

.category #main_content .sp1-cat-card :where(p, .sp1-cat-card__excerpt) {
  color: var(--sp4-muted);
  font-size: 13px;
  line-height: 1.62;
}

.category #main_content .sp1-cat-scroll-hint {
  color: var(--sp4-muted);
  font-size: 12px;
}

.category #main_content .p-postList,
.search #main_content .p-postList {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 17px !important;
  width: 100% !important;
  padding-inline: 0 !important;
}

#main_content .p-postList__item {
  overflow: hidden;
  border: 1px solid var(--sp4-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(18, 50, 79, .045);
}

.category #main_content .p-postList__item,
.search #main_content .p-postList__item {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  list-style: none;
}

#main_content .p-postList__link {
  height: 100%;
  color: inherit;
  text-decoration: none;
}

#main_content .p-postList__thumb img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

#main_content .p-postList__body {
  padding: 13px 14px 16px;
}

#main_content .p-postList__title {
  color: var(--sp4-heading);
  font-weight: 810;
  line-height: 1.5;
}

#main_content .p-postList__excerpt {
  color: var(--sp4-muted);
  line-height: 1.66;
}

/* Search: compact horizontal result cards. */
.search #main_content .p-postList {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.search #main_content .p-postList__link {
  display: grid;
  grid-template-columns: 42% minmax(0, 1fr);
  align-items: stretch;
}

.search #main_content .p-postList__thumb img {
  height: 100%;
  min-height: 182px;
}

.search #main_content .p-postList__body {
  align-self: center;
}

/* About, policy, contact and not-found surfaces. */
.page #main_content > .l-mainContent__inner,
.error404 #main_content > .l-mainContent__inner,
.search #main_content > .l-mainContent__inner {
  max-width: 960px;
  margin-inline: auto;
}

.page #main_content .c-pageTitle,
.error404 #main_content .c-pageTitle,
.search #main_content .c-pageTitle {
  font-size: clamp(27px, 3vw, 34px) !important;
}

.cx-contact {
  padding: clamp(18px, 4vw, 28px) !important;
  border: 1px solid var(--sp4-line) !important;
  border-radius: var(--sp4-radius-md) !important;
  background: #fff !important;
  box-shadow: var(--sp4-shadow-soft) !important;
}

.cx-contact :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
  width: 100%;
  min-height: 48px;
  border: 1px solid #aebfd0 !important;
  border-radius: var(--sp4-radius-sm) !important;
  color: var(--sp4-ink);
  background: #fff;
}

.cx-contact textarea {
  min-height: 168px;
}

.cx-contact :where(button, input[type="submit"]) {
  min-height: 48px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--sp4-radius-sm);
  background: var(--sp4-link);
  color: #fff;
  font-weight: 800;
}

.error404 #main_content .c-searchForm button,
.search #main_content .c-searchForm button {
  min-width: 50px;
  min-height: 50px;
  background: var(--sp4-link);
  color: #fff;
}

.c-pagination :where(a, span) {
  min-width: 44px;
  min-height: 44px;
  border-radius: 8px;
}

.sp4-reading-end {
  box-sizing: border-box;
  width: min(100%, 780px);
  margin: 54px auto 38px;
  padding: 25px 0 0;
  border-top: 4px solid var(--sp4-blue-deep);
  color: var(--sp4-ink);
}

.sp4-reading-end__eyebrow {
  margin: 0 0 4px;
  color: var(--sp4-amber);
  font-size: 13px;
  font-weight: 820;
  letter-spacing: .08em;
}

.sp4-reading-end h2 {
  margin: 0 0 8px;
  color: var(--sp4-heading);
  font-size: clamp(23px, 2.4vw, 29px);
  line-height: 1.4;
}

.sp4-reading-end__guide {
  margin: 0 0 18px;
  color: var(--sp4-muted);
  line-height: 1.75;
}

.sp4-carrier-panel {
  margin: 0 0 22px;
  padding: 22px;
  border: 1px solid #c8d7e4;
  border-radius: 12px;
  background: #f5f9fc;
  box-shadow: 0 10px 28px rgba(23, 53, 82, .07);
}

.sp4-carrier-panel__kicker {
  margin: 0 0 4px;
  color: var(--sp4-blue-deep);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .1em;
}

.sp4-carrier-panel h3 {
  margin: 0 0 7px;
  color: var(--sp4-heading);
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.45;
}

.sp4-carrier-panel__guide {
  margin: 0 0 20px;
  color: var(--sp4-muted);
  font-size: 14px;
  line-height: 1.7;
}

.sp4-carrier-panel__group + .sp4-carrier-panel__group {
  margin-top: 20px;
}

.sp4-carrier-panel__group h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 9px;
  color: var(--sp4-heading);
  font-size: 15px;
  line-height: 1.5;
}

.sp4-carrier-panel__group h4::before {
  width: 4px;
  height: 1.2em;
  border-radius: 99px;
  background: var(--sp4-blue);
  content: "";
}

.sp4-carrier-panel__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.sp4-carrier-link {
  --sp4-carrier-color: var(--sp4-blue-deep);
  position: relative;
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 84px;
  padding: 10px 42px 10px 13px;
  border: 1px solid color-mix(in srgb, var(--sp4-carrier-color), #000 16%);
  border-radius: 9px;
  background: var(--sp4-carrier-color);
  box-shadow: 0 3px 0 color-mix(in srgb, var(--sp4-carrier-color), #000 22%);
  color: #fff;
  text-decoration: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.sp4-carrier-link:is(:hover, :focus-visible) {
  border-color: color-mix(in srgb, var(--sp4-carrier-color), #000 26%);
  box-shadow: 0 7px 17px color-mix(in srgb, var(--sp4-carrier-color), transparent 68%);
  color: #fff;
  filter: brightness(.94);
  transform: translateY(-1px);
}

.sp4-carrier-link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -5px;
}

.sp4-carrier-link[data-brand="docomo"] { --sp4-carrier-color: #c9002b; }
.sp4-carrier-link[data-brand="au"] { --sp4-carrier-color: #c94700; }
.sp4-carrier-link[data-brand="softbank"] { --sp4-carrier-color: #262626; }
.sp4-carrier-link[data-brand="rakuten"] { --sp4-carrier-color: #a90000; }
.sp4-carrier-link[data-brand="ymobile"] { --sp4-carrier-color: #d60037; }
.sp4-carrier-link[data-brand="ahamo"] { --sp4-carrier-color: #151515; }
.sp4-carrier-link[data-brand="linemo"] { --sp4-carrier-color: #007b43; }
.sp4-carrier-link[data-brand="iijmio"] { --sp4-carrier-color: #bd1522; }
.sp4-carrier-link[data-brand="mineo"] { --sp4-carrier-color: #007f54; }
.sp4-carrier-link[data-brand="his"] { --sp4-carrier-color: #00639c; }
.sp4-carrier-link[data-brand="nuro"] { --sp4-carrier-color: #56368a; }
.sp4-carrier-link[data-brand="qt"] { --sp4-carrier-color: #007459; }
.sp4-carrier-link[data-brand="bbexcite"] { --sp4-carrier-color: #c94d00; }
.sp4-carrier-link[data-brand="norikae"] { --sp4-carrier-color: #b21f32; }

.sp4-carrier-link__name {
  overflow-wrap: anywhere;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.35;
}

.sp4-carrier-link__sub {
  margin-top: 4px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
  line-break: strict;
  word-break: normal;
  word-break: auto-phrase;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.sp4-carrier-link__arrow {
  position: absolute;
  top: 50%;
  right: 13px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 99px;
  background: rgba(255, 255, 255, .2);
  color: #fff;
  font-size: 15px;
  font-weight: 850;
  transform: translateY(-50%);
}

.sp4-carrier-panel__lyp {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 16px;
  margin: 14px 0 0;
  padding: 13px 14px;
  border: 1px solid #e6bd64;
  border-radius: 9px;
  background: #fff8e7;
}

.sp4-carrier-panel__lyp p {
  margin: 0;
  color: #5e4720;
  font-size: 13px;
  font-weight: 800;
}

.sp4-carrier-panel__lyp small {
  grid-column: 1;
  color: #715b34;
  font-size: 11px;
  line-height: 1.55;
}

.sp4-carrier-panel__lyp a {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: #674600;
  font-size: 13px;
  font-weight: 850;
  text-align: right;
}

.sp4-carrier-panel__disclosure {
  margin: 16px 0 0;
  color: var(--sp4-muted);
  font-size: 12px;
  line-height: 1.6;
}

.sp4-reading-end__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.sp4-reading-end__category {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: 9px 13px;
  border: 1px solid #afc5d7;
  border-radius: 8px;
  color: var(--sp4-heading);
  font-weight: 780;
  text-align: center;
  text-decoration: none;
}

.sp4-reading-end__search {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) auto;
}

.sp4-reading-end__search input,
.sp4-reading-end__search button {
  box-sizing: border-box;
  min-height: 50px;
  border: 1px solid #afc5d7;
  border-radius: 0;
}

.sp4-reading-end__search input {
  min-width: 0;
  padding: 0 14px;
  color: var(--sp4-ink);
  background: #fff;
}

.sp4-reading-end__search button {
  min-width: 76px;
  padding: 0 18px;
  border-color: var(--sp4-blue-deep);
  background: var(--sp4-blue-deep);
  color: #fff;
  font-weight: 800;
}

.sp4-footer-disclosure > summary {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
}

#footer {
  border-top: 4px solid var(--sp4-blue);
  background: var(--sp4-heading);
  color: rgba(255, 255, 255, .88);
}

#footer a,
#footer .c-widget__title {
  color: #fff;
}

#footer .codex-swell-popular-tab {
  border-color: rgba(255, 255, 255, .42) !important;
  background: rgba(255, 255, 255, .1) !important;
  color: #fff !important;
}

#footer .codex-swell-popular-tab.is-active {
  border-color: #d18650 !important;
  background: var(--sp4-amber) !important;
  color: #fff !important;
}

#footer .codex-swell-popular-list {
  display: grid;
  gap: 8px;
}

#footer .codex-swell-popular-item {
  border: 0 !important;
}

/* The ranking source already provides ranks 1–10. Keep all ten visible; a
   legacy footer rule hides items 6–10. */
#footer .codex-swell-popular-item:nth-child(n + 6) {
  display: list-item !important;
}

#footer .codex-swell-popular-link {
  min-height: 76px;
  padding: 7px !important;
  border: 1px solid #d6e1eb !important;
  border-radius: 9px;
  background: #f8fbfd !important;
  color: var(--sp4-ink) !important;
}

#footer .codex-swell-popular-title {
  color: var(--sp4-ink) !important;
  font-weight: 760;
  line-height: 1.45;
}

#footer .codex-swell-popular-rank {
  background: var(--sp4-amber) !important;
  color: #fff !important;
}

#footer .copyright,
#footer .copyright span {
  color: rgba(255, 255, 255, .78) !important;
}

@media (min-width: 960px) {
  .l-header__logo,
  .l-header__logo .c-headLogo {
    height: 78px !important;
  }

  .l-header__logo .c-headLogo {
    display: flex;
    align-items: center;
  }

  .l-header__logo img {
    width: auto !important;
    max-height: 60px !important;
    object-fit: contain;
  }

  .l-header__gnav,
  .c-gnav > li > a {
    min-height: 48px;
  }

  #footer .w-footer.-col3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 28px 24px;
  }

  #footer .w-footer.-col3 > .w-footer__box {
    width: auto !important;
    min-width: 0;
    height: auto !important;
  }

  #footer .w-footer.-col3 > .w-footer__box:nth-child(2) .codex-swell-popular-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #footer .w-footer.-col3 > .w-footer__box:nth-child(3) {
    display: grid !important;
    grid-column: 1 / -1;
    grid-template-areas:
      'search references'
      'categories references';
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: 18px 28px;
    border-top: 1px solid rgba(255, 255, 255, .2);
    padding-top: 28px;
  }

  #footer .w-footer.-col3 > .w-footer__box:nth-child(3) > #search-5 {
    grid-area: search;
  }

  #footer .w-footer.-col3 > .w-footer__box:nth-child(3) > #nav_menu-2 {
    grid-area: categories;
  }

  #footer .w-footer.-col3 > .w-footer__box:nth-child(3) > #custom_html-6 {
    grid-area: references;
  }

  #footer .w-footer.-col3 > .w-footer__box:nth-child(3) > :where(#nav_menu-2, #custom_html-6) {
    margin-top: 0 !important;
  }

  #footer #custom_html-6 ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  #content,
  .home #content {
    width: min(calc(100% - 16px), 1180px);
    padding-right: 0;
    padding-left: 0;
    padding-top: 23px;
    padding-bottom: 60px;
  }

  #main_content > .l-mainContent__inner {
    border-radius: 16px;
    padding: 20px 14px 28px;
    box-shadow: 0 8px 24px rgba(18, 50, 79, .06);
  }

  #main_content .c-pageTitle {
    margin-bottom: 20px;
    padding-bottom: 11px;
    font-size: 24px !important;
  }

  .home .spz-head {
    padding: 25px 15px;
    border-radius: 16px;
  }

  .home .spz-head h1 {
    font-size: 27px;
    line-height: 1.24;
  }

  .home .spz-priority {
    grid-template-columns: 1fr !important;
  }

  .home .spz-priority > a {
    min-height: 82px;
    padding: 13px 14px;
  }

  .home .spz-priority strong {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
  }

  .home .spz-section {
    padding: 20px 14px;
  }

  .home .spz-navs {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .home .spz-nav {
    min-height: 84px;
    padding: 14px;
  }

  .single-post #main_content .c-postTitle__ttl {
    font-size: clamp(22px, 6vw, 26px) !important;
    line-height: 1.45 !important;
  }

  .single-post .p-articleThumb {
    margin: 21px auto 25px !important;
    border-radius: 10px;
    box-shadow: 0 8px 22px rgba(18, 50, 79, .1);
  }

  .single-post .w-singleTop {
    width: calc(100% + 16px);
    margin: 21px auto 29px !important;
    margin-right: -8px !important;
    margin-left: -8px !important;
  }

  .single-post .w-singleTop :where(
    [data-partsid="29643"] .codex-sp1-urgent-widget-balloon > div,
    [data-partsid="27866"] .cap_box_content
  ) {
    line-break: strict;
    word-break: normal;
    word-break: auto-phrase;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }

  .single-post .w-singleTop [data-partsid="29643"] .codex-sp1-urgent-widget-balloon > div {
    padding: 12px 56px 12px 12px !important;
    font-size: 14px !important;
    line-height: 1.56 !important;
  }

  .single-post .w-singleTop [data-partsid="27866"] .cap_box_content {
    padding: 14px 11px 15px;
    font-size: 15px;
    line-height: 1.76;
  }

  .p-fixBtnWrap {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .single-post .post_content:not(.p-blogParts):not(.p-toc),
  .page #main_content .post_content:not(.p-blogParts):not(.p-toc) {
    font-size: 16px;
    line-height: 1.86;
  }

  .single-post .post_content:not(.p-blogParts):not(.p-toc) > p:first-child:not(:empty),
  .page #main_content .post_content:not(.p-blogParts):not(.p-toc) > p:first-child:not(:empty) {
    padding: 15px 14px;
    font-weight: 550;
  }

  #main_content .post_content:not(.p-blogParts):not(.p-toc) > h2 {
    margin-top: 2.3em !important;
    padding: .68em .72em !important;
    font-size: 21px !important;
  }

  #main_content .post_content:not(.p-blogParts):not(.p-toc) > h3 {
    margin-top: 1.9em !important;
    font-size: 19px !important;
  }

  .category #main_content .sp1-cat-entry {
    padding: 16px 12px !important;
    border-radius: 13px !important;
  }

  .category #main_content .sp1-cat-track {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    overflow: visible !important;
    padding: 3px 0 !important;
    scroll-snap-type: none !important;
  }

  .category #main_content .sp1-cat-card {
    width: 100% !important;
    max-width: none !important;
    padding: 11px !important;
    scroll-snap-align: none !important;
  }

  .category #main_content .sp1-cat-card :where(p, .sp1-cat-card__excerpt) {
    display: block !important;
  }

  .category #main_content .p-postList,
  .search #main_content .p-postList {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .search #main_content .p-postList__link {
    grid-template-columns: 116px minmax(0, 1fr);
  }

  .search #main_content .p-postList__thumb img {
    min-height: 140px;
  }

  .search #main_content .p-postList__body {
    padding: 10px 12px 12px;
  }

  .search #main_content .p-postList__excerpt {
    font-size: 13px;
    line-height: 1.55;
  }

  .page #main_content .c-pageTitle,
  .error404 #main_content .c-pageTitle,
  .search #main_content .c-pageTitle {
    font-size: 24px !important;
  }

  .sp4-reading-end {
    width: calc(100% + 32px);
    margin-right: -16px;
    margin-left: -16px;
    margin-top: 42px;
    padding: 20px 16px 0;
  }

  .sp4-carrier-panel {
    padding: 17px 14px;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .sp4-carrier-panel__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sp4-carrier-link {
    width: 100%;
    min-height: 94px;
    padding: 9px 34px 9px 10px;
  }

  .sp4-carrier-link__name {
    font-size: 14px;
  }

  .sp4-carrier-link__sub {
    font-size: 12px;
    white-space: normal;
  }

  .sp4-carrier-link__arrow {
    right: 8px;
    width: 24px;
    height: 24px;
  }

  .sp4-carrier-panel__lyp {
    grid-template-columns: 1fr;
  }

  .sp4-carrier-panel__lyp a {
    grid-column: auto;
    grid-row: auto;
    min-height: 44px;
    padding: 11px 12px;
    border: 1px solid #c9962e;
    border-radius: 7px;
    text-align: center;
  }

  .sp4-carrier-panel__group:nth-of-type(2) .sp4-carrier-panel__grid {
    grid-template-columns: 1fr;
  }

  .sp4-reading-end__actions {
    grid-template-columns: 1fr;
  }

  .sp4-reading-end__search {
    grid-column: auto;
  }

  #footer .sp4-footer-disclosure > summary {
    position: static;
    display: flex;
    overflow: visible;
    align-items: center;
    justify-content: space-between;
    width: auto;
    height: auto;
    clip-path: none;
    min-height: 48px;
    padding: 10px 4px;
    border-top: 1px solid rgba(255, 255, 255, .22);
    border-bottom: 1px solid rgba(255, 255, 255, .22);
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    list-style: none;
  }

  #footer .sp4-footer-disclosure > summary::after {
    content: '＋';
    font-size: 20px;
    font-weight: 500;
  }

  #footer .sp4-footer-disclosure[open] > summary::after {
    content: '−';
  }

}

/* Footer discovery: use the same always-visible calendar-card rhythm as
   Harimap. New and Popular share one geometry so neither column appears
   shifted, while utility navigation may remain compact. */
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section {
  height: auto;
  margin: 0;
  padding: 0;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section__title {
  margin: 0 0 14px;
  padding: 3px 0 3px 11px;
  border-left: 4px solid var(--sp4-amber);
  color: #fff;
  font-size: 18px;
  font-weight: 820;
  line-height: 1.45;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section__content,
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section__content .p-postList,
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section__content .codex-swell-popular-panel:not([hidden]),
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section__content .codex-swell-popular-list {
  max-height: none !important;
  overflow: visible !important;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList,
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__item,
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-item {
  display: list-item !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__link,
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-link {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 96px !important;
  margin: 0 !important;
  padding: 8px !important;
  border: 1px solid #d6e1eb !important;
  border-radius: 9px;
  background: #fff !important;
  box-shadow: none;
  color: var(--sp4-ink) !important;
  text-decoration: none !important;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__thumb,
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-media {
  position: relative;
  align-self: start;
  width: 120px !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
  margin: 0 !important;
  border-radius: 8px;
  background: #eef4f8 !important;
  box-shadow: none;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__thumb {
  overflow: hidden;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-media {
  overflow: visible;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section :is(.p-postList__thumb figure, .p-postList__thumb img, .codex-swell-popular-media img) {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 8px;
  background: #eef4f8;
  object-fit: contain !important;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__body,
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-body {
  align-self: start !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__title,
#body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-title {
  display: block !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: var(--sp4-ink) !important;
  font-size: 16px !important;
  font-weight: 760 !important;
  line-break: strict;
  line-height: 1.55 !important;
  overflow-wrap: normal;
  text-overflow: clip !important;
  text-wrap: wrap;
  white-space: normal !important;
  word-break: normal;
  word-break: auto-phrase;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: initial !important;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section .codex-swell-popular-tablist {
  margin: 0 0 12px !important;
}

#body_wrap.codex-sp1-v4 #footer .sp4-footer-section .codex-swell-popular-rank {
  position: absolute !important;
  top: -12px;
  left: -8px;
  z-index: 2;
  display: grid !important;
  place-items: center !important;
  width: 27px;
  height: 27px;
  margin: 0 !important;
  border-radius: 999px;
  background: var(--sp4-amber) !important;
  box-shadow: 0 0 0 2px #fff, 0 2px 5px rgba(18, 50, 79, .24);
  color: #fff !important;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
}

@media (max-width: 359px) {
  #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__link,
  #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-link {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    min-height: 82px !important;
  }

  #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__thumb,
  #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="popular"] .codex-swell-popular-media {
    width: 88px !important;
  }
}

@media (max-width: 359px) {
  .sp4-reading-end h2 {
    font-size: 20px;
  }

  .sp4-carrier-panel h3 {
    font-size: 18px;
  }

  .sp4-carrier-panel__grid {
    grid-template-columns: 1fr;
  }

  .sp4-carrier-link {
    min-height: 76px;
  }

  .sp4-carrier-link__name {
    font-size: 15px;
  }

  .sp4-carrier-link__sub {
    font-size: 12.5px;
  }

  #content,
  .home #content {
    width: min(calc(100% - 12px), 1180px);
  }

  #main_content > .l-mainContent__inner {
    padding-inline: 12px;
  }

  #body_wrap.home .spz-head h1 {
    font-size: 23px !important;
    text-wrap: balance;
  }

  .single-post #main_content .c-postTitle__ttl {
    font-size: 22px !important;
  }

  .category #main_content .p-termHead,
  .category #main_content .sp1-cat-entry {
    padding-inline: 0 !important;
  }

  .category #main_content :where(.p-blogParts, .sp1-cat-section, .sp1-cat-track) {
    width: 100% !important;
    max-width: none !important;
  }

  .category #main_content .sp1-cat-card {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: none !important;
  }

  .search #main_content .p-postList__link {
    grid-template-columns: 1fr;
  }

  .search #main_content .p-postList__thumb img {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.spz-feature-copy small{color:#586d7d!important}.spz-section-head p,.spz-nav span{color:#586b7c!important}

.sp1-slider.hm-fit .sp1-slider__track{overflow-y:hidden!important}
.sp1-daily-mnp-top .sp1-slider__hint{padding:4px 12px!important;border-radius:999px;background:#fff4c2;color:#6b4e00!important;font-size:14px!important}
.sp1-daily-mnp-top .sp1-slider__arrow{animation:sp1-hint 1.3s ease-in-out infinite!important}
.sp1-slider__btn:not(:disabled){box-shadow:0 2px 8px rgba(7,94,169,.25)}
@media (prefers-reduced-motion:reduce){.sp1-daily-mnp-top .sp1-slider__arrow{animation:none!important}}
/* 2026-10-23 CLS 0.503 の安全網（変換完了まで本体を visibility:hidden）は、snippet 119 が .sp1-cx と compact の style を帯の先頭に出すようにしたので外した
   （改善キュー sp1-mnp-compact-early-20261023）。戻し方：.bak-20261023-cxwaitoff を配り直す。 */
/* 計測img（ASPの1×1）：残したまま、ボタンや枠の高さ・マスに影響させない */
#main_content img[width="1"][height="1"],#main_content img.managed-affiliate-tracker{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important}
#main_content .sp1-cb{transition:filter .15s}
#main_content .sp1-cb:hover{filter:brightness(1.08)}
/* 2026-10-22 ux: CTA/chip labels break at Japanese phrase boundaries (Chrome auto-phrase; others fall back to normal). */
.sp1-daily-mnp-card__button,.sp1-rule__btn,.sp1-mode__btn,.sp1-carrier__btn{word-break:auto-phrase;text-wrap:balance}
/* 2026-10-22 ux units part:sp1:pc:content:div.sp1-carrier__buttons: on PC the carrier chips scrolled sideways with a hidden scrollbar (852px of chips in a 672px row, 楽天/その他 cut off and unreachable by mouse). Wrap on PC only; phones keep the swipe row. */
@media(min-width:960px){html .sp1-cx .sp1-carrier__buttons{flex-wrap:wrap!important;overflow-x:visible!important}}
@media(max-width:640px){
.sp1-daily-mnp-top .sp1-daily-mnp-top__body{padding:14px!important}
.sp1-daily-mnp-top .sp1-daily-mnp-top__title{margin-bottom:12px!important;font-size:22px!important;line-height:1.4!important}
.sp1-daily-mnp-top .sp1-daily-mnp-top__eyebrow{font-size:15px!important;line-height:1.5!important}
.sp1-daily-mnp-top .sp1-mode{margin-bottom:10px!important}
.sp1-daily-mnp-top .sp1-carrier{padding:10px!important;margin-bottom:10px!important}
.sp1-daily-mnp-top .sp1-carrier__buttons{gap:6px!important}
.sp1-daily-mnp-top .sp1-carrier__btn{padding:6px 10px!important;min-height:44px!important;font-size:14px!important}
.sp1-daily-mnp-top .sp1-daily-mnp-top__lead{margin:0 0 10px!important;font-size:14px!important;line-height:1.6!important}
.sp1-daily-mnp-top .sp1-slider__track>.sp1-daily-mnp-card{flex-basis:calc(100% - 18px)!important;padding:14px!important}
.sp1-daily-mnp-top .sp1-daily-mnp-card__carrier{margin-bottom:8px!important;font-size:22px!important}
.sp1-daily-mnp-top .sp1-daily-mnp-card__label{margin-bottom:10px!important;font-size:14px!important;line-height:1.5!important}
.sp1-daily-mnp-top .sp1-free{padding:10px!important;margin-bottom:10px!important}
.sp1-daily-mnp-top .sp1-feature{gap:6px!important;margin-bottom:10px!important}
.sp1-daily-mnp-top .sp1-feature__item{padding:7px 9px!important}
.sp1-daily-mnp-top .sp1-compare__verdict{padding:8px 10px!important;margin-bottom:8px!important}
.sp1-daily-mnp-top .sp1-compare__verdict-text{font-size:16px!important;line-height:1.5!important}
.sp1-daily-mnp-top .sp1-compare__cell{padding:7px!important}
.sp1-daily-mnp-top .sp1-compare__main{font-size:19px!important}
.sp1-daily-mnp-top .sp1-daily-mnp-card__deadline{padding:8px 10px!important;margin-bottom:10px!important}
.sp1-daily-mnp-top .sp1-daily-mnp-card__button{min-height:48px!important}
.sp1-daily-mnp-top .sp1-rule{padding:14px!important}
.sp1-daily-mnp-top .sp1-rule__title{font-size:21px!important;line-height:1.45!important;margin:8px 0!important}
.sp1-daily-mnp-top .sp1-rule__lead{font-size:15px!important;line-height:1.6!important;margin:8px 0!important}
.sp1-daily-mnp-top .sp1-rule__items{gap:8px!important;margin:10px 0!important}
.sp1-daily-mnp-top .sp1-rule__item{padding:10px!important}
.sp1-daily-mnp-top .sp1-rule__row{margin:6px 0!important;font-size:14px!important;line-height:1.5!important}
.sp1-daily-mnp-top .sp1-rule__when{font-size:14px!important;line-height:1.6!important;margin:10px 0!important}
.sp1-daily-mnp-top .sp1-rule__actions{gap:6px!important;margin:10px 0!important}
.sp1-daily-mnp-top .sp1-rule__btn{min-height:44px!important;padding:8px!important;font-size:14px!important}
.sp1-daily-mnp-top .sp1-rule__note{font-size:12px!important;line-height:1.6!important;margin:8px 0 0!important}
}
/* Prepared design candidates. Inactive until Claude registers each experiment in existing part_metrics.php and ux_research.
   category-density: dev=m, pt=a; footer-density: dev=m, pt=''. Keep a unchanged; b gets the matching html class.
   No content, links, card order, ad slots or DOM positions change. No line clamping or hiding. */
@media(max-width:640px){
html.pmx-sp1-category-density .category #main_content .sp1-cat-card.has-image{gap:10px!important;padding:10px!important;border-color:#cbd9e7!important;box-shadow:0 2px 8px #12324f0a!important}
html.pmx-sp1-category-density .category #main_content .sp1-cat-card.has-image>img{flex-basis:88px!important;width:88px!important}
html.pmx-sp1-category-density .category #main_content .sp1-cat-card.has-image strong{font-size:15px!important;line-height:1.5!important}
html.pmx-sp1-category-density .category #main_content .sp1-cat-card.has-image em{font-size:13px!important;line-height:1.5!important}
html.pmx-sp1-category-density .category #main_content .p-postList__link{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:12px!important;border:0!important;background:transparent}
html.pmx-sp1-category-density .category #main_content .p-postList__thumb{width:96px!important;margin:0!important}
html.pmx-sp1-category-density .category #main_content .p-postList__body{display:contents!important;width:auto!important;padding:0!important}
html.pmx-sp1-category-density .category #main_content .p-postList__title{grid-column:2!important;font-size:15px!important;line-height:1.5!important}
html.pmx-sp1-category-density .category #main_content .p-postList__excerpt{grid-column:1/-1!important;display:block!important;font-size:13px!important;line-height:1.6!important;margin-top:6px!important}
html.pmx-sp1-category-density .category #main_content .p-postList__meta{grid-column:1/-1!important;font-size:12px!important;margin-top:8px!important}
html.pmx-sp1-footer-density #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__link{display:grid!important;grid-template-columns:80px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:8px!important;min-height:84px!important}
html.pmx-sp1-footer-density #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__thumb{width:80px!important;margin:0!important}
html.pmx-sp1-footer-density #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__body{padding:0!important;min-width:0}
html.pmx-sp1-footer-density #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__title{font-size:15px!important;line-height:1.5!important}
html.pmx-sp1-footer-density #body_wrap.codex-sp1-v4 #footer .sp4-footer-section[data-sp4-footer-type="new"] .p-postList__item{margin-bottom:8px!important}
}
