#main_content .p-termHead:not(:has(.p-termHead__title, .p-termHead__thumbWrap, img)):has(> .p-termHead__desc:only-child):has(+ .p-termContent .sp1-cat-entry){display:none !important}

  :where(.hm-front-events,.hm-article-calendar-lazy,.hm-today-tomorrow-events,.mh-product-front,.mh-campaign-box,.sp1-campaign-front,.sc-portfolio-front,.codex-swell-popular) {
    --codex-muted-text:#475569;
    --codex-muted-strong:#334155;
    --codex-accent-green:#166534;
    --codex-accent-orange:#9a3f0d;
  }
  :where(.hm-front-events,.hm-article-calendar-lazy,.hm-today-tomorrow-events,.mh-product-front,.mh-campaign-box,.sp1-campaign-front,.sc-portfolio-front,.codex-swell-popular) :where(.hm-lead,.hm-sub,.hm-ac-sub,.hm-submit-cta span,.hm-card em,.hm-guide-card em,.mh-sub,.mh-note,.sp1-sub,.sc-sub) {
    color:var(--codex-muted-text)!important;
  }
  :where(.hm-front-events,.hm-article-calendar-lazy,.hm-today-tomorrow-events) :where(.hm-eyebrow,.hm-ac-eyebrow) {
    color:var(--codex-accent-orange)!important;
  }
  :where(.hm-front-events,.hm-article-calendar-lazy,.hm-today-tomorrow-events) :where(.hm-cal-day.muted,.hm-cal-day.muted .hm-cal-num) {
    color:#64748b!important;
  }
  :where(.hm-front-events,.hm-article-calendar-lazy,.hm-today-tomorrow-events,.mh-product-front,.mh-campaign-box,.sp1-campaign-front,.sc-portfolio-front,.codex-swell-popular) :where(button,a.hm-btn,.hm-btn,.hm-month-tab,.hm-cal-day,.hm-cal-nav,.hm-ac-main-link,.hm-submit-cta a,.mh-btn,.mh-campaign-link,.sp1-btn,.sc-btn,.codex-swell-popular-tab) {
    min-height:44px!important;
    touch-action:manipulation;
  }
  :where(.hm-chip,.mh-chip,.sp-chip,.sc-chip,.sp-compact-offer,.codex-swell-popular-tab,.c-searchForm__submit) {
    min-height:44px!important;
    touch-action:manipulation;
  }
  @media (max-width: 640px) {
    :where(.p-spMenu a,.p-spMenu__inner a,.c-widget a,.c-gnav a,.hm-front-events a,.mh-product-front a,.mh-campaign-box a,.sp1-campaign-front a,.sc-portfolio-front a) {
      min-height:44px;
      display:inline-flex;
      align-items:center;
    }
  }
  :where(.c-categoryList__link,.c-tagList__link,.p-breadcrumb__text,.p-toc__link) {
    min-height:32px;
    display:inline-flex;
    align-items:center;
  }
  :where(.p-articleMetas__termList.c-categoryList,.p-articleMetas__termList.c-tagList) {
    display:flex!important;
    flex-wrap:wrap;
    align-items:center;
    gap:8px!important;
    width:100%;
    margin:0!important;
    padding-left:0!important;
    box-sizing:border-box;
  }
  :where(.p-articleMetas__termList.c-categoryList,.p-articleMetas__termList.c-tagList)::before {
    content:none!important;
    display:none!important;
  }
  :where(.p-articleMetas__termList.c-categoryList,.p-articleMetas__termList.c-tagList) :where(.c-categoryList__link,.c-tagList__link) {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box;
    min-height:0!important;
    height:34px;
    margin:0!important;
    padding:0 13px!important;
    line-height:1!important;
    white-space:nowrap;
  }
  :where(.hm-front-events,.hm-article-calendar-lazy,.hm-today-tomorrow-events) :where(.hm-month-tab,.hm-cal-nav) {
    padding-top:9px;
    padding-bottom:9px;
  }
  :where(.hm-traffic-alert span,.hm-guide-card span,.sp-feature-label,.sp-offer-row-label.deadline) {
    color:#9a3f0d!important;
  }
  :where(.hm-traffic-alert span) {
    background:#9a3f0d!important;
    color:#fff!important;
  }
  :where(.hm-chip span,.mh-chip span,.sp-chip span,.sc-chip span,.hm-cal-panel-head span,.hm-cal-pick-body > span,.hm-date) {
    color:#334155!important;
  }
  :where(.codex-swell-popular-tab.is-active,.codex-swell-popular-rank,.c-postThumb__cat,.mh-amazon) {
    background:#9a3f0d!important;
    color:#fff!important;
  }
  :where(.monohikaku-price-btn) {
    min-height:44px!important;
    background:#0b63b6!important;
    color:#fff!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    padding:10px 12px!important;
  }
  :where(.codex-symbol-muted) {
    color:#475569!important;
  }
  :where(.footer-kouki-label,.footer-kouki-tag) {
    background:#e5edf6!important;
    color:#17324d!important;
  }
  :where(.l-footer,.l-footer__body,.l-footer__widgetArea,.footer-kouki,.footer-kouki *) {
    color:#334155!important;
  }
  :where(.post_content,.entry-content,.c-entry__content) table th {
    background:#e5edf6!important;
    color:#17324d!important;
  }
  :where(.post_content,.entry-content,.c-entry__content) a {
    color:#0b63b6;
  }
  :where(.c-postTimes__modified,.c-postTimes__posted) {
    color:#475569!important;
  }
  :where(.hm-front-events,.hm-article-calendar-lazy) :where(.hm-cal-thumb img,.hm-card img,.hm-cal-pick img) {
    aspect-ratio:16/9;
  }


.sp1-cat-entry{box-sizing:border-box;margin:18px 0 22px;padding:16px;border:1px solid #dbe4ee;border-radius:8px;background:#f8fafc;color:#223042;overflow:hidden;}
    .sp1-cat-entry *{box-sizing:border-box;}
    .sp1-cat-entry a{color:inherit;text-decoration:none;}
    .sp1-cat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
    .sp1-cat-kicker{margin:0 0 3px;color:#c75a1a;font-size:14px!important;font-weight:800;line-height:1.5;}
    .sp1-cat-title{margin:0!important;padding:0 0 7px!important;border:0!important;border-bottom:2px solid #2563a6!important;background:transparent!important;color:#17324d!important;font-size:21px;font-weight:800;line-height:1.35;letter-spacing:0;}
    .sp1-cat-updated{color:#64748b;font-size:11px;font-weight:700;}
    .sp1-cat-lead{margin:0 0 12px;color:#475569;font-size:13px;line-height:1.75;}
    .sp1-cat-section{margin:14px 0 0;padding-top:12px;border-top:1px solid #dbe4ee;}
    .sp1-cat-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:9px;}
    .sp1-cat-section-title{margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#17324d!important;font-size:17px;font-weight:800;line-height:1.4;letter-spacing:0;}
    .sp1-cat-section-sub{margin:0;color:#64748b;font-size:12px;line-height:1.6;}
    .sp1-cat-track{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:1px 2px 8px;}
    .sp1-cat-track::-webkit-scrollbar{height:8px;}
    .sp1-cat-track::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5e1;}
    .sp1-cat-scroll-progress{width:78px;height:4px;margin:2px auto 0;border-radius:999px;background:#e2e8f0;overflow:hidden;}
    .sp1-cat-scroll-progress span{display:block;width:34%;height:100%;margin-left:0;border-radius:inherit;background:#2563a6;transition:margin-left .12s linear,width .12s linear;}
    .sp1-cat-card{display:grid;grid-template-rows:auto 1fr;gap:8px;flex:0 0 calc(33.333% - 7px);min-width:0;padding:9px;border:1px solid #dbe4ee;border-radius:8px;background:#fff;scroll-snap-align:start;}
    .sp1-cat-card.no-image{grid-template-rows:1fr;}
    .sp1-cat-card img{display:block;width:100%;aspect-ratio:16/9;border-radius:6px;object-fit:cover;background:#e2e8f0;}
    .sp1-cat-card strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#17324d;font-size:14px;line-height:1.45;letter-spacing:0;}
    .sp1-cat-card em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;color:#64748b;font-size:12px;font-style:normal;line-height:1.55;}
    .sp1-cat-empty{display:block;padding:12px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;color:#64748b;font-size:13px;line-height:1.7;}
    @media (max-width:640px){
      .sp1-cat-entry{margin:16px -4px 20px;padding:13px 8px;border-radius:8px;}
      .sp1-cat-title{font-size:19px;}
      .sp1-cat-section-head{display:block;}
      .sp1-cat-section-sub{margin-top:3px;}
      .sp1-cat-card{flex:0 0 82%;}
    }/* Codex 2026-06-18: keep category blog parts readable when rendered through category descriptions. */
.sp1-cat-entry{font-variant-numeric:tabular-nums;}
.sp1-cat-entry :where(.sp1-cat-card,.sp1-cat-route,.sp1-cat-pick){box-shadow:0 8px 18px rgba(15,23,42,.035);}
.sp1-cat-entry :where(a,button){-webkit-tap-highlight-color:rgba(37,99,166,.12);}
@media (max-width:640px){
  .sp1-cat-entry{margin:14px 0 18px;padding:14px;border-radius:10px;}
  .sp1-cat-title{font-size:19px!important;}
  .sp1-cat-lead{font-size:13px;line-height:1.75;}
}
.sp1-cat-scroll-hint{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:0 0 8px;color:#64748b;font-size:12px;font-weight:700;line-height:1.5;}
.sp1-cat-scroll-hint span{color:#2563a6;font-size:15px;line-height:1;}


:root {
  --codex-readable-font-stack: system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  --codex-readable-text: #172033;
  --codex-readable-muted: #475569;
  --codex-readable-heading: #0f172a;
}

body,
button,
input,
select,
textarea {
  font-family: var(--codex-readable-font-stack);
}

body {
  color: var(--codex-readable-text);
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.post_content,
.entry-content,
.c-postContent {
  color: var(--codex-readable-text);
  font-size: 16.5px !important;
  line-height: 1.86 !important;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.post_content :where(p, li, dd),
.entry-content :where(p, li, dd),
.c-postContent :where(p, li, dd) {
  line-height: 1.86 !important;
}

.post_content :where(p),
.entry-content :where(p),
.c-postContent :where(p) {
  margin-top: 0;
  margin-bottom: 1.16em;
}

.post_content :where(ul, ol),
.entry-content :where(ul, ol),
.c-postContent :where(ul, ol) {
  padding-left: 1.45em;
}

.post_content :where(li + li),
.entry-content :where(li + li),
.c-postContent :where(li + li) {
  margin-top: 0.28em;
}

.post_content :where(h2, h3, h4),
.entry-content :where(h2, h3, h4),
.c-postContent :where(h2, h3, h4) {
  color: var(--codex-readable-heading);
  letter-spacing: 0;
  line-height: 1.44;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.post_content :where(figcaption, small, .wp-element-caption),
.entry-content :where(figcaption, small, .wp-element-caption),
.c-postContent :where(figcaption, small, .wp-element-caption) {
  color: var(--codex-readable-muted);
  line-height: 1.72;
}

.p-postList__title,
.c-postTitle__ttl,
.c-widget .p-postList__title {
  letter-spacing: 0;
  line-height: 1.48;
  overflow-wrap: anywhere;
}

.post_content :where(table),
.entry-content :where(table),
.c-postContent :where(table) {
  font-size: 0.96em;
  line-height: 1.62;
}

.post_content :where(a),
.entry-content :where(a),
.c-postContent :where(a) {
  text-underline-offset: 0.16em;
}

@media (max-width: 640px) {
  .post_content,
  .entry-content,
  .c-postContent {
    font-size: 16px !important;
    line-height: 1.82 !important;
  }

  .post_content :where(p, li, dd),
  .entry-content :where(p, li, dd),
  .c-postContent :where(p, li, dd) {
    line-height: 1.82 !important;
  }

  .post_content :where(p),
  .entry-content :where(p),
  .c-postContent :where(p) {
    margin-bottom: 1.08em;
  }

  .p-postList__title,
  .c-postTitle__ttl,
  .c-widget .p-postList__title {
    line-height: 1.46;
  }
}


@media (max-width: 767px) {
    .l-header__spNav {
        min-height: 44px !important;
        position: relative !important;
    }
    .l-header__spNav .p-spHeadMenu {
        min-height: 44px !important;
        height: 44px !important;
    }
    .l-header__spNav .p-spHeadMenu > li > a {
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 4px 10px !important;
    }
    /* The nav is intentionally horizontal; show that more destinations continue right. */
    .l-header__spNav::after {
        content: "";
        position: absolute;
        z-index: 2;
        top: 0;
        right: 0;
        bottom: 0;
        width: 34px;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .98) 82%);
        transition: opacity .18s ease;
    }
    .l-header__spNav::before {
        content: "›";
        position: absolute;
        z-index: 3;
        top: 50%;
        right: 4px;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        transform: translateY(-50%);
        border: 1px solid rgba(26, 75, 95, .18);
        border-radius: 999px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 1px 5px rgba(16, 55, 70, .14);
        color: #1a4b5f;
        font-size: 22px;
        font-weight: 700;
        line-height: 1;
        pointer-events: none;
        transition: opacity .18s ease;
    }
    .l-header__spNav.is-sp-nav-end::before,
    .l-header__spNav.is-sp-nav-end::after {
        opacity: 0;
    }
}


:root {
  --sp1-ink: #17283a;
  --sp1-heading: #12324f;
  --sp1-link: #075ea9;
  --sp1-link-hover: #064c87;
  --sp1-accent: #a84f0d;
  --sp1-canvas: #f6f8fb;
  --sp1-surface: #ffffff;
  --sp1-soft: #edf4fa;
  --sp1-border: #d8e2ec;
  --sp1-muted: #52657a;
  --sp1-focus: #ffbf47;
  --sp1-radius-sm: 8px;
  --sp1-radius: 14px;
  --sp1-shadow: 0 8px 24px rgba(18, 50, 79, .08);
  --sp1-shadow-hover: 0 12px 30px rgba(18, 50, 79, .13);
}

html { scroll-behavior: smooth; }
body { color: var(--sp1-ink); background: var(--sp1-canvas); }
a { text-underline-offset: .16em; }
a, button, input, select, textarea { -webkit-tap-highlight-color: rgba(7, 94, 169, .14); }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--sp1-focus) !important;
  outline-offset: 3px !important;
  border-radius: 4px;
}

/* Compact, stable site chrome. */
@media (min-width: 960px) {
  .l-header__logo { height: 80px !important; }
  .l-header__logo .c-headLogo { height: 80px; display: flex; align-items: center; }
  .l-header__logo img { width: auto !important; max-height: 62px !important; object-fit: contain; }
  .l-header__gnav { height: 48px !important; }
  .c-gnav > li > a { min-height: 48px; font-size: 14px; font-weight: 700; letter-spacing: .015em; }
}

.l-content { background: transparent; }
.l-mainContent__inner,
.c-sidebar__inner,
.p-searchContent { color: var(--sp1-ink); }
.c-pageTitle,
.c-postTitle__ttl,
.p-termHead__title,
.c-searchForm__label { color: var(--sp1-heading); letter-spacing: -.01em; text-wrap: balance; }
.c-postTitle__ttl { font-size: clamp(1.45rem, 2.45vw, 2.05rem) !important; line-height: 1.42 !important; }
.p-breadcrumb { color: var(--sp1-muted); font-size: 12px; }
.p-breadcrumb a { color: var(--sp1-link); }

/* Article hierarchy: the shared campaign inventory precedes article content. */
.single-post .l-mainContent__inner { display: flex !important; flex-direction: column !important; }
.single-post .l-mainContent__inner > .c-postTitle { order: 1; }
.single-post .l-mainContent__inner > .p-articleMetas { order: 2; }
.single-post .l-mainContent__inner > .p-articleThumb { order: 3; }
.single-post .l-mainContent__inner > .post_content { order: 5; }
.single-post .l-mainContent__inner > .w-singleTop { order: 4; }
.single-post .l-mainContent__inner > .w-singleBottom { order: 6; }
.single-post .l-mainContent__inner > .p-articleFoot { order: 7; }
.single-post .p-articleThumb {
  overflow: hidden;
  max-width: 840px;
  margin-right: auto;
  margin-left: auto;
  border-radius: var(--sp1-radius);
  box-shadow: var(--sp1-shadow);
}
.post_content { max-width: 840px; margin-right: auto; margin-left: auto; }
.post_content > h2 {
  margin-top: clamp(2.4rem, 5vw, 3.6rem) !important;
  padding: .78em .9em !important;
  border: 0 !important;
  border-left: 5px solid var(--sp1-link) !important;
  border-radius: 0 var(--sp1-radius-sm) var(--sp1-radius-sm) 0 !important;
  color: var(--sp1-heading) !important;
  background: var(--sp1-soft) !important;
  box-shadow: none !important;
  font-size: clamp(1.35rem, 2.3vw, 1.7rem) !important;
  line-height: 1.5 !important;
}
.post_content > h3 {
  margin-top: 2.1rem !important;
  padding: 0 0 .48em !important;
  border: 0 !important;
  border-bottom: 2px solid var(--sp1-border) !important;
  color: var(--sp1-heading) !important;
  background: transparent !important;
  font-size: clamp(1.16rem, 2vw, 1.38rem) !important;
}
.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(--sp1-radius-sm);
}
.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(--sp1-radius-sm) !important;
  font-weight: 800;
  line-height: 1.45;
}
.post_content .swell-block-button__link,
.post_content .wp-block-button__link { box-shadow: 0 5px 14px rgba(7, 94, 169, .16); }
.single-post .w-singleTop {
  max-width: 840px;
  margin: 42px auto 0 !important;
  padding-top: 28px;
  border-top: 1px solid var(--sp1-border);
}

/* Home keeps its editorial identity while sharing the system. */
.home .spz :where(.spz-feature, .spz-row, .spz-carriers, .spz-nav, .spz-priority),
.home .sp-section,
.home .sp-front-campaign-blog-part {
  border-color: var(--sp1-border) !important;
  border-radius: var(--sp1-radius) !important;
  box-shadow: var(--sp1-shadow) !important;
}
.home .spz :where(.spz-label, .spz-section-head, .sp-heading) { color: var(--sp1-heading) !important; }
.home .spz-actions a,
.home .spz-navs a { min-height: 48px; border-radius: var(--sp1-radius-sm); }

/* Category guides: keep all choices, reduce the distance to recent articles. */
.category .sp1-cat-entry { margin-bottom: 36px !important; }
.category .sp1-cat-entry :where(.sp1-cat-section, .sp1-cat-card) {
  border-color: var(--sp1-border) !important;
  border-radius: var(--sp1-radius) !important;
}
.category .sp1-cat-card {
  min-height: 0 !important;
  box-shadow: 0 5px 16px rgba(18, 50, 79, .06) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.category .sp1-cat-card:hover {
  transform: translateY(-2px);
  border-color: #a9c4dc !important;
  box-shadow: var(--sp1-shadow-hover) !important;
}
.category .sp1-cat-card :where(p, .sp1-cat-card__excerpt) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.category .p-postList__item { border-color: var(--sp1-border); }
.category .p-postList__link { border-radius: var(--sp1-radius-sm); }

/* Lists, search and fixed pages. */
:where(.p-postList__item, .p-searchContent__item, .c-cardLink) {
  border-color: var(--sp1-border);
}
:where(.p-postList__link, .p-searchContent__item a) { border-radius: var(--sp1-radius-sm); }
.c-searchForm :where(input[type="search"], .c-searchForm__s) { min-height: 48px; border-color: #aebfd0; background: var(--sp1-surface); }
.c-searchForm button { min-width: 48px; min-height: 48px; background: var(--sp1-link); }
.p-toc__expandBtn,
.c-modal__close { min-height: 48px; }
.page .post_content,
.search .l-mainContent__inner,
.error404 .l-mainContent__inner { max-width: 840px; margin-right: auto; margin-left: auto; }

/* Contact form uses the same visual grammar and accessible targets. */
.cx-contact {
  padding: clamp(18px, 4vw, 30px) !important;
  border: 1px solid var(--sp1-border) !important;
  border-radius: var(--sp1-radius) !important;
  background: var(--sp1-surface) !important;
  box-shadow: var(--sp1-shadow) !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(--sp1-radius-sm) !important;
  color: var(--sp1-ink);
  background: #fff;
}
.cx-contact textarea { min-height: 168px; }
.cx-contact :where(input[type="checkbox"], input[type="radio"]) { width: 20px; height: 20px; }
.cx-contact label:has(input[type="checkbox"]),
.cx-contact label:has(input[type="radio"]) { min-height: 44px; display: flex; gap: 10px; align-items: center; }
.cx-contact :where(button, input[type="submit"]) {
  min-height: 48px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--sp1-radius-sm);
  color: #fff;
  background: var(--sp1-link);
  font-weight: 800;
}

/* A concise footer index instead of a second sitemap. */
#swell_new_posts-2 .p-postList__item:nth-child(n+5),
#custom_html-15 .codex-swell-popular-item:nth-child(n+6) { display: none !important; }
.l-footer .w-footer__box { align-content: start; }
.l-footer .c-widget { margin-bottom: 28px !important; }
.l-footer .c-widget__title { margin-bottom: 14px; color: #fff; font-size: 1rem; letter-spacing: .03em; }
.l-footer .widget_categories > ul,
.l-footer .widget_nav_menu > div > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 18px;
}
.l-footer :where(.widget_categories, .widget_nav_menu) li { margin: 0 !important; }
.l-footer :where(.widget_categories, .widget_nav_menu) a { display: flex; min-height: 40px; align-items: center; }

@media (max-width: 767px) {
  .c-postTitle__ttl { font-size: 1.48rem !important; line-height: 1.46 !important; }
  .single-post .p-articleThumb { border-radius: 10px; }
  .post_content > h2 { margin-top: 2.25rem !important; padding: .72em .72em !important; font-size: 1.32rem !important; }
  .post_content > h3 { margin-top: 1.8rem !important; font-size: 1.16rem !important; }
  .single-post .w-singleTop { margin-top: 34px !important; padding-top: 22px; }
  .category .sp1-cat-entry { margin-bottom: 26px !important; }
  .category .sp1-cat-card { padding: 13px !important; }
  .category .sp1-cat-card :where(p, .sp1-cat-card__excerpt) { display: none !important; }
  .category .sp1-cat-card :where(h2, h3, h4, .sp1-cat-card__title) { margin-bottom: 0 !important; line-height: 1.48 !important; }
  .category :where(.sp1-cat-track, .sp1-cat-grid) { gap: 10px !important; }
  .l-footer .widget_categories > ul,
  .l-footer .widget_nav_menu > div > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 12px; }
  .l-footer .w-footer__box { padding-top: 28px; padding-bottom: 8px; }
}

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

.c-pagination:not(:has(a)){display:none}

#body_wrap ul.page-numbers{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;height:auto;min-width:0;line-height:normal;margin:24px 0;padding:0;background:none;box-shadow:none;list-style:none}
#body_wrap ul.page-numbers > li{margin:0;padding:0;list-style:none}
#body_wrap :is(a,span)[class*="page-numbers"]{height:48px;min-width:48px;line-height:48px;font-size:16px;border-radius:8px;box-sizing:border-box}
#body_wrap :is(a,span)[class*="page-numbers"]:not(.current):not(.dots){background:#fff;color:#1f2937;border:1px solid #cbd5e1;box-shadow:none}
#body_wrap :is(a,span)[class*="page-numbers"]:not(.current):not(.dots):hover{background:#f1f5f9;color:#111827;border-color:#64748b}
#body_wrap :is(a,span)[class*="page-numbers"].current{background:var(--color_main);color:#fff;border:1px solid transparent;font-weight:700}
#body_wrap :is(a,span)[class*="page-numbers"].dots{background:none;color:#4b5563;box-shadow:none}

@media (max-width: 767px) {
  #body_wrap .l-header__spNav { min-height: 48px !important; border-bottom: 1px solid #e3e9f0; }
  #body_wrap .l-header__spNav .p-spHeadMenu { height: 48px !important; min-height: 48px !important; align-items: center; padding: 0 36px 0 8px; scrollbar-width: none; }
  #body_wrap .l-header__spNav .p-spHeadMenu::-webkit-scrollbar { display: none; }
  #body_wrap .l-header__spNav .p-spHeadMenu > li { height: 48px; border-bottom: 0 !important; font-size: 14px; }
  #body_wrap .l-header__spNav .p-spHeadMenu > li > a { height: 48px !important; min-height: 48px !important; padding: 0 2px !important; color: #12324f; font-weight: 600; }
  #body_wrap .l-header__spNav .p-spHeadMenu > li > a > span { display: inline-block; padding: 6px 11px; border-radius: 999px; line-height: 1.4; }
  #body_wrap .l-header__spNav .p-spHeadMenu > li.-current > a > span,
  #body_wrap .l-header__spNav .p-spHeadMenu > li.current-menu-item > a > span { background: #e6effb; color: #174f9e; font-weight: 700; }
}
.p-postList__times .c-postTimes__modified::after{content:"更新";margin-left:.3em;font-size:.86em;letter-spacing:.02em}

/* カテゴリー：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}
}


.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}
}
