@media (max-width: 896px) {
  body.wp-child-theme-cat-so01_child #header .header__inner {
    min-height: 60px;
    align-items: center;
  }

  body.wp-child-theme-cat-so01_child #navHam.sp {
    display: block !important;
    position: static !important;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    margin-left: auto;
  }

  body.wp-child-theme-cat-so01_child #navHam nav {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: -340px !important;
    bottom: 0 !important;
    width: 320px !important;
    max-width: 86vw !important;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0 !important;
    z-index: 10000;
    transition: left .35s ease, opacity .35s ease;
  }

  body.wp-child-theme-cat-so01_child #navHam.open nav {
    left: 0 !important;
    opacity: 1 !important;
  }

  body.wp-child-theme-cat-so01_child #navHam nav .inner,
  body.wp-child-theme-cat-so01_child #navHam nav .inner ul,
  body.wp-child-theme-cat-so01_child #navHam nav .inner ul li {
    width: 100% !important;
    text-align: left !important;
  }

  body.wp-child-theme-cat-so01_child #navHam nav .inner ul li a {
    display: flex !important;
    width: 100% !important;
    min-height: 44px;
    align-items: center;
    justify-content: flex-start;
    padding: 14px 38px 14px 24px !important;
    text-align: left !important;
    line-break: strict;
    word-break: keep-all;
    overflow-wrap: normal;
    white-space: normal;
  }

  body.wp-child-theme-cat-so01_child #navHam nav .inner ul li.menu-item-has-children > a::after {
    right: 16px;
  }

  body.wp-child-theme-cat-so01_child #navHam .toggle_btn {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 30px;
    height: 30px;
    margin: 7px auto;
    z-index: 10001;
  }

  body.wp-child-theme-cat-so01_child #navHam .toggle_btn:focus-visible {
    outline: 3px solid rgba(242,129,29,.85);
    outline-offset: 4px;
  }

  body.wp-child-theme-cat-so01_child #navHam #mask {
    display: none;
  }

  body.wp-child-theme-cat-so01_child #navHam.open #mask {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.72);
    z-index: 9999;
  }
}

@media (max-width: 767px) {
  body.wp-child-theme-cat-so01_child #navHam nav {
    left: -340px !important;
    width: 320px !important;
    max-width: 86vw !important;
  }

  body.wp-child-theme-cat-so01_child #navHam.open nav {
    left: 0 !important;
  }
}

@media (max-width: 640px) {
  body.wp-child-theme-cat-so01_child :is(h1,h2,h3,.umj-hero-brand__catch,.umj-keymsg__text,.flashintel-hero-title,.cta_title,.yw-archive-title) {
    line-break: strict;
    word-break: keep-all;
    overflow-wrap: normal;
    text-wrap: balance;
  }

  body.wp-child-theme-cat-so01_child :is(p,li,a,button,.umj-hero-brand__lead,.flashintel-hero-lead,.umj-service-banner__desc,.umj-lab-feature__desc) {
    line-break: strict;
    overflow-wrap: normal;
  }

  body.wp-child-theme-cat-so01_child .umj-hero__sub {
    white-space: nowrap;
    font-size: 12px;
    letter-spacing: .14em;
  }

  body.wp-child-theme-cat-so01_child .umj-keymsg__text {
    letter-spacing: .08em;
  }

  body.wp-child-theme-cat-so01_child .hero-product-buttons a {
    width: min(100%, 320px);
    padding: 18px 22px;
    font-size: clamp(13px, 3.55vw, 15px);
    white-space: nowrap;
  }

  body.wp-child-theme-cat-so01_child .flashintel-hero-title {
    font-size: clamp(26px, 7.2vw, 30px);
  }

  body.wp-child-theme-cat-so01_child .flashintel-hero-lead {
    text-wrap: balance;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.wp-child-theme-cat-so01_child #navHam nav,
  body.wp-child-theme-cat-so01_child #navHam .toggle_btn,
  body.wp-child-theme-cat-so01_child #navHam #mask {
    transition-duration: .001ms !important;
  }
}
