
/* 白地と深緑を基調に、本文・操作・補足の順で読む。 */
#hmk{--hmk-ink:#243630;--hmk-sub:#52665e;--hmk-line:#dce7e1;--hmk-soft:#f3f7f4;--hmk-brand:#194c3d;--hmk-brand-2:#245f4c;font-size:16px;line-height:1.8;scroll-margin-top:90px}
#hmk .hmk-hero{padding:18px 22px;background:#194c3d;border-radius:16px 16px 0 0}
#hmk .hmk-hero::after{display:none}
#body_wrap #hmk .hmk-hero .hmk-hero__title{font-size:21px;line-height:1.5;letter-spacing:.02em}
#hmk .hmk-app{padding:22px;background:#fafcfb}
#hmk .hmk-stat{background:#ffffff20;font-size:13px}
#hmk .hmk-react{gap:8px}
#hmk .hmk-react__btn{min-height:80px;gap:4px;padding:10px 4px;border-width:1px;border-radius:12px;box-shadow:none;background:#fff}
#hmk .hmk-react__emoji{font-size:24px}
#hmk .hmk-react__label{font-size:13px;color:var(--hmk-sub)}
#hmk .hmk-react__btn[aria-pressed="true"]{background:#eaf5ee;border:2px solid #245f4c}
#hmk .hmk-react__btn[aria-pressed="true"] :is(.hmk-react__label,.hmk-react__count){color:#194c3d}
#hmk .hmk-proof{font-size:13px;line-height:1.7;margin-top:10px}
#hmk .hmk-block+.hmk-block{margin-top:24px}
/* ランキングは本文の番号付きリストと別。行カードを見出しと同じ幅に揃える。 */
#hmk .hmk-rank{padding-inline:0}
#hmk .hmk-rank__title{min-width:0;overflow-wrap:anywhere}
#body_wrap #hmk .hmk-h{gap:10px;font-size:18px;line-height:1.6;margin-bottom:14px}
#hmk .hmk-h__count{display:inline-flex;justify-content:center;min-width:28px;padding:0 7px;border-radius:8px;background:#e6f0e9;color:#194c3d;font-size:15px}
#hmk .hmk-h__count:empty{display:none}
#hmk .hmk-tabs{gap:2px;padding:3px;border:1px solid var(--hmk-line);border-radius:10px;background:#edf2ee}
#hmk .hmk-tab{min-height:44px;padding:8px 14px;border-radius:7px;color:#52665e;font-size:14px}
#hmk .hmk-tab[aria-pressed="true"]{background:#fff;color:#194c3d;box-shadow:0 1px 3px #194c3d1a;font-weight:800;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
/* 投稿の入口。動く説明は補足に留め、押す箇所を明確にする。 */
#hmk .hmk-compose{border:1px solid #7e9c8c;border-radius:12px;background:#fff;box-shadow:none}
#hmk .hmk-compose__fakes{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;padding:12px}
#hmk .hmk-compose__fake{justify-content:center;gap:10px;min-height:52px;padding:12px 16px;border-radius:8px;background:#194c3d;color:#fff}
#hmk .hmk-compose__fake .hmk-av{display:none}
#hmk .hmk-compose__fake-text{flex:0 1 auto;min-width:0;white-space:normal;font-size:0;line-height:0}
#hmk .hmk-compose__fake-text::before{content:"コメントを書く";display:block;margin:0;color:#fff;font-size:16px;line-height:1.5;font-weight:700;white-space:nowrap}
#hmk .hmk-compose__fake::after{content:"›";flex:none;padding:0;background:none;color:#fff;font-size:22px;line-height:1;font-weight:600;box-shadow:none}
#hmk .hmk-compose__fake-photo{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;width:auto;height:auto;min-width:90px;min-height:52px;margin:0;padding:10px 12px;border:1px solid #9cb2a5;border-radius:8px;background:#f3f7f4;font-size:18px;line-height:1.2}
#hmk .hmk-compose__fake-photo::after{content:"写真";display:block;flex:none;color:#194c3d;font-size:14px;line-height:1.5;font-weight:700}
#hmk .hmk-compose.is-open{border-color:#245f4c;box-shadow:0 0 0 2px #e0ece4}
#hmk .hmk-compose__form{padding:18px}
#hmk .hmk-field-label{display:block;margin:14px 0 6px;font-size:14px;line-height:1.6;font-weight:700;color:#243630}
#hmk .hmk-field{min-width:0}
#hmk .hmk-compose__row{gap:12px;margin-top:0}
#hmk .hmk-compose :is(textarea,input[type="text"],select){min-height:48px;max-width:100%;padding:10px 12px;border:1px solid #7e9387;border-radius:8px;font-size:16px;line-height:1.7;background:#fff;color:#243630}
#body_wrap #hmk .hmk-compose textarea{min-height:128px;resize:vertical}
#hmk .hmk-compose :is(textarea,input)::placeholder{color:#66796f;opacity:1}
#hmk .hmk-compose__foot{flex-wrap:wrap;gap:10px;margin-top:16px}
#hmk .hmk-counter{font-size:13px;line-height:1.8}
#hmk .hmk-compose__form:has(textarea:placeholder-shown):has(.hmk-thumbs:empty) .hmk-counter::before{content:"2文字から投稿できます";display:block;color:#52665e;font-size:13px;font-weight:400}
#hmk .hmk-btn{min-height:48px;border-radius:8px;background:#194c3d;color:#fff!important;box-shadow:none}
#hmk .hmk-compose__foot .hmk-btn:not([disabled]){box-shadow:none}
#hmk .hmk-btn[disabled]{background:#e5ebe7;color:#52665e!important;opacity:1;cursor:not-allowed}
#hmk .hmk-btn--ghost{border:1px solid #7e9c8c;background:#fff;color:#194c3d!important}
#hmk .hmk-compose__rule{margin-top:14px;font-size:13px;line-height:1.8}
#hmk .hmk-compose__rule a{color:#245f4c;text-decoration:underline;text-underline-offset:3px}
#hmk :is(.hmk-tag,.hmk-quick__chip,.hmk-photo-btn){min-height:44px;font-size:14px}
/* 1投稿ずつ区切る。日時とバッジは本文より控えめに。 */
#hmk .hmk-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}
#hmk .hmk-list>.hmk-c{margin:0;padding:20px;border:1px solid var(--hmk-line);border-radius:12px;background:#fff}
#hmk .hmk-list>.hmk-c.is-best{border-color:#c9ac52;border-left:4px solid #b79537;background:#fffdf5}
#hmk .hmk-c__row{gap:12px}
#hmk .hmk-av{width:36px;height:36px;font-size:15px}
#hmk .hmk-c__head{gap:5px 7px;line-height:1.6;overflow-wrap:anywhere}
#hmk .hmk-c__name{font-size:15px;color:#243630;overflow-wrap:anywhere}
#hmk .hmk-c__time{flex-basis:100%;font-size:13px;color:#52665e}
#hmk .hmk-badge{padding:1px 7px;font-size:12px;line-height:1.7}
#hmk .hmk-badge--rank{border-color:#e0d7bb;background:#f7f3e7!important;color:#695223!important;font-weight:600}
#body_wrap #hmk .hmk-c__body{margin:12px 0 0;font-size:16px;line-height:1.9;overflow-wrap:anywhere;word-break:normal;line-break:strict;color:#243630}
#hmk .hmk-c__acts{gap:6px;margin-top:14px;padding-top:10px;border-top:1px solid #edf2ee}
#hmk :is(.hmk-chip,.hmk-link,.hmk-more){min-height:44px;font-size:14px;line-height:1.5}
#hmk .hmk-chip{gap:4px;padding:7px 10px;border:1px solid var(--hmk-line);border-radius:8px;background:#f8faf8;color:#425c4f}
#hmk .hmk-chip[aria-pressed="true"]{background:#e5f2e9;border-color:#245f4c;color:#194c3d;box-shadow:inset 0 -2px #245f4c}
#hmk .hmk-link{padding:8px;color:#425c4f}
#hmk .hmk-link--report{color:#52665e;opacity:1;font-size:13px}
#hmk .hmk-more{padding:8px 0;color:#194c3d;text-decoration:underline;text-underline-offset:4px}
#hmk .hmk-replies{margin:16px 0 0;padding:0 0 0 14px;border-left:3px solid #8bac9a}
#hmk .hmk-replies .hmk-c{margin:0;padding:14px 0;border-bottom:1px solid var(--hmk-line);background:none}
#hmk .hmk-replies .hmk-c:last-child{border-bottom:0}
#hmk .hmk-replies .hmk-c__body{font-size:16px}
#hmk .hmk-replyto{gap:8px;padding:10px 12px;background:#eaf3ed;font-size:14px;overflow-wrap:anywhere}
#hmk .hmk-replyto button{min-height:44px;flex:none;padding:8px}
#hmk .hmk-empty{padding:22px 16px;border:1px solid var(--hmk-line);border-radius:12px;background:#fff;font-size:14px;line-height:1.8}
#hmk .hmk-empty__big{margin-bottom:8px;font-size:26px}
#hmk .hmk-mine{border-color:var(--hmk-line);background:#f3f7f4}
#body_wrap #hmk :focus-visible{outline:3px solid #176b54!important;outline-offset:3px!important;box-shadow:none}
#body_wrap #hmk .hmk-compose :is(textarea,input,select):focus-visible{outline-offset:2px!important}
@media(hover:hover){#hmk .hmk-compose__fake:hover{background:#245f4c}#hmk .hmk-compose__fake-photo:hover{background:#e8f1eb}#hmk :is(.hmk-chip,.hmk-tab,.hmk-link):hover{background:#e8f1eb;color:#194c3d}}
@media(max-width:600px){
 #hmk .hmk-hero{padding:16px}#body_wrap #hmk .hmk-hero .hmk-hero__title{font-size:20px}#hmk .hmk-app{padding:16px 12px}
 #hmk .hmk-rank__link{grid-template-columns:20px auto minmax(0,1fr);column-gap:8px;padding-inline:8px}
 #hmk .hmk-rank__img{width:48px;height:48px}
 #hmk .hmk-react{gap:6px}#hmk .hmk-react__btn{min-height:78px;padding:8px 2px}#hmk .hmk-react__label{font-size:12px}
 #hmk .hmk-h:has(.hmk-tabs){gap:10px;font-size:18px}#hmk .hmk-tabs{display:flex;flex-basis:100%;margin-left:0}#hmk .hmk-tab{flex:1;padding:8px 6px}
 #hmk .hmk-compose__fakes{gap:8px;padding:10px}#hmk .hmk-compose__fake{gap:8px;padding:12px 8px}#hmk .hmk-compose__fake-text::before{font-size:15px}#hmk .hmk-compose__fake-photo{min-width:80px;padding:10px}
 #hmk .hmk-compose__form{padding:14px 12px}#hmk .hmk-compose__row{grid-template-columns:minmax(0,1fr)}
 #hmk .hmk-compose__foot .hmk-btn{flex:1;min-width:110px}#hmk .hmk-list>.hmk-c{padding:16px 12px}
 #hmk .hmk-c__row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 8px;align-items:start}
 #hmk .hmk-c__row>.hmk-av{grid-column:1;grid-row:1;width:30px;height:30px;font-size:13px}
 #hmk .hmk-c__main{display:contents}#hmk .hmk-c__head{grid-column:2}
 #hmk .hmk-c__main>:not(.hmk-c__head){grid-column:1/-1;min-width:0}
 #hmk .hmk-c__body{margin-top:12px;font-size:16px;line-height:1.9}
 #hmk .hmk-c__acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 #hmk .hmk-chip{justify-content:center;padding:7px 3px;font-size:13px}#hmk .hmk-chip__label{display:inline}
 #hmk .hmk-c__acts>.hmk-link:not(.hmk-link--report){grid-column:1/3;text-align:left}#hmk .hmk-link--report{margin-left:0;text-align:right}
 #hmk .hmk-replies{padding-left:10px}#hmk .hmk-replies .hmk-c__acts{gap:4px}
}
@media(max-width:360px){#hmk .hmk-c__acts>.hmk-chip{flex-direction:column;gap:3px;min-height:64px;padding:8px 2px;line-height:1.3}#hmk .hmk-chip__label{font-size:12px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){#hmk *,#hmk *::before,#hmk *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* はりまっぷ：全ページに出る説明文を隠す（2026-10-26本人「全サイト全ページ全パーツから無駄な文言を徹底的に排除」「悩むなら排除」）。
   ヘッダーのキャッチコピー（サイトの説明文59字。検索用のサイト説明は残る）。
   配布：tools/sitewide_css.py --site harimap --css assets/harimap/trim_text.css --name "Claude: trim boilerplate text" --style-id claude-trim-text-v1 --all-pages
   戻す時は同じ指定に --deactivate。 */
.c-catchphrase{display:none!important}

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


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