/* -----------------------------------------------
      MEGA NAVIGATION STYLE
----------------------------------------------- */

.menu-container {
    width: 100%;
    margin: 0;
    background: #e9e9e9;
	box-sizing: border-box;
}

.menu-mobile {
	display: none;
    padding: 20px;
	background-image: url("ico-mobile-nav.png");
	background-repeat: no-repeat;
	background-position: top 5px right 5px;
	background-size: 60px;
	font-size: 120%;
	text-decoration: none;
}

.menu-dropdown-icon:before {
    content: "+";
    display: none;
    cursor: pointer;
    float: right;
    padding: 1em;
    background: #fff;
    color: #333;
}

.menu {
    margin: 0;
    width: auto;
    padding: 0;
	top: 0;
	right: 0;
	position: absolute;
	display: block;
}

ul.menu {
    margin: 0 20px 0 0;
    width: 100%;
    list-style: none;
    padding: 0;
    position: relative;
    box-sizing: border-box;
}

.menu:before,
.menu:after { content: "";display: table; }

.menu:after { clear: both; }

.menu li {
    float: left;
	list-style: none;
	padding: 10px 1em;
	background-color: rgba(0,170,100,0.00);
	border-radius: 20px;
	transition: all 0.5s ease;
}

.menu li:hover {
	background-color: rgba(103,198,221,1.00);
	border-radius: 10px;
	cursor: pointer;
}

.menu li:hover > a { color: #FFF; }

.menu li a {
    display: block;
    color: #2762A1;
    font-weight: 700;
    font-size: 14px;
	transition: all .5s ease;
}

nav.top .menu li a { color: #FFF; }

nav.pc_menu .menu li a:hover,
.menu li a:hover {
	color: #FFF;
	border-radius: 20px;
}

.pc .menu ul li ul,
.menu li ul {
    display: none;
    width: 100vw;
    background: #FFF;
    padding: 20px;
    position: absolute;
    z-index: 99;
    right: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

nav.top .menu ul li ul {
    background-color: rgba(240,240,240,0.8);
}

.menu li ul:before,
.menu li ul:after { content: "";display: table; }

.menu li ul:after { clear: both; }

.menu li ul li {
    margin: 0;
    padding-bottom: 0;
    list-style: none;
    width: 25%;
    background: none;
    float: left;
	text-align: center;
	font-weight: 700;
	color: #555;
}

.menu li ul li:last-child
.menu li ul li:last-child {
	border-bottom: none;
}

.menu li ul li a {
    color: #555;
    padding: .1em 0;
	line-height: 1.7em;
    width: 95%;
    display: block;
    border-bottom: 1px solid #ccc;
}

.menu li ul li a:hover {
	color: #FFF;
}

.menu li ul li ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

.menu li ul li ul:before,
.menu li ul li ul:after { content: "";display: table; }

.menu li ul li ul:after { clear: both; }

.menu li ul li ul li {
    float: left;
    width: 100%;
    padding: 10px 0;
    margin: 0;
}

.menu li ul li ul li a { border: 0; }

.menu li ul.normal-sub { width: 300px;left: auto;padding: 10px 20px; }
.menu li ul.normal-sub li { width: 100%; }
.menu li ul.normal-sub li a { border: 0;padding: 1em 0; }


/* サブメニュー表示 */
.pc .menu li ul, .menu li ul {
	display : none;
	width: 300px;
	margin-right: 130px;
}
.pc .menu li:hover > ul {
    display: block;  // マウスホバー時に子メニューを表示
}
.pc .menu li ul li {
	width: 100%;
	padding: 10 16 0;
}
.pc .menu li ul li a{
	border-bottom: none;
}


/* -----------------------------------------------
Mobile style's
----------------------------------------------- */

/*@media only screen and (max-width: 959px) {

.menu-container { width: 100%; }

.menu-mobile { display: block; }

.menu-dropdown-icon:before { display: block; }

.menu > ul { display: none; }
.menu > ul > li { width: 100%;float: none;display: block; }
.menu > ul > li a {	padding: 1em;width: 100%;display: block; }
 
.menu > ul > li > ul { position: relative; }

.menu > ul > li > ul.normal-sub { width: 100%; }

.menu > ul > li > ul > li { float: none;width: 100%;margin-top: 20px; }

.menu > ul > li > ul li a:after { content: " →" }

.menu > ul > li > ul > li:first-child { margin: 0; }

.menu > ul > li > ul > li > ul { position: relative; }

.menu > ul > li > ul > li > ul > li {
	float: left;
	width: auto;
	border: #999 1px solid;
	margin: 5px;
	padding: 0;
}

.menu > ul > li > ul > li > ul > li a {
	display: block;
	margin: 0;
	padding: 5px 10px;
}

.menu > ul > li > ul > li > ul > li a:hover {
	background-color: initial;
	background-color: none;
	color: #333;
}

.menu .show-on-mobile { display: block; }
}*/