.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(.post_content,.entry-content,.c-entry__content) .wp-block-buttons {
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:12px;
  }
  :where(.post_content,.entry-content,.c-entry__content) .wp-block-button {
    display:flex;
    max-width:100%;
    margin:0!important;
  }
  :where(.post_content,.entry-content,.c-entry__content) .wp-block-button__link {
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    min-height:44px;
    max-width:100%;
    line-height:1.4;
  }
  @media (max-width: 640px) {
    :where(.post_content,.entry-content,.c-entry__content) .wp-block-buttons {
      flex-direction:column;
      align-items:stretch;
    }
    :where(.post_content,.entry-content,.c-entry__content) .wp-block-buttons :where(.wp-block-button,.wp-block-button__link) {
      width:100%;
    }
  }
  :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;
  }


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


.hm-election-group{display:block;box-sizing:border-box;margin:2rem 0;padding:16px;border:1px solid #b9d4e2;border-radius:12px;background:#f1f8fb;color:#153c4c;line-height:1.6}
.hm-election-top{display:block;margin:0 0 24px}
.hm-election-top[hidden],.hm-election-top-stack[hidden],.hm-election-top__more[hidden],.hm-election-top-front:has(>.hm-election-top-stack[hidden]){display:none!important}
/* 余白は8の倍数で統一（2026-10-18 本人「デザインブラッシュアップと余白調整して」）。帯の中は行間8px、外は上16px・下24px。 */
.post_content a.hm-election-top__link,.hm-election-top-front a.hm-election-top__link{display:flex;flex-direction:column;gap:8px;padding:12px 14px 10px 16px;border:1px solid #b9d4e2;border-left:5px solid #17607c;border-radius:12px;background:#f1f8fb;color:#153c4c!important;font-size:14px;line-height:1.5;text-decoration:none!important;box-shadow:0 1px 2px rgba(16,72,93,.06)}
.hm-election-top__head{display:flex;align-items:center;gap:8px;min-width:0}
.hm-election-top__head b{font-size:16.5px;line-height:1.4;font-weight:800}
.hm-election-top__tag{flex:none;padding:1px 8px;border-radius:999px;background:#17607c;color:#fff;font-size:12px;font-weight:700;line-height:1.6}
.hm-election-top__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}
.hm-election-top__day{font-size:13.5px;font-weight:700;color:#2c5566}
.hm-election-top__cd{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#2c5566}
.hm-election-top__cd b{display:inline-block;padding:2px 10px;border-radius:8px;background:#17607c;color:#fff;font-size:19px;line-height:1.35;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.hm-election-top__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hm-election-top__stat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #d3e4ec}
.hm-election-top__stat small{font-size:11.5px;color:#4b6b79;line-height:1.45}
.hm-election-top__stat b{font-size:22px;font-weight:800;line-height:1.2;color:#10485d;font-variant-numeric:tabular-nums}
.hm-election-top__stat i{font-style:normal;font-size:13px;margin-left:1px}
.hm-election-top__stat em{font-style:normal;font-size:12px;font-weight:700;color:#4b6b79;margin-left:4px}
.hm-election-top__go{display:flex;justify-content:flex-end;align-items:center;min-height:32px;padding-top:8px;border-top:1px solid #d3e4ec;color:#215b72;font-weight:700}
.hm-election-top__link:focus-visible{outline:3px solid #9a4f06;outline-offset:3px}
@media (hover:hover){.post_content a.hm-election-top__link:hover{background:#e8f3f8;border-color:#9cc3d6}}
.hm-election-top-front{width:100%;margin:16px 0 24px}main.l-mainContent .l-mainContent__inner>.post_content>.hm-election-top-front{order:2;margin-top:16px!important}/* トップは flex の order で並ぶ。ヒーロー（order 1）の直後、休日枠（order 2・DOMで後）の前 */.hm-election-top-front .hm-election-top{margin:0}
.hm-election-top__more{display:flex;justify-content:flex-end;align-items:center;min-height:32px;margin-top:4px;color:#215b72!important;font-size:13.5px;font-weight:700;text-decoration:underline!important;text-underline-offset:3px}
#hm-election-slot{scroll-margin-top:80px}
.post_content .hm-election-group__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0 0 12px!important;font-size:18px;font-weight:700;color:#153c4c!important}
.hm-election-group__head span{font-size:13px;font-weight:400}
.hm-election-card{box-sizing:border-box;padding:16px;border:1px solid #b9d4e2;border-left:5px solid #17607c;border-radius:8px;background:#fff;color:#153c4c;line-height:1.6}
.hm-election-card+.hm-election-card{margin-top:12px}
.hm-election-card--compact .hm-election-card__date{font-size:22px!important}.hm-election-card--compact .hm-election-card__title{font-size:17px!important}.hm-election-card--compact .hm-election-card__stat strong{font-size:24px}
.hm-election-group__all{display:block;margin-top:12px;color:#215b72!important;font-size:14px;text-decoration:underline!important}
.post_content .hm-election-card p{margin:0!important;padding:0!important;color:#153c4c!important}
.hm-election-card__eyebrow{display:flex;justify-content:space-between;gap:12px;font-size:14px!important;font-weight:700}
.hm-election-card__eyebrow span{font-weight:400}
.hm-election-card__date{font-size:clamp(26px,4vw,34px)!important;font-weight:800;line-height:1.4!important}
.hm-election-card__title{font-size:20px!important;font-weight:700}
.hm-election-card__ranking{margin:14px 0;padding:14px 16px;border-radius:8px;background:#eaf3f7;border:1px solid #c0d8e3}
.hm-election-card__rank-label{font-size:15px!important;font-weight:700}
.post_content .hm-election-card__rank-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;line-height:1.15!important;margin:4px 0!important}
.hm-election-card__rank-value strong{font-size:52px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.post_content .hm-election-card__rank-value small{font-size:24px!important;color:inherit!important;letter-spacing:0;margin-left:3px}.hm-election-card__rank-value span{font-size:16px;font-weight:700}
.hm-election-card__rank-rate{font-size:16px!important;font-weight:700}
.post_content .hm-election-card__rank-note{margin-top:6px!important;font-size:14px!important;line-height:1.65!important}
.hm-election-card__rank-source{font-size:14px;color:#215b72!important;text-decoration:underline!important}
.post_content .hm-election-card__stat{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 2px!important}
.hm-election-card__stat span{font-size:14px;max-width:22em}
.hm-election-card__stat strong{font-size:30px;line-height:1.2;white-space:nowrap}.hm-election-card__stat small{font-size:18px}
.post_content .hm-election-card__source{font-size:12px!important}.hm-election-card__source a{color:#215b72!important;text-decoration:underline!important}
.post_content a.hm-election-card__link{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-top:14px;padding:10px 16px;border-radius:8px;background:#17607c;color:#fff!important;font-size:16px;font-weight:700;text-decoration:none!important}
.hm-election-card__link:hover{background:#10485d}
.post_content a.hm-election-card__sub{display:block;margin-top:8px;color:#215b72!important;font-size:14px;text-decoration:underline!important}.hm-election-group a:focus-visible{outline:3px solid #9a4f06;outline-offset:4px}
.hm-election-card__cd{margin:12px 0 4px;padding:10px 10px 8px;border-radius:10px;background:#17607c;color:#fff;text-align:center}
.post_content .hm-election-card .hm-election-card__cd p{color:#fff!important}
.post_content .hm-election-card__cd-label{font-size:15px!important;font-weight:700}
.hm-election-card__cd-label span{display:inline-block;white-space:nowrap}
.post_content .hm-election-card__cd-units{display:grid!important;grid-template-columns:repeat(4,minmax(0,72px));justify-content:center;gap:8px;margin:6px 0!important}
.hm-election-card__cd-unit{display:flex;flex-direction:column;align-items:center;padding:4px 2px 2px;border-radius:8px;background:#fff;color:#10485d}
.hm-election-card__cd-unit b{font-size:30px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.hm-election-card__cd-unit small{font-size:12px;font-weight:700}
.post_content .hm-election-card__cd-done{font-size:16px!important;font-weight:700;padding:6px 0!important}
.post_content .hm-election-card__cd-note{font-size:12px!important;opacity:.9}
.hm-election-card--compact .hm-election-card__cd-unit b{font-size:24px}
/* 2026-10-18 本人「項目と文章も精査してね」：2件目以降と締め切った選挙は、日付・選挙名・残り時間・行き先だけにして記事下を短くする */
.hm-election-card--compact :is(.hm-election-card__ranking,.hm-election-card__stat,.hm-election-card__source,.hm-election-card__cd-note,.hm-election-card__sub){display:none!important}
.hm-election-card.is-closed{opacity:.85}
.hm-election-card__cd [hidden]{display:none!important}
.hm-election-slot[hidden],.hm-election-card[hidden]{display:none!important}@media(max-width:480px){.hm-election-group{padding:12px}.hm-election-card{padding:12px}.hm-election-card__title{font-size:18px!important}}


/* Article-top AdSense below title/date and above the thumbnail (operator 2026-10-08). */
.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: 4; }
.l-mainContent__inner > .post_content { order: 5; }
.l-mainContent__inner > .w-singleTop { order: 3 !important; margin-top: 24px; margin-bottom: 24px; }
.l-mainContent__inner > .codex-hm-ad-reserve[data-codex-hm-ad-reserve="article-top"] { order: 5 !important; }
.l-mainContent__inner > .w-singleBottom { order: 6; }
.l-mainContent__inner > .p-articleFoot { order: 7; }
.l-mainContent__inner > .l-articleBottom { order: 8; }

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

/* Codex direct-design: restore three-hub hero heading contrast. */
.hm-three-parent .hm-three-hero h2 {
    background: transparent !important;
    color: #0d4f82 !important;
    text-shadow: none !important;
}


/* Keep the common event/ad surface, but let the article's own TOC and answer lead. */
.l-mainContent__inner > .post_content {
  display: flex;
  flex-direction: column;
}
.l-mainContent__inner > .post_content > .w-beforeToc {
  order: 90;
}


/* Keep the article answer prominent; the same tags remain in the article footer. */
.p-articleMetas.-top .p-articleMetas__termList.c-tagList {
    display: none !important;
}


@supports (content-visibility: auto) {
  .hm-row-track > .hm-card { content-visibility: auto; contain-intrinsic-size: auto 260px auto 328px; }
  .l-footer .hm-footer-section { content-visibility: auto; contain-intrinsic-size: auto 1000px; }
}


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

}

.hm-rail-advisory{border-left:4px solid #b45309;background:#fff7ed;color:#442400;padding:12px 16px;margin:18px 0;font-size:15px;line-height:1.7}.hm-rail-advisory p{margin:5px 0!important}.hm-rail-advisory a{color:#703800!important;text-decoration:underline!important}.hm-traffic-alert.hm-deal-alert{border-color:#86c79a!important;background:#f0faf3!important}.hm-traffic-alerts{grid-template-columns:minmax(0,1fr)!important}.hm-traffic-alerts>*{min-width:0;max-width:100%;box-sizing:border-box}.hm-traffic-alert.hm-deal-alert>span{background:#19743a!important;color:#fff!important}.hm-alert-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 2px}.hm-alert-tabs button{min-width:0;--tab:#b45309;--tint:#fff7ed;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 12px;border:1.5px solid var(--tab);border-radius:10px;background:var(--tint);color:var(--tab);font:inherit;font-size:14px;font-weight:800;line-height:1;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.hm-alert-tabs button[data-k=d]{--tab:#19743a;--tint:#f0faf3}.hm-alert-tabs button[aria-selected=true]{background:var(--tab);color:#fff;box-shadow:0 2px 6px rgba(23,50,77,.18)}.hm-alert-tabs button:focus-visible{outline:3px solid #17324d;outline-offset:2px}.hm-alert-tabs .hm-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--tab);color:#fff;font-size:12px;font-weight:800}.hm-alert-tabs button[aria-selected=true] .hm-tab-count{background:#fff;color:var(--tab)}@media(prefers-reduced-motion:reduce){.hm-alert-tabs button{transition:none}}.hm-traffic-alert[hidden]{display:none!important}

#body_wrap.hm-unified-design-v1 {
  --hm-ink:#17324d;
  --hm-text:#24364b;
  --hm-muted:#5a6978;
  --hm-brand:#19766f;
  --hm-brand-deep:#115954;
  --hm-accent:#a84f1f;
  --hm-line:#d9e3e8;
  --hm-soft:#f4f8f7;
  --hm-soft-blue:#f2f6fb;
  --hm-surface:#ffffff;
  --hm-radius-sm:8px;
  --hm-radius:14px;
  --hm-radius-lg:20px;
  --hm-shadow-sm:0 1px 2px rgba(23,50,77,.07),0 8px 24px rgba(23,50,77,.05);
  --hm-shadow:0 4px 12px rgba(23,50,77,.08),0 18px 44px rgba(23,50,77,.08);
  color:var(--hm-text);
}

.hm-skip-link {
  position:fixed;
  z-index:100000;
  top:10px;
  left:10px;
  transform:translateY(-160%);
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:8px 16px;
  border:2px solid var(--hm-ink,#17324d);
  border-radius:10px;
  background:#fff;
  color:var(--hm-ink,#17324d)!important;
  font-weight:800;
  box-shadow:0 8px 24px rgba(15,23,42,.22);
  clip-path:inset(50%); /* Keep nonfocused fixed links clipped in element captures too. */
  transition:none;
}
.hm-skip-link:focus { clip-path:none; transform:translateY(0); }

#body_wrap.hm-unified-design-v1 :where(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid #d97706!important;
  outline-offset:3px!important;
  border-radius:var(--hm-radius-sm);
}

#body_wrap.hm-unified-design-v1 :where(.c-postTitle__ttl,.c-pageTitle,.c-ttl404,.p-postList__title) {
  color:var(--hm-ink);
  text-wrap:balance;
  overflow-wrap:anywhere;
}
#body_wrap.hm-unified-design-v1 :where(.p-articleThumb,.p-postList__thumb,.c-postThumb__figure) {
  overflow:hidden;
  border-radius:var(--hm-radius);
}
#body_wrap.hm-unified-design-v1 .p-articleThumb {
  box-shadow:var(--hm-shadow-sm);
}
#body_wrap.hm-unified-design-v1 .p-articleThumb img {
  transition:transform .28s ease;
}

#body_wrap.hm-unified-design-v1 :where(.p-termHead,.p-searchContent,.c-ttl404 + .post_content) {
  border:1px solid var(--hm-line);
  border-radius:var(--hm-radius);
  background:linear-gradient(145deg,var(--hm-surface),var(--hm-soft));
  box-shadow:var(--hm-shadow-sm);
}
#body_wrap.hm-unified-design-v1 .p-termHead {
  padding:clamp(18px,3vw,28px);
}

#body_wrap.hm-unified-design-v1 main .p-postList__item {
  overflow:hidden;
  border:1px solid var(--hm-line);
  border-radius:var(--hm-radius);
  background:var(--hm-surface);
  box-shadow:var(--hm-shadow-sm);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
#body_wrap.hm-unified-design-v1 main .p-postList__item:hover {
  transform:translateY(-2px);
  border-color:#b9ccd4;
  box-shadow:var(--hm-shadow);
}
#body_wrap.hm-unified-design-v1 main .p-postList__item .p-postList__body {
  padding:14px 16px 16px;
}
#body_wrap.hm-unified-design-v1 main .p-postList__item .p-postList__title {
  font-weight:750;
  line-height:1.55;
}
#body_wrap.hm-unified-design-v1 main .p-postList__item .p-postList__excerpt {
  color:var(--hm-muted);
  line-height:1.72;
}
#body_wrap.hm-unified-design-v1 :where(.p-postList__times,.c-postTimes,.p-breadcrumb) {
  color:var(--hm-muted);
}

#body_wrap.hm-unified-design-v1 .post_content :where(h2,h3) {
  scroll-margin-top:96px;
}
#body_wrap.hm-unified-design-v1 .post_content h2 {
  border-radius:var(--hm-radius-sm);
  text-wrap:balance;
}
#body_wrap.hm-unified-design-v1 .post_content :where(blockquote,.wp-block-quote,.wp-block-table,.swell-block-capbox,.is-style-big_icon_point,.is-style-big_icon_check) {
  border-radius:var(--hm-radius-sm);
}
#body_wrap.hm-unified-design-v1 .post_content a:not(.wp-element-button):not([class*="btn"]):not([class*="button"]) {
  text-decoration-thickness:.08em;
  text-underline-offset:.2em;
}

#body_wrap.hm-unified-design-v1 :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
  min-height:48px;
  border:1px solid #bdcbd2;
  border-radius:10px;
  background:#fff;
  color:var(--hm-text);
}
#body_wrap.hm-unified-design-v1 :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):focus {
  border-color:var(--hm-brand);
  box-shadow:0 0 0 4px rgba(25,118,111,.13);
}
#body_wrap.hm-unified-design-v1 :where(.c-searchForm__submit,.page-numbers) {
  min-width:44px;
  min-height:44px;
}

/* The PR landing page has its own complete hero H1; remove the duplicate theme title visually and from the accessibility tree. */
#body_wrap.hm-unified-design-v1.id_20288 .c-pageTitle { display:none; }

#body_wrap.hm-unified-design-v1 .l-footer__widgetArea {
  border-top:1px solid var(--hm-line);
  background:linear-gradient(180deg,#f7faf9 0%,#edf4f2 100%);
}
#body_wrap.hm-unified-design-v1 .l-footer__foot {
  border-top:1px solid var(--hm-line);
  background:#e7efed;
}
#body_wrap.hm-unified-design-v1 .hm-footer-disclosure {
  border:0;
}
#body_wrap.hm-unified-design-v1 .hm-footer-disclosure > summary {
  position:relative;
  display:flex;
  align-items:center;
  min-height:52px;
  padding:12px 48px 12px 16px;
  border:1px solid #cbd9dd;
  border-radius:12px;
  background:#fff;
  color:var(--hm-ink);
  font-weight:800;
  cursor:pointer;
  list-style:none;
}
#body_wrap.hm-unified-design-v1 .hm-footer-disclosure > summary::-webkit-details-marker { display:none; }
#body_wrap.hm-unified-design-v1 .hm-footer-disclosure > summary::after {
  content:"＋";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--hm-brand);
  font-size:1.2rem;
}
#body_wrap.hm-unified-design-v1 .hm-footer-disclosure[open] > summary::after { content:"−"; }
#body_wrap.hm-unified-design-v1 .hm-footer-disclosure__content {
  padding-top:14px;
}
#body_wrap.hm-unified-design-v1 .hm-footer-disclosure__content .c-widget__title.-footer {
  display:none;
}
#body_wrap.hm-unified-design-v1 .hm-footer-disclosure__content a {
  border-radius:7px;
}

@media (min-width:769px) {
  #body_wrap.hm-unified-design-v1 .hm-footer-disclosure > summary { display:none; }
  #body_wrap.hm-unified-design-v1 .hm-footer-disclosure__content { padding-top:0; }
  #body_wrap.hm-unified-design-v1 main .p-postList__item:hover .p-postList__thumb img,
  #body_wrap.hm-unified-design-v1 main .p-postList__item:hover .c-postThumb__img { transform:scale(1.018); }
}

@media (max-width:768px) {
  #body_wrap.hm-unified-design-v1 :where(.c-postTitle__ttl,.c-pageTitle,.c-ttl404) {
    line-height:1.45;
  }
  #body_wrap.hm-unified-design-v1 :where(.c-categoryList__link,.c-tagList__link) {
    height:40px!important;
    min-height:40px!important;
    padding-inline:14px!important;
  }
  #body_wrap.hm-unified-design-v1 .p-toc__link {
    display:flex!important;
    align-items:center;
    min-height:44px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    line-height:1.55!important;
  }
  #body_wrap.hm-unified-design-v1 .p-breadcrumb__text {
    min-height:40px!important;
    padding-top:4px;
    padding-bottom:4px;
  }
  #body_wrap.hm-unified-design-v1 .c-searchForm__s { min-height:48px; }
  #body_wrap.hm-unified-design-v1 .c-searchForm__submit {
    width:48px!important;
    min-width:48px!important;
    min-height:48px!important;
  }
  #body_wrap.hm-unified-design-v1 .l-footer__widgetArea { padding:24px 0 18px; }
  #body_wrap.hm-unified-design-v1 .l-footer__widgetArea .w-footer {
    display:grid!important;
    gap:10px!important;
  }
  #body_wrap.hm-unified-design-v1 .l-footer__widgetArea .w-footer__box {
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  #body_wrap.hm-unified-design-v1 .hm-footer-disclosure__content a {
    display:flex;
    align-items:center;
    min-height:40px;
  }
  #body_wrap.hm-unified-design-v1 main .p-postList__item .p-postList__body {
    padding:13px 14px 15px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .hm-skip-link,
  #body_wrap.hm-unified-design-v1 main .p-postList__item,
  #body_wrap.hm-unified-design-v1 .p-articleThumb img { transition:none!important; }
  #body_wrap.hm-unified-design-v1 main .p-postList__item:hover { transform:none; }
}


@media (max-width: 960px) {
  #body_wrap.page:not(.home) .l-mainContent__inner,
  #body_wrap.archive.category .l-mainContent__inner,
  .page:not(.home) .l-mainContent__inner,
  .archive.category .l-mainContent__inner {
    display: flex;
    flex-direction: column;
  }
  #body_wrap.page:not(.home) .l-mainContent__inner > .c-pageTitle,
  #body_wrap.archive.category .l-mainContent__inner > .c-pageTitle,
  .page:not(.home) .l-mainContent__inner > .c-pageTitle,
  .archive.category .l-mainContent__inner > .c-pageTitle {
    order: 1;
    margin-top: 0 !important;
  }
  #body_wrap.page:not(.home) .l-mainContent__inner > .post_content,
  .page:not(.home) .l-mainContent__inner > .post_content {
    order: 2;
  }
  #body_wrap.archive.category .l-mainContent__inner > .p-termHead,
  .archive.category .l-mainContent__inner > .p-termHead {
    order: 2;
  }
  #body_wrap.archive.category .l-mainContent__inner > .p-termContent,
  .archive.category .l-mainContent__inner > .p-termContent {
    order: 3;
  }
  #body_wrap.page:not(.home) .l-mainContent__inner > .google-auto-placed:first-child,
  #body_wrap.archive.category .l-mainContent__inner > .google-auto-placed:first-child,
  .page:not(.home) .l-mainContent__inner > .google-auto-placed:first-child,
  .archive.category .l-mainContent__inner > .google-auto-placed:first-child {
    order: 6;
    margin: 24px 0 0 !important;
  }
  #body_wrap.page-id-14978 .codex-lazy-google-form:not(:has(iframe)),
  .page-id-14978 .codex-lazy-google-form:not(:has(iframe)) {
    min-height: 240px !important;
    height: 240px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe7df;
    border-radius: 8px;
    background: #f7fbf8;
    color: #315041;
    overflow: hidden;
  }
  #body_wrap.page-id-14978 .codex-lazy-google-form:not(:has(iframe))::before,
  .page-id-14978 .codex-lazy-google-form:not(:has(iframe))::before {
    content: "お問い合わせフォームを読み込みます";
    padding: 0 16px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
    text-align: center;
  }
  #body_wrap.page-id-14978 .codex-lazy-google-form iframe,
  .page-id-14978 .codex-lazy-google-form iframe {
    min-height: 900px !important;
  }
}


.hm-deal-card{padding:24px;margin:24px 0;border:1px solid #dcdeda;border-top:5px solid #bd3a19;border-radius:12px;background:#fffdf8}.hm-deal-card h3{margin:8px 0 16px!important;padding:0!important;background:none!important;border:0!important;font-size:1.2em!important}.hm-deal-origin{font-size:.85em!important;font-weight:700!important;color:#59664b!important}.hm-deal-value{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.hm-deal-value strong{font-size:2em;color:#b62d13}.hm-deal-value b{background:#fff0dd;color:#823d0c;padding:4px 10px;border-radius:6px}.hm-deal-baseline,.hm-deal-date{font-size:.88em!important;color:#5b5b5b!important}.hm-deal-card ul{font-size:.88em;line-height:1.7}.hm-deal-buy{display:block!important;text-align:center;background:#93401e!important;color:#fff!important;text-decoration:none!important;border-radius:8px;padding:13px 16px;margin:12px 0;line-height:1.5!important;font-weight:700;min-height:48px}.hm-deal-buy span{display:block;font-size:.8em;font-weight:400}.hm-deal-buy:hover{background:#652b15!important}.hm-deal-buy:focus-visible,#hm-deal-popup a:focus-visible,#hm-deal-popup button:focus-visible{outline:3px solid #176dac;outline-offset:3px}.hm-deal-stale .hm-deal-value,.hm-deal-stale .hm-deal-baseline{display:none!important}.hm-deal-card .hm-deal-expired{font-size:.85em;color:#754215}.hm-deal-steps{display:flex;gap:12px;flex-wrap:wrap;background:#f6f4ee;padding:18px;border-radius:10px}.hm-deal-steps li{flex:1;min-width:150px}.hm-deals-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
#hm-deal-popup{position:fixed;z-index:10002;right:20px;bottom:24px;width:min(400px,calc(100vw - 24px));padding:7px 10px;background:#fffefa;border:1px solid #c28d78;border-left:5px solid #ad321c;border-radius:9px;box-shadow:0 5px 22px #0003;color:#28261f;font:14px/1.3 sans-serif;max-height:32vh;overflow:auto}#hm-deal-popup,#hm-deal-popup *{letter-spacing:0}#hm-deal-popup[hidden]{display:none!important}#hm-deal-popup .hm-pop-close{position:absolute;top:5px;right:0;width:44px;height:44px;border:0;border-radius:6px;background:transparent;color:#73331d;font-size:25px;cursor:pointer}#hm-deal-popup .hm-pop-title{margin:2px 0;font-size:14px;line-height:1.3;font-weight:700}#hm-deal-popup .hm-pop-title a{color:inherit;text-decoration:underline;text-underline-offset:3px}#hm-deal-popup .hm-pop-origin{font-size:14px;line-height:1.3;margin:2px 0;color:#4c5c40;font-weight:700}#hm-deal-popup .hm-pop-primary{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-right:34px;min-height:44px}#hm-deal-popup .hm-pop-saving{font-size:20px;line-height:1.2;min-width:0;color:#a42e18;font-weight:900;padding:2px 4px;border-radius:4px}#hm-deal-popup .hm-pop-buy{padding:6px 8px;background:#93401e;color:#fff;text-decoration:none;border-radius:5px;font-weight:700;min-height:44px;box-sizing:border-box;font-size:14px;white-space:nowrap;flex-shrink:0;display:flex;align-items:center}#hm-deal-popup .hm-pop-rate{font-size:14px;margin:2px 0;line-height:1.3}#hm-deal-popup .hm-pop-price{font-size:16px;font-weight:800}#hm-deal-popup .hm-pop-member{font-size:14px;font-weight:700;display:inline-block;margin-left:6px}html.pmx-hm-sale-toast-v4 #hm-deal-popup{background:#fff8e8}html.pmx-hm-sale-toast-v4 #hm-deal-popup .hm-pop-saving{background:#a42e18;color:white}
.hm-deals-hubs{margin:28px 0 18px;padding:18px;border:1px solid #d7dcd4;border-radius:12px;background:#f8faf6;color:#203028;font:16px/1.6 sans-serif}.hm-deals-hub-heading{font-size:21px;font-weight:800;margin:0 0 12px}.hm-hub-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hm-hub-entry{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:3px;min-height:76px;padding:10px 6px;box-sizing:border-box;border-radius:8px;color:white!important;text-decoration:none!important;font-size:16px;line-height:1.4}.hm-hub-entry[data-hub="product"]{background:#943b21}.hm-hub-entry[data-hub="stay"]{background:#24664f}.hm-hub-entry[data-hub="gift"]{background:#284d76}.hm-hub-entry b{max-width:100%;word-break:keep-all;overflow-wrap:normal}.hm-hub-entry span{font-size:14px;font-weight:700}.hm-deals-hubs{container-type:inline-size}.hm-deals-picks{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}.hm-hub-pick{--hm-c:#943b21;--hm-t:#fbf1ec;position:relative;display:flex;min-width:0;border:1px solid #dfe3dc;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(32,48,40,.05),0 6px 16px rgba(32,48,40,.07);transition:border-color .15s,box-shadow .15s,transform .15s;overflow-wrap:anywhere}.hm-hub-pick[data-pm="hm-stay-pick"]{--hm-c:#24664f;--hm-t:#eaf4ef}.hm-hub-pick[data-pm="hm-gift-pick"]{--hm-c:#284d76;--hm-t:#e9f1f8}.hm-hub-pick .hm-pick-sub-link{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:44px;color:#174b73;font-weight:700;text-decoration:underline;text-underline-offset:3px}.hm-deals-note{margin:12px 0 0!important;color:#64748b;font-size:12px!important;line-height:1.7}.hm-deals-note a{color:#94a3b8!important;font-size:11px;text-decoration:none!important;white-space:nowrap}.hm-hub-pick:hover{border-color:var(--hm-c);box-shadow:0 2px 4px rgba(32,48,40,.06),0 10px 22px rgba(32,48,40,.12);transform:translateY(-1px)}.hm-hub-pick p{margin:0!important;font-size:14px;line-height:1.5}.hm-hub-preview{display:flex;flex:1;min-width:0}.hm-hub-preview[hidden]{display:none!important}.hm-pick-media{position:relative;flex:none;width:118px;background:#f3f4f1}.hm-pick-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;margin:0!important}.hm-hub-pick[data-pm="hm-product-pick"] .hm-pick-media{background:#fff;border-right:1px solid #eef0ec}.hm-hub-pick[data-pm="hm-product-pick"] .hm-pick-media img{object-fit:contain;padding:10px 8px;box-sizing:border-box}.hm-hub-pick .hm-pick-chip{position:absolute;left:8px;top:8px;padding:1px 8px;border-radius:999px;background:var(--hm-c);color:#fff;font-size:14px;font-weight:900;line-height:1.5;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.18)}.hm-pick-badge{flex:none;width:118px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:12px 6px;box-sizing:border-box;text-align:center;color:#fff;background:var(--hm-c)}.hm-hub-pick .hm-pick-value{font-size:24px;font-weight:900;line-height:1.15;white-space:nowrap}.hm-hub-pick .hm-pick-unit{font-size:15px;font-weight:800}.hm-pick-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding:12px 14px 4px}.hm-hub-pick .hm-pick-tagline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:#55635a;font-weight:700}.hm-hub-pick .hm-pick-tag{padding:0 8px;border-radius:999px;background:var(--hm-t);color:var(--hm-c);font-size:14px;font-weight:800;line-height:1.6;white-space:nowrap}.hm-hub-pick .hm-pick-name{font-size:16px;font-weight:800;line-height:1.45;color:#1d2b23;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hm-hub-pick .hm-pick-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;line-height:1.35}.hm-hub-pick .hm-pick-now{font-size:21px;font-weight:900;color:var(--hm-c);letter-spacing:0}.hm-hub-pick .hm-pick-ref{color:#6a756e;font-size:14px}.hm-hub-pick .hm-pick-ref s{text-decoration-thickness:1px}.hm-hub-pick .hm-pick-save{color:var(--hm-c);font-size:14px;font-weight:800}.hm-hub-pick .hm-pick-meta{color:#55635a}.hm-pick-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 10px;margin-top:auto;padding-top:2px}.hm-hub-pick .hm-pick-article{position:static;margin-left:auto;display:inline-flex;align-items:center;min-height:44px;color:#174b73;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.hm-hub-pick .hm-pick-article::after{content:"";position:absolute;inset:0;border-radius:12px}.hm-hub-pick:hover .hm-pick-article{color:var(--hm-c)}.hm-hub-pick .hm-hub-default{padding:12px 14px;align-self:center}.hm-hub-pick .hm-hub-default a{color:#174b73}.hm-deals-hubs a:focus-visible{outline:3px solid #156aab;outline-offset:3px}
@media(max-width:600px){.hm-deal-card{padding:18px 16px}.hm-deals-bottom{grid-template-columns:1fr}#hm-deal-popup{right:12px;bottom:18px;max-height:32vh}.hm-deals-hubs{padding:12px}.hm-deals-hub-heading{font-size:18px}.hm-hub-entry{font-size:14px;min-height:76px;padding:8px 3px}.hm-hub-entries{gap:6px}.hm-deals-picks{gap:10px}.hm-pick-badge,.hm-pick-media{width:104px}.hm-pick-body{padding:10px 12px 2px}.hm-hub-pick .hm-pick-now{font-size:20px}}@media(max-width:360px){.hm-pick-badge,.hm-pick-media{width:92px}.hm-hub-pick .hm-pick-value{font-size:20px}.hm-hub-pick .hm-pick-chip{left:6px;top:6px;padding:0 6px}#hm-deal-popup .hm-pop-saving{font-size:17px}}


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


.hm-stay-sales{margin:28px 0;padding:22px;border:1px solid #d3ddd8;border-top:5px solid #286b5a;border-radius:12px;background:#f7fbf8;color:#202c28;font-size:16px;line-height:1.8;overflow-wrap:anywhere}.hm-stay-heading{font-size:22px;font-weight:800;line-height:1.5;margin:0 0 12px}.hm-stay-sales p{margin:12px 0!important}.hm-stay-region{margin:10px 0;border:1px solid #cbd8d1;border-radius:8px;background:white}.hm-stay-region>summary{padding:12px 14px;font-size:17px;font-weight:700;cursor:pointer;min-height:48px;box-sizing:border-box}.hm-stay-region[open]>summary{border-bottom:1px solid #d3ddd8}.hm-stay-card{padding:18px;border-bottom:1px solid #d3ddd8}.hm-stay-card:last-child{border-bottom:0}.hm-stay-card .hm-stay-name{font-size:18px;font-weight:800;line-height:1.6}.hm-stay-card .hm-stay-saving{font-size:24px;font-weight:800;color:#a52e18}.hm-stay-card .hm-stay-terms{font-size:15px}.hm-stay-card dl{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:6px 10px;font-size:15px;margin:14px 0}.hm-stay-card dt{font-weight:700}.hm-stay-card dd{margin:0}.hm-stay-buy{display:block;min-height:48px;box-sizing:border-box;text-align:center;padding:12px;background:#26644f;color:#fff!important;border-radius:7px;text-decoration:none!important;font-weight:700;font-size:16px}.hm-stay-sales a:focus-visible,.hm-stay-sales summary:focus-visible{outline:3px solid #156ab0;outline-offset:3px}.hm-stay-source{font-size:14px}.hm-stay-source summary{cursor:pointer;padding:6px 0}.hm-stay-checked{font-size:14px;color:#495a51}@media(max-width:600px){.hm-stay-sales{padding:16px 12px}.hm-stay-heading{font-size:20px}.hm-stay-card{padding:16px 12px}.hm-stay-card dl{display:block}.hm-stay-card dt{margin-top:10px}.hm-stay-card dd{margin-top:3px}}

.hm-api-cta-test{display:contents}.hm-api-cta-test.hm-api-cta-b>a{box-shadow:0 3px 0 rgba(80,0,0,.28),0 3px 7px rgba(0,0,0,.14)}.hm-api-cta-test .hm-api-cta-action{display:inline-block;white-space:nowrap}.hm-api-cta-test .hm-api-cta-arrow{display:inline-block;margin-left:.35em;font-weight:700;white-space:nowrap}.hm-api-cta-test.hm-api-cta-b>a:focus-visible{outline:3px solid #005fcc;outline-offset:3px}
:root{--ms-head:#153c43;--ms-key:#a23b12;--ms-key-bg:#fff4ee;}
/* 管理サイト共通の比較表・基本情報カード（たまコイン型、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; }
/* SWELL small opacity makes otherwise dark labels fall below 4.5:1. */
#body_wrap.is-hub .post_content small{font-size:max(14px,.875em);opacity:1!important}
#body_wrap.is-hub .cr-prefsrc-top__go{background-color:#fff}
@media (max-width:959px){
  #body_wrap .p-articleMetas.-top .c-categoryList__link:nth-child(n+4){display:none!important}
  #body_wrap.is-hub .p-articleMetas.-top .p-articleMetas__termList.c-categoryList{display:none!important}
  #body_wrap.is-hub .p-toc.-capbox{font-size:.88em}
  #body_wrap.is-hub .p-toc.-capbox li{margin-top:.1em;margin-bottom:.1em;line-height:1.45}
}
main.l-mainContent .l-mainContent__inner>.post_content>.claude-holiday--front{order:2}
.claude-holiday{margin:0 0 1.6em;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#8a2a0b 0%,#b5481a 55%,#d07a1e 100%);color:#fff;box-shadow:0 6px 18px rgba(120,40,10,.22)}
.claude-holiday a.claude-holiday__link{display:block;padding:18px 20px 16px;color:#fff!important;text-decoration:none!important}
.claude-holiday__kicker{display:inline-block;margin:0 0 6px;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.18);font-size:13px;font-weight:700;letter-spacing:.04em}
.claude-holiday__dates{display:block;font-size:15px;font-weight:700;opacity:.95}
.claude-holiday__title{display:block;margin:2px 0 6px;font-size:22px;font-weight:800;line-height:1.35}
.claude-holiday__lead{display:block;font-size:14px;line-height:1.6;opacity:.95}
.claude-holiday-strip{margin:0 0 1.4em}
.claude-holiday-strip a{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;min-height:48px;padding:10px 14px;border:1px solid #f0d2bd;border-left:6px solid #b5481a;border-radius:12px;background:#fff6ef;color:#5a1c06!important;font-size:15px;font-weight:700;line-height:1.5;text-decoration:none!important}
.claude-holiday-strip__kicker{color:#b5481a}
.claude-holiday-strip__go{margin-left:auto;color:#075ea9;white-space:nowrap}
.claude-holiday-strip a:focus-visible{outline:3px solid #b85400;outline-offset:3px}
.claude-holiday__btn{display:inline-block;margin-top:12px;padding:10px 18px;border-radius:999px;background:#fff;color:#8a2a0b;font-weight:800;font-size:15px;min-height:44px;box-sizing:border-box}
.claude-holiday a.claude-holiday__link:hover .claude-holiday__btn,.claude-holiday a.claude-holiday__link:focus-visible .claude-holiday__btn{background:#ffe9d6}
.claude-holiday a.claude-holiday__link:focus-visible{outline:3px solid #ffd27a;outline-offset:-3px}
@media(min-width:960px){.claude-holiday a.claude-holiday__link{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 24px;padding:20px 26px}.claude-holiday__btn{margin-top:0;grid-row:1/span 4;grid-column:2}.claude-holiday__title{font-size:25px}}
/* B: materialized only for the assigned browser; A never requests the image. */
.claude-holiday--illustrated{background:linear-gradient(135deg,#8a2a0b,#a84413)}
.claude-holiday--illustrated a.claude-holiday__link{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0 12px 12px}
.claude-holiday--illustrated .claude-holiday__image{display:block;width:calc(100% + 24px);max-width:none;height:auto;margin:0 -12px 12px;border:0;border-radius:0;grid-column:1;grid-row:1}
/* The image already carries the headline/date. Keep those accessible without repeating them visually. */
.claude-holiday--illustrated .claude-holiday__kicker,.claude-holiday--illustrated .claude-holiday__lead{display:none}
.claude-holiday--illustrated .claude-holiday__title,.claude-holiday--illustrated .claude-holiday__dates{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.claude-holiday--illustrated .claude-holiday__btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin:0;padding:12px 18px;grid-column:1;grid-row:2;line-height:1.5}
.claude-holiday--illustrated a.claude-holiday__link:focus-visible{outline:4px solid #ffd27a;outline-offset:-5px}
@media(min-width:960px){
.claude-holiday--illustrated a.claude-holiday__link{grid-template-columns:minmax(0,320px) minmax(0,1fr);column-gap:24px;padding:12px 16px}
.claude-holiday--illustrated .claude-holiday__image{grid-column:1;grid-row:1;align-self:center;width:100%;margin:0;border-radius:8px}
.claude-holiday--illustrated .claude-holiday__btn{grid-column:2;grid-row:1}
}
.hmw-filter{position:sticky;top:0;z-index:20;margin:0 0 18px;padding:10px 0 8px;background:rgba(255,255,255,.96);backdrop-filter:blur(4px);border-bottom:1px solid #d9e6e2}
.hmw-filter__row{display:flex;flex-wrap:wrap;gap:8px;padding:0 2px 2px}
.hmw-filter button{flex:0 0 auto;min-height:40px;padding:7px 14px;border:1.5px solid #9cc3b8;border-radius:999px;background:#fff;color:#14453c;font-size:14px;font-weight:800;line-height:1.2;cursor:pointer;white-space:nowrap}
.hmw-filter button[aria-pressed="true"]{background:#0b6b55;border-color:#0b6b55;color:#fff}
.hmw-filter button:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
.hmw-filter__count{margin:6px 2px 0;font-size:13px;font-weight:700;color:#45605f}
.hmw-filter__count b{color:#a23b12;font-size:16px}
@media(max-width:600px){.hmw-filter__row{gap:6px}.hmw-filter button{min-height:38px;padding:6px 11px;font-size:13px}}
.hmw .hmw-item[hidden]{display:none!important}
.hmw .hmw-empty{grid-column:1/-1;margin:0!important;padding:6px 10px;color:#7a8b88;font-size:12.5px;text-align:left}
.hmw .hmw-badge.hmw-today{background:#c2410c!important;color:#fff!important;border-color:#c2410c!important}
.hmw .hmw-badge.hmw-tomorrow{background:#fff3e6!important;color:#9a3412!important;border-color:#f3b37a!important}
.hmw-filter button.hmw-filter__saved{border-color:#f3a5b5;color:#be123c}
.hmw-filter button.hmw-filter__saved[aria-pressed="true"]{background:#e11d48;border-color:#e11d48;color:#fff}
.hmw-filter button.hmw-filter__dice{border-color:#f0b35a;background:#fff7e8;color:#8a4b00}
.hmw .hmw-heart{position:absolute;top:6px;right:6px;z-index:2;display:grid;place-items:center;width:38px;height:38px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#be123c;font-size:19px;line-height:1;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.25);transition:transform .15s}
.hmw .hmw-heart[aria-pressed="true"]{background:#e11d48;color:#fff}
.hmw .hmw-heart.is-pop{animation:hmw-heart .45s ease}
.hmw .hmw-heart:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
@keyframes hmw-heart{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.hmw-toast{position:fixed;left:50%;top:76px;z-index:9999;max-width:min(92vw,420px);padding:11px 16px;border-radius:12px;background:#153c43;color:#fff;font-size:14px;font-weight:700;line-height:1.5;box-shadow:0 8px 24px rgba(0,0,0,.3);transform:translate(-50%,-14px);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.hmw-toast.is-on{opacity:1;transform:translate(-50%,0)}
.hmw .hmw-countdown{display:inline-block;margin:0 0 8px;padding:4px 12px;border-radius:999px;background:#ffcc33;color:#4a2500;font-size:14px;font-weight:900;letter-spacing:.02em}
@media(max-width:600px){.hmw-filter__row{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.hmw-filter__row::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){.hmw .hmw-heart.is-pop,.hmw .hmw-item.is-picked{animation:none}}
:root{--ms-head:#153c43;}
/* 申込先の枠とボタン（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}
#body_wrap .post_content > h3{border-left:0!important;padding:0 0 .35em 1.05em!important;border-bottom:2px solid #d9e8dc!important;background:none!important;position:relative}
#body_wrap .post_content > h3::before{content:""!important;display:block!important;position:absolute!important;left:0!important;top:.5em!important;width:.62em!important;height:.62em!important;border-radius:2px!important;background:#327a43!important;border:0!important;transform:none!important}
/* 提携リンクのボタンをリンク先サービスのイメージカラーにする。tools/brand_colors.py が assets/brand-colors.json から作る（手で直さない） */
#body_wrap .post_content a:is(.ms-apply__btn,.wp-block-button__link,.swell-block-button__link,[class*="btn"],[class*="button"],[style*="background"]):is([href*="valuecommerce.com"],[href*="afl.rakuten.co.jp"],[href*="a8.net"],[href*="accesstrade.net"],[href*="linksynergy.com"],[href*="moshimo.com"],[href*="trafficgate.net"],[href*="rentracks.jp"],[href*="felmat.net"],[href*="afi-b.com"],[href*="amazon.co.jp"][href*="tag="],[href*="amzn."],[href^="https://shopping.yahoo.co.jp/"],[href^="https://store.shopping.yahoo.co.jp/"],[href^="https://travel.yahoo.co.jp/"],[href^="https://www.asoview.com/"],[href^="https://www.ikyu.com/"],[href^="https://www.jalan.net/"],[href^="https://www.jtb.co.jp/"],[href^="https://www.kkday.com/"],[href^="https://www.klook.com/"],[href^="https://yado.knt.co.jp/"]):is([href*="0100p03h00"],[href*="35FBA6+BA1SQY+50"],[href*="35FBA6+BET9L6+50"],[href*="4B7VKV+123W4I+3NAY"],[href*="4B7VKV+123WWA+3NAY"],[href*="4B85OZ+E39HL6+5W12"],[href*="4B9XTA+C1FQKQ+50"],[href*="4BEA4X+3NKYVE+7QW"],[href*="4BEA51+4V1L9E+35UM"],[href*="4BEET2+50ZY2Y+59RY"],[href*="4BEFL7+D2CMUQ+2WL0"],[href*="4BEGD9+D8AY4Q+5XHK"],[href*="4BEJHC+F5D8AY+4WD6"],[href*="4BEL1G+9RVDGY+3ZZC"],[href*="4BEL1J+4FKCAY+4KHO"],[href*="4BEMLP+7MH022+1LOO"],[href*="akippa.com"],[href*="algo.promo"],[href*="amazon.co.jp"],[href*="amzn.asia"],[href*="amzn.to"],[href*="asoview.com"],[href*="asus.com"],[href*="cado.com"],[href*="conoha.jp"],[href*="deli-picks.com"],[href*="dell.com"],[href*="dyson.co.jp"],[href*="gmktec.com"],[href*="gmobb.jp"],[href*="gnavi.co.jp"],[href*="ikyu.com"],[href*="interlink.or.jp"],[href*="irobot-jp.com"],[href*="jalan.net"],[href*="jtb.co.jp"],[href*="knt.co.jp"],[href*="lenovo.com"],[href*="macromill.com"],[href*="monitor.macromill.com"],[href*="nishikawa1566.com"],[href*="ns-softbank-hikari.com"],[href*="nta.co.jp"],[href*="o-ken.com"],[href*="offerid=1728655"],[href*="offerid=2040720"],[href*="rakuten.co.jp"],[href*="rental-car.jp"],[href*="rog.asus.com"],[href*="tabelog.com"],[href*="ticket.rakuten.co.jp"],[href*="travel.rakuten.co.jp"],[href*="warau.jp"],[href*="yahoo.co.jp"]){background:var(--se-brand-bg)!important;background-color:var(--se-brand-bg)!important;border-color:var(--se-brand-bg)!important;color:var(--se-brand-text)!important}
#body_wrap .post_content a:is(.ms-apply__btn,.wp-block-button__link,.swell-block-button__link,[class*="btn"],[class*="button"],[style*="background"]):is([href*="valuecommerce.com"],[href*="afl.rakuten.co.jp"],[href*="a8.net"],[href*="accesstrade.net"],[href*="linksynergy.com"],[href*="moshimo.com"],[href*="trafficgate.net"],[href*="rentracks.jp"],[href*="felmat.net"],[href*="afi-b.com"],[href*="amazon.co.jp"][href*="tag="],[href*="amzn."],[href^="https://shopping.yahoo.co.jp/"],[href^="https://store.shopping.yahoo.co.jp/"],[href^="https://travel.yahoo.co.jp/"],[href^="https://www.asoview.com/"],[href^="https://www.ikyu.com/"],[href^="https://www.jalan.net/"],[href^="https://www.jtb.co.jp/"],[href^="https://www.kkday.com/"],[href^="https://www.klook.com/"],[href^="https://yado.knt.co.jp/"]):is([href*="0100p03h00"],[href*="35FBA6+BA1SQY+50"],[href*="35FBA6+BET9L6+50"],[href*="4B7VKV+123W4I+3NAY"],[href*="4B7VKV+123WWA+3NAY"],[href*="4B85OZ+E39HL6+5W12"],[href*="4B9XTA+C1FQKQ+50"],[href*="4BEA4X+3NKYVE+7QW"],[href*="4BEA51+4V1L9E+35UM"],[href*="4BEET2+50ZY2Y+59RY"],[href*="4BEFL7+D2CMUQ+2WL0"],[href*="4BEGD9+D8AY4Q+5XHK"],[href*="4BEJHC+F5D8AY+4WD6"],[href*="4BEL1G+9RVDGY+3ZZC"],[href*="4BEL1J+4FKCAY+4KHO"],[href*="4BEMLP+7MH022+1LOO"],[href*="akippa.com"],[href*="algo.promo"],[href*="amazon.co.jp"],[href*="amzn.asia"],[href*="amzn.to"],[href*="asoview.com"],[href*="asus.com"],[href*="cado.com"],[href*="conoha.jp"],[href*="deli-picks.com"],[href*="dell.com"],[href*="dyson.co.jp"],[href*="gmktec.com"],[href*="gmobb.jp"],[href*="gnavi.co.jp"],[href*="ikyu.com"],[href*="interlink.or.jp"],[href*="irobot-jp.com"],[href*="jalan.net"],[href*="jtb.co.jp"],[href*="knt.co.jp"],[href*="lenovo.com"],[href*="macromill.com"],[href*="monitor.macromill.com"],[href*="nishikawa1566.com"],[href*="ns-softbank-hikari.com"],[href*="nta.co.jp"],[href*="o-ken.com"],[href*="offerid=1728655"],[href*="offerid=2040720"],[href*="rakuten.co.jp"],[href*="rental-car.jp"],[href*="rog.asus.com"],[href*="tabelog.com"],[href*="ticket.rakuten.co.jp"],[href*="travel.rakuten.co.jp"],[href*="warau.jp"],[href*="yahoo.co.jp"]) :not(img){color:var(--se-brand-text)!important}
#body_wrap .post_content a[href*="amzn.to"]{--se-brand-bg:#ff9900;--se-brand-text:#0f1111}
#body_wrap .post_content a[href*="asus.com"]{--se-brand-bg:#b3b3b3;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="cado.com"]{--se-brand-bg:#27282d;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="dell.com"]{--se-brand-bg:#0073cd;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="gmobb.jp"]{--se-brand-bg:#005bac;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="ikyu.com"]{--se-brand-bg:#1a4678;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="warau.jp"]{--se-brand-bg:#eb1315;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="amzn.asia"]{--se-brand-bg:#ff9900;--se-brand-text:#0f1111}
#body_wrap .post_content a[href*="conoha.jp"]{--se-brand-bg:#12b8d7;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="jalan.net"]{--se-brand-bg:#ff6600;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="jtb.co.jp"]{--se-brand-bg:#d04510;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="knt.co.jp"]{--se-brand-bg:#024299;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="nta.co.jp"]{--se-brand-bg:#111184;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="o-ken.com"]{--se-brand-bg:#1d3b4e;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="akippa.com"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="algo.promo"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="gmktec.com"]{--se-brand-bg:#454546;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="lenovo.com"]{--se-brand-bg:#e3140c;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="0100p03h00"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="asoview.com"]{--se-brand-bg:#eb0000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="dyson.co.jp"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="gnavi.co.jp"]{--se-brand-bg:#f1b145;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="tabelog.com"]{--se-brand-bg:#7e5b24;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="yahoo.co.jp"]{--se-brand-bg:#e60033;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="amazon.co.jp"]{--se-brand-bg:#ff9900;--se-brand-text:#0f1111}
#body_wrap .post_content a[href*="rog.asus.com"]{--se-brand-bg:#ea0a19;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="irobot-jp.com"]{--se-brand-bg:#6cb86a;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="macromill.com"]{--se-brand-bg:#0052a4;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="rakuten.co.jp"]{--se-brand-bg:#bf0000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="rental-car.jp"]{--se-brand-bg:#f1ab10;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="deli-picks.com"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="offerid=2040720"]{--se-brand-bg:#f1b145;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="interlink.or.jp"]{--se-brand-bg:#0060af;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="offerid=1728655"]{--se-brand-bg:#8020cb;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="35FBA6+BA1SQY+50"]{--se-brand-bg:#12b8d7;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="35FBA6+BET9L6+50"]{--se-brand-bg:#12b8d7;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="4B9XTA+C1FQKQ+50"]{--se-brand-bg:#005bac;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4BEA4X+3NKYVE+7QW"]{--se-brand-bg:#0060af;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="nishikawa1566.com"]{--se-brand-bg:#d71623;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4B7VKV+123W4I+3NAY"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4B7VKV+123WWA+3NAY"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4BEGD9+D8AY4Q+5XHK"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4BEET2+50ZY2Y+59RY"]{--se-brand-bg:#27282d;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4BEJHC+F5D8AY+4WD6"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4B85OZ+E39HL6+5W12"]{--se-brand-bg:#454546;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4BEL1J+4FKCAY+4KHO"]{--se-brand-bg:#6cb86a;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="4BEFL7+D2CMUQ+2WL0"]{--se-brand-bg:#ff5300;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="4BEMLP+7MH022+1LOO"]{--se-brand-bg:#1d3b4e;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="4BEA51+4V1L9E+35UM"]{--se-brand-bg:#f1ab10;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="4BEL1G+9RVDGY+3ZZC"]{--se-brand-bg:#eb1315;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="ticket.rakuten.co.jp"]{--se-brand-bg:#8020cb;--se-brand-text:#ffffff}
#body_wrap .post_content a[href*="travel.rakuten.co.jp"]{--se-brand-bg:#00b800;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="monitor.macromill.com"]{--se-brand-bg:#ff5300;--se-brand-text:#1a1a1a}
#body_wrap .post_content a[href*="ns-softbank-hikari.com"]{--se-brand-bg:#000000;--se-brand-text:#ffffff}
/* イベント記事の「開催日に空いている近くの宿」（tools/harimap_stay_box.py が本文に入れる）。ボタンの色は brand-buttons.css が付ける */
.post_content .hm-stay{margin:2.2em 0;padding:18px 16px 14px;border:2px solid #153c43;border-radius:12px;background:#f6fafb}
.post_content .hm-stay__title{margin:0 0 .3em!important;font-size:19px;font-weight:800;line-height:1.45;color:#153c43}
.post_content .hm-stay__lead{margin:0 0 1em!important;font-size:14px;line-height:1.7;color:#334}
.post_content .hm-stay__list{display:grid;gap:12px;margin:0 0 .8em;padding:0;list-style:none}
.post_content .hm-stay__item{margin:0;padding:12px;border:1px solid #d5e3e6;border-radius:10px;background:#fff;list-style:none}
.post_content .hm-stay__item::before{display:none!important}
.post_content .hm-stay__top{display:flex;gap:12px;align-items:flex-start}
.post_content .hm-stay__img{flex:0 0 88px;width:88px;height:66px;object-fit:cover;border-radius:6px;margin:0!important}
.post_content .hm-stay__name{margin:0!important;font-size:16px;font-weight:700;line-height:1.45;color:#111}
.post_content .hm-stay__meta{margin:.2em 0 0!important;font-size:14px;line-height:1.6;color:#445}
.post_content .hm-stay__price{margin:.5em 0 0!important;font-size:15px;line-height:1.5;color:#111}
.post_content .hm-stay__price b{font-size:20px;color:#a23b12}
.post_content .hm-stay__deal{margin:.5em 0 0!important;padding:6px 10px;border-radius:6px;background:#fff4ee;font-size:14px;line-height:1.6;color:#5a2a0c}
.post_content .hm-stay__deal b{color:#a23b12}
.post_content .hm-stay__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:.7em 0 0}
.post_content .hm-stay__btn{display:flex!important;align-items:center;justify-content:center;min-height:48px;padding:8px 10px;border-radius:8px;background:#153c43;color:#fff!important;font-size:14px;font-weight:700;line-height:1.35;text-align:center;text-decoration:none!important}
.post_content .hm-stay__more{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:.4em 0 .6em}
.post_content .hm-stay__note{margin:.4em 0 0!important;font-size:13px;line-height:1.6;color:#556}
@media (max-width:420px){.post_content .hm-stay__btns,.post_content .hm-stay__more{grid-template-columns:1fr}}
.post_content .hm-stay__cmp{margin:.6em 0 0;padding:8px 10px;border-radius:8px;background:#f3f6f8}
.post_content .hm-stay__cmp-title{margin:0 0 .3em!important;font-size:13px;font-weight:700;color:#334}
.post_content .hm-stay__otas{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 10px;margin:0;padding:0;list-style:none}
.post_content .hm-stay__ota{margin:0;padding:2px 0;list-style:none;font-size:14px;line-height:1.5;color:#223}
.post_content .hm-stay__ota::before{display:none!important}
.post_content .hm-stay__ota span{margin-right:.4em}
.post_content .hm-stay__ota em{margin-left:.3em;padding:1px 6px;border-radius:4px;background:#a23b12;color:#fff;font-style:normal;font-size:12px;font-weight:700}
.post_content .hm-stay__ota.is-low b{color:#a23b12}
.post_content .hm-stay__ota small{display:block;font-size:12px;color:#5a2a0c}
/* 宿の記事の「旅行サイト別の最安料金」（tools/harimap_hotel_compare.py）。チップの色は brand-buttons.css（各社のイメージカラー） */
.post_content .hm-cmp{margin:2em 0;padding:18px 16px 14px;border:2px solid #153c43;border-radius:12px;background:#fbfcfd}
.post_content .hm-cmp__title{margin:0 0 .3em!important;font-size:19px;font-weight:800;line-height:1.45;color:#153c43}
.post_content .hm-cmp__lead{margin:0 0 1em!important;font-size:14px;line-height:1.7;color:#334}
.post_content .hm-cmp__list{display:grid;gap:10px;margin:0 0 .6em;padding:0;list-style:none}
.post_content .hm-cmp__item{margin:0;padding:10px 12px;border:1px solid #d5e3e6;border-radius:10px;background:#fff;list-style:none}
.post_content .hm-cmp__item::before{display:none!important}
.post_content .hm-cmp__name{margin:0 0 .4em!important;font-size:16px;font-weight:700;line-height:1.45;color:#111}
.post_content .hm-cmp__chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px}
.post_content .hm-cmp__chip{position:relative;display:flex!important;flex-wrap:wrap;align-items:baseline;gap:0 .4em;min-height:48px;padding:5px 8px;border-radius:8px;background:#eef3f7;color:#172b3a;font-size:13px;line-height:1.4;text-decoration:none!important}
.post_content .hm-cmp__chip b{font-size:16px}
/* 色は brand-buttons.css（#body_wrap 付き）の文字色より強くする */
#body_wrap#body_wrap .post_content .hm-cmp .hm-cmp__chips .hm-cmp__chip em,#body_wrap#body_wrap .post_content .hm-cmp .hm-cmp__chips .hm-cmp__chip i{padding:0 6px;border-radius:4px;background:#fff!important;color:#a23b12!important;font-style:normal;font-size:12px;font-weight:800}
#body_wrap#body_wrap .post_content .hm-cmp .hm-cmp__chips .hm-cmp__chip i{color:#445!important;font-weight:600}
.post_content .hm-cmp__chip.is-low{outline:3px solid #f5a623;outline-offset:1px}
.post_content .hm-cmp__perk{margin:.5em 0 0!important;font-size:13px;line-height:1.6;color:#5a2a0c}
.post_content .hm-cmp__note{margin:.4em 0 0!important;font-size:13px;line-height:1.6;color:#556}
.post_content .hm-stay__sale{display:inline-block;margin-left:.4em;padding:1px 8px;border-radius:4px;background:#bf0000;color:#fff;font-size:12px;font-weight:700;vertical-align:middle}
/* 2026-10-12 宿の予約ボタン整理：節ごとの料金・地域検索・一覧表からのページ内リンク */
.post_content .hm-cmp--mini{margin:1.4em 0 2em;padding:14px 12px 10px}
.post_content .hm-cmp--mini .hm-cmp__title{font-size:16px}
.post_content .hm-cmp__title small{font-size:12px;font-weight:600;color:#556;white-space:nowrap}
.post_content .hm-ota-area{margin:1.4em 0;padding:14px 12px 10px;border-width:1px}
.post_content .hm-ota-area .hm-cmp__title{font-size:16px}
.post_content .hm-ota-area .hm-cmp__chip{min-height:44px}
.post_content .hm-ota-area .hm-cmp__chip b{font-size:13px}
.post_content .hm-cmp__item{scroll-margin-top:90px}
.post_content a.hm-cmp-jump{display:inline-block;padding:6px 10px;border:1px solid #153c43;border-radius:6px;background:#fff;color:#153c43!important;font-size:13px;font-weight:700;line-height:1.3;text-decoration:none!important;white-space:nowrap}
/* はりまっぷ：記事内 AdSense 枠（Codex「AdSense immediate article slots」＝.codex-hm-ad-reserve / .codex-hm-article-ad）を切り取らない。
   2026-10-10 Claude。design system v4 が横幅のはみ出し対策で overflow:clip を上下左右に付けており、iPhone Safari で
   広告の iframe が ins より背が高い時に上下が切れて細い帯になっていた（本人のスクリーンショット、記事末尾の広告）。
   2026-10-21 Claude：横も visible にする。スマホの全幅レスポンシブ広告は Google が ins を画面幅（375px）・margin-left:-15px に
   広げるので、横 clip だと左右15pxずつ切れて右端の ⓘ が欠け、左右にずれて見えていた（本人「途中で切れたり、横にズレたり」）。
   ページの横スクロールは #body_wrap の overflow-x:clip が画面幅で止めるので、枠側で切る必要はない。広告の位置・表示条件は変えない。
   戻し方：overflow-y だけ visible に戻す（.bak-20261021-fullbleed）。 */
#body_wrap.codex-harimap-v4 .codex-hm-ad-reserve,
#body_wrap.codex-harimap-v4 .codex-hm-article-ad,
.single-post .codex-hm-ad-reserve,
.single-post .codex-hm-article-ad{overflow:visible!important;contain:none!important}

/* 部品の中・フッター・一覧に入った自動広告の位置合わせは reading_design.php の claude-hm-nested-ad-css / -align に移した（2026-10-22。全ページに出すため）。 */
/* Harimap 記事冒頭の要点カード（答え・主な数字・次の行動）。2026-10-10 article-top-structure-refresh。
   本文側の書き方：<div class="hm-lead"><p class="hm-lead__kicker">市町｜種類</p><p class="hm-lead__answer">答え</p>
   <dl class="hm-lead__facts"><div><dt>項目</dt><dd>値<small>補足</small></dd></div>…</dl>
   <p class="hm-lead__action"><a href="…">次の行動 →</a></p><p class="hm-lead__note">確認日・未発表など</p></div>
   カードは div.hm-lead に限る。トップのヒーロー説明文 <p class="hm-lead"> に濃い箱・余白が漏れ、3行で切る指定の4行目が
   余白から半分見えていた（2026-10-11 claude-sitewide-review の top_first_view）。 */
.post_content :is(div,section).hm-lead{background:#123f43;color:#fff;border-radius:16px;padding:22px 20px;margin:0 0 24px;line-height:1.7}
.post_content :is(div,section).hm-lead p{color:#fff;margin:0 0 12px}
.post_content :is(div,section).hm-lead .hm-lead__kicker{font-size:14px;font-weight:800;letter-spacing:.06em;color:#cfe8e2}
.post_content :is(div,section).hm-lead .hm-lead__answer{font-size:21px;font-weight:850;line-height:1.55;margin-bottom:16px}
.post_content .hm-lead__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:0}
.post_content .hm-lead__facts>div{background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;padding:12px 14px;min-width:0}
.post_content .hm-lead__facts dt{font-size:14px;font-weight:700;color:#cfe8e2;margin:0 0 4px}
.post_content .hm-lead__facts dd{font-size:18px;font-weight:850;line-height:1.45;margin:0;color:#fff;overflow-wrap:anywhere}
.post_content .hm-lead__facts dd small{display:block;font-size:14px;font-weight:500;color:#e2efec;margin-top:4px;line-height:1.6}
.post_content :is(div,section).hm-lead .hm-lead__action{margin:0 0 10px}
.post_content :is(div,section).hm-lead .hm-lead__action a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 16px;border-radius:10px;background:#fff;color:#123f43!important;font-size:16px;font-weight:850;text-decoration:none!important;text-align:center;line-height:1.5}
.post_content :is(div,section).hm-lead .hm-lead__action a:focus-visible{outline:3px solid #f6b26b;outline-offset:3px}
.post_content :is(div,section).hm-lead .hm-lead__note{font-size:14px;color:#d8ebe7;margin:0}
@media(max-width:600px){.post_content :is(div,section).hm-lead{padding:20px 16px}.post_content :is(div,section).hm-lead .hm-lead__answer{font-size:19px}.post_content .hm-lead__facts{grid-template-columns:minmax(0,1fr);gap:8px}.post_content .hm-lead__facts>div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:8px;align-items:baseline;padding:10px 12px}.post_content .hm-lead__facts dt{margin:0}.post_content .hm-lead__facts dd{font-size:17px}}
/* 2026-10-20 決まった形でない公開済みカード（見出し p.hmw-title＋ul＋素のリンク＋small。直近140本中67本）も読めるように：
   濃い地に暗い青のリンク・薄い小さな文字で読めなかった（Harimap 45533、本人「見にくくない？」）。新規は engine/lead.py が決まった形を求める */
.post_content :is(div,section).hm-lead .hmw-title{font-size:20px;font-weight:850;line-height:1.55;margin:0 0 14px;color:#fff}
.post_content :is(div,section).hm-lead>ul{margin:0 0 14px!important;padding:0!important;list-style:none!important}
.post_content :is(div,section).hm-lead>ul>li{position:relative;margin:0 0 8px!important;padding:10px 12px 10px 36px!important;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;color:#fff;font-size:16px;font-weight:700;line-height:1.6;list-style:none!important}
.post_content :is(div,section).hm-lead>ul>li::before{content:"✓"!important;position:absolute;left:13px;top:10px;color:#f6b26b!important;font-weight:900;background:none!important;width:auto!important;height:auto!important;border:0!important;transform:none!important}
.post_content :is(div,section).hm-lead>p:not(.hm-lead__action) a,.post_content :is(div,section).hm-lead>ul a{color:#fff!important;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.post_content :is(div,section).hm-lead small{color:#e2efec;font-size:14px}
/* 2026-10-20 ボタンに全体リンクの下線（claude-links-style の !important、詳細度0,3,3）が付いていたのを消す */
.post_content :is(div,section).hm-lead p.hm-lead__action a[href]{text-decoration:none!important}
/* 2026-10-20 <section class="hm-lead"> で書かれたカード（44493・44501・44894・45370・45378）は div だけを見ていたので素の表示だった。
   項目を div で包まず dt/dd を直に並べた facts も、ラベル｜値の2列で読めるようにする */
.post_content .hm-lead__facts:not(:has(>div)){grid-template-columns:7.5em minmax(0,1fr);gap:8px 10px;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;padding:12px 14px}
.post_content .hm-lead__facts:not(:has(>div))>dd{font-size:16px}
.post_content a[data-hm-book-short]{flex:1 1 220px;max-width:360px;box-sizing:border-box}
.c-pagination:not(:has(a)){display:none}
#body_wrap :where(.pagination,.c-pagination) .page-numbers{height:48px!important;min-width:48px!important;line-height:46px!important;font-size:16px!important;box-sizing:border-box}#body_wrap :where(.pagination,.c-pagination) .page-numbers:not(.current){background:#fff!important;color:#1f2937!important;border:1px solid #cbd5e1!important;box-shadow:none!important}#body_wrap :where(.pagination,.c-pagination) .page-numbers:not(.current):hover{background:#f1f5f9!important;border-color:#64748b!important}#body_wrap :where(.pagination,.c-pagination) .page-numbers.current{background:#04384c!important;color:#fff!important;border:1px solid #04384c!important;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}
#body_wrap .hm-footer-pr__intro-cta{font-size:14px!important;line-height:1.45!important}
/* 見出しだけ字詰め（palt）にする（2026-10-12 claude-ux-research、主題 fonts、台帳 20261012-h1-h4-palt-6692f0）。
   国内の比較メディア（マイベスト h2・価格.comマガジン）は見出しだけ palt で本文はベタ組み。モノヒカク・SP1 はデザインシステムで
   全体に palt 済みのため、未適用のはりまっぷ・招待コードナビだけに配る。390px で「〜山崎の町と／一緒に訪ねるか」の2行が1行に収まった。
   本文には掛けない（行政・新聞・SmartHR も本文はベタ組み）。戻し方：sitewide_css.py --site S --css ... --deactivate。 */
:is(.c-pageTitle,.p-articleHead h1,.post_content :is(h2,h3,h4)){font-feature-settings:"palt" 1}
/* Harimap mobile post bottom trim (2026-10-12, Claude surplus sites-mobile-after-article-trim-rest). Posts at phone/tablet width only; PC unchanged.
   Before 8,375px from body end to footer end at 390px, after about 3,850px. Kept: next-read (snippet 107), same-city events, furusato gifts, paid PR banners, popular ranking, reader-nav, prev/next.
   2026-10-13: every hidden part is hidden only for the b arm of its A/B (html.pmx-hm-*, assets/common/part_metrics.php); a sees it.
   Rollback: python3 -B tools/sitewide_css.py --site harimap --css assets/mobile-post-bottom-harimap.css --name "Claude: mobile post bottom trim" --deactivate */
@media (max-width: 959px) {
  /* footer: new posts and the area map repeat the next-read links, the city events and the header menu */
  html.pmx-hm-footer-new .single .l-footer .w-footer__box:has(#hm-footer-title-new), html.pmx-hm-area-map .single .l-footer .w-footer__box:has(.footer-area-map) { display: none !important; }
  .single .l-footer__nav { display: flex !important; flex-wrap: wrap; gap: 0 14px; }
  .single .l-footer__nav li { margin: 0; border: 0; }
  /* the Hyogo-wide calendar repeats the same-city upcoming events right above it; keep it only when that block is missing (PC and the top page keep it) */
  html.pmx-hm-hyogo-cal .single .w-singleBottom:has(.hm-today-tomorrow-events .hm-tt-card) .p-blogParts:has(#hm-article-calendar) { display: none !important; }
  /* calendar in the article bottom: keep the day list with prev/next day; drop the month grid, the duplicate submit CTA and the empty line, city filter as one swipe row */
  html.pmx-hm-cal-grid .single #hm-article-calendar .hm-month-tabs, html.pmx-hm-cal-grid .single #hm-article-calendar .hm-calendar, html.pmx-hm-cal-grid .single #hm-article-calendar .hm-submit-cta, .single #hm-article-calendar .hm-section > p:not(:has(*:not(br))) { display: none !important; }
  .single #hm-article-calendar .hm-cal-area-filter { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; gap: 8px; scrollbar-width: none; }
  .single #hm-article-calendar .hm-cal-area-filter > * { flex: 0 0 auto; }
  /* flower promo: heading and link only */
  html.pmx-hm-flower-text .single .hm-flower-promo--article > p:not(.hm-flower-kicker), html.pmx-hm-flower-text .single .hm-flower-promo--article .hm-flower-season-nav { display: none !important; }
  /* furusato gifts: 2026-10-18 the one-row swipe was removed; blog part 36586 now stacks 2 horizontal cards on phones like the sale cards above it */
  /* regional PR: paid banners stay full size; the recruit card repeats the head CTA; official links become one swipe row */
  html.pmx-hm-pr-recruit .single .hm-footer-pr__track--paid .hm-footer-pr__slot:has(.hm-footer-pr__recruit), html.pmx-hm-pr-recruit .single .hm-footer-pr__section-note { display: none !important; }
  .single .hm-footer-pr__entry-actions { display: flex !important; gap: 8px; }
  .single .hm-footer-pr__entry-actions > a { flex: 1 1 0; margin: 0; }
  .single .hm-footer-pr__track--official { display: flex !important; flex-wrap: nowrap; overflow-x: auto; gap: 8px; scrollbar-width: none; }
  .single .hm-footer-pr__track--official .hm-footer-pr__slot { flex: 0 0 42%; margin: 0; }
}
@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; }
  .single .l-footer .widget_search { display: none; }
}
/* 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}

.post_content .hm-stay__cta-note{margin:.45em 0 0!important;font-size:13px;line-height:1.65;color:#445}.post_content .hm-stay__btn[data-pm-design-b="cta-design-v1-hm-stay"]{gap:.35em;box-shadow:0 2px 0 rgba(0,0,0,.18)}.post_content .hm-stay__btn[data-pm-design-b="cta-design-v1-hm-stay"] .pm-cta-label{min-width:0}.post_content .hm-stay__btn .pm-cta-design-arrow{flex:0 0 auto}.post_content .hm-stay__btn[data-pm-design-b="cta-design-v1-hm-stay"] .pm-cta-action{white-space:nowrap}
.post_content .hm-rakuten-shop-licensed{flex:1;min-width:0;margin:0;max-width:100%}.post_content table .hm-rakuten-shop-licensed{width:max-content}.post_content table .hm-rakuten-shop-licensed>a,.post_content table .hm-rakuten-shop-licensed>p>a{width:max-content;min-width:calc(11em + 24px);min-height:40px;padding:10px 12px;font-size:13px;white-space:nowrap}.post_content .hm-rakuten-shop-licensed>.se-cta__note{font-size:12px;line-height:1.5}

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

.hm-save-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin:12px 0 4px;padding:9px 22px;border:0;border-radius:999px;background:linear-gradient(180deg,#fb5a7a,#e11d48);color:#fff;font-size:15px;font-weight:900;line-height:1.2;letter-spacing:.02em;cursor:pointer;box-shadow:0 4px 0 #9f1239,0 6px 14px rgba(190,18,60,.28);transition:transform .08s,box-shadow .08s,background .15s}
.hm-save-btn:hover{filter:brightness(1.05)}
.hm-save-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #9f1239,0 2px 6px rgba(190,18,60,.25)}
.hm-save-btn[aria-pressed="true"]{background:#fff;color:#be123c;box-shadow:inset 0 0 0 2px #e11d48,0 2px 6px rgba(190,18,60,.15)}
.hm-save-btn.is-pop{animation:hm-save-pop .45s ease}
.hm-save-btn:focus-visible,.hm-save-fab:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
@keyframes hm-save-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
.hm-save-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.hm-save-row .hm-save-btn,.hm-save-row .hm-cmt-n{margin:12px 0 4px}
.hm-cmt-n{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:9px 18px;border-radius:999px;background:#fff;color:#be123c;font-size:15px;font-weight:900;line-height:1.2;text-decoration:none;box-shadow:inset 0 0 0 2px #fecdd3,0 2px 6px rgba(190,18,60,.1);transition:transform .08s,box-shadow .15s,background .15s}
.hm-cmt-n:hover{background:#fff1f3;box-shadow:inset 0 0 0 2px #fb7185,0 3px 8px rgba(190,18,60,.18)}
.hm-cmt-n:active{transform:translateY(2px)}
.hm-save-n{display:inline-block;margin-left:2px;padding:3px 9px;border-radius:999px;background:#fff;color:#be123c;font-size:13px;font-weight:900;line-height:1.2;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.hm-save-btn[aria-pressed="true"] .hm-save-n{background:#ffe4ea;color:#be123c}
.hm-pop{position:fixed;left:50%;z-index:992;display:flex;align-items:center;gap:10px;width:min(calc(100vw - 24px),380px);box-sizing:border-box;padding:8px 40px 8px 8px;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(20,40,70,.25);transform:translate(-50%,16px);opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.hm-pop.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.hm-pop a{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:#153c43!important;text-decoration:none!important}
.hm-pop__img{flex:0 0 76px;height:48px;border-radius:8px;overflow:hidden;background:#eef1f3}
.hm-pop__img img{display:block;width:100%;height:100%;object-fit:cover;margin:0!important}
.hm-pop__txt{display:block;min-width:0}
.hm-pop__label{display:block;margin:0 0 2px;font-size:11.5px;font-weight:900;color:#c2410c}
.hm-pop.is-want .hm-pop__label{color:#be123c}
.hm-pop__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13.5px;font-weight:800;line-height:1.4}
.hm-pop__x{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:30px;height:30px;margin:0;padding:0;border:0;border-radius:50%;background:#f1f4f5;color:#45605f;font-size:14px;line-height:1;cursor:pointer}
@media(prefers-reduced-motion:reduce){.hm-pop{transition:none}}
@media print{.hm-pop{display:none!important}}
.hm-ik-shared{margin:0 0 22px;padding:14px;border-radius:16px;background:#fff7ed;border:1.5px solid #fdba74}
.hm-ik-shared__head h2{margin:0 0 4px!important;padding:0!important;border:0!important;background:none!important;font-size:18px!important;color:#9a3412!important}
.hm-ik-shared__head h2::before,.hm-ik-shared__head h2::after{content:none!important}
.hm-ik-shared__head p{margin:0 0 10px!important;font-size:13px;color:#7c4a1e}
.hm-ik-shared__all{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:0 0 12px;border:0;border-radius:999px;background:#e11d48;color:#fff;font-size:15px;font-weight:900;cursor:pointer}
.hm-ik-shared__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hm-ik-shared__card{display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 1px 4px rgba(23,50,77,.12)}
.hm-ik-shared__card a{display:flex;flex-direction:column;flex:1;color:#153c43!important;text-decoration:none!important}
.hm-ik-shared__img{display:block;aspect-ratio:16/9;background:#f3e1e6;overflow:hidden}
.hm-ik-shared__img img{display:block;width:100%;height:100%;object-fit:cover;margin:0!important}
.hm-ik-shared__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:8px 9px 8px;padding:0;font-size:13.5px;font-weight:800;line-height:1.4;max-height:calc(1.4em * 3)}
.hm-ik-shared__add{margin:auto 9px 9px;min-height:36px;border:1.5px solid #e11d48;border-radius:999px;background:#fff;color:#be123c;font-size:13px;font-weight:900;cursor:pointer}
.hm-ik-shared__add[aria-pressed="true"]{background:#e11d48;color:#fff}
.hm-ik-shared__add.is-had{background:#f3f4f6;border-color:#d1d5db;color:#6b7280;cursor:default}
.hm-ik-shared__had{margin:-4px 0 10px!important;font-size:12.5px;font-weight:700;color:#9a3412}
@media(min-width:960px){.hm-ik-shared__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hm-ik-handover{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#f3f6f8;border:1px dashed #b7c6cf}
.hm-ik-handover p{flex:1 1 100%;margin:0!important;font-size:13px;line-height:1.6;color:#3b4b5c}
.hm-ik-handover p b{color:#be123c}
.hm-ik-handover p small{display:block;margin-top:4px;font-size:12px;color:#5c6f6d}
.hm-ik-handover__btn,.hm-ik-handover__line{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:999px;font-size:13.5px;font-weight:800;text-decoration:none!important;cursor:pointer}
.hm-ik-handover__btn{border:0;background:#1f3a52;color:#fff}
.hm-ik-handover__line{border:1.5px solid #06c755;background:#fff;color:#057a36!important}
.hm-wantrank{margin:0 0 1.5em}
.hm-wantrank__lead{margin:0 0 10px!important;font-size:13px;color:#5c6f6d}
.hm-wantrank__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}
.hm-wantrank__tabs button{min-height:40px;margin:0;padding:6px;border:0;border-radius:8px;background:#eef1f3;color:#153c43;font-size:14px;font-weight:800;cursor:pointer}
.hm-wantrank__tabs button[aria-selected="true"]{background:#e11d48;color:#fff}
.hm-wantrank__list{display:flex;gap:12px;margin:0;padding:4px 2px 12px;overflow-x:auto;scroll-snap-type:x proximity;list-style:none}
.hm-wantrank__item{position:relative;flex:0 0 62%;max-width:62%;scroll-snap-align:start;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 4px rgba(23,50,77,.12)}
.hm-wantrank__item a{display:flex;flex-direction:column;height:100%;color:#153c43!important;text-decoration:none!important}
.hm-wantrank__img{display:block;aspect-ratio:16/9;background:#f3e1e6;overflow:hidden}
.hm-wantrank__img img{display:block;width:100%;height:100%;object-fit:cover;margin:0!important}
.hm-wantrank__rank{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;align-items:baseline;justify-content:center;gap:1px;min-width:44px;height:40px;padding:4px 9px 0;box-sizing:border-box;border:2px solid #fff;border-radius:12px;background:#1d2b36;color:#fff;line-height:1;box-shadow:0 3px 10px rgba(0,0,0,.4)}
.hm-wantrank__rank b{font-size:24px;font-weight:900;letter-spacing:-.02em}
.hm-wantrank__rank small{font-size:12px;font-weight:900}
.hm-wantrank__item:nth-child(1) .hm-wantrank__rank{background:linear-gradient(180deg,#fcd34d,#d97706);color:#3b2300}
.hm-wantrank__item:nth-child(2) .hm-wantrank__rank{background:linear-gradient(180deg,#e5e7eb,#9ca3af);color:#1f2937}
.hm-wantrank__item:nth-child(3) .hm-wantrank__rank{background:linear-gradient(180deg,#fdba74,#b45309);color:#3b1600}
.hm-wantrank__body{display:block;padding:9px 11px 11px}
.hm-wantrank__n{display:inline-block;margin:0 6px 4px 0;color:#e11d48!important;font-size:14px;font-weight:900}
.hm-wantrank__end{display:inline-block;font-size:12px;color:#5c6f6d;font-weight:700}
.hm-wantrank__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:14.5px;font-weight:800;line-height:1.45}
@media(min-width:960px){.hm-wantrank__item{flex-basis:30%;max-width:30%}}
.cr-revisit .hm-save-btn--revisit{width:100%;margin:0;min-height:44px;font-size:15px;background:#e11d48;box-shadow:none}
.cr-revisit .hm-save-btn--revisit:active{transform:none;box-shadow:none;filter:brightness(.95)}
.cr-revisit .hm-save-btn--revisit[aria-pressed="true"]{background:#fff;box-shadow:inset 0 0 0 2px #e11d48}
.hm-save-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:2em 0 1.5em;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#fff1f4,#fff8ec);border:1px solid #f6c9d3}
.hm-save-box__text{margin:0!important;font-size:15px;font-weight:700;line-height:1.55;color:#5b1a2a}
.hm-save-box__text small{display:block;font-size:12.5px;font-weight:600;color:#7a5560}
.hm-save-box .hm-save-btn{margin:0 0 4px;min-height:50px;padding:11px 26px;font-size:16px}
.hm-save-heart{position:absolute;top:6px;right:6px;z-index:3;display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#be123c;font-size:17px;line-height:1;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.25)}
.hm-save-heart[aria-pressed="true"]{background:#e11d48;color:#fff}
.hm-save-heart.is-pop{animation:hm-save-pop .45s ease}
.hm-save-heart:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
a.hm-card.hm-save-host,li.p-postList__item.hm-save-host{position:relative}
/* 画面下の3つ（目次・行きたい・上へ）を同じ高さ44px・同じ影の1列にそろえる（2026-10-20 本人「見た目と高さを綺麗にして整えて」）。
   目次（reading_nav.php の .cr-tocbtn）と上へ（SWELL #pagetop）は白地＋細枠、行きたいだけ赤。上へはテーマのスマホ縮小0.88・半透明をやめる */
.p-fixBtnWrap{right:12px!important;transform:none!important;opacity:1!important}
.p-fixBtnWrap #pagetop{display:grid;place-items:center;width:44px!important;height:44px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#1f3a52!important;color:#fff!important;box-shadow:0 4px 14px rgba(15,30,45,.28)!important;opacity:1!important}
.p-fixBtnWrap #pagetop .c-fixBtn__icon{font-size:16px;line-height:1;color:#fff!important}
/* 3つを同じ系統に：塗り・44px・同じ影・太字。目次と上へは濃紺、主役の行きたいだけ赤（2026-10-20 本人「それぞれのデザインはこれでいいの？統一されてないけど」） */
.cr-tocbtn{height:44px;border:0!important;background:#1f3a52!important;color:#fff!important;font-weight:800!important;box-shadow:0 4px 14px rgba(15,30,45,.28)!important}
.cr-tocbtn svg{color:#fff;stroke:currentColor}
.hm-save-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom));z-index:991;display:flex;align-items:stretch;height:44px;border-radius:999px;background:#e11d48;box-shadow:0 4px 14px rgba(15,30,45,.28);transition:bottom .2s,left .2s,opacity .2s}
.hm-save-dock__toggle{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;min-height:44px;margin:0;padding:0 10px 0 16px;border:0;border-radius:999px 0 0 999px;background:transparent;color:#fff;font-size:14px;font-weight:900;line-height:1;cursor:pointer}
.hm-save-dock__toggle[aria-pressed="true"]{background:rgba(0,0,0,.14)}
.hm-save-dock__toggle.is-pop{animation:hm-save-pop .45s ease}
.hm-save-dock__toggle:focus-visible{outline:3px solid #ffbf47;outline-offset:-3px}
.hm-save-dock .hm-save-fab{position:static;min-height:44px;box-shadow:none;background:transparent}
.hm-save-dock.is-compact .hm-save-dock__toggle{padding:0 8px 0 14px;font-size:0}
.hm-save-dock.is-compact .hm-save-dock__toggle::before{content:"♡";font-size:18px}
.hm-save-dock.is-compact .hm-save-dock__toggle[aria-pressed="true"]::before{content:"♥"}
.hm-save-dock.is-compact .hm-save-fab{padding:0 12px 0 8px;font-size:0}
.hm-save-dock.is-compact .hm-save-fab b{font-size:13px}
.hm-save-dock__toggle+.hm-save-fab{padding:0 14px 0 10px;border-left:1px solid rgba(255,255,255,.4);border-radius:0 999px 999px 0}
.hm-save-fab{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:44px;padding:9px 16px;border-radius:999px;background:#e11d48;color:#fff!important;font-size:14px;font-weight:900;line-height:1;text-decoration:none!important;box-shadow:0 6px 18px rgba(190,18,60,.35);transition:bottom .2s,transform .2s}
.hm-save-fab b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:#e11d48;font-size:13px}
.hm-save-fab.is-pop{animation:hm-save-pop .45s ease}
.hm-save-toast{position:fixed;left:50%;top:76px;z-index:9999;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(92vw,440px);box-sizing:border-box;padding:11px 16px;border-radius:12px;background:#153c43;color:#fff;font-size:14px;font-weight:700;line-height:1.5;box-shadow:0 8px 24px rgba(0,0,0,.3);transform:translate(-50%,-14px);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.hm-save-toast.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.hm-save-toast span{flex:1 1 auto;min-width:0}
.hm-save-toast a{flex:0 0 auto;color:#ffd27a!important;text-decoration:underline;white-space:nowrap}
.hm-ikitai{--ik-red:#e11d48;--ik-ink:#1d2b36}
.hm-ik-hero{position:relative;overflow:hidden;margin:0 0 14px;padding:18px 16px 16px;border-radius:18px;background:radial-gradient(120% 140% at 100% 0,#fb923c 0,#f43f5e 45%,#be123c 100%);color:#fff;box-shadow:0 10px 26px rgba(190,18,60,.28)}
.hm-ik-hero::after{content:"♥";position:absolute;right:-10px;top:-26px;font-size:140px;line-height:1;opacity:.12;pointer-events:none}
.hm-ik-hero h2{margin:0 0 2px!important;padding:0!important;border:0!important;background:none!important;color:#fff!important;font-size:24px!important;font-weight:900;line-height:1.3}
.hm-ik-hero h2::before,.hm-ik-hero h2::after{content:none!important}
.hm-ik-hero__next{margin:0 0 12px!important;font-size:14px;font-weight:700;opacity:.95}
.hm-ik-hero__next b{display:inline-block;margin:0 2px;padding:1px 8px;border-radius:999px;background:#fff;color:var(--ik-red);font-weight:900}
.hm-ik-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}
.hm-ik-stat{padding:8px 4px 7px;border-radius:12px;background:rgba(255,255,255,.16);text-align:center}
.hm-ik-stat b{display:block;font-size:26px;font-weight:900;line-height:1.1}
.hm-ik-stat span{display:block;margin-top:2px;font-size:11px;font-weight:800;opacity:.95;white-space:nowrap}
.hm-ik-actions{display:flex;gap:8px;align-items:center}
.hm-ik-dice{flex:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;margin:0;padding:8px 14px;border:0;border-radius:999px;background:#fff;color:var(--ik-red);font-size:15.5px;font-weight:900;cursor:pointer;box-shadow:0 4px 0 rgba(120,10,40,.35);transition:transform .08s}
.hm-ik-dice:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(120,10,40,.35)}
.hm-ik-share{display:inline-grid;place-items:center;min-width:52px;height:44px;margin:0;padding:0 10px;border:1.5px solid rgba(255,255,255,.7);border-radius:999px;background:transparent;color:#fff!important;font-size:12.5px;font-weight:800;text-decoration:none!important;cursor:pointer}
.hm-ik-sec{display:flex;align-items:baseline;gap:8px;margin:22px 0 10px}
.hm-ik-sec h3{margin:0!important;padding:0!important;border:0!important;background:none!important;color:var(--ik-ink)!important;font-size:18px!important;font-weight:900}
.hm-ik-sec h3::before,.hm-ik-sec h3::after{content:none!important}
.hm-ik-sec small{font-size:12.5px;font-weight:700;color:#6b7c86}
.hm-ik-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hm-ik-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(21,60,67,.1),0 6px 16px rgba(21,60,67,.09);transition:transform .15s,box-shadow .15s}
.hm-ik-card.is-feature{grid-column:1/-1}
.hm-ik-card a.hm-ik-link{display:flex;flex-direction:column;flex:1;color:var(--ik-ink)!important;text-decoration:none!important}
.hm-ik-card.is-feature a.hm-ik-link{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.hm-ik-img{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#ffe4ea,#ffedd5);overflow:hidden}
.hm-ik-card.is-feature .hm-ik-img{aspect-ratio:auto;min-height:150px}
.hm-ik-img img{display:block;width:100%;height:100%;object-fit:cover;margin:0!important}
.hm-ik-badge{position:absolute;left:8px;bottom:8px;z-index:1;padding:4px 10px;border-radius:999px;background:#0b6b55;color:#fff;font-size:12.5px;font-weight:900;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.hm-ik-badge.is-hot{background:var(--ik-red)}
.hm-ik-badge.is-soon{background:#ea580c}
.hm-ik-badge.is-any{background:rgba(29,43,54,.82)}
.hm-ik-card.is-feature .hm-ik-badge{font-size:15px;padding:6px 14px}
.hm-ik-body{display:block;padding:9px 11px 4px}
.hm-ik-card.is-feature .hm-ik-body{padding:14px 14px 6px}
.hm-ik-sub{display:block;margin:0 0 2px;font-size:11.5px;font-weight:800;color:#0b6b55}
.hm-ik-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:14.5px;font-weight:800;line-height:1.42}
.hm-ik-card.is-feature .hm-ik-title{font-size:17px;-webkit-line-clamp:4}
.hm-ik-foot{display:flex;gap:6px;padding:6px 10px 10px;margin-top:auto}
.hm-ik-went{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:36px;margin:0;padding:4px 8px;border:1.5px solid #9cc3b8;border-radius:999px;background:#fff;color:#0b6b55;font-size:13px;font-weight:900;cursor:pointer}
.hm-ik-went[aria-pressed="true"]{background:#0b6b55;border-color:#0b6b55;color:#fff}
.hm-ik-del{position:absolute;top:6px;right:6px;z-index:2;display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#7a2a3a;font-size:15px;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.hm-ik-card.is-went .hm-ik-img::after{content:"行った！";position:absolute;right:10px;bottom:8px;padding:3px 10px;border:3px solid #fff;border-radius:8px;background:rgba(11,107,85,.9);color:#fff;font-size:15px;font-weight:900;transform:rotate(-8deg);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.hm-ik-card.is-spin{transform:scale(1.03);box-shadow:0 0 0 4px #fbbf24,0 10px 26px rgba(234,88,12,.35)}
.hm-ik-card.is-pick{animation:hm-ik-pick 1.6s ease 1}
@keyframes hm-ik-pick{0%,100%{box-shadow:0 1px 2px rgba(21,60,67,.1),0 6px 16px rgba(21,60,67,.09)}20%,70%{box-shadow:0 0 0 5px #fbbf24,0 14px 32px rgba(234,88,12,.4)}}
.hm-roul{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:max(16px,5vh) 16px 16px;background:rgba(15,23,32,.62);opacity:0;transition:opacity .2s}
.hm-roul.is-on{opacity:1}
html.hm-roul-open{overflow:hidden}
.hm-roul__panel{position:relative;width:min(100%,420px);max-height:calc(100vh - 32px);overflow:hidden;box-sizing:border-box;padding:16px 16px 18px;border-radius:22px;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.35);transform:translateY(20px) scale(.97);transition:transform .25s}
.hm-roul.is-on .hm-roul__panel{transform:none}
.hm-roul__kicker{margin:0 0 10px!important;font-size:18px;font-weight:900;color:#e11d48;text-align:center}
.hm-roul__reel{position:relative;overflow:hidden;border-radius:16px;border:4px solid #fbbf24;box-shadow:0 6px 18px rgba(234,88,12,.3);background:#ffe4ea}
.hm-roul__img{aspect-ratio:16/9;background:#fde2e7 center/cover no-repeat}
.hm-roul__badge{position:absolute;left:10px;bottom:10px;padding:4px 12px;border-radius:999px;background:#0b6b55;color:#fff;font-size:13px;font-weight:900;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.hm-roul__badge.is-hot{background:#e11d48}.hm-roul__badge.is-soon{background:#ea580c}.hm-roul__badge.is-any{background:rgba(29,43,54,.85)}
.hm-roul__stamp{position:absolute;right:12px;top:12px;padding:6px 14px;border:4px solid #fff;border-radius:12px;background:#e11d48;color:#fff;font-size:22px;font-weight:900;transform:rotate(-10deg) scale(0);transition:transform .3s cubic-bezier(.3,1.6,.5,1);box-shadow:0 4px 12px rgba(0,0,0,.35)}
.hm-roul.is-done .hm-roul__stamp{transform:rotate(-10deg) scale(1)}
.hm-roul__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.2em;margin:12px 0 2px!important;font-size:16px;font-weight:900;line-height:1.4;color:#1d2b36}
.hm-roul__sub{margin:0 0 12px!important;font-size:12.5px;font-weight:800;color:#0b6b55;min-height:1.2em}
.hm-roul__btns{display:flex;gap:8px;opacity:.35;pointer-events:none;transition:opacity .2s}
.hm-roul.is-done .hm-roul__btns{opacity:1;pointer-events:auto}
.hm-roul__go{flex:1.4;display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;background:#e11d48;color:#fff!important;font-size:15px;font-weight:900;text-decoration:none!important;box-shadow:0 4px 0 #9f1239}
.hm-roul__again{flex:1;min-height:48px;margin:0;border:2px solid #fbbf24;border-radius:999px;background:#fff7e6;color:#9a3412;font-size:15px;font-weight:900;cursor:pointer}
.hm-roul__x{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:50%;background:#f1f4f5;color:#45535c;font-size:16px;cursor:pointer}
.hm-roul__confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hm-roul__confetti span{position:absolute;top:-30px;animation:hm-roul-fall 1.6s ease-in forwards}
@keyframes hm-roul-fall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(520px) rotate(320deg);opacity:0}}
/* 演出（2026-10-21 本人「色んな演出もあるとなおいいね」）：型ごとの掛け声・鼓動・揺れ・光と、決定時のお祝い4種 */
.hm-roul__cap{position:absolute;left:50%;top:10px;z-index:2;padding:5px 14px;border-radius:999px;background:rgba(17,24,39,.82);color:#fff;font-size:15px;font-weight:900;white-space:nowrap;transform:translateX(-50%) scale(0);transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.hm-roul__cap.is-on{transform:translateX(-50%) scale(1)}
.hm-roul__flash{position:absolute;inset:0;z-index:1;background:#fff;opacity:0;pointer-events:none}
.hm-roul__reel.is-flash .hm-roul__flash{animation:hm-roul-flash .45s ease-out}
@keyframes hm-roul-flash{0%{opacity:.95}100%{opacity:0}}
.hm-roul__reel.is-beat{animation:hm-roul-beat .6s ease-in-out infinite}
@keyframes hm-roul-beat{0%,100%{transform:scale(1)}30%{transform:scale(1.035)}45%{transform:scale(.99)}60%{transform:scale(1.025)}}
.hm-roul__reel.is-shake{animation:hm-roul-shake .45s ease}
@keyframes hm-roul-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-9px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.hm-roul__panel.is-spot::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 32%,rgba(255,236,150,.55),rgba(255,236,150,0) 55%);animation:hm-roul-spot 1.4s ease-out forwards}
@keyframes hm-roul-spot{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
.hm-roul__confetti span.is-up{top:auto;bottom:-30px;animation:hm-roul-rise 1.8s ease-out forwards}
@keyframes hm-roul-rise{0%{transform:translateY(0) scale(.6);opacity:1}100%{transform:translateY(-480px) scale(1.2);opacity:0}}
.hm-roul__confetti span.is-burst{top:30%;left:50%;animation:hm-roul-burst 1.1s ease-out forwards}
@keyframes hm-roul-burst{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.3);opacity:0}}
@media(prefers-reduced-motion:reduce){.hm-roul,.hm-roul__panel,.hm-roul__stamp,.hm-roul__cap{transition:none}.hm-roul__reel.is-beat,.hm-roul__reel.is-shake,.hm-roul__reel.is-flash .hm-roul__flash,.hm-roul__panel.is-spot::after{animation:none}}
.hm-ik-ended{margin:22px 0 0;border-radius:14px;background:#f5f7f8}
.hm-ik-ended summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:8px 14px;font-size:14.5px;font-weight:800;color:#45535c;cursor:pointer;list-style:none}
.hm-ik-ended summary::-webkit-details-marker{display:none}
.hm-ik-ended .hm-ik-grid{padding:0 10px 12px}
.hm-ik-ended .hm-ik-card{opacity:.65}
.hm-ik-clear{margin:0 10px 12px;min-height:40px;padding:6px 14px;border:1px solid #c9d3d9;border-radius:999px;background:#fff;color:#45535c;font-size:13px;font-weight:800;cursor:pointer}
.hm-wantrank .hm-ik-rank-title{margin:26px 0 6px!important;padding:0!important;border:0!important;background:none!important;color:#1d2b36!important;font-size:18px!important;font-weight:900}
.hm-wantrank .hm-ik-rank-title::before,.hm-wantrank .hm-ik-rank-title::after{content:none!important}
.hm-ik-empty{padding:26px 18px;border-radius:18px;background:linear-gradient(135deg,#fff1f4,#fff7ed);border:2px dashed #fda4af;text-align:center;font-size:15px;line-height:1.75;color:#5b1a2a}
.hm-ik-empty b{display:block;margin-bottom:6px;font-size:40px;line-height:1}
.hm-ik-empty a{display:inline-flex;margin-top:10px;padding:10px 18px;border-radius:999px;background:var(--ik-red);color:#fff!important;font-weight:900;text-decoration:none!important}
@media(max-width:959px){.hm-ik-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:600px){.hm-ik-card.is-feature a.hm-ik-link{grid-template-columns:minmax(0,1fr)}.hm-ik-card.is-feature .hm-ik-img{aspect-ratio:16/9;min-height:0}.hm-ik-stat b{font-size:23px}.hm-ik-title{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hm-ik-card,.hm-ik-dice{transition:none}.hm-ik-card.is-pick{animation:none}}
@media(max-width:600px){.hm-save-box{padding:14px}.hm-save-box .hm-save-btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.hm-save-btn.is-pop,.hm-save-fab.is-pop{animation:none}}
@media print{.hm-save-dock,.hm-save-fab,.hm-save-btn,.hm-save-box{display:none!important}}
.codex-related-context-v5{display:none!important}.cr-revisit .cr-revisit__bm{display:none!important}.l-articleBottom .p-pnLinks{display:none!important}.hm-election-slot.is-tidy .hm-election-group{padding:14px 0 10px!important}.hm-election-slot.is-tidy .hm-election-group__head,.hm-election-slot.is-tidy .hm-election-group__all{padding:0 14px!important;margin:0 0 8px!important}.hm-election-slot.is-tidy .hm-election-group__list{display:none!important}.hm-election-bottom{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 14px 10px;scroll-padding-left:14px;-webkit-overflow-scrolling:touch}.hm-election-bottom>.hm-election-top{flex:0 0 88%;min-width:0;margin:0!important;scroll-snap-align:start}.hm-election-bottom>.hm-election-top:only-child{flex-basis:100%}@media(min-width:768px){.hm-election-bottom>.hm-election-top{flex-basis:calc(50% - 5px)}}.hm-election-bottom a.hm-election-top__link{display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;padding:12px 14px 10px 16px;border:1px solid #b9d4e2;border-left:5px solid #17607c;border-radius:12px;background:#fff;color:#153c4c!important;font-size:14px;line-height:1.5;text-decoration:none!important;box-shadow:0 1px 2px rgba(16,72,93,.06)}@media(max-width:767px){.hm-election-slot.is-tidy .hm-election-group{border-left:0!important;border-right:0!important;border-radius:0!important;margin-left:-4px!important;margin-right:-4px!important}}@media(max-width:767px){.cr-revisit{padding:16px 14px!important}.cr-revisit .cr-revisit__ch{gap:6px!important}}#hm-article-calendar .hm-cal-list.is-capped{position:relative;max-height:640px;overflow:hidden}#hm-article-calendar .hm-cal-list.is-capped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(246,249,248,0),#f6f9f8);pointer-events:none}.hm-cal-more{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:8px 0 0;padding:8px 14px;border:0;border-radius:999px;background:#1f3a52;color:#fff;font-size:14px;font-weight:800;cursor:pointer}.cr-revisit .cr-prefsrc{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;margin:8px 0 0!important;padding:6px 14px!important;border:1px solid #d6dee8!important;border-radius:999px!important;background:#fff!important;box-sizing:border-box}.cr-revisit .cr-prefsrc .cr-prefsrc__g{width:26px!important;height:26px!important;font-size:15px!important}.cr-revisit .cr-prefsrc .cr-prefsrc__t{font-size:14px!important;line-height:1.35!important}.cr-revisit .cr-prefsrc .cr-prefsrc__t small,.cr-revisit .cr-prefsrc .cr-prefsrc__d{display:none!important}a.cr-prefsrc,.cr-revisit .cr-prefsrc{display:none!important}.hmk-teaser{display:none!important}@media(min-width:960px){#custom_html-4,.hm-footer-pr{display:none!important}}.cr-revisit .cr-revisit__ct{margin-top:10px!important;font-size:.75em!important}.cr-revisit .cr-revisit__ch{gap:4px!important}.cr-revisit .cr-revisit__ch a{min-height:32px!important;padding:0 9px!important;font-size:.75em!important}
.post_content .hm-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0 0!important;padding:12px 4px 10px!important;border-radius:10px;list-style:none!important;background:#f3f7f8;color:#123f43}.post_content .hm-flow li{position:relative;display:flex;flex-direction:column;align-items:center;margin:0!important;padding:0 2px!important;text-align:center;list-style:none!important}.post_content .hm-flow li::before{display:none!important}.post_content .hm-flow li:not(:last-child)::after{content:"";position:absolute;top:19px;left:calc(50% + 22px);right:calc(-50% + 22px);border-top:2px dashed #9fb6ba}.post_content .hm-flow__ic{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#dfe9eb;color:#123f43}.post_content .hm-flow li.is-now .hm-flow__ic{background:#f6b26b;color:#123f43;box-shadow:0 0 0 3px #f6b26b55}.post_content .hm-flow li.is-goal .hm-flow__ic{background:#1a9e6a;color:#fff}.post_content .hm-flow b{display:block;margin-top:6px;font-size:13px;font-weight:800;line-height:1.35}.post_content .hm-flow b i{margin-right:2px;font-style:normal;opacity:.7}.post_content .hm-lead .hm-flow{margin:0 0 12px!important;background:#ffffff14;color:#fff}.post_content .hm-lead .hm-flow__ic{background:#ffffff26;color:#fff}.post_content .hm-lead .hm-flow li.is-now .hm-flow__ic{background:#f6b26b;color:#123f43}.post_content .hm-lead .hm-flow li:not(:last-child)::after{border-top-color:#ffffff55}.post_content .hm-ota-more{margin:8px 0 0}.post_content .hm-ota-more>summary{display:flex;align-items:center;min-height:44px;padding:0 4px;color:#123f43;font-size:14px;font-weight:700;cursor:pointer}.post_content .hm-ota-more>summary::-webkit-details-marker{display:none}.post_content .hm-ota-more>summary::before{content:"＋";margin-right:6px;font-weight:800}.post_content .hm-ota-more[open]>summary::before{content:"－"}.post_content .hm-ota-more>.hm-cmp__chips{margin-top:4px}.post_content .hm-ota-area>.hm-cmp__chips{grid-template-columns:repeat(3,minmax(0,1fr))}

/*
 * Harimap public design system v5 — Today in Harima
 *
 * Direction: regional planner + editorial reading rail.
 * Presentation remains reversible and content preserving. Manual AdSense slots
 * are contained to the reading column without hiding or resizing creatives.
 */

:root {
  --hm-v5-ink: #172033;
  --hm-v5-heading: #17324d;
  --hm-v5-muted: #5a6978;
  --hm-v5-brand: #04384c;
  --hm-v5-green: #327a43;
  --hm-v5-orange: #9a4d20;
  --hm-v5-paper: #ffffff;
  --hm-v5-canvas: #f7f9f8;
  --hm-v5-line: #d7e0df;
  --hm-v5-soft: #eff6f2;
  --hm-v5-warm: #fff8ee;
  --hm-v5-radius-sm: 10px;
  --hm-v5-radius-md: 14px;
  --hm-v5-shadow: 0 8px 24px rgb(23 50 77 / 8%);
  --hm-v5-text-measure: 46rem;
  --hm-v5-media-measure: 56.25rem;
  --hm-v5-anchor-safe: 0px;
}

html {
  font-size: 16px;
  scroll-padding-top: 6rem;
}

#body_wrap.codex-harimap-v4 {
  background: var(--hm-v5-canvas);
  color: var(--hm-v5-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "YuGothic", Meiryo, sans-serif;
  line-break: strict;
  overflow-wrap: break-word;
  padding-bottom: var(--hm-v5-anchor-safe);
  text-rendering: optimizeLegibility;
}

#body_wrap.codex-harimap-v4,
#body_wrap.codex-harimap-v4 :where(
  .l-container,
  .l-content,
  .l-mainContent,
  .l-mainContent__inner,
  .p-articleHead,
  .post_content,
  .p-postList,
  .p-postList__item,
  .p-postList__link,
  .p-postList__body,
  .p-toc,
  .p-termHead,
  input,
  select,
  textarea,
  button
) {
  box-sizing: border-box;
}

#body_wrap.codex-harimap-v4 :where(.l-container, .l-content, .l-mainContent, .l-mainContent__inner, .post_content) {
  min-width: 0;
}

/* Keep late-loading ad wrappers from temporarily widening the mobile page. */
#body_wrap.codex-harimap-v4 .codex-hm-ad-reserve,
#body_wrap.codex-harimap-v4 .codex-hm-article-ad {
  box-sizing: border-box;
  contain: inline-size;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: clip;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4 .codex-hm-ad-reserve {
  margin: clamp(1.5rem, 4vw, 2.75rem) auto;
}

#body_wrap.codex-harimap-v4 .p-articleThumb img,
#body_wrap.codex-harimap-v4 .post_content :where(figure.wp-block-image, .wp-block-gallery, .wp-block-video) :where(img, video, svg),
#body_wrap.codex-harimap-v4 .p-postList .p-postList__thumb img {
  max-width: 100%;
}

#body_wrap.codex-harimap-v4 .p-articleThumb img,
#body_wrap.codex-harimap-v4 .post_content :where(figure.wp-block-image, .wp-block-gallery, .wp-block-video) :where(img, video),
#body_wrap.codex-harimap-v4 .p-postList .p-postList__thumb img {
  height: auto;
}

#body_wrap.codex-harimap-v4 :where(pre, code, table) {
  overflow-wrap: normal;
  word-break: normal;
}

#body_wrap.codex-harimap-v4 :where(.wp-block-table, .codex-mobile-table-wrap) {
  max-width: 100%;
  overscroll-behavior-inline: contain;
}

/* Header and common wayfinding */
#body_wrap.codex-harimap-v4 .l-header {
  background: rgb(255 255 255 / 97%);
  border-bottom: 1px solid var(--hm-v5-line);
  box-shadow: 0 3px 16px rgb(23 50 77 / 5%);
}

#body_wrap.codex-harimap-v4 .c-headLogo__img {
  height: auto;
  max-width: min(100%, 25rem);
}

#body_wrap.codex-harimap-v4 .p-breadcrumb {
  color: var(--hm-v5-muted);
  font-size: 0.75rem;
}

#body_wrap.codex-harimap-v4 :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #ef8b3b;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgb(255 255 255 / 92%);
}

/* Article header: keep the semantic modified date as the sole visible date. */
#body_wrap.codex-harimap-v4.single .l-mainContent {
  width: min(100%, var(--hm-v5-media-measure));
}

/* codex-article-sidebar-layout-v1: keep the reading column beside the PC sidebar. */
@media (min-width: 960px) {
  #body_wrap.codex-harimap-v4.single .l-mainContent {
    width: min(
      calc(100% - var(--swl-sidebar_width) - var(--swl-sidebar_margin)),
      var(--hm-v5-media-measure)
    );
  }
}

#body_wrap.codex-harimap-v4 .p-articleHead.c-postTitle {
  align-items: flex-start;
  flex-direction: column !important;
  gap: 0.7rem;
  min-width: 0;
}

#body_wrap.codex-harimap-v4 .p-articleHead .c-postTitle__ttl {
  width: 100%;
}

#body_wrap.codex-harimap-v4 .p-articleHead .c-postTitle__date {
  block-size: 1px;
  clip-path: inset(50%);
  inline-size: 1px;
  overflow: clip;
  position: absolute;
  white-space: nowrap;
}

#body_wrap.codex-harimap-v4 .c-postTitle__ttl {
  color: var(--hm-v5-heading);
  font-size: clamp(1.35rem, 1.05rem + 1vw, 2rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.45;
  text-wrap: pretty;

  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#body_wrap.codex-harimap-v4 .p-articleMetas {
  align-items: center;
  color: var(--hm-v5-muted);
  font-size: 0.8125rem;
  gap: 0.65rem;
}

#body_wrap.codex-harimap-v4 .p-articleMetas .c-postTimes__modified {
  align-items: center;
  background: var(--hm-v5-soft);
  border: 1px solid var(--hm-v5-line);
  border-radius: 999px;
  color: #405463;
  display: inline-flex;
  line-height: 1.2;
  min-height: 2rem;
  padding: 0.35rem 0.65rem;
  white-space: nowrap;
}

#body_wrap.codex-harimap-v4 .c-categoryList__link {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 1.2;
  min-height: 44px;
  padding: 0.55rem 0.9rem;
  text-align: center;
}

#body_wrap.codex-harimap-v4 main :is(
  .page-numbers.current,
  .page-numbers.-to-first,
  .page-numbers.-to-prev,
  .page-numbers.-to-next,
  .page-numbers.-to-last
) {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 1.2;
  text-align: center;
}

#body_wrap.codex-harimap-v4 .p-articleThumb {
  border-radius: var(--hm-v5-radius-md);
  box-shadow: var(--hm-v5-shadow);
  margin-inline: auto;
  max-width: var(--hm-v5-media-measure);
  overflow: clip;
}

#body_wrap.codex-harimap-v4 .p-articleThumb img {
  width: 100%;
}

/* Long-form reading rail. Text is narrow; documentary media remains wide. */
#body_wrap.codex-harimap-v4 .post_content {
  color: var(--hm-v5-ink);
  font-size: 1rem;
  line-height: 1.86;
  min-width: 0;
}

#body_wrap.codex-harimap-v4 .post_content > :where(
  p,
  ul,
  ol,
  blockquote,
  .wp-block-quote,
  .swell-block-capbox,
  .is-style-big_icon_point,
  .is-style-big_icon_check,
  .p-toc
) {
  margin-inline: auto;
  max-width: var(--hm-v5-text-measure);
  width: 100%;
}

#body_wrap.codex-harimap-v4 .post_content > :where(h2, h3, h4) {
  margin-inline: auto;
  max-width: var(--hm-v5-text-measure);
  width: 100%;
}

#body_wrap.codex-harimap-v4 .post_content h2 {
  background: var(--hm-v5-paper);
  border-bottom: 1px solid var(--hm-v5-line);
  border-left: 5px solid var(--hm-v5-green);
  border-radius: 0;
  color: var(--hm-v5-heading);
  font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.55rem);
  line-height: 1.45;
  margin-block: 4rem 1.75rem;
  padding: 0.55rem 0.4rem 0.62rem 0.9rem;
  text-wrap: pretty;
}

#body_wrap.codex-harimap-v4 .post_content h3 {
  border-left: 4px solid var(--hm-v5-green);
  color: var(--hm-v5-heading);
  font-size: clamp(1.08rem, 1rem + 0.25vw, 1.28rem);
  line-height: 1.5;
  margin-block: 2.8rem 1.25rem;
  padding: 0.35rem 0 0.35rem 0.85rem;
}

#body_wrap.codex-harimap-v4 .post_content :where(figure.wp-block-image, .wp-block-gallery) {
  margin-inline: auto;
  max-width: var(--hm-v5-media-measure);
}

#body_wrap.codex-harimap-v4 .post_content figure.wp-block-image img {
  border-radius: var(--hm-v5-radius-sm);
}

#body_wrap.codex-harimap-v4 .post_content figcaption {
  color: var(--hm-v5-muted);
  font-size: 0.8125rem;
  line-height: 1.65;
  margin: 0.65rem auto 0;
  max-width: var(--hm-v5-text-measure);
  padding-inline: 0.25rem;
  text-align: left;
}

#body_wrap.codex-harimap-v4 .p-toc {
  background: var(--hm-v5-soft);
  border: 1px solid var(--hm-v5-line);
  border-radius: var(--hm-v5-radius-md);
  box-shadow: none;
  padding: clamp(1rem, 2.5vw, 1.5rem);
}

#body_wrap.codex-harimap-v4 .p-toc__link {
  line-height: 1.55;
  min-height: 2.75rem;
  padding-block: 0.5rem;
}

/* Archive, search and utility surfaces */
#body_wrap.codex-harimap-v4 :where(.c-pageTitle, .c-ttl404) {
  color: var(--hm-v5-heading);
  font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.9rem);
  font-weight: 800;
  line-height: 1.45;
  text-wrap: pretty;
}

#body_wrap.codex-harimap-v4 :where(.p-termHead, .p-searchContent, .c-ttl404 + .post_content) {
  background: var(--hm-v5-paper);
  border: 1px solid var(--hm-v5-line);
  border-radius: var(--hm-v5-radius-md);
  box-shadow: var(--hm-v5-shadow);
}

#body_wrap.codex-harimap-v4 .p-termHead__desc {
  color: #304f58;
  font-size: 0.9375rem;
  line-height: 1.8;
}

#body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList.-type-card {
  display: grid;
  gap: clamp(1rem, 2vw, 1.35rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-inline: auto;
  max-width: 72rem;
  padding-inline: 0;
  width: 100%;
}

#body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList__item {
  background: var(--hm-v5-paper);
  border: 1px solid var(--hm-v5-line);
  border-radius: var(--hm-v5-radius-md);
  box-shadow: 0 5px 18px rgb(23 50 77 / 7%);
  min-width: 0;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  list-style: none;
  overflow: clip;
}

#body_wrap.codex-harimap-v4.search-results .hm-v4-ended-badge {
  display: inline-flex;
  width: fit-content;
  min-height: 1.75rem;
  margin: 0 0 0.5rem;
  padding: 0.2rem 0.65rem;
  align-items: center;
  border: 1px solid #aab4bc;
  border-radius: 999px;
  color: #334155;
  background: #eef1f3;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.2;
}

#body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList__link {
  height: 100%;
  min-width: 0;
  padding: 0;
  width: 100%;
}

#body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList__body {
  padding: 0.85rem 1rem 1rem;
}

#body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList__title {
  color: var(--hm-v5-heading);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.55;
  text-wrap: pretty;
}

#body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList__excerpt {
  color: #465767;
  display: -webkit-box;
  font-size: 0.875rem;
  line-height: 1.72;
  overflow: clip;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

#body_wrap.codex-harimap-v4:is(.archive, .search-results) main :where(.p-postList__times, .c-postTimes) {
  color: var(--hm-v5-muted);
  font-size: 0.75rem;
  line-height: 1.5;
}

#body_wrap.codex-harimap-v4 :where(.hm-v5-lifecycle-badge, .hm-v4-ended-badge) {
  align-items: center;
  border: 1px solid #aab4bc;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 0.45rem;
  min-height: 1.75rem;
  padding: 0.2rem 0.62rem;
  width: fit-content;
}

#body_wrap.codex-harimap-v4 .hm-v5-lifecycle-badge[data-state="ended"],
#body_wrap.codex-harimap-v4 .hm-v4-ended-badge {
  background: #eef1f3;
  color: #334155;
}

#body_wrap.codex-harimap-v4 .hm-v5-lifecycle-badge[data-state="ongoing"] {
  background: #eaf7ee;
  border-color: #afd2ba;
  color: #215e35;
}

#body_wrap.codex-harimap-v4 .hm-v5-lifecycle-badge[data-state="upcoming"] {
  background: #fff4e5;
  border-color: #ecc696;
  color: #804318;
}

#body_wrap.codex-harimap-v4 [data-hm-lifecycle="ended"] {
  --hm-v5-card-accent: #7c8791;
}

/* Related articles remain available, but no longer create a many-screen wall. */
#body_wrap.codex-harimap-v4.single .l-articleBottom {
  border-top: 1px solid var(--hm-v5-line);
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__title {
  color: var(--hm-v5-heading);
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-relatedPosts {
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__item {
  border: 0 !important;
  border-top: 1px solid var(--hm-v5-line) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  min-width: 0;
  overflow: visible;
  padding: 0 !important;
  scroll-snap-align: none;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__item:first-child {
  border-top: 0 !important;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__link {
  align-items: center;
  display: grid !important;
  gap: 0.6rem;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  min-height: 5rem;
  padding: 0.55rem 0 !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__thumb {
  aspect-ratio: 16 / 9;
  background: #f3f7f8;
  border-radius: 8px;
  box-shadow: 0 2px 7px rgb(23 50 77 / 10%);
  height: auto;
  overflow: hidden;
  width: 4.5rem;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__thumb figure,
#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__thumb img {
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__body {
  min-width: 0;
  padding: 0 !important;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__title {
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
  color: var(--hm-v5-heading);
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.55;
  overflow: visible;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__times {
  color: var(--hm-v5-muted);
  font-size: 0.75rem;
  line-height: 1.5;
}

@media (min-width: 768px) {
  #body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__link {
    grid-template-columns: 7.5rem minmax(0, 1fr);
  }

  #body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__thumb {
    width: 7.5rem;
  }
}

@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__link {
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }

  #body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__thumb {
    width: 5.5rem;
  }
}

#body_wrap.codex-harimap-v4.single .hm-v5-related-controls {
  align-items: center;
  color: var(--hm-v5-muted);
  display: flex;
  font-size: 0.8125rem;
  gap: 0.55rem;
  justify-content: flex-end;
  margin: -0.35rem 0 0.65rem;
}

#body_wrap.codex-harimap-v4.single .hm-v5-related-controls button {
  align-items: center;
  background: var(--hm-v5-paper);
  border: 1px solid #aab8bc;
  border-radius: 999px;
  color: var(--hm-v5-heading);
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0;
}

#body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-postList__item {
  border: 1px solid var(--hm-v5-line);
  border-top: 3px solid var(--hm-v5-card-accent, var(--hm-v5-green));
  border-radius: var(--hm-v5-radius-sm);
  min-width: 0;
  overflow: clip;
  scroll-snap-align: start;
  width: auto !important;
}

/* The full calendar is useful, but secondary at the end of an article. */
#body_wrap.codex-harimap-v4.single .hm-v5-calendar-disclosure {
  background: var(--hm-v5-paper);
  border: 1px solid var(--hm-v5-line);
  border-radius: var(--hm-v5-radius-md);
  box-shadow: 0 5px 18px rgb(23 50 77 / 6%);
  margin: clamp(2rem, 5vw, 3.5rem) auto;
  max-width: var(--hm-v5-media-measure);
  overflow: clip;
}

#body_wrap.codex-harimap-v4.single .hm-v5-calendar-summary {
  align-items: center;
  color: var(--hm-v5-heading);
  cursor: pointer;
  display: flex;
  font-size: 1rem;
  font-weight: 800;
  gap: 0.75rem;
  justify-content: space-between;
  min-height: 3.75rem;
  padding: 0.8rem 1rem;
}

#body_wrap.codex-harimap-v4.single .hm-v5-calendar-summary::after {
  content: "+";
  font-size: 1.4rem;
  line-height: 1;
}

#body_wrap.codex-harimap-v4.single .hm-v5-calendar-disclosure[open] > .hm-v5-calendar-summary::after {
  content: "−";
}

#body_wrap.codex-harimap-v4.single .hm-v5-calendar-summary small {
  color: var(--hm-v5-muted);
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 0.2rem;
}

#body_wrap.codex-harimap-v4.single .hm-v5-calendar-disclosure > .hm-article-calendar-lazy {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 auto !important;
  max-width: 100% !important;
}

#body_wrap.codex-harimap-v4 .hm-v5-calendar-more {
  border-top: 1px solid var(--hm-v5-line);
  margin-top: 0.75rem;
  padding-top: 0.75rem;
}

#body_wrap.codex-harimap-v4 .hm-v5-calendar-more > summary {
  align-items: center;
  background: var(--hm-v5-soft);
  border: 1px solid #b9d4c1;
  border-radius: 8px;
  color: #215e35;
  cursor: pointer;
  display: flex;
  font-size: 0.875rem;
  font-weight: 800;
  justify-content: center;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
  text-align: center;
}

#body_wrap.codex-harimap-v4 .hm-v5-calendar-more__grid {
  margin-top: 0.75rem;
}

/* Homepage remains a planner; tighten repeated units without hiding entries. */
#body_wrap.codex-harimap-v4.home :where(.hm-front-block, .hm-section, .hm-hero) {
  min-width: 0;
}

#body_wrap.codex-harimap-v4.home .hm-front-events {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

#body_wrap.codex-harimap-v4.home .hm-quick {
  min-height: 3.5rem;
}

#body_wrap.codex-harimap-v4.home .hm-cal-pick {
  min-height: 6.25rem;
}

#body_wrap.codex-harimap-v4.home .hm-cal-pick-body {
  min-width: 0;
}

#body_wrap.codex-harimap-v4.home :where(.hm-title, .hm-heading) {
  color: var(--hm-v5-heading);
  font-weight: 800;
  text-wrap: pretty;
}

#body_wrap.codex-harimap-v4.home :where(.hm-row-track, .hm-guide-grid, .hm-guide-support) {
  min-width: 0;
}

/* About/contact/legal pages */
#body_wrap.codex-harimap-v4.page:not(.home) .post_content > :where(p, ul, ol, blockquote, .wp-block-quote, h2, h3) {
  margin-inline: auto;
  max-width: var(--hm-v5-text-measure);
}

#body_wrap.codex-harimap-v4 :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  background: #fff;
  border: 1px solid #aab8bc;
  border-radius: 9px;
  color: var(--hm-v5-ink);
  font-size: 1rem;
  min-height: 3rem;
  padding: 0.7rem 0.85rem;
}

#body_wrap.codex-harimap-v4 .l-footer {
  border-top: 1px solid var(--hm-v5-line);
  color: var(--hm-v5-muted);
}

#body_wrap.codex-harimap-v4 .l-footer__widgetArea .w-footer {
  align-items: start;
  display: grid !important;
  gap: 0.75rem !important;
  grid-template-columns: minmax(0, 1fr);
}

#body_wrap.codex-harimap-v4 .l-footer__widgetArea .w-footer__box {
  margin: 0 !important;
  min-width: 0;
  padding: 0 !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section {
  background: var(--hm-v5-paper);
  border: 1px solid var(--hm-v5-line);
  border-radius: var(--hm-v5-radius-md);
  box-shadow: 0 4px 14px rgb(23 50 77 / 5%);
  height: auto;
  padding: 1rem;
}

#body_wrap.codex-harimap-v4 .hm-footer-section__title {
  border-left: 4px solid var(--hm-v5-green);
  color: var(--hm-v5-heading);
  font-size: 1.0625rem;
  font-weight: 800;
  line-height: 1.45;
  margin: 0 0 0.9rem;
  padding: 0.2rem 0 0.2rem 0.7rem;
}

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

#body_wrap.codex-harimap-v4 .hm-footer-section__content > :first-child,
#body_wrap.codex-harimap-v4 .hm-footer-section__content .c-widget {
  margin-top: 0;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList {
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin: 0 !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__item {
  border-top: 1px solid var(--hm-v5-line);
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__item:first-child {
  border-top: 0;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__link {
  align-items: center;
  display: grid !important;
  gap: 0.6rem;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  min-height: 5rem;
  padding: 0.55rem 0 !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__thumb {
  aspect-ratio: 16 / 9;
  background: #f3f7f8;
  border-radius: 8px;
  box-shadow: 0 2px 7px rgb(23 50 77 / 10%);
  height: auto;
  overflow: hidden;
  width: 4.5rem;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__thumb figure,
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__thumb img {
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__title {
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
  color: var(--hm-v5-heading);
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.55;
  overflow: visible;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-tablist {
  display: grid !important;
  gap: 0.4rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 0.75rem;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-tab {
  border: 1px solid var(--hm-v5-line) !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  font-weight: 750 !important;
  min-height: 44px;
  padding: 0.45rem !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-list {
  display: grid !important;
  gap: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-item {
  border-top: 1px solid var(--hm-v5-line);
  margin: 0 !important;
  padding: 0 !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-item:first-child {
  border-top: 0;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-link {
  align-items: center;
  display: grid !important;
  gap: 0.6rem;
  grid-template-columns: 1.5rem 4.5rem minmax(0, 1fr) !important;
  min-height: 5rem;
  padding: 0.55rem 0 !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-rank {
  align-items: center;
  background: #a7460d !important;
  border-radius: 999px;
  box-shadow: 0 0 0 2px #fff, 0 2px 5px rgb(23 50 77 / 22%);
  color: #fff !important;
  display: grid !important;
  font-size: 0.75rem;
  font-weight: 800;
  height: 1.65rem;
  justify-items: center;
  left: -0.5rem;
  line-height: 1;
  margin: 0;
  position: absolute !important;
  top: -0.75rem;
  width: 1.65rem;
  z-index: 2;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-media {
  aspect-ratio: 16 / 9;
  background: #f3f7f8;
  border-radius: 8px;
  box-shadow: 0 2px 7px rgb(23 50 77 / 10%);
  height: auto;
  overflow: hidden;
  width: 4.5rem;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-media img {
  height: 100% !important;
  object-fit: contain !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-title {
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: initial !important;
  color: var(--hm-v5-heading) !important;
  display: block !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__body,
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-body {
  min-width: 0;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__title,
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-title {
  color: var(--hm-v5-heading) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-break: strict;
  line-height: 1.55 !important;
  overflow-wrap: normal;
  text-wrap: wrap;
  word-break: normal;
  word-break: auto-phrase;
}

/* Reuse the homepage calendar's proven article-card rhythm in footer discovery. */
#body_wrap.codex-harimap-v4 .hm-footer-section:is([data-hm-footer-type="new"], [data-hm-footer-type="popular"]) {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList,
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-list {
  gap: 0.625rem !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__item,
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-item {
  border: 0 !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__link,
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-link {
  background: #fff;
  border: 1px solid var(--hm-v5-line);
  border-radius: 9px;
  box-shadow: none;
  gap: 0.625rem;
  min-height: 6rem;
  padding: 0.5rem !important;
  width: 100% !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__link {
  grid-template-columns: 7.5rem minmax(0, 1fr);
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__thumb,
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-media {
  align-self: start;
  box-shadow: none;
  width: 7.5rem;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__body {
  align-self: start;
  padding-block: 0 !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-link {
  grid-template-columns: 7.5rem minmax(0, 1fr) !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-media {
  align-self: start;
  overflow: visible;
  position: relative;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-body {
  align-self: start;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-title {
  display: block !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-media img {
  border-radius: 8px;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .footer-cat-nav a {
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
  min-height: 44px;
  padding: 0.55rem 0.75rem !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .footer-cat-nav__grid {
  display: grid !important;
  gap: 0.75rem !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section .footer-public-links > ul {
  gap: 0.35rem 1rem !important;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

#body_wrap.codex-harimap-v4 .hm-footer-section .footer-cat-nav__grid > div > p,
#body_wrap.codex-harimap-v4 .hm-footer-section .footer-public-links > p {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="area"] li > a {
  display: inline-flex;
  font-size: 0.9375rem;
  line-height: 1.55;
  min-height: 44px;
  padding-block: 0.35rem;
}

#body_wrap.codex-harimap-v4 .l-footer__foot .l-footer__nav a {
  align-items: center;
  color: #405365;
  display: inline-flex;
  font-size: 0.875rem;
  line-height: 1.5;
  min-height: 44px;
  padding-block: 0.3rem;
}

#body_wrap.codex-harimap-v4 .l-footer__foot .copyright {
  font-size: 0.8125rem;
}

#body_wrap.codex-harimap-v4 .p-fixBtnWrap {
  bottom: calc(var(--hm-v5-anchor-safe) + max(0.65rem, env(safe-area-inset-bottom)));
  opacity: 0.9;
  transition: bottom 180ms ease;
}

@media (max-width: 959px) {
  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList.-type-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #body_wrap.codex-harimap-v4.single .l-mainContent,
  #body_wrap.codex-harimap-v4.single .l-mainContent__inner {
    width: 100%;
  }
}

@media (max-width: 767px) {
  #body_wrap.codex-harimap-v4 .l-footer__widgetArea .w-footer {
    row-gap: 1.5rem !important;
  }

  #body_wrap.codex-harimap-v4 .l-footer__widgetArea .w-footer__box:is(
    [data-hm-footer-type="popular"],
    [data-hm-footer-type="area"]
  ) {
    border-top: 1px solid var(--hm-v5-line);
    padding-top: 1.5rem !important;
  }
}

@media (min-width: 768px) {
  #body_wrap.codex-harimap-v4 .l-footer__widgetArea .w-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #body_wrap.codex-harimap-v4 .l-footer__widgetArea .w-footer__box[data-hm-footer-type="area"] {
    grid-column: 1 / -1;
  }

  #body_wrap.codex-harimap-v4 .hm-footer-section .footer-cat-nav__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 960px) {
  #body_wrap.codex-harimap-v4 .hm-footer-section .footer-cat-nav__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 599px) {
  :root {
    --hm-v5-text-measure: 100%;
    --hm-v5-media-measure: 100%;
  }

  #body_wrap.codex-harimap-v4 {
    font-size: 1rem;
  }

  #body_wrap.codex-harimap-v4 .l-content {
    padding-inline: clamp(0.75rem, 4vw, 1rem);
  }

  #body_wrap.codex-harimap-v4 .c-postTitle__ttl {
    font-size: clamp(1.22rem, 1rem + 1vw, 1.35rem);
    line-height: 1.45;
  }

  #body_wrap.codex-harimap-v4 .c-postTimes__modified {
    font-size: 0.75rem;
  }

  #body_wrap.codex-harimap-v4 .post_content {
    font-size: 1rem;
    line-height: 1.82;
  }

  #body_wrap.codex-harimap-v4 .post_content h2 {
    border-radius: 0;
    font-size: 1.2rem;
    line-height: 1.45;
    margin-block: 3.25rem 1.5rem;
    padding: 0.52rem 0.25rem 0.58rem 0.78rem;
  }

  #body_wrap.codex-harimap-v4 .post_content h3 {
    font-size: 1.08rem;
    margin-block: 2.25rem 1rem;
  }

  #body_wrap.codex-harimap-v4 .p-toc {
    margin-block: 2.5rem;
    padding: 0.9rem 1rem;
  }

  #body_wrap.codex-harimap-v4 .p-toc__link {
    font-size: 0.9375rem;
    min-height: 2.75rem;
  }

  #body_wrap.codex-harimap-v4 :where(.c-pageTitle, .c-ttl404) {
    font-size: 1.35rem;
  }

  #body_wrap.codex-harimap-v4 .p-termHead__desc {
    font-size: 0.9375rem;
    line-height: 1.78;
  }

  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList.-type-card {
    gap: 1.25rem;
    grid-template-columns: minmax(0, 1fr);
  }

  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList__title {
    font-size: 1rem;
    line-height: 1.55;
  }

  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList__excerpt {
    font-size: 0.875rem;
    line-height: 1.72;
  }

  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main :where(.p-postList__times, .c-postTimes) {
    font-size: 0.75rem;
  }

  #body_wrap.codex-harimap-v4.home .hm-cal-pick {
    min-height: 6rem;
  }

  #body_wrap.codex-harimap-v4.home .hm-cal-pick-body {
    font-size: 0.875rem;
    line-height: 1.55;
  }

  #body_wrap.codex-harimap-v4.single .l-articleBottom__section.-related .p-relatedPosts {
    grid-auto-columns: minmax(14.5rem, 82vw);
  }

  #body_wrap.codex-harimap-v4.single .hm-v5-related-controls span {
    margin-right: auto;
  }

  #body_wrap.codex-harimap-v4.single .hm-v5-calendar-disclosure {
    margin-inline: 0;
    width: 100%;
  }

  #body_wrap.codex-harimap-v4 .p-fixBtnWrap {
    right: 0.45rem;
    transform: scale(0.88);
    transform-origin: right bottom;
  }

  #body_wrap.codex-harimap-v4 .l-footer__widgetArea .w-footer {
    grid-template-columns: minmax(0, 1fr);
  }

  #body_wrap.codex-harimap-v4 .hm-footer-section {
    height: auto;
    padding: 0.875rem;
  }

  #body_wrap.codex-harimap-v4 .hm-footer-section__title {
    font-size: 1.125rem;
    margin-bottom: 0.75rem;
  }

  #body_wrap.codex-harimap-v4 .hm-footer-section .footer-cat-nav__grid,
  #body_wrap.codex-harimap-v4 .hm-footer-section .footer-public-links > ul {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__link,
  #body_wrap.codex-harimap-v4 .hm-footer-section .codex-swell-popular-link {
    min-height: 5.5rem;
  }
}

@media (max-width: 359px) {
  #body_wrap.codex-harimap-v4 .l-content {
    padding-inline: 0.75rem;
  }

  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList__body {
    padding: 0.8rem 0.875rem 0.9rem;
  }

  #body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__link,
  #body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-link {
    grid-template-columns: 5.5rem minmax(0, 1fr) !important;
  }

  #body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .p-postList__thumb,
  #body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="popular"] .codex-swell-popular-media {
    width: 5.5rem;
  }

}

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

/* Keep native list rows balanced and give the title column its full grid track. */
#body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList.-type-list .p-postList__body {
  justify-self: stretch;
  min-width: 0;
  width: 100% !important;
}

@media (max-width: 767px) {
  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList.-type-list .p-postList__thumb {
    align-self: start;
  }

  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList.-type-list .p-postList__meta {
    margin-top: 0;
  }

  #body_wrap.codex-harimap-v4:is(.archive, .search-results) main .p-postList.-type-list .p-postList__times {
    margin-top: 0 !important;
    padding-block: 0;
  }
}

.hm-next-read-v1{box-sizing:border-box;margin:2.5rem 0 1.25rem;padding:1.1rem 1rem 1rem;border:0;border-radius:14px;background:linear-gradient(160deg,#eef6f1 0%,#f5f9fc 100%);color:#17324d;box-shadow:0 1px 0 #dbe6ee inset}
.hm-next-read-v2__kicker{margin:0 0 .15rem!important;color:#2f7a41;font-size:.875rem!important;font-weight:800;letter-spacing:.14em}
.post_content .hm-next-read-v1 h2{margin:0 0 .8rem!important;padding:0!important;border:0!important;background:none!important;color:#17324d!important;font-size:1.25rem!important;line-height:1.4!important}
.post_content .hm-next-read-v1 h2::before,.post_content .hm-next-read-v1 h2::after{content:none!important}
.hm-next-read-v1 ul{display:grid;grid-template-columns:1fr;gap:10px;margin:0!important;padding:0!important;list-style:none!important}
.hm-next-read-v1 li{margin:0!important;padding:0!important;border:0!important}
.hm-next-read-v1 li::before{content:none!important}
.hm-next-read-v1 li a{display:grid;grid-template-columns:116px 1fr;gap:12px;align-items:center;min-height:44px;padding:8px;border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(23,50,77,.10);color:#17324d!important;text-decoration:none!important;transition:transform .15s ease,box-shadow .15s ease}
.hm-next-read-v1 li a:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(23,50,77,.14)}
.hm-next-read-v2__media{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:7px;background:#e3ece6}
.hm-next-read-v2__media img{display:block;width:100%;height:100%;object-fit:cover;margin:0!important}
.hm-next-read-v2__noimg{display:grid;place-items:center;height:100%;color:#2f7a41;font-weight:800}
.hm-next-read-v2__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.hm-next-read-v2__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-weight:700;font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}
.hm-next-read-v2__date{color:#64748b;font-size:.875rem}
.hm-next-read-v1__tag{align-self:flex-start;display:inline-block;padding:1px 8px;border-radius:999px;background:#2f7a41;color:#fff;font-size:.875rem;font-weight:700;line-height:1.6}
.hm-next-read-v1__more{margin:.8rem 0 0!important;text-align:center}
.hm-next-read-v1__more a{display:inline-block;padding:.6rem 1.2rem;border:2px solid #2f7a41;border-radius:999px;background:#fff;color:#2f7a41!important;font-weight:700;font-size:.92rem;text-decoration:none!important}
.hm-next-read-v1 a:focus-visible{outline:3px solid #28763c;outline-offset:2px}
@media (min-width:768px){.hm-next-read-v1{padding:1.4rem 1.4rem 1.2rem}.hm-next-read-v1 ul{grid-template-columns:1fr 1fr}}

@media (min-width: 960px) {
  #header .l-header__inner { align-items: center !important; min-height: 96px; }
  #header .l-header__logo { padding: 12px 0 !important; align-self: center; flex: 0 0 auto; min-width: 200px; margin-right: 16px !important; }
  #header .c-headLogo { height: auto !important; display: flex; align-items: center; }
  #header .c-headLogo__link { height: auto !important; display: flex; align-items: center; }
  #header .c-headLogo__img { max-height: 68px !important; width: auto !important; height: auto !important; }
  #header .l-header__gnav, #header .c-gnav { height: 96px !important; align-items: stretch; }
  #header .c-gnav > .menu-item > a { padding: 0 14px !important; justify-content: center; font-size: 15px; font-weight: 600; letter-spacing: .02em; color: #1f2937; }
  #header .c-gnav > .menu-item > a .ttl { font-size: 15px; color: inherit; }
  #header .c-gnav > .menu-item > a:hover, #header .c-gnav > .menu-item > a:focus-visible { color: #0f5e8c; }
  #header .c-gnav > .menu-item > a::after { left: 14px !important; right: 14px; width: auto !important; height: 3px !important; border-radius: 3px 3px 0 0; bottom: 0; }
  .l-header__bar .c-catchphrase { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 1 1 auto; }
}
@media (min-width: 960px) and (max-width: 1199px) {
  #header .l-header__inner { padding: 0 24px !important; }
  #header .l-header__logo { min-width: 170px; }
  #header .c-headLogo__img { max-height: 56px !important; }
  .l-header__bar .c-catchphrase { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.45; padding: 3px 0; text-wrap: balance; }
  #header .c-gnav > .menu-item > a { padding: 0 8px !important; font-size: 14px; }
  #header .c-gnav > .menu-item > a .ttl { font-size: 14px; }
  #header .c-gnav > .menu-item > a::after { left: 8px !important; right: 8px; }
}
@media (min-width: 960px) and (max-width: 1099px) {
  #header .l-header__logo { min-width: 0; margin-right: 8px !important; }
  #header .c-headLogo__img { max-height: 44px !important; }
  #header .c-gnav > .menu-item > a { padding: 0 7px !important; }
}


.hm-measurable-ad {
  box-sizing: border-box;
  clear: both;
  margin: clamp(1.5rem, 4vw, 2.5rem) auto;
  max-width: 100%;
  min-height: 140px;
  overflow: visible;
  padding: 0;
  width: 100%;
}
.hm-measurable-ad__label {
  color: #64748b;
  display: block;
  font-size: 0.6875rem;
  letter-spacing: .08em;
  line-height: 1.4;
  margin-bottom: .35rem;
  text-align: center;
}
.hm-measurable-ad ins.adsbygoogle {
  margin-inline: auto;
  max-width: 100%;
}
.hm-measurable-ad[data-ad-state="unfilled"] {
  display: none;
}
#body_wrap.codex-harimap-v4.home .hm-measurable-ad--home {
  margin-block: clamp(1rem, 3vw, 1.75rem);
  max-width: 72rem;
}
#body_wrap.codex-harimap-v4.category .hm-measurable-ad--category {
  grid-column: 1 / -1;
  list-style: none;
}
/* 2026-10-23 A/B hm-top-ad-lead-v1 の B：リード（.hm-lead）直後の本文内枠。外枠に overflow/contain/固定幅を付けない。 */
.post_content > .hm-measurable-ad--single {
  margin-block: 1rem 1.5rem;
}
@media (max-width: 599px) {
  .hm-measurable-ad {
    margin-block: 1.25rem;
    min-height: 280px;
  }
}

@media (max-width:959px){
  /* 新着記事（SWELL 新着記事ウィジェット＋エリアタブ） */
  #body_wrap #swell_new_posts-2 .p-postList.-type-list{display:flex!important;flex-wrap:nowrap!important;gap:12px;margin:0 -2px!important;padding:4px 2px 12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  #body_wrap #swell_new_posts-2 .p-postList__item{flex:0 0 68%!important;max-width:68%!important;margin:0!important;padding:0!important;scroll-snap-align:start;border:0!important}
  #body_wrap #swell_new_posts-2 .p-postList__link{display:flex!important;flex-direction:column!important;height:100%;padding:0!important;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 4px rgba(23,50,77,.12)}
  #body_wrap #swell_new_posts-2 .p-postList__thumb{width:100%!important;max-width:none!important;margin:0!important;aspect-ratio:16/9;flex:none!important}
  #body_wrap #swell_new_posts-2 .p-postList__thumb img{width:100%;height:100%;object-fit:cover}
  #body_wrap #swell_new_posts-2 .p-postList__body{padding:10px 12px 12px!important;width:auto!important}
  #body_wrap #swell_new_posts-2 .p-postList__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.9rem!important;line-height:1.5!important}
  /* 人気記事ランキング（月間・週間・本日タブ） */
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-list{display:flex!important;flex-wrap:nowrap!important;gap:12px;margin:0!important;padding:4px 2px 12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;list-style:none!important}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-item{flex:0 0 62%!important;max-width:62%!important;margin:0!important;padding:0!important;scroll-snap-align:start;border:0!important}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-link{position:relative;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;height:100%;padding:0!important;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 4px rgba(23,50,77,.12)}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-media{position:relative;display:block!important;width:100%!important;max-width:none!important;aspect-ratio:16/10;flex:none!important}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-media img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}
  /* 順位：画像に重ねるとアイキャッチが見にくいため、カード上部の帯に「1位」と出す（2026-10-09 本人「アイキャッチが見にくくなった」） */
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-link{padding-top:36px!important}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-media{position:static!important}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-item .codex-swell-popular-rank{position:absolute!important;top:7px!important;left:10px!important;right:auto!important;bottom:auto!important;z-index:3!important;display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;height:24px!important;min-width:0!important;margin:0!important;padding:0 10px!important;border:0!important;border-radius:999px!important;background:#a7460d!important;color:#fff!important;font-size:13px!important;font-weight:800!important;line-height:1!important;box-shadow:none!important;transform:none!important}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-item .codex-swell-popular-rank::after{content:"位";margin-left:1px;font-size:11px}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-item:nth-child(1) .codex-swell-popular-rank{background:#c8971a!important}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-item:nth-child(2) .codex-swell-popular-rank{background:#7d8a97!important}
  #body_wrap #custom_html-8 .codex-swell-popular-tabs .codex-swell-popular-item:nth-child(3) .codex-swell-popular-rank{background:#a5683a!important}
  #body_wrap .codex-swell-popular-body{display:block!important;padding:10px 12px 12px!important}
  #body_wrap .codex-swell-popular-title{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:.9rem;line-height:1.5}
  /* 重複をまとめる：スマホではサイドバーが記事の下に積まれ、フッターと同じ案内が2回出るため、サイドバー側の目的別ガイドと
     記事ページのフッター側の花ガイドを出さない（記事下の『咲く時期から』とフッターの目的別ガイドは残す）。広告・PRは対象外。 */
  #body_wrap #sidebar .reader-nav--sidebar{display:none!important}
  #body_wrap.single .hm-flower-promo--footer{display:none!important}
}
.hm-slider{position:relative}
.hm-slider__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px}
.hm-slider__hint{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:#fff4c2;color:#6b4e00;font-size:.72rem;font-weight:800}
.hm-slider__hint i{display:inline-block;font-style:normal;animation:hmSwipe 1.4s ease-in-out infinite}
.hm-slider__count{color:#475569;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}
.hm-slider__btn{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:40px;height:40px;margin-top:-6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.96);color:#17324d;font-size:22px;font-weight:700;line-height:1;box-shadow:0 2px 10px rgba(15,40,60,.28);cursor:pointer;transform:translateY(-50%);transition:opacity .2s}
.hm-slider__btn--prev{left:2px}
.hm-slider__btn--next{right:2px}
.hm-slider__btn[disabled]{opacity:0;pointer-events:none}
.hm-slider::after{content:"";position:absolute;top:30px;right:0;bottom:12px;width:28px;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.9));transition:opacity .2s}
.hm-slider.is-end::after{opacity:0}
.hm-today-strip .hm-slider::after{background:linear-gradient(90deg,rgba(29,98,67,0),rgba(29,98,67,.85))}
.hm-today-strip .hm-slider__hint{background:rgba(255,213,74,.95);color:#0f3a28}
.hm-today-strip .hm-slider__count{color:#dcefe3}
@keyframes hmSwipe{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media (prefers-reduced-motion:reduce){.hm-slider__hint i{animation:none}}
@media (min-width:960px){#swell_new_posts-2 .hm-slider__bar,#swell_new_posts-2 .hm-slider__btn,#custom_html-8 .hm-slider__bar,#custom_html-8 .hm-slider__btn{display:none!important}#swell_new_posts-2 .hm-slider::after,#custom_html-8 .hm-slider::after{display:none}}