/* Komeoroshi Quality Guard 1.0.9 */
body:not(.wp-admin) .kma-page {
  max-width: 100% !important;
  overflow: visible !important;
  overflow-x: clip !important;
}

html body:not(.wp-admin) #body_wrap.page-id-976 #header.l-header,
html body:not(.wp-admin) #body_wrap.page-id-976 #footer.l-footer,
html body:not(.wp-admin) #body_wrap.page-id-19 #header.l-header,
html body:not(.wp-admin) #body_wrap.page-id-19 #footer.l-footer,
html body:not(.wp-admin) #body_wrap.page-id-20 #header.l-header,
html body:not(.wp-admin) #body_wrap.page-id-20 #footer.l-footer {
  display: block !important;
}

html body:not(.wp-admin) #body_wrap:is(.page-id-976, .page-id-19, .page-id-20) #header.l-header .l-header__spNav {
  display: none !important;
}

.komeoroshi-qg-menu-trigger {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: calc(82px + env(safe-area-inset-bottom));
  z-index: 10010;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 48px;
  padding: 10px 16px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #0d503d;
  box-shadow: 0 10px 28px rgba(5, 35, 29, .3);
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: opacity .18s ease, transform .18s ease;
}

.komeoroshi-qg-menu-slot {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: 8px max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));
  border-bottom: 1px solid rgba(13, 80, 61, .16);
  background: inherit;
}

.komeoroshi-qg-menu-slot[hidden] {
  display: none !important;
}

.komeoroshi-qg-menu-slot .komeoroshi-qg-menu-trigger {
  position: static;
  right: auto;
  bottom: auto;
  min-width: 88px;
  min-height: 44px;
  padding: 9px 15px;
  box-shadow: 0 5px 16px rgba(5, 35, 29, .18);
}

.komeoroshi-qg-menu-trigger:hover,
.komeoroshi-qg-menu-trigger:focus-visible {
  background: #073f31;
  outline: 3px solid #d8bb73;
  outline-offset: 3px;
  transform: translateY(-1px);
}

html[data-spmenu="opened"] .komeoroshi-qg-menu-trigger {
  opacity: 0;
  pointer-events: none;
}

.komeoroshi-qg-required-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin: 0 8px 4px 0;
  padding: 2px 7px;
  border-radius: 4px;
  background: #a82424;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}

.wpcf7-form-control[role="group"] {
  min-width: 0;
  max-width: 100%;
}

.wpcf7-form-control[role="group"] .wpcf7-list-item,
.wpcf7-form-control[role="group"] label,
.wpcf7-acceptance .wpcf7-list-item,
.wpcf7-acceptance label {
  min-width: 0;
  max-width: 100%;
}

.wpcf7-acceptance .wpcf7-list-item-label {
  overflow-wrap: anywhere;
}

@media (max-width: 370px) {
  .wpcf7-form-control[role="group"],
  .wpcf7-acceptance {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (min-width: 960px) {
  .komeoroshi-qg-menu-slot,
  .komeoroshi-qg-menu-trigger {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  html[data-spmenu="opened"] body:not(.wp-admin) .ma2-site-header {
    z-index: 0 !important;
  }
}

@media (max-width: 959px) {
  html body:not(.wp-admin) #sp_menu.p-spMenu {
    display: block !important;
  }

  html body:not(.wp-admin) #body_wrap:is(.page-id-16, .page-id-17, .page-id-18, .page-id-22) :is(#content, #main_content, .l-mainContent__inner) {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }

  html body:not(.wp-admin) .kmse-nav::before {
    display: none !important;
    content: none !important;
  }
}

@media (max-height: 520px) and (max-width: 959px) {
  .komeoroshi-qg-menu-trigger {
    bottom: calc(14px + env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  .komeoroshi-qg-menu-trigger {
    transition: none;
  }
}

@media (forced-colors: active) {
  .komeoroshi-qg-required-badge,
  .komeoroshi-qg-menu-trigger {
    border: 1px solid currentColor;
  }
}
