@charset "utf-8";
/* Rudimentary mega menu CSS for demonstration */



#navbox {
	width: 950px;
	height: 81px;
	background: url(../images/menuBgText.png) no-repeat top center;
	padding: 3px 0 0 0;
	position: absolute;
	z-index: 498;
}
#home #navbox {
	width: 950px;
	height: 74px;
	background: url(../images/menuBg.png) repeat-x top left;
	padding: 3px 0 0 0;
	position: absolute;
	z-index: 498;
}
.ccm-page nav {
	background: url(../images/menuBgUpper.png) no-repeat top center;
	height: 41px;
	font-size: 12px;
	font-size: 1.2rem;
	z-index: 498;
}
.nav-menu {
	height: 2em;
	margin-bottom: 1em;
	margin-top: 3px;
	position: absolute;
	left: 25px;
	z-index: 498;
}
.nav-menu a:hover {
	color: #b634bb;
}
.nav-menu li:first-child a {
	border-left-style: none;
	background-image: none;
}
.sub-nav a {
	background: none;
}
/* mega menu list */
.nav-menu {
	display: block;
	position: relative;
	list-style: none;
	margin: 0;
	padding: 3px 0 0 0;
	z-index: 15;
}
.nav-menu a {
	text-decoration: none;
	background: url('../images/sep1e.png') no-repeat top left;
	color: #535353;
	font-weight: bold;
}
/* a top level navigation item in the mega menu */
.nav-item {
	list-style: none;
	display: inline-block;
	padding: 0;
	margin: 0;
}
/* first descendant link within a top level navigation item */
.nav-item > a {
	position: relative;
	display: inline-block;
	padding: 0.5em 1em;
	margin: 0 0 -1px 0;
	border: 1px solid transparent;
	width: 150px;
	text-align: center;
}
/* focus/open states of first descendant link within a top level
navigation item */
.nav-item > a:focus, .nav-item > a.open {
	outline : none;
}
/* open state of first descendant link within a top level
navigation item */
.nav-item > a.open {
	/*background-color: #fff;*/
	border-bottom: none;
	z-index: 1;
}
/* sub-navigation panel */
.sub-nav {
	position: absolute;
	display: none;
	top: 2.6em;
	margin-top: 9px;
	padding: 0.5em 1em;
	left: 230px;
}
.sub-nav {
	width: 650px!important;
	padding: 10px 5px 30px 10px!important;
	background-color: #fff!important;
	border-radius: 0 0 10px 10px;
	border-bottom: 3px solid #bd1098!important;
	border-left: 3px solid #bd1098!important;
	border-right: 3px solid #bd1098!important;
}
.sub-nav-group {
	/*width: 500px;*/width: 300px;
}
/* sub-navigation panel open state */
.sub-nav.open {
	display: block;
}
/* list of items within sub-navigation panel */
.sub-nav ul {
	display: inline-block;
	vertical-align: top;
	margin: 0 1em 0 0;
	padding: 0;
}
/* list item within sub-navigation panel */
.sub-nav li {
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.sub-nav-group ul li {
	width: 70px;
	display: block;
	float: left;
	clear: none;
}
#umenu {
	margin-left: 60px;
}
#umenu li a:hover {
	color: #b634bb;
}
.sub-nav-group .check li {
	width: 200px;
	display: block;
	float: left;
	clear: none;
}
.sub-nav-group > li {
	clear: left;
}
.subarrow {
	position: absolute;
	display: block;
	right: .75em;
	top: 1.05em;
	width: 10px;
	height: 10px;
	text-indent: -999em;
	overflow: hidden;
	background: url('../images/arrow_grey2.png') no-repeat;
}
a > .subarrow {  /* give all except IE6 the correct values */
	top: .8em;
	background-position: 0 -100px; /* use translucent arrow for modern browsers*/
}
/* apply hovers to modern browsers */
a:focus > .subarrow, a:hover > .subarrow, a:active > .subarrow, li:hover > a > .subarrow {
	background-position: -10px -100px; /* arrow hovers for modern browsers*/
}
#umenu li:hover li:hover > a > .subarrow {
	background-position: -10px 0px; /* arrow hovers for modern browsers*/
}
.sub-nav-group {
	margin-top: 20px;
	padding: 20px 0px 0px 10px!important;
}
#umenu ul a > .subarrow {
	background-position: 0 0;
}
#umenu ul a:focus > .subarrow, #umenu ul a:hover > .subarrow, #umenu ul a:active > .subarrow, li:hover > #umenu ul a > .subarrow, li.sfHover > #umenu ul a > .subarrow {
	background-position: -10px 0; /* arrow hovers for modern browsers*/
}
#umenu ul ul a > .subarrow {
	background-position: 0 0;
}
#umenu ul ul a:hover > .subarrow {
	background-position: -10px 0;
}
#umenu ul ul a:active > .subarrow {
	background-position: -10px 0;
}
.sub-nav-group {
	clear: left;
}
.sub-nav-group ul {
	float: left!important;
	display: block;
	margin: 10px 0px 10px 30px;
	margin-right: 27px!important;
	max-width: 200px;
}
.sub-nav-group li {
	margin-top: 40px;
	clear: both;
	float: none;
}
.sub-nav-group li:first-child {
	margin-top: 0;
}
.sub-nav-group li a {
	background-image: none;
	display: block;
}
.sub-nav-group ul li {
	float: none;
	margin-top: 0px;
}
.sub-nav-group ul li a {
	padding: 5px;
	font-size: 13px;
	font-weight: normal!important;
	width: 250px!important;
}
.sub-nav-group ul.check li {
	background: url(../images/menu/icon_check.png) center left no-repeat!important;
	padding: 3px 4px 3px 17px!important;
	margin: 0;
}
.nicon.hotel {
	background: url(../images/menu/icon_hotel_c3.png) top left no-repeat;
}
.nicon.car {
	background: url(../images/menu/icon_car.png) top left no-repeat;
}
.nicon.insurance {
	background: url(../images/menu/icon_insurance.png) top left no-repeat;
}
.nicon.deli {
	background: url(../images/menu/icon_deli.png) top left no-repeat;
}
.nicon.shopping {
	background: url(../images/menu/icon_shopping.png) top left no-repeat;
}
.nicon.access {
	background: url(../images/menu/icon_access.png) top left no-repeat;
}
.nicon.wifi {
	background: url(../images/menu/icon_wifi.png) top left no-repeat;
}
.nicon.tour {
	background: url(../images/menu/icon_tour.png) top left no-repeat;
}
.nicon.card {
	background: url(../images/menu/icon_card.jpg) top left no-repeat;
}
.nicon.express {
	background: url(../images/menu/icon_express.png) top left no-repeat;
}
.nicon.point {
	background: url(../images/menu/icon_point.png) top left no-repeat;
}
.nicon.sale {
	background: url(../images/menu/icon_sale.png) top left no-repeat;
}
.nicon.campaign {
	background: url(../images/menu/icon_campaign.png) top left no-repeat;
}
.nicon > a {
	padding-left: 30px;
	font-size: 16px;
	font-size: 1.6rem;
}
.nicon > p {
	padding-left: 30px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
}
.nicon > span {
	padding-left: 30px;
	display: block;
	font-size: 11px;
	font-size: 1.1rem;
}
.longbox {
	width: 500px;
}
/*下ナビ*/
#umenu {
	list-style-type: none;
	width: 900px;
	margin: 0px auto 500px;
	padding: 0;
	margin-left: 60px;
}
#umenu li {
	position: relative;
	/*width: 15%;*/
	float: left;
	margin: 0;
	padding: 0;
}
#umenu li a {
	padding-right: 2.25em;
	min-width: 1px;
}
#umenu li a {
	display: block;
	margin: 0;
	padding-top: 9px;
	padding-left: 9px;
	padding-bottom: 9px;
	color: #535353;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
	text-align: center;
	background: url('../images/menu/sep2e.png') no-repeat center left;
}
#home #umenu li a {
	color: #fff;
}
#umenu li a.none {
	padding-right: 10px;
}
#umenu li:first-child a {
	background-image: none;
}
#umenu li ul {
	list-style: none;
	position: absolute;
	z-index: 100;
	top: 100%;
	left: 0;
	/* width: 100%;*/
	margin: 0;
	padding: 0;
}
#umenu li ul li {
	overflow: hidden;
	height: 0;
	color: #333;
	/*transition: .2s;*/
	width: 210px; /* 2017919編集（元は200px） */
}
#home #umenu li ul li a, #umenu li ul li a {
	padding: 10px;　 /* 2017919編集（元は10px 15px） */
	background: #FFF;
	border: 1px dotted #CCC;
	text-align: left;
	font-size: 12px;
	font-size: 1.2rem;
	color: #333;
	font-weight: bold;
	line-height:150%; /* 2017919追加 */
}
#umenu > li:hover li:hover > a {
	background-color: #EEE;
}
#umenu > li:hover li:hover li:hover > a {
	background-color: #EEE;
}
#umenu li:hover > ul > li {
	overflow: visible;
	height: 33px;
	background-position: -20px 0;
	background-color: #FFF;
}
#umenu li:hover > ul > li.long {
	height: 100%;
	background-color: #FFF;
}
#umenu li:hover > ul > li.long a{
	height: 100%;
	background-color: #FFF;
}
#umenu li:hover > ul > li.long2 {
	height: 55px;
	background-color: #FFF;
}
#umenu li ul li ul {
	top: 0;
	left: 100%;
}
#umenu li:last-child ul li ul {
	/*left: -100%;*/
	width: 100%;
}
#umenu li ul li ul li a {
	background: #FFF
}
#umenu li:hover ul li ul li:hover > a {
	background: #FFF
}
#umenu li ul li ul:before {
	position: absolute;
	content: "";
	top: 13px;
	left: -20px;
	width: 0;
	height: 0;
	border: 0px solid transparent;
	border-left-color: #454e08;/**/
}
#umenu li:last-child ul li ul:before {
	position: absolute;
	content: "";
	top: 13px;
	left: 200%;
	margin-left: -20px;/* border: 0px solid transparent;
  border-right-color: #454e08;*/


}
#togglebutton a {
	display: block;
	width: 24px;
	height: 74px;
}
.btn-open {
	width: 24px;
	height: 74px;
	position: absolute;
	right: 16px;
	top: 4px;
	z-index: 499;
	background: url("../images/menu_close.png") no-repeat top left;
}
#home .btn-open {
	width: 24px;
	height: 74px;
	position: absolute;
	right: 6px;
	top: 0px;
	z-index: 499;
	background: url("../images/menu_close.png") no-repeat top left;
	cursor:pointer;
}
.btn-close {
	width: 24px;
	height: 74px;
	position: absolute;
	top: 4px;
	z-index: 499;
	background: url("../images/menu_open.png") no-repeat top left;
}
#home .btn-close {
	width: 24px;
	height: 74px;
	position: absolute;
	top: 0;
	z-index: 499;
	background: url("../images/menu_open.png") no-repeat top left;
}
.btn-ibe-open {
	width: 24px;
	height: 74px;
	position: absolute;
	left: 240px;
	top: 123px;
	z-index: 99;
	background: url("../images/menu_ibe_close.png") no-repeat top left;
}
.btn-ibe-close {
	width: 30px;
	height: 74px;
	position: absolute;
	left: 0px;
	top: 123px;
	z-index: 99;
	background: url("../images/menu_ibe_open.png") no-repeat top left;
}
#togglebutton-ibe a {
	display: block;
	width: 24px;
	height: 74px;
}
/*rmenu*/


.bnr-buttons {
	margin-top: 0px;
	padding-top: 4px;
	border-top: 2px solid #999;
	text-align: center;
}
#rmenu {
	width: 220px;
	z-index: 497;
	height: 355px;
	padding: 0px;
	-webkit-border-radius: 0px 0px 8px 8px;
	-moz-border-radius: 0px 0px 8px 8px;
	border-radius: 0px 0px 8px 8px;
	position: relative;
}
#home #rmenu {
	margin: 38px 0 0 20px;
	width: 240px;
	z-index: 497;
	/*background-color:#CCC; */
	left: -20px;
	background: #fff;
	height: 355px;
	padding: 0px;
	-webkit-border-radius: 0px 0px 8px 8px;
	-moz-border-radius: 0px 0px 8px 8px;
	border-radius: 0px 0px 8px 8px;
	top: 40px;
	position: absolute;
}
