.mh-pr{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;
  }
}


/* Recommended and missed campaigns lead the article, before its body. */
.l-mainContent__inner { display: flex; flex-direction: column; }
.l-mainContent__inner > .p-articleHead { order: 1; }
.l-mainContent__inner > .p-articleMetas { order: 2; }
.l-mainContent__inner > .p-articleThumb { order: 3; }
.l-mainContent__inner > .post_content { order: 6; }
.l-mainContent__inner > .w-singleTop { order: 5; }
.l-mainContent__inner > .w-singleBottom { order: 7; }
.l-mainContent__inner > .p-articleFoot { order: 8; }
.l-mainContent__inner > .l-articleBottom { order: 9; }

/* Codex direct-design: compact hero-to-first-answer spacing. */
.l-mainContent__inner > .post_content {
    margin-top: 32px !important;
}
@media (max-width: 767px) {
    .l-mainContent__inner > .post_content {
        margin-top: 24px !important;
    }
}


@media (max-width: 640px) {
  .post_content table,
  .entry-content table,
  .c-postContent table,
  .swell-block-dl table,
  .wp-block-table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    line-height: 1.55;
  }

  .post_content th,
  .post_content td,
  .entry-content th,
  .entry-content td,
  .c-postContent th,
  .c-postContent td,
  .wp-block-table th,
  .wp-block-table td {
    padding: 8px 9px;
    vertical-align: top;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .codex-mobile-table-wrap {
    position: relative;
    box-sizing: border-box;
    max-width: 100%;
    margin: 14px 0 18px;
  }

  .codex-mobile-table-caption {
    margin: 6px 2px 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
  }

  .codex-mobile-table-scroll {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    padding: 19px 0 6px;
    scrollbar-width: thin;
  }

  .codex-mobile-table-scroll::before {
    content: "表は横にスクロールできます";
    position: absolute;
    top: 0;
    left: 2px;
    color: #475569;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
  }

  .codex-mobile-table-scroll.codex-table-at-start.codex-table-at-end {
    padding-top: 0;
  }

  .codex-mobile-table-scroll.codex-table-at-start.codex-table-at-end::before {
    content: none;
    display: none;
  }

  .codex-mobile-table-scroll::after {
    content: none;
    display: none;
  }

  .codex-mobile-table-scroll.codex-table-at-end::after {
    display: none;
  }

  .codex-mobile-table-scroll table {
    width: max-content;
    min-width: min(520px, 133vw);
    max-width: none;
  }

  .codex-mobile-table-scroll th:first-child,
  .codex-mobile-table-scroll td:first-child {
    position: static !important;
    left: auto !important;
    z-index: auto !important;
    min-width: 6.5em;
    background: #dcebf6;
    color: #0b2440;
    font-weight: 700;
  }

  .codex-mobile-table-compare-wide table {
    table-layout: fixed;
    width: var(--codex-table-min-width, 760px) !important;
    min-width: var(--codex-table-min-width, 760px) !important;
    max-width: none !important;
  }

  .codex-mobile-table-compare-wide th,
  .codex-mobile-table-compare-wide td {
    width: var(--codex-table-col-width, 116px) !important;
    min-width: var(--codex-table-col-width, 116px) !important;
    max-width: var(--codex-table-col-width, 116px) !important;
    padding: 6px 8px !important;
    border-color: #aebfd0 !important;
    color: #172033;
    font-size: 13px;
    line-height: 1.45;
  }

  .codex-mobile-table-compare-wide tbody tr:nth-child(even) td,
  .codex-mobile-table-compare-wide tbody tr:nth-child(even) th,
  .codex-mobile-table-compare-wide table > tr:nth-child(even) td,
  .codex-mobile-table-compare-wide table > tr:nth-child(even) th {
    background: #f3f7fb;
  }

  .codex-mobile-table-compare-wide thead th,
  .codex-mobile-table-compare-wide tr[data-codex-header-row="1"] th {
    background: #102a43 !important;
    color: #fff !important;
    font-weight: 900;
  }

  .codex-mobile-table-compare-wide th:first-child,
  .codex-mobile-table-compare-wide td:first-child {
    position: sticky !important;
    left: 0 !important;
    z-index: 2;
    width: var(--codex-table-label-width, 88px) !important;
    min-width: var(--codex-table-label-width, 88px) !important;
    max-width: var(--codex-table-label-width, 88px) !important;
    background: #dcebf6 !important;
    color: #0b2440 !important;
    box-shadow: 6px 0 0 #dcebf6, 7px 0 0 #8aa8c2;
  }

  .codex-mobile-table-compare-wide tr[data-codex-row-kind="image"] td,
  .codex-mobile-table-compare-wide tr[data-codex-row-kind="image"] th {
    background: #fff !important;
    text-align: center;
    vertical-align: middle;
  }

  .codex-mobile-table-compare-wide tr[data-codex-row-kind="image"] td:first-child,
  .codex-mobile-table-compare-wide tr[data-codex-row-kind="image"] th:first-child {
    background: #dcebf6 !important;
    color: #0b2440 !important;
    text-align: left;
  }

  .codex-mobile-table-compare-wide tr[data-codex-row-kind="image"] img {
    display: block;
    width: auto !important;
    max-width: 74px !important;
    height: 52px !important;
    object-fit: contain;
    margin: 0 auto;
  }

  .codex-mobile-table-compare-wide tr[data-codex-row-kind="price"] td,
  .codex-mobile-table-compare-wide tr[data-codex-row-kind="price"] th {
    background: #fff0cf !important;
    vertical-align: middle;
  }

  .codex-mobile-table-compare-wide tr[data-codex-row-kind="price"] td:first-child,
  .codex-mobile-table-compare-wide tr[data-codex-row-kind="price"] th:first-child {
    background: #ffd98a !important;
    color: #3f2500 !important;
  }

  .codex-mobile-table-compare-wide thead th:first-child {
    z-index: 3;
  }

  .codex-mobile-table-compare-wide .wp-block-button__link,
  .codex-mobile-table-compare-wide .mh-price-btn,
  .codex-mobile-table-compare-wide .monohikaku-price-btn,
  .codex-mobile-table-compare-wide a[class*="btn"],
  .codex-mobile-table-compare-wide a[class*="button"],
  .codex-mobile-table-compare-wide span[class*="btn"],
  .codex-mobile-table-compare-wide span[class*="button"] {
    box-sizing: border-box;
    display: inline-block !important;
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
    min-height: 34px !important;
    padding: 7px 6px !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .codex-mobile-table-stack {
    display: block;
  }

  .codex-mobile-table-stack table,
  .codex-mobile-table-stack thead,
  .codex-mobile-table-stack tbody,
  .codex-mobile-table-stack tr,
  .codex-mobile-table-stack th,
  .codex-mobile-table-stack td {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
  }

  .codex-mobile-table-stack table {
    border: 1px solid #aebfd0;
    border-radius: 7px;
    overflow: hidden;
    background: #fff;
  }

  .codex-mobile-table-stack thead {
    position: absolute;
    width: 1px !important;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .codex-mobile-table-stack tr[data-codex-header-row="1"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }

  .codex-mobile-table-stack tr {
    box-sizing: border-box;
    margin: 0;
    border: 0;
    border-top: 1px solid #b8c8d8;
    border-radius: 0;
    background: #fff;
    overflow: visible;
  }

  .codex-mobile-table-stack tbody tr:first-child,
  .codex-mobile-table-stack table > tr:first-child {
    border-top: 0;
  }

  .codex-mobile-table-stack td,
  .codex-mobile-table-stack th {
    box-sizing: border-box;
    border-width: 0 0 1px !important;
    border-color: #c7d5e2 !important;
    background: #fff !important;
    color: #111827 !important;
  }

  .codex-mobile-table-stack tr > :last-child {
    border-bottom: 0 !important;
  }

  .codex-mobile-table-stack td[data-codex-label]::before {
    content: none;
    display: none;
  }

  .codex-mobile-table-stack-labeled tr > :not(:first-child)[data-codex-label]::before {
    content: attr(data-codex-label-short);
    display: block;
    grid-column: 1;
    margin: 0.15em 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #5b7086;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.35;
  }

  .codex-mobile-table-stack-labeled td[data-codex-label],
  .codex-mobile-table-stack-labeled th[data-codex-label] {
    display: grid;
    grid-template-columns: 5.2em minmax(0, 1fr);
    column-gap: 8px;
    align-items: start;
    padding: 8px 10px 10px;
    line-height: 1.7;
  }

  .codex-mobile-table-stack-labeled .codex-mobile-table-cell-value {
    display: block;
    grid-column: 2;
    min-width: 0;
  }

  .codex-mobile-table-stack td:first-child,
  .codex-mobile-table-stack th:first-child {
    background: #dcebf6 !important;
    color: #0b2440 !important;
    font-weight: 800;
  }

  .codex-mobile-table-stack-labeled tr > :first-child {
    background: #102a43 !important;
    color: #fff !important;
    font-weight: 900;
    padding: 10px 11px !important;
    line-height: 1.45;
  }

  .codex-mobile-table-record table,
  .codex-mobile-table-place table,
  .codex-mobile-table-usecase table,
  .codex-mobile-table-rank table {
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .codex-mobile-table-record tr,
  .codex-mobile-table-place tr,
  .codex-mobile-table-usecase tr,
  .codex-mobile-table-rank tr {
    margin: 0 0 10px;
    border: 1px solid #aebfd0;
    border-radius: 7px;
    background: #fff;
    overflow: hidden;
  }

  .codex-mobile-table-record tbody tr:first-child,
  .codex-mobile-table-record table > tr:first-child,
  .codex-mobile-table-place tbody tr:first-child,
  .codex-mobile-table-place table > tr:first-child,
  .codex-mobile-table-usecase tbody tr:first-child,
  .codex-mobile-table-usecase table > tr:first-child,
  .codex-mobile-table-rank tbody tr:first-child,
  .codex-mobile-table-rank table > tr:first-child {
    border-top: 1px solid #aebfd0;
  }

  .codex-mobile-table-record tr > :not(:first-child),
  .codex-mobile-table-place tr > :not(:first-child),
  .codex-mobile-table-usecase tr > :not(:first-child) {
    padding: 9px 11px 11px !important;
    line-height: 1.72;
  }

  .codex-mobile-table-record tr:last-child,
  .codex-mobile-table-place tr:last-child,
  .codex-mobile-table-usecase tr:last-child,
  .codex-mobile-table-rank tr:last-child {
    margin-bottom: 0;
  }

  .codex-mobile-table-procedure td[data-codex-label]::before,
  .codex-mobile-table-procedure th[data-codex-label]::before {
    content: none;
    display: none;
  }

  .codex-mobile-table-procedure td[data-codex-label],
  .codex-mobile-table-procedure th[data-codex-label] {
    padding: 9px 11px 11px;
    line-height: 1.75;
  }

  .codex-mobile-table-stack tr > :first-child:last-child {
    background: #102a43 !important;
    color: #fff !important;
    font-weight: 900;
  }

  .codex-mobile-table-rank tbody,
  .codex-mobile-table-rank tr,
  .codex-mobile-table-rank td {
    display: block;
  }

  .codex-mobile-table-rank td {
    border-width: 0 0 1px !important;
  }

  .codex-mobile-table-rank tr > :last-child {
    border-bottom: 0 !important;
  }

  .codex-mobile-table-rank td:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #dcebf6 !important;
    color: #0b2440 !important;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
  }

  .codex-mobile-table-rank td:first-child::before {
    content: none;
    display: none;
  }

}


/* Keep long visible TOCs readable without hiding any decision link. */
@media (max-width: 767px) {
    .p-toc.-capbox:not(.is-omitted):has(> .p-toc__list > li:nth-of-type(8)) {
        margin-top: 32px !important;
        margin-bottom: 32px !important;
        padding-bottom: 16px !important;
    }
    .p-toc.-capbox:not(.is-omitted):has(> .p-toc__list > li:nth-of-type(8)) > .p-toc__list > li {
        margin-top: 4px !important;
        margin-bottom: 4px !important;
        font-size: 15px !important;
        line-height: 1.55 !important;
    }
    .p-toc.-capbox:not(.is-omitted):has(> .p-toc__list > li:nth-of-type(8)) > .p-toc__list > li > .p-toc__link {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }
}


@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;
    }
}

.single-post .l-mainContent__inner > .p-articleThumb.p-articleThumb{order:5}

@media (max-width: 959px) {
  html.pmx-ft-new .single .l-footer .w-footer__box:has(.widget_swell_new_posts) { display: none; }
  html.pmx-pop-5 #body_wrap.single #footer .w-footer__box .codex-swell-popular-panel .codex-swell-popular-item:nth-child(n+6) { display: none !important; }
  .single .l-footer .c-listMenu li { margin: 0; border: 0; }
  .single .l-footer .c-listMenu li a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid currentColor; border-radius: 999px; line-height: 1.4; }
  .single .l-footer .c-listMenu li a::before, .single .l-footer .c-listMenu li a::after { display: none; }
  .single .l-footer .c-listMenu .children, .single .l-footer .c-listMenu .sub-menu { display: none; }
}
@media (max-width: 959px) {
  .single .l-footer .c-listMenu ul { display: grid !important; grid-template-rows: repeat(3, auto); grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; gap: 8px; padding: 0 0 6px; }
  #body_wrap.single #footer [data-partsID="24143"] ul { display: grid !important; grid-template-columns: 1fr 1fr; gap: 6px !important; }
  #body_wrap.single #footer [data-partsID="24143"] li a > div > div + div, #body_wrap.single #footer [data-partsID="24143"] li a > span:last-child { display: none !important; }
  #body_wrap.single #footer [data-partsID="24143"] li a { height: 100%; padding: 8px !important; gap: 6px !important; }
  html.pmx-kouki-tag .single .l-footer .footer-kouki-tag { display: none; }
}
@media (max-width: 959px) {
  #body_wrap.single #footer [data-partsID="24143"] > div > div:first-child > div > div + div { display: none !important; }
}
@media (max-width: 959px) {
  .single #content.l-content { margin-bottom: 24px !important; padding-bottom: 24px !important; }
  .single #before_footer_widget { margin-top: 24px !important; margin-bottom: 20px !important; }
  .single .codex-preferred-source-widget { margin: 8px auto !important; }
  .single .codex-preferred-source-widget:has([google-add-preferred-source-btn] > *) > p:last-of-type { display: none !important; }
  html.pmx-ft-search .single .l-footer .widget_search { display: none; }
}


: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; }
}


.post_content :is(p,li,dd,td,th,figcaption,blockquote) a:not([class]):not([style]):not(:has(img)){text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.22em!important;text-decoration-skip-ink:auto}
.post_content :is(p,li,dd,td,th,figcaption,blockquote) a:not([class]):not([style]):not(:has(img)):hover{text-decoration-thickness:2px!important}
.post_content :is(p,li,dd) a:not([class]):not([style]):not(:has(img)):visited{color:#6b3fa0}

/* SP1 compare table (たまコイン型, 2026-10-09). スマホでも2〜3列の横並びを保ち、数字を主役にする。
   部品: .sp1-cmp > table.sp1-cmp-table[data-codex-mobile-table="1"] / caption(.sp1-cmp-sub) / .is-key 列 / tr.is-best / .sp1-num .sp1-unit .sp1-cmp-diff .sp1-cmp-tag
         details.sp1-cmp-all（全行の一覧） / .sp1-example（自分ならいくらか） 
   改善の記録（使って合わなかった所を直したら1行足し、古くなった行は消す）:
   - 2026-10-09 列幅を中身に合わせる（table-layout:auto）：招待コードナビの狭い本文で項目列が95pxになり3〜4行折り返した（2399、表の高さ951→733px）
   - 2026-10-09 群の見出し行 tr.sp1-group：モノヒカク洋服レンタルの9行が1表に詰まりサービス名が毎行折り返した（36059）
   - 2026-10-09 見出し行の補足 thead small を白系に：ハリマップのムーミン展「前売 10/9まで」が濃い背景で読めなかった（36756）
   - 2026-10-10 overflow-wrap:anywhere をやめ、文のセルに最小幅（列が1〜3字幅に細った。共通版 site-engine/assets/compare-table.css と同じ修正）
   - 2026-10-09 長い注記はセルに入れず表の下の foot へ：付与時期の注記で行が縦に伸びた（招待コードナビ2364）
*/
.sp1-cmp { margin: 1.6em 0; padding: 16px 14px 14px; border: 1px solid #cbd8e1; border-radius: 12px; background: #fff; max-width: 100%; }
.sp1-cmp .sp1-cmp-table { width: 100% !important; min-width: 0 !important; table-layout: auto; border-collapse: separate; border-spacing: 0; margin: 0 !important; font-size: 16px; line-height: 1.5; display: table !important; }
.sp1-cmp .sp1-cmp-table caption { display: table-caption !important; caption-side: top; text-align: left; padding: 0 0 12px !important; color: #172b3a; font-size: 1.2em !important; font-weight: 800; line-height: 1.45; }
.sp1-cmp .sp1-cmp-table caption .sp1-cmp-sub { display: block; margin-top: 4px; color: #465b6a; font-size: 14px; font-weight: 400; line-height: 1.5; }
.sp1-cmp .sp1-cmp-table thead { position: static !important; width: auto !important; height: auto !important; clip-path: none !important; overflow: visible !important; display: table-header-group !important; }
.sp1-cmp .sp1-cmp-table tbody { display: table-row-group !important; }
.sp1-cmp .sp1-cmp-table tr { display: table-row !important; border: 0 !important; }
.sp1-cmp .sp1-cmp-table :is(th,td) { display: table-cell !important; width: auto !important; padding: 12px 10px !important; border: 0 !important; border-bottom: 1px solid #dfe7ee !important; vertical-align: middle !important; background: #fff; color: #172b3a; white-space: normal !important; overflow-wrap: break-word; }
.sp1-cmp .sp1-cmp-table :is(th,td)::before { content: none !important; display: none !important; }
.sp1-cmp .sp1-cmp-table thead th { background: #172b3a !important; color: #fff !important; font-size: 14px !important; font-weight: 700; text-align: center !important; padding: 9px 6px !important; }
.sp1-cmp .sp1-cmp-table thead th small { display: block; margin-top: 1px; color: rgba(255,255,255,.85) !important; font-size: 14px !important; font-weight: 400; }
.sp1-cmp .sp1-cmp-table thead th:first-child { border-radius: 8px 0 0 0; }
.sp1-cmp .sp1-cmp-table thead th:last-child { border-radius: 0 8px 0 0; }
.sp1-cmp .sp1-cmp-table tbody th { width: auto; min-width: 6.5em; text-align: left !important; font-weight: 700; background: #f6f9fb !important; }
.sp1-cmp .sp1-cmp-table tbody th small { display: block; margin-top: 2px; color: #465b6a; font-size: 14px !important; font-weight: 400; }
.sp1-cmp .sp1-cmp-table tbody td { text-align: right !important; white-space: nowrap !important; }
.sp1-cmp .sp1-cmp-table tbody td .sp1-cmp-diff { white-space: normal; }
.sp1-cmp .sp1-cmp-table tbody td.is-text { text-align: left !important; font-size: 15px; white-space: normal !important; }
.sp1-cmp .sp1-num { font-size: 1.4em; font-weight: 800; letter-spacing: .01em; font-variant-numeric: tabular-nums; line-height: 1.2; }
.sp1-cmp .sp1-unit { margin-left: 1px; font-size: max(14px, .8em); font-weight: 700; color: inherit; }
.sp1-cmp .sp1-pre { font-size: .85em; font-weight: 700; margin-right: 1px; }
.sp1-cmp .sp1-cmp-diff { display: block; margin-top: 3px; font-size: 14px; font-weight: 700; line-height: 1.3; }
.sp1-cmp .sp1-cmp-diff.is-up { color: #b42318; }
.sp1-cmp .sp1-cmp-diff.is-up::before { content: "▲"; font-size: .8em; margin-right: 2px; }
.sp1-cmp .sp1-cmp-diff.is-good { color: #067647; }
.sp1-cmp .sp1-cmp-diff.is-note { color: #465b6a; font-weight: 400; }
.sp1-cmp .sp1-cmp-table .is-key { background: #fff4f2 !important; color: #b42318; }
.sp1-cmp .sp1-cmp-table thead .is-key { background: #b42318 !important; color: #fff !important; }
.sp1-cmp .sp1-cmp-table td.is-win { background: #ecfdf3 !important; color: #067647; box-shadow: inset 0 0 0 2px #12b76a; }
.sp1-cmp .sp1-cmp-tag { display: inline-block; margin: 0 0 0 6px; padding: 1px 7px; border-radius: 4px; background: #fde68a; color: #713f12; font-size: 14px; font-weight: 800; line-height: 1.5; vertical-align: 1px; }
.sp1-cmp tr.is-best th { box-shadow: inset 4px 0 0 #f59e0b; }
.sp1-cmp .sp1-cmp-foot { margin: 10px 0 0 !important; color: #465b6a; font-size: 14px !important; line-height: 1.6; }
.sp1-cmp-all { margin: -.6em 0 1.6em; border: 1px solid #cbd8e1; border-radius: 10px; background: #f6f9fb; }
.sp1-cmp-all > summary { cursor: pointer; list-style: none; padding: 14px 44px 14px 16px; position: relative; font-weight: 700; color: #172b3a; min-height: 48px; }
.sp1-cmp-all > summary::-webkit-details-marker { display: none; }
.sp1-cmp-all > summary::after { content: "▼"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 12px; color: #465b6a; }
.sp1-cmp-all[open] > summary::after { content: "▲"; }
.sp1-cmp-all > :not(summary) { margin: 0 12px 12px !important; width: auto !important; max-width: calc(100% - 24px) !important; }
.sp1-example { display: flex; gap: 12px; align-items: flex-start; margin: 1.2em 0 1.6em; padding: 14px 16px; border-radius: 10px; background: #effaf3; border-left: 4px solid #12b76a; }
.sp1-example::before { content: "例"; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #12b76a; color: #fff; font-size: 14px; font-weight: 800; }
.sp1-example p { margin: 0 !important; }
.sp1-example mark { background: linear-gradient(transparent 55%, #fde68a 55%); color: #b42318; font-weight: 800; padding: 0 1px; }
/* 群の見出し行（例：サービス名ごとにプランを並べる）。2026-10-09 モノヒカク洋服レンタルで9行が1表に詰まり読みにくかったため追加 */
.sp1-cmp .sp1-cmp-table tr.sp1-group > th { background: #e8eef3 !important; color: #172b3a !important; font-size: 14px !important; font-weight: 800; text-align: left !important; padding: 6px 10px !important; border-bottom: 0 !important; }
.sp1-cmp .sp1-cmp-table tr.sp1-group + tr > * { border-top: 0 !important; }
@media (max-width: 600px) {
  .sp1-cmp { padding: 12px 8px 10px; margin-inline: 0; }
  .sp1-cmp .sp1-cmp-table caption { font-size: 1.12em !important; }
  .sp1-cmp .sp1-cmp-table :is(th,td) { padding: 10px 6px !important; }
  .sp1-cmp .sp1-cmp-table tbody th { font-size: 15px !important; }
  .sp1-cmp .sp1-num { font-size: 1.18em; }
  .sp1-cmp .sp1-cmp-table tbody td { padding: 10px 5px !important; }
}

/* 2026-10-10 文のセル：最小幅を持たせ、補足（確認日・購入先）は折らない */
.sp1-cmp .sp1-cmp-table tbody td.is-text small { display: block; margin-top: 2px; color: #465b6a; font-size: 14px !important; font-weight: 400; white-space: nowrap; }
@media (max-width: 600px) {
  .sp1-cmp .sp1-cmp-table tbody th { min-width: 5em; }
  .sp1-cmp .sp1-cmp-table tbody td.is-text { min-width: 6em; font-size: 14px; }
}
:root{--ms-head:#12324f;--ms-key:#b42318;--ms-key-bg:#fff4f2;}
/* 管理サイト共通の比較表・基本情報カード（たまコイン型、2026-10-09）。SP1は sp1-operations/templates/compare-table.css（.sp1-）を使う。
   比較表: .ms-cmp > table.ms-cmp-table[data-codex-mobile-table="1"] / caption(.ms-cmp-sub) / .is-key 列 / tr.is-best / td.is-win / .ms-num .ms-unit .ms-pre .ms-cmp-diff(.is-up/.is-good/.is-note) .ms-cmp-tag / table.is-2col
           details.ms-cmp-all（全項目） / .ms-example（具体例）
   基本情報カード: .ms-info > table.ms-info-table[data-codex-mobile-table="1"] / caption / tr.is-main（日時・料金など最重要行を大きく）
   色はサイトごとに --ms-head（見出し行）・--ms-key（強調列）・--ms-key-bg を配布時に指定する。 
   改善の記録（使って合わなかった所を直したら1行足し、古くなった行は消す）:
   - 2026-10-09 列幅を中身に合わせる（table-layout:auto）：招待コードナビの狭い本文で項目列が95pxになり3〜4行折り返した（2399、表の高さ951→733px）
   - 2026-10-09 群の見出し行 tr.ms-group：モノヒカク洋服レンタルの9行が1表に詰まりサービス名が毎行折り返した（36059）
   - 2026-10-09 見出し行の補足 thead small を白系に：ハリマップのムーミン展「前売 10/9まで」が濃い背景で読めなかった（36756）
   - 2026-10-09 長い注記はセルに入れず表の下の foot へ：付与時期の注記で行が縦に伸びた（招待コードナビ2364）
   - 2026-10-10 overflow-wrap:anywhere をやめる：列幅の最小値が1字になり、文のセルがある列が1〜3字幅に細った（モノヒカク protein「12,0/53円」、招待コードナビ pointsite 期限列）。is-text のセルに最小幅、small は折らない
   - 2026-10-10 長文の旧表は項目名を上に積むだけでは強弱がなく読みにくい（SP1 mnpdan、本人指摘）→ 選び方カード ms-picks・ms-dodont・ms-steps・特典ごとの行 ms-rewards を追加
   - 2026-10-10 行見出しは keep-all＋本文の <wbr> で区切りの良い位置だけで折る（「お城通り善意駐車/場」）。最小幅で押し広げると表がはみ出した
   - 2026-10-10 4列の比較表がスマホで枠より広くなり、外側の overflow:clip で右端の列と見出しが切れて横スクロールもできなかった（モノヒカク wireless-earphone-under-10000 の「防水」列）。4列以上は詰めて収め、数値以外は折り返す。それでも広い時は枠内で横スクロール
   - 2026-10-10 リストが黒丸か数字だけで条件・日付が埋もれた（ハリマップ ako-hamazushi ほか）→ チェック ms-check・タイムライン ms-tl を追加、ふつうのリストの行間をそろえる
   - 2026-10-10 4〜5列の表の3つの型を追加：.ms-wt（多い件数×短い値）・.ms-cmp3（少ない製品×多い項目）・.ms-pcard（長文は要約表＋カード）。旧部品 codex-mobile-table の小さい項目名（10.5px）と2列表の縦積みも直す
   - 2026-10-11 型Bの4製品で6桁の金額が「153,6/50」と数字の途中で折れた（SP1 32487、スマホ375で7セル）→ .ms-num を折らない・4製品はスマホで数字を1.1emに。単位は行ラベルへ（「24か月の支払い（円）」）
   - 2026-10-12 表の小さい文字（項目名・補足・印・日付の札 12〜13.5px）を14pxへ（方針の表・注釈14px以上。SP1 mnp-campaign のカード型項目名13px）。アイコンの ▼▶✓ だけ据え置き。戻し方: sitewide_css の受領記録 backup_path。
*/
.ms-cmp { margin: 1.6em 0; padding: 16px 14px 14px; border: 1px solid #cbd8e1; border-radius: 12px; background: #fff; max-width: 100%; }
.ms-cmp .ms-cmp-table { width: 100% !important; min-width: 0 !important; table-layout: auto; border-collapse: separate; border-spacing: 0; margin: 0 !important; font-size: 16px; line-height: 1.5; display: table !important; }
.ms-cmp .ms-cmp-table caption { display: table-caption !important; caption-side: top; text-align: left; padding: 0 0 12px !important; color: #172b3a; font-size: 1.2em !important; font-weight: 800; line-height: 1.45; }
.ms-cmp .ms-cmp-table caption .ms-cmp-sub { display: block; margin-top: 4px; color: #465b6a; font-size: 14px; font-weight: 400; line-height: 1.5; }
.ms-cmp .ms-cmp-table thead { position: static !important; width: auto !important; height: auto !important; clip-path: none !important; overflow: visible !important; display: table-header-group !important; }
.ms-cmp .ms-cmp-table tbody { display: table-row-group !important; }
.ms-cmp .ms-cmp-table tr { display: table-row !important; border: 0 !important; }
.ms-cmp .ms-cmp-table :is(th,td) { display: table-cell !important; width: auto !important; padding: 12px 10px !important; border: 0 !important; border-bottom: 1px solid #dfe7ee !important; vertical-align: middle !important; background: #fff; color: #172b3a; white-space: normal !important; overflow-wrap: break-word; }
.ms-cmp .ms-cmp-table :is(th,td)::before { content: none !important; display: none !important; }
.ms-cmp .ms-cmp-table thead th { background: var(--ms-head,#172b3a) !important; color: #fff !important; font-size: 14px !important; font-weight: 700; text-align: center !important; padding: 9px 6px !important; }
.ms-cmp .ms-cmp-table thead th small { display: block; margin-top: 1px; color: rgba(255,255,255,.85) !important; font-size: 14px !important; font-weight: 400; }
.ms-cmp .ms-cmp-table thead th:first-child { border-radius: 8px 0 0 0; }
.ms-cmp .ms-cmp-table thead th:last-child { border-radius: 0 8px 0 0; }
.ms-cmp .ms-cmp-table tbody th { width: auto; min-width: 6.5em; text-align: left !important; font-weight: 700; background: #f6f9fb !important; }
.ms-cmp .ms-cmp-table tbody th small { display: block; margin-top: 2px; color: #465b6a; font-size: 14px !important; font-weight: 400; }
.ms-cmp .ms-cmp-table tbody td { text-align: right !important; white-space: nowrap !important; }
.ms-cmp .ms-cmp-table tbody td .ms-cmp-diff { white-space: normal; }
.ms-cmp .ms-cmp-table tbody td.is-text { text-align: left !important; font-size: 15px; white-space: normal !important; }
.ms-cmp .ms-num { font-size: 1.4em; font-weight: 800; letter-spacing: .01em; font-variant-numeric: tabular-nums; line-height: 1.2; }
.ms-cmp .ms-unit { margin-left: 1px; font-size: .8em; font-weight: 700; color: inherit; }
.ms-cmp .ms-pre { font-size: .85em; font-weight: 700; margin-right: 1px; }
.ms-cmp .ms-cmp-diff { display: block; margin-top: 3px; font-size: 14px; font-weight: 700; line-height: 1.3; }
.ms-cmp .ms-cmp-diff.is-up { color: #b42318; }
.ms-cmp .ms-cmp-diff.is-up::before { content: "▲"; font-size: .8em; margin-right: 2px; }
.ms-cmp .ms-cmp-diff.is-good { color: #067647; }
.ms-cmp .ms-cmp-diff.is-note { color: #465b6a; font-weight: 400; }
.ms-cmp .ms-cmp-table .is-key { background: var(--ms-key-bg,#fff4f2) !important; color: var(--ms-key,#b42318); }
.ms-cmp .ms-cmp-table thead .is-key { background: var(--ms-key,#b42318) !important; color: #fff !important; }
.ms-cmp .ms-cmp-table td.is-win { background: #ecfdf3 !important; color: #067647; box-shadow: inset 0 0 0 2px #12b76a; }
.ms-cmp .ms-cmp-tag { display: inline-block; margin: 0 0 0 6px; padding: 1px 7px; border-radius: 4px; background: #fde68a; color: #713f12; font-size: 14px; font-weight: 800; line-height: 1.5; vertical-align: 1px; }
.ms-cmp tr.is-best th { box-shadow: inset 4px 0 0 #f59e0b; }
.ms-cmp .ms-cmp-foot { margin: 10px 0 0 !important; color: #465b6a; font-size: 14px !important; line-height: 1.6; }
.ms-cmp-all { margin: -.6em 0 1.6em; border: 1px solid #cbd8e1; border-radius: 10px; background: #f6f9fb; }
.ms-cmp-all > summary { cursor: pointer; list-style: none; padding: 14px 44px 14px 16px; position: relative; font-weight: 700; color: #172b3a; min-height: 48px; }
.ms-cmp-all > summary::-webkit-details-marker { display: none; }
.ms-cmp-all > summary::after { content: "▼"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 12px; color: #465b6a; }
.ms-cmp-all[open] > summary::after { content: "▲"; }
.ms-cmp-all > :not(summary) { margin: 0 12px 12px !important; width: auto !important; max-width: calc(100% - 24px) !important; }
.ms-example { display: flex; gap: 12px; align-items: flex-start; margin: 1.2em 0 1.6em; padding: 14px 16px; border-radius: 10px; background: #effaf3; border-left: 4px solid #12b76a; }
.ms-example::before { content: "例"; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: #12b76a; color: #fff; font-size: 14px; font-weight: 800; }
.ms-example p { margin: 0 !important; }
.ms-example mark { background: linear-gradient(transparent 55%, #fde68a 55%); color: #b42318; font-weight: 800; padding: 0 1px; }
/* 群の見出し行（例：サービス名ごとにプランを並べる）。2026-10-09 モノヒカク洋服レンタルで9行が1表に詰まり読みにくかったため追加 */
.ms-cmp .ms-cmp-table tr.ms-group > th { background: #e8eef3 !important; color: #172b3a !important; font-size: 14px !important; font-weight: 800; text-align: left !important; padding: 6px 10px !important; border-bottom: 0 !important; }
.ms-cmp .ms-cmp-table tr.ms-group + tr > * { border-top: 0 !important; }
@media (max-width: 600px) {
  .ms-cmp { padding: 12px 8px 10px; margin-inline: 0; }
  .ms-cmp .ms-cmp-table caption { font-size: 1.12em !important; }
  .ms-cmp .ms-cmp-table :is(th,td) { padding: 10px 6px !important; }
  .ms-cmp .ms-cmp-table tbody th { font-size: 15px !important; }
  .ms-cmp .ms-num { font-size: 1.18em; }
  .ms-cmp .ms-cmp-table tbody td { padding: 10px 5px !important; }
}

.ms-info { margin: 1.6em 0; padding: 14px 14px 6px; border: 1px solid #cbd8e1; border-radius: 12px; background: #fff; border-top: 5px solid var(--ms-head,#172b3a); }
.ms-info .ms-info-table { width: 100% !important; min-width: 0 !important; table-layout: fixed; border-collapse: collapse; margin: 0 !important; display: table !important; font-size: 16px; line-height: 1.6; }
.ms-info .ms-info-table caption { display: table-caption !important; caption-side: top; text-align: left; padding: 0 0 10px !important; color: #172b3a; font-size: 1.15em !important; font-weight: 800; line-height: 1.5; }
.ms-info .ms-info-table caption .ms-cmp-sub { display: block; margin-top: 3px; color: #465b6a; font-size: 14px; font-weight: 400; }
.ms-info .ms-info-table tbody, .ms-info .ms-info-table thead { display: table-row-group !important; position: static !important; clip-path: none !important; width: auto !important; height: auto !important; overflow: visible !important; }
.ms-info .ms-info-table tr { display: table-row !important; border: 0 !important; }
.ms-info .ms-info-table :is(th,td) { display: table-cell !important; width: auto !important; padding: 10px 6px !important; border: 0 !important; border-bottom: 1px solid #e6edf2 !important; background: transparent !important; color: #172b3a; vertical-align: top !important; white-space: normal !important; overflow-wrap: break-word; text-align: left !important; }
.ms-info .ms-info-table :is(th,td)::before { content: none !important; display: none !important; }
.ms-info .ms-info-table tr:last-child > * { border-bottom: 0 !important; }
.ms-info .ms-info-table th { width: 33% !important; color: #465b6a !important; font-size: 14px !important; font-weight: 700; padding-top: 12px !important; }
.ms-info .ms-info-table td { font-weight: 700; }
.ms-info .ms-info-table td small { display: block; color: #465b6a; font-size: 14px !important; font-weight: 400; margin-top: 2px; }
.ms-info .ms-info-table tr.is-main td { font-size: 1.15em; font-weight: 800; color: var(--ms-key,#b42318); }
.ms-info .ms-info-table tr.is-main td small { color: #465b6a; }

/* ---- 2026-10-10 文のセル（is-text）：最小幅を持たせ、補足（モール名・確認日）は折らない ---- */
.ms-cmp .ms-cmp-table tbody td.is-text small { display: block; margin-top: 2px; color: #465b6a; font-size: 14px !important; font-weight: 400; white-space: nowrap; }
@media (max-width: 600px) {
  .ms-cmp .ms-cmp-table tbody th { min-width: min(8.2em, 36vw); font-size: 14.5px !important; }
  .ms-wt .ms-wt-table :is(td) { padding: 9px 4px !important; }
  .ms-cmp .ms-cmp-table tbody td.is-text { min-width: min(6em, 24vw); font-size: 14px; }
}

/* ---- 型A：多い件数×短い値（2026-10-10、参考 mybest・RTINGS）。1列を区切り見出し＋飛び先ボタンへ移し、値は印・大きな数字・✓に縮めて4列以内に収める。JSなし。
   .ms-wt > p.ms-wt-cap / nav.ms-wt-jump > a[href="#…"] / table.ms-wt-table[data-codex-mobile-table="1"] > thead / tbody > tr.ms-wt-grp[id] > th[colspan] / tr > th[scope=row] + td
   値: .ms-wt-free（無料などの良い値）・.ms-wt-num（数字）+ small（単位）・.ms-wt-yes（✓）・.ms-wt-no（—）。10行を超える時は details.ms-wt-more に残りを入れる */
.ms-wt { margin: 1.6em 0; padding: 14px 12px 10px; border: 1px solid #cbd8e1; border-radius: 12px; background: #fff; }
.ms-wt .ms-wt-cap { margin: 0 0 8px !important; font-weight: 800; font-size: 1.1em; color: #172b3a; line-height: 1.45; }
.ms-wt .ms-wt-cap small { display: block; font-size: 14px; font-weight: 400; color: #465b6a; }
.ms-wt .ms-wt-jump { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.ms-wt .ms-wt-jump a { display: inline-block; padding: 3px 12px; border: 1px solid #cbd8e1; border-radius: 999px; background: #f6f9fb; color: #172b3a !important; font-size: 14px; font-weight: 700; text-decoration: none !important; line-height: 1.6; }
.ms-wt table.ms-wt-table { width: 100% !important; min-width: 0 !important; display: table !important; border-collapse: separate; border-spacing: 0; margin: 0 !important; font-size: 15px; line-height: 1.45; table-layout: auto; }
.ms-wt .ms-wt-table thead { display: table-header-group !important; position: static !important; clip-path: none !important; width: auto !important; height: auto !important; overflow: visible !important; }
.ms-wt .ms-wt-table tbody { display: table-row-group !important; }
.ms-wt .ms-wt-table tr { display: table-row !important; border: 0 !important; }
.ms-wt .ms-wt-table :is(th,td) { display: table-cell !important; width: auto !important; padding: 9px 6px !important; border: 0 !important; border-bottom: 1px solid #e3eaf0 !important; background: transparent !important; color: #172b3a; vertical-align: middle !important; white-space: nowrap !important; text-align: center !important; overflow-wrap: normal; position: static !important; }
.ms-wt .ms-wt-table :is(th,td)::before { content: none !important; display: none !important; }
.ms-wt .ms-wt-table thead th { background: #f1f5f8 !important; color: #465b6a !important; font-size: 14px !important; font-weight: 700; padding: 6px !important; }
.ms-wt .ms-wt-table thead th:first-child, .ms-wt .ms-wt-table tbody th { text-align: left !important; }
.ms-wt .ms-wt-table tbody th { white-space: normal !important; font-weight: 700; line-height: 1.35; min-width: 0; font-size: 14px; }
.ms-wt .ms-wt-table td { font-size: 14px; }
.ms-wt .ms-wt-table tbody th small { display: block; font-size: 14px; font-weight: 400; color: #465b6a; }
.ms-wt .ms-wt-table tr.ms-wt-grp > th { background: #e8eef3 !important; color: #172b3a !important; font-size: 14px !important; font-weight: 800; text-align: left !important; padding: 5px 8px !important; scroll-margin-top: 90px; }
.ms-wt .ms-wt-free { display: inline-block; padding: 0 8px; border-radius: 6px; background: #ecfdf3; color: #067647; font-weight: 800; }
.ms-wt .ms-wt-num { font-size: 1.15em; font-weight: 800; font-variant-numeric: tabular-nums; }
.ms-wt .ms-wt-num small { font-size: 14px; font-weight: 600; color: #465b6a; margin: 0 1px; }
.ms-wt .ms-wt-yes { color: #067647; font-weight: 800; }
.ms-wt .ms-wt-no { color: #8a99a6; }
.ms-wt .ms-wt-foot { margin: 8px 0 0 !important; font-size: 14px !important; color: #465b6a; line-height: 1.6; }
.ms-wt details.ms-wt-more { margin-top: 8px; }
.ms-wt details.ms-wt-more > summary { cursor: pointer; list-style: none; text-align: center; padding: 8px; border: 1px solid #cbd8e1; border-radius: 8px; font-weight: 700; color: #172b3a; }
.ms-wt details.ms-wt-more > summary::-webkit-details-marker { display: none; }
.ms-wt details.ms-wt-more[open] > summary { display: none; }

/* ---- 型B：少ない製品×多い項目（2026-10-10、参考 GSMArena・Apple）。項目名を値の上の帯に置き、横幅を全部値に使う。製品名の帯は上に固定。
   div.ms-cmp3[role=table][style="--n:3"] > div.ms-cmp3-head[role=row] > div[role=columnheader]（製品名 + small）
   / div.ms-cmp3-row[role=row] > div.ms-cmp3-lab[role=rowheader] + div.ms-cmp3-vals > div[role=cell]（.is-win で得な値、.ms-num/.ms-unit、.ms-cmp-tag、small で補足）
   / details.ms-cmp3-more（長い説明：選ぶ用途・注意点など） */
.ms-cmp3 { --n: 3; margin: 1.6em 0; border: 1px solid #cbd8e1; border-radius: 12px; background: #fff; font-size: 15px; line-height: 1.45; }
.ms-cmp3 .ms-cmp3-cap { margin: 0 !important; padding: 12px 12px 10px; font-weight: 800; font-size: 1.1em; color: #172b3a; line-height: 1.45; }
.ms-cmp3 .ms-cmp3-cap small { display: block; font-size: 14px; font-weight: 400; color: #465b6a; }
.ms-cmp3 .ms-cmp3-head { display: grid; grid-template-columns: repeat(var(--n), minmax(0,1fr)); position: sticky; top: 0; z-index: 2; background: var(--ms-head,#172b3a); color: #fff; }
.ms-cmp3 .ms-cmp3-head > div { padding: 8px 6px; text-align: center; font-size: 14px; font-weight: 800; line-height: 1.3; border-left: 1px solid rgba(255,255,255,.18); overflow-wrap: break-word; }
.ms-cmp3 .ms-cmp3-head > div:first-child { border-left: 0; }
.ms-cmp3 .ms-cmp3-head small { display: block; margin-top: 2px; font-size: 14px; font-weight: 500; color: rgba(255,255,255,.85); }
.ms-cmp3 .ms-cmp3-row { border-top: 1px solid #dfe7ee; }
.ms-cmp3 .ms-cmp3-lab { padding: 4px 10px; background: #f1f5f8; color: #465b6a; font-size: 14px; font-weight: 700; }
.ms-cmp3 .ms-cmp3-vals { display: grid; grid-template-columns: repeat(var(--n), minmax(0,1fr)); }
.ms-cmp3 .ms-cmp3-vals > div { padding: 9px 6px; text-align: center; border-left: 1px solid #dfe7ee; color: #172b3a; overflow-wrap: break-word; }
.ms-cmp3 .ms-cmp3-vals > div:first-child { border-left: 0; }
.ms-cmp3 .ms-cmp3-vals > div small { display: block; margin-top: 2px; font-size: 14px; color: #465b6a; line-height: 1.4; }
.ms-cmp3 .ms-cmp3-vals > div.is-win { background: #ecfdf3; color: #067647; }
.ms-cmp3 .ms-num { font-size: 1.3em; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.2; }
.ms-cmp3 .ms-unit { font-size: .75em; font-weight: 700; margin-left: 1px; }
.ms-cmp3 .ms-cmp-tag { display: inline-block; margin: 2px 0 0 2px; padding: 0 5px; border-radius: 4px; background: #fde68a; color: #713f12; font-size: 14px; font-weight: 800; line-height: 1.5; vertical-align: 1px; }
.ms-cmp3 details.ms-cmp3-more { border-top: 1px solid #dfe7ee; }
.ms-cmp3 details.ms-cmp3-more > summary { cursor: pointer; list-style: none; padding: 10px 12px; font-weight: 700; color: #172b3a; }
.ms-cmp3 details.ms-cmp3-more > summary::-webkit-details-marker { display: none; }
.ms-cmp3 details.ms-cmp3-more > summary::before { content: "▶"; font-size: 11px; margin-right: 6px; color: #465b6a; }
.ms-cmp3 details.ms-cmp3-more[open] > summary::before { content: "▼"; }
.ms-cmp3 details.ms-cmp3-more > dl { margin: 0 !important; padding: 0 12px 12px; font-size: 15px; }
.ms-cmp3 details.ms-cmp3-more dt { margin-top: 8px; font-weight: 800; color: #172b3a; }
.ms-cmp3 details.ms-cmp3-more dd { margin: 2px 0 0 !important; color: #172b3a; }
.ms-cmp3 .ms-cmp3-foot { margin: 0 !important; padding: 8px 12px 12px; font-size: 14px !important; color: #465b6a; border-top: 1px solid #dfe7ee; line-height: 1.6; }
.ms-cmp3 .ms-num { white-space: nowrap; }
@media (max-width: 600px) { .ms-cmp3 { font-size: 14px; } .ms-cmp3 .ms-cmp3-vals > div { padding: 8px 4px; }
  .ms-cmp3[style*="--n:4"] .ms-num { font-size: 1.1em; letter-spacing: -.01em; } .ms-cmp3[style*="--n:4"] .ms-cmp3-vals > div { padding: 8px 3px; } }

/* ---- 型C：長文の表は、比べる2〜3列の要約表（.ms-cmp に is-text）＋製品カード（2026-10-10、参考 NerdWallet・mybest）
   div.ms-pcards > div.ms-pcard > p.ms-pcard-name + p.ms-pcard-who + dl（dt 項目 / dd 内容） */
.ms-pcards { display: grid; gap: 10px; margin: 0 0 1.6em; }
.ms-pcard { border: 1px solid #cbd8e1; border-radius: 12px; padding: 12px 14px; background: #fff; }
.ms-pcard .ms-pcard-name { margin: 0 !important; font-weight: 800; font-size: 1.05em; color: #172b3a; line-height: 1.4; }
.ms-pcard .ms-pcard-who { margin: 2px 0 8px !important; font-weight: 700; font-size: 14px; color: var(--ms-key,#067647); }
.ms-pcard dl { display: block; margin: 0 !important; font-size: 15.5px; line-height: 1.7; }
.ms-pcard dt { color: #465b6a; font-weight: 700; font-size: 14px; margin-top: 8px; }
.ms-pcard dt:first-child { margin-top: 0; }
.ms-pcard dd { margin: 0 !important; color: #172b3a; }
.ms-pcard dd.is-key { color: var(--ms-key,#b42318); font-weight: 700; }
.ms-pcards-cap { margin: 1.6em 0 8px !important; font-weight: 800; font-size: 1.15em; color: #172b3a; line-height: 1.45; }
.ms-pcards-cap small { display: block; margin-top: 2px; font-size: 14px; font-weight: 400; color: #465b6a; }
.ms-pcards-cap + .ms-pcards { margin-top: 0; }

/* ---- 旧部品（codex-mobile-readable-tables）のスマホ表示を読みやすく（2026-10-10）：積んだ表の項目名が10.5pxで「よくある落とし/穴」と折れていたので、項目名を値の上に14pxで置く。2列の表（kv）は縦積みをやめて横並びに戻す */
@media (max-width: 640px) {
  body .post_content .codex-mobile-table-stack-labeled :is(td,th)[data-codex-label] { grid-template-columns: minmax(0,1fr) !important; row-gap: 1px; }
  body .post_content .codex-mobile-table-stack-labeled tr > :not(:first-child)[data-codex-label]::before { grid-column: 1 !important; font-size: 14px !important; font-weight: 700 !important; color: #465b6a !important; line-height: 1.5 !important; }
  body .post_content .codex-mobile-table-stack-labeled .codex-mobile-table-cell-value { grid-column: 1 !important; }
  body .post_content .codex-mobile-table-kv tr { display: grid !important; grid-template-columns: 8.5em minmax(0, 1fr); }
  body .post_content .codex-mobile-table-kv tr > :first-child { min-width: 5.5em; }
  body .post_content .codex-mobile-table-kv tr > :first-child { background: #eef3f7 !important; color: #172b3a !important; font-weight: 700 !important; font-size: 14px !important; border-bottom: 1px solid #c7d5e2 !important; }
  body .post_content .codex-mobile-table-kv tr > :first-child:last-child { grid-column: 1 / -1; background: #102a43 !important; color: #fff !important; }
  /* SWELL の td_to_th_（表の1列目を見出しにする）は見出し色を ::before で上に重ねる。上の薄い背景＋紺文字が紺に塗られて読めなかった（2026-10-10 梅小路ポテル京都の施設情報） */
  body .post_content .td_to_th_.codex-mobile-table-stack tbody tr > :first-child::before { background: none !important; }
}

/* ---- 選び方カード・やってよい/避ける・手順ステップ（2026-10-10）。旧表を「項目名を上に積んだだけ」のカードにしたら、答え・理由・注意が同じ強さで並び読みにくかった（SP1 mnpdan、本人指摘）。答えを大きく、注意は注意の色で、強弱を付ける。
   選び方: div.ms-picks > div.ms-pick > p.ms-pick-q（こんな人）+ p.ms-pick-a（答え：大きく）| p.ms-pick-title（項目名）+ p.ms-pick-why（理由・本文）+ p.ms-pick-line > b（短い項目）+ p.ms-pick-note（注意）/.is-bad（落とし穴）/ p.ms-pick-ok（安全側）+ p.ms-pick-src（確認した条件）+ a.ms-pick-link
   やってよい/避ける: div.ms-dodont > div.is-do / div.is-dont > p.ms-dodont-h + ul > li
   手順: ol.ms-steps > li > p.ms-step-t（やること見出し）+ p.ms-step-b（本文）+ p.ms-step-c（確認ポイント） */
.ms-picks { display: grid; gap: 12px; margin: 1.6em 0; }
.ms-pick { border: 1px solid #d6e1ea; border-radius: 12px; padding: 14px 16px; background: #fff; box-shadow: 0 2px 8px rgba(18,50,79,.05); }
.ms-pick > p { margin: 0 0 6px !important; }
.ms-pick > :last-child { margin-bottom: 0 !important; }
.ms-pick .ms-pick-q { font-size: 14px; font-weight: 700; color: #465b6a; line-height: 1.5; }
.ms-pick .ms-pick-q::before { content: "こんな人は"; display: inline-block; margin-right: 6px; padding: 0 6px; border-radius: 4px; background: #eef3f7; font-size: 14px; color: #465b6a; }
.ms-pick .ms-pick-a { font-size: 21px; font-weight: 800; color: var(--ms-head,#172b3a); line-height: 1.35; margin-bottom: 8px !important; }
.ms-pick .ms-pick-a::before { content: "→ "; color: var(--ms-key,#b42318); }
.ms-pick .ms-pick-title { font-size: 18px; font-weight: 800; color: #172b3a; line-height: 1.45; }
.ms-pick .ms-pick-why { font-size: 16px; line-height: 1.75; color: #172b3a; }
.ms-pick .ms-pick-line { font-size: 15px; line-height: 1.7; color: #172b3a; }
.ms-pick .ms-pick-line b { display: block; font-size: 14px; font-weight: 700; color: #465b6a; line-height: 1.5; }
.ms-pick .ms-pick-note, .ms-pick .ms-pick-ok { margin-top: 8px !important; padding: 8px 10px; border-radius: 8px; font-size: 14.5px; line-height: 1.65; }
.ms-pick .ms-pick-note { background: #fff7e6; color: #6b3f00; }
.ms-pick .ms-pick-note::before { content: "注意"; font-weight: 800; margin-right: 6px; }
.ms-pick .ms-pick-note.is-bad { background: #fdecec; color: #8a1c1c; }
.ms-pick .ms-pick-note.is-bad::before { content: "✕ 落とし穴"; }
.ms-pick .ms-pick-ok { background: #ecfdf3; color: #05603a; }
.ms-pick .ms-pick-ok::before { content: "✓ 確認"; font-weight: 800; margin-right: 6px; }
.ms-pick .ms-pick-src { font-size: 14px; color: #52667a; line-height: 1.6; }
.ms-pick .ms-pick-src::before { content: "公式条件："; font-weight: 700; }
.ms-pick .ms-pick-link { display: inline-block; margin-top: 8px; font-weight: 700; }
.ms-pick .ms-pick-link::after { content: " →"; }
.ms-dodont { display: grid; gap: 10px; margin: 1.6em 0; }
.ms-dodont > div { border-radius: 12px; padding: 12px 14px; }
.ms-dodont > .is-do { background: #ecfdf3; border: 1px solid #abefc6; }
.ms-dodont > .is-dont { background: #fdf0f0; border: 1px solid #f5c2c2; }
.ms-dodont .ms-dodont-h { margin: 0 0 4px !important; font-weight: 800; font-size: 16px; }
.ms-dodont > .is-do .ms-dodont-h { color: #05603a; }
.ms-dodont > .is-dont .ms-dodont-h { color: #8a1c1c; }
.ms-dodont ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ms-dodont li { position: relative; margin: 6px 0 0 !important; padding: 0 0 0 1.6em !important; line-height: 1.65; font-size: 15.5px; color: #172b3a; list-style: none !important; }
.ms-dodont li::before { position: absolute; left: 0; top: 0; font-weight: 800; background: none !important; width: auto !important; height: auto !important; border: 0 !important; }
.ms-dodont > .is-do li::before { content: "✓"; color: #067647; }
.ms-dodont > .is-dont li::before { content: "✕"; color: #b42318; }
.ms-steps { list-style: none !important; margin: 1.6em 0 !important; padding: 0 !important; counter-reset: ms-step; }
.ms-steps > li { position: relative; margin: 0 !important; padding: 0 0 18px 46px !important; list-style: none !important; }
.ms-steps > li::before { counter-increment: ms-step; content: counter(ms-step); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--ms-head,#172b3a); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; }
.ms-steps > li::after { content: ""; position: absolute; left: 15px; top: 36px; bottom: 4px; width: 2px; background: #d6e1ea; }
.ms-steps > li:last-child::after { display: none; }
.ms-steps .ms-step-t { margin: 3px 0 4px !important; font-weight: 800; font-size: 16.5px; line-height: 1.5; color: #172b3a; }
.ms-steps .ms-step-b { margin: 0 0 6px !important; font-size: 15.5px; line-height: 1.7; }
.ms-steps .ms-step-c { margin: 0 !important; padding: 6px 10px; border-radius: 8px; background: #f1f5f8; font-size: 14.5px; line-height: 1.6; color: #172b3a; }
.ms-steps .ms-step-c::before { content: "確認"; font-weight: 800; margin-right: 6px; color: var(--ms-key,#b42318); }
@media (min-width: 768px) { .ms-picks.is-cols { grid-template-columns: repeat(2, minmax(0,1fr)); } .ms-dodont { grid-template-columns: 1fr 1fr; } }

/* 旧部品の積んだ表（全記事）に強弱を付ける（2026-10-10）：紺の帯が答えより強く、全項目が罫線で同じ強さに並んでいた。見出しは淡い地＋左の線、項目の罫線は消して余白で区切る */
@media (max-width: 640px) {
  body .post_content .codex-mobile-table-stack-labeled tr { border: 1px solid #d6e1ea !important; border-radius: 10px !important; margin: 0 0 10px !important; overflow: hidden; }
  body .post_content .codex-mobile-table-stack-labeled table { border: 0 !important; background: transparent !important; }
  body .post_content .codex-mobile-table-stack-labeled tr > :first-child { display: block !important; width: 100% !important; max-width: none !important; min-width: 0 !important; box-sizing: border-box !important; background: #eef4f8 !important; color: #12324f !important; font-size: 16px !important; font-weight: 800 !important; border-left: 4px solid var(--ms-head,#12324f) !important; border-bottom: 0 !important; padding: 9px 12px !important; }
  body .post_content .codex-mobile-table-stack-labeled tr > :not(:first-child) { border-bottom: 0 !important; padding: 7px 12px 5px !important; font-size: 15px !important; }
  body .post_content .codex-mobile-table-stack-labeled tr > :last-child { padding-bottom: 12px !important; }
}

/* 行見出し（名前）は単語の途中で折らない（2026-10-10：「お城通り善意駐車/場」「シンレンタルサー/バー」）。折ってよい位置は本文で <wbr> を入れる（例：お城通り善意<wbr>駐車場、シンレンタル<wbr>サーバー）。長すぎる時だけ折る */
.ms-cmp .ms-cmp-table tbody th, .ms-wt .ms-wt-table tbody th, .ms-cmp3 .ms-cmp3-head > div { word-break: keep-all; overflow-wrap: break-word; }
.ms-cmp .ms-cmp-table tbody th small, .ms-wt .ms-wt-table tbody th small { word-break: normal; }

/* ---- 特典ごとの行（2026-10-10）：1社に特典が複数あるポイントサイト等。条件の長文カードが「文字の壁」で、金額と期限が埋もれた（招待コードナビ 2415、本人指摘）。
   div.ms-pcard > p.ms-pcard-name + ul.ms-rewards > li > span.ms-rw-amt（金額：大きく）+ span.ms-rw-cond（条件）+ span.ms-rw-due（期限：無ければ省く。「期限」の印が付くので、向いている人・注意は入れず cond 内の <br><small> へ。2026-10-11 招待コードナビ ahamo-invite で誤用） */
.ms-pcard ul.ms-rewards { list-style: none !important; margin: 6px 0 0 !important; padding: 0 !important; }
.ms-pcard ul.ms-rewards > li { list-style: none !important; margin: 0 !important; padding: 10px 0 !important; border-top: 1px solid #e3eaf0; display: grid; grid-template-columns: minmax(0,1fr); row-gap: 3px; }
.ms-pcard ul.ms-rewards > li::before { content: none !important; display: none !important; }
.ms-pcard ul.ms-rewards > li:first-child { border-top: 0; padding-top: 4px !important; }
.ms-pcard .ms-rw-amt { font-size: 19px; font-weight: 800; color: var(--ms-head,#172b3a); line-height: 1.35; }
.ms-pcard .ms-rw-amt small { font-size: 14px; font-weight: 700; color: #465b6a; margin-right: 4px; }
.ms-pcard .ms-rw-cond { font-size: 15px; line-height: 1.65; color: #172b3a; }
.ms-pcard .ms-rw-due { justify-self: start; margin-top: 2px; padding: 2px 8px; border-radius: 6px; background: var(--ms-key-bg,#fff4f2); color: var(--ms-key,#b42318); font-size: 14px; font-weight: 700; line-height: 1.5; }
.ms-pcard .ms-rw-due::before { content: "期限 "; }
/* 型Aの値：良い／悪いを色と記号で（2026-10-10、SP1 アキッパ）。.ms-wt-ok（✓ 緑）・.ms-wt-ng（✕ 赤）、補足は small で下に */
.ms-wt .ms-wt-ok, .ms-wt .ms-wt-ng { font-weight: 800; white-space: nowrap; }
.ms-wt .ms-wt-ok { color: #067647; }
.ms-wt .ms-wt-ng { color: #b42318; }
.ms-wt .ms-wt-ok::before { content: "✓ "; }
.ms-wt .ms-wt-ng::before { content: "✕ "; }
.ms-wt td small { display: block; margin-top: 2px; font-size: 14px; font-weight: 400; color: #52667a; white-space: normal; line-height: 1.45; }
.ms-wt.is-text-left .ms-wt-table td { text-align: left !important; }
.ms-wt .ms-wt-table thead th { white-space: normal !important; word-break: keep-all; overflow-wrap: break-word; }
.ms-wt td small { word-break: keep-all; overflow-wrap: break-word; }
@media (min-width: 768px) { .ms-pcards { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* ---- 2026-10-10 4列以上の比較表をスマホ幅に収める（右端の列が切れて読めなかった）。数値（.ms-num と単位）は折らず、文の値は折り返す ---- */
.ms-cmp { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 600px) {
  .ms-cmp .ms-cmp-table tbody td { white-space: normal !important; word-break: keep-all; overflow-wrap: anywhere; }
  .ms-cmp .ms-cmp-table tbody td:has(> .ms-num) { white-space: nowrap !important; }
  .ms-cmp .ms-cmp-table .ms-num { white-space: nowrap; }
  .ms-cmp .ms-cmp-table:has(thead th:nth-child(4)) tbody th { min-width: min(6.2em, 27vw); font-size: 14px !important; }
  .ms-cmp .ms-cmp-table:has(thead th:nth-child(4)) :is(th,td) { padding: 9px 4px !important; }
  .ms-cmp .ms-cmp-table:has(thead th:nth-child(4)) thead th { font-size: 14px !important; padding: 8px 3px !important; }
  .ms-cmp .ms-cmp-table:has(thead th:nth-child(4)) .ms-num { font-size: 1.08em; }
  .ms-cmp .ms-cmp-table:has(thead th:nth-child(4)) tbody td { font-size: 14px; }
  /* 文のセルの補足も折り返す（「通話無制限（Rakuten Link）」の nowrap で3列表が枠を超えた。SP1 26135、2026-10-10） */
  .ms-cmp .ms-cmp-table tbody td.is-text small { white-space: normal !important; word-break: keep-all; overflow-wrap: anywhere; }
}

/* ---- リストの用途別部品（2026-10-10）：リストがほぼ黒丸か数字だけで、条件・日付が長文に埋もれた（ハリマップ ako-hamazushi の出店経緯 1項目平均73字、招待コードナビの申込手順、本人「表やリストも」）。
   使い分け：条件・持ち物・確認事項＝ul.ms-check、手順＝ol.ms-steps（上）、日付の経緯＝ol.ms-tl、やってよい/避ける＝.ms-dodont（上）。並べるだけの短い語はふつうのリストのまま。
   チェック: ul.ms-check > li > b（要点）+ 本文
   タイムライン: ol.ms-tl > li > span.ms-tl-date（日付）+ b（出来事）+ 本文。li.is-now は「いま」の項目（強調色） */
ul.ms-check { list-style: none !important; margin: 1.5em 0 !important; padding: 10px 14px !important; border: 1px solid #d6e1ea; border-radius: 12px; background: #f8fbfd; }
ul.ms-check > li { position: relative; list-style: none !important; margin: 0 !important; padding: 9px 0 9px 32px !important; border-top: 1px dashed #d6e1ea; font-size: 15.5px; line-height: 1.7; color: #172b3a; }
ul.ms-check > li:first-child { border-top: 0; }
ul.ms-check > li::before { content: "✓" !important; position: absolute; left: 0; top: 11px; box-sizing: border-box; width: 22px !important; height: 22px !important; border: 0 !important; border-radius: 6px; background: var(--ms-head,#172b3a) !important; color: #fff !important; font-size: 13px; font-weight: 800; line-height: 22px; text-align: center; transform: none !important; }
ul.ms-check > li > b:first-child, ul.ms-check > li > strong:first-child { display: block; font-size: 16px; font-weight: 800; line-height: 1.5; margin-bottom: 2px; background: none !important; }
ol.ms-tl { list-style: none !important; margin: 1.6em 0 !important; padding: 0 0 0 11px !important; counter-reset: none; }
ol.ms-tl > li { position: relative; list-style: none !important; margin: 0 !important; padding: 0 0 18px 24px !important; border-left: 2px solid #d6e1ea; font-size: 15.5px; line-height: 1.7; color: #172b3a; }
ol.ms-tl > li:last-child { border-left-color: transparent; padding-bottom: 0 !important; }
ol.ms-tl > li::before { content: "" !important; position: absolute; left: -9px; top: 3px; box-sizing: border-box; width: 16px !important; height: 16px !important; border-radius: 50%; background: #fff !important; border: 3px solid var(--ms-head,#172b3a) !important; transform: none !important; }
ol.ms-tl > li.is-now::before { background: var(--ms-key,#b42318) !important; border-color: var(--ms-key,#b42318) !important; }
ol.ms-tl .ms-tl-date { display: table; margin: 0 0 4px; padding: 1px 8px; border-radius: 6px; background: var(--ms-key-bg,#fff4f2); color: var(--ms-key,#b42318); font-size: 14px; font-weight: 800; line-height: 1.5; }
ol.ms-tl > li > b, ol.ms-tl > li > strong { display: block; font-size: 16px; font-weight: 800; line-height: 1.5; margin-bottom: 2px; background: none !important; }
/* ふつうのリストの行間・余白をそろえる（項目どうしが詰まり、2行に折れた項目の区切りが見えなかった）。部品と枠付きリスト（クラス付き）は触らない */
.post_content > :is(ul,ol):is(:not([class]),.wp-block-list):not([class*="is-style"]) > li { margin: .55em 0 !important; line-height: 1.75; }
.post_content > :is(ul,ol):is(:not([class]),.wp-block-list) > li > :is(b,strong):first-child { color: var(--ms-head,#172b3a); }
.ms-dodont:has(> div:only-child) { grid-template-columns: 1fr !important; }
:root{--ms-head:#12324f;}
/* 申込先の枠とボタン（tools/affmiss_insert.py が足す .ms-apply / .ms-apply-mid）。全サイト共通、色は --ms-head（各サイトの比較表と同じ）。
   ボタンは高さ48px以上・16px・白文字（コントラスト4.5:1以上）、スマホでは横幅いっぱい。 */
.post_content .ms-apply{margin:2em 0 1.5em;padding:16px 16px 10px;border:2px solid var(--ms-head,#173b64);border-radius:10px;background:#f7f9fc}
.post_content .ms-apply__title{margin:0 0 10px!important;font-size:17px;font-weight:700;color:var(--ms-head,#173b64);line-height:1.5}
.post_content .ms-apply p{margin:0 0 10px}
.post_content .ms-apply__btn,.post_content .ms-apply-mid .ms-apply__btn{display:flex;align-items:center;justify-content:center;gap:.4em;box-sizing:border-box;width:100%;min-height:52px;padding:10px 16px;border-radius:8px;background:var(--ms-head,#173b64);color:#fff!important;font-size:16px;font-weight:700;line-height:1.45;text-align:center;text-decoration:none!important;box-shadow:0 2px 0 rgba(0,0,0,.18)}
.post_content .ms-apply__btn::after{content:"›";font-size:1.3em;line-height:1}
.post_content .ms-apply__btn:hover{filter:brightness(1.12)}
#body_wrap .post_content .ms-apply__btn:focus-visible{outline:3px solid #2454db!important;outline-offset:3px!important}
.post_content .ms-apply__sub{display:block;margin-top:4px;font-size:14px;color:#3d4652}
.post_content .ms-apply__note{margin:4px 0 6px!important;font-size:14px;color:#3d4652;line-height:1.6}
.post_content .ms-apply-mid{margin:1.2em 0 1.6em}
@media (min-width:768px){.post_content .ms-apply__btn{width:auto;min-width:min(100%,420px);display:inline-flex}.post_content .ms-apply p{display:block}}
.post_content h2 .ms-h-sep{display:none}
.post_content h2 .ms-h-sub{display:block;margin-top:.25em;font-size:max(14px,.72em);font-weight:600;line-height:1.45;opacity:.82}
.post_content h2 .ms-h-kicker{display:inline-block;margin:0 .5em .15em 0;padding:.1em .55em;border-radius:4px;background:var(--color_main,#2d6a3e);color:#fff;font-size:max(14px,.68em);line-height:1.5;vertical-align:.12em}
.post_content .ms-faq{display:grid;gap:12px;margin:1em 0 2em}
.post_content .ms-faq__item{border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff;padding:14px 16px}
#body_wrap #main_content .post_content .ms-faq .ms-faq__item h3.ms-faq__q.ms-faq__q.faq_q{position:relative;margin:0 0 8px!important;padding:0 0 0 2.1em!important;border:0!important;background:none!important;box-shadow:none!important;font-size:1em!important;line-height:1.6!important;color:inherit}
#body_wrap #main_content .post_content .ms-faq .ms-faq__item h3.ms-faq__q.ms-faq__q.faq_q::before,.post_content .ms-faq__a::before{position:absolute!important;left:0!important;top:.05em!important;bottom:auto!important;width:1.6em!important;height:1.6em!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;font-size:.85em!important;font-weight:700;line-height:1!important;content:"Q"!important;color:#fff!important;background:var(--color_main,#2d6a3e)!important;border:0!important;transform:none!important;box-shadow:none!important}
#body_wrap #main_content .post_content .ms-faq .ms-faq__item h3.ms-faq__q.ms-faq__q.faq_q::after{display:none!important;content:none!important}
.post_content .ms-faq__a{position:relative;padding-left:2.1em}
.post_content .ms-faq .ms-faq__a::before{content:"A"!important;color:var(--color_main,#2d6a3e)!important;background:#fff!important;border:1.5px solid var(--color_main,#2d6a3e)!important}
.post_content .ms-faq__a>*:last-child{margin-bottom:0}
.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}

/* SP1 記事冒頭の要点カード（答え・主な数字・次の行動）。2026-10-10 article-top-structure-refresh（型は harimap/lead-card.css と同じ）。
   本文側の書き方：<div class="sp1-lead"><p class="sp1-lead__kicker">種類｜対象</p><p class="sp1-lead__answer">答え</p>
   <dl class="sp1-lead__facts"><div><dt>項目</dt><dd>値<small>補足</small></dd></div>…</dl>
   <p class="sp1-lead__action"><a href="…">次の行動 →</a></p><p class="sp1-lead__note">確認日・注意など</p></div> */
.post_content .sp1-lead{background:#0c3a57;color:#fff;border-radius:16px;padding:22px 20px;margin:0 0 24px;line-height:1.7}
.post_content .sp1-lead p{color:#fff;margin:0 0 12px}
.post_content .sp1-lead .sp1-lead__kicker{font-size:14px;font-weight:800;letter-spacing:.06em;color:#bfe0f2}
.post_content .sp1-lead .sp1-lead__answer{font-size:21px;font-weight:850;line-height:1.55;margin-bottom:16px}
.post_content .sp1-lead__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:0}
.post_content .sp1-lead__facts>div{background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;padding:12px 14px;min-width:0}
.post_content .sp1-lead__facts dt{font-size:14px;font-weight:700;color:#bfe0f2;margin:0 0 4px}
.post_content .sp1-lead__facts dd{font-size:18px;font-weight:850;line-height:1.45;margin:0;color:#fff;overflow-wrap:anywhere}
.post_content .sp1-lead__facts dd small{display:block;font-size:14px;font-weight:500;color:#dcecf5;margin-top:4px;line-height:1.6}
.post_content .sp1-lead .sp1-lead__action{margin:0 0 10px}
.post_content .sp1-lead .sp1-lead__action a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border-radius:10px;background:#fff;color:#0c3a57!important;font-size:16px;font-weight:850;text-decoration:none!important;text-align:center;line-height:1.5}
.post_content .sp1-lead .sp1-lead__action a:focus-visible{outline:3px solid #f6b26b;outline-offset:3px}
.post_content .sp1-lead .sp1-lead__note{font-size:14px;color:#d3e6f1;margin:0}
@media(max-width:600px){.post_content .sp1-lead{padding:20px 16px}.post_content .sp1-lead .sp1-lead__answer{font-size:19px}.post_content .sp1-lead__facts{grid-template-columns:minmax(0,1fr);gap:8px}.post_content .sp1-lead__facts>div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:8px;align-items:baseline;padding:10px 12px}.post_content .sp1-lead__facts dt{margin:0}.post_content .sp1-lead__facts dd{font-size:17px}}
/* 申込ボタン a.sp1-cta を revenue-guide の枠の外でもボタンにする（2026-10-12 claude-sp1、post 31560・30215 など枠なし記事で素の文字リンクになっていた。2026-10-24 flash: div.sp1-cta に当たって枠内要素がflex横並びで潰れていたため :is(a,button) に限定） */
.post_content :is(a,button).sp1-cta{display:flex;align-items:center;justify-content:center;gap:.4em;min-height:48px;width:100%;max-width:100%;margin:1.1em 0;padding:15px 18px;border:0;border-radius:9px;background:#075985;color:#fff!important;font-size:17px;font-weight:700;line-height:1.65;text-align:center;text-decoration:none!important;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box}
.post_content :is(a,button).sp1-cta:hover{filter:brightness(.94)}
.post_content :is(a,button).sp1-cta:focus-visible{outline:3px solid #f6b26b;outline-offset:3px}
@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; }
}
/* 開閉の見出し（details>summary）のタップ領域を44px以上にそろえる（2026-10-11 claude-ux-research、台帳 20261010-details-summary-44px）。
   Apple HIG 44pt・Material 48dp。SP1 の問い合わせの開閉が29px、モノヒカクの「条件・注意点を見る」が42pxだった（390px実測）。
   min-height は低いものだけを伸ばす。上下の余白は :where() で詳細度0にして、テーマや部品が余白を指定している所はそちらを優先する。 */
summary{min-height:44px;box-sizing:border-box}
:where(summary){padding-top:7px;padding-bottom:7px}
/* 2026-10-21：部品側の min-height が上の指定より強く 44px 未満のまま残っていた SP1 の2部品（390px実測：sp1-qk の「詳しく」30/32px、料金計算の開閉 36px）。
   ここだけ !important で44pxへ。他の部品の48px等の大きい指定は下げない。 */
.sp1-qk summary,summary.sp1-cost-calc__sum{min-height:44px!important;box-sizing:border-box}
/* 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}

@media (max-width: 599px) {
  #body_wrap.codex-sp1-v4.single-post .p-toc__list a.p-toc__link {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    line-height: 1.55 !important;
    box-sizing: border-box !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}
}
