
.spOnly{display: none !important;}

/*===========================================================
+-----+// header
===========================================================*/
header{
	position:relative;
	width: 100%;
	border-bottom: solid 2px #d2d2d2;
}

header #head_wrap{
	max-width: 1140px;
	margin: 0 auto;
	position: relative;
	padding: 15px 20px 0;
	height: 72px;
	box-sizing: border-box;
}

header #head_logo{
	width: 220px;

}
header #head_logo img{
	width: 100%;
}
header #head_logo ul{
	display: flex;
}
header #head_logo_col2 {
	display: flex;
	align-items: center;
	width: 220px;
}
header #head_logo_col2 a:first-child {
	margin-right: 3px;
}
header #head_logo_col2 img {
	height: 43.84px
}


header #head_logo a{
	transform: all 0.3s;
}

header #head_logo a:hover{
	opacity: 0.7;
}

header #menu{
	display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
	align-items: center;
	position: absolute;
	top:23px;
	right: 0;
}
header #menu li{
	margin-right: 20px;
}

header #menu li a{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	transition: all 0.3s;
	font-size: 1.2rem;
}

header #menu li a:hover{
	opacity: 0.7;
}

header #menu li.event a{
	font-size: 1.0rem;
	text-align: center;
	line-height: 1.2;
}

header #menu li span{
	margin-left: 5px;
	display: block;
	white-space: nowrap;
}

header #menu .search img{
	height: 28px;
}
header #menu .timetable img{
	height: 28px;
}
header #menu .vod img{
	height: 23px;
}
header #menu .event img{
	height: 28px;
}

header #menu .nav_menu{
	width: 48px;
	height: 40px;
	margin-right: 30px;
	box-sizing: border-box;
}
header #menu .menu-trigger,
header #menu .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
header #menu .menu-trigger {
	width: 48px;
	height: 40px;
}
header #menu .menu-trigger span {
	position: absolute;
	left: 0;
	width: 48px;
	height: 6px;
	background-color: #666;
	border-radius: 3px;
}
header #menu .menu-trigger span:nth-of-type(1) {
	top: 3px;
}
header #menu .menu-trigger span:nth-of-type(2) {
	top: 17px;
}
header #menu .menu-trigger span:nth-of-type(3) {
	bottom: 3px;
}
header #menu .menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-315deg);
	transform: translateY(8px) rotate(-315deg);
}
header #menu .menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
header #menu .menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(315deg);
	transform: translateY(-9px) rotate(315deg);
}

/*===========================================================
+-----+// main
===========================================================*/
main{
	width: 100%;
	position: relative;
}
main .h1_ttl{
	text-align: center;
	margin: 35px 0 30px;
}

main .h2_ttl{
	text-align: center;
	background: url("/top/common/img/ttl_bg.png") left center repeat-x;
	margin-bottom: 80px;
}
main .h2_ttl img{
	background: #fff;
	height: 58px;
	padding: 0 50px;
}

/*===========================================================
+-----+// soclial_area
===========================================================*/

#soclial_area{
	margin-bottom: 100px;
}
#soclial_area ul{
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
}
#soclial_area ul img{
	width: 60px;
	margin: 0 35px;
}


/*===========================================================
+-----+// pagetop
===========================================================*/

#pagetop{
	position: fixed;
	bottom:30px;
	right: 30px;
	z-index: 100;
}

#pagetop a{
	display: block;
	width: 64px;
	height: 64px;
	text-indent: -9999px;
	background: url("/top/common/img/pagetop.png") center center no-repeat #fff;
	background-size:18px auto;
	border: solid 1px #333;
	box-sizing: border-box;
}

/*===========================================================
+-----+// search modal
===========================================================*/

#search_modal{
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 500;
	display: none;
}

#search_modal #search_modal_inner{
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	background: rgba(0,0,0,0.8);
	overflow: hidden;
	text-align: center;
}

#search_modal #search{
	width: 540px;
	margin: 0 auto ;
	align-items: center;
}

#search_modal #search form{
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
}

#search_modal #search .searchBox{
	width: 430px;
	height: 40px;
	border-radius: 5px;
	padding: 5px 5px 5px 40px;
	box-sizing: border-box;
	position: relative;
	background: url("/top/common/img/icon_search.png") left 5px center no-repeat #fff;
	background-size: 27px 27px;
}

#search_modal #search .searchBtn{
	width: 95px;
	height: 40px;
	background: #999;
	font-size: 1.8rem;
	line-height: 40px;
	color: #fff;
	box-sizing: border-box;
	transition: all 0.3s;
	cursor: pointer;
}
#search_modal #search .searchBtn:hover{
	background: #ccc;
}


#search_modal .close{
	width: 30px;
	height: 30px;
	display: block;
	position: fixed;
	right: 30px;
	top:30px;
}

#search_modal .close a{
	width: 30px;
	height: 30px;
	display: block;
	position: relative;

}
#search_modal .close span{
	height: 1px;
	width: 100%;
	display: block;
	background: #fff;
	position: absolute;
	left: 0;
	top:15px;
}

#search_modal .close span:nth-child(1){
	transform: rotate(45deg);
}
#search_modal .close span:nth-child(2){
	transform: rotate(-45deg);
}


/*===========================================================
+-----+// footer
===========================================================*/

footer{
	padding: 20px;
	background: #eeeeee;
}

footer a{
	transition: all 0.3s;
}
footer a:hover{
	opacity: 0.5;
}

footer .foot_attention {
	margin: -20px -20px 0;
	padding: 55px 20px;
	font-size: 1.8rem;
	text-align: center;
	line-height: 2;
	color: #fff;
	background: #696969;
}

footer .foot_attention p,
footer .foot_attention a {
	font-size: inherit;
	color: inherit;
}

footer .foot_attention a {
	text-decoration: underline;
}

footer #foot_menu{
	max-width: 1030px;
	margin: 0 auto 30px;
}

footer #foot_menu section{
	display: flex;
	justify-content:flex-start;
	flex-wrap: nowrap;
	padding: 30px 0 20px;
	border-bottom: solid 2px #dddddd;
}
footer #foot_menu section h2{
	font-weight: bold;
	min-width: 180px;
	padding-right: 20px;
	box-sizing: border-box;
}
footer #foot_menu section ul{
	display: flex;
	justify-content:flex-start;
	flex-wrap: wrap;
}
footer #foot_menu section li{
	margin-bottom: 10px;
}
footer #foot_menu section li:after{
	content:'|';
	margin-left: 25px;
	margin-right: 25px;
}

footer #foot_menu section li:last-child{
	border-bottom: none;
}


footer #foot_nav{
	display: none;
}

footer small{
	font-size: 1.6rem;
	display: block;
	text-align: center;
}

article {
	margin-bottom: 30px;
}