/* Theme connection layer: header, footer, title areas and content containers.
   No form fields, business copy, menu entries or interaction code are changed. */
.p-header-message { min-height: 32px; padding-block: 8px; }
.l-container { padding-bottom: 56px; }
.l-container:has(.hs-block--cta-panel),
.l-container:has(.hs-wm .closing) { padding-bottom: 0; }
.l-container:has(.p-cb) { padding-bottom: 0; }
.l-footer .p-footer-nav { padding-block: 44px; }

.c-archive-header.archive-header_top_margin { row-gap: 40px; margin-bottom: 48px; }
.c-archive-header .c-archive-header__content { height: 300px; }
.c-archive-header .c-archive-header__headline { font-size: 32px; }
.c-archive-header .c-archive-header-title-desc-content { gap: 24px; }
.c-archive-header .c-archive-header__desc { max-width: 820px; margin-inline: auto; }
.c-archive-news-tabs__item { max-width: 100%; min-width: 0; }
.c-archive-news-tabs__item .c-archive-news-tabs__link { white-space: normal; overflow-wrap: anywhere; }
.p-page .p-page-header { padding-top: 48px; }

body:not(.single-post) .b04b-wrap { padding-bottom: 48px; }
body:not(.single-post) .b04b-wrap .b04b-banner { border-radius: 0; box-shadow: none; padding: 32px; }
body:not(.single-post) .b04b-wrap a.b04b-btn { border-radius: 4px; }

@media (min-width: 992px) {
  .p-header-bar_top { height: 64px; }
  .p-header-bar { height: 54px; }
  .p-header-bar_top .p-header-logo img { max-height: 44px; width: auto; }
  .p-header-nav__list::after { height: 3px; }
}

@media (min-width: 768px) {
  .home .p-mv-height-type-2 { height: clamp(420px, 56vh, 520px); }
  .home .p-cb { margin-top: 64px; row-gap: 0; }
  .home .p-cb > .p-cb-item:not(:has(.hs-front__section)) { margin-block: 36px; }
  .home .p-cb > .p-cb-item:first-child { margin-top: 0; }
  .home .p-cb > .p-cb-item:has(.b04b-wrap) { margin-bottom: 0; }
}

@media (max-width: 767px) {
  .p-header-message { padding: 6px 16px; font-size: 11px; }
  .l-container { padding-bottom: 36px; }
  .l-footer .p-footer-nav { padding-block: 28px; }
  .c-archive-header .c-archive-header__content { height: 190px; }
  .c-archive-header .c-archive-header__headline { font-size: 26px; }
  .c-archive-header.archive-header_top_margin { row-gap: 28px; margin-bottom: 32px; }
  body:not(.single-post) .b04b-wrap .b04b-banner { padding: 28px 20px; }
  .home .p-cb { margin-top: 36px; row-gap: 0; }
  .home .p-cb > .p-cb-item:not(:has(.hs-front__section)) { margin-block: 28px; }
}
