@charset "utf-8";
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
::selection {
background: #bb0101;
color:#FFF;
}
::-moz-selection {
background: #bb0101;
color:#FFF;
}
body {
	font-family: "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	color: #FFF;
	background-color:#000;
}
.ct {
	font-family: "Crimson Text", serif;
	letter-spacing: 0.16em;
}
a { color: #FFF; }
a:hover { text-decoration: none; }
#fullWrap {
	min-height: 620px;
	min-width: 1200px;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
}
#fullWrap:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 263px;
	background-image: url(../images/left_bg.png);
	z-index: 100;
}
#fullWrap:after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 258px;
	background-image: url(../images/right_bg.png);
	z-index: 100;
}
#leftWrap {
	width: 250px;
	position: absolute;
	left: 0px;
	top: 0px;
	bottom: 0px;
	z-index: 500;
}
#leftWrap h1 {
	height: 143px;
	width: 222px;
	position: absolute;
	left: 13px;
	top: 30px;
}
#leftWrap h1 a {
	background-image: url(../images/left_logo.png);
	height: 169px;
	width: 230px;
	display: block;
}
#leftWrap:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 152px;
	width: 187px;
	background-image: url(../images/left_corner.png);
}
#onair {
	background-image: url(../images/onair.png);
	height: 73px;
	width: 158px;
	position: absolute;
	left: 45px;
	top: 100px;
}
#btnMovie {
	height: 160px;
	width: 160px;
	position: absolute;
	left: 44px;
	bottom: 30px;
}
#btnMovie a {
	background-image: url(../images/btn_movie.png);
	display: block;
	height: 160px;
	width: 160px;
	position: relative;
}
@keyframes rotate { 0% {
 transform:rotate(0deg);
}
100% {
 transform:rotate(360deg);
}
}
@keyframes rotateY { 0% {
 transform:rotateY(0deg);
}
100% {
 transform:rotateY(360deg);
}
}
#btnMovie a:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 160px;
	height: 160px;
	background-image: url(../images/btn_movie_tx.png);
	animation: rotate 20s linear infinite;
}
#btnMovie a:after {
	content: '';
	position: absolute;
	width: 128px;
	height: 128px;
	left: 15px;
	top: 15px;
	background-image: url(../images/btn_movie_ov.png);
	transition: all 0.5s ease;
}
#btnMovie a:hover:after { opacity: 0; }
#btnMovie a span {
	background-image: url(../images/to_1st.png);
	text-indent: -8897px;
	display: block;
	height: 25px;
	width: 93px;
	position: absolute;
	z-index: 1560;
	left: 33px;
	bottom: -23px;
}
#rightWrap {
	position: absolute;
	z-index: 500;
	width: 250px;
	top: 0px;
	right: 0px;
	bottom: 0px;
}
#rightWrap:before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 187px;
	height: 152px;
	background-image: url(../images/right_corner.png);
}
#btnMenu {
	height: 84px;
	width: 84px;
	margin-top: -42px;
	position: absolute;
	top: 50%;
	right: 83px;
}
#btnMenu a {
	background-image: url(../images/btn_menu.png);
	display: block;
	height: 84px;
	width: 84px;
	position: relative;
}
#btnMenu a:before {
	content: '';
	position: absolute;
	left: 15px;
	top: 15px;
	width: 54px;
	height: 54px;
	background-image: url(../images/btn_menu_ov.png);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
#btnMenu a:hover:before { opacity: 0; }
#btnMenu a:after {
	content: '';
	width: 84px;
	height: 84px;
	position: absolute;
	left: 0;
	top: 0;
	background-image: url(../images/btn_menu_tx.png);
	animation: rotate 20s linear infinite;
}
#btnTwitter {
	position: absolute;
	height: 40px;
	width: 40px;
	top: 30px;
	right: 105px;
}
#btnTwitter a {
	display: block;
	height: 40px;
	width: 40px;
}
#btnTwitter a:hover img { animation: rotateY 1s ease infinite; }
#titleEn {
	background-image: url(../images/title_en.png);
	height: 78px;
	width: 141px;
	position: absolute;
	top: 100px;
	right: 55px;
}
#share {
	position: absolute;
	height: 44px;
	width: 88px;
	right: 81px;
	bottom: 50px;
}
#share li {
	height: 44px;
	width: 44px;
	float: left;
}
#share li a {
	display: block;
	height: 44px;
	width: 44px;
}
#share li a:hover img { animation: rotateY 1s ease infinite; }
#copyright {
	font-size: 10px;
	line-height: 12px;
	color: #FFF;
	text-align: center;
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 30px;
}
#visual {
	position: absolute;
	left: 250px;
	top: 0px;
	right: 250px;
	bottom: 0px;
	overflow: hidden;
}
#catch {
	position: absolute;
	top: 51px;
	pointer-events: none;
	z-index: 5000;
	height: 63.7%;
	left: 50%;
	transform:translateX(-50%);
}
#scene {
	overflow: hidden;
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
}
#scene li {
	display: block;
	position: absolute;
	z-index: 6;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	height: 100%;
	width: 100%;
}
@keyframes mh {  0% {
 opacity:0.1;
}
 85% {
 opacity:1;
}
 100% {
 opacity:1;
}
}
#mainVisual {
	position: absolute;
	left: 0;
	right: 0;
	background-image: url(../images/visual.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
#loading {
	min-height: 620px;
	min-width: 1200px;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background-color: #000;
	background-image: url(../images/loading_bg.jpg);
}
#loadingin {
	height: 490px;
	width: 360px;
	margin-top: -245px;
	margin-left: -180px;
	position: absolute;
	left: 50%;
	top: 50%;
	background-image: url(../images/loading_point.png);
	background-repeat: no-repeat;
	background-position: center top;
}
@keyframes loadingText {  0% {
 background-position:center top;
}
50% {
 background-position:center bottom;
}
}
#loadingText {
	height: 29px;
	width: 160px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 48px;
	background-image: url(../images/loading_text.png);
	background-position: center top;
	animation: loadingText 1s steps(1) infinite;
}
#loadingLogo {
	background-image: url(../images/loading_logo.png);
	height: 257px;
	width: 356px;
	margin-top: 49px;
}
#subName{
	text-align: center;
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    margin-top: 20px;
}
nav {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow: auto;
	z-index: 9800;
	display: none;
}
nav h2 {
	text-align: center;
	padding-top: 60px;
}
#navin {
	width: 100%;
	height: 100%;
	min-width: 1200px;
	min-height: 620px;
	background-image:  url(../images/nav_bg.jpg);
	background-position:center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}
#navBox {
	height: 340px;
	width: 200px;
	margin-top: -170px;
	margin-left: -100px;
	position: absolute;
	left: 50%;
	top: 50%;
}
#navList {
	padding-top: 130px;
	display: flex;
	flex-wrap: wrap;
}
#navList li:not(#nav2) {
	height: 63px;
	width: 73px;
}
#navList li a {
	display: block;
	height: 63px;
	position: relative;
	background-repeat: no-repeat;
	background-position: center;
}
#navList li a:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	transition: all 0.3s ease;
	background-repeat: no-repeat;
	background-position: center;
}
#navList li:not(#nav2) a:before {
	width: 73px;
	height: 63px;
}
#nav2 a:before {
	width: 133px;
	height: 63px;
}
#navList li a:hover:before,
#navList li a.active:before { opacity: 1; }
#nav0 a { background-image: url(../images/nav0.png); }
#nav0 a:before { background-image: url(../images/nav0_ov.png); }
#nav1 a { background-image: url(../images/nav1.png); }
#nav1 a:before { background-image: url(../images/nav1_ov.png); }
#nav2 a { background-image: url(../images/nav2.png); }
#nav2 a:before { background-image: url(../images/nav2_ov.png); }
#nav0 {
	margin-right: 54px;
}
#nav2 {
	width: 133px;
	height: 63px;
	margin: auto;
	padding-top: 30px;
}
nav .btnClose {
	bottom: 30px;
	left: 50%;
	margin-left: -42px;
}
.btnClose {
	height: 84px;
	width: 84px;
	position: absolute;
}
.btnClose a {
	background-image: url(../images/btn_close.png);
	display: block;
	height: 84px;
	width: 84px;
	position: relative;
}
.btnClose a:before {
	content: '';
	position: absolute;
	left: 15px;
	top: 15px;
	width: 54px;
	height: 54px;
	background-image: url(../images/btn_close_ov.png);
	transition: all 0.5s ease;
}
.btnClose a:hover:before { opacity: 0; }
.btnClose a:after {
	content: '';
	width: 84px;
	height: 84px;
	position: absolute;
	left: 0;
	top: 0;
	background-image: url(../images/btn_menu_tx.png);
	animation: rotate 20s linear infinite;
}
#navComing {
	background-image: url(../images/nav_comingsoon.png);
	height: 8px;
	width: 326px;
	margin-top: 50px;
	margin-right: -63px;
	margin-left: -63px;
}
#yt {
	position: absolute;
	min-height: 620px;
	min-width: 1200px;
	z-index: 9680;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: none;
	background-color: #000;
}
#yt:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 152px;
	width: 187px;
	background-image: url(../images/left_corner.png);
}
#yt:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 187px;
	height: 152px;
	background-image: url(../images/right_corner.png);
}
#yt iframe {
	width: 100%;
	height: 100%;
	vertical-align: bottom;
}
#yt .btnClose {
	position: absolute;
	right: 20px;
	top: 20px;
}
#topics {
	position: absolute;
	height: 40px;
	left: 50px;
	right: 50px;
	bottom: 30px;
	background-image: url(../images/topics_bg.png);
	z-index: 5000;
}
#topics:before {
	content: '';
	position: absolute;
	top: 0;
	left: -20px;
	height: 40px;
	width: 20px;
	background-image: url(../images/topics_l.png);
}
#topics:after {
	content: '';
	position: absolute;
	top: 0;
	right: -20px;
	height: 40px;
	width: 20px;
	background-image: url(../images/topics_r.png);
}
#topicsin {
	height: 40px;
	margin-right: 60px;
	margin-left: 60px;
	position: relative;
	color: #FFF;
}
#topicsin:before {
	content: '';
	position: absolute;
	left: -60px;
	top: 14px;
	width: 45px;
	height: 12px;
	background-image: url(../images/topics_h2.png);
}
#topicsin ul li a {
	color: #FFF;
	text-decoration: none;
	line-height: 40px;
	transition: .4s ease;
}
#topicsin ul li a:hover { 
	text-shadow: 0px 0px 6px #d500c7, 0px 0px 6px #d500c7;
}
#subCont {
	background-image: url(../images/dot.png), url(../images/sub_bg.jpg);
	background-repeat: repeat, no-repeat;
	background-position: center center;
	background-size: auto, cover;
	right: 250px;
	left: 250px;
	position: absolute;
	top: 0;
	bottom: 0;
	overflow: hidden;
}
#subContin {
	padding-top: 94px;
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
	min-width: 620px;
}
#subContin h2 {
	text-align: center;
	margin-bottom: 21px;
}
#newsList {
	background-image: url(../images/news_point.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top: 60px;
	width: 620px;
	margin-right: auto;
	margin-left: auto;
}
#newsList li {
	height: 140px;
	margin-bottom: 60px;
}
.newsThumb {
	height: 140px;
	width: 140px;
	background-image: url(../images/news_noimage.png);
	border-radius: 70px;
	background-size: cover;
	background-position: center center;
}
.newsListDetail {
	position: relative;
	height: 140px;
}
#newsList li:nth-child(odd) .newsThumb { float: left; }
#newsList li:nth-child(odd) .newsListDetail { margin-left: 170px; }
#newsList li:nth-child(even) .newsThumb { float: right; }
#newsList li:nth-child(even) .newsListDetail { margin-right: 170px; }
#newsList li a {
	display: block;
	height: 140px;
	text-decoration: none;
	transition: all 0.3s ease;
}
#newsList li a:hover { opacity: 0.7; }
.newsListDetailin {
	position: absolute;
	left: 0px;
	top: 50%;
	right: 0px;
	transform: translateY(-50%);
}
.listDate {
	font-size: 12px;
	line-height: 23px;
	color: #bb0101;
	height: 23px;
}
.listTitle {
	font-size: 18px;
	line-height: 32px;
	color: #FFF;
}
#newsOnce {
	background-image: url(../images/news_point.png);
	background-repeat: no-repeat;
	background-position: center top;
	padding-top: 36px;
	padding-bottom: 60px;
}
#newsOnceDate {
	font-size: 12px;
	line-height: 56px;
	color: #bb0101;
	text-align: center;
}
#newsOnce h3 {
	font-size: 18px;
	line-height: 30px;
	padding-top: 18px;
	padding-bottom: 53px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #FFF;
	font-weight: bold;
}
#newsDetail {
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
}
#newsScr {
	height: 40px;
	width: 40px;
	margin-left: -20px;
	position: absolute;
	left: 50%;
	top: -20px;
	display: block;
}
#newsScr:hover img { animation: rotateY 1s ease infinite; }
#newsDetail p {
	font-size: 16px;
	line-height: 38px;
	padding-bottom: 38px;
}
#newsDetail img {
	display: block;
	margin-right: auto;
	margin-left: auto;
	max-width: 900px;
	margin-bottom: 38px;
}
#newsBack {
	height: 40px;
	width: 200px;
	margin-right: auto;
	margin-left: auto;
}
#newsBack a {
	background-image: url(../images/btn_news_back.png);
	display: block;
	height: 40px;
	position: relative;
}
#newsBack a:before {
	content: '';
	left: 17px;
	height: 24px;
	top: 8px;
	width: 166px;
	position: absolute;
	background-image: url(../images/btn_news_back_ov.png);
	opacity: 0;
	transition: all 0.3s ease;
}
#newsBack a:hover:before { opacity: 1; }
.blur {
	opacity: 0;
	-webkit-filter: blur(30px);
	filter: blur(30px);
	transition: all 2s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.blur.blurs {
	opacity: 1;
	-webkit-filter: blur(0px);
	filter: blur(0px);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@keyframes aura {
	0% {
		opacity:0;
		transform:scale(2);
	}
	50% {
		opacity:1;
		transform:scale(1.5);
	}
	100% {
		opacity:0;
		transform:scale(1);
	}
}
/*#mainVisualAura.aura {
animation:aura 1.4s linear infinite;
}*/
#mainVisualAura2.aura {
animation:aura 1.4s linear infinite;
animation-delay:0.7s;
}
#bttop {
	height: 300px;
	position: relative;
}
#bttop a {
	height: 70px;
	width: 70px;
	margin-top: -35px;
	margin-left: -35px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-top-color: #FFF;
	border-right-color: #FFF;
	position: absolute;
	left: 50%;
	top: 50%;
	display: block;
	transform:rotate(-45deg);
}
#leftCenter {
	height: 219px;
	width: 108px;
	margin-top: -109px;
	margin-left: -54px;
	position: absolute;
	left: 50%;
	top: 50%;
	background: url(../images/top_comment.png) no-repeat right center;
}
.toComment { padding-top: 55px; }
.toComment a { transition:all 0.3s ease; }
.toComment a:hover { opacity:0.7 }
#comment {
	overflow: auto;
	position: fixed;
	z-index: 9999;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	display:none;
}
#commentin {
	min-height: 620px;
	min-width: 1200px;
	position:absolute;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.5);
}
#commentText {
	padding: 50px;
	width: 700px;
	background: url(https://mahouritsu.com/sp/images/menuin_bg.jpg) no-repeat center center / cover;
	position:absolute;
	left:50%;
	top:50%;
	color:#000;
	transform:translate(-50%,-50%);
}
#commentClose {
	height: 40px;
	width: 40px;
	position: absolute;
	top: -20px;
	right: -20px;
}
.wp-pagenavi {
	padding-top: 30px;
	padding-bottom: 30px;
	text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
	display: inline-block;
	height: 36px;
	width: 36px;
	margin-right: 5px;
	margin-left: 5px;
	background: #FFF;
	border: 2px solid #bb0101;
	line-height: 36px;
	text-align: center;
	transition:all 0.3s ease;
	font-weight:600;
	text-decoration:none;
	color:#bb0101;
}
.wp-pagenavi .current {
	color: #FFF;
	background: #bb0101;
}
.wp-pagenavi a:hover { background: #bb0101;color:#FFF; }


#btn_yt {
	height: 140px;
	width: 140px;
	position: absolute;
	left: 50%;
	bottom: 110px;
	transform: translateX(-50%);
}
#btn_yt a {
	background: url(../images/btn_yt.png) no-repeat center;
	display: block;
	height: 140px;
	width: 140px;
	position: relative;
}
#btn_yt a:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 140px;
	height: 140px;
	background: url(../images/btn_yt_txt.png) no-repeat center;
	animation: rotate 20s linear infinite;
}
#btn_yt a:after {
	content: '';
	position: absolute;
	width: 111px;
	height: 111px;
	left: 15px;
	top: 15px;
	background: url(../images/btn_yt_ov.png) no-repeat center;
	transition: all 0.5s ease;
}
#btn_yt a:hover:after { opacity: 0; }
#btn_yt a span {
	background: url(../images/pv_txt.png) no-repeat center;
	text-indent: -8897px;
	display: block;
	height: 25px;
	width: 93px;
	position: absolute;
	z-index: 1560;
	left: 25px;
	bottom: -23px;
}

#movieModal {
	position: fixed;
	z-index: 12000;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	overflow: auto;
	display: none;
}
#movieModal:before, #movieModal:after {
	content: "";
	width: 187px;
	height: 152px;
	position: absolute;
	z-index: 100;
}
#movieModal:before {
	top: 0;
	left: 0;
	background: url(../images/left_corner_v.png) no-repeat center;
}
#movieModal:after {
	bottom: 0;
	right: 0;
	background: url(../images/right_corner_v.png) no-repeat center;
}
#modalin {
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0px;
	top: 0px;
	min-height: 620px;
	min-width: 1200px;
	background: #000;
}
#modalin iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#movieModal .btnClose {
	top: 20px;
	right: 20px;
	z-index: 100;
}
#movieModal .btnClose a {
	background: url(../images/btn_close.png) no-repeat center;
}