@charset "utf-8";

/* ---------------------------------------------------------- */
/* TOP */
/* ---------------------------------------------------------- */
body {
	min-width: 1540px;
	}

#loading {
	text-align: center;
	top: 50%;
	left: 50%;
	margin-top: -70px;
	margin-left: -100px;
	position: absolute;
	z-index: 1000;
	}

#wrapper {
	width: 100%;
	background: url(../img/bg_dot.png);
	position: relative;
	}

/* メインビジュアル
---------------------------------------------------------- */
#main {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding: 0 0 0 300px;
	position: relative;
	}

#main img {
	width: 100%;
	}

/* メニュー
---------------------------------------------------------- */
#side {
	width: 300px;
	top: 0;
	left: 0;
	position: absolute;
	}

#side #menu h1 {
	width: 240px;
	height: 136px;
	background: url(../img/img_logo.png) no-repeat;
	background-size: 240px 136px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	margin: 30px auto 115px auto;
	}

#side #menu .btn {
	display: none;
	}

#side #menu nav {
	margin: 0 0 205px 75px;
	}

#side #menu nav ul li {
	height: 30px;
	margin: 0 0 15px 0;
	}

#side #menu nav ul li a ,
#side #menu nav ul li a.active {
	display: inline-block;
	position: relative;
	}

#side #menu nav ul li a.top.active:before       {background: url(../img/ico_top.png) no-repeat;}
#side #menu nav ul li a.news.active:before      {background: url(../img/ico_news.png) no-repeat;}
#side #menu nav ul li a.onair.active:before     {background: url(../img/ico_onair.png) no-repeat;}
#side #menu nav ul li a.story.active:before     {background: url(../img/ico_story.png) no-repeat;}
#side #menu nav ul li a.character.active:before {background: url(../img/ico_character.png) no-repeat;}
#side #menu nav ul li a.cast.active:before      {background: url(../img/ico_cast.png) no-repeat;}
#side #menu nav ul li a.staff.active:before     {background: url(../img/ico_staff.png) no-repeat;}
#side #menu nav ul li a.movie.active:before     {background: url(../img/ico_movie.png) no-repeat;}
#side #menu nav ul li a.comic.active:before     {background: url(../img/ico_comic.png) no-repeat;}
#side #menu nav ul li a.release.active:before   {background: url(../img/ico_release.png) no-repeat;}
#side #menu nav ul li a.goods.active:before     {background: url(../img/ico_goods.png) no-repeat;}
#side #menu nav ul li a.special.active:before   {background: url(../img/ico_special.png) no-repeat;}

#side #menu nav ul li a.top.active:before ,
#side #menu nav ul li a.news.active:before ,
#side #menu nav ul li a.onair.active:before ,
#side #menu nav ul li a.story.active:before ,
#side #menu nav ul li a.character.active:before ,
#side #menu nav ul li a.cast.active:before ,
#side #menu nav ul li a.staff.active:before ,
#side #menu nav ul li a.movie.active:before ,
#side #menu nav ul li a.release.active:before ,
#side #menu nav ul li a.comic.active:before ,
#side #menu nav ul li a.goods.active:before ,
#side #menu nav ul li a.special.active:before {
	content: '';
	width: 50px;
	height: 50px;
	top: -10px;
	left: -60px;
	background-size: 50px 50px;
	display: block;
	position: absolute;
	}

@-webkit-keyframes nav-hover {
	0%   {transform: scale3d(1, 1, 1);}
	50%  {transform: scale3d(1.15, 1.15, 1.15);}
	100% {transform: scale3d(1, 1, 1);}
	}

@keyframes nav-hover {
	0%   {transform: scale3d(1, 1, 1);}
	50%  {transform: scale3d(1.15, 1.15, 1.15);}
	100% {transform: scale3d(1, 1, 1);}
	}

#side #menu nav ul li a.active:before {
	-webkit-animation: nav-active 1s linear infinite;
	animation: nav-active 1s linear infinite;
	}

@-webkit-keyframes nav-active {
	0%   {top: -10px;}
	50%  {top: -15px;}
	100% {top: -10px;}
	}

@keyframes nav-active {
	0%   {top: -10px;}
	50%  {top: -15px;}
	100% {top: -10px;}
	}

/* 放送情報
---------------------------------------------------------- */
#info {
	top: 185px;
	left: 23px;
	position: absolute;
	}

#info p {
	width: 254px;
	height: 67px;
	background: url(../img/txt_onairSP.png) no-repeat;
	background-size: 254px 67px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	}

/* 更新履歴
---------------------------------------------------------- */
#whatsnew {
	margin: 0 20px;
	}

#whatsnew p {
	text-align: center;
	}

#whatsnew .bg {
	background: url(../img/top/bg_whatsnew.png);
	background-size: 4px 4px;
	border: 2px solid #0045a0;
	border-radius: 10px;
	margin: -5px auto 0 auto;
	padding: 20px 18px 20px 20px;
	}

#whatsnew ul {
	height: 91px;
	overflow: auto;
	}

#whatsnew ul li {
	color: #fff;
	margin: 0 0 10px 0;
	}

#whatsnew ul li:last-child {
	margin: 0;
	}

#whatsnew ul li .date {
	color: #fff700;
	display: block;
	}

#whatsnew ul li a {
	color: #fff;
	text-decoration: none;
	display: block;
	}

#whatsnew ul li a:hover {
	text-decoration: underline;
	}

/* スクロールバー */
.mCSB_inside > .mCSB_container {
	margin-right: 25px;
	}

.mCSB_scrollTools {
	opacity: 1;
	filter: "alpha(opacity=100)";
	-ms-filter: "alpha(opacity=100)";
	}

.mCSB_scrollTools .mCSB_dragger {
	cursor: default;
	}

.mCSB_scrollTools .mCSB_draggerRail {
	width: 10px;
	}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar ,
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar ,
.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar ,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
	width: 10px;
	background-color: #01b4ee;
	opacity: 1;
	cursor: pointer;
	}

.mCSB_scrollTools .mCSB_draggerRail {
	background-color: #fff;
	opacity: 1;
	}

/* シェア
---------------------------------------------------------- */
#share {
	line-height: 0;
	background: url(../img/bg_share.png) left center no-repeat;
	background-size: 41px 36px;
	top: 835px;
	left: 30px;
	position: absolute;
	}

#share ul {
	display: table;
	}

#share ul li {
	vertical-align: bottom;
	display: table-cell;
	}

#share ul li a {
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	display: inline-block;
	}

#share ul li.tw {
	background: url(../img/bg_share_shadow.png) no-repeat;
	background-position: 37px 150px;
	padding: 0 20px 10px 25px;
	}

#share ul li.tw a {
	width: 76px;
	height: 155px;
	background: url(../img/btn_tw.png) no-repeat;
	background-size: 76px 155px;
	}

#share ul li.fb {
	background: url(../img/bg_share_shadow.png) no-repeat;
	background-position: 12px 150px;
	padding: 0 6px 10px 0;
	}

#share ul li.fb a {
	width: 76px;
	height: 144px;
	background: url(../img/btn_fb.png) no-repeat;
	background-size: 76px 144px;
	}

/* footer
---------------------------------------------------------- */
footer {
	text-align: center;
	background: #d83621;
	}

/* Twitter */
footer #twitter {
	padding: 30px 0;
	}

footer #twitter #tweet {
	width: 830px;
	height: 280px;
	background: url(../img/top/img_twitter_popuko.gif) bottom left no-repeat , url(../img/top/img_twitter_pipimi.gif) bottom right no-repeat;
	margin: 0 auto;
	}

/* バナー */
footer #banner {
	line-height: 0;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	padding: 15px 0;
	}

footer #banner ul {
	display: inline-block;
	}

footer #banner ul li {
	margin: 0 5px;
	float: left;
	}

/* コピーライト */
footer #copy {
	line-height: 0;
	padding: 15px 0;
	}


@media (max-width: 768px){
body {
	min-width: 320px;
	overflow-x: hidden;
	}

#wrapper {
	-webkit-animation: bg 5s linear infinite;
	animation: bg 2s infinite linear;
	}

@-webkit-keyframes bgLoop {
	0%   {background-position: 0 0;}
	100% {background-position: 20px -20px;}
	}

@keyframes bg {
	0%   {background-position: 0 0;}
	100% {background-position: 20px -20px;}
	}

/* メインビジュアル
---------------------------------------------------------- */
#main {
	width: 100%;
	margin: 60px 0 0 0;
	padding: 0;
	position: static;
	}

/* メニュー
---------------------------------------------------------- */
#side {
	width: 100%;
	position: static;
	}

#side #menu {
	width: 100%;
	background: #0045a0;
	top: 0;
	left: 0;
	position: fixed;
	z-index: 100;
	}

#side #menu h1 {
	width: 141px;
	height: 28px;
	background:url(../img/img_logo_sp.png) no-repeat;
	background-size: 141px 28px;
	margin: 16px 0 0 10px;
	float: left;
	}

#side #menu .btn {
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 5px;
	display: inline-block;
	margin: 10px;
	float: right;
	cursor: pointer;
	position: relative;
	z-index: 100;
	}

#side #menu .btn span ,
#side #menu .btn span:before ,
#side #menu .btn span:after {
	width: 20px;
	height: 4px;
	background: #e42311;
	content: "";
	top: 50%;
	transition: .3s;
	display: block;
	position: absolute;
	}

#side #menu .btn span {
	margin: -2px 0 0 -10px;
	left: 50%;
	}

#side #menu .btn span:before {
	margin: -9px 0 0 0;
	left: 0;
	}

#side #menu .btn span:after {
	margin: 5px 0 0 0;
	left: 0;
	}

#side #menu .btn.close {
	background: #0045a0;
	}

#side #menu .btn.close span {
	background: transparent;
	}

#side #menu .btn.close span:before {
	background: #fff;
	margin: -2px 0 0 0;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	}

#side #menu .btn.close span:after {
	background: #fff;
	margin: -2px 0 0 0;
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	}

#side #menu nav {
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(255, 255, 255, 0.9);
	margin: 0;
	top: 0;
	left: 0;
	position: fixed;
	visibility: hidden;
	opacity: 0;
	transition: opacity .35s, visibility .35s;
	overflow: auto;
	}

#side #menu nav.open {
	opacity: 1;
	visibility: visible;
	}

#side #menu nav ul {
	margin: 60px 0 50px 0;
	display: inline-block;
	}

#side #menu nav ul li {
	margin: 0 0 30px 0;
	}

#side #menu nav ul li a {
	position: static;
	}

.scroll {
	overflow: hidden;
	}

/* 放送情報
---------------------------------------------------------- */
#info {
	background: #0045a0;
	padding: 25px 15px 20px 15px;
	position: static;
	}

#info p {
	width: 100%;
	height: 0;
	background: url(../img/top/txt_SP_sp.png) no-repeat;
	background-size: contain;
	padding: 7.8125% 0 0 0;
	}

/* 更新履歴
---------------------------------------------------------- */
#whatsnew {
	margin: 20px 0 25px 0;
	padding: 0 15px;
	}

#whatsnew .bg {
	width: 82%;
	border: 3px solid #0045a0;
	padding: 15px 15px 5px 15px;
	}

#whatsnew ul {
	height: auto;
	overflow: hidden;
	}

#whatsnew ul li {
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0 0 10px 0;
	}

#whatsnew ul li:nth-child(n+4) {
	display: none;
	}

#whatsnew ul li .date {
	font-size: 12px;
	font-size: 1.2rem;
	}

/* スクロールバー */
.mCSB_container{
	overflow: visible; /*IE対策*/
	}

/* シェア
---------------------------------------------------------- */
#share {
	background: none;
	position: static;
	}

#share ul {
	width: 220px;
	margin: 0 auto;
	}

#share ul li.tw {
	background: url(../img/bg_share.png) left center no-repeat;
	background-size: 41px 36px;
	padding: 0 20px;
	}

#share ul li.fb {
	background: none;
	padding: 0 20px 0 0;
	}

#share ul li a {
	margin: 0 0 -5px 0;
	}

/* footer
---------------------------------------------------------- */
/* Twitter */
footer #twitter {
	padding: 20px 15px;
	}

footer #twitter #tweet {
	width: 100%;
	background: none;
	}

/* バナー */
footer #banner ul {
	width: 82%;
	margin: auto;
	padding: 0 10px;
	display: table;
	}

footer #banner ul li {
	margin: 0;
	padding: 0 5px;
	float: none;
	display: table-cell;
	}

footer #banner ul li img {
	width: 100%;
	height: auto;
	display: block;
	}

/* コピーライト */
p#copy img {
	height: 12px;
	}
}


@media (max-width: 640px){
/* メニュー
---------------------------------------------------------- */
#side #menu nav ul li {
	height: 25px;
	margin: 0 0 15px 0
	}

#side #menu nav ul li img {
	width: auto;
	height: 25px;
	}

#side #menu nav ul li a.top.active:before ,
#side #menu nav ul li a.news.active:before ,
#side #menu nav ul li a.onair.active:before ,
#side #menu nav ul li a.story.active:before ,
#side #menu nav ul li a.character.active:before ,
#side #menu nav ul li a.cast.active:before ,
#side #menu nav ul li a.staff.active:before ,
#side #menu nav ul li a.movie.active:before ,
#side #menu nav ul li a.release.active:before ,
#side #menu nav ul li a.comic.active:before ,
#side #menu nav ul li a.goods.active:before ,
#side #menu nav ul li a.special.active:before {
	top: -7.5px;
	left: -45px;
	background-size: 40px 40px;
	}

@-webkit-keyframes nav-active {
	0%   {top: -7.5px;}
	50%  {top: -12.5px;}
	100% {top: -7.5px;}
	}

@keyframes nav-active {
	0%   {top: -7.5px;}
	50%  {top: -12.5px;}
	100% {top: -7.5px;}
	}

/* 放送情報
---------------------------------------------------------- */
#info {
	padding: 20px 15px;
	}

/* 更新履歴
---------------------------------------------------------- */
#whatsnew .bg {
	width: 100%;
	}

/* footer
---------------------------------------------------------- */
/* バナー */
footer #banner ul {
	width: 100%;
	}
}


@media (min-width: 769px){
/* メニュー
---------------------------------------------------------- */
#side #menu nav {
	display: block !important;
	}

#side #menu nav ul li a.top:hover:before       {background: url(../img/ico_top.png) no-repeat;}
#side #menu nav ul li a.news:hover:before      {background: url(../img/ico_news.png) no-repeat;}
#side #menu nav ul li a.onair:hover:before     {background: url(../img/ico_onair.png) no-repeat;}
#side #menu nav ul li a.story:hover:before     {background: url(../img/ico_story.png) no-repeat;}
#side #menu nav ul li a.character:hover:before {background: url(../img/ico_character.png) no-repeat;}
#side #menu nav ul li a.cast:hover:before      {background: url(../img/ico_cast.png) no-repeat;}
#side #menu nav ul li a.staff:hover:before     {background: url(../img/ico_staff.png) no-repeat;}
#side #menu nav ul li a.movie:hover:before     {background: url(../img/ico_movie.png) no-repeat;}
#side #menu nav ul li a.comic:hover:before     {background: url(../img/ico_comic.png) no-repeat;}
#side #menu nav ul li a.release:hover:before   {background: url(../img/ico_release.png) no-repeat;}
#side #menu nav ul li a.goods:hover:before     {background: url(../img/ico_goods.png) no-repeat;}
#side #menu nav ul li a.special:hover:before   {background: url(../img/ico_special.png) no-repeat;}

#side #menu nav ul li a.top:hover:before ,
#side #menu nav ul li a.news:hover:before ,
#side #menu nav ul li a.onair:hover:before ,
#side #menu nav ul li a.story:hover:before ,
#side #menu nav ul li a.character:hover:before ,
#side #menu nav ul li a.cast:hover:before ,
#side #menu nav ul li a.staff:hover:before ,
#side #menu nav ul li a.movie:hover:before ,
#side #menu nav ul li a.release:hover:before ,
#side #menu nav ul li a.comic:hover:before ,
#side #menu nav ul li a.goods:hover:before ,
#side #menu nav ul li a.special:hover:before {
	content: '';
	width: 50px;
	height: 50px;
	top: -10px;
	left: -60px;
	background-size: 50px 50px;
	display: block;
	position: absolute;
	}

#side #menu nav ul li a:before {
	-webkit-animation: nav-hover 0.1s linear infinite;
	animation: nav-hover 0.1s linear infinite;
	}
}