.gnav {
    display: flex;
    height: 2rem;
    margin: 0 auto;
    width: 1000px;
 z-index: 999;
}
.gnav > li {/*親階層のみ幅を25%にする*/

}
/*全てのリスト・リンク共通*/
.gnav li {
    list-style: none;
    position: relative;
    background-color: #f9f9f9;
}
.gnav li a {
    border-right: 1px solid #eee;
    color: #fff;
    display: block;
    height: 2rem;
    line-height: 2rem;
    text-align: center;
    text-decoration: none;
    width: 100%;
}
/*子階層以降共通*/
.gnav li li {
    height: 0;
    overflow: hidden;
    transition: .5s;
  	width:100%!important;
}
.gnav li li a {
    border-top: 1px solid #eee;
}
.gnav li:hover > ul > li {
    height: 2rem;
    overflow: visible;
}

/*231121追加*/
.sp_nav_bnr {
  display: none;
}

header .box .navigation > li img {
  width: 100%;
}

header .box .navigation > li.sp_nav_bnr {
  padding: 0;
}

header .box .navigation > li.sp_nav_bnr a {
  display: contents;
}

body header .box .header_contact {
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  justify-content: right;
  width: 100%;
  max-width: none;
}

header .box .header_contact a {
  width: 220px;
  max-width: 220px;
}

header .box .header_contact a + a {
  margin-left: 40px;
}

header .box .header_contact img {
  width: 100%;
}

@media (max-width: 768px) {
  header .box .navigation.gnav > li + li {
    border-top: 1px solid #dedad7;
  }
  body header .box .header_contact {
    display: none;
  }
  header .box .navigation.gnav > li.sp_nav_bnr {
    display: block;
  }
  body header .box .navigation {
    padding: 30px;
  }
}

header .box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  -webkit-align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
  width: 100%;
  max-width: 1040px;
  height: 140px;
  margin: 0 auto;
  padding: 0 20px;
}

header .box .navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  -webkit-align-items: center;
  -webkit-flex-wrap: wrap;
  width: 100%;
  margin: 50px 0 0 0;
  padding: 0;
}

header .box .header_contact {
  width: 100%;
  <!-- max-width: 220px; -->
  position: absolute;
  top: 20px;
  right: 20px;
  display: flex;
  justify-content: right;
}

@media (max-width: 768px) {
  header .box .navigation > li {
      width: 100%;
      padding: 4.6% 0;
      border: none;
  }
}

@media (max-width: 768px) {
  header .box .navigation > li:nth-child(1), header .box .navigation > li:nth-child(2), header .box .navigation > li:nth-child(3), header .box .navigation > li:nth-child(4), header .box .navigation > li:nth-child(5), header .box .navigation > li:nth-child(6), header .box .navigation > li:nth-child(7), header .box .navigation > li:last-child {
      width: 100%;
      border: none;
  }
  header .box .navigation li.sp_nav_bnr a img {
    width: 100%;
  }
  body header .box .navigation > li {
    padding: 4% 0;
  }
  header .box .navigation.gnav > li.sp_nav_bnr {
    height: 65px;
  }
}