.menu_wrap {
    position: relative;
    height: 80px;
}
#lnb.nav-fostrap {
    position: absolute;
    top: 16px;
    right: 90px;
}
a.menu-link {
    color: #fff;
    display: block;
    text-decoration: none;
    background: #31354e;
    padding: 16px 11px 10px 11px;
}

.menu-link span {
    border-bottom: solid 3px #fff;
    border-top: double 10px #fff;
    display: inline-block;
    height: 4px;
    width: 28px;
}
.menu-link:hover span { border-color: #fff; }

.menu, .menu > ul, .menu > ul ul {
  clear: both;
  display: flex;
  flex-flow: column;
  margin: 0;
}

.menu.active {
    border-bottom: 1px solid #d8d8d8;
    border-top: 0px solid #d8d8d8;
    /* margin: 1em 0 1em -12px; */
    max-height: 100%;
    width: 100%;
    height: 100%;
	/* background: #000000b5; */
	background-color: rgba( 0, 0, 0, 0.5 );
}

.js .menu > ul ul.active {
  margin: 0;
  max-height: 55em;
  padding: 0;
}

.menu > ul { padding: 0; }

nav li {
  display: inline-block;
  margin: 0;
  position: relative;
}
nav li ul li{
  border-bottom:0;
}
ul.level-2 li a {
  display: block;
  color: #a3aec4;
  font-size: 14px;
 }
.menu li a {
    color: #000;
    display: inline-block;
    font-size: 18px;
    text-decoration: none;
    padding: 10px 25px;
    letter-spacing: 0.2px;
    font-weight: 600;
}
span.has-subnav {
    display: block;
    font-size: 1em;
    line-height: 47px;
    position: absolute;
    right: 0px;
    padding: 0px 30px;
    top: 0;

	cursor: pointer;
}
.menu ul ul {
  top: 50px;
}

@media screen and (max-width: 1120px) {
	.menu_wrap {
		height:auto;
	}
	#lnb.nav-fostrap {
	    position: relative;
		top: 8px;
	    right: 0;
	    height: 100%;
	}
	/* #lnb.nav-fostrap ul {
		display: inline-block;
		width: 100%;
	} */
	.logo {
		width:100%;
	}
}

 @media screen and (max-width:800px) {
 .visual {
    display: none;
	}
 nav li {
 border-bottom: 1px solid #d8d8d8;
 }
 	ul.level-1 {
		background: #EDEDED;
	}
.wrap {
    width: 100%;
    padding: 0;
}
.menu_wrap {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    /* background: #00000078; */
    height: 100%;
    width: 100%;
    box-sizing: border-box;
}
main#container {
    margin-top: 60px;
}
h1.logo {
    width: 100%;
    text-align: left;
    background: #fff;
    margin-top: 0;
}
ul.level-2 li a {
    color: #666;
}
a.menu-link {
    position: absolute;
    right: 10px;
    top: -54px;
}
ule.level-2.active li a, ul.level-2.active li a  {
    background: #31354e;
    border-bottom: 1px solid #565a71;
    color: #8a8d9c;
}




.menu,  .menu > ul ul {
  margin: 0;
  max-height: 0;
  overflow: hidden;
}

.menu li a {
  padding-left: 15px;
}

.menu li li a { padding-left: 50px; }

.menu li:last-child a { border: none; }

.menu li li:last-child a { border-bottom: 1px solid #d8d8d8; }

.menu li:hover { background: #EDEDED; }
}

@media screen and (min-width: 801px) {

a.menu-link { display: none; }

.js .menu,  .js .menu > ul ul {
  max-height: none;
  overflow: visible;
}

.js .menu > ul li:hover > ul { display: flex; }

.menu ul {
  display: flex;
  flex-flow: row;
  height: 44px;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.menu span.has-subnav { display: none; }

.menu li a:hover { color: #e21738; }

.menu li li a:hover {
  background: rgba(164,208,94,0.1);
  color: #fff;
}

.menu ul ul {
  background: #31354e;
  display: none;
  height: auto;
  overflow: hidden;
  padding: 0;
  position: absolute;
  text-align: center;
  top: 40px;
  width: 150px;
  z-index: 999;
}

.chrome .js .menu > ul ul { top: 43px; }

/*.menu ul ul.wide { width: 300px; }
 .menu ul ul li {
  border-bottom: solid 1px rgba(164,208,94,0.5);
  display: inline-block;
  position: relative;
} */

.menu > ul ul li:last-child { border-bottom: none; }

.menu ul ul li a {
  display: block;
  padding-left: 10px;
}
}

