@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP');
::selection {
	background: #FFF;
	color: #000;
}
::-moz-selection {
 background: #FFF;
 color:#000;
}
* { outline: none; }
body {
	font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, serif;
	font-size: 20px;
	color: #FFF;
	background: #000;
}
a { color: #FFF; }
a:hover { text-decoration: none; }
#fullWrap {
	width: 640px;
	margin: 0 auto;
	padding-bottom: 100px;
}
@keyframes indexbg { from {
 background-color:rgba(212,212,212,1);
}
to { background-color: rgba(255,255,255,1); }
}
.indexWrap {
	opacity: 0;
	/*	animation: indexbg 10s alternate-reverse infinite;*/
	background-color: #000;
}
.pc { display: none }
#mv {
	height: 1160px;
	position: relative;
}
#mv h1 {
	background: url(../images/index_logo.png) no-repeat center center;
	position: absolute;
	height: 133px;
	width: 598px;
	left: 23px;
	top: 28px;
	z-index: 500;
}
#startdate {
	background: url(../images/startdate.png) no-repeat center center;
	position: absolute;
	height: 110px;
	width: 600px;
	left: 20px;
	top: 153px;
	z-index: 400;
}
#mvin {
	background: url(../images/mv3.jpg) no-repeat center center;
	height: 910px;
	width: 640px;
	position: absolute;
	left: 0px;
	bottom: 0px;
	opacity: 0;
	filter: blur(50px);
}
#mv.ef #mvin {
	opacity: 1;
	filter: blur(0);
	transition: all 1s ease;
}
#indexMovie {
	height: 360px;
	width: 640px;
}
#bnr {
	position: absolute;
	height: 70px;
	width: 300px;
	left: 0;
	bottom: 0;
	z-index: 600;
}
footer { background: #000; }
#copyright {
	line-height: 100px;
	color: #FFF;
	text-align: center;
	height: 100px;
	letter-spacing: 0.12em;
	text-indent: 0.12em;
	font-size: 15px;
}
#header {
	background: rgba(0,0,0,1);
	height: 100px;
	width: 100%;
	position: fixed;
	left: 0px;
	bottom: 0px;
	z-index: 9999;
}
#sub #header { background: #FFF; }
#headerLogo {
	height: 56px;
	width: 245px;
	margin-top: -28px;
	margin-left: -122px;
	position: absolute;
	left: 50%;
	top: 50%;
}
#headerLogo a {
	background: url(../images/header_logo_w.png);
	height: 56px;
	display: block;
}
#sub #headerLogo a { background: url(../images/header_logo_k.png); }
#menuBtn {
	height: 100px;
	width: 100%;
	position: absolute;
	top: 0px;
	right: 0px;
}
#menuBtn a {
	background: url(../images/btn_menu_w.png) no-repeat 565px center;
	display: block;
	height: 100px;
}
#sub #menuBtn a { background: url(../images/btn_menu_k.png) no-repeat 565px center; }
#mainNav {
	position: fixed;
	bottom: 100px;
	z-index: 9998;
	left: 0px;
	right: 0px;
	background: rgba(255,255,255,1);
	overflow: auto;
	height: 0;
	transition: all 0.5s ease;
	-webkit-overflow-scrolling: touch;
}
#mainNav.active { height: calc(100% - 100px); }
#mainNav nav { padding: 80px 52px 60px 0px; }
#mainNav nav dl { float: right; }
#mainNav nav dt {
	float: right;
	height: 370px;
	width: 24px;
	margin-left: 34px;
}
#mainNav nav dd {
	float: right;
	width: 66px;
}
#mainNav nav dd a { display: block; }
#navigation dt { background: url(../images/nav_t.png) no-repeat center top; }
#navigation { height: 530px; }
.nav00 a {
	height: 116px;
	background: url(../images/nav00.png);
}
.nav01 a {
	height: 154px;
	background: url(../images/nav01.png);
}
.nav02 a {
	height: 466px;
	background: url(../images/nav02.png);
}
.nav03 a {
	height: 196px;
	background: url(../images/nav03.png);
}
.nav04 a {
	height: 390px;
	background: url(../images/nav04.png);
}
.nav05 a {
	height: 196px;
	background: url(../images/nav05.png);
}
.nav06 a {
	height: 330px;
	background: url(../images/nav06.png);
}
.nav07 a {
	height: 199px;
	background: url(../images/nav07.png);
}
.nav11 a {
	height: 310px;
	background: url(../images/nav11.png);
}
.nav12 a {
	height: 356px;
	background: url(../images/nav12.png);
}
.nav13 a {
	height: 204px;
	background: url(../images/nav13.png);
}
.nav14 a {
	height: 315px;
	background: url(../images/nav14.png);
}
.nav99 a {
	height: 351px;
	background: url(../images/nav99.png);
}
.nav15 a {
	height: 354px;
	background: url(../images/nav15.png);
}
.nav16 a {
	height: 269px;
	background: url(../images/nav16.png);
}
.nav17 a {
	height: 229px;
	background: url(../images/nav17.png);
}
#share dt { background: url(../images/nav_s.png) no-repeat center top; }
#langBtn {
	background: rgba(58,58,58,1);
	position: absolute;
	height: 100px;
	width: 100px;
	left: 0px;
	top: 0px;
}
.character #langBtn,
.movie #langBtn,
.keywords #langBtn,
.news #langBtn,
#index #langBtn,
.mediamix #langBtn,
.music #langBtn,
.bddvd #langBtn { display: none; }
#langBtn a {
	background: url(../images/lang_btn_en.png) no-repeat center center;
	display: block;
	height: 100px;
}
#langBtn a.en { background: url(../images/lang_btn_ja.png) no-repeat center center; }
#loading {
	background: rgba(0,0,0,1);
	position: fixed;
	z-index: 12000;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	transition: opacity 1s linear, filter 1s linear;
}
#loading.fade {
	opacity: 0;
	filter: blur(20px);
}
#loadingin {
	background: url(../images/msp.png);
	height: 581px;
	width: 640px;
	margin-top: -290px;
	position: absolute;
	left: 0px;
	top: 50%;
	font-size: 24px;
	color: #fff;
	opacity: 0;
}
#loadingin #read {
	position: absolute;
	right: 26px;
	top: 4px;
	line-height: 49px;
	letter-spacing: 4.7px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#loadingin #english {
	line-height: 30px;
	position: absolute;
	height: 30px;
	width: 600px;
	left: 41px;
	top: 290px;
	letter-spacing: 29px;
	font-size: 20px;
}
#title {
	line-height: 30px;
	letter-spacing: 34px;
	position: absolute;
	height: 235px;
	width: 30px;
	left: 281px;
	top: 206px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#title .r { color: #c60000; }
.red { background-color: #c60000; }
#subWrap {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	overflow: auto;
	width: 640px;
	position: fixed;
	top: 0px;
	right: 50px;
	bottom: 100px;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
}
#subWrap.in {
	opacity: 1;
	right: 0;
	transition: all 0.5s ease;
	transition-delay: 0.5s;
}
.subMsl {
	height: 784px;
	min-width: 640px;
	margin-top: -392px;
	position: absolute;
	top: 50%;
	background: url(../images/msl.png) no-repeat right top;
	font-size: 24px;
	line-height: 49px;
	letter-spacing: 4.85px;
}
.subMsl h1 {
	font-size: 14px;
	padding-top: 6px;
	padding-right: 16px;
	letter-spacing: 0.17em;
	width: 18px;
	line-height: 18px;
}
#subWrap .mainPg {
	margin-right: -9px;
	margin-left: 98px;
	text-indent: 0;
}
.subMsl p {
	padding-top: 3px;
	text-indent: 1.2em;
}
#subWrap .dePg { font-size: 20px; }
#subWrap .mlPg {
	font-size: 20px;
	margin-left: 49px;
}
#subEnWrap {
	left: 0;
	top: 0;
	right: 0;
	bottom: 100px;
	position: absolute;
	overflow: auto;
	background-color: #000;
	z-index: 4000;
	display: none;
	opacity: 0;
	-webkit-overflow-scrolling: touch;
}
#subEnWrapin {
	margin: 0px auto;
	width: 580px;
	padding-top: 60px;
	padding-bottom: 100px;
}
.story #subEnWrapin { padding-bottom: 0; }
#subEnWrapin h2 { padding-bottom: 30px; }
#subEnWrapin h2 span {
	background: rgba(255,255,255,1);
	color: rgba(0,0,0,1);
	display: inline-block;
	padding: 0px 5px;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
}
#subEnWrapin .mainPg {
	line-height: 49px;
	letter-spacing: 0.21em;
	font-size: 24px;
	margin-bottom: 40px;
}
#subEnWrapin .dePg {
	font-size: 20px;
	line-height: 49px;
	letter-spacing: 0.18em;
	margin-bottom: 20px;
}
#subEnWrapin .mlPg {
	font-size: 20px;
	line-height: 49px;
	letter-spacing: 0.18em;
	margin-bottom: 40px;
}
#subEnWrapin .inmainPg {
	line-height: 49px;
	letter-spacing: 0.21em;
	font-size: 24px;
	margin-bottom: 40px;
}
#storyImage {
	text-indent: 0 !important;
	padding-top: 0 !important;
	margin-right: -10%;
}
#storyImage img {
	height: 100%;
	width: auto;
}
#storyEnImage { margin-left: -30px; }
#movieList {
	margin-right: 40px;
	padding-left: 40px;
}
#movieList h2 {
	padding-top: 3px;
	padding-bottom: 1.21em;
	position: relative;
	display: inline-block;
}
/*#movieList h2:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5px 9px 3.5px 0;
	border-color: transparent #ffffff transparent transparent;
	left: 50%;
	bottom: 15px;
	margin-left: -6px;
}*/
#movieList p {
	width: 112px;
	margin-left: 18px;
	margin-right: 17px;
}
#cast {
	padding-top: 4px;
	padding-right: 49px;
}
#cast h2 {
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 0.17em;
	height: 580px;
	width: 18px;
	padding-right: 30px;
	padding-top: 2px;
}
#cast ul {
	padding-right: 41px;
	margin-top: -2px;
}
#cast li {
	line-height: 49px;
	letter-spacing: 5.05px;
	font-size: 24px;
	padding-left: 49px;
}
#cast li .r,
#staff li .r {
	color: #e40000 !important;
	position: relative;
	display: inline-block;
	padding-bottom: 1.21em;
	background: url(../images/coron_r.png) no-repeat center bottom;
}
.character .r {
	color: #e40000 !important;
	position: relative;
	display: inline-block;
	padding-bottom: 1.21em;
	background: url(../images/coron_r.png) no-repeat center bottom;
	text-indent: 0;
}
#cast li .r .ruby {
	font-size: 12px;
	position: absolute;
	right: -7px;
	line-height: 16px;
	top: 0;
	letter-spacing: 0.05em;
	text-indent: 0.7em;
}
#cast li .r .ruby02 {
	font-size: 12px;
	position: absolute;
	right: -7px;
	line-height: 16px;
	top: 0;
	letter-spacing: 0.05em;
	text-indent: 0.1em;
}
#staff { padding: 4px 49px 0px 50px; }
#staff h2 {
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 0.17em;
	height: 580px;
	width: 18px;
	padding-right: 40px;
}
#staff ul {
	padding-right: 0px;
	margin-top: -2px;
	margin-right: -9px
}
#staff li {
	line-height: 49px;
	letter-spacing: 4.9px;
	font-size: 24px;
}
#staff li.mlist { margin-left: 49px; }
#subEnWrapin h3 {
	border: 1px solid rgba(255,255,255,1);
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	margin-bottom: 25px;
	padding-right: 5px;
	padding-left: 5px;
	display: inline-block;
}
.castList li {
	font-size: 24px;
	line-height: 45px;
	letter-spacing: 0.1em;
}
.castList li .r { color: #e40000; }
.castList { padding-bottom: 50px; }
.castList li.mlist { margin-bottom: 30px; }
#newsWrap { opacity: 0; }
#newsCont {
	margin: 0px auto;
	width: 608px;
}
#newsCont header {
	height: 324px;
	background: url(../images/news_header.png);
	position: relative;
}
#newsCont header h1 {
	position: absolute;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	width: 18px;
	top: 29px;
	right: 0px;
	letter-spacing: 0.17em;
	font-size: 14px;
}
#newsLogo {
	position: absolute;
	height: 98px;
	width: 445px;
	left: 50%;
	top: 90px;
	margin-left: -222px;
}
#newsLogo a {
	background: url(../../images/news_logo.png);
	display: block;
	height: 98px;
}
#newsCont #newsStartDate {
	position: absolute;
	width: 608px;
	bottom: 66px;
	left: 0;
	right: 0;
	letter-spacing: 0.21em;
	font-size: 24px;
	line-height: 49px;
	text-align: center;
}
#newsList li { border-bottom: 1px solid rgba(43,43,43,1); }
#newsList li a {
	font-size: 20px;
	line-height: 33px;
	color: rgba(255,255,255,1);
	text-decoration: none;
	display: block;
	padding: 35px 0;
	letter-spacing: 0.18em;
	position: relative;
	transition: background-color 0.3s ease;
}
#newsList li a:before {
	content: '';
	position: absolute;
	width: 30px;
	top: 50%;
	height: 1px;
	right: 30px;
	background-color: #FFF;
}
#newsList li a:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 0 10px;
	border-color: transparent transparent transparent #ffffff;
	right: 30px;
	top: 50%;
	margin-top: -6px;
}
#newsList li a time {
	font-size: 16px;
	display: block;
	color: #e40000;
	top: 35px;
	left: 5px;
	position: absolute;
}
#newsList li a time:after { content: '：'; }
#newsList li a span {
	display: block;
	width: 370px;
	padding-left: 170px;
}
#newsMenu {
	position: fixed;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	pointer-events: none;
	overflow: hidden;
}
#newsList { padding-bottom: 200px; }
#newsCont article {
	padding-top: 32px;
	letter-spacing: 0.18em;
}
#newsCont article h2 {
	font-size: 22px;
	line-height: 46px;
	padding: 0px 0px 6px;
}
#newsCont article time {
	font-size: 18px;
	line-height: 34px;
	color: rgba(255,0,0,1);
	display: block;
	padding: 0px 0px 32px;
}
#newsText {
	border-top: 1px solid rgba(43,43,43,1);
	line-height: 46px;
	padding-top: 30px;
	font-size: 20px;
}
#newsText p { margin-bottom: 30px; }
#btlist {
	width: 476px;
	margin: 0 auto;
	padding: 40px 0px 170px;
}
#btlist a {
	display: block;
	height: 48px;
	border: 1px solid rgba(255,255,255,1);
	line-height: 48px;
	text-align: center;
	text-decoration: none;
	transition: all 0.3s ease;
}
.textSplitLoad,
.engSplitLoad,
.titleSplitLoad { display: none; }
.split { visibility: hidden; }
#skip {
	position: absolute;
	right: 20px;
	bottom: 20px;
}
#skip a {
	text-decoration: none;
	display: block;
	padding: 3px;
	border: 1px solid transparent;
	transition: all 0.3s ease;
	line-height: 20px;
	font-size: 16px;
}
.subMsl .inmainPg { text-indent: 0; }
#newsText img {
	max-width: 100%;
	height: auto;
}
#newsText iframe {
	width: 608px;
	height: 342px;
}
#newsText p strong.r {
	font-size: 24px;
	color: #F00;
	display: inline-block;
	margin-bottom: 15px;
	font-weight: 600;
}
.commentBtn {
	font-size: 16px;
	display: inline-block;
	width: 22px;
	margin-top: 15px;
	border: 1px solid rgba(255,255,255,1);
	background-color: rgba(0,0,0,0.8);
	text-decoration: none;
	line-height: 22px;
	letter-spacing: 0.02em;
	padding-top: 4px;
	padding-bottom: 5px;
	transition: all .5s ease;
}
#subWrap .kTitle {
	color: #d60000;
	margin: 0 40px 0 49px;
	text-indent: 0;
}
#subWrap .kTitle2 {
	color: #d60000;
	margin: 0 40px 0 49px;
	text-indent: 0;
}
#subWrap .mlPgEX {
	font-size: 20px;
	line-height: 49px;
	letter-spacing: 0.18em;
	margin: 0 0 0 98px;
	text-indent: 1.15em;
}
#mainNav nav dd:nth-child(9) {
	clear: both;
	margin-right: 57px;
	margin-top: 64px;
}
#mainNav nav dd:nth-child(n+10) { margin-top: 64px; }
#share { margin-top: 415px; }
#subWrap .charaFurigana {
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	height: 580px;
	width: 18px;
	color: #d60000;
	padding-top: 1px;
	padding-right: 32px;
	text-indent: 0.7em;
}
#subWrap .charaFurigana02 {
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	height: 580px;
	width: 18px;
	color: #d60000;
	padding-right: 31px;
	text-indent: 0.1em;
}
#subWrap .charaFurigana03 {
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	height: 580px;
	width: 18px;
	color: #d60000;
	padding-right: 32px;
	text-indent: 0.1em;
}
#subWrap .charaFurigana04 {
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	height: 580px;
	width: 18px;
	color: #d60000;
	padding-right: 32px;
	text-indent: 0.1em;
}
#subWrap .charaFurigana05 {
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	height: 580px;
	width: 18px;
	color: #d60000;
	padding-right: 32px;
	text-indent: 0.1em;
}
#subWrap .charaFurigana06 {
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	height: 580px;
	width: 18px;
	color: #d60000;
	padding-right: 32px;
	text-indent: 0.1em;
}
#subWrap .charaFurigana07 {
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	height: 580px;
	width: 18px;
	color: #d60000;
	padding-right: 32px;
	text-indent: 0.1em;
}
#subWrap .charaFurigana08 {
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 0.05em;
	height: 580px;
	width: 18px;
	color: #d60000;
	padding-right: 32px;
	text-indent: 0.1em;
}
#subWrap .charaName {
	line-height: 49px;
	letter-spacing: 5.05px;
	color: #d60000;
	margin: -29px -9px 25px 10px;
	text-indent: 1.15em;
}
#subWrap .charaImg { margin: 7px 16px 7px 16px; }
#subWrap .charaName span { color: #FFF; }
.character #subWrap h2 {
	line-height: 49px;
	letter-spacing: 4.8px;
	color: #FFF;
	margin: 2px -2px 25px 0px;
}
#subWrap .mlPg_chara {
	font-size: 16px;
	line-height: 49px;
	letter-spacing: 0.18em;
	margin: 0 49px 25px 57px;
	text-indent: 1.15em;
}
.mmCategory {
	line-height: 49px;
	letter-spacing: 5.05px;
	color: #d60000;
	margin: -29px -9px 25px 10px;
	text-indent: 1.15em;
	padding-right: 49px
}
.comiximg {
	padding-top: 7px;
	padding-right: 11px;
	padding-left: 21px;
}
.comiximg2 {
	padding-top: 7px;
	padding-right: 11px;
	padding-left: 50px;
}
.mediamix h2 {
	line-height: 49px;
	text-indent: 1.25em;
	letter-spacing: 5.00px;
	font-size: 24px;
	margin: 22px -1px 0 49px;
}
.mediamix .dePg strong {
	text-indent: -2.3em;
	display: inline-block;
	font-weight: normal;
}
.mediamix .dePg.mlPgind { padding-top: 1.15em; }
.mediamix .commentBtn { text-indent: 0em; }
.musicimg {
	padding-top: 10px;
	padding-left: 28px;
	padding-right: 15px;
}
.castList li i {
	font-style: normal;
	display: block;
}
#award { padding-top: 30px; }
#award p { text-align: center; }
#newsCont.special article h2 {
	font-size: 20px;
	line-height: 54px;
	padding: 0px 100px 30px;
	text-align: center;
	letter-spacing: 0.18em;
}
#newsCont.special article h2 strong {
	font-size: 32px;
	font-weight: normal;
}
#newsText .specialImage {
	margin: 30px auto 70px;
	width: 608px;
}
#newsText .specialImage img {
	width: 100%;
	height: auto;
}
#newsText .specialBtn {
	height: 70px;
	width: 608px;
	margin: 0px auto 10px;
}
#newsText .specialBtn a {
	display: block;
	height: 70px;
	box-sizing: border-box;
	border: 1px solid #FFF;
	font-size: 22px;
	text-align: center;
	line-height: 68px;
	text-decoration: none;
	transition: all 0.3s ease;
}
#newsText .strDate {
	text-align: center;
	padding-bottom: 140px;
}
#newsText .specialBtn #pause { display: none; }
.kimg {
	float: right;
	display: block;
	height: 150px;
	width: auto;
	margin-top: 10px;
	margin-bottom: 7px;
	margin-right: 15px;
}
.pkgimg {
	padding-top: 8px;
	padding-right: 15px;
	padding-left: 24px;
}
.bddvdSpecialImg {
	padding-right: 15px;
	padding-top: 8px;
	padding-left: 64px;
}

table {
	border: 1px solid #fff;
}