
#body_wrap:is(.archive, .search-results) main .p-postListTabBody > .p-postList,
#body_wrap:is(.archive, .search-results) main .p-postList.-type-card {
  align-items: stretch;
  display: grid !important;
  gap: 1rem !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

#body_wrap:is(.archive, .search-results) main .p-postListTabBody > .p-postList > .p-postList__item,
#body_wrap:is(.archive, .search-results) main .p-postList.-type-card > .p-postList__item {
  background: #fff !important;
  border: 1px solid var(--hm-v5-line, #dbe4ee) !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 14px rgb(23 50 77 / 6%) !important;
  display: block !important;
  height: auto !important;
  min-width: 0;
  overflow: hidden !important;
}

#body_wrap:is(.archive, .search-results) main .p-postListTabBody > .p-postList > :not(.p-postList__item),
#body_wrap:is(.archive, .search-results) main .p-postList.-type-card > :not(.p-postList__item) {
  grid-column: 1 / -1;
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__link {
  align-items: stretch;
  display: grid !important;
  gap: 0;
  grid-template-columns: minmax(9.5rem, 38%) minmax(0, 1fr);
  height: 100% !important;
  min-height: 9.25rem;
  padding: 0 !important;
  position: relative;
  text-decoration: none;
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__thumb {
  align-self: stretch;
  aspect-ratio: auto;
  border-radius: 0;
  height: 100% !important;
  min-height: 9.25rem;
  overflow: hidden;
  width: 100% !important;
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__thumb :where(figure, img) {
  display: block;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  width: 100% !important;
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__body {
  align-self: stretch;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: .9rem !important;
  position: static !important;
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  font-size: .98rem !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  overflow: hidden;
  overflow-wrap: anywhere;
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__excerpt {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #64748b;
  display: -webkit-box !important;
  font-size: .78rem;
  line-height: 1.6;
  margin-top: .45rem;
  overflow: hidden;
}

#body_wrap:is(.archive, .search-results) main .p-postList :where(.p-postList__meta, .p-postList__times, .c-postTimes) {
  font-size: .72rem !important;
  line-height: 1.35 !important;
  margin-top: .5rem !important;
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__body > .hm-v5-lifecycle-badge {
  font-size: .68rem;
  left: .45rem;
  margin: 0 !important;
  min-height: 1.45rem;
  padding: .15rem .5rem;
  position: absolute;
  top: .45rem;
  z-index: 3;
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__link:hover .p-postList__title,
#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__link:focus-visible .p-postList__title {
  color: var(--color_main, #176036);
}

#body_wrap:is(.archive, .search-results) main .p-postList .p-postList__link:focus-visible {
  outline: 3px solid rgb(25 116 58 / 28%);
  outline-offset: -3px;
}

@media (max-width: 1199px) {
  #body_wrap:is(.archive, .search-results) main .p-postListTabBody > .p-postList,
  #body_wrap:is(.archive, .search-results) main .p-postList.-type-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 1199px) {
  #body_wrap:is(.archive, .search-results) main .p-postListTabBody > .p-postList,
  #body_wrap:is(.archive, .search-results) main .p-postList.-type-card {
    gap: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postListTabBody > .p-postList > .p-postList__item,
  #body_wrap:is(.archive, .search-results) main .p-postList.-type-card > .p-postList__item {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--hm-v5-line, #dbe4ee) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postListTabBody > .p-postList > .p-postList__item:first-child,
  #body_wrap:is(.archive, .search-results) main .p-postList.-type-card > .p-postList__item:first-child {
    border-top: 1px solid var(--hm-v5-line, #dbe4ee) !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postList .p-postList__link {
    align-items: center;
    column-gap: .75rem;
    grid-template-columns: 6rem minmax(0, 1fr);
    min-height: 0;
    padding: .7rem 0 !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postList .p-postList__thumb {
    align-self: center;
    border-radius: 6px;
    height: 3.375rem !important;
    min-height: 0;
    width: 6rem !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postList .c-postThumb__cat {
    display: none !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postList .p-postList__body {
    min-height: 3.375rem;
    padding: 0 !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postList .p-postList__title {
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    font-size: .875rem !important;
    line-height: 1.45 !important;
    overflow: hidden !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postList .p-postList__excerpt {
    display: none !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postList :where(.p-postList__meta, .p-postList__times, .c-postTimes) {
    font-size: .7rem !important;
    line-height: 1.3 !important;
    margin-top: .25rem !important;
  }

  #body_wrap:is(.archive, .search-results) main .p-postList .p-postList__body > .hm-v5-lifecycle-badge {
    display: none !important;
  }
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4 :where(
    .hm-measurable-ad,
    .codex-hm-ad-reserve,
    .codex-hm-article-ad
  ) {
    overflow: visible !important;
  }

  #body_wrap.codex-harimap-v4 :where(
    .hm-measurable-ad,
    .codex-hm-article-ad,
    .post_content
  ) ins.adsbygoogle,
  #body_wrap.codex-harimap-v4 :where(
    .hm-measurable-ad,
    .codex-hm-article-ad,
    .post_content
  ) ins.adsbygoogle :is(div[id^="aswift_"], iframe[id^="aswift_"]) {
    max-width: none !important;
    width: 100vw !important;
  }

  #body_wrap.codex-harimap-v4.home #hm-event-calendar .hm-section:has(#hm-measurable-ad-home) {
    overflow: visible !important;
  }
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4 .p-toc__list.is-style-index > li,
  #body_wrap.codex-harimap-v4 .p-toc__list.is-style-index .p-toc__childList > li {
    column-gap: .5em;
    display: grid;
    margin-left: 0;
    padding-left: 0;
    position: relative;
  }

  #body_wrap.codex-harimap-v4 .p-toc__list.is-style-index > li {
    grid-template-columns: 2.5ch minmax(0, 1fr);
    padding-left: .5rem;
  }

  #body_wrap.codex-harimap-v4 .p-toc__list.is-style-index .p-toc__childList > li {
    grid-template-columns: 4ch minmax(0, 1fr);
  }

  #body_wrap.codex-harimap-v4 .p-toc__list.is-style-index > li::before,
  #body_wrap.codex-harimap-v4 .p-toc__list.is-style-index .p-toc__childList > li::before {
    align-self: center;
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    position: static;
    right: auto;
    top: auto;
    transform: scale(.95);
    transform-origin: center;
  }

  #body_wrap.codex-harimap-v4 .p-toc__list.is-style-index li > .p-toc__link {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    width: 100%;
  }

  #body_wrap.codex-harimap-v4 .p-toc__list.is-style-index li > .p-toc__childList {
    grid-column: 2;
    grid-row: 2;
    margin: .1rem 0 .25rem;
    padding-left: 0;
    width: 100%;
  }
}


#body_wrap.codex-harimap-v4.single #content .p-articleHead.c-postTitle > .c-postTitle__ttl {
  box-sizing: border-box;
  width: 100%;
  max-width: min(100%, var(--hm-v5-text-measure, 46rem)) !important;
  min-width: 0;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-wrap: balance;
}


/* Readability floor 2026-10-07: legible small UI text and 32px minimum tap rows. */
@media (max-width: 959px) {
  body .p-breadcrumb__text, body .p-breadcrumb__text span { font-size: 12px !important; }
  body .p-articleMetas .c-categoryList__link { font-size: 12px !important; }
  body .p-pnLinks__title { font-size: 13px !important; line-height: 1.5 !important; }
  body .l-footer__nav a { font-size: 13px !important; }
}
body .reader-nav--footer li > a,
body .reader-nav--sidebar li > a,
body .l-footer__nav a { display: inline-flex !important; align-items: center; min-height: 32px; }

body .hm-hg-note, body .hm-hg-note a, body .hm-hg-lead, body .hm-hg-volume,
body .hm-footer-pr__caption, body .footer-area-map__source,
body .footer-area-map__panel h3 span { font-size: 12px !important; }


/* Top page legibility (excludes native-owned calendar and time-dependent cards). */
body .hm-hero .hm-eyebrow, body .hm-head .hm-eyebrow, body .hm-quick > span,
body .hm-guide-label { font-size: 12px !important; }
body .hm-guide-body > em, body .hm-guide-body > b,
body .hm-footer-pr__section-note, body .hm-footer-pr__intro-cta { font-size: 12.5px !important; }


/* Japanese headings: break lines between phrases (Chrome/Edge auto-phrase), not mid-word.
   Tripled #body_wrap so existing site design rules with !important do not cancel it. */
html #body_wrap#body_wrap#body_wrap :is(h1, .c-postTitle__ttl, .post_content h2, .post_content h3, .post_content h4,
  .p-postList__title, .p-pnLinks__title, .p-blogCard__title, .p-toc__list a, .c-widget__title, .l-articleBottom__title) {
  word-break: auto-phrase !important;
  overflow-wrap: break-word !important;
}
body .hm-basic-calendar-cta__sub { font-size: 12px !important; }


/* Undo phrase breaks on 2-line clamped list titles: they would hide more of the title. */
html #body_wrap#body_wrap#body_wrap#body_wrap .p-postList__title { word-break: normal !important; overflow-wrap: anywhere !important; }


/* Desktop: 12px breadcrumb/category labels; larger invisible hit area for header icon links (no layout change). */
@media (min-width: 960px) {
  body .p-breadcrumb__text, body .p-breadcrumb__text span, body .p-articleMetas .c-categoryList__link { font-size: 12px !important; }
}
body .c-iconList__link { position: relative; z-index: 2; }
body .c-iconList__link::after { content: ""; position: absolute; inset: -8px -6px; }
body .codex-preferred-source-widget p a { display: inline-block; padding: 5px 0; }


/* Sidebar PR block: stack heading above the buttons so the heading is not squeezed to ~1 char per line (seen at 800-1024px). */
body #sidebar .hm-footer-pr__head { flex-direction: column !important; align-items: stretch !important; gap: 10px; }
body #sidebar .hm-footer-pr__head > * { width: auto !important; max-width: none !important; flex: 0 0 auto !important; }


/* Reading-text floor 2026-10-09: captions, notes and mobile table text inside articles at 14px or more (raises only; body paragraphs are already 16px+). */
body .post_content figcaption, body .post_content figcaption a, body .post_content p small,
body .post_content p[style*="font-size:12px"], body .post_content p[style*="font-size:13px"],
body .post_content .codex-mobile-table-caption, body .post_content .codex-mobile-table-scroll-caption { font-size: 14px !important; line-height: 1.6; }
@media (max-width: 959px) {
  body .post_content .codex-mobile-table-cell-value, body .post_content .codex-mobile-table-wrap th, body .post_content .codex-mobile-table-wrap td { font-size: 14px !important; }
}
/* Harimap: hub body text 16px on mobile, hub notes and home lead readable. */
body .post_content .hm-hub-section > p { font-size: 16px !important; }
body .post_content .hm-hub-row-note { font-size: 14px !important; }
body .post_content p.hm-lead { font-size: 15px !important; }
body .post_content .hm-head > p.hm-sub { font-size: 14px !important; }

#body_wrap .codex-preferred-source-widget :is(p,a,span,small){font-size:14px !important}.p-breadcrumb .p-breadcrumb__text{font-size:14px !important}#body_wrap .p-postList :is(.c-postThumb__cat,.c-postTimes__posted,.c-postTimes__modified){font-size:14px !important}

#body_wrap .hm-latest-tabs{min-width:0}
#body_wrap .hm-latest-tabs__hint{font-size:.88rem;color:#526577;margin:0 0 .75rem;line-height:1.6}
#body_wrap .hm-latest-tabs__rail{position:relative;min-width:0;border-bottom:1px solid #d7e0df;background:linear-gradient(to left,#fff,transparent 25px)}
#body_wrap .hm-latest-tabs__tablist{display:flex;gap:.4rem;overflow-x:auto;overscroll-behavior-x:contain;padding:.2rem .15rem .65rem;scrollbar-width:thin;scroll-padding-inline:.25rem}
#body_wrap .hm-latest-tabs__tab{flex:0 0 auto;min-height:44px;padding:.5rem .9rem;border:1px solid #cbd8d4;border-radius:999px;background:#f4f8f6;color:#264b43;font-size:.9rem;font-weight:600;line-height:1.4;white-space:nowrap;cursor:pointer}
#body_wrap .hm-latest-tabs__tab[aria-selected="true"]{background:#04384c;color:#fff;border-color:#04384c;box-shadow:inset 0 -3px 0 #72bd9b}
#body_wrap .hm-latest-tabs__tab:focus-visible,#body_wrap .hm-latest-tabs__more:focus-visible,#body_wrap .hm-latest-tabs__panel:focus-visible{outline:3px solid #9a4d20;outline-offset:3px}
#body_wrap .hm-latest-tabs__scroll-hint{font-size:.75rem;color:#526577;margin:.35rem 0 .65rem;line-height:1.5}
#body_wrap .hm-latest-tabs__panel[hidden]{display:none!important}
#body_wrap .hm-latest-tabs__panel .p-postList{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0!important;padding:0!important}
#body_wrap .hm-latest-tabs__panel .p-postList__body{min-width:0;width:100%!important}
#body_wrap .hm-latest-tabs__date{display:block;color:#526577;font-size:.75rem;line-height:1.4;margin-bottom:.25rem}
#body_wrap .hm-latest-tabs__panel .p-postList__title{display:block}
#body_wrap .hm-latest-tabs__more{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;margin-top:.8rem;padding:.65rem .8rem;border:1px solid #cbd8d4;border-radius:8px;color:#04384c;background:#f4f8f6;font-size:.9rem;font-weight:600;text-decoration:none}
#body_wrap .hm-latest-tabs__empty{padding:1.5rem 0;color:#526577}
/* hm-footer-latest-layout-v2: override the theme's flex widths inside this grid. */
@media(max-width:600px){
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .hm-latest-tabs__panel .p-postList__link{grid-template-columns:6rem minmax(0,1fr)}
#body_wrap.codex-harimap-v4 .hm-footer-section[data-hm-footer-type="new"] .hm-latest-tabs__panel .p-postList__thumb{width:6rem}
}


  /* Labels placed on saturated guide-card colors need a stable foreground. */
  #body_wrap .hm-guide-card.is-featured .hm-guide-label {
    color:#fff!important;
  }
  #body_wrap .hm-guide-card:not(.is-featured) .hm-guide-label {
    color:#7c2d12!important;
  }
  /* Muted supporting copy: retain hierarchy while meeting normal-text contrast. */
  #body_wrap .hm-traffic-alert em,
  #body_wrap .hm-fr-head small,
  #body_wrap .hm-fr-body small,
  #body_wrap.single .hm-v5-calendar-summary small,
  #body_wrap.single :where(.c-postTimes__modified,.c-postTimes__posted),
  #body_wrap.single .post_content :where(figcaption,.wp-element-caption) {
    color:#475569!important;
    opacity:1!important;
  }
  #body_wrap .p-breadcrumb__text {
    color:#475569!important;
    opacity:1!important;
  }
  /* Text links remain recognizable without relying on color alone. */
  #body_wrap .p-termHead__desc a,
  #body_wrap.single .post_content :where(figcaption,.wp-element-caption) a,
  #body_wrap .codex-preferred-source-widget p > a {
    color:#0b63b6!important;
    text-decoration:underline!important;
    text-decoration-thickness:1px!important;
    text-underline-offset:2px!important;
  }
  /* Desktop header icons were 26x22 with effectively smaller safe spacing. */
  /* Date metadata is softened again by the design layer, so start darker. */
  #body_wrap.single :where(.c-postTimes__modified,.c-postTimes__posted) {
    color:#334155!important;
  }
  /* Inactive pagination used white on #dedede (1.34:1). */
  #body_wrap :where(.pagination,.c-pagination) .page-numbers {
    background:#475569!important;
    color:#fff!important;
  }
  @media (min-width:960px) {
    #body_wrap .l-header__bar .c-iconList .c-iconList__link {
      box-sizing:border-box!important;
      display:inline-flex!important;
      align-items:center!important;
      justify-content:center!important;
      min-width:28px!important;
      min-height:28px!important;
      padding:4px 7px!important;
    }
  }
