@charset "UTF-8";

/* #common
---------------------------------------------------- */
element{
	min-height: auto;
	min-height: inherit;
}

.sans-serif {
	font-family: 游明朝,"Yu Mincho",YuMincho,"Noto Serif SC","Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}
.anc {
	display: block;
	height: 0;
	margin: 0;
	padding: 0;
	position: relative;
    top: -60px;
}
iframe {
	vertical-align: bottom;
}
.br_pc_only {
	display: block;
}
img.pc {
	display: block;
}
img.sp {
	display: none;
}
section a.link{
	color:#f00074;
	font-weight: 400;
	text-decoration: none;
}
section a.link:hover{
	color:#ededed;
	text-decoration: none;
}
.fix-top {
	margin-top: 60px !important;
}

/* section
---------------------------------------------------- */
body {
	margin: 0 0 380px;
	background: #FFF;
}
.details02, .animesec, .introduction, .story, .character, .gallery, .movie, .system, .caststaff, .special, .spec {
	width: 100%;
	min-width: 0;
	padding: 60px 0px;
	margin: 0;
	color: #000;
	position: relative;
	z-index: 2;
}
.details_header, .details01, .details02, .animesec, .introduction, .story, .character, .gallery, .movie, .system, .caststaff, .special, .spec {
	min-width:1064px;
}
.setblc {
	margin: 0 50px;
	min-width: 0;
	text-align: center;
}
.setblc .wrap {
	margin: 0 auto;
	position: relative;
}
footer .setblc {
	text-align: left;
}

/* backimage
---------------------------------------------------- */
.fix_back_images {
	position: fixed;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	z-index: -100;
	background: #000;
}
.fix_back_images img {
	width: 100%;
}

/* ttl
---------------------------------------------------- */
.animesec .ttl, .introduction .ttl, .story .ttl, .character .ttl, .gallery .ttl, .movie .ttl, .system .ttl, .caststaff .ttl, .special .ttl, .spec .ttl {
	width: 100%;
	text-align: center;
	margin: 0;
	padding: 0 0 50px 0;
	overflow: hidden;
}

.animesec .ttl img, .introduction .ttl img, .story .ttl img, .character .ttl img, .gallery .ttl img, .movie .ttl img, .system .ttl img, .caststaff .ttl img, .special .ttl img, .spec .ttl img {
	height: 75px;
	margin: 0 auto;
	vertical-align: middle;
}


/* #moviebn
---------------------------------------------------- */
#moviebn {
/*
position: fixed;
right: 0;
bottom: 0;
padding-right: 20px;
padding-bottom: 20px;
z-index: 10;
*/
display: none;
}
#moviebn img {
/*
width: 100%;
height: auto;
vertical-align: baseline;
*/
}


/* details_ttl
---------------------------------------------------- */
.hero{
	background: #FFF;
}
.details_ttl {
	background: #FFF;
	min-width: 1064px;
}
.details_ttl .setblc {
	text-align: left;
}
.details_ttl .name {
	height: 36px;
}
.details_ttl .name img{
	height: 32px;
	/*margin-top: 4px;*/
}

/* details_header
---------------------------------------------------- */
.details_header {
	padding: 15px 0;
	background: #FFF;
}
.details_header ul li {
	float: left;
	margin-right: 20px;
	line-height: 30px;
}
.details_header ul li a{
	font-size: 15px;
}
.details_header ul li img{
	vertical-align: top;
	height: 12px;
	margin-top: 9px;
}
.details_header ul li img:hover{
	opacity: 0.6;
}
.details_header label{
	display: none;
}
/*
.details_header:before {
    position: absolute;
    z-index: -1;
    bottom: 30px;
    left: 0;
    width: 100%;
    height: 50px;
    background: #FFF;
    content: "";
    display: block;
}
*/
.details_header.is-fixed{
	background: rgba(255,255,255,0.9);
}
/* menu */
.details_header .menu_top_list,
.details_header .menu_top_logo,
.details_header label{
	display: none;
}
.details_header.is-fixed .menu_top_list{
	display: inline-block;
}
.anc.type_top {
	display: block;
	height: 0;
	margin: 0;
	padding: 0;
	position: relative;
    top: -200px;
}
/*      */



/* details01
---------------------------------------------------- */
.details01 {
	background: url() transparent;
	overflow: hidden;
	position: relative;
	min-width:1064px;
}
.details01 .setblc {
	position: relative;
	margin: 0;
	height: 1750px;
}
.details01 .setblc:before,
.details01 .setblc:after{
	content: "";
	display: block;
	margin: 0;
	position: absolute;
	top:0;
	left: 0px;
	overflow: hidden;
	height: 1675px;
	width: 50px;
	background-image: url(/official/black/contents/product70/images/details/side50_3.png);
	background-position: center;
	z-index: 2;
}
.details01 .setblc:after{
	background-image: url(/official/black/contents/product70/images/details/side50_3.png);
	background-position: center;
	left: auto;
	right: 0px;
}
.details01 .main{
	width: 2500px;
	margin-right: -1250px;
	margin-left: -1250px;
	position: relative;
	left: 50%;
	z-index: 1;
}
.details01 .brandlogo {
    position: absolute;
    top: 20px;
    right: 70px;
	text-align: right;
	z-index: 8;
}
.details01 .brandlogo img{
	width: 60px;
}
.details01 .hover_copy {
	position: absolute;
	top: 32%;
	left: auto;
	right: 50%;
	margin-right: -800px;
	text-align: right;
	z-index: 2;
}
.details01 .bn03 {
	position: absolute;
	top: 30px;
	left: 50%;
	right: auto;
	margin-left: -800px;
	text-align: left;
	z-index: 2;
}
.details01 .bn02 {
	position: absolute;
	top: 305px;
	left: 50%;
	right: auto;
	margin-left: -800px;
	text-align: left;
	z-index: 2;
}
.details01 .bn03 img,
.details01 .bn02 img {
	width: 370px;
}

.details01 .hover_logo {
	position: absolute;
	top: 32%;
	left: 50%;
	margin-left: -230px;
	z-index: 2;
}
.details01 .hover_bn00{
	position: absolute;
	top: 1470px;
	left: 0;
	width: 100%;
	text-align:s center;
	z-index: 2;
}
.details01 .hover_bn00 a{
	display: block;
	width: 689px;
	line-height: 60px;
	margin: 0 auto;
	background: url(/official/black/contents/product70/images/details/bn00.png) no-repeat center;
	background-size: cover;
	font-size: 26px;
	color: #FFF;
	transform: scale(1.00);
	transition: 0.5s;
}
.details01 .hover_bn00 a:hover{
	transform: scale(1.1);
	transition: 0.5s;
}
.details01 .hover_bn00 a img{
	vertical-align: top;
	margin-top: 15px;
	height: 30px;
}
/*
.details01 .pink_blc {
	background: #ed0076;
	width: 100%;
	height: 450px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
*/
/*
.details01 .details_news {
margin-top: -140px;
}
.details01 .details_news .details_news_blc {
margin-top: 40px;
background-color: #FFF;
z-index: 1;
position: relative;
width: 820px;
}
.details01 .details_news .details_news_blc .ttl {
font-size: 96px;
padding: 10px;
line-height: 100px;
font-weight: bold;
font-family: 'Oswald', sans-serif;
float: left;
background-image: url();
-webkit-background-clip: text;
color: transparent;
}
.details01 .details_news .details_news_blc ul {
padding: 10px 0 10px 30px;
max-height: 122px;
overflow: auto;
}
.details01 .details_news .details_news_blc ul li {
font-size: 14px;
padding-bottom: 5px;
margin-bottom: 5px;
border-bottom: 1px solid #e9e9e9;
}
.details01 .details_news .details_news_blc ul li span {
float: left;
}
.details01 .details_news .details_news_blc ul li p {
padding-left: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.details01 .newsimg {
position: absolute;
bottom: 0;
right: 0;
}
*/


/* details02
---------------------------------------------------- */
.details02 {
	background: url() transparent;
	padding-top: 0;
}
.details02 .btn3 {
	margin-left: -1%;
	padding-bottom: 60px;
	text-align: left;
}
.details02 .btn3 li {
	float: left;
	width: 32.3%;
	margin-left: 1%;
	text-align: left;
}
.details02 .btn3 li a {
	width: 100%;
	display: block;
	font-size: 18px;
	line-height: 22px;
	position: relative;
	font-weight: bold;
	background-color: #FFF;
	padding: 20px 3%;
	border: 3px solid #000;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.details02 .btn3 li a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #e71627;
	border-right: 1px solid #e71627;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.details02 .btn3 li a p {
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 52px;
}
.details02 .btn3 li a p.package {
	background-image: url(/official/black/contents/product70/images/details/ico_btn01.png);
}
.details02 .btn3 li a p.download {
	background-image: url(/official/black/contents/product70/images/details/ico_btn02.png);
}
.details02 .btn3 li a p.spgame {
	background-image: url(/official/black/contents/product70/images/details/ico_btn03.png);
}
.details02 .btn3 li a span {
	display: block;
	font-size: 16px;
}
.details02 .btn3 li a span span {
	display: inline;
	font-size: 10px;
}
.details02 .data {
	color: #FFF;
	border: 1px solid #ed0075;
	background-color: #000;
	padding: 2%;
	margin-bottom: 0px;
	position: relative;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	text-align: left;
}
.details02 .data .data_twitter {
	position: absolute;
	top: 10px;
	right: -50px;
	width: 22%;
	z-index: 1;
}
.details02 .data .data_twitter img {
	width: 100%;
}
.details02 .data figure {
	float: left;
	width: 15%;
}
.details02 .data figure img {
	width: 100%;
}
.details02 .data .info {
	padding-left: 17%;
}
.details02 .data .info .ttl {
	font-size: 27px;
	font-weight: bold;
	margin-bottom: 10px;
}
.details02 .data .info .ttl span {
	font-size: 14px;
	margin-left: 10px;
}
.details02 .data .info .ico {
	display: inline-block;
}
.details02 .data .info .ico li {
	float: left;
	margin-right: 5px;
}
.details02 .data .info .ico li p {
	display: block;
	font-size: 11px;
	line-height: 20px;
	padding: 0 5px;
	color: #FFF;
	border: 1px solid #cacaca;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
}
.details02 .data .info .ico li a {
	color: #5c5f62;
}
.details02 .data .info .ico li i {
	line-height: 20px;
	margin: 0 0 0 10px;
	display: block;
	color: #FFF;
}
.details02 .data .info .worksdata table {
	width: 50%;
	float: left;
	font-size: 13px;
	border-collapse: collapse;
}
.details02 .data .info .worksdata table th, .details02 .data .info .worksdata table td {
	font-weight: normal;
	text-align: left;
	padding: 3px 0;
	border-bottom: 1px solid #e2e2e2;
}
.details02 .data .info .worksdata table th {
	max-width: 60px;
}
.details02 .data .info .worksdata table td a {
	background-image: url(/official/black/contents/product70/images/store/details/table_link.png);
	background-position: right 4px;
	background-repeat: no-repeat;
	background-size: 4px auto;
	padding-right: 8px;
	color: #FFF;
}
.details02 .intro {
	padding-bottom: 70px;
}
.details02 .intro .ttl {
	font-size: 96px;
	line-height: 100px;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	float: left;
	background-image: url(/official/black/contents/product70/images/details/ttl_bg.jpg);
	-webkit-background-clip: text;
	color: transparent;
	margin-bottom: 15px;
	display: block;
}
.details02 .intro img {
	width: 100%;
}
.details02 .intro p {
	display: none;
}
.details02 .comingsoon{
	pointer-events: none;
	position: relative;
}
.details02 .btn3 li.comingsoon a {
	background: #bbb;
	height: 93px;
}


/* animesec 
---------------------------------------------------- */
.animesec {
	text-align: center;
	font-weight: 300;
}
.animesec .wrap1 {
	padding: 0 0 50px;
}
.animesec .wrap2 {
	background: #ed0076;
	background: url(/official/black/contents/product70/images/details/movie_bg.jpg) center no-repeat;
	background-size: cover;
	padding: 50px 0;
	position: relative;
}
.animesec .wrap2:before{
	content: url(/official/black/contents/product70/images/details/movie_hover01.png);
	display: block;
	position: absolute;
	top:0;
	left: 0;
	z-index: 1;
}
.animesec .wrap2:after{
	content: url(/official/black/contents/product70/images/details/movie_hover02.png);
	display: block;
	position: absolute;
	bottom:-8px;
	right: 0;
	z-index: 1;
}
.animesec .wrap2 img{
	position: relative;
	z-index: 3;
}


.animesec .wrap2 img{
	max-width: 1100px;
	width: 100%;
}

.animesec .copy1 {
	line-height: 1.5;
}
.animesec .copy2 {
	line-height: 1.0;
	padding: 10px 0;
}
.animesec .copy1 img{
	height: 30px;
}
.animesec .copy2 img{
	height: 110px;
}
.animesec .text2 {
	font-size: 15px;
	color: #FFF;
	line-height: 24px;
	padding-top: 20px;
}
.animesec .anime_box {
	background: url(/official/black/contents/product70/images/details/anime_iframe_bk.jpg) repeat-x center;
	height: 550px;
	padding: 0 50px;
	margin-top: -35px;
}
.animesec .banners {
	margin: 50px;
}
.animesec .banners img {
	width: 100%;
	max-width: 679px;
}
.text_active {
	display: inline-block;
	animation: v_css_anime 1s infinite;
}

@keyframes v_css_anime {
	0% { transform: scale(1); }
	20% { transform: scale(1.03); }
	40% { transform: scale(0.98); }
	60% { transform: scale(1.01); }
	80% { transform: scale(0.995); }
	100% { transform: scale(1); }
}


/* introduction
---------------------------------------------------- */
.introduction {
	background: url() transparent;
	font-weight: 300;
}
.introduction .box {
	padding: 0 0 5%;
}
.introduction .box:last-child {
	padding: 0 0 0;
}
.introduction .box img {
	width: 100%;
}
.introduction .text1 {
	font-size: 15px;
	line-height: 2.2;
	color: #FFF;
	text-align: left;
	padding: 0% 50px 3%;
}
.introduction .text2 {
	font-size: 30px;
	line-height: 1,8;
	color: #FFF;
	text-align: left;
	padding: 3% 50px 1%;
}
.introduction .text1 + .text2 {
	padding-top: 0;
}




/* movie
---------------------------------------------------- */
.movie {
	font-weight: 300;
}
.movie .wrap img{
	max-width: 1100px;
	width: 100%;
	position: relative;
	z-index: 3;
}
.movie .wrap {
	background: #ed0076;
	background: url(/official/black/contents/product70/images/details/movie_bg.jpg) center no-repeat;
	background-size: cover;
	padding: 50px 0;
	position: relative;
}
.movie .wrap:before{
	content: url(/official/black/contents/product70/images/details/movie_hover01.png);
	display: block;
	position: absolute;
	top:0;
	left: 0;
	z-index: 1;
}
.movie .wrap:after{
	content: url(/official/black/contents/product70/images/details/movie_hover02.png);
	display: block;
	position: absolute;
	bottom:-8px;
	right: 0;
	z-index: 1;
}



/* special
---------------------------------------------------- */
.special {
	color: #FFF;
	text-align: center;
}
.special .ttl_sub span {
	font-size: 24px;
	font-weight: bold;
	margin: 0 auto 30px;
	color: #ed0075;
	display: block;
}
.special .itemlist + .ttl_sub {
	padding-top: 40px;
}
.special .ttl span {
	font-size: 25px;
	margin-left: 15px;
	color: #26292e;
	display: inline-block;
}
.special ul.itemlist {
	margin: 0;
}
.special ul.itemlist li {
	display: inline-block;
	vertical-align: top;
	width: 100%;
	margin: 0;
}
.special ul.itemlist li img {
	width: 100%;
}
.special ul.itemlist li p {
	font-size: 13px;
	line-height: 21px;
}
.special ul.itemlist li p.sttl {
	margin: 30px 0 20px;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
}
.special ul#tab-button {
	text-align: center;
	margin-bottom: 30px;
}
.special ul#tab-button li {
	display: inline-block;
	margin: 0 10px;
	font-size: 18px;
	cursor: pointer;
}
.special ul#tab-button li.is-active a, .special ul#tab-button li:hover {
	color: #e70012;
}
.tab-select-outer, .disnon {
	display: none;
}





/* caststaff
---------------------------------------------------- */
.caststaff {
	min-width: 1064px;
	/* old
	padding-bottom: 150px;
	*/
}
.caststaff ul{
	text-align: left;
}
.caststaff ul li {
	float: left;
	width: 50%;
}
.caststaff ul li table {
	width: 100%;
	font-size: 13px;
	line-height: 20px;
	color: #FFF;
	border-collapse: collapse;
}
.caststaff ul li table tr th {
	width: 70px;
	padding: 5px 0;
	font-weight: normal;
	font-family: 'Oswald', sans-serif;
}
.caststaff ul li table tr td {
	padding: 5px 20px;
}
.caststaff ul li table tr td.line {
	border-left: 1px solid #878382;
}
.caststaff ul li table tr td.line_b {
	border-left: 2px solid #FFF;
}
.caststaff ul li table tr td a {
	background-image: url(/official/black/contents/product70/images/details/table_link.png);
	background-position: right 4px;
	background-repeat: no-repeat;
	background-size: 4px auto;
	padding-right: 8px;
	color: #FFF;
}
.caststaff ul li table tr td a:hover {
	color: #e70012;
}



/* spec
---------------------------------------------------- */
.spec{
	background: #FFF;
}
.spec .setblc {
	text-align: left;
}

/* spec
---------------------------------------------------- */
.spec{
	background: #FFF;
}
.spec .setblc {
	text-align: left;
}

.disnon {
	display: none;
}
.spec {
	min-width: 1064px;
	padding-bottom: 150px;
}
.spec .ttl {
	font-size: 96px;
	line-height: 100px;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	background-image: url(/official/black/contents/product70/images/details/ttl_bg.jpg);
    -webkit-background-clip: text; 
    color: transparent;
	margin: 0 0 40px;
}
.spec ul li.speclist {
	float: left;
	width: 50%;
}
.spec ul li.speclist .sttl {
	float: left;
	font-weight: bold;
	font-size: 13px;
}
.spec ul li.speclist table {
	margin-left: 80px;
	font-size: 13px;
	line-height: 20px;
	padding-bottom: 20px;
	border-left: 1px solid #878382;
	position: relative;
}
.spec ul li.speclist table::before {
	position: absolute;
	content: "";
	width: 2px;
	height: 30px;
	top: 0px;
    left: -1px;
	background-color: #000;
}
.spec ul li.speclist table tr td {
	padding: 0 20px 10px;
	vertical-align: top;
}
.spec ul li.speclist table tr td:first-child {
	width: 30%;
}
.spec ul li.speclist table tr td a {
    background-image: url(/official/black/contents/product70/images/details/table_link2.png);
    background-position: right 4px;
    background-repeat: no-repeat;
    background-size: 4px auto;
    padding-right: 8px;
}
.spec ul li.speclist table tr td .tag li {
	float: left;
	margin: 5px 5px 0 0;
}
.spec ul li.speclist table tr td .tag li a {
	padding: 0 5px;
	font-size: 11px;
	color: #858789;
	border: 1px solid #858789;
	border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	background-image: none;
}
.spec ul li.speclist table tr td .tag li a:hover {
	color: #e70012;
	border: 1px solid #e70012;
}
.spec ul li.speclist table tr td .tab02 li {
	float: left;
	padding: 0 5px;
	font-size: 11px;
	color: #adafb0;
	border: 1px solid #adafb0;
	margin-right: 5px;
	border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	cursor: pointer;
}
.spec ul li.speclist table tr td .tab02 li.select,
.spec ul li.speclist table tr td .tab02 li:hover {
	color: #e70012;
	border: 1px solid #e70012;
}
.spec ul li.speclist table tr td strong {
	color: #6f7174;
}
.spec ul li.speclist table tr td .indent {
	font-size: 11px;
	line-height: 16px;
}



.movie .wrap:after,
.movie .wrap:before,
.animesec .wrap2:before,
.animesec .wrap2:after{
	display: none;
}





/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*                                                                                                                                                 1750 */
/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1750px) {

	/* details01
	---------------------------------------------------- */
	.details01 {
	}
	.details01 .setblc {
		height: 1400px;
	}
	.details01 .setblc:before,
	.details01 .setblc:after{
		height: 1350px;
		background-image: url(/official/black/contents/product70/images/details/side50_2.png) no-repeat center;
		z-index: 10;
	}
	.details01 .setblc:after{
		background-image: url(/official/black/contents/product70/images/details/side50_1.png) no-repeat center;
		left: auto;
		right: 0px;
	}
	.details01 .main{
		width: 2000px;
		margin-right: -1000px;
		margin-left: -1000px;
	}
	.details01 .hover_copy {
		top: 40%;
		margin-right: -600px;
	}
	.details01 .hover_copy img{
		width: 100px;
	}
	.details01 .bn03 {
		top: 30px;
		margin-left: -600px;
	}
	.details01 .bn02 {
		top: 270px;
		margin-left: -600px;
	}
	.details01 .bn03 img,
	.details01 .bn02 img {
		width: 300px;
	}
	.details01 .hover_logo {
		top: 40%;
		left: 50%;
		margin-left: -180px;
	}
	.details01 .hover_logo img{
		width: 360px;
	}
	.details01 .hover_bn00{
		top: 1270px;
	}

}









/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*                                                                                                                                                 1350 */
/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1350px) {

	/* details01
	---------------------------------------------------- */
	.details01 {
	}
	.details01 .setblc {
		height: 1250px;
	}
	.details01 .setblc:before,
	.details01 .setblc:after{
		height: 1200px;
	}
	.details01 .setblc:after{
	}
	.details01 .main{
		width: 1700px;
		margin-right: -850px;
		margin-left: -850px;
	}
	.details01 .hover_copy {
		top: 42%;
		margin-right: -460px;
	}
	.details01 .hover_copy img{
		width: 80px;
	}
	.details01 .bn03 {
		top: 30px;
		margin-left: -460px;
	}
	.details01 .bn02 {
		top: 215px;
		margin-left: -460px;
	}
	.details01 .bn03 img,
	.details01 .bn02 img {
		width: 240px;
	}
	.details01 .hover_logo {
		top: 40%;
		left: 50%;
		margin-left: -160px;
	}
	.details01 .hover_logo img{
		width: 320px;
	}
	.details01 .hover_bn00{
		top: 1100px;
	}
}

/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*                                                                                                                                                 1200 */
/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1201px) {

	.animesec .ttl, .introduction .ttl, .story .ttl, .character .ttl, .gallery .ttl, .movie .ttl, .system .ttl, .caststaff .ttl, .special .ttl, .spec .ttl {
		padding: 0 0 30px 0;
		vertical-align: top;
		margin: 0;
	}
	.animesec .ttl img, .introduction .ttl img, .story .ttl img, .character .ttl img, .gallery .ttl img, .movie .ttl img, .system .ttl img, .caststaff .ttl img, .special .ttl img, .spec .ttl img {
		height: 60px;
		vertical-align: top;
	}
	.animesec .wrap2,
	.movie .wrap {
		background: transparent;
		padding: 0;
	}
	.movie .wrap:after,
	.movie .wrap:before,
	.animesec .wrap2:before,
	.animesec .wrap2:after{
		display: none;
	}
}


/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*                                                                                                                                                 740 */
/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 740px) {
	body {
		font-size: 16px;
		line-height: 30px;
	}
}

/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*                                                                                                                                                 640 */
/*------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 640px) {


	/* common
	---------------------------------------------------- */
	#moviebn {
		display: none !important;
	}
	.br_pc_only {
		display: none;
	}
	img.pc {
		display: none;
	}
	img.sp {
		display: block;
	}
	.fix-top {
		margin-top: 50px !important;
	}
	body {
		font-size: 14px;
		line-height: 24px;
		margin-bottom: 0;
	}
	.anc {
	    top: -45px;
	}

	/* section
	---------------------------------------------------- */
	.details02, .animesec, .introduction, .story, .character, .gallery, .movie, .system, .caststaff, .special, .spec {
		width: 100%;
		min-width: 0;
		padding: 25px 0px;
		margin: 0;
		color: #000;
	}
	.details02 {
		padding: 0px;
	}
	.setblc {
		margin: 0 10px;
		text-align: left;
	}

	/* fix_back_images
	---------------------------------------------------- */
	.fix_back_images {
		top: 50px;
	}
	.fix_back_images img {
		width: 1200px;
	}

	/* ttl
	---------------------------------------------------- */
	.animesec .ttl, .introduction .ttl, .story .ttl, .character .ttl, .gallery .ttl, .movie .ttl, .system .ttl, .caststaff .ttl, .special .ttl, .spec .ttl {
		padding: 0 0 15px 0;
	}
	.animesec .ttl img, .introduction .ttl img, .story .ttl img, .character .ttl img, .gallery .ttl img, .movie .ttl img, .system .ttl img, .caststaff .ttl img, .special .ttl img, .spec .ttl img {
		height: 30px;
	}


	/* details_header ttl
	---------------------------------------------------- */
	header.header .headerblc{
		z-index: 1000;
	}
	.details_header ul li {
		display: none;
	}
	.details_ttl{
		display: none;
		min-width: 0;
	}
	/* menu */
	.details_header{
		min-width: 0;
		padding: 0;
		z-index: 10;
		transition: 0.5s;
		background: #FFF;
	}
	.details_header.open{
		transition: 0.5s;
	}
	.details_header .setblc{
		margin: 0;
		transition: 0.5s;
	}
	.details_header .setblc.open{
		transition: 0.5s;
	}
	.details_header .menu_btn{
		padding: 0;
		margin: 0;
	}
	.details_header .menu_btn label{
		display: block;
		padding: 8px 10px;
		height: 30px;
	}
	.details_header .menu_btn label img{
		margin-top: 1px;
		height: 28px;
		vertical-align: top;
	}
	.details_header .menu_btn::after {
		content: "";
		position: absolute;
	    right: 10px;
	    top: 9px;
	    content: "▼";
	    font-size: 14px;
		pointer-events: none;
		transition: 0.5s;
	}
	.details_header .menu_btn.open{
		padding-bottom: 5px;
	}
	.details_header .menu_btn.open::after {
		transform: rotate(180deg);
	}
	.details_header .menu_box{
		display: block;
		overflow: hidden;
		max-height: 0;
		transition: 0.5s;
	}
	.details_header .menu_box.open{
		max-height: 600px;
		transition: 0.5S;
	}
	.details_header .menu_box ul{
		display: block !important;
		margin: 4px 10px;
	}
	.details_header .menu_box ul li {
		display: block;
		float: none;
		border-top: none;
		margin:0;
		line-height: 30px;
		position: relative;
	}
	.details_header .menu_box ul li a{
		font-size: 15px;
		line-height: 35px;
		font-weight: 500;
		display: block;
		letter-spacing: 0;
		color: #3b3b3b !important;
	}
	.details_header .menu_box ul li a img{
		height: 13px;
	}
	.details_header.is-fixed {
	    background: rgba(255,255,255,0.9);
	}

	/* add */
	.details_header .menu_box ul li.menu_top_list{
		display: none;
	}
	.details_header .menu_top_logo{
		display: block;
	}
	.details_header .menu_top_logo a{
		display: inline-block;
		position: absolute;
		top:6px;
		left: 10px;
		z-index: 100;
	}
	.details_header .menu_top_logo img{
		height: 30px;
	}
	.details_header .menu_box{
		transition: 0s;
	}
	/*   */


	/* details01
	---------------------------------------------------- */
	.main.sp {
		display: block;
	}
	.main.pc {
		display: none;
	}
	.details01 {
		min-width: 0px;
		width: 100%;
		margin: 0;
		border: none;
	}
	.details01 .main {
		width: 100%;
		margin: 0;
		padding: 0;
		position: relative;
		top: 0;
		left: 0;
	}
	.details01 .setblc {
		height:auto;
	}
	.details01 .setblc:before,
	.details01 .setblc:after{
		display: none;
	}
	.details01 .brandlogo {
		top: 10px;
		right: 10px;
	}
	.details01 .brandlogo img {
		width: 50px;
	}
	.details01 .hover_logo,
	.details01 .hover_day,
	.details01 .hover_copy {
		display: none;
	}
	.details01 .bn02,
	.details01 .bn03 {
		display: block;
		margin: 0;
	}
	.details01 .bn02 a,
	.details01 .bn03 a {
		display: block;
	}
	.details01 .bn02 img,
	.details01 .bn03 img {
		width: 100%;
	}
	.details01 .bn02 {
		top: 74%;
		right: auto;
		left: 10px;
		width: 47%;
		width: calc( 50% - 15px );
	}
	.details01 .bn03 {
		top: 74%;
		right: 10px;
		left: auto;
		width: 47%;
		width: calc( 50% - 15px );
	}
	.details01 .hover_bn00{
		top: 93%;
	}
	.details01 .hover_bn00 img{
		width: 100%;
	}
	.details01 .hover_bn00 a {
	    display: block;
	    width: 92%;
	    line-height: 40px;
	    margin: 0 auto;
	    background: url(/official/black/contents/product70/images/details/bn00.png) no-repeat center;
	    background-size: 100% 100%;
	    text-align: center;
	    max-width: 400px;
	}
	.details01 .hover_bn00 a img {
	    vertical-align: top;
	    margin: 11px auto;
	    height: auto;
	    width: 90%;
	    max-width: 370px;
	    line-height: 20px;
	}
	.details01 .pink_blc {
		display: none;
	}
	/*
	.details01 .details_news {
	margin: 0 10px;
	}
	.details01 .details_news .details_news_blc {
	margin: 0 0 20px;
	width: 100%;
	}
	.details01 .details_news .details_news_blc .ttl {
	font-size: 50px;
	padding: 0;
	line-height: 50px;
	float: none;
	margin-bottom: 10px;
	}
	.details01 .details_news .details_news_blc ul {
	padding: 0;
	max-height: 100px;
	}
	.details01 .details_news .details_news_blc ul li p {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding-left: 10px;
	}
	.details01 .newsimg {
	display: none;
	}
	*/

	/* details02
	---------------------------------------------------- */
	.details02 {
		padding: 0;
	}
	.details02 .setblc {
		margin: 0;
	}
	.details02 .btn3 {
		margin: 0;
		padding: 10px 10px;
	}
	.details02 .btn3 li {
		float: none;
		width: 100%;
		margin: 0 0 10px 0;
	}
	.details02 .btn3 li a {
	    padding: 8px 3%;
	    font-size: 17px;
	}
	.details02 .btn3 li.comingsoon a {
		height: 69px;
	}
	.details02 .data {
		padding: 10px 20px;
		margin: 0 12px 20px;
		border: solid 2px #ea0075;
	}
	.details02 .data figure {
		display: none;
		float: none;
		width: 70%;
		text-align: center;
		margin: 20px auto;
	}
	.details02 .data figure img {
		width: 100%;
	}
	.details02 .data .info {
		padding-left: 0;
		margin-top: 15px;
		margin-bottom: 15px;
	}
	.details02 .data .info .worksdata table {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
	.details02 .data .info .worksdata table th {
		width: 100px;
		padding-right: 10px;
	}
	.details02 .intro {
		padding-bottom: 30px;
	}
	.details02 .intro .ttl {
		font-size: 50px;
		line-height: 50px;
		margin-bottom: 15px;
	}
	.details02 .intro p {
		display: block;
		margin: 10px 10px 0;
		color: #FFF;
	}

	/* animesec
	---------------------------------------------------- */
	.animesec .iframe_box {
		padding: 0;
	}
	.animesec .iframe_box img {
		width: 100%;
	}
	.animesec .text2 {
		font-size: 14px;
		padding-top: 10px;
	}
	.animesec .text2 br {
		display: none;
	}
	.animesec .anime_box {
		background: url(/official/black/contents/product70/images/details/anime_iframe_bk.jpg) repeat-x center;
		background-size: cover;
		height: 250px;
		padding: 0;
		margin-top: -20px;
	}
	.animesec .copy1{
		text-align: center;
	}
	.animesec .copy1 img {
		height: auto;
		width: 100%;
	}
	.animesec .copy2 img {
		height: auto;
		width: 100%;
	}
	.animesec .wrap1 {
		padding: 0 0 25px;
	}


	/* movie
	---------------------------------------------------- */
	.movie {
		background-image: url(/official/black/contents/product70/images/details/movie_sp_bg.jpg);
		background-position: center top;
		min-width: inherit;
		width: 100%;
	}
	.movie .wrap:before,
	.movie .wrap:after{
		display: none;
	}


	/* special
	---------------------------------------------------- */
	.special {
		min-width: inherit;
		width: 100%;
	}
	.special .ttl span {
		font-size: 18px;
		margin-left: 0;
	}
	.special ul.itemlist {
		margin: 0 0 0 0;
	}
	.special ul.itemlist li {
		display: block;
		width: 100%;
		margin: 0;
	}
	.special ul.itemlist li p {
		font-size: 13px;
		line-height: 21px;
		color: #FFF;
	}
	.special ul.itemlist li p.sttl {
		margin: 15px 0 10px;
		font-size: 16px;
		font-weight: 500;
		text-align: center;
	}
	.tab-select-outer {
		display: block;
	}
	.tab-select-outer #tab-select {
		padding: 10px 0;
		margin-bottom: 20px;
		width: 100%;
	}
	.tab-button-outer {
		display: none;
	}
	.special .ttl_sub {
		text-align: center;
		font-weight: 500;
	}
	.special .ttl_sub span {
		font-size: 18px;
		margin-bottom:10px;
	}



	/* caststaff
	---------------------------------------------------- */
	.caststaff {
		min-width: inherit;
		width: 100%;
		padding-bottom: 15px;
	}
	.caststaff ul li {
		float: none;
		width: 100%;
	}
	.caststaff ul li table tr.trline {
		height: 10px;
		display: block;
	}
	.caststaff ul li table tr th {
		display: block;
		width: 100%;
	}
	.caststaff ul li table tr td {
		display: block;
		width: 100%;
		padding: 0;
	}
	.caststaff ul li table tr td.line {
		border-left: none;
		color: #9a9a9a;
	}
	.caststaff ul li table tr td.line_b {
		border-left: none;
		color: #9a9a9a;
	}
	.caststaff ul li table tr th.line_b {
		border-left: 2px solid #FFF;
		padding-left: 5px;
	}


	/* spec
	---------------------------------------------------- */
	.spec {
		min-width: inherit;
		width: 100%;
		padding-top: 20px;
		margin-top: 0 !important;
		padding-bottom: 0px;
	}
	.spec .ttl {
		font-size: 50px;
		line-height: 50px;
		margin: 0 0 20px;
	}
	.spec ul li.speclist {
		float: none;
		width: 100%;
	}
	.spec ul li.speclist .sttl {
		float: none;
		border-left: 2px solid #000;
	    padding-left: 5px;
		margin-bottom: 2px;
	}
	.spec ul li.speclist .sttl::after {
		position: absolute;
		display: block;
		top: 0px;
		right: 5px;
		content: "＋";
		font-size: 15px;
	}
	.spec ul li.speclist .sttl.open::after {
		content: "\02212";
	}
	.spec ul li.speclist .acc {
		display: none;
	}
	.spec ul li.speclist .acc_open {
		display: block;
	}
	.spec ul li.speclist table {
		margin: 0 0;
		border-left: none;
	}
	.spec ul li.speclist table::before {
	    display: none;
	}
	.spec ul li.speclist table tr.trline {
		height: 10px;
	    display: block;
	}
	.spec ul li.speclist table tr {
		padding: 5px 0 5px;
		display: block;
	}
	.spec ul li.speclist table tr th {
		display: block;
		width: 100%;
	}
	.spec ul li.speclist table tr td {
		display: block;
		width: 100%;
		padding: 0;
	}
	.spec ul li.speclist table tr td:first-child {
	    width: 100%;
		color: #9a9a9a;
	}

	.spec ul li.speclist table tr th.line_b {
	    height: auto;
	    margin-bottom: 0px;
	}
	.spec ul li.speclist .sttl {
	    display: block;
	    width: 100%;
	    font-size: 15px;
	    line-height: 33px;
	    padding-left: 8px;
	    position: relative;
	    margin-bottom: 15px;
	}
	.spec ul li.speclist .sttl::after {
	    display: block;
	    position: absolute;
	    content: "＋";
	    right: 10px;
	    top: 0;
	    font-size: 20px;
	}
	.spec ul li.speclist p {
	    font-size: 15px;
	}
	.spec ul li.speclist .trline {
		display: none;
		height: 0;
		line-height: 0;
		overflow: hidden;
		padding: 0;
		box-sizing: border-box;
	}
	.spec .ttl {
	    font-size: 50px;
	    line-height: 50px;
	    margin: 10px 0 0px;
	    padding: 0;
	}


	body {
		-webkit-text-size-adjust: 100%;
	}
	p {
		max-height: 100%;
	}
	footer {
		margin-top: 0px;
	}

}




/* add css */


/* tab
---------------------------------------------------- */
.tab01 {
	border-bottom: 1px solid #e0e0e0;
	color:#FFF;
	font-size:12px;
}
.tab01 li {
	display: inline-block;
	width: 20%;
	padding: 0 20px;
	margin-left: 15px;
	position: relative;
	font-size: 14px;
	line-height: 40px;
	cursor: pointer;
	border-top: 1px solid #e0e0e0;
	border-left: 1px solid #e0e0e0;
	border-right: 1px solid #e0e0e0;
}
.tab01 li::after {
	position: absolute;
	content: "＋";
	right: 10px;
	top: 0;
	font-size: 20px;
}
.tab01 li.select::after {
	content: "ー";
}
.tab-inner01 {
	padding-top: 20px;
}
.tab-inner01 table {
	float: left;
	position: relative;
	table-layout: fixed;
	width: 100%;
	font-size: 14px;
	line-height: 24px;
	border-collapse: collapse;
	color:#FFF
}
.tab-inner01 table::after {
	content: "";
	width: 2px;
	height: 20px;
	background-color: #FFF;
	position: absolute;
	top: 0;
	left: 100px;
}
.tab-inner01 table th {
	width: 100px;
	text-align: left;
	vertical-align: top;
	padding: 0 0 6px;
}
.tab-inner01 table th p::before {
	content: "－";
	color: #FFF;
}
.tab-inner01 table td {
	border-left: 1px solid #cacaca;
	padding: 0 30px 6px 10px;
}
.tab-inner01 table td a {
	background-image: url(/official/black/contents/product70/images/store/details/table_link.png);
	background-position: right 4px;
	background-repeat: no-repeat;
	background-size: 4px auto;
	padding-right: 8px;
	color:#FFF;
}
.disnon {
	display: none;
}

@media only screen and (max-width: 640px) {
	/* tab
	---------------------------------------------------- */
	.tab01 li {
		width: 31%!important;
		padding: 0 10px;
		margin-left: 1%;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
	}
	.tab-inner01 {
		padding-top: 20px;
	}
	.tab-inner01 table {
		float: none;
		table-layout: fixed;
		max-width: 100%;
		width: 100%;
	}
	.tab-inner01 table::after {
		display: none;
	}
	.tab-inner01 table th {
		width: 100%;
		display: block;
		padding: 0;
		font-weight: normal;
		color: #9a9a9a;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
	}
	.tab-inner01 table td {
		border-left: none;
		width: 100%;
		display: block;
		padding: 0 0 10px 1em;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
	}
}


/* botan */
.details02 .btn3 li a {
	position:relative;
	overflow:hidden;
}
.details02 .btn3 li a.none_item_hover{
    pointer-events: none;
	min-height: 93px;
}
.details02 .btn3 li a.none_item_hover:before {
	height: auto;
	width:200px;
	content:"coming soon";
	font-size:14px;
	color:#2b2b2b;
	background:#FFEB3B;
	display:block;
	text-align:center;
	position:absolute;
	z-index:2;
	top:50%;
	right:-30px;
	margin-top:-14px;
	transform:rotate(-45deg);
	padding:3px;
	box-sizing:border-box;
	cursor: pointer;
	letter-spacing: -0.4px;
}
.details02 .btn3 li a.stop_item_hover{
    filter: grayscale(1);
    background: rgb(121, 5, 61);
    pointer-events: none;
	min-height: 93px;
	color: #999;
}
.details02 .btn3 li a.none_item_hover span,
.details02 .btn3 li a.stop_item_hover span{
	font-size: 15px;
	line-height:25px;
}
.details02 .btn3 li a {
    width: 100%;
    display: block;
    font-size: 18px;
    line-height: 22px;
    position: relative;
    font-weight: bold;
    background-color: #ed0076;
    border: 3px solid #79053d;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    color: #FFF;
    background: url(/official/black/contents/product70/images/details/btn_bg1.png) no-repeat center top / cover;
}
.details02 .btn3 li a:hover {
    color: #FFe000;
}
@media only screen and (max-width: 640px) {
	.details02 .btn3 li a.none_item_hover span,
	.details02 .btn3 li a.stop_item_hover span {
	    /*font-size: 13px;*/
	}
	.details02 .btn3 li a.none_item_hover,
	.details02 .btn3 li a.stop_item_hover{
	    min-height: 69px;
	}
	.details02 .btn3 li a.none_item_hover:before {
		font-size: 13px;
		transform:rotate(-39deg);
	}
	.details02 .btn3 li a {
	    padding: 8px 3%;
	    font-size: 17px;
	}
}


/**/
header.header {
    height: 60px;
}
.details_ttl .name{
    height: 28px;
}
.details_ttl img {
    height: 28px;
}
.details_ttl {
    padding: 18px 0 14px;
    margin: 0;
}
.details_header {
	height: 30px;
    padding: 13px 0 17px;
}

@media only screen and (max-width: 640px) {
header.header {
    height: 50px;
}
.details_header {
    padding: 0;
}
.details_header ul li a{
    display: block;
}
.details_header .menu_btn::after{
    position: absolute;
	top: 15px;
    content: "";
    cursor: pointer;
    width: 12px;
    height: 12px;
    border: solid 0px transparent;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    right: 10px;
    transform: rotate(45deg);
}
.details_header .menu_btn.open::after {
    transform: rotate(-135deg);
    top: 25px;
}
.details_header .menu_btn label {
    padding: 10px 10px;
    height: 30px;
    background: #FFF;
}
.details_header .menu_btn{
    background: rgba(255,255,255,0.9);
}

}


.details02 .btn3 li a.none_item_hover p.package,
.details02 .btn3 li a.stop_item_hover p.package{
	background-image: url(/official/black/contents/product70/images/details/ico_btn01_stop.png);
}
.details02 .btn3 li a.none_item_hover p.download,
.details02 .btn3 li a.stop_item_hover p.download{
	background-image: url(/official/black/contents/product70/images/details/ico_btn02_stop.png);
}
.details02 .btn3 li a.none_item_hover p.spgame,
.details02 .btn3 li a.stop_item_hover p.spgame{
	background-image: url(/official/black/contents/product70/images/details/ico_btn03_stop.png);
}
.details02 .btn3 li a.none_item_hover,
.details02 .btn3 li a.stop_item_hover{
	background: #888;
	color: #a6a6a6;
}





@media only screen and (max-width: 640px) {
	.spec .setblc {
		margin-bottom:30px;
	}
}


.wm110 { width:110px; }


