/* gnav.css — TOP (index.php) と同一のグロナビスタイル。main00.css + 2025css/style.css から抽出 */
/* Global Navigation Menu */
nav.global {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 60px;
  background: rgba(0, 0, 0, .7);
  font-weight: 700;
}
nav.global .nav-container {
  position: relative;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
nav.global ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
nav.global ul.top-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 100px;
  width: 100%;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
}
nav.global ul.top-bar li {
  display: none;
}
nav.global ul.top-bar li.logo {
  display: inline-block;
  flex-grow: 1;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
}
nav.global ul.top-bar li.logo a {
  display: inline-block;
}
nav.global ul.top-bar li.logo img {
  vertical-align: middle;
}
nav.global .bottom-bar {
  overflow: hidden;
  height: 0;
}
nav.global .bottom-bar.active {
  height: auto;
}
nav.global ul.nav-list {
  display: block;
  width: 100vw;
  height: 100vh;
  background: #333;
          transition:         transform 300ms ease-out;
          transform: translateX(100vw);

  -webkit-transform: translateX(100vw);
      -ms-transform: translateX(100vw);
  -webkit-transition: -webkit-transform 300ms ease-out;
}
nav.global ul.nav-list.active {
          transform: translateX(0);

  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
}
nav.global ul.nav-list li {
  position: relative;
}
nav.global ul.nav-list li a {
  display: block;
  padding-left: 2em;
  border-bottom: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  line-height: 3;
          transition: opacity 100ms ease-out;

  -webkit-transition: opacity 100ms ease-out;
}
nav.global ul.nav-list li a:after {
  content: ">";
  display: inline-block;
  float: right;
  margin-right: 1em;
}
nav.global ul.nav-list li a:hover {
  background: #fff;
  opacity: .6;
}
nav.global .nav-mobile {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 52px;
  -webkit-transition: none;
  transition: none;
}
nav.global #nav-toggle {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 10px 0 0 0;
  text-align: center;
  cursor: pointer;
}
nav.global #nav-toggle p {
  position: relative;
  top: 10px;
  left: -5px;
  color: #333;
  font-size: 0.8125em;
}
nav.global #nav-toggle span,nav.global #nav-toggle span:before,nav.global #nav-toggle span:after {
  content: "";
  position: absolute;
  display: block;
  width: 35px;
  height: 3px;
  border-radius: 1px;
  background: #333;
  cursor: pointer;
          transition: all 300ms ease-in-out;

  -webkit-transition: all 300ms ease-in-out;
}
nav.global #nav-toggle span:before {
  top: -10px;
}
nav.global #nav-toggle span:after {
  bottom: -10px;
}
nav.global #nav-toggle.active span {
  background-color: transparent;
}
nav.global #nav-toggle.active span:before,nav.global #nav-toggle.active span:after {
  top: 0;
}
nav.global #nav-toggle.active span:before {
          transform: rotate(45deg);

  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
}
nav.global #nav-toggle.active span:after {
          transform: rotate(-45deg);

  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
}
@media only screen and (min-width: 769px) {
  nav.global {
    height: 90px;
  }
  nav.global .nav-mobile {
    display: none;
  }
  nav.global ul.top-bar {
    padding-right: 0;
    /* line-height: 50px; */
  }
  nav.global ul.top-bar li {
    display: inline-block;
    margin: 0 10px;
    font-size: 12px;
    line-height: 1;
  }
  nav.global ul.top-bar li a {
    color: #fff;
  }
  nav.global ul.top-bar li a:before {
    content: "▶";
    padding-right: 3px;
    color: #aaa;
    font-size: .5em;
  }
  nav.global ul.top-bar li a:hover {
    color: rgba(255, 255, 255, .5);
  }
  nav.global ul.top-bar li.logo {
    transform: translateY(14px);
    flex-grow: 1;

    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
  }
  nav.global ul.top-bar li.logo a {
    display: inline-block;
  }
  nav.global ul.top-bar li.logo img {
    vertical-align: middle;
  }
  nav.global ul.top-bar li.brand {
    max-width: 110px;
  }
  nav.global ul.top-bar li.brand a {
    display: inline-block;
  }
  nav.global ul.top-bar li.brand img {
    margin-top: -3px;
    vertical-align: middle;
  }
  nav.global ul.top-bar li.logo a:before,nav.global ul.top-bar li.brand a:before {
    content: "";
    padding: 0;
  }
  nav.global .bottom-bar {
    display: block;
    height: 28px;
    background: transparent;
  }
  nav.global ul.nav-list {
    position: static;
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display:         flex !important;
    float: right;
            align-items: center;
            justify-content: flex-end;
    /* padding: 0 1em; */
    width: 100%;
    height: 28px;
    background: none;
    font-size: .8725em;
            transition: none;
            transform: none;

    -webkit-align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: end;
    -ms-flex-align: center;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    -webkit-transform: none;
        -ms-transform: none;
    -webkit-transition: none;
  }
  nav.global ul.nav-list li {
    /* min-width: 12.5%; */
    width: fit-content;
    /* border-right: 1px dotted #333; */
    text-align: center;
    font-size: 12px;
  }
  nav.global ul.nav-list li a {
    padding: 0;
    border: none;
    color: #fff;
    line-height: 1;
  }
  nav.global ul.nav-list li a:after {
    content: "";
    margin: 0;
  }
  nav.global ul.nav-list {
    width: 740px;
    margin: -8px 5px 0 auto;
    gap: 20px;
    padding: 0;
    font-size: 12px;
    line-height: 1;
  }
}
@media only screen and (min-width: 992px) {
  nav.global {
    height: 90px;
  }
  nav.global .nav-container {
    width: 100%;
  }
  nav.global ul.top-bar {
    padding-left: 0;
    /* line-height: 50px; */
  }
  
}

nav.global {
  position: fixed;
  top: -7px;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 53px;
  background: transparent !important;
  font-weight: 700;
  -webkit-transition: none;
  transition: none;
}

@media screen and (min-width: 769px) {
  nav.global {
    height: 60px;
    padding: 4px 24px 0;
  }
  nav.global .bottom-bar {
    background: transparent !important;
    -webkit-transition: none;
    transition: none;
  }
}
@media screen and (min-width: 769px) {
  body.is-scrolled nav.global,
  header:hover nav.global {
    background: #fff !important;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
  }
}

@media screen and (max-width: 768px) {
  body.is-scrolled nav.global {
    background: rgba(255, 255, 255, 0.3) !important;
    -webkit-transition: background-color 0.25s ease;
    transition: background-color 0.25s ease;
  }
}
nav.global #nav-toggle p {
  position: relative;
  top: 10px;
  left: -5px;
  color: #333;
  font-size: 0.8125em;
}

nav.global .nav-mobile {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 52px;
  -webkit-transition: none;
  transition: none;
}
@media screen and (max-width: 768px) {
  nav.global .nav-mobile {
    background: rgba(255, 255, 255, 0.4) !important;
  }
}

body.is-scrolled nav.global .nav-mobile,
header:hover nav.global .nav-mobile {
  background: #fff !important;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}
@media screen and (max-width: 768px) {
  body.is-scrolled nav.global .nav-mobile,
  header:hover nav.global .nav-mobile {
    background: rgba(255, 255, 255, 0.4) !important;
  }
}

@media screen and (min-width: 769px) {
  body.is-scrolled nav.global ul.top-bar li a,
  header:hover nav.global ul.top-bar li a {
    color: #000 !important;
    font-weight: 400 !important;
  }
  body.is-scrolled nav.global ul.top-bar li a:hover,
  header:hover nav.global ul.top-bar li a:hover {
    color: rgba(0, 0, 0, 0.55) !important;
  }
  body.is-scrolled nav.global ul.top-bar li a:before,
  header:hover nav.global ul.top-bar li a:before {
    color: #666 !important;
  }
  body.is-scrolled nav.global ul.nav-list li a,
  header:hover nav.global ul.nav-list li a {
    color: #000 !important;
    font-weight: 400 !important;
  }
  body.is-scrolled nav.global ul.nav-list li a:hover,
  header:hover nav.global ul.nav-list li a:hover {
    color: rgba(0, 0, 0, 0.55) !important;
  }
  nav.global ul.top-bar li.logo img {
    width: 100px;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  nav.global ul.top-bar li.brand img {
    width: 100px;
    max-width: none !important;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
nav.global #nav-toggle span {
  background: #333;
}

/* scrollLock（SPメニュー開閉時） */
.scrollLock {
  overflow-y: hidden;
}

/* 下層ページ向け補正（旧 page style.css から移管） */

@media screen and (max-width: 768px) {
  nav.global ul.top-bar {
    align-items: stretch;
  }
  nav.global ul.top-bar li.logo {
    display: flex;
    align-items: center;
    align-self: stretch;
    height: 100%;
    line-height: 1;
  }
  nav.global ul.top-bar .logo a {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: calc(100% - 60px);
    height: 100%;
    gap: 8px;
  }
  nav.global ul.top-bar li.logo img {
    width: 79px !important;
    max-width: 79px !important;
    height: auto !important;
    flex-shrink: 0;
  }
  nav.global ul.top-bar li.brand img {
    width: 90px !important;
    height: auto !important;
  }
  nav.global #nav-toggle {
    top: 12px !important;
    left: 12px !important;
    padding: 10px 0 0 0 !important;
  }
  nav.global ul.nav-list li a {
    padding-left: 2em !important;
    border-bottom: 1px solid #fff !important;
    line-height: 3 !important;
    text-align: left !important;
    font-size: 16px !important;
  }
  nav.global ul.nav-list li a:after {
    margin-right: 1em !important;
  }
  nav.global .nav-container {
    padding: 0 !important;
    margin: 0 auto !important;
  }

  nav.global > .nav-container {
    height: 52px !important;
  }
  nav.global ul.top-bar {
    line-height: 1 !important;
    padding-left: 24px;
    height: 100% !important;
    align-items: stretch;
  }
}

header {
  max-width: 100%;
}

nav.global {
  max-width: 100%;
  box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  header {
    overflow-x: clip;
  }

  nav.global {
    overflow-x: clip;
  }
}

nav.global .nav-container,
nav.global .bottom-bar .nav-container {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  nav.global {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  nav.global ul.nav-list {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
}

nav.global ul.top-bar li.logo a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

nav.global ul.top-bar li.logo .logo-txt {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

@media screen and (min-width: 769px) {
  body.is-scrolled nav.global ul.top-bar li.logo .logo-txt,
  header:hover nav.global ul.top-bar li.logo .logo-txt {
    color: #000;
  }
}

@media screen and (min-width: 769px) {
  nav.global ul.top-bar {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    box-sizing: border-box !important;
  }

  nav.global ul.top-bar li.logo {
    -webkit-box-flex: 0 !important;
    -webkit-flex-grow: 0 !important;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin-right: auto !important;
    transform: translateY(14px);
  }

  nav.global ul.nav-list {
    width: auto !important;
    max-width: 100% !important;
    float: none !important;
    margin: -8px 0 0 auto !important;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap !important;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end !important;
  }

  nav.global .bottom-bar {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
}

@media screen and (max-width: 768px) {
  html.mjw-gnav header nav.global {
    overflow: visible !important;
    z-index: 1000 !important;
  }

  html.mjw-gnav nav.global:has(.bottom-bar.active) {
    height: auto !important;
    min-height: 53px;
  }

  nav.global .nav-container {
    position: relative;
    z-index: 2;
  }

  nav.global .nav-mobile {
    z-index: 10;
    cursor: pointer;
  }

  nav.global .bottom-bar {
    overflow: hidden;
    height: 0;
  }

  nav.global .bottom-bar.active {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: visible;
  }

  nav.global ul.nav-list {
    display: block !important;
    position: relative;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh;
    min-height: 100vh;
    min-height: 100dvh;
    background: #333;
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
    -webkit-transition: -webkit-transform 300ms ease-out;
    transition: transform 300ms ease-out;
  }

  nav.global ul.nav-list.active {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    min-height: 100vh;
    min-height: 100dvh;
  }

  /* index.php 同様: nav-list は bottom-bar 内でスライド（fixed にしない） */

  /* 旧 #spmenu は nav-mobile に統一 */
  #spmenu,
  #spmenu_wrap {
    display: none !important;
  }

  /* 旧ヘッダー（#head_area / #mjwood_navi）非表示 */
  #head_area,
  #mjwood_navi {
    display: none !important;
  }
}

/* 旧ページ CSS（process/common.css 等）による header 崩れを index.php 基準に上書き */
html.mjw-gnav header {
  box-sizing: border-box !important;
  background: transparent !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  overflow: visible !important;
  float: none !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

html.mjw-gnav header nav.global {
  position: fixed !important;
  top: -7px !important;
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  z-index: 1000 !important;
}

@media screen and (min-width: 769px) {
  html.mjw-gnav header nav.global {
    /* index.php（2025css）の padding: 4px 24px 0 に合わせる（横 padding は nav-container） */
    padding: 4px 0 0 !important;
    height: 60px !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  html.mjw-gnav header nav.global .nav-container,
  html.mjw-gnav header nav.global .bottom-bar .nav-container {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  html.mjw-gnav header nav.global ul.top-bar {
    align-items: center !important;
  }

  html.mjw-gnav header nav.global ul.top-bar li.logo {
    transform: translateY(14px) !important;
  }
}

@media screen and (max-width: 768px) {
  html.mjw-gnav header nav.global {
    overflow: visible !important;
  }

  html.mjw-gnav header nav.global > .nav-container {
    height: 52px !important;
    padding: 0 !important;
  }

  html.mjw-gnav header nav.global .bottom-bar .nav-container {
    height: auto !important;
    min-height: 0;
    overflow: visible !important;
    padding: 0 !important;
  }

  html.mjw-gnav header nav.global ul.top-bar {
    line-height: 1 !important;
    padding-left: 24px !important;
    padding-right: 100px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    height: 100% !important;
    align-items: stretch !important;
  }

  html.mjw-gnav header nav.global ul.top-bar li.logo {
    display: flex !important;
    align-items: center !important;
    align-self: stretch !important;
    height: 100% !important;
    line-height: 1 !important;
    transform: none !important;
    -webkit-box-flex: 1 !important;
    -webkit-flex-grow: 1 !important;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  html.mjw-gnav header nav.global ul.top-bar li.logo a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: calc(100% - 60px) !important;
    height: 100% !important;
  }

  html.mjw-gnav header nav.global ul.top-bar li.logo img {
    width: 79px !important;
    max-width: 79px !important;
    height: auto !important;
    flex-shrink: 0 !important;
  }

  html.mjw-gnav header nav.global ul.top-bar li.logo .logo-txt {
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  /* SP: スクロール後も logo-txt は白のまま */
  html.mjw-gnav body.is-scrolled header nav.global ul.top-bar li.logo .logo-txt,
  html.mjw-gnav header:hover nav.global ul.top-bar li.logo .logo-txt {
    color: #fff !important;
  }

  /* index.php 同様: ハンバーガーは nav-mobile 内に重ね配置 */
  html.mjw-gnav header nav.global .nav-mobile {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 60px !important;
    height: 52px !important;
  }

  html.mjw-gnav header nav.global #nav-toggle {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    width: auto !important;
    height: auto !important;
    padding: 10px 0 0 0 !important;
  }

  html.mjw-gnav header nav.global #nav-toggle span {
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
  }
}

html.mjw-gnav header nav.global .nav-container,
html.mjw-gnav header nav.global .bottom-bar .nav-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

html.mjw-gnav #wrap {
  overflow: visible !important;
}

@media screen and (max-width: 768px) {
  /* 旧 mjwood_base.css の min-width:1000px 等を打ち消し、top-bar と #mainarea の横幅を揃える */
  html.mjw-gnav body:not(.cat-syouhinlist) {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: hidden;
  }

  html.mjw-gnav #wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  html.mjw-gnav #mainarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* process 系（hosyou / maintenance 等）: #body_box / #home_mainarea */
  html.mjw-gnav #body_box {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html.mjw-gnav #home_mainarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* process/css/common.css の旧 header nav 指定を打ち消し（nav.global は別途 fixed） */
  html.mjw-gnav header nav:not(.global) {
    position: static !important;
    top: auto !important;
    right: auto !important;
    overflow: visible !important;
  }
}

/* 明るい背景ページ（premium_free / zehlccm 等）: TOP位置からヘッダーテキストを黒系に */
@media screen and (min-width: 769px) {
  body.header-dark-text nav.global ul.top-bar li a,
  body.header-dark-text nav.global ul.nav-list li a {
    color: #000 !important;
    font-weight: 400 !important;
  }

  body.header-dark-text nav.global ul.top-bar li a:hover,
  body.header-dark-text nav.global ul.nav-list li a:hover {
    color: rgba(0, 0, 0, 0.55) !important;
  }

  body.header-dark-text nav.global ul.top-bar li a:before {
    color: #666 !important;
  }

  body.header-dark-text nav.global ul.top-bar li.logo .logo-txt {
    color: #000 !important;
  }
}

/* SP メニュー開閉: concept 基準（全 html.mjw-gnav ページ共通・最終上書き） */
@media screen and (max-width: 768px) {
  html.mjw-gnav body.scrollLock {
    overflow-y: hidden !important;
  }

  /* 親要素の overflow でメニューが切れるのを防止 */
  html.mjw-gnav header,
  html.mjw-gnav #wrap,
  html.mjw-gnav #body_box,
  html.mjw-gnav #MainContent,
  html.mjw-gnav .mainVis01,
  html.mjw-gnav #mainarea,
  html.mjw-gnav #home_mainarea {
    overflow: visible !important;
  }

  html.mjw-gnav header nav.global .bottom-bar {
    overflow: hidden !important;
    height: 0 !important;
  }

  html.mjw-gnav header nav.global .bottom-bar.active {
    height: auto !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }

  html.mjw-gnav header nav.global ul.nav-list {
    display: block !important;
    position: relative !important;
    float: none !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #333 !important;
    font-size: 16px !important;
    line-height: normal !important;
    gap: 0 !important;
    -webkit-box-orient: unset !important;
    -webkit-box-direction: unset !important;
    -webkit-flex-direction: unset !important;
    -ms-flex-direction: unset !important;
    flex-direction: unset !important;
    -webkit-align-items: unset !important;
    -ms-flex-align: unset !important;
    align-items: unset !important;
    -webkit-justify-content: unset !important;
    -ms-flex-pack: unset !important;
    justify-content: unset !important;
    -webkit-transform: translateX(100vw) !important;
    transform: translateX(100vw) !important;
    -webkit-transition: -webkit-transform 300ms ease-out !important;
    transition: transform 300ms ease-out !important;
    box-sizing: border-box !important;
  }

  html.mjw-gnav header nav.global ul.nav-list.active {
    -webkit-transform: translateX(0) !important;
    transform: translateX(0) !important;
    margin-top: 0 !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
  }

  html.mjw-gnav header nav.global ul.nav-list li {
    display: block !important;
    position: relative !important;
    width: auto !important;
    min-width: 0 !important;
    float: none !important;
    text-align: left !important;
    font-size: 16px !important;
    border: none !important;
    -webkit-box-flex: unset !important;
    -webkit-flex-grow: unset !important;
    -ms-flex-positive: unset !important;
    flex-grow: unset !important;
  }

  html.mjw-gnav header nav.global ul.nav-list li a {
    display: block !important;
    padding: 0 0 0 2em !important;
    border-bottom: 1px solid #fff !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: #fff !important;
    text-decoration: none !important;
    line-height: 3 !important;
    text-align: left !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  html.mjw-gnav header nav.global ul.nav-list li a:after {
    content: ">" !important;
    display: inline-block !important;
    float: right !important;
    margin-right: 1em !important;
  }

  html.mjw-gnav header nav.global ul.nav-list li a:hover,
  html.mjw-gnav body.is-scrolled header nav.global ul.nav-list li a:hover,
  html.mjw-gnav header:hover nav.global ul.nav-list li a:hover {
    background: #fff !important;
    opacity: 0.6 !important;
    color: #fff !important;
  }

  /* header-dark-text / スクロール後でも SP メニュー内リンクは白 */
  html.mjw-gnav body.header-dark-text header nav.global ul.nav-list li a,
  html.mjw-gnav body.is-scrolled header nav.global ul.nav-list li a,
  html.mjw-gnav header:hover nav.global ul.nav-list li a {
    color: #fff !important;
    font-weight: 700 !important;
  }
}

/* SP: li.logo 内コンテンツを左詰め（全ページ共通） */
@media screen and (max-width: 768px) {
  nav.global ul.top-bar,
  html.mjw-gnav header nav.global ul.top-bar {
    justify-content: flex-start !important;
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
  }

  nav.global ul.top-bar li.logo,
  html.mjw-gnav header nav.global ul.top-bar li.logo {
    justify-content: flex-start !important;
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
  }

  nav.global ul.top-bar li.logo a,
  nav.global ul.top-bar .logo a,
  html.mjw-gnav header nav.global ul.top-bar li.logo a {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}
