
/* 花めぐり：季節の色と代表の花、今の季節を強調（トップと記事下で同じ見た目） */
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article){position:relative;overflow:hidden;padding:20px 16px 18px!important;border:1px solid #ecd9e0!important;border-left:0!important;border-radius:16px!important;background:radial-gradient(circle at 92% 8%,rgba(236,150,178,.28) 0 70px,transparent 71px),radial-gradient(circle at 78% -6%,rgba(255,214,102,.30) 0 46px,transparent 47px),linear-gradient(165deg,#fff4f7 0%,#f5fbf6 62%,#fffdf6 100%)!important;box-shadow:0 1px 3px rgba(25,59,50,.06)}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-kicker{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px #efd3dd;color:#9b3a5a!important;font-size:12px!important;letter-spacing:.08em}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:#e2799c}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) h2{margin:10px 0 8px!important;font-size:24px!important;line-height:1.45!important}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article)>p:not(.hm-flower-kicker){margin:0 0 16px!important;color:#3d5a50;font-size:14.5px;line-height:1.75}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article)>a{display:flex!important;justify-content:center;width:100%;min-height:48px;border-radius:12px!important;font-size:15.5px;box-shadow:0 2px 6px rgba(36,94,67,.22)}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;margin:16px 0 0!important}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a{position:relative;flex-direction:column;gap:2px;min-height:64px!important;padding:10px 4px 8px!important;border-radius:12px!important;border:1px solid var(--fl-line,#cfe0d6)!important;background:var(--fl-bg,#fff)!important;color:var(--fl-ink,#194b34)!important;font-size:14px;line-height:1.3;text-align:center;white-space:normal!important;min-width:0;overflow:visible}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a:not(:first-child)::after{content:attr(title);width:100%;white-space:normal;overflow-wrap:anywhere;word-break:keep-all;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:10.5px;font-weight:600;line-height:1.35;opacity:.8}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a:first-child{grid-column:1/-1;flex-direction:row;min-height:44px!important;padding:8px 12px!important;background:rgba(255,255,255,.75)!important;font-size:14px}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a:nth-child(2){--fl-bg:#fff0f4;--fl-line:#f2c4d3;--fl-ink:#8f2d50}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a:nth-child(3){--fl-bg:#eef6fd;--fl-line:#bfd8ef;--fl-ink:#1f4f7a}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a:nth-child(4){--fl-bg:#fff4e8;--fl-line:#f0cfa5;--fl-ink:#8a4510}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a:nth-child(5){--fl-bg:#f1f4f8;--fl-line:#cdd6e2;--fl-ink:#34465c}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a.is-now{border-width:2px!important;box-shadow:0 2px 8px rgba(0,0,0,.08)}
#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a.is-now::before{content:"いま見頃";position:absolute;top:-9px;left:50%;transform:translateX(-50%);padding:1px 7px;border-radius:999px;background:var(--fl-ink);color:#fff;font-size:10px;font-weight:800;line-height:1.5;white-space:nowrap}
@media (min-width:768px){#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article){padding:28px 28px 24px!important}#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article)>a{display:inline-flex!important;width:auto}#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav{grid-template-columns:1.4fr repeat(4,minmax(0,1fr))}#body_wrap .hm-flower-promo:is(.hm-flower-promo--home,.hm-flower-promo--article) .hm-flower-season-nav a:first-child{grid-column:auto;min-height:64px!important}}


/* 記事の枠 */
#body_wrap.single .l-mainContent__inner>.p-articleMetas.-top{margin-bottom:16px!important}
#body_wrap.single .l-mainContent__inner>.w-singleTop{margin-top:0!important;margin-bottom:24px!important}
#body_wrap.single .l-mainContent__inner>.p-articleThumb{margin-top:0!important;margin-bottom:24px!important}
#body_wrap.single .l-mainContent__inner>.post_content{margin-top:0!important;margin-bottom:0!important}
#body_wrap.single .l-mainContent__inner>:is(.w-singleBottom,.p-articleFoot){margin-bottom:0!important}
#body_wrap.single .l-mainContent__inner>.w-singleBottom{margin-top:40px!important}
#body_wrap.single .l-mainContent__inner>.p-articleFoot{margin-top:32px!important}
#body_wrap.single .l-mainContent__inner>#after_article{margin-top:32px!important}
/* 本文内の差し込み部品（本文は flex で上下の余白が足し算になるため、間は「前の要素の下余白」だけで 32px を作る） */
#body_wrap .post_content>:is(.hm-election-top-stack,.claude-holiday-strip,.hm-lead,.p-toc,.cr-prefsrc-top,.ms-cmp,.ms-check,.claude-holiday,.hm-election-slot,.hm-next-read-v1,.cr-prefsrc,.hm-flower-promo,.hm-traffic-alerts,.hm-rail-advisory){margin-top:0!important;margin-bottom:32px!important}
#body_wrap .post_content>*:not(:empty):has(+:is(.hm-election-top-stack,.claude-holiday-strip,.hm-lead,.p-toc,.cr-prefsrc-top,.ms-cmp,.ms-check,.claude-holiday,.hm-election-slot,.hm-next-read-v1,.cr-prefsrc,.hm-flower-promo,.hm-traffic-alerts,.hm-rail-advisory)){margin-bottom:32px!important}
#body_wrap .post_content>.hm-election-top-stack:has(+.claude-holiday-strip){margin-bottom:16px!important}
#body_wrap .post_content>:is(p:empty,.hm-live-slot:empty){margin:0!important}
#body_wrap .post_content>.hm-election-top-stack .hm-election-top{margin-bottom:0!important}
#body_wrap .post_content>:is(.hm-election-top-stack,.claude-holiday-strip,.hm-lead,.p-toc,.cr-prefsrc-top,.ms-cmp,.ms-check,.claude-holiday,.hm-election-slot,.hm-next-read-v1,.cr-prefsrc,.hm-flower-promo,.hm-traffic-alerts,.hm-rail-advisory):last-child{margin-bottom:0!important}
#after_article>.hm-flower-promo{margin-top:0!important;margin-bottom:24px!important}
/* カテゴリー：見出し→地域の切替→一覧の間を 16/24 に */
#body_wrap.archive .l-mainContent__inner>.p-termNavigation{margin-top:16px!important;margin-bottom:24px!important}
/* フッター：箱の間隔と見出しをそろえる */
#footer .w-footer__box{margin-bottom:24px!important}
#footer .w-footer__box:last-child{margin-bottom:0!important}
#footer .w-footer__box .c-widget__title{margin-bottom:12px!important}


#body_wrap.codex-harimap-v4.home #hm-event-calendar .hm-cal-grid > p {
  display: contents;
}


#body_wrap.codex-harimap-v4.home #hm-area-purpose .hm-guide-grid > p {
  display: contents;
}

#body_wrap.codex-harimap-v4.home #hm-area-purpose .hm-guide-support > br,
#body_wrap.codex-harimap-v4.home .hm-row-track > br {
  display: none;
}


/* codex-home-calendar-fold-progress-v1: the compact list replaces horizontal scrolling. */
#body_wrap.codex-harimap-v4 .hm-v5-calendar-more + .hm-scroll-progress {
  display: none !important;
}

#body_wrap.codex-harimap-v4 .hm-v5-calendar-more__close {
  appearance: none;
  background: #fff;
  border: 1px solid #b9d4c1;
  border-radius: 8px;
  color: #215e35;
  cursor: pointer;
  display: block;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 800;
  margin-top: 0.75rem;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
  text-align: center;
  width: 100%;
}

#body_wrap.codex-harimap-v4 .hm-v5-calendar-more__close:hover,
#body_wrap.codex-harimap-v4 .hm-v5-calendar-more__close:focus-visible {
  background: var(--hm-v5-soft);
}

#body_wrap.codex-harimap-v4 .hm-v5-calendar-more__close:focus-visible {
  outline: 3px solid rgba(33, 94, 53, 0.28);
  outline-offset: 2px;
}

#body_wrap.codex-harimap-v4 .hm-v5-calendar-more__close[hidden] {
  display: none;
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4.home #hm-area-purpose .hm-guide-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #body_wrap.codex-harimap-v4.home #hm-area-purpose .hm-guide-support {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4.home .footer-area-map__choices {
    column-gap: 6px;
    row-gap: 8px;
  }

  #body_wrap.codex-harimap-v4.home .footer-area-map__choice {
    line-height: 1.25;
    min-height: 44px;
    padding: 0.65rem 0.75rem;
  }
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4.home .hm-submit-cta {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr);
  }

  #body_wrap.codex-harimap-v4.home .hm-submit-cta > div:first-child {
    min-width: 0;
    width: 100%;
  }

  #body_wrap.codex-harimap-v4.home .hm-submit-cta .hm-submit-actions {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  #body_wrap.codex-harimap-v4.home .hm-submit-cta .hm-btn {
    min-height: 44px;
    width: 100%;
  }
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-style-root,
  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-block {
    margin-left: -8px !important;
    margin-right: -8px !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: auto !important;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events .hm-hero,
  #body_wrap.codex-harimap-v4.home .hm-front-events .hm-section {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}


#body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid > .hm-quick[href="#hm-area-purpose"] {
  display: none !important;
}

@media (min-width: 600px) {
  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4.home #hm-event-calendar .hm-cal-day > .hm-cal-more {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    left: auto !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    right: auto !important;
    top: auto !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid > .hm-quick {
    min-width: 0;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid > .hm-quick :where(strong, span) {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}


@media (max-width: 599px) {
  #body_wrap.codex-harimap-v4.home #content.l-content {
    padding-top: 20px !important;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-hero {
    border-color: #d5e3df;
    border-radius: 14px;
    box-shadow: 0 7px 22px rgb(23 50 77 / 7%);
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-title {
    font-size: 18px !important;
    letter-spacing: 0 !important;
    line-height: 1.42 !important;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-title-mobile-break {
    display: block !important;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid {
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid > .hm-quick {
    align-items: center;
    background: linear-gradient(90deg, #fff 0%, #f8faf9 100%);
    border: 1px solid #d7e0df;
    border-left: 4px solid #327a43;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgb(23 50 77 / 5%);
    display: grid !important;
    gap: 10px;
    grid-template-columns: 7.5rem minmax(0, 1fr) 1rem;
    min-height: 62px !important;
    padding: 9px 11px !important;
    text-align: left;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid > .hm-quick:nth-child(2) {
    border-left-color: #d9792b;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid > .hm-quick:nth-child(3) {
    border-left-color: #4f7895;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick-grid > .hm-quick::after {
    color: #6a7b88;
    content: "›";
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    text-align: right;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick strong {
    display: block;
    font-size: 14px !important;
    line-height: 1.35 !important;
    min-height: 0;
    text-align: left;
    white-space: nowrap;
  }

  #body_wrap.codex-harimap-v4.home .hm-front-events.hm-front-hero-block .hm-quick span {
    border-left: 1px solid #dce4e3;
    color: #596b7b;
    font-size: 11px !important;
    line-height: 1.45 !important;
    margin-top: 0 !important;
    padding-left: 10px;
    text-align: left;
  }
}
