/*左側のメニュー*/

* {
	box-sizing: border-box;
}
:focus, :active {
	outline: none;
}
.toggle_menu {
	display: block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	padding: 0;
	background: none;
	border: 0;
	text-align: center;
	cursor: pointer;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	z-index: 3100;
}
.toggle_menu i {
	display: block;
	font-size: 2.5rem;
}
.vertical_nav {
	-moz-transition: all 0.3s ease-out;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	position: fixed;
	left: -320px;
	top: 50px;
	bottom: 0;
	width: 320px;
	background: #fff;
	border-left: none;
	z-index: 3000;
}
.vertical_nav a {
	text-decoration: none;
	color: #333;
}
.vertical_nav__closed {
	left: -200px !important;
}
.vertical_nav__opened {
	left: 0px !important;
}
.menu {
	position: absolute;
	top: 0;
	bottom: 0;
	overflow-y: auto;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.menu--item {
	position: relative;
	min-height: 40px;
	line-height: 40px;
}
.menu--item__has_sub_menu .menu--link:after {
	position: absolute;
	top: 0;
	right: 10px;
	height: 40px;
	line-height: 40px;
	font-size: 2rem;
	font-family: "FontAwesome";
	content: "\f107";
	padding:3px 10px 3px 50px;
}
.menu--subitens__opened {
	background: #fff;
	color: #fff;
}
.menu--subitens__opened .menu--link {
	color: #333;
}
.menu--subitens__opened .sub_menu {
	display: block;
}
.menu--link {
	display: block;
	overflow: hidden;
	font-size: 1.5rem;
	text-decoration: none;
	color: #333;
	white-space: nowrap;
	cursor: pointer;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	padding-left: 20px;
}
.menu--link:hover, .menu--link:hover .menu--label {
	color: #fff;
	background: #888888;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg4ODg4OCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2NjY2NjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top, #888888 0%, #666666 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #888888), color-stop(100%, #666666));
	background: -webkit-linear-gradient(top, #888888 0%, #666666 100%);
	background: -o-linear-gradient(top, #888888 0%, #666666 100%);
	background: -ms-linear-gradient(top, #888888 0%, #666666 100%);
	background: linear-gradient(to bottom, #888888 0%, #666666 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#888888', endColorstr='#666666', GradientType=0 );
}
.menu--icon {
	display: block;
	float: left;
	width: 50px;
	height: 40px;
	line-height: 40px;
	font-size: 2rem;
}
.menu--label {
	display: block;
	height: 40px;
	line-height: 40px;
}
.main_menu--link {
	display: block;
}
.sub_menu {
	display: none;
	overflow: hidden;
	padding-left: 0;
	list-style: none;
	/*border: solid 1px #ddd;*/
}
.sub_menu--link {
	padding-left: 25px;
	display: block;
	font-size: 1.5rem;
	color: #333;
	text-decoration: none;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.main_menu--link:hover, .sub_menu--link:hover {
	color: #333;
	background: #888888;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzg4ODg4OCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2NjY2NjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top, #888888 0%, #666666 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #888888), color-stop(100%, #666666));
	background: -webkit-linear-gradient(top, #888888 0%, #666666 100%);
	background: -o-linear-gradient(top, #888888 0%, #666666 100%);
	background: -ms-linear-gradient(top, #888888 0%, #666666 100%);
	background: linear-gradient(to bottom, #888888 0%, #666666 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#888888', endColorstr='#666666', GradientType=0 );
	color: #fff;
}
.sub_menu--link__active {
	color: #333;
}

@media (min-width: 769px) {
.toggle_menu {
	display: none;
}
.menu {
	top: 0;
	overflow: visible;
}
.menu--item__has_sub_menu .menu--link:after {
	font-size: 1.5rem;
	font-family: "FontAwesome";
	content: "\f105";
}
.menu--link {
	padding: 0;
}

.sub_menu {
	display: block;
}
.sub_menu--link {
	text-indent: -15px;
        text-align: left;
        
}
.leftnav {
	left: 0;
	top: 150px;
	bottom: 150px;
	width: 200px;
}
.leftnav li {
	list-style: none;
	margin: 0;
	padding: 0;
	height: 40px;
	line-height: 40px;
	background: #fff;
	position: relative;
	text-align: center;

}
.leftnav li:hover > ul {
	visibility: visible;
}
.leftnav ul ul {
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 100%;
	width: 100px;
	border-left: solid 1px #ddd;
}



.leftnav a {
	width: 100%;
	display: inline-block;
	font-size: 1.5rem;
	text-decoration: none;
	color: #333;
}
.leftnav a:hover {
	color: #fff;
}
}
