@charset "utf-8";

#container{
	position: relative;	
}

#container,
#contents{
	width: 100%;
	min-width: 320px;
	
}

#contents{ 
	width: 100%;
	overflow: hidden;
}


/*inactive elements
---------------------------------------------------*/
#gnav_header,
#conversion,
#footer_campaign,
#common_footer,
#footer
{
	display: none !important;
}


/*SP menu
-------------------------------------------------*/
.menu_region{
	background: #fff;
}

.sp_menu{
	width: 100%;
	height: 0;
	margin: 0;
	padding: 30px 0 0;
	z-index: 50;
	background: #eee;
	position: relative;
	display: none;
	top: 0;
}

.sp_menu h1{
	width: 110px;
	height: auto;
	position: absolute;
	top: 5px;
	left: 50%;
	margin: 0 0 0 -60px;
	z-index: 300;
	padding: 0;
}

.sp_menu h1 img{
	width: 150%;
	height: auto;
	margin: 0 0 0 -20px;
}

.sp_menu .hnbgr{
	position: absolute;
	left: 15px;
	top: 50%;
	margin: -9px 0 0;
	cursor: pointer;
}

.sp_menu .hnbgr img{
	width: 30px;
	height: auto;
	
}


.sp_menu nav{
	width: 100%;
	height:auto;
	margin: 0;
	z-index: 0;
	display: none;
}

#safety.mainmenu{ padding: 0; }


.sp_menu nav .menu_block{
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0 0 500px;
	/*position: absolute;
	top: auto;
	left: 0;*/
	padding: 0;
	background: #fff;
	z-index: 100px;
}

.sp_menu nav ul .mainmenu{
	float: none;
	margin: 0;
	border-bottom: solid #ccc 1px;
	width: 100%;
	padding: 0;
}

.sp_menu .top_arrow{
	position: absolute;
	top: -5px;
	left: 50%;
	margin: 0 0 0 -12px;
	display: none;
}

.sp_menu .mainmenu{
	width: auto;
	height: auto;
	position: relative;
	z-index: 100;
}


.sp_menu a.menubtn{
	display: block;
	height: 30px;
	cursor: pointer;
	margin: 0;
	padding: 5px 0;
	position: relative;
}

.sp_menu a.menubtn .main_btn::after,
.sp_menu .sub a .stxt::after{
	content: url(menu/img/arrow_m.png);
	position: absolute;
	top: 50%;
	right: 30px;
	margin: -10px 0 0;
}

.sp_menu .mon::after{
	content: none;
}

.sp_menu .main_btn{
	height: 30px;
	position: relative;
	overflow: hidden;
	margin:  0;
	
}

.sp_menu .mainmenu .main_btn img{
	position: absolute;
	left: 55px;
	width: auto;
	height: 62px;
}



/*////sub menu////*/
.sp_menu .submenu {
	position: relative;
	top: auto;
	left: auto;
	background: none;
	border-bottom :none;
	border-radius: 0;
	z-index: auto;
	display: block;
	box-shadow: none;
	width: 100%;
}


.sp_menu .submenu .thumb,
.sp_menu .submenu .thumb img{
	display: none;
}

.sp_menu .posi1::after,
.sp_menu .posi2::after,
.sp_menu .posi3::after,
.sp_menu .posi4::after{
	content: none;
	position: relative;
	top: auto;
	margin: 0;
}

.sp_menu .sub li{
	display: block;
	margin: 0;
	width: 100%;
	border-top: solid #eee 1px;
}

.sp_menu .sub li a{
	display: block;
	margin: 0;
	width: 100%;
	position: relative;
}

.sp_menu .sub li span {
	display: table-cell;
	vertical-align: middle;
	padding: 20px 20px 20px 0;
}

.sp_menu .sub li .stxt {
	width: 100%;
	margin: 0;
	font-size: 12px;
	padding: 10px 50px 10px 80px;
	color: #333;
	line-height: 1.4em;
	letter-spacing: 0;
}

.lineup_menu_area .sub li .ptxt{
	display: none;	
}


.sp_menu .sub li .stxt strong,
.sp_menu .sub li.spcont .stxt{	
	font-size: 15px;
	font-weight: normal;
	display: block;
	margin: 0;
	line-height: 1.4em;
}


.sp_menu .sub hr{
	display: none;
}


.sp_menu .sub li.spcont{
	display: block;
	padding: 0;
	width: auto;
	height: auto;
	margin: 0 auto 0;
}



.sp_menu .sub li.spcont .spbnr{
	display: none;
}
