@charset "utf-8";

/* ---------------------------------------------------------------------------------------- 

	[header]

---------------------------------------------------------------------------------------- */

#header nav a > span,
#header nav div > span {
  display: inline-block;
  font-size: .875rem;
  opacity: .6;
  margin-left: 15px;
}

@media screen and (min-width: 769px) {
	
	.navbar-default {
		margin: 0;
		padding: 0;
		background: transparent url(../images/menu/bg_headernavi.gif) repeat 0 0;
		border: none;
		border-radius: 0;
	}

	.navbar-collapse {
		max-width: 1005px;
		margin: 0 auto;
		padding-left: 1px;
		background: url(../images/menu/li_headernavi.gif) repeat-y left top;
	}
  
  #header nav a > span,
  #header nav div > span {
    display: block;
    font-size: .75rem;
    margin: 5px 0 0;
  }

	.navbar-default .navbar-nav .menu-level-0 {
    display: flex;
    align-items: center;
		position: relative;
		padding: 0;
		background: url(../images/menu/li_headernavi.gif) no-repeat right center;
		min-height: 49px;
	}

	.navbar-default .navbar-nav .menu-level-0 > a,
	.navbar-default .navbar-nav .menu-level-0 > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
		float: left;
		padding: 5px 40px;
		color: #fff;
		font-size: 85.7%;
    height: 100%;
    min-height: 49px;
		text-decoration: none;
    text-align: center;
	} 

	.navbar-default .navbar-nav .menu-level-0 > .imgNavi,
	.navbar-default .navbar-nav .menu-level-0 > .imgNavi:hover {
    padding: 0;
	} 


	.navbar-default .navbar-nav .menu-level-0 > .imgNavi img {
		max-height: 49px;
	}

	.navbar-default .navbar-nav .menu-level-0 > a.menu-selected,
	.navbar-default .navbar-nav .menu-level-0 > a:hover {
		background: url(../images/menu/bg_headernavi_on.gif) repeat-x 0 0;
		color: #fff;
	} 

	.navbar-default .navbar-nav .menu-level-0 > ul {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 10000;
		min-width: 100%;
		height: 0;
	} 

	.navbar-default .navbar-nav .menu-level-0 ul li {
		float: none;
	} 

	.navbar-default .navbar-nav .menu-level-0 > ul > li {
		height: 0;
		margin: 0;
		padding: 0;
		visibility: hidden;
		opacity: 0;
		-webkit-transition: all .5s;
		transition: all .5s;
	} 

	.navbar-default .navbar-nav .menu-level-0:hover > ul > li {
		height: auto;
		visibility: visible;
		opacity: 1;
	} 

	.navbar-default .navbar-nav .menu-level-0:hover > ul > li a {
		float: none;
		display: block;
		padding: 12px;
		background-color: #df3a47;
		border-bottom: 1px solid #fff;
		color: #fff;
	} 

	.navbar-default .navbar-nav .menu-level-0:hover > ul > li a:hover {
		background-color: #d33040;
		color: #fff;
	} 

	.navbar-default .navbar-nav .menu-level-0:hover .menu-level-1 > ul > li a {
		padding-left: 24px;
	}

	.navbar-default .navbar-nav .menu-level-1 > ul {
		float: none;
	}

	.navbar-default .navbar-nav .menu-level-1 > ul > li {
		padding-left: 0;
		background: transparent none;
	}

}

@media (max-width: 768px) {
	
	.navbar-toggle .icon-bar {
		margin-left: auto;
		margin-right: auto;
	}
	
	.navbar-toggle .char {
		display: block;
		margin-top: 4px;
	}
	
	.nav li {
		margin: 0;
		padding: 0;
		background-image: none;
	}
	
	.navbar-default .navbar-nav > li > a {
		color: #000;
	} 

	.navbar-default .navbar-nav .menu-level-0 ul {
		margin: 0;
	}
	
	.nav .menu-level-0 > a {
		display: block;
		padding: 12px 13px 12px 30px;
		background: #d7d7d7 url(../images/menu/bg_sidenavi_01.gif) no-repeat left top;
		border: 1px solid #cbcbcb;
		border-bottom: none;
		color: #000;
		text-decoration: none;
	}
	
	.nav .menu-level-1 > a { 
		padding: 9px 13px 9px 40px;
		background: #f4f4f4 url(../images/common/arrow.gif) no-repeat 20px 11px;
		border-bottom: 1px solid #cbcbcb;
		font-size: 85.7%;
	}
	
	.nav .menu-level-1:last-child > a { 
		border-bottom: none;
	}
	
	.nav .menu-level-2 > a {
		padding: 9px 13px 9px 60px;
		border-bottom: 1px solid #cbcbcb;
		font-size: 85.7%;
	}
	
	.nav .menu-level-1:last-child .menu-level-2:last-child > a   { 
		border-bottom: none;
	}
	
}


/* ---------------------------------------------------------------------------------------- 

	[upper]

---------------------------------------------------------------------------------------- */

.upperNavi {
	margin: 0 0 15px;
	padding: 0 0 0 10px;
	font-size: 85.7%;
	
}

.upperNavi .box {
	margin-bottom: 0 !important;
}

.upperNavi ul {
	margin: 0;
}

.upperNavi ul li {
	float: left;
	padding: 0;
	background: none;
}

.upperNavi ul li a,
.upperNavi ul li div {
	display: block;
	padding: 0 15px;
	text-decoration: none;
	background: url(../images/common/arrow.gif) no-repeat left 2px;
	color: #000;
}

.upperNavi ul li a:hover,
.upperNavi ul li a.menu-selected {
	color: #6e6e6e;
	text-decoration: underline;
}

.upperNavi ul li a.imgNavi,
.upperNavi ul li div.imgNavi {
	padding: 0;
	background: none;
}


/* ---------------------------------------------------------------------------------------- 

	[bottom]

---------------------------------------------------------------------------------------- */

.bottomNavi {
	margin: 0 0 15px;
	padding: 0 0 0 10px;
	font-size: 85.7%;
	
}

.bottomNavi .box {
	margin-bottom: 0 !important;
}

.bottomNavi ul {
	margin: 0;
}

.bottomNavi ul li {
	float: left;
	padding: 0;
	background: none;
}

.bottomNavi ul li a,
.bottomNavi ul li div {
	display: block;
	padding: 0 15px;
	text-decoration: none;
	background: url(../images/common/arrow.gif) no-repeat left 2px;
	color: #000;
}

.bottomNavi ul li a:hover,
.bottomNavi ul li a.menu-selected {
	color: #6e6e6e;
	text-decoration: underline;
}

.bottomNavi ul li a.imgNavi,
.bottomNavi ul li div.imgNavi {
	padding: 0;
	background: none;
}


/* ---------------------------------------------------------------------------------------- 

	[opt1][opt2][opt3]

---------------------------------------------------------------------------------------- */

.opt1Navi,
.opt2Navi {
	margin: 0 0 15px;
	border-top: 8px solid #d82b3b;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.opt1Navi ul,
.opt2Navi ul {
	margin: 0;
}

.opt1Navi ul li,
.opt2Navi ul li {
	margin: 0;
	padding: 0;
	background: none;
}

.opt1Navi ul li a,
.opt2Navi ul li a,
.opt1Navi ul li div,
.opt2Navi ul li div  {
	display: block;
	padding: 10px 25px 10px 10px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	color: #c70b22;
	text-decoration: none;
	background: url(../images/common/arrow.gif) no-repeat right center;
}

.opt1Navi ul li a.imgNavi,
.opt2Navi ul li a.imgNavi,
.opt1Navi ul li div.imgNavi,
.opt2Navi ul li div.imgNavi {
	margin: 0 !important;
	padding: 0;
	background-image: none !important;
	background: #fff !important;
}

.opt1Navi ul li a:hover,
.opt2Navi ul li a:hover {
	
	text-decoration: underline;
}

.opt1Navi ul li a.menu-selected,
.opt2Navi ul li a.menu-selected,
.opt1Navi ul li a.selected,
.opt2Navi ul li a.selected {
	margin: 0 -1px;
	color: #fff;
	background: url(../images/menu/bg_optnavi_01on.gif) no-repeat right center #d82b3b;
}

.opt2Navi ul li a,
.opt2Navi ul li div,
.opt2Navi ul li a.menu-selected,
.opt2Navi ul li a.selected  {
	background-position: right center;
}


/* 第2階層
-------------------------------------------- */

.opt1Navi ul li ul li a,
.opt2Navi ul li ul li a,
.opt1Navi ul li ul li div,
.opt2Navi ul li ul li div {
	padding: 8px 10px 8px 32px;
	box-shadow:rgb(255, 255, 255) 0px 1px 0px 0px inset;
	color: #000;
	background: url(../images/menu/bg_optnavi_02.gif) no-repeat 12px center #f4f4f4;
}

.opt1Navi ul li ul li a:hover,
.opt2Navi ul li ul li a:hover {
	
}

.opt1Navi ul li ul li a.menu-selected,
.opt2Navi ul li ul li a.menu-selected,
.opt1Navi ul li ul li a.selected,
.opt2Navi ul li ul li a.selected {
	margin: 0 -1px;
	box-shadow: none;
	color: #fff;
	background: url(../images/menu/bg_optnavi_02on.gif) no-repeat 12px center #b82230;
}


/* 第3階層
-------------------------------------------- */

.opt1Navi ul li ul li ul li,
.opt2Navi ul li ul li ul li {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	background: #ffd7db;
}

.opt1Navi ul li ul li ul li a,
.opt2Navi ul li ul li ul li a,
.opt1Navi ul li ul li ul li div,
.opt2Navi ul li ul li ul li div {
	border: none;
	box-shadow: none;
	background: none;
}

.opt1Navi ul li ul li ul li a.menu-selected,
.opt2Navi ul li ul li ul li a.menu-selected,
.opt1Navi ul li ul li ul li a.selected,
.opt2Navi ul li ul li ul li a.selected {
	margin: 0;
	border-top: 1px solid #fff;
	color: #000;
	background: #e8bebe;
}


/* 第4階層以下
-------------------------------------------- */

.opt1Navi ul li ul li ul li ul li,
.opt2Navi ul li ul li ul li ul li {
	overflow-x: hidden;	
	padding-left: 5px;
	border: none;
}

.opt1Navi ul li ul li ul li ul li a,
.opt2Navi ul li ul li ul li ul li a,
.opt1Navi ul li ul li ul li ul li div,
.opt2Navi ul li ul li ul li ul li div {
	border: none;
}

.opt1Navi ul li ul li ul li ul li a.menu-selected,
.opt2Navi ul li ul li ul li ul li a.menu-selected,
.opt1Navi ul li ul li ul li ul li a.selected,
.opt2Navi ul li ul li ul li ul li a.selected {
	background: none;
}


/* ---------------------------------------------------------------------------------------- 

	[side][right]

---------------------------------------------------------------------------------------- */

.sideNavi,
.rightNavi {
	margin: 0 0 15px;
}

.sideNavi ul,
.rightNavi ul {
	margin: 0;
	border-bottom: 1px solid #cbcbcb;
}

.sideNavi ul li,
.rightNavi ul li {
	padding: 0;
	background: none;
}

.sideNavi ul li a,
.rightNavi ul li a,
.sideNavi ul li div,
.rightNavi ul li div {
	display: block;
	padding: 12px 13px 12px 30px;
	border: 1px solid #cbcbcb;
	border-bottom: none;
	color: #000;
	text-decoration: none;
	background: url(../images/menu/bg_sidenavi_01.gif) no-repeat left top #d7d7d7;
}

.sideNavi ul li a:hover,
.rightNavi ul li a:hover {
	color: #ac101b;
	text-decoration: underline;
	background: url(../images/menu/bg_sidenavi_01hover.gif) no-repeat left top #fbfbfb;
}

.sideNavi ul li a.menu-selected,
.rightNavi ul li a.menu-selected {
	border: none;
	color: #fff;
	background: url(../images/menu/bg_sidenavi_01on.gif) no-repeat left top #d82b3b;
}

.sideNavi ul li a.imgNavi,
.rightNavi ul li a.imgNavi,
.sideNavi ul li div.imgNavi,
.rightNavi ul li div.imgNavi,
.sideNavi ul li a.imgNavi:hover,
.rightNavi ul li a.imgNavi:hover {
	padding: 0 !important;
	border: 1px solid #cbcbcb !important;
	border-bottom: none !important;
	background: #fff !important;
}


/* 第2階層
-------------------------------------------- */

.sideNavi ul li ul,
.rightNavi ul li ul {
	padding: 0;
	border: 1px solid #cbcbcb;
	border-bottom: none;
	border-top: none;
}

.sideNavi ul li ul li,
.rightNavi ul li ul li {
	border-bottom: none;
}

.sideNavi ul li ul li a,
.rightNavi ul li ul li a,
.sideNavi ul li ul li div,
.rightNavi ul li ul li div {
	padding: 9px 13px 9px 40px;
	border-right: none;
	border-left: none;
	font-size: 85.7%;
	background: url(../images/common/arrow.gif) no-repeat 20px 11px #f4f4f4;
}

.sideNavi ul li ul li a:hover,
.rightNavi ul li ul li a:hover {
	background: url(../images/common/arrow.gif) no-repeat 20px 11px #f4f4f4;
}

.sideNavi ul li ul li a.menu-selected,
.rightNavi ul li ul li a.menu-selected {
	margin: 0 -1px;
	background: url(../images/menu/bg_sidenavi_02on.gif) no-repeat 20px 11px #b82230;
}

.sideNavi ul li ul li  a.imgNavi,
.rightNavi ul li ul li  a.imgNavi,
.sideNavi ul li ul li  div.imgNavi,
.rightNavi ul li ul li  div.imgNavi,
.sideNavi ul li ul li  a.imgNavi:hover,
.rightNavi ul li ul li  a.imgNavi:hover {
	margin: 0 !important;
	border: none !important;
}


/* 第3階層
-------------------------------------------- */

.sideNavi ul li ul li ul,
.rightNavi ul li ul li ul {
	border: none;
}

.sideNavi ul li ul li ul li a,
.rightNavi ul li ul li ul li a,
.sideNavi ul li ul li ul li div,
.rightNavi ul li ul li ul li div {
	border: none;
	background: url(../images/menu/li_sidenavi_02.gif) repeat-x center top #fff;
}

.sideNavi ul li ul li ul li a:hover,
.rightNavi ul li ul li ul li a:hover {
	background: url(../images/menu/li_sidenavi_02.gif) repeat-x center top #fff;
	color: #d82b3b;
}

.sideNavi ul li ul li ul li a.menu-selected,
.rightNavi ul li ul li ul li a.menu-selected {
	margin: 0;
	color: #d82b3b;
	background-image: none;
	background: #fff;
}


/* 第4階層以下
-------------------------------------------- */

.sideNavi ul li ul li ul li ul li,
.rightNavi ul li ul li ul li ul li {
	overflow-x: hidden;	
	padding-left: 5px;
}

.sideNavi ul li ul li ul li ul li a,
.rightNavi ul li ul li ul li ul li a,
.sideNavi ul li ul li ul li ul li div,
.rightNavi ul li ul li ul li ul li div {
	border: none;
	background: none;
}

.sideNavi ul li ul li ul li ul li a:hover,
.rightNavi ul li ul li ul li ul li a:hover {
	background: none;
}


/* ---------------------------------------------------------------------------------------- 

	[footer]

---------------------------------------------------------------------------------------- */

.footerNavi {
	margin: 0 0 15px;
}

.footerNavi ul {
	margin: 0;
}

#footer .footerNavi ul li {
	float: left;
	margin: 0;
	padding: 0 12px;
	font-size: 85.7%;
	background: url(../images/menu/bg_footernavi.gif) no-repeat center left;
}

#footer .footerNavi ul li a {
	text-decoration: none;
}