@charset "utf-8";
@import url('../fontawesome/releases/v5.7.2/css/all.css');	/* FontAwesome */


body,div,pre,blockquote,
embed,object,fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}
/*-----------------------------------------
sentence
-----------------------------------------*/
p,h1,h2,h3,h4,h5,h6 {
	margin: 0;
	padding: 0;
	font-size: 100%;
}

b,em,u,address {
	font-weight: normal;
	font-style: normal;
	text-decoration: none;
}

/*-----------------------------------------
list
-----------------------------------------*/
ul,ol,li {
	margin: 0;
	padding: 0;
}
ul,ul li {
	list-style-type: none;
}

dl,dt,dd {
	margin: 0;
	padding: 0;
}

dt {
	float: left;
	margin-right: 10px;
}

dd {
	text-align: left;
	overflow: hidden;
}




/*-----------------------------------------
img
-----------------------------------------*/
img {
	vertical-align: top;
	max-width: 100%;
}

a img {
	border: 0;
}


/*-----------------------------------------
img
-----------------------------------------*/
a {
	text-decoration: none;
	color: #ce227c;
	transition: opacity 0.3s;
}
/* a:hover {
	opacity: 0.7;
} */

#ft-nav a[target="_blank"]:after {
	font-family: "FOT-スキップ Std";
	font-weight: 900;
	content: "\f35d";
	font-size: 80%;
	margin-left: 6px;
	opacity: 0.7;
}


/*-----------------------------------------
margin
-----------------------------------------*/
/* margin-top */
.mt0 {margin-top: 0px!important;}
.mt5 {margin-top: 5px!important;}
.mt10 {margin-top: 10px!important;}
.mt15 {margin-top: 15px!important;}
.mt20 {margin-top: 20px!important;}
.mt25 {margin-top: 25px!important;}
.mt30 {margin-top: 30px!important;}
.mt35 {margin-top: 35px!important;}
.mt40 {margin-top: 40px!important;}

/* margin-bottom */
.mb1em {margin-bottom: 1em!important;}
.mb0 {margin-bottom: 0px!important;}
.mb5 {margin-bottom: 5px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb15 {margin-bottom: 15px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb25 {margin-bottom: 25px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb35 {margin-bottom: 35px!important;}
.mb40 {margin-bottom: 40px!important;}

/*-----------------------------------------
padding
-----------------------------------------*/
/* padding-top */
.pt0  {padding-top:  0px!important;}
.pt5  {padding-top:  5px!important;}
.pt10 {padding-top: 10px!important;}
.pt15 {padding-top: 15px!important;}
.pt20 {padding-top: 20px!important;}
.pt25 {padding-top: 25px!important;}
.pt30 {padding-top: 30px!important;}
.pt35 {padding-top: 35px!important;}
.pt40 {padding-top: 40px!important;}


/*-----------------------------------------
common
-----------------------------------------*/
html {
	font-size: 62.5%;
}
body * {
	font-size: 14px;
	font-size: 1.4rem;
}


html, body, #wrap {
	width: 100%;
	height: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	position: relative;
	text-align: left;
	font-family: sans-serif;
	color: #fff;
	min-width: 860px;

	background-color: #07060E;
	background-attachment: fixed;
	background-image: url(../images/bg.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;

}


body,input,textarea {
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

#wrap {
	position: relative;
}
@keyframes opacity-1 {
	0%		{ opacity: 0; }
	100%	{ opacity: 1; }
}

@keyframes opacity-0 {
	0%		{ opacity: 1; }
	100%	{ opacity: 0; }
}

@keyframes blink {
	from	{ opacity: 0.5; }
	to		{ opacity: 0.9; }
}


#toTop {
	position: fixed;
	display: block;
	right: 40px;
	bottom: 40px;
	/* background: rgba(0,0,0,0.1); */
	/* border-radius: 4px; */
	/* box-shadow: 0 0 5px #fff; */
	width: 40px;
	height: 40px;
	text-align: center;
	animation: opacity-1 0.3s;
	color: #fff;
}
body.home #toTop {
	display: none;
}

#toTop i {
	font-size: 2rem;
	line-height: 40px;
}

/*-----------------------------------------
 header
-----------------------------------------*/
header {
	position: fixed;
	top: 0;
	width: 100%;
	min-width: 860px;
	padding: 10px 0;
	text-align: center;
	z-index: 10;
	transition: opacity 0.3s;
}
html:not(.mobile) header {
	min-width: 960px;
}
header #navToggle ,
header #navToggleLabel {
	display: none;
}

header:before ,
header:after {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	transition: opacity 0.3s;
	z-index: 0;
}
header:before {
	background: linear-gradient( rgba(0,0,0,0.6) 25%, rgba(0,0,0,0) );
	opacity: 1;
}
header:after {
	background: linear-gradient( rgba(255,255,255,0.9) 40%, rgba(255,255,255,0) );
	opacity: 0;
}

#globalNav {
	position: relative;
	display: inline-block;
	overflow: hidden;
	z-index: 1;
}

#globalNav li {
	position: relative;
	display: block;
	float: left;
	margin: 5px;
}
#globalNav li:after {
	content: " ";
	display: block;
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: 0px;
	height: 1px;
	background: rgba(255,255,255,0.7);
	transition: 0.3s;
	box-shadow: 0 1px 1px rgba(0,0,0,0.5);
}

#globalNav li a {
	position: relative;
	display: inline-block;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
	font-size: 1.7rem;
	color: #fff;
	padding: 10px 30px;
	border-radius: 4px;
	text-shadow: 1px 1px 3px #000;
	font-weight: bold;
	box-sizing: border-box;
}


/* NEW */
#globalNav li a:after {
	display: none;
	right: 8px;
	top: 8px;
}
h2 span.new ,
h3 span.new {
	display: inline-block;
	height: 2.7rem;
	width: 1.3rem;
	margin-left: 6px;
}

#character .pointer li:after {
	right: -6px;
	top: -6px;
}
.new:after {
	right: 5px;
	top: 5px;
}
dt.new:after {
	right: -3px;
	top: -3px;
}

.pointer li,
.new { position: relative; }


/*.pointer li:nth-child(3):after,*/
.new:after ,
#globalNav li a:after {
	content: " ";
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	/* background-color: #ce227c;
	box-shadow: 0 0 5px rgba(0,0,0,1), 0 0 5px rgba(0,0,0,1);
	animation: blink 1s ease-in-out infinite alternate; */

}




#globalNav li#gn-story ,
#globalNav li#gn-campaign ,
#globalNav li#gn-movie {
	text-indent: 5px;
	letter-spacing: 10px;
}

/* #globalNav li#gn-campaign a {
	border: 1px solid #fff;
	text-shadow: none;
	box-shadow: 0 0 5px #fff;
	animation: blink 1s ease-in-out infinite alternate;
}
body.campaign	#gn-campaign a,
#globalNav li#gn-campaign a:hover {
	animation: none;
	opacity: 1;
	color: #000;
	background: #fff;
	border: 1px solid #fff;
} */

body.campaign	#gn-campaign:after ,
body.home		#gn-home:after ,
body.news		#gn-news:after ,
body.story 		#gn-story:after ,
body.character	#gn-character:after ,
body.movie 		#gn-movie:after {
	left: 25px;
	right: 25px;
}



header .sns ,
#sound {
	position: absolute;
	display: block;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
header .sns {
	right: 20px;
	height: 40px;
}


footer .sns {
	display: block;
	overflow: hidden;
	margin-bottom: 20px;
}


.sns a {
	position: relative;
	border: 1px solid #fff;
	border-radius: 50%;
	box-sizing: border-box;
	text-align: center;

	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 0 auto;
}

.sns i ,
header i {
	position: absolute;
	top: 50%;
	color: #fff;
	font-size: 16px;
}
.sns i {
	left: 50%;
	transform: translate(-50%,-50%);
}
#sound i {
	transform: translateY(-50%);
}



/*-----------------------------------------
 sound
-----------------------------------------*/
#sound {
	right: 120px;
}
/*.iOS #sound {
	display: none;
}*/

#sound .wrap {
	position: relative;
	width: 66px;
	height: 30px;
	border: 1px solid rgba(255,255,255,1);
	border-radius: 20px;
	box-sizing: border-box;
	overflow: hidden;
}
#sound .wrap:hover {
	box-shadow: #000;
	/* box-shadow: 1px 1px 1px rgba(128,128,255,0.6),
				0 0 5px rgba(255,255,255,1),
				1px 1px 1px rgba(128,128,255,0.6) inset,
				0 0 5px rgba(255,255,255,1) inset; */
}

#sound input[type=checkbox] {
	display: none;
}

#sound label .sw {
	position: relative;
	display: block;
	width: 100px;
	height: 28px;
	cursor: pointer;
	transition: 0.2s;
	margin-left: -36px;
}
#sound label .sw:before {
	/* content: " "; */
	content: url("../images/icon/music_on.png");
	position: absolute;
	top: 1px;
	bottom: 0;
	left: 2px;
	right: 0;
	background: rgba(255,255,255,0.3);
	animation: none;
	display: none;
}
#sound input[type=checkbox]:checked + label .sw {
	margin-left: 0;
}
#sound input[type=checkbox]:checked + label .sw:before {
	/* background: rgba(255, 58, 217, 1); */
	background: #1da1f2;
	display: block;
}
html:not(.iOS) #sound input[type=checkbox]:checked + label .sw:before {
	animation: blink 1s ease-in-out infinite alternate;
	display: block;
}


#sound label .fa-volume-mute { right: -2px;top: 15px; opacity: 0.6; }
#sound label .fa-volume-up { left: 0px; top: 15px }


#sound label .sw:after {
	/* content: " "; */
	content: url("../images/icon/music_off.png");
	position: absolute;
	top: -2px;
	left: 50px;
	transform: translateX(-50%);
	width: 24px;
	height: 24px;
	margin-top: 2px;
	/* background: #fff; */
	border-radius: 50%;
	text-align: center;
	line-height: 32px;
	/* box-shadow: 0 0 3px rgba(0,0,0,1); */
	display: block;
}
#sound input[type=checkbox]:checked + label .sw:after {
	/* background: rgba(255, 58, 217, 1); */
	background: #fff;
	display: none;
}
#sound #information {
	display: none;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);

	white-space: nowrap;
	top: calc(100% + 10px);
	padding: 8px;

	/* background: rgba(255, 58, 217, 1); */
	background: #1da1f2;
	border-radius: 4px;
	/* box-shadow: 2px 2px 1px rgba(199, 60, 176, 0.58); */

	/* animation: blink 1s ease-in-out infinite alternate; */
}
#sound #information:after {
	content: " ";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 0px;
	height: 0px;
	border-top: 8px solid transparent;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	/* border-bottom: 8px solid rgba(255, 58, 217, 1); */
	border-bottom: #1da1f2;
	top: -16px;
}
small {
	font-size: 75%;
}
body.home #sound:not(.playing) #information ,
#sound:hover #information {
	display: block;
}



/*-----------------------------------------
 home 色替え
-----------------------------------------*/
body.home header:before { opacity: 0; }
body.home header:after { opacity: 1; }
body.home #globalNav li:after {
	background: rgba(0,0,0,0.6);
	box-shadow: none;
}

body.home #globalNav a {
	color: #000;
	text-shadow: 1px 1px 3px #fff;

}
/* body.home #globalNav li#gn-campaign a {
	border: 1px solid transparent;
	text-shadow: none;
	color: #fff;
	background: rgba(0,0,0,0.8);
} */
body.home .sns a ,
body.home #sound .wrap {
	border: 0px;
	/* border: 1px solid rgba(0,0,0,0.7); */
}
body.home header i {
	color: #000;
}

body.home #sound label .sw:before {
	background: rgba(0,0,0,0.1);
}
body.home #sound label .sw:after {
	/* background: rgba(0,0,0,0.8); */
	box-shadow: none;
}



/*-----------------------------------------
 footer
-----------------------------------------*/
footer {
	position: relative;
	width: 100%;
	min-width: 860px;
	padding: 2em 0;
	text-align: center;
	background: rgba(0,0,0,0.8);
}
html:not(.mobile) footer {
	min-width: 960px;
}

footer #ft-nav {
	display: inline-block;
	overflow: hidden;
}
footer #ft-nav li {
	display: inline-block;
}
footer #ft-nav li:not(:last-child):after {
	content: "|";
	display: inline-block;
	margin: 0 1em;
}
footer #ft-nav li a {
	color: #fff;
}





/*-----------------------------------------
 section
-----------------------------------------*/
#wrap > section {
	position: relative;
	/* min-height: 100%; */
	min-height: 85%;
	text-align: center;
	box-sizing: border-box;
	/* padding-bottom: 90px; */
	padding-bottom: 0px;

	background: linear-gradient( rgba(0,0,0,0) 50%, rgba(0,0,0,0.2) ); 
	transition: opacity 0.3s 0.2s;
}
#wrap > section:not(#home) {
	opacity: 0;
	min-height: calc(100% - 90px);
}
body.campaign	section#campaign		,
body.news		section#news		,
body.story 		section#story 		,
body.character	section#character	,
body.movie 		section#movie 		{ opacity: 1 !important; }


html:not(.mobile) #wrap > section {
	min-width: 960px;
	padding-bottom: 20px;
}


#wrap > section:not(#home) > section {
	padding-top: 0px;
	opacity: 0;
	transition: 0.3s 0.5s;
	padding-bottom: 40px;
}


body.campaign	section#campaign		> section ,
body.news		section#news		> section ,
body.story 		section#story 		> section ,
body.character	section#character	> section ,
body.movie 		section#movie 		> section { opacity: 1 !important; }




#wrap > section > p {
	text-shadow: 1px 1px 3px #000;
}



/*-----------------------------------------
 h1-2
-----------------------------------------*/
h1 {
	position: relative;
	font-size: 5.5rem;
	padding-top: 5rem;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
	text-shadow: 1px 1px 3px #000;
	height: 200px;
	padding-bottom: 20px;
	background-image: url(../images/h1.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;


	box-sizing: border-box;

	letter-spacing: 25px;
	text-indent: 14px;
	transition: 0.3s 0.2s;
}
body.campaign	#campaign		h1 ,
body.news		#news		h1 ,
body.story 		#story 		h1 ,
body.character	#character	h1 ,
body.movie 		#movie 		h1 { text-indent: 0; letter-spacing: 10px; }


section:not(#home) h1:before {
	content: " ";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-image: url(../images/h1b.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
	opacity: 0.4;
}
h1:after {
	content: attr(data-text)"";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 50px;
	text-align: center;
	text-indent: 0;
	font-size: 1rem;
	letter-spacing: 15px;
}


h2 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
	letter-spacing: 2px;
	font-size: 2.7rem;
	padding: 25px 0 15px;
}
h2:before ,
h2:after {
	content: url(../images/h2.png);
	margin: 0;
	opacity: 0.5;
}
h2:before { margin-right: 1.5rem; }
h2:after { margin-left: 1.5rem; }
h3 {
	font-size: 2rem;
	margin-bottom: 1rem;
}


*[data-type="onLoadBkImg"] {
	transition: opacity 0.3s;
	opacity: 0;
}
*[data-type="onLoadBkImg"].loaded {
	opacity: 1;
}



/*-----------------------------------------
 localNav
-----------------------------------------*/
.localNav {
	display:inline-block;
	margin-bottom: 40px;
}
.localNav li {
	display: inline-block;
}
.localNav li a {
	display: inline-block;
	background: rgba(255, 255, 255, 0.8);
	margin: 5px;
	padding: 5px 15px 5px 12px;
	border-radius: 20px;
	color: #333;
}
.localNav li a:before {
	font-family: "FOT-スキップ Std";
	font-weight: 900;
	content: "\f107";
	margin-right: 0.5em;
}


/*-----------------------------------------
 section - home
-----------------------------------------*/
#wrap > section#home {
	background: #fff;
	margin-bottom: 100px;
}
section#home #keyvisual {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	display: block;
	background-image: url(../images/home/keyvisual.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

section#home h1#logo {
	position: absolute;
	bottom: 100px;
	right: 5%;
	width: 30%;
	height: auto;

	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;

	background-image: url(../images/home/logo.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	margin: 0;
	padding: 0;
	font-size: 0;
	letter-spacing: 0;
	transition: none;
}
section#home h1#logo:before {
	position: relative;
	content: " ";
	display: block;
	width: 100%;
	padding-top: 60%;
}
section#home p#catch {
	position: absolute;
	top: 35%;
	transform: translateY(-50%);
	right: 18%;
	width: 3.5%;

	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;

	background-image: url(../images/home/catch.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;

	margin: 0;
}
section#home p#catch:after {
	position: relative;
	content: " ";
	display: block;
	width: 100%;
	padding-top: 850%;
}


section#home section.footer {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,0.8);
	padding: 15px 0 5px;
}
section#home section.footer dl {
	display: inline-block;
	margin: 0 30px;
	font-size: 1.2rem;
}

section#home section.footer dt {
	width: 50px;
	text-align: left;
	font-size: inherit;
}
section#home section.footer dd {
	white-space: nowrap;
	margin-bottom: 5px;
	font-size: inherit;
}
section#home section.footer dd:before {
	content: "：";
}



/*-----------------------------------------
 section - prereg-buttons
-----------------------------------------*/
section.prereg-buttons {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	overflow: hidden;
	background: url(../images/prereg-buttons/title.png) top center no-repeat;
	background-size: contain;
}
section#home section.prereg-buttons {
	position: absolute;
	left: calc(50% - 500px);
	bottom: 100px;
	width: 25%;
}
section.prereg-buttons:after {
	content: " ";
	display: block;
	position: relative;
	width: 100%;
	padding-top: 40%;
}


section#campaign section.prereg-buttons {
	margin: 40px auto 40px;
	width: 80%;
}

section.prereg-buttons a {
	display: block;
	position: absolute;
	width: 22%;
	box-sizing: border-box;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	bottom: 0;
	z-index: 1;
}
.pr_twitter		{ background-image: url(../images/prereg-buttons/twitter.png); left: 10px; }
.pr_line		{ background-image: url(../images/prereg-buttons/line.png); left: 27%; }
.pr_mail		{ background-image: url(../images/prereg-buttons/mail.png);  right: 27%; }
.pr_top10		{ background-image: url(../images/prereg-buttons/top10.png);  right: 10px; }

section.prereg-buttons a:after {
	content: " ";
	display: block;
	padding-top: 100%;
	width: 100%;
}


section.prereg-buttons a h4 {
	display: none;
}



/*-----------------------------------------
 section - campaign
-----------------------------------------*/

section#campaign h2 {
	font-size: 3rem;
}


a#registration {
	display: inline-block;
	margin: 20px auto;
	padding: 12px 30px;
	border-radius: 40px;
	background: #ce227c;
	color: #fff !important;
	font-weight: bold;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #ce227c;
}


section#campaign > section.unit {
	position: relative;
	display: block;
	padding: 30px;
	box-shadow: 0 0 3px #fff;
	border-radius: 4px;
	color: #333;
	background: rgba(255,255,255,0.9);
	margin: 0 auto 60px;
	max-width: 800px;
	box-sizing: border-box;
}


section#campaign section.image {
	margin: 10px auto 30px;
}
section#campaign section.image *:not(img) {
	display: none;
}


section#campaign .unit input[name="form[mail]"]{
	width: 100%;
	height: 36px;
	margin: 5px 0 15px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	border: 1px solid rgba(0,0,0,0.5);
	border-radius: 4px;
	padding: 5px 0;
}
section#campaign .unit input[type="checkbox"]{
	width: 24px;
	height: 24px;
	cursor: pointer;
	margin-right: 5px;
	vertical-align: middle;
}

section#campaign .unit #submit {
	display: block;
	cursor: pointer;
	font-size: 1.6rem;
	margin: 10px auto;
	padding: 1rem 3rem;
	border: 2px solid #A40D49;
	border-radius: 4px;
	background-color: #DA366B;
	color: #fff;
	animation: blink 1s ease-in-out infinite alternate;
}
section#campaign .unit #submit[disabled="disabled"] {
	background-color: #dcdcdc;
	border: 2px solid #aaa;
	color: #aaa;
	animation: none;
	cursor: auto;
}

#mail-regist {
	overflow: hidden;
}
#mail-regist section {
	margin: 50px auto;
	width: 70%;
	padding: 40px;
	background: rgba(0,0,0,0.05);
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
	border-radius: 3px;
	border: 1px solid rgba(0,0,0,0.3);
}

section#campaign h3 {
	position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
	margin-top: 3rem;
	padding-bottom: 0.5rem;
	color: #0956A4;
	text-shadow: 0 0 1px #0956A4;
}
section#campaign #mail-regist h3 {
	margin-top: 1rem;
	margin-bottom: 2rem;
}

section#campaign h3:after {
	content: " ";
	position: absolute;
	border-bottom: 1px solid rgba(0,0,0,0.8);
	bottom: 0;
	left: 0;
	right: 0;
	height: 1px;
	border-radius: 50%;
}

ul.list li {
	list-style: disc;
	text-align: left;
	margin-left: 50px;
}

section#campaign p {
	margin-bottom: 0.5rem;
	line-height: 2.5rem;
}
section#campaign strong {
	font-weight: bold;
	color: #A20B62;
}

.twitterLink {
	display: inline-block;
	margin: 0 5px;
	padding: 0 8px;
	border-radius: 3px;
	background: #1da1f2;
	color: #fff !important;
	line-height: 2.2rem;

}
.twitterLink:before {
	/* font-family: "Font Awesome 5 Brands"; */
	font-family: "FOT-スキップ Std";
	font-weight: 900;
	content: "\f099";
}

.split3 {
	overflow: hidden;
}
.split3 .unit {
	width: 33%;
	float: left;
	box-sizing: border-box;
	padding: 2px;
}

img.AppStore ,
img.GooglePlay {
	width: 70%;
	margin: 0 auto;
}
img.AppStore {
	box-sizing: border-box;
	padding: 10px 10px 0;
}


/*-----------------------------------------
 section - news
-----------------------------------------*/
section#news .split2 {
	display: inline-block;
}
section#news h2 {
	padding: 15px 0 10px;
	border-bottom: 1px solid rgba(15,70,100,.12);
}

section#news .split2 .unit {
	display: inline-block;
	width: 400px;
	height: 680px;

	margin: 0 20px 60px;

	box-shadow: 0 0 3px #fff;
	border-radius: 4px;
	color: #333;
	background: rgba(255,255,255,0.9);
	overflow: hidden;
}

section#news .split2 .unit#information dl {
	border-bottom: 1px solid rgba(15,70,100,.12);
	padding: 12px 12px 12px 14px;
	height: 600px;
	box-sizing: border-box;
	overflow-y: scroll;
}
section#news .split2 .unit#information dt {
	background: rgba(0,0,0,0.1);
	width: 95px;
	border-radius: 3px;
	float: none;
	margin-bottom: 5px;
}

section#news .split2 .unit#information dd {
	padding-bottom: 0.5rem;
	border-bottom: 1px solid rgba(15,70,100,.12);
	margin-bottom: 1rem;
}


a.twitter-timeline {
	display: none;
}
section#news iframe.twitter-timeline-rendered {
	border-bottom: 1px solid rgba(15,70,100,.12) !important;
}



/*-----------------------------------------
 section - story
-----------------------------------------*/
section#story section p {
	line-height: 2;
	font-size: 1.8rem;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
	text-shadow: 1px 1px 5px #000;
}

section#story #image {
	display: block;
	margin-top: 50px;
	overflow: hidden;
	padding: 0 5%;
	opacity: 0;
	transition: opacity 0.3s 1s;
}
section#story #image img {
	width: 100%;
	height: auto;
}

body.story section#story #image {
	opacity: 1;
}

section#story #image li {
	display: block;
	float: left;
	box-shadow: 0 0 5px #fff;
	width: 23%;
	margin: 5px 1%;
	border-radius: 4px;
	overflow: hidden;
}



/*-----------------------------------------
 section - character
-----------------------------------------*/
section#character section {
	top: 130px;
}

section#character section ul li img {
	position: absolute;
	left: 50%;
	height: 100%;
	width: auto;
	min-height: 400px;
	opacity: 1;
	transition: opacity 0.3s;
}
section#character section ul li#chr04 img { left: 40%; }
section#character section ul li#chr07 img { left: 39%; }

section#character [data-current="1"] ul li:not(#chr01) img ,
section#character [data-current="2"] ul li:not(#chr02) img ,
section#character [data-current="3"] ul li:not(#chr07) img ,
section#character [data-current="4"] ul li:not(#chr03) img ,
section#character [data-current="5"] ul li:not(#chr04) img ,
section#character [data-current="6"] ul li:not(#chr05) img ,
section#character [data-current="7"] ul li:not(#chr06) img {
	opacity: 0;
}


section#character section ul li .profile {
	position: absolute;
	right: 50%;
	top: 30%;
	margin-left: 100px;
	text-align: left;
	z-index: 1;
}
section#character section ul li .profile * {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
	text-shadow: 0 0 6px #C7C1F7;
	text-align: left;
}
section#character section ul li .profile h3 {
	display: inline-block;
	font-size: 6rem;
	letter-spacing: 5px;
	margin-bottom: 0;
}
section#character section ul li .profile p.cv {
	font-size: 2.2rem;
	margin-bottom: 10px;
	margin-left: 20px;
}
section#character section ul li .profile p.cv:before {
	content: "\58F0\FF1A";
	font-size: 1.5rem;
	margin-right: 0.5rem;
	line-height: 2.2rem;
}
section#character section ul li .profile p.cv:after {
	content: " ";
	display: block;
	height: 1px;
	border-radius: 0 50% 50% 0;
	border-top: 1px solid rgba(255,255,255,0.7);
}
section#character section ul li .profile p {
	font-size: 1.6rem;
	line-height: 2;
	margin-left: 20px;
}
section#character section ul li .profile p:not(.cv) {
	text-shadow: -1px -1px 3px #000, 1px 1px 3px #000, 0 0 3px #000;
}


/*-----------------------------------------
 section - data-type="slider"
-----------------------------------------*/
section[data-type="slider"] {
	position: absolute;
	top: 130px;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
}
#movie section[data-type="slider"] {
	top: 180px;
}

section[data-type="slider"] ul.slide {
	list-style: none;
	position: relative;
	height: 100%;
}

section[data-type="slider"] ul.slide li {
	display: block;
	float: left;
	height: 100%;
	position: relative;
}

section[data-type="slider"] .next ,
section[data-type="slider"] .prev {
	position: absolute;
	bottom: 50%;
}
section[data-type="slider"] .next { right: 20px; }
section[data-type="slider"] .prev { left: 20px; }
section[data-type="slider"] .next i,
section[data-type="slider"] .prev i {
	display: block;
	font-size: 6rem;
	width: 6rem;
	cursor: pointer;
	text-shadow: 0 0 5px #000;
}
section[data-type="slider"][data-current="1"]	.prev i ,
section[data-type="slider"].last				.next i {
	cursor: auto;
	opacity: 0.2;
}

section[data-type="slider"] ul.pointer {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 40px;
	z-index: 5;
}
section[data-type="slider"] ul.pointer li {
	display: inline-block;
	background-color: rgba(255,255,255,0.3);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,0.3);
	margin: 0 12px;
	cursor: pointer;
	transition: 0.3s;
	z-index: 5;
}
section[data-type="slider"] ul.pointer li:not(.current):hover {
	border: 2px solid rgba(255,255,255,1);
	background-color: rgba(255,255,255,0.8);
}
section[data-type="slider"] ul.pointer li.current {
	cursor: auto;
	border: 2px solid rgba(255,255,255,1);
	background-color: rgba(255,255,255,0.8);
}



/*-----------------------------------------
 section - movie
-----------------------------------------*/
section#movie {
	min-height: 100% !important;
	/* min-height: 60% !important; */
	overflow: hidden;

}

section#movie h2 {
	margin-top: 20px;
}
section#movie h2:before,
section#movie h2:after {
	display: none;
}


.ytbox ,
.twbox {
	position: relative;
	height: auto;

	margin: 0 auto;
}
.ytbox { max-width: 800px; }
.twbox { max-width: 500px; }



.ytbox:after ,
.twbox:after {
	position: relative;
	content: " ";
	display: block;
	width: 100%;
}
.ytbox:after { padding-top: 56.25%; }
.twbox:after { padding-top: 110%; }

section#movie iframe {
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.8);
	box-shadow: 0 0 3px #fff;
	width: 100%;
	z-index: 1;
}



/*-----------------------------------------
 shrink
-----------------------------------------*/
.unit.shrink {
	padding-bottom: 10px !important;
}

.shrink label {
	display: block;
	position: absolute;
	right: 3rem;
	top: 3rem;
	z-index: 1;
}
.shrink label:after {
	font-family: "FOT-スキップ Std";
	font-weight: 400;
	content: "\f0fe";
	font-size: 3.0rem;
	cursor: pointer;
}
.shrink input[type=checkbox] {
	position: absolute;
	left: -9999px;
}
.shrink .shrinkBox {
	overflow: hidden;
	max-height: 0;
	transition: 0.3s;
}
.shrink input[type=checkbox]:checked ~ label:after {
	content: "\f146";
}
.shrink input[type=checkbox]:checked ~ div.shrinkBox {
	max-height: 1600px;
	padding-bottom: 40px;
}


/*-----------------------------------------
 Overlay
-----------------------------------------*/
#overlay {
	position: fixed;
	z-index: 99;
	top :0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.5);
	display: none;
}
#overlay .close {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 6rem;
	line-height: 1;
	cursor: pointer;
	transition: opacity 0.3s;
}
#overlay .close:hover {
	opacity: 0.7;
}
#overlay iframe {
	position: absolute;
	display: block;
	left: 10%;
	top: 5%;
	width: 80%;
	height: 90%;

	border: none;
	border-radius: 4px;
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0 0 5px #fff;
	overflow: auto;
}



/*----------------------------------------------------------------------------------
 Mobile
----------------------------------------------------------------------------------*/
br.mobile { display: none; }

@media screen and (max-width: 1200px) {
	#sound ,
	header .sns {
		display: none;
	}
	section#home section.prereg-buttons {
		left: 10px;
	}
}



@media screen and (max-width: 640px) {
	br.mobile {
		display: inline;
	}

	br.pc {
		display: none;
	}

	body ,
	header ,
	footer {
		min-width: initial;
	}

	section:not(#home) h1 {
		padding-top: 2rem !important;
		font-size: 3rem !important;
		letter-spacing: 10px !important;
		text-indent: 0 !important;
		height: 100px;
	}
	h1:after {
		bottom: 20px;
	}

	h2 ,
	section#campaign h2 {
		font-size: 1.8rem;
		letter-spacing: 0;
	}

	ul.list li {
		margin-left: 25px;
	}



	#wrap > section {
		min-width: auto !important;
		overflow-x: hidden;
	}

	#toTop {
		right: 10px;
		bottom: 10px;
	}


	/*----------------------------------------------------------------------------------*/
	/* header */
	header {
		padding: 0;
		height: 0;
	}
	header:before ,
	header:after {
		display: none;
	}

	#sound {
		display: block;
		transform: none;
		top: 14px;
		right: auto;
		left: 14px;
	}
	
	#sound .wrap {
		background: rgba(255,255,255,0.5);
	}

	body:not(.home) #sound {
		display: none;
	}

	#sound #information {
		display: none !important;
	}


	/*----------------------------------------------------------------------------------*/
	/* navToggle */
	header #navToggleLabel {
		display: block;
		position: absolute;
		right: 10px;
		top: 10px;
		width: 40px;
		text-align: center;
		z-index: 5;
	}
	header #navToggleLabel:after {
		font-family: "FOT-スキップ Std";
		font-weight: 900;
		/* content: "\f0c9"; */
		content: url("../images/icon/menu_show.png");
		color: #fff;
		font-size: 40px;
		line-height: 40px;
		text-shadow: 0 0px 4px #000;
	}

	header #navToggle[type=checkbox]:checked + #navToggleLabel:after {
		/* content: "\f00d"; */
		 content: url("../images/icon/menu_hide.png");
		color: rgba(0,0,0,0.7);
		text-shadow: none;
	}
	header #navToggle[type=checkbox]:checked ~ #globalNav:after {
		padding-top: 100%;
	}



	/*----------------------------------------------------------------------------------*/
	/* globalNav */
	#globalNav {
		display: block;
		width: 100%;
		background: rgba(255, 255, 255, 0.7);
		box-shadow: 0 8px 8px rgba(0,0,0,0.6);
	}
	#globalNav:after {
		content: " ";
		display: block;
		width: 100%;
		padding-top: 0;
		transition: padding-top 0.3s;
	}
	#globalNav ul {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		right: 0;
	}


	#globalNav li {
		float: none;
		margin: 0 20px 5px;
	}
	#globalNav li a {
		display: block;
		color: #000;
		text-shadow: none;
		width: 100%;
		padding: 8px 0;
	}
	/* #globalNav li#gn-campaign a {
		border: 1px solid transparent;
		text-shadow: none;
		color: #fff;
		background: rgba(0,0,0,0.8);
	} */
	body.home		#gn-home:after ,
	body.campaign	#gn-campaign:after ,
	body.news		#gn-news:after ,
	body.story 		#gn-story:after ,
	body.character	#gn-character:after ,
	body.movie 		#gn-movie:after {
		left: 0px;
		right: 0px;
	}



	/*----------------------------------------------------------------------------------*/
	footer #ft-nav li {
		display: block;
		float: none;
	}
	footer #ft-nav li:after {
		display: none !important;
	}

	/*----------------------------------------------------------------------------------*/
	/* home */
	section#home #keyvisual {
		top: -20px;
		bottom: auto;
		background-position: 30% center;
	}
	section#home #keyvisual:before {
		content: " ";
		display: block;
		position: relative;
		width: 100%;
		padding-top: 90%;
	}

	section#home p#catch {
		top: 55px;
		right: 12px;
		width: 20px;
		transform: none;
	}

	section#home h1#logo {
		width: 50%;
		left: 2%;
		right: auto;
		top: 27%;
		bottom: auto;
	}

	section#home section.footer dl {
		display: block;
		width: 75%;
		margin: 0 auto;
		font-size: 1rem;
	}


	/*----------------------------------------------------------------------------------*/
	/* prereg-buttons */
	section#home section.prereg-buttons ,
	section#campaign section.prereg-buttons {
		width: calc(100% - 40px);
		position: relative;
		bottom: auto;
		left: auto;
		background-size: contain;
	}
	section#home section.prereg-buttons {
		margin: 80% 0 0;
	}


	/*----------------------------------------------------------------------------------*/
	.unit {
		float: none !important;
		width: 95% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
		box-sizing: border-box;
	}
	#twitter iframe {
		width: 100% !important;
	}


	#wrap > section {
		padding-top: 0;
		opacity: 1 !important;
	}
	#wrap > section > section {
		opacity: 1 !important;
	}


	/*----------------------------------------------------------------------------------*/
	/* canpaign */
	section#campaign .unit input[name="form[mail]"]{
		font-size: 1.2rem;
	}

	#mail-regist section {
		margin-top: 40px;
		padding: 5px 10px;
		width: auto;
	}



	/*----------------------------------------------------------------------------------*/
	/* news */
	section#news .split2 .unit#information ,
	section#news .split2 .unit#information dl {
		height: auto;
	}
	section#news .split2 .unit#information {
		max-height: 680px;
	}


	/*----------------------------------------------------------------------------------*/
	/* story */
	section#story section p {
		font-size: 1.3rem;
	}

	section#story #image {
		width: 100%;
		margin-top: 0;
		padding: 0;
		opacity: 1;
	}
	section#story #image li {
		float: none;
		width: 90%;
		margin: 20px auto;
	}



	/*----------------------------------------------------------------------------------*/
	/* slider (character/movie) */
	section[data-type="slider"] ul {
		min-width: auto !important;
	}

	section[data-type="slider"] ul li {
		min-width: auto !important;
	}
	section[data-type="slider"] .next ,
	section[data-type="slider"] .prev { z-index: 10; }

	section[data-type="slider"] .next { right: 0px; }
	section[data-type="slider"] .prev { left: 0px; }
	section[data-type="slider"] .next i,
	section[data-type="slider"] .prev i {
		font-size: 3rem;
		width: 3rem;
	}
	section[data-type="slider"] ul.pointer {
		bottom: 20px;
	}

	section[data-type="slider"] ul.pointer li {
		margin: 0 8px;
	}

	/*----------------------------------------------------------------------------------*/
	/* character */
	section#character section {
		top: 40px;
	}

	section#character section ul li img {
		left: 40%;
		max-width: none;
	}
	section#character section ul li#chr02 img { left: 35%; }
	section#character section ul li#chr03 img { left: 30%; }
	section#character section ul li#chr04 img { left: 10%; }
	section#character section ul li#chr05 img { left: 30%; }
	section#character section ul li#chr07 img { left: 10%; }

	section#character section ul li .profile {
		margin-left: 20px;
		right: 45%;
		top: 20%;
	}

	section#character section ul li .profile h3 {
		font-size: 3.2rem;
		letter-spacing: 0px;
		white-space: nowrap;
	}
	section#character section ul li .profile p.cv {
		font-size: 1.8rem;
		margin-left: 10px;
	}
	section#character section ul li .profile p {
		font-size: 1.3rem;
		line-height: 1.6;
		margin-left: 10px;
	}

	/*----------------------------------------------------------------------------------*/
	/* movie */
	section#movie h2 {
		font-size: 1.5rem;
	}
	.ytbox {
		max-width: 95%;
	}

}

@media screen and (orientation: landscape) {
	header #navToggle[type=checkbox]:checked ~ #globalNav:after {
		padding-top: 56.25%;
	}
}

/* @media screen and (orientation: landscape){
	body{
		min-width: 860px;
		background-image: url(../images/bg.jpg);
	}
} */

@media screen and (orientation: portrait){
	body{
		background-image: url(../images/bg_phone.jpg);
	}
}

