@charset "utf-8";

/***************** 基本構造 *****************/

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	width: 100%;
	height: 100%;
}

body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: url(../common/bg_main.png);
	font-size: 12px;
	line-height: 21px;
	font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	color: #333;
  overflow: scroll;
  overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	width: auto\9; /* ie8 */
	border: none;
	vertical-align: text-bottom;
}

a:link {
	text-decoration: none;
	color: #333;
}

a:visited {
	color: #333;
}

a:hover {
	color: #0080c6;
}

a:active {
	color: #781417;
}

.ft {
	display:inline-block;
	}

#wrapper {
	width: 100%;
	min-width: 1000px;
	margin: 0;
	padding: 0;
}

#cover {
	width: 100%;
}

#container {
	width: 1000px;
	height: auto;
	margin: 20px auto;
	*zoom:1;
	overflow: hidden;
}
#container:before,
#container:after		{ content:""; display:table; }
#container:after		{ clear:both; }

	#container #col-contents {
		float: left;
		width: 790px;
		margin-bottom: -32768px;
		padding-bottom: 32768px;
	}
	
	#container #col-side {
		float: right;
		width: 200px;
		margin-bottom: -32768px;
		padding-bottom: 32768px;
		background: #eef0ef;
	
	}


/***********************************************
 ページ内リンクバグ（すべてのブラウザ）
 #containerにoverflow:hidden;を使っているため
 ページ内リンクを使用する場合に注意
 ***********************************************/

#container.of-reset {
	overflow: visible;
	background: url(../common/bg_side.gif) right top repeat-y;
}

	#container.of-reset #col-contents {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	#container.of-reset #col-side {
		margin-bottom: 0;
		padding-bottom: 0;
	
	}

.wrap-large {
	width: 1000px;
	background-color: #fff;
}

.wrap-medium {
	width: 790px;
	background-color: #fff;
}



/* ------------------------------------------------------------------------------------------------------ Header */

#header {
	position: relative;
	z-index: 100;
	width: 100%;
	height: 160px;
	background: #fff;
	
	-webkit-box-shadow: 0 4px 7px 0 rgba(0,0,0,0.2);
	-moz-box-shadow: 0 4px 7px 0 rgba(0,0,0,0.2);
	box-shadow: 0 4px 7px 0 rgba(0,0,0,0.2);
}


	/***** Header main *****/
	#header #header-innr {
		width: 1000px;
		height: 110px;
		margin: 0 auto;
		padding-top: 45px;
	}

		#header #header-innr h1,
		#header #header-innr li a {
			-webkit-transition: 0.5s;
			-moz-transition: 0.5s;
			-ms-transition: 0.5s;
			-o-transition: 0.5s;
			transition: 0.5s;
		}

		#header #header-innr h1 {
			float: left;
			width: 204px;
			height: 50px;
			margin: 0;
			padding: 0;
			background: url(../common/ttl_fmklogo.png) no-repeat;
			overflow: hidden;
		}

			#header #header-innr h1:hover {
				filter: alpha(opacity=50);
				-moz-opacity:0.5;
				opacity: 0.5;
			}

			#header #header-innr h1 a {
				display: block;
				height: 50px;
				text-decoration: none;
				text-indent: -9999px;
			}

		#header #header-innr ul {
			float: right;
			width: 441px;
			height: 50px;
			margin: 0;
			padding: 0;
			list-style: none;
		}

		#header #header-innr li {
			float: left;
			width: 99px;
			height: 50px;
			margin: 0;
			padding: 0;
			border-right: 1px solid #b3b3b3;
			overflow: hidden;
		}

				#header #header-innr li:nth-child(1) {
					width: 110px;
					padding-top: 6px;
					border-right: none;
				}

				#header #header-innr li:nth-child(2) {
					width: 116px;
					padding-top: 6px;
				}

				#header #header-innr li a:hover {
					filter: alpha(opacity=50);
					-moz-opacity:0.5;
					opacity: 0.5;
				}

			#header #header-innr li #menu-listen,
			#header #header-innr li #menu-request {
				display: block;
				height: 50px;
				text-decoration: none;
				text-indent: -9999px;
			}

			#header #header-innr li #menu-listen {
				background: url(../common/menu_sub.png) 0 0 no-repeat;
			}

			#header #header-innr li #menu-request {
				background: url(../common/menu_sub.png) -98px 0 no-repeat;
			}


	/***** Global Navigation *****/
	#header nav {
		width: 100%;
		min-width: 1000px;
		height: 50px;
		background: #252525;
	}

		#header nav ul {
			width: 1000px;
			height: 50px;
			margin: 0 auto;
			padding: 0;
			list-style: none;
		}

		#header nav li {
			position: relative;
			z-index: 10;
			float: left;
			height: 50px;
			margin: 0;
			padding: 0;
			background-color: #252525;
			background-image: url(../common/menu_globalnavi.png);
			background-repeat: no-repeat;
			
			-webkit-transition: 0.5s;
			-moz-transition: 0.5s;
			-ms-transition: 0.5s;
			-o-transition: 0.5s;
			transition: 0.5s;
		}

			#header nav li:hover,
			#header nav li.select {
				background-color: #fc1b1c;
			}

			#header nav li a {
				display: block;
				height: 100%;
				text-decoration: none;
				text-indent: -9999px;
			}

			/* 各メニュー設定 */
			#header nav li#menu-home {
				width: 121px;
				background-position: center 0;
			}

			#header nav li#menu-program {
				width: 145px;
				background-position: center -50px;
			}

			#header nav li#menu-timetable {
				width: 149px;
				background-position: center -100px;
			}

			#header nav li#menu-info {
				width: 171px;
				background-position: center -150px;
			}

			#header nav li#menu-music {
				width: 122px;
				background-position: center -200px;
			}

			#header nav li#menu-event {
				width: 122px;
				background-position: center -250px;
			}

			#header nav li#menu-media {
				width: 170px;
				background-position: center -300px;
			}

			#header nav li ul.sub {
				display: none;
				position: absolute;
				top: 50px;
				left: 50%;
				width: 200px;
				height: auto;
				margin-left: -100px;
				padding: 10px;
				background: #252525;
				border-radius: 0 0 10px 10px;
				
				-webkit-box-shadow: 0px 8px 10px -6px rgba(0,0,0,0.8) inset,  0 4px 7px 0 rgba(0,0,0,0.2);
				-moz-box-shadow: 0px 8px 10px -6px rgba(0,0,0,0.8) inset,  0 4px 7px 0 rgba(0,0,0,0.2);
				box-shadow: 0px 8px 10px -6px rgba(0,0,0,0.8) inset,  0 4px 7px 0 rgba(0,0,0,0.2);
			}

				#header nav li ul.sub li {
					position: relative;
					float: none;
					height: auto;
					background: #252525;
					border-top: 1px solid #333;
				}

					#header nav li ul.sub li:first-child {
						border-top: none;
					}

					#header nav li ul.sub li:hover {
						background-color: #000;
					}

					#header nav li ul.sub li a {
						height: auto;
						padding: 12px 0 10px;
						text-align: center;
						text-indent: 0;
						color: #fff;
					}

					#header nav li ul.sub li ul.sub {
						position: absolute;
						top: 0;
						left: 279px;
						width: 200px;
						background: #000;
						border-radius: 0 10px 10px 10px;
					}

						#header nav li ul.sub li ul.sub li {
							background: #000;
							text-align: left;
						}

							#header nav li ul.sub li ul.sub li:hover {
								background-color: #252525;
							}


	/***** SNS *****/
	#header #header-belt {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		min-width: 1000px;
		height: 30px;
		background: #252525;
	}

		#header #header-belt p {
			float: left;
			width: 680px;
			margin: 0;
			padding-left: 15px;
			font-size: 0.85em;
			line-height: 30px;
			color: #949494;
		}

		#header #header-belt ul {
			float: right;
			width: 200px;
			height: 30px;
			margin: 0;
			padding: 0;
			list-style: none;
		}

		#header #header-belt li {
			float: left;
			width: 100px;
			margin: 0;
			padding: 0;
			text-align: center;
		}

			#header #header-belt li a {
				display: block;
				height: 30px;
				text-decoration: none;
				line-height: 30px;
				font-weight: bold;
				color: #fff;
				
				-webkit-transition: 0.5s;
				-moz-transition: 0.5s;
				-ms-transition: 0.5s;
				-o-transition: 0.5s;
				transition: 0.5s;
			}

				#header #header-belt li a:hover {
					filter: alpha(opacity=50);
					-moz-opacity:0.5;
					opacity: 0.5;
				}

			#header #header-belt li#btn-facebook {
				background: #3c599b;
			}

			#header #header-belt li#btn-twitter {
				background: #1bb2e9;
			}



/* ------------------------------------------------------------------------------------------------------ Footer */

#footer {
	width: 100%;
}

	#footer #footer-bnr {
		width: 100%;
		padding: 10px 0;
		border-top: 1px solid #d1d1d1;
		text-align: center;
	}
	
		#footer #footer-bnr ul {
			margin: 0;
			padding: 0;
			letter-spacing: -.40em;
			list-style: none;
		}
	
		#footer #footer-bnr li {
			display: inline-block;
			margin: 5px;
			padding: 0;
			letter-spacing: normal;
		}

	#footer nav {
		width: 100%;
		height: 55px;
		background: #fff;
		overflow: hidden;
	}

		#footer nav ul {
			width: 1000px;
			margin: 0 auto;
			padding: 0;
			list-style: none;
		}

		#footer nav li {
			float: left;
			height: 55px;
			margin: 0;
			padding: 0;
			background: url(../common/icon_arrow01.png) left center no-repeat;
		}

			#footer nav li a {
				display: block;
				height: 55px;
				padding: 18px 23px 0 19px;
			}

	#footer small {
		display: block;
		width: 100%;
		background: #252525;
		text-align: center;
		font-size: 1.0em;
		text-decoration: none;
		line-height: 80px;
		color: #fff;
	}



/* ------------------------------------------------------------------------------------------------------ Side */

.sidemenu {
	margin: 0;
	padding: 0;
}

	.sidemenu h1 {
		height: 50px;
		margin: 0;
		padding: 0;
		background-color: #252525;
		background-image: url(../common/menu_globalnavi.png);
		background-repeat: no-repeat;
		border-bottom: 1px solid #e4e6e5;
		text-indent: -9999px;
	}

		#side-program h1	{ background-position: center -50px; }
		#side-info h1			{ background-position: center -150px; }
		#side-music h1		{ background-position: center -200px; }
		#side-event h1		{ background-position: center -250px; }
		#side-media h1		{ background-position: center -300px; }

	.sidemenu ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.sidemenu li {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #e4e6e5;
		text-align: center;
		font-weight: bold;
	}

		.sidemenu li a {
			display: block;
			padding: 15px 5px 14px;
			background: #fff;
			
			-webkit-transition: 0.5s;
			-moz-transition: 0.5s;
			-ms-transition: 0.5s;
			-o-transition: 0.5s;
			transition: 0.5s;
		}

			.sidemenu li a:hover {
				background: #ececec;
				color: #333;
			}

#side-bnr {
	padding: 25px;
	text-align: center;
}

	#side-bnr ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#side-bnr li {
		margin: 0;
		padding: 0;
	}







