/* メニューCSS */
/*
	CSSプロパティ分類
	1：表示・配置
	2：サイズ・余白
	3：フォント・テキスト
	4：背景・ボーダー
*/

/* PCメニュー共通 */
/* メニュー領域 */
nav {
	/* 1 */
	float: none;
	/* 2 */
	margin: 0;
	width: auto;
}

/* スマートフォン用メニューの非表示 */
.sp-drawer-nav,
.sp-balloon-nav,
.sp-menu-area {
	/* 1 */
	display: none;
}

/* ナビゲーションバナーの非表示 */
.nav-banner {
	/* 1 */
	display: none;
}

/* アコーディオンメニュー（タブレット）用の非表示 */
.tb-drawer-nav {
	/* 1 */
	display: none;
}

/* メインメニュー */
.nav {
	/* 1 */
	display: block;
	/* 2 */
	margin: 0 0 15px;
}

.ie7 .nav {
	/* 2 */
	width: 100%;
	/* 3 */
	text-align: center;
}

.main-menu {
	/* 2 */
	margin: 0 auto;
	width: 100%;
	/* 4 */
	background: #3b6bb3;
	border-bottom: #04064d solid 3px;
	border-top: none;
}

.main-menu-item {
	/* 3 */
	text-align: left;
	vertical-align: middle;
	/* 4 */
	background: #5c9ada; /* Old browsers */
	background: -moz-linear-gradient(top,  #5c9ada 0%, #1f5fc1 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5c9ada), color-stop(100%,#1f5fc1)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #5c9ada 0%,#1f5fc1 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #5c9ada 0%,#1f5fc1 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #5c9ada 0%,#1f5fc1 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #5c9ada 0%,#1f5fc1 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5c9ada', endColorstr='#1f5fc1',GradientType=0 ); /* IE6-9 */
	border-left: #3b6bb3 solid 1px;
	cursor: pointer;
}

/* 選択時・マウスオーバー時 */
.main-menu-item-selected,
.main-menu-item:hover {
	/* 4 */
	background: #003885; /* Old browsers */
	background: -moz-linear-gradient(top,  #003885 0%, #031b4d 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#003885), color-stop(100%,#031b4d)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #003885 0%,#031b4d 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #003885 0%,#031b4d 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #003885 0%,#031b4d 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #003885 0%,#031b4d 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003885', endColorstr='#031b4d',GradientType=0 ); /* IE6-9 */
}

.main-menu-link {
	/* 2 */
	height: auto;
	margin: 0;
	padding: 0;
	width: 100%;
	/* 3 */
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

/* サブメニュー */
.sub-menu-item {
	/* 4 */
	background: #1f4c8f;
}

/* マウスオーバー時 */
.sub-menu-item:hover {
	/* 4 */
	background: #4375a8;
}

.sub-menu-link {
	/* 3 */
	color: #fff;
	font-size: 90%;
	font-weight: normal;
	text-align: left;
}

/* ドロップダウンメニュー */
.dropdown-menu .main-menu {
	/* 1 */
	display: table;
	table-layout: fixed;
	/* 2 */
	max-width: 960px;
}

.ie7 .dropdown-menu .main-menu { /* IE7以下 */
	/* 1 */
	display: block;
	/* 2 */
	margin-bottom: 10px;
	max-width: 960px;
	width:101%;
	behavior: expression(
		this.style.behavior || (
		(function(parent, kids){ var w = Math.floor((parent.offsetWidth - kids.length) / kids.length) + "px", i = 0; while(kids[i]){ kids[i].style.width = w; i++; } })(this.parentNode, this.childNodes),
		this.style.behavior = "none"
		)
	);
}

.ie8 .dropdown-menu .main-menu { /* IE8以下 */ 
	/* 2 */
	width: 960px;
}

.dropdown-menu .main-menu-item {
	/* 1 */
	display: table-cell;
	position: relative;
	/* 2 */
	height: 50px;
}

.ie7 .dropdown-menu .main-menu-item { /* IE7以下 */
	/* 1 */
	display: inline;
	float: left;
	zoom: 1;
}

.dropdown-menu .main-menu-link {
	/* 1 */
	display: table;
}

.ie7 .dropdown-menu .main-menu-link { /* IE7以下 */
	/* 1 */
	display: inline;
	zoom: 1;
}

.dropdown-menu .main-menu-word {
	/* 1 */
	display: table-cell;
	/* 2 */
	height: 100%;
	/* 3 */
	vertical-align: middle;
}

.ie7 .dropdown-menu .main-menu-word { /* IE7以下 */
	/* 1 */
	display: inline;
	zoom: 1;
}

.dropdown-menu .sub-menu {
	/* 1 */
	position: absolute;
	visibility: hidden;
	z-index: 9999;
	/* 2 */
	width: auto;
}

.dropdown-menu .sub-menu-item {
	/* 1 */
	display: block;
	/* 2 */
	margin: 0;
	min-height: 39px;
	width: 208px;
	/* 4 */
	border-bottom: #3862a0 solid 1px;
}

.dropdown-menu .sub-menu-item:last-child {
	/* 4 */
	border-bottom: none;
	border-radius: 0 0 8px 8px;
}

.dropdown-menu .sub-menu-link {
	/* 1 */
	display: block;
	/* 2 */
	padding: 10px 0 0 20px;
	/* 3 */
	text-align: left;
}

/* タブメニュー */
.tab-menu .main-menu {
	/* 1 */
	display: table;
	position: relative;
	table-layout: fixed;
	/* 2 */
	max-width: 960px;
}

.ie7 .tab-menu .main-menu { /* IE7以下 */
	/* 1 */
	display: block;
	/* 2 */
	max-width: 960px;
	width:101%;
	behavior: expression(
		this.style.behavior || (
		(function(parent, kids){ var w = Math.floor((parent.offsetWidth - kids.length) / kids.length) + "px", i = 0; while(kids[i]){ kids[i].style.width = w; i++; } })(this.parentNode, this.childNodes),
		this.style.behavior = "none"
		)
	);
}

.tab-menu .main-menu-item {
	/* 1 */
	display: table-cell;
	/* 2 */
	height: 50px;
}

.ie7 .tab-menu .main-menu-item { /* IE7以下 */
	/* 1 */
	display: inline;
	float: left;
	zoom: 1;
	/* 2 */
	width: 95px;
}

.tab-menu .main-menu-link {
	/* 1 */
	display: table;
}

.ie7 .tab-menu .main-menu-link { /* IE7以下 */
	/* 1 */
	display: inline;
	zoom: 1;
}

.tab-menu .main-menu-word {
	/* 1 */
	display: table-cell;
	/* 2 */
	height: 100%;
	/* 3 */
	vertical-align: middle;
}

.ie7 .tab-menu .main-menu-word { /* IE7以下 */
	/* 1 */
	display: inline;
	zoom: 1;
}

.tab-menu .sub-menu {
	/* 1 */
	left: 0;
	position: absolute;
	top: 100%;
	visibility: hidden;
	z-index: 90;
	/* 2 */
	width: 100%;
	/* 4 */
	background: #1f4c8f;
	border-radius: 0 0 8px 8px;
}

.tab-menu .sub-menu-item {
	/* 1 */
	display: inline-block;
	/* 2 */
	margin: 3px 0 3px 3px;
	padding: 0 5px;
	/* 3 */
	vertical-align: top;
	/* 4 */
	border-right: #b2ceef solid 1px;
}

.ie7 .tab-menu .sub-menu-item { /* IE7以下 */
	/* 1 */
	display: inline;
	zoom: 1;
}

.tab-menu .sub-menu-link {
	/* 1 */
	display: block;
	/* 2 */
	padding: 3px 8px;
	width: 100%;
}

/* アコーディオンメニュー */
nav.toggle-menu {
	/* 1 */
	float: left;
	/* 2 */
	margin: 0 2% 0 0;
	width: 20%
}

.toggle-menu .nav-banner {
	display: block;
}

.toggle-menu .main-menu {
	/* 1 */
	display: inline-block;
	/* 2 */
	margin: 0;
	max-width: none;
	/* 4 */
	border-bottom: none;
	border-top: #040652 solid 3px;
}

.toggle-menu .main-menu-item {
	/* 1 */
	display: block;
	position: relative;
	/* 2 */
	height: auto;
	/* 4 */
	border-bottom: #2b65bb solid 1px;
	border-left: #2b65bb solid 1px;
	border-right: #2b65bb solid 1px;
}

.toggle-menu .main-menu-link {
	/* 1 */
	display: block;
	/* 2 */
	padding: 14px 0 14px 10px;
	/* 3 */
	text-align: left;
	vertical-align: middle;
}

.toggle-menu .main-menu-word:before {
	content: "";
	/* 1 */
	display: inline-block;
	/* 2 */
	height: 12px;
	margin: 0 18px 0 0;
	width: 12px;
	/* 3 */
	vertical-align: middle;
	background: url(../img/icn_arw.png) left top no-repeat;
}

.toggle-menu .main-menu-item:hover .main-menu-word:before,
.toggle-menu .main-menu-item-selected .main-menu-word:before {
	content: "";
	/* 4 */
	background: url(../img/icn_arw_act_087.png) left top no-repeat;
}

.toggle-menu .sub-menu {
	/* 1 */
	display: none;
	position: relative;
	top: 0;
	visibility: visible;
	/* 2 */
	width: auto;
}

.ie7 .toggle-menu .sub-menu {
	/* 1 */
	width: 100%;
}

.toggle-menu .sub-menu-item {
	/* 1 */
	display: block;
	/* 2 */
	margin: 0;
	width: 100%;
}

.toggle-menu .sub-menu-link {
	/* 1 */
	display: block;
	/* 2 */
	padding: 10px 10px 10px 10px;
	width: auto;
}

.toggle-menu .sub-menu-word:before {
	content: "";
	/* 1 */
	display: inline-block;
	/* 2 */
	height: 12px;
	margin: 0 8px 0 0;
	width: 12px;
	/* 3 */
	vertical-align: middle;
	background: url(../img/icn_arw_sub_087.png) left top no-repeat;
}

@media screen and (max-width: 880px) {
	.toggle-menu .nav-banner {
		/* 1 */
		display: none;
	}

	.toggle-menu .nav {
		/* 1 */
		display: none;
	}

	.toggle-menu .tb-drawer-nav {
		/* 1 */
		display: inline-block;
		/* 2 */
		margin: 0 0 0 10px;
	}

	.toggle-menu .tb-drawer-nav-btn {
		/* 1 */
		display: inline-block;
		/* 2 */
		padding: 6px 12px;
		/* 3 */
		color: #fff;
		font-size: 85%;
		font-weight: bold;
		text-align: center;
		/* 4 */
		background: #787878;
		background: -moz-linear-gradient(top, #787878 0%, #3a3a3a 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#787878), color-stop(100%,#3a3a3a));
		background: -webkit-linear-gradient(top, #787878 0%,#3a3a3a 100%);
		background: -o-linear-gradient(top, #787878 0%,#3a3a3a 100%);
		background: -ms-linear-gradient(top, #787878 0%,#3a3a3a 100%);
		background: linear-gradient(to bottom, #787878 0%,#3a3a3a 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#787878', endColorstr='#3a3a3a',GradientType=0 );
		border: #434343 solid 1px;
		-webkit-border-radius: 8px;
		-moz-border-radius: 8px;
		-ms-border-radius: 8px;
		border-radius: 8px;
	}

	.toggle-menu .tb-drawer-nav-icon:before {
		content: "";
		/* 1 */
		display: inline-block;
		/* 2 */
		height: 20px;
		margin: -2px 5px 0 0;
		width: 25px;
		/* 3 */
		vertical-align: middle;
		/* 4 */
		background: url(../img/icn_menu.png) left top no-repeat;
		background-size: 25px 20px;
	}

	.sp-menu-area {
		/* 4 */
		background: #fff;
	}

	.toggle-menu .sp-menu-title {
		/* 1 */
		display: block;
		/* 2 */
		margin: 12px 0;
		/* 3 */
		color: #333;
		font-size: 15px;
		font-weight: bold;
		/* 4 */
		background: none;
		box-shadow: none;
	}

	.sp-menu-close {
		/* 1 */
		display: block;
		position: absolute;
		right: 15px;
		top: 12px;
		z-index: 100;
		/* 4 */
		background: #2c3d69;
		border-radius: 3px;
	}

	.sp-menu-close-link {
		/* 1 */
		display: block;
		overflow: hidden;
		/* 2 */
		height: 19px;
		width: 19px;
		/* 3 */
		text-indent: 100%;
		/* 4 */
		background: url(../img/icn_close.png) center no-repeat;
		background-size: 11px 11px;
	}

	.sp-nav {
		/* 1 */
		display: block;
		overflow: hidden;
		margin: 0 0 15px;
	}

	.toggle-menu .sp-menu-area {
		/* 1 */
		display: none;
		left: auto;
		overflow: auto;
		position: fixed;
		right: -180px;
		top: 0;
		z-index: 100;
		/* 2 */
		height: 100%;
		margin: 0 5px;
		width: 60%;
		/* 4 */
		box-shadow: inset 0 0 5px 5px #ebebeb;
	}

	.toggle-menu .sp-main-menu {
		/* 1 */
		display: block;
		/* 2 */
		margin: 0 auto;
		max-width: none;
		width: 100%;
		/* 4 */
		border-bottom: medium none;
		border-top: #5c9ada solid 2px;
	}

	.toggle-menu .main-menu-item {
		/* 1 */
		display: block;
		position: static;
		/* 2 */
		height: auto;
		/* 4 */
		background: #eefcfa;
		background: -moz-linear-gradient(top, #eefcfa 0%, #c3e0e8 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eefcfa), color-stop(100%,#c3e0e8));
		background: -webkit-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: -o-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: -ms-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: linear-gradient(to bottom, #eefcfa 0%,#c3e0e8 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eefcfa', endColorstr='#c3e0e8',GradientType=0 );
		border-bottom: #5d7fb7 solid 1px;
		border-left: none;
		border-top: medium none;
	}

	.toggle-menu .main-menu-item:hover {
		/* 4 */
		background: #eefcfa;
		background: -moz-linear-gradient(top, #eefcfa 0%, #c3e0e8 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eefcfa), color-stop(100%,#c3e0e8));
		background: -webkit-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: -o-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: -ms-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: linear-gradient(to bottom, #eefcfa 0%,#c3e0e8 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eefcfa', endColorstr='#c3e0e8',GradientType=0 );
	}
	
	.toggle-menu .main-menu-link {
		/* 1 */
		display: table;
		/* 2 */
		padding: 4px;
		/* 3 */
		color: #333;
		font-size: 15px;
		text-align: left;
		vertical-align: middle;
	}
	
	.toggle-menu .main-menu-word {
		/* 1 */
		display: table-cell;
		/* 2 */
		height: 24px;
		padding: 5px 15px;
		/* 3 */
		vertical-align: middle;
	}
	
	.toggle-menu .main-menu-word:before {
		content: "";
		/* 1 */
		display: inline-block;
		/* 2 */
		height: 12px;
		margin: 0 18px 0 0;
		width: 12px;
		/* 3 */
		vertical-align: middle;
		background: url(../img/icn_arw.png) left top no-repeat;		
	}

	.toggle-menu .main-menu-item:hover .main-menu-word:before,
	.toggle-menu .main-menu-item-selected .main-menu-word:before {
		content: "";
		/* 1 */
		display: inline-block;
		/* 2 */
		height: 12px;
		margin: 0 18px 0 0;
		width: 12px;
		/* 3 */
		vertical-align: middle;
		background: url(../img/icn_arw_act_087.png) left top no-repeat;		
	}

	.toggle-menu .sub-menu {
		/* 1 */
		display: none;
		position: relative;
		top: 0;
		visibility: visible;
		/* 2 */
		width: auto;
		/* 4 */
		background: none;
		border-bottom: medium none;
		border-radius: 0;
	}
	
	.toggle-menu .sub-menu-item {
		/* 1 */
		display: block;
		/* 2 */
		margin: 0;
		min-height: 0;
		padding: 0;
		width: 100%;
		/* 4 */
		border-bottom: medium none;
		border-right: none;
		border-top: #5c9ada solid 1px;
	}
	
	.toggle-menu .sub-menu-item,
	.toggle-menu .sub-menu-item:hover {
		/* 4 */
		background: #96c4d7;
	}

	.toggle-menu .sub-menu-item:last-child {
		/* 4 */
		border-bottom: none;
		border-radius: 0;
	}
	
	.toggle-menu .sub-menu-link {
		/* 1 */
		display: block;
		/* 2 */
		padding: 15px 20px;
		/* 3 */
		color: #333;
		font-size: 13px;
		font-weight: bold;
		line-height: 1.2;
	}
	
	.toggle-menu .sub-menu-word:before {
		content: "";
		/* 1 */
		display: inline-block;
		/* 2 */
		height: 12px;
		margin: 0 8px 0 0;
		width: 12px;
		/* 3 */
		vertical-align: middle;
		background: url(../img/icn_arw_sub_087.png) left top no-repeat;
	}

	.sp-menu-back {
		/* 1 */
		display: none;
	}
}

@media screen and (max-width: 650px) {
	/* スマートフォンメニュー共通 */
	nav.sp-balloon-menu,
	nav.sp-drawer-menu {
		/* 1 */
		float: none;
		position: relative;
		/* 2 */
		margin: 0;
		width: 100%;
	}

	.nav {
		/* 1 */
		display: none;
	}

	/* アコーディオンメニュー（タブレット）用の非表示 */
	.toggle-menu .tb-drawer-nav {
		/* 1 */
		display: none;
	}

	.sp-menu-area {
		/* 4 */
		background: #fff;
	}

	.sp-menu-title {
		/* 1 */
		display: block;
		/* 2 */
		padding: 0 15px;
		/* 3 */
		color: #333;
		font-size: 15px;
		font-weight: bold;
		/* 4 */
		background: none;
		box-shadow: none;
	}

	.sp-menu-close {
		/* 1 */
		display: block;
		position: absolute;
		right: 15px;
		top: 12px;
		z-index: 100;
		/* 2 */
		padding: 4px;
		/* 4 */
		background: #2c3d69;
		border-radius: 3px;
	}

	.sp-menu-close-link {
		/* 1 */
		display: block;
		overflow: hidden;
		/* 2 */
		height: 11px;
		width: 11px;
		/* 3 */
		text-indent: 100%;
		/* 4 */
		background: url(../img/icn_close.png) left top no-repeat;
		background-size: 11px 11px;
	}

	.sp-nav {
		/* 1 */
		display: block;
		overflow: hidden;
		margin: 0 0 15px;
	}

	.sp-main-menu {
		/* 1 */
		display: block;
		/* 2 */
		margin: 0 auto;
		max-width: none;
		width: 100%;
		/* 4 */
		border-bottom: medium none;
		border-top: #5c9ada solid 2px;
	}

	.main-menu-item {
		/* 4 */
		background: #eefcfa;
		background: -moz-linear-gradient(top, #eefcfa 0%, #c3e0e8 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eefcfa), color-stop(100%,#c3e0e8));
		background: -webkit-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: -o-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: -ms-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: linear-gradient(to bottom, #eefcfa 0%,#c3e0e8 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eefcfa', endColorstr='#c3e0e8',GradientType=0 );
	}

	.main-menu-item:hover {
		/* 4 */
		background: #eefcfa;
		background: -moz-linear-gradient(top, #eefcfa 0%, #c3e0e8 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eefcfa), color-stop(100%,#c3e0e8));
		background: -webkit-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: -o-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: -ms-linear-gradient(top, #eefcfa 0%,#c3e0e8 100%);
		background: linear-gradient(to bottom, #eefcfa 0%,#c3e0e8 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eefcfa', endColorstr='#c3e0e8',GradientType=0 );
	}
	
	.main-menu-link {
		/* 3 */
		color: #333;
		font-size: 15px;
	}
	
	.sub-menu-item,
	.sub-menu-item:hover {
		/* 4 */
		background: #96c4d7;
	}

	.sub-menu-link {
		/* 3 */
		color: #333;
		font-size: 13px;
		font-weight: bold;
		line-height: 1.2;
	}
	
	.sp-menu-back {
		/* 1 */
		display: none;
	}

	/* 吹き出しメニュー */
	.sp-balloon-menu .sp-balloon-nav {
		/* 1 */
		display: block;
		/* 2 */
		margin: 10px 0 15px;
		width: 100%;
	}

	.sp-balloon-nav-list {
		/* 1 */
		display: table;
		/* 2 */
		width: 100%;
		/* 3 */
		border-bottom: #3b6bb3 solid 2px;
	}

	.sp-balloon-nav-item {
		/* 1 */
		display: table-cell;
		/* 2 */
		height: 46px;
		min-width: 5em;
		/* 3 */
		line-height: 46px;
		vertical-align: middle;
		/* 4 */
		background: #5c9ada;
		background: -moz-linear-gradient(top, #5c9ada 0%, #1f5fc1 100%);
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5c9ada), color-stop(100%,#1f5fc1));
		background: -webkit-linear-gradient(top, #5c9ada 0%,#1f5fc1 100%);
		background: -o-linear-gradient(top, #5c9ada 0%,#1f5fc1 100%);
		background: -ms-linear-gradient(top, #5c9ada 0%,#1f5fc1 100%);
		background: linear-gradient(to bottom, #5c9ada 0%,#1f5fc1 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5c9ada', endColorstr='#1f5fc1',GradientType=0 );
		border-left: #3b6bb3 solid 1px;
	}

	.sp-balloon-nav-link {
		/* 1 */
		display: block;
		/* 2 */
		width: 100%;
		/* 3 */
		color: #fff;
		text-align: center;
	}
		
	.sp-balloon-menu .sp-menu-area {
		/* 1 */
		display: none;
		left: 0;
		position: absolute;
		right: 0;
		top: 58px;
		z-index: 100;
		/* 2 */
		margin: 0 5px;
		width: 98%;
	}
	
	.sp-balloon-menu .sp-menu-area:before {
		content: "";
		/* 1 */
		display: block;
		left: 33%;
		top: -20px;
		position: absolute;
		/* 2 */
		height: 0;
		width: 0;
		/* 3 */
		border-color: transparent transparent #fff transparent;
		border-style: solid;
		border-width: 0 11px 20px 11px;
	}

	.sp-balloon-menu .sp-menu-title {
		/* 2 */
		margin: 12px 15px;
	}
	
	.sp-balloon-menu .nav-banner {
		/* 1 */
		display: none;
	}
	
	.sp-balloon-menu .sp-main-menu {
		/* 1 */
		position: relative;
	}

	.sp-balloon-menu .main-menu-item {
		/* 1 */
		display: block;
		float: left;
		position: static;
		height: 50px;
		width: 50%;
		/* 4 */
		border-bottom: #5d7fb7 solid 1px;
		border-left: none;
		border-right: none;
		border-top: medium none;
	}

	.sp-balloon-menu .main-menu-item:nth-child(2n-1) {
		/* 2 */
		margin: 0 0 0 -1px;
		/* 4 */
		border-right: #5d7fb7 solid 1px;
	}

	.sp-balloon-menu .main-menu-link {
		/* 1 */
		display: table;
		/* 2 */
		padding: 0;
		/* 3 */
		text-align: left;
		vertical-align: middle;
	}
	
	.sp-balloon-menu .main-menu-word {
		/* 1 */
		display: table-cell;
		/* 2 */
		height: 100%;
		padding: 0 15px;
		/* 3 */
		vertical-align: middle;
	}
	
	.sp-balloon-menu .main-menu-word:before,
	.sp-balloon-menu .main-menu-item:hover .main-menu-word:before,
	.sp-balloon-menu .main-menu-item-selected .main-menu-word:before {
		/* 1 */
		display: none;
	}
	
	.sp-balloon-menu .main-menu-word:after {
		content: "";
		/* 1 */
		display: block;
		float: right;
		/* 2 */
		height: 13px;
		margin: 0;
		width: 13px;
		/* 3 */
		vertical-align: middle;
		/* 4 */
		background: url(../img/icn_arw.png) left top no-repeat;
		background-size: 13px 13px;
	}


	.sp-balloon-menu .sub-menu {
		/* 1 */
		display: none;
		left: 100%;
		position: absolute;
		top: -2px;
		visibility: visible;
		z-index: 100;
		/* 2 */
		width: 100%;
		/* 4 */
		background: none;
		border-bottom: medium none;
		border-left: medium none;
		border-top: #5c9ada solid 1px;
		border-radius: 0;
	}
	
	.sp-balloon-menu .sub-menu-item {
		/* 1 */
		display: block;
		float: left;
		position: static;
		/* 2 */
		height: 50px;
		margin: 0;
		min-height: 0;
		padding: 0;
		width: 50%;
		/* 4 */
		border-bottom: #5c9ada solid 1px;
		border-right: none;
		border-top: medium none;
	}
	
	.sp-balloon-menu .sub-menu-item:nth-child(2n-1) {
		/* 2 */
		margin: 0 0 0 -1px;
		/* 4 */
		border-right: #5d7fb7 solid 1px;
	}
	
	.sp-balloon-menu .sub-menu-item:last-child {
		/* 4 */
		border-bottom: #5c9ada solid 1px;
		border-radius: 0;
	}
	
	.sp-balloon-menu .sub-menu-link {
		/* 1 */
		display: table;
		/* 2 */
		height: 100%;
		padding: 0;
		width: 100%;
	}
	
	.sp-balloon-menu .sub-menu-word {
		/* 1 */
		display: table-cell;
		/* 2 */
		height: 100%;
		padding: 0 10px 0 15px;
		/* 3 */
		vertical-align: middle;
	}
	
	.menu-child-word:before {
		/* 1 */
		display: none;
	}

	.sp-balloon-menu  .sp-menu-back {
		/* 1 */
		display: none;
		/* 2 */
		margin: 10px 15px;
	}
	
	.sp-balloon-menu  .sp-menu-back-link {
		/* 3 */
		font-size: 14px;
		text-decoration: underline;
	}
	
	/* ドロワーメニュー */
	.sp-drawer-menu .sp-drawer-nav {
		/* 1 */
		display: block;
		float: right;
		overflow: hidden;
	}

	.sp-drawer-nav-item {
		/* 1 */
		display: inline-block;
		/* 2 */
		margin: 0 7px 0 0;
	}

	.sp-drawer-nav-btn {
		/* 1 */
		display: inline-block;
		/* 2 */
		height: 45px;
		width: 45px;
		/* 3 */
		color: #fff;
		font-size: 9px;
		font-weight: bold;
		text-align: center;
		/* 4 */
		background: #2c3d69;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
	}

	.sp-drawer-nav-icon {
		/* 1 */
		display: block;
	}

	.sp-drawer-nav-icon:after{
		content: "";
		/* 1 */
		display: block;
		/* 2 */
		height: 20px;
		margin: -2px auto 0;
		width: 25px;
	}

	/* 豊証券独自 J-GX */
	.sp-drawer-nav-jgx:after {
		/* 4 */
		background: url(../img/icn_jgx.png) left top no-repeat;
		background-size: 25px 20px;
	}

	.sp-drawer-nav-order:after {
		/* 4 */
		background: url(../img/icn_order.png) left top no-repeat;
		background-size: 25px 20px;
	}

	.sp-drawer-nav-menu:after {
		/* 4 */
		background: url(../img/icn_menu.png) left top no-repeat;
		background-size: 25px 20px;
	}

	.sp-drawer-menu .sp-menu-area {
		/* 1 */
		display: none;
		left: auto;
		overflow: auto;
		position: fixed;
		right: -180px;
		top: 0;
		z-index: 100;
		/* 2 */
		height: 100%;
		margin: 0 5px;
		width: 90%;
		/* 4 */
		box-shadow: inset 0 0 5px 5px #ebebeb;
	}
	
	.sp-drawer-menu .sp-menu-title {
		/* 2 */
		padding: 0 15px;
		margin: 12px 0;
	}
	
	.sp-drawer-menu .nav-banner {
		/* 1 */
		display: none;
	}
	
	.sp-drawer-menu .main-menu-item {
		/* 1 */
		display: block;
		position: static;
		/* 2 */
		height: auto;
		/* 4 */
		border-bottom: #5d7fb7 solid 1px;
		border-left: none;
		border-top: medium none;
	}

	.sp-drawer-menu .main-menu-link {
		/* 1 */
		display: table;
		/* 2 */
		padding: 4px;
		/* 3 */
		text-align: left;
		vertical-align: middle;
	}
	
	.sp-drawer-menu .main-menu-word {
		/* 1 */
		display: table-cell;
		/* 2 */
		height: 24px;
		padding: 5px 15px;
		/* 3 */
		vertical-align: middle;
	}
	
	.sp-drawer-menu .main-menu-word:before {
		content: "";
		/* 1 */
		display: inline-block;
		/* 2 */
		height: 12px;
		margin: 0 18px 0 0;
		width: 12px;
		/* 3 */
		vertical-align: middle;
		background: url(../img/icn_arw.png) left top no-repeat;		
	}

	.sp-drawer-menu .main-menu-item:hover .main-menu-word:before,
	.sp-drawer-menu .main-menu-item-selected .main-menu-word:before {
		content: "";
		/* 1 */
		display: inline-block;
		/* 2 */
		height: 12px;
		margin: 0 18px 0 0;
		width: 12px;
		/* 3 */
		vertical-align: middle;
		background: url(../img/icn_arw_act_087.png) left top no-repeat;		
	}

	.sp-drawer-menu .sub-menu {
		/* 1 */
		display: none;
		position: relative;
		top: 0;
		visibility: visible;
		/* 2 */
		width: auto;
		/* 4 */
		background: none;
		border-bottom: medium none;
		border-radius: 0;
	}
	
	.sp-drawer-menu .sub-menu-item {
		/* 1 */
		display: block;
		/* 2 */
		margin: 0;
		min-height: 0;
		padding: 0;
		width: 100%;
		/* 4 */
		border-bottom: medium none;
		border-right: none;
		border-top: #5c9ada solid 1px;
	}
	
	.sp-drawer-menu .sub-menu-item:last-child {
		/* 4 */
		border-bottom: none;
		border-radius: 0;
	}
	
	.sp-drawer-menu .sub-menu-link {
		/* 1 */
		display: block;
		/* 2 */
		padding: 15px 20px;
	}
	
	.sub-menu-word:before {
		content: "";
		/* 1 */
		display: inline-block;
		/* 2 */
		height: 12px;
		margin: 0 8px 0 0;
		width: 12px;
		/* 3 */
		vertical-align: middle;
		background: url(../img/icn_arw_sub_087.png) left top no-repeat;
	}
}