
/* 記事の枠 */
#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;
  }
}
