@charset "utf-8";

/* トップ
---------------------------------------------------*/

#mainImgArea{
	position:relative;
	margin:0 0 20px;
	padding:0;
	background:url(../images/top/icon_loading.gif) no-repeat #000 50% 50%;
	font-size:18px;
	overflow:hidden;
	height:350px;
	border-radius: 5px;        /* CSS3草案*/
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 5px;   /* Firefox用 */ 
}

#mainImgArea #mainImg{
	border-radius:0;        /* CSS3草案 */
	-webkit-border-radius:0;    /* Safari,Google Chrome用 */
	-moz-border-radius:0;   /* Firefox用 */
	text-align:center;
	color:#FFF;
	z-index:1;
	margin:0 auto;
	text-shadow: 1px 1px 3px #000;
	line-height:150%;
	width: 100%;
	height:auto !important;
	position:absolute;
	overflow:visible;
}

#mainImgArea #mainImg h1{
	position:inherit;
	padding:0;
	margin:0;
	top:0;
	left:0;
	z-index:99;
	background-color:transparent;
	text-align:center;
	display:block;
	width:100%;
	height:100%;
}

#mainImgArea #mainImg img{
	margin:0;
}

#mainImgArea .flexslider{
	overflow:hidden;
	margin:0;
	border:none;
}

#mainImgArea .flexslider{
	overflow:hidden;
	margin:0;
	border:none;
}

#mainImgArea .flexslider .slides li{
	overflow:hidden;
	border-radius: 5px;        /* CSS3草案*/
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 5px;   /* Firefox用 */
}

#mainImgArea .flexslider img{
	width:100%;
	height:350px;
	background-size:cover;
	background-position:50% 50%;
	overflow:hidden;
}

#mainImgArea .flex-control-nav{
	bottom:20px;
}

/* ヘッダ
---------------------------------------------------*/

#base{
	position:relative;
	overflow:hidden;
	min-width:1100px;
}

/* マスター用 */
#headerArea{
	position: relative;
}

#header{
	display: block;
	height: 55px;
	overflow: hidden;
}

#header a#logo{
	float:left;
	width:215px;
	margin:10px 0 0 0;
	text-decoration: none;
	background:url(../images/header/logo.png) no-repeat 0 50%;
	padding: 0;
	height: 28px;
	text-indent: -9999px;
	display:block;
}

/* IE6ハック */
*html #header a#logo{
	margin-left:0px;
}

#header #catch{
	float:left;
	width:320px;
	color:#02b2e4;
	font-size: 10px;
	text-align: left;
	margin: 20px 0 0 15px;
}

/* サブメニュー */

div#subMenu{
	list-style:none;
	float: right;
	width: auto;
	overflow: hidden;
	position: absolute;
	right: 0px;
	top: -2px;
	z-index: 9999;
	margin: 0 50px 0 0;
}

div#subMenu a{
	text-decoration:none;
	margin: 0 2px;
	color: #FFF;
	padding: 4px 10px;
	white-space: nowrap;
	display:inline-block;
	border-radius:0 0 5px 5px;        /* CSS3草案 */
	-webkit-border-radius:0 0 5px 5px;    /* Safari,Google Chrome用 */
	-moz-border-radius:0 0 5px 5px;   /* Firefox用 */
	-webkit-transition: 0.3s ease-in-out;
}

div#subMenu a:hover{
	background:#000;
}

div#subMenu a span{
	color:#000;
	background:url(../images/header/bg_free.png) no-repeat 0 50%;
	padding: 0 5px 0 11px;
	font-weight: bold;
	font-size: 11px;
	margin: 0 0 0 5px;
}

/* 検索フォーム
---------------------------------------------------*/

#searchArea{
	padding:5px 15px 10px;
	margin:0 auto 15px;
	border-bottom:3px double #e2e2e2;
	width: 700px;
}

table#searchTable{
	margin:0;
	border-collapse:collapse;
	width: 700px;
	border-top:1px dotted #d2d2d2;
}

table#searchTable th{
	white-space:nowrap;
	padding: 0 5px;
	text-align: right;
	color: #042858;
}

table#searchTable td div{
	border-left:1px dotted #d2d2d2;
	padding:0 5px;
	margin:4px 0;
}

table#searchTable th,table#searchTable td{
	border-bottom:1px dotted #d2d2d2;;
}

table#searchTable tr.last th,table#searchTable tr.last td{
	border:none;
}

ul#searchBar{
	list-style:none;
	padding:7px 8px;
	margin: 0 0 10px;
	border: 1px solid #e2e2e2;   /* Firefox用 */
	height: 20px;
	background: #FCFCFC;
}

/* IE7用ハック */
*:first-child+html ul#searchBar{
	width:860px;
}

ul#searchBar:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

ul#searchBar li{
	float:left;
	margin: 0 5px 0 0;
	padding:0;
	overflow:hidden;
}

ul#searchBar li #keyword{
	width:220px;
	height: 14px;
	margin:0;
}

ul#searchBar li #btnSearch{
	background:url(../images/contents/btn_search.gif) no-repeat 0 0;
	display: block;
	height: 22px;
	width: 86px;
	border:none;
	cursor:pointer;
	text-indent: -9999px;
	margin: 0 10px 0 0;
}

ul#searchBar li select{
	margin:0
}

ul#searchBar li a{
	white-space: nowrap;
}

ul#searchBar li strong{
	background-color:#313131;
	color: #FFF;
	font-weight: normal;
	padding: 2px 8px;
	border-radius:3px;        /* CSS3草案 */
	-webkit-border-radius:3px;    /* Safari,Google Chrome用 */
	-moz-border-radius:3px;   /* Firefox用 */
}

/* パン屑リスト
---------------------------------------------------*/

ul#path{
	list-style:none;
	font-size: 11px;
	padding:40px 0 0;
	letter-spacing: 2px;
	margin:0 50px 0 310px;
}

ul#path:after {
	content:".";
	height:0;
	clear:both;
	visibility:hidden;
}

ul#path li{
	float:left;
	margin: 0 0 3px 3px;
	padding: 0;
}

ul#path li#home{
	margin:0;
}

ul#path li a,ul#path li strong{
	display:block;
	background:url(../images/contents/icon_arrow02.gif) no-repeat 0 50%;
	padding: 0 0 0 12px;
}

ul#path li a{
	white-space:nowrap;
}

ul#path li#home a{
	background:none;
	padding: 0;
}

ul#path li#current{
	margin-bottom: 10px;
}

/* コンテンツ
---------------------------------------------------*/

#mainbody {
	margin: 0 auto;
	zoom:100%;
	clear: both;
	text-align: left;
	padding: 0 0 30px;
	min-height:100%;
	overflow:hidden;
}

#mainbody:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

#rightbody{
	float:right;
	width:100%;
	margin:0;
	padding:0;
	position: relative;
	margin-left: -260px;
}

* html #rightbody{overflow: hidden;}

#contents{
	margin: 0 50px 0 310px;
	clear: both;
	position: relative;
	padding:10px 0 0;
	width:730px;
	min-height:800px;
}

#contents.widthFree{
	width:auto;
}

#contentsInner{
	width:730px;
	margin:0 auto;
	text-align: left;
}

#contents span{
	/* [disabled]line-height:165%; */
}

#contentsNavi{
	padding: 0;
	height: 24px;
}

#contentsNavi:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

#contentsNavi ul{
	list-style:none;
	margin:0 20px 5px;
	padding:0;
}

#contentsNavi li{
	float:left;
	margin:0 10px 0 0;
	padding:0 5px;
	border-bottom: 1px dotted #313131;
}

.frame{
	background:#FFF;
	margin:0 0 15px;
	padding:0;
	border-top:none;
	/* border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	box-shadow:0 0 5px #999; */
}

.block{
	background:#FFF;
	margin:0 0 15px;
	padding:0;
}

.blockLeft,.blockRight{
	width:358px;
	float:left;
}

.blockRight{
	float:right;
}

/* 左メニュー
---------------------------------------------------*/

#leftbody{
	float:right;
	width:178px;
	text-align: left;
	margin: 0;
	position:relative;
	padding: 40px 40px 20px;
	/* [disabled]background-color:#fefdf8; */
	border-right:1px dotted #cdcdcd;
	overflow: hidden;
	height: 100%;
	padding-bottom:4999px;
	margin-bottom:-4999px;
}

#leftbody a#logo{
	width:127px;
	height:153px;
	background:url(../images/side/logo.png) #fefdf8 no-repeat 0 50%;
	padding: 0;
	text-indent: -9999px;
	display:block;
	margin: 0 0 20px 26px;
}

#leftbody #catchArea{
	text-align:center;
	margin: 0 -20px 20px;
}

#leftbody #catch{
	margin: 0 auto;
	text-align:left;
	display:inline-block;
}

/* 検索フォーム */
#searchObject ul{
	border-top:2px solid #e5e5e5;
	list-style:none;
	margin:0 0 15px;
	padding:0;
	width:180px;
	background-color:#FFF;
}

#searchObject ul li input[type=text],#searchObject ul li select,span.customSelect,#searchObject ul li#searchGoodForm{
	border:2px solid #e5e5e5;
	border-top:none;
	width:164px;
	margin-right: 4px;
	padding: 6px;
}

#searchObject ul li input{
	border-radius:0px;
	-webkit-border-radius:0px;
	-moz-border-radius:0px;
}

#searchAddrForm span.customSelect,#searchLineForm span.customSelect,#searchStationForm span.customSelect{
	background-color:#F9F9F9;
}

/*span.customSelect.changed {
	background-color: #f0dea4;
}*/
.customSelectInner,#searchObject ul li #searchGoodClick{
	background:url(/user_data/images/side/arrow_down.png) no-repeat center right;
}

#searchObject ul li #searchGoodClick{
	cursor:pointer;
}

#searchObject ul li #searchGoodClick.select{
	background-image:url(/user_data/images/side/arrow_up.png);
}

#searchObject ul li #searchGoodArea{
	padding:10px 0 0;
	font-size:11px;
}

#searchObject ul li select{
	width:180px;
}

#searchObject #btn_search input,#searchObject #btn_reset input{
	background:url(../images/side/btn_search.png) #000 no-repeat 50% 50%;
	text-indent:-9999px;
	display:block;
	width: 180px;
	height: 34px;
	border: none;
	cursor: pointer;
	border-bottom:2px solid #333;
	background-size:auto 20px;
}

#searchObject #btn_reset input{
	background-image:url(../images/side/btn_reset.png);
	background-color:#959595;
	border-bottom:2px solid #7d7d7d;
	background-size:auto 14px;
}

#searchAddr,#searchLine,#searchStation{
	background-color:#FAFAFA;
}

/* サイドリスト */

ul#sideList{
	background-color:#000;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	margin:0 0 10px;
	padding:0;
	list-style:none;
}

ul#sideList li{
	margin:0;
	padding:0;
}

ul#sideList li a{
	display:block;
	padding:8px 30px 8px 10px;
	background:url(../images/contents/icon_arrow_wh02.gif) no-repeat 165px 50%;
	color:#FFF;
}

/* サイドメニュー */

#leftbody ul#sideMenu,#leftbody #sideSearch{
	clear: both;
	height: 100%;
	list-style:none;
	margin:0 0 10px;
	padding:5px;
	background:#f9f9f9;
	box-shadow:0 0 5px #EFEFEF inset;
	border-radius: 5px;        /* CSS3草案 */
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 5px;   /* Firefox用 */
}

#leftbody ul#sideMenu li{
	font-size: 12px;
	line-height: 150%;
	margin:0 0 5px;
}

#leftbody ul#sideMenu li a{
	display:block;
	border: 1px solid #EFEFEF;
	padding: 8px 10px;
	background:#FFF;
	border-radius: 5px;        /* CSS3草案 */
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 5px;
}

#leftbody ul#sideMenu ul{
	list-style:none;
	margin:0;
	padding:3px 0 0;
}

#leftbody ul#sideMenu ul li{
	margin: 0 0 3px;
	padding: 0;
}

#mainbody #leftbody ul#sideMenu ul li a{
	padding:5px 5px 5px 16px;
	background:url(../images/contents/icon_arrow02.gif) #FFF no-repeat 5px 50%;
	width: auto;
	white-space: nowrap;
	font-size: 11px;
	letter-spacing: 0px;
	box-shadow:none;
	color:inherit;
	line-height:100%;
}

#mainbody #leftbody ul#sideMenu ul li a:hover,#mainbody #leftbody ul#sideMenu ul li.select a{
	color:#FFF;
	background-image:url(../images/contents/icon_arrow_wh02.gif);
	background-color:#454545;
	border-color:#454545;
	box-shadow:none;
}

/* カテゴリ */

#leftbody ul#categoryMenu{
	list-style:none;
	margin: -4px 0 0;
	padding: 0;
	clear: both;
	height: 102px;
}

#leftbody ul#categoryMenu:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

#leftbody ul#categoryMenu li{
	float:left;
	margin:4px;
	padding:0;
}

/* サイドバナー */

#leftbody ul.sideBnr{
	margin:0 0 15px;
	padding:0;
	list-style:none;
}

#leftbody ul.sideBnr li{
	padding:0;
	margin:0 0 10px;
	height: 80px;
	text-align: center;
}

#leftbody h3{
	margin:0 0 10px;
	border: none;
	border-bottom-width:2px;
	border-bottom-style:solid;
}



/* フッタ
---------------------------------------------------*/
#footerArea{
	padding:0;
	color: #FFF;
	position:relative;
	z-index: 9999;
	margin:0;
}

#goTop{
	position:fixed;
	right:45px;
	bottom:-120px;
	z-index: 10000;
	width:120px;
	height:120px;
}

#goTop.absolute{
	position:absolute;
	top:-40px;
}

#goTop a{
	display:inline-block;
	float: right;
	background:url(../images/footer/bg_goTop.png) no-repeat 0 0;
	width:120px;
	height:120px;
	text-indent:-9999px;
}

#footerArea,ul#footerTab li.tab.select{
	background: #000;
}

#footerInner{
	margin:0 15px;
}

#footer{
	padding:10px 0;
	border-top:1px solid #333;
}

#footer:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

#footerMenu{
	padding:0;
	text-align: right;
	color: #042858;
	float: right;
	width: 650px;
	color:#FFF;
}

#footerMenu a{
	margin:0 5px;
	text-decoration: none;
	color: #FFF;
}

#copyright{
	margin: 0;
	padding:0;
	width: 250px;
	float: left;
	text-align: left;
}

#footerLink{
	padding:5px 0;
}

#footerLink a{
	color:#FFF;
}

/* フッタメニュー
---------------------------------------------------*/

ul#footerTab,ul.footerTabChild{
	border:0;
	padding:0 15px;
	margin:0 -15px;
	font-weight: bold;
	height: 27px;
	width:100%;
	background-color:#313131;
}

ul.footerTabChild{
	background-color:transparent;
	height:auto;
	margin:0;
	padding:0;
}

ul#footerTab li,ul.footerTabChild li{
	float: left;
	list-style: none;
	cursor: pointer;
	margin:0;
	padding:5px 10px;
	height: 17px;
	background-image:none;
}

ul#footerTab li.tab.select{
	text-decoration:none;
	background-color:#000;
}

ul#footerTab .disable{
	color:#BCBCBC;
}

.footerContent{
	margin: 0 0 10px;
	clear: left;
}

.footerContent h3{
	font-size:14px;
	margin:0;
	padding:0;
}

.footerContent h3 span{
	font-size:10px;
	font-weight:normal;
	letter-spacing:1px;
	display:inline;
}

.footerContent label .num{
	font-size:10px;
	letter-spacing:0;
	display:inline;
	margin-left:2px;
}

.footerContent #districtTab .num{
	display:none;
}

.footerContent label.checked,.footerContent label strong a,#districtTab strong{
	font-weight:bold;
	font-size:14px;
}

.footerContent span{
	display:block;
	padding:5px 0 0;
	margin:0;
}

.footerContent span.line{
	margin:0 0 5px;
	padding:0 0 5px;
	border-bottom:1px dotted #CCC;
}

.footerContent div{
	padding: 8px 4px;
	text-align: left;
}

/* 子要素 */

ul.footerTabChild{
	padding-bottom:30px;
}

ul.footerTabChild li{
	padding-bottom:12px;
}

ul.footerTabChild li.select{
	background:url(../images/footer/bg_footerSelect.png) no-repeat 50% bottom;
}

.footerContentChild{
	text-align:left;
}

.footerContentChild:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

.footerContentChild div{
	margin:0;
	padding:0;
}

.footerContentChild a{
	white-space:nowrap;
	color:#FFF;
	text-decoration:none;
}

.footerContentChild a:hover{
	text-decoration:underline;
}

.footerContentChild div div.footerContentCategory{
	float:left;
	width:100%;
	padding:0;
	margin:0 0 10px;
}

.footerContentChild div div.footerContentAddr,.footerContentChild div div.footerContentLine{
	width:35%;
	padding:0;
	margin:0;
	float:left;
}

.footerContentChild div div.footerContentAddr div{
	margin:0 20px 0 0;
}

.footerContentChild div div.footerContentLine{
	width:65%;
	margin:0;
}

/* 駅名一覧 */

.lineList{
	position:relative;
	display:inline-block;
}

.stationList{
	display:none;
	position:absolute;
	z-index:999;
	width:500px;
}

.stationList div{
	display:inline-block;
	background:#FFF;
	padding:5px;
	border-radius:3px;        /* CSS3草案 */
	-webkit-border-radius:3px;    /* Safari,Google Chrome用 */
	-moz-border-radius:3px;   /* Firefox用 */
}

.footerContentChild .stationList a{
	color:#2200cc;
}

/* スマフォ用ボタン */
#btnSmart{
	display:block;
	padding:40px 20px;
    margin: 0 10px 20px;
    border: 1px solid #bbb;
	font-weight:bold;
	font-size:60px;
	text-decoration: none;
    white-space: nowrap;
    color: #555;
    background-color: #ddd;
    transition: background-color .2s ease-out;
    background-clip: padding-box; /* Fix bleeding */
    border-radius: 20px;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .3),
				0 2px 2px -1px rgba(0, 0, 0, .5),
				0 1px 0 rgba(255, 255, 255, .3) inset;
    text-shadow: 0 1px 0 rgba(255,255,255, .9);
	background: -moz-linear-gradient(top, #fff, #F1F1F1 1%, #F1F1F1 50%, #DFDFDF 99%, #ccc);  
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(0.01, #F1F1F1), color-stop(0.5, #F1F1F1), color-stop(0.99, #DFDFDF), to(#ccc)); 
}
 
#btnSmart:hover{
    background-color: #eee;
    color: #555;
}
 
#btnSmart:active{
    background: #e9e9e9;
    position: relative;
    top: 1px;
    text-shadow: none;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .3) inset;
    outline: none;
}

/*ソーシャル関連
---------------------------------------------------*/

ul#socialMenu{
	position:fixed;
	right:0;
	top:150px;
	display:inline-block;
	z-index:10000;
	list-style:none;
	margin:0;
	padding:0;
}

ul#socialMenu li{
	margin:0;
	padding:0;
}

ul#socialMenu li a{
	width:30px;
	height:30px;
	-webkit-transition: 0.3s ease-in-out;
	background:url(../images/side/btn_social.png) #000 no-repeat 50% 0;
	border-bottom:1px solid #FFF;
	text-indent:-9999px;
	display:block;
}

ul#socialMenu li#facebookBtn a:hover,ul#socialMenu li#facebookBtn a:active{background-color:#284a95;}
ul#socialMenu li#twitterBtn a{background-position:50% -30px;}
ul#socialMenu li#twitterBtn a:hover,ul#socialMenu li#twitterBtn a:active{background-color:#10a5de;}
ul#socialMenu li#googleBtn a{background-position:50% -60px; border-bottom:none;}
ul#socialMenu li#googleBtn a:hover,ul#socialMenu li#googleBtn a:active{background-color:#d04c3c;}
