@charset "utf-8";
/*
Theme Name: Dear Magi
Author: hirosfactory
*/

/**
 * 1.0 - Normalize
 *
 * Normalizing styles have been helped along thanks to the fine work of
 * Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
 */

@font-face {
    font-family: '07lightnovelpopregular';
    src: url('assets/font/pop-webfont.woff2') format('woff2'),
         url('assets/font/pop-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/*
*  Reset CSS
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: kozuka-gothic-pro, '小塚ゴシック Pro L','Kozuka Gothic Pro Light','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }

.clear{
	zoom:1;
}
.clear:after{
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
img{
	line-height:1em;
	font-size:0.1rem;
	vertical-align:top;
	width:auto;
	height:auto;
	max-width:100%;
}
html {
	overflow: auto;
	width: 100%;
	height: 100%;
}
body{
	width: 100%;
	height: 100%;
	font-size: 14px;
	color: #525252;
	-webkit-text-size-adjust: 100%;
			text-size-adjust: 100%;
	line-height:1.5;
	background-color:#fff;
	word-wrap:break-word;
}

/* -----------------------------
	common
----------------------------- */
*{
	box-sizing:border-box;
}
a {
	text-decoration: none;
	-webkit-transition: 0.3s ease-in-out;
					transition: 0.3s ease-in-out;
}
a:focus, 
a:hover {
	text-decoration: none;
	outline: none;
}
a img{
	-webkit-transition: 0.3s ease-in-out;
			transition: 0.3s ease-in-out;
}
br { letter-spacing : normal; }

body.reset{
	overflow:hidden;
}
body.popupreset{
	overflow:hidden;
}
img {
	-webkit-touch-callout:none; 
}
/*
	header
*/
#header{
	width:100%;
	height:100%;
	max-height:943px;
	min-height: 735px;
	line-height: 1;
	overflow:hidden;
}
.reset #header{
	opacity:0;
	overflow:hidden;
}
.reset #wrapper{
	opacity:0;
	overflow:hidden;
}
#header .inner{
	width:100%;
	height: 100%;
	background-image:url(assets/images/index/mainview/pc/bg.png);
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size:100% 100%;
	text-align:center;
	overflow: hidden;
}
#header .chara_area{
	position:relative;
	margin:auto;
	width:100%;
	height: 100%;
	max-height: 943px;
	max-width:1366px;
	overflow: hidden;
}
#header .chara_area img#back_main {
	height: 100%;
}
#header .chara_area .img_set{
	position:absolute;
	top:0;
	left:0;
}
#header .chara_area .img_set.reset{
	-webkit-transform: scale(0.99);  
			transform: scale(0.99);
	opacity:0;
}
#header .chara_area .rotation{
	animation: rotation 1s ease-out;
	animation-iteration-count: 1;
	/* webkit用animation */
	-webkit-animation: rotation 1s ease-out;
	-webkit-animation-iteration-count: 1;
}
#header .logo{
	width:100%;
}
#header .comming_soon{
	padding:20px 0;
}
#header .chara_area .img_set#top_prebtn{
	bottom:3%;
	right:20px;
	top:auto;
	left:auto;
	width:17.28%;
}
#header .chara_area .img_set#top_prebtn img{
	margin:10px 0;
}
#header .chara_area .img_set#kirakira{
	opacity: 0;
}
#header .chara_area.animated .img_set#kirakira{
	-webkit-animation: fadeIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 2.5s 1 forwards;
			animation: fadeIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 2.5s 1 forwards;
}
#header .chara_area .img_set#top_catch{
	top:5%;
	left:20px;
	width:3.96%;
	opacity: 0;
}
#header .chara_area.animated .img_set#top_catch{
	-webkit-animation: slideTitle 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1s 1 forwards;
					animation: slideTitle 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1s 1 forwards;
}
#header .chara_area #logo_area {
	position: absolute;
	top:auto;
	bottom: 2%;
	left:2%;
	width:33%;
}
#header .chara_area .img_set#top_title{
	position:static;
	top: auto;
	left: auto;
	opacity: 0;
}
#header .chara_area.animated .img_set#top_title{
	-webkit-animation: slideTitle 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.4s 1 forwards;
			animation: slideTitle 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.4s 1 forwards;
}
#header .chara_area .img_set#top_logo{
	position:static;
	top: auto;
	left: auto;
	opacity: 0;
}
#header .chara_area.animated .img_set#top_logo {
	-webkit-animation: slideTitle 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.2s 1 forwards;
			animation: slideTitle 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.2s 1 forwards;
}
#header .chara_area .img_set#top_campaign{
	bottom:auto;
	top:12%;
	left:auto;
	right:0;
	width:19.03%;
}
#header .chara_area .img_set#sns_top{
	top:4%;
	left:auto;
	right:0;
	width:16.48%;
}
#header .chara_area .img_set#sns_top ul{
	display:table;
	width:100%;
}
#header .chara_area .img_set#sns_top ul li{
	display:table-cell;
	vertical-align:middle;
	padding:0 3%;
}
#header .chara_area #illust1 {
	opacity: 0;
}
#header .chara_area.animated #illust1 {
	-webkit-animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.2s 1 forwards;
			animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.2s 1 forwards;
}
#header .chara_area #illust2 {
	opacity: 0;
}
#header .chara_area.animated #illust2 {
	-webkit-animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.3s 1 forwards;
			animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.3s 1 forwards;
}
#header .chara_area #illust3 {
	opacity: 0;
}
#header .chara_area.animated #illust3 {
	-webkit-animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.4s 1 forwards;
			animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.4s 1 forwards;
}
#header .chara_area #illust4 {
	opacity: 0;
}
#header .chara_area.animated #illust4 {
	-webkit-animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.5s 1 forwards;
			animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.5s 1 forwards;
}
#header .chara_area #illust5 {
	opacity: 0;
}
#header .chara_area.animated #illust5 {
	-webkit-animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.6s 1 forwards;
			animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.6s 1 forwards;
}
#header .chara_area #illust6 {
	opacity: 0;
}
#header .chara_area.animated #illust6 {
	-webkit-animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.7s 1 forwards;
			animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.7s 1 forwards;
}
#header .chara_area #illust7 {
	opacity: 0;
}
#header .chara_area.animated #illust7 {
	-webkit-animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.8s 1 forwards;
					animation: slideIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 0.8s 1 forwards;
}

#header .chara_area .img_set#switchlogo {
	top: 2%;
	right: 2%;
	left: auto;
	z-index: 1;
	width: 35.9%;
	opacity: 0;
}
#header .chara_area.animated .img_set#switchlogo {
	-webkit-animation: fadeIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.4s 1 forwards;
					animation: fadeIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.4s 1 forwards;
}
#header .chara_area .img_set#top_catch_txt {
	top: auto;
	bottom: 0;
	right: 0;
	left: auto;
	width: 62%;
	opacity: 0;
}
#header .chara_area.animated #top_catch_txt {
	-webkit-animation: fadeIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.4s 1 forwards;
					animation: fadeIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.4s 1 forwards;
}
#header .chara_area .img_set#switchdl {
	margin: auto;
	position: static;
	top: auto;
	left: auto;
	opacity: 0;
}
#header .chara_area .img_set#switchdl img {
	width: 61%;
	max-width: 241px;
	margin: auto 15% auto auto;
}
#header .chara_area.animated #switchdl {
	-webkit-animation: fadeIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.4s 1 forwards;
					animation: fadeIn 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) 1.4s 1 forwards;
}
@keyframes slideIn {
	0%  {
		opacity: 0;
		transform: translate(50px, 0);
	}
	100%{
		opacity: 1;
		transform: translate(0, 0);
	}
}
@keyframes slideTitle {
	0%  {
		opacity: 0;
		transform: translate(0, 20px);
	}
	100%{
		opacity: 1;
		transform: translate(0, 0);
	}
}
@keyframes fadeIn {
	0%  {
		filter: blur(4px);
		opacity: 0;
	}
	100%{
		filter: blur(0);
		opacity: 1;
	}
}
/*
	nav
*/
#nav{
	background-color:#fff;
	text-align:center;
	padding:15px 0;
}
#nav ul{
	display:table;
	margin:auto;
}
#nav ul li{
	display:table-cell;
	vertical-align:middle;
	padding:0;
	position:relative;
}
#nav ul li.tw{
	display:none;
}
#nav ul li.logo_mini{
	padding:0 20px 0 20px;
}
#nav ul li .icon_new{
	position:absolute;
	top:10px;
	left:0;
	width:100%;
	text-align:center;
}
#nav ul li .icon_new.corre{
	padding-left:20px;
}
#nav_low{
	background-color:#fff;
	text-align:center;
	padding:15px 0;
	width:100%;
	border-bottom:1px solid #dddddd;
}
#nav_low ul{
	display:table;
	margin:auto;
}
#nav_low ul li{
	display:table-cell;
	vertical-align:middle;
	padding:0;
	position:relative;
}
#nav_low ul li.logo_mini{
	padding:0 20px 0 20px;
}
#nav_low ul li .icon_new{
	position:absolute;
	top:10px;
	left:0;
	width:100%;
	text-align:center;
}
#nav_low ul li .icon_new.corre{
	padding-left:20px;
}
.banner_container{
	padding:20px 10px;
	/*background-color:#e1c9e4;*/
	background-color:#dddddd;
}
.banner_container ul{
	margin: auto;
	width: 100%;
	max-width: 1290px;
}
.banner_container ul:after{
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
.banner_container ul li{
	width:33.333%;
	float:left;
	padding:0 10px;
}
.banner_container ul li#view{
	display:none;
}
.news_container{
	background-color:#f7defa;
	text-align:center;
	padding:0 0 120px 0;
}
.news_container h2{
	padding:50px 0;
}
.news_container .news_inner{
	margin:auto;
	width:100%;
	max-width:1290px;
	position:relative;
	font-size:0;
	text-align:left;
}
.news_container .news_inner ul li{
	display:inline-block;
	width:33.333%;
	padding:20px 12px;
	vertical-align:top;
}
.news_container .news_inner ul li.loadmore {
	display: none;
}
.news_container .news_inner .news_box{
	width:100%;
	background-color:#fff;
	font-size:16px;
	position:relative;
}
.news_container .news_inner .news_box > a{
	display:block;
	color:#525252;
}
.news_container .news_inner .news_box .icon_news_new{
	position:absolute;
	top:-15px;
	right:-15px;
}
.news_container .news_inner .news_box .date{
	padding:22px;
	/*font-weight:700;*/
	text-align:center;
	font-family: '07lightnovelpopregular','小塚ゴシック Pro L','Kozuka Gothic Pro Light','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.news_container .news_inner .news_box .date .icon_info{
	color:#ff379b;
	font-family: '07lightnovelpopregular','小塚ゴシック Pro L','Kozuka Gothic Pro Light','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.news_container .news_inner .news_box .img{
	padding:0 15px;
}
.news_container .news_inner .news_box .comment{
	padding:15px;
	text-align:left;
	min-height:110px;
	font-weight:700;
}
.news_container .btn{
	padding:70px 0 40px 0;
}
.twitter_container{
	padding:0 3%;
	background-color:#f7bfd2;
	text-align:center;
}
.twitter_container .twitter_inner{
	margin:10px auto;
	padding:40px 0 10px 0;
	background-color:#fff;
	overflow-y:auto;
	max-height: 1000px;
	max-width: 700px;
}
#twitter-widget-0{
	width: 90% !important;
	margin:auto;
	-webkit-overflow-scrolling:touch;
	overflow:auto;
}
iframe#twitter-widget-0{
	text-align:center;
	width:100%;
	height:100%;
	border:none; /* 追加で指定 */
	display:block; /* 追加で指定 */
}
iframe#twitter-widget-0 html body{
	text-align:center;
}
.timeline-Widget {
    max-width: 100% !important;
    margin:auto !important;
}
.twitter_container h2{
	padding:60px 0;
	position:relative;
	text-align:center;
}
.twitter_container h2 > span{
	position:relative;
	display:inline-block;
}
.twitter_container h2 > span > a > .check_tw{
	position:absolute;
	top:-270%;
	right:-110%;
}
.twitter_container .btn{
	padding:70px 0;
}
.info_container{
	padding:100px 3% 50px;
	text-align:center;
}
.sns_container{
	padding:20px 3%;
	text-align:center;
}
.sns_container h2{
	padding:20px 0;
}
.sns_container ul{
	display:table;
	margin:auto;
}
.sns_container ul li{
	display:table-cell;
	vertical-align:middle;
	padding:30px 25px;
	/*width:33.333%;*/
}

/*
	news/detail
*/
.news_inner_detail{
	padding:20px 10px;
	background-color:#fff;
	font-size:16px;
	font-weight:400;
}
.news_inner_detail .date{
	padding:15px;
	font-size:20px;
	text-align:center;
	font-family: '07lightnovelpopregular','小塚ゴシック Pro L','Kozuka Gothic Pro Light','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.news_inner_detail .date .icon_info{
	color:#ff379b;
	font-family: '07lightnovelpopregular','小塚ゴシック Pro L','Kozuka Gothic Pro Light','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.news_inner_detail > div{
	margin:auto;
	width:100%;
	max-width:800px;
	position:relative;
}
.news_inner_detail > div .news_view_area .img img{
	margin:auto;
	width:100%;
}
.news_inner_detail .title{
	text-align:left;
	font-size:30px;
	padding:30px 0 10px 0;
	font-weight:700;
}
.news_inner_detail .comment{
	padding:10px 0 20px 0;
	text-align:left;
}
.news_inner_detail .comment p{
	margin:1em 0;
}
.news_inner_detail .comment a{
	color:#525252;
}
.news_inner_detail .comment a:hover{
	text-decoration: underline;
}
.news_inner ul.pagenation{
	margin:auto;
	max-width:800px;
	text-align:center;
	padding:20px 0 0;
	display:table;
}

.news_inner ul.pagenation li{
	width:auto;
	display:inline-block;
	text-align:center;
	float:none;
	display:table-cell;
	vertical-align:middle;
}
.news_inner ul.pagenation li.util_sp{
	display:none;
}
.news_inner .news_inner_detail > div ul.pagenation li{
	position:absolute;
	top:30%;
	left:-100px;
	width:100px;
	text-align:center;
}
.news_inner .news_inner_detail > div ul.pagenation li:last-child{
	left:auto;
	right:-100px;
}

#footer{
	background-color:#eeeeee;
}
#footer .footer_inner{
	padding:20px 3%;
	text-align:center;
}
#footer ul{
	margin:auto;
	display:table;
}
#footer ul li{
	display:table-cell;
	vertical-align:middle;
	padding:20px;
}
#footer ul li a{
	color:#525252;
	font-size:12px;
}
#footer .footer_logo{
	padding:20px 0 5px 0;
}
#footer .copyright{
	padding:10px 0 0 0;
}
#wrapper{
	overflow:hidden;
}
#wrapper .pagetop{
	position:fixed;
	bottom:20px;
	right: 10px;
}

#loading{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:table;
	background-color:#fff;
}
#loading > div{
	display:table-cell;
	vertical-align:middle;
	text-align:center;
}
.loader {
	display:inline-block;
	color: #D7D7D7;
	font-size: 12px;
	margin: 100px auto;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	position: relative;
	text-indent: -9999em;
	-webkit-animation: load4 1.3s infinite linear;
	animation: load4 1.3s infinite linear;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
}
@-webkit-keyframes load4 {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}
@keyframes load4 {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
	box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}

@keyframes rotation {
	0% { transform: scale(1.2); }
	80% { transform: scale(0.95); }
	100% { transform: scale(1); } 
}
@-webkit-keyframes rotation {
	/* webkit用keyframes */ 
	0% { -webkit-transform: scale(1.2); }
	80% { -webkit-transform: scale(0.95); }
	100% { -webkit-transform: scale(1); }
}

/*
	preregist_container
*/
.preregist_container .preregist_inner{
	position:relative;
	text-align:center;
	background-image:url(assets/images/index/pre_bg_pc.png);
	background-position:left top;
	background-repeat:no-repeat;
	background-size:100% auto;
}
.preregist_container .preregist_btn{
	width:100%;
	text-align:center;
	padding:40px 3%;
}

/*
	pre-registration
*/
#preregist_header{
	background-color:#312d51;
	background-image:url(assets/images/index/bg_pre.png);
	background-position:left top;
	background-repeat:no-repeat;
	background-size:100% auto;
	text-align:center;
}
#preregist_header .header_inner{
	margin:auto;
	max-width:1366px;
	padding:4% 0;
	position:relative;
	text-align:center;
}
#preregist_header .header_inner .main_title{
	padding:3% 0 1%;
}
ul.preregist_btn{
	display:table;
	width:78%;
	margin:auto;
}
ul.preregist_btn li{
	display:table-cell;
	width:33.3333%;
	text-align:center;
	padding:3% 1% 1% 1%;
}
.preregistration_container{
	background-color:#312d51;
}
.preregistration_container .inner{
	text-align:center;
	padding:1% 0;
}
.preregistration_container .cam2_body{
	border:2px solid #fff;
	margin:3% auto 2%;
	width:100%;
	max-width:1220px;
	color:#fff;
}
.preregistration_container .cam2_body .cam2_title{
	margin: -3% auto auto auto ;
	width:45%;
}
.preregistration_container .cam2_body_upper{
	padding:0 5% 2%;
}
.preregistration_container .cam2_body_inner li{
	padding:1% 2%;
}
.preregistration_container .cam3_txt{
	padding:3% 5% 3%;
}
.preregistration_container .cam3_body{
	padding:2% 0;
	margin:auto;
	width:90.3%;
	position:relative;
}
.preregistration_container .cam3_body .preregist_btn{
	margin:auto;
	width:96%;
}
.preregistration_container .cam3_body .cam3_body_inner{
	position:absolute;
	/*top:38%;*/
	top:16%;
	left:2%;
	width:96%;
	color:#fff;
}
.preregistration_container .cam3_body .cam3_body_inner .tw_img{
	margin:15% auto 0;
	padding:0 15%;
}
.preregistration_container .cam3_body .cam3_body_inner .btn_area{
	padding:3% 20%;
}
.preregistration_container .cam3_body .cam3_body_inner ul{
	text-align:left;
	padding:3%;
	font-size:20px;
}
.preregistration_container .cam2_body .cam4_txt{
	font-size:42px;
	font-weight:700;
	padding:2%;
}
.preregistration_container .cam2_body .cam4_txt_img{
	padding:2% 5%;
}
.preregistration_container .cam2_body .select_item{
	display:table;
	margin:auto;
	width:90%;
}
.preregistration_container .cam2_body .select_item > li{
	display:table-cell;
	vertical-align:middle;
	font-size:34px;
	padding:2% 0;
}
.preregistration_container .cam2_body .select_item > li.ttl{
	width:40%;
}
.preregistration_container .cam2_body .select_item select{
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	border:none;
	background:none;
	background-image:url(assets/images/pre-registration/arrow.png);
	background-position:right center;
	background-repeat:no-repeat;
	background-size:12% auto;
	position:absolute;
	top:0;
	left:0;
	font-size:20px;
	width:100%;
	height:100%;
	padding-left:10%;
}
.preregistration_container .cam2_body .txt2_list{
	text-align:left;
	padding:2% 6%;
	font-size:24px;
}
.preregistration_container .cam2_body .select_body{
	position:relative;
	max-width:577px;
}
.preregistration_container .cam2_body .select_body img{
	width:100%;
}
.preregistration_container .cam2_body .select_body #present_item_name{
	position:absolute;
	top:0;
	left:5%;
	width:90%;
	height:100%;
	color:#000;
	font-size:24px;
	background:none;
	appearance:none;
	-webkit-appearance:none;
	border:none;
}
.preregistration_container .cam2_body .select_body.textarea{
	margin:auto;
	width:60%;
}
.preregistration_container .cam2_body .select_body.textarea input{
	position:absolute;
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	border:none;
	background:none;
	top:0;
	left:10%;
	font-size:20px;
	width:80%;
	height:100%;
}
.preregistration_container .cam2_body .submit_btnarea{
	padding:3% 0;
	margin:auto;
	width:60%;
}
.preregistration_container .cam2_body .submit_btnarea input{
	width:auto;
	height:auto;
	max-width:100%;
	font-size:20px;
}
.preregistration_container .cam2_body p.error {
    color: #ff3300;
    font-size:14px;
}
.preregistration_container .cam2_body #itemname optgroup{
	background-color:#fff;
}

#prefilter{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:auto;
	background-color:#fff;
	display:none;
	z-index:3;
}
#closebtn{
	position:fixed;
	top:2%;
	right:2%;
	display:none;
	z-index:3;
	width:4.1%;
}
#regist_popup{
	position:fixed;
	top:0;
	left:0;
	display:none;
	z-index:3;
	width:80%;
	height:90%;
	overflow:auto;
}
#line_box{
	display:none;
}
#tw_box{
	display:none;
}
#tw_box .tw_img{
	padding:2% 20%;
	text-align:center;
}
#tw_box .btn_area{
	padding:2% 30%;
	text-align:center;
}
#tw_box .tw_ttl{
	font-weight:bold;
	text-align:center;
	font-size:24px;
	padding:2% 15% 0 15%;
	color:#ff007f;
}
#mail_box{
	display:none;
}
#present_box{
	display:none;
}
#tw_alert_box{
	display:none;
}
#tw_alert_box p{
	margin:auto;
	padding:20px 0;
	font-size:12px;
	max-width:580px;
}
#regist_popup p.error{
	color:#f361a3;
	margin:auto;
	max-width:580px;
}
#regist_popup input{
	width:auto;
	height:auto;
	max-width:100%;
}
#regist_popup .p2{
	display:none;
}
#regist_popup #poplogo{
	margin:auto;
	text-align:center;
	max-width:40%;
}
#regist_popup #poptitle{
	padding:10px 0 20px 0;
	text-align:center;
}
#regist_popup .alert_txt{
	margin:auto;
	padding:10px 0;
	font-size:14px;
	max-width:580px;
	line-height: 25px;
}

#regist_popup .mail_txt{
	margin:auto;
	padding:10px 0;
	font-size:15px;
	max-width:580px;
}
#regist_popup .mail_txt .attend{
	color:#f361a3;
}
#regist_popup .btn{
	text-align:center;
}
#regist_popup .text-success{
	margin:auto;
	padding:10px 0;
	max-width:580px;
	text-align:center;
	font-size:16px;
	color:#f361a3;
}
#regist_popup .popup_formarea{
	position:relative;
	margin:0 auto 20px auto;
	text-align:center;
	max-width:580px;
}
#regist_popup .popup_formarea input{
	position:absolute;
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	border:none;
	background:none;
	top:0;
	left:30px;
	width:80%;
	height:100%;
	font-size:20px;
}

/*
	character
*/
.character_container{
	text-align:center;
}
.character_container h2{
	margin:40px auto;
	width:100%;
	max-width:1230px;
	padding:0 30%;
	position:relative;
}
.character_container h2 p.link{
	position:absolute;
	bottom:-30px;
	right:5px;
}
.character_body{
	position:relative;
}
.character_container .pagenation li{
	position:absolute;
	top:50%;
	left:3%;
	text-align:center;
	cursor: pointer;
}
.character_container .pagenation li.next{
	position:absolute;
	top:50%;
	right:3%;
	left:auto;
}
.chara_field_box{
	margin:0 auto 50px;
	width:100%;
	max-width:1240px;
	position:relative;
}
.character_img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	text-align:center;
}
.character_img .change_chara_list{
	position:relative;
}
.character_img .change_chara_list li img{
	width:22.8%;
}
.character_img .change_chara_list li.change{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	display:none;
}
#character_2{
	display:none;
}
#character_3{
	display:none;
}
#character_4{
	display:none;
}
#character_5{
	display:none;
}
#character_6{
	display:none;
}
#character_7{
	display:none;
}
#character_8{
	display:none;
}
.chara_field_box .charaname{
	position:absolute;
	top:15%;
	left:5%;
	text-align:left;
	width:31.7%;
}
.chara_field_box .chatch{
	position:absolute;
	top:15%;
	right:32%;
	text-align:left;
	width:6.24%;
}
.chara_field_box .change_btn{
	position:absolute;
	top:50%;
	left:28%;
}
.chara_field_box .change_btn img{
	cursor: pointer ;
}
.chara_field_box .profile_text{
	position:absolute;
	top:70%;
	right:5%;
	text-align:left;
	width:33%;
	color:#1c1b3a;
	font-size:16px;
}
.chara_field_box .profile_text li{
	padding:5px 0;
	font-weight:700;
}
.chara_field_box .profile_text .ttl{
	font-size:18px;
	font-family: '07lightnovelpopregular','小塚ゴシック Pro L','Kozuka Gothic Pro Light','ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.chara_field_box .yacchan{
	position:absolute;
	top:52%;
	left:12%;
	text-align:left;
	width:10.5%;
}
.chara_field_box .voice_area{
	position:absolute;
	bottom:5%;
	left:5%;
	text-align:left;
}
.chara_field_box .voice_area li{
	padding:7px 0;
}
.chara_field_box .voice_area li img{
	width:63%;
}
.chara_field_box .voice_area li.btn img{
	width:40%;
}
.character_footer{
	background-color:#1c1b3a;
}
.footer_inner{
	width:100%;
	margin:auto;
	max-width:1366px;
	padding:30px 5%;
	text-align:center;
}
.footer_inner .prof_container{
	padding:20px 0;
}
.footer_inner .prof_container h3{
	padding:0 5% 10px 5%;
}
.footer_inner ul{
	font-size:0;
}
.footer_inner ul li{
	display:inline-block;
	padding:5px 7px;
}
.footer_inner .prof_container ul{
	font-size:16px;
}
.footer_inner .prof_container ul li{
	display:block;
	text-align:center;
	width:auto;
}
.footer_inner .prof_container .catch_sp{
	display:none;
}
.prof_data_box_container{
	display:table;
	margin:30px auto;
}
.prof_data_box_container > div{
	display:table-cell;
	vertical-align:top;
	text-align:left;
}
.prof_data_box_container .first .prof_set .txt{
	padding-right:50px;
}
.prof_set{
	display:table;
}
.prof_set > div{
	display:table-cell;
	vertical-align:top;
	padding:5px;
	font-size:20px;
	color:#fff;
}
.prof_set > div.title{
	color:#d1ad73;
	width:110px;
}
#chara_txt2{
	display:none;
}
#chara_txt3{
	display:none;
}
#chara_txt4{
	display:none;
}
#chara_txt5{
	display:none;
}
#chara_txt6{
	display:none;
}
#chara_txt7{
	display:none;
}
#chara_txt8{
	display:none;
}
#starbox{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:none;
}

/*
	credit
*/
.credit_container{
	background-color:#F8F8F8;
	text-align:center;
}
.credit_container h2{
	padding:60px 20%;
}
.credit_container > div{
	padding:30px 0 160px;
	font-size: 0;
}
.credit_container > div .credit_body {
	margin: auto;
	display: inline-block;
	position: relative;
}
.credit_body_content {
	position: absolute;
	top: 27%;
	left: 15%;
	width: 70%;
	height: 56.25%;
	max-height: 100%;
	overflow: hidden;
}
.credit_body_content .credit_body_wrapper {
	width: 100%;
	height: 100%;
}
.credit_body_content .credit_body_inner {
	width: 100%;
	height: 100%;
	text-align: center;
	/*overflow-y: auto;*/
	overflow: hidden;
	position: relative;
	padding-right: 18px;
}
.credit_container .info_game {
	padding: 90px 5% 0;
}
.back_scrollbar {
	border-radius: 15px;
	background-color: #b7b8d8;
}
.bar_scrollbar {
	padding: 1px;
	display: table;
}
.bar_scrollbar > div {
	display: table-cell;
	border-radius: 15px;
	background-color: #fff22b;
	border: 1px solid #e5c272;
}
.ps > .ps__rail-y {
	opacity: 1;
	width: 15px;
	border-radius: 15px;
	background-color: #b7b8d8 !important;
}
.ps:hover > .ps__rail-y {
	opacity: 1;
}
.ps > .ps__rail-y:hover {
	opacity: 1;
	background-color: #b7b8d8;
}
.ps__thumb-y {
	right: 1px;
	width: 13px !important;
	border-radius: 15px;
	background-color: #fff22b !important;
	border: 1px solid #e5c272 !important;
}
.ps > .ps__rail-y:hover .ps__thumb-y {
	width: 13px;
	background-color: #fff22b;
}
/*
	sitepolicy
*/
.credit_container .body{
	margin:0 auto;
	width:100%;
	max-width:1240px;
	text-align:left;
}
.credit_container .body h1{
	padding:0 0 30px;
	font-size:30px;
}
.credit_container .body p{
	margin:5px 0;
	padding:5px 0;
	font-size:16px;
	line-height:1.65;
}
.credit_container .body .title{
	font-size:18px;
	font-weight:700;
}

.util_sp{
	display:none !important;
}
.util_pc{
	display:inline-block !important;
}

/*
	special
*/
.special_container{
	text-align:center;
	background-color:#F8F8F8;
}
.special_container h2{
	padding:40px 30%;
}
.special_body{
	padding:10px 3% 100px;
}
.special_body ul{
	margin:auto;
	width:100%;
	max-width:800px;
}
.special_body ul li{
	padding:20px 0;
}
.special_body ul li p{
	text-align:left;
	padding:5px 0;
	font-size:20px;
	font-weight:700;
	color:#1c1b3a;
}

/*
	story
*/
.story_container{
	text-align:center;
	background-color:#F8F8F8;
}
.story_container h2{
	padding:75px 38% 55px;
}
.story_body{
	position:relative;
	padding:0;
	background-image:url(assets/images/story/story_body.png);
	background-position:left top;
	background-repeat:no-repeat;
	background-size:100% auto;
}
.story_body .line_upper{
	position:absolute;
	top:16px;
	left:0;
	width:100%;
	height:14px;
	display:block;
	background-color:#ddd1a2;
}
.story_body .line_lower{
	position:absolute;
	bottom:16px;
	left:0;
	width:100%;
	height:14px;
	display:block;
	background-color:#ddd1a2;
}

/*
	gallery
*/
.gallery_tab {
	padding: 26px 0;
	background-color:#E6E6E6;
	text-align: center;
}
.gallery_tab ul {
	margin: auto;
	max-width: 770px;
	font-size: 0;
}
.gallery_tab ul > li {
	width: 110px;
	padding: 5px;
	display: inline-block;
	line-height: 1;
}
.gallery_tab ul > li a {
	display: block;
	background-color: #787878;
}
.gallery_tab ul > li a.active img {
	opacity: 0.5;
}
.gallery_body {
	position: relative;
}
.gallery_container {
	padding: 55px 0;
	min-height: 500px;
}
.gallery_container.init {
	opacity: 0;
	-webkit-transition: 0.5s ease-in-out;
					transition: 0.5s ease-in-out;
}
.gallery_container.init.active {
	opacity: 1;
}
.gallery_container .gallery_image {
	margin: auto;
	padding: 0 10px;
	max-width: 780px;
	position: relative;
}
.gallery_container .gallery_image:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(/wpassets/images/common/copyright.png);
	background-position: 94% 99%;
	background-size: 50% auto;
	background-repeat: no-repeat;
}
.gallery_container .gallery_image + p {
	margin: auto;
	padding: 5px 10px 0;
	max-width: 780px;
	text-align: right;
}
.gallery_container .gallery_serif {
	margin: auto;
	padding: 40px;
	max-width: 780px;
}
.gallery_serif_table {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.gallery_serif_table > ul {
	display: table-row;
}
.gallery_serif_table > ul > li {
	display: table-cell;
	vertical-align: top;
	padding: 10px;
	font-size: 18px;
	text-align: left;
}
.gallery_serif_table > ul > li.name {
	width: 110px;
	text-align: center;
	font-weight: bold;
}
.gallery_serif_table > ul > li.main {
	color: #F58BA9;
}
.gallery_serif_table > ul > li.kaito{
	color: #FF9999;
}
.gallery_serif_table > ul > li.sakuya{
	color: #999EFF;
}
.gallery_serif_table > ul > li.mika{
	color: #FF80BF;
}
.gallery_serif_table > ul > li.niki{
	color: #69D397;
}
.gallery_serif_table > ul > li.arata{
	color: #BE7DFF;
}
.gallery_serif_table > ul > li.rin{
	color: #C8A744;
}
.gallery_serif_table > ul > li.yuu{
	color: #A39CB4;
}
.gallery_serif_table > ul > li.another{
	color: #808080;
}
/*
	twicon
*/
.twicon_container{
	text-align:center;
	background-color:#F8F8F8;
}
.twicon_container h2{
	padding:40px 30%;
}
.twicon_body{
	padding:10px 0 50px;
}
.twicon_body h3{
	padding:10px 10px 20px;
	font-size:36px;
	font-weight:700;
	letter-spacing: 0.1em;
}
.twicon_body p{
	padding:3px 3%;
	font-size:20px;
	display:block;
}
.twicon_body > ul{
	margin:auto;
	width:100%;
	max-width:960px;
	padding:20px 0;
}
.twicon_body > ul:after{
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
.twicon_body > ul > li{
	float:left;
	width:190px;
	padding:10px;
}
.twicon_body .download_btn{
	padding:40px 5% 40px;
}
.twicon_body .attend_box{
	margin:auto;
	width:100%;
	max-width:945px;
	border:2px solid #ddd;
	padding:25px;
	text-align:left;
}
.twicon_body .attend_box {
	font-size:16px;
}
.twicon_body .attend_box h4{
	padding:0 5px 5px;
	font-size:24px;
	font-weight:700;
}

/*
	castcomment
*/
.castcomment_container{
	text-align:center;
	background-color:#F8F8F8;
}
.castcomment_container h2{
	padding:40px 30%;
}
.character_line{
	padding:0;
}
.castcomment_body_inner{
	margin:auto;
	width:100%;
	max-width:1010px;
	overflow:hidden;
}
.castcomment_box{
	margin:50px 0;
	background-color:#fff;
	background-image:url(assets/images/castcomment/chara_1.png);
	background-position:right bottom;
	background-repeat:no-repeat;
	display:table;
}
.castcomment_box.chara2{
	display:block;
	background-image:url(assets/images/castcomment/chara_2.png);
}
.castcomment_box.chara3{
	display:block;
	background-image:url(assets/images/castcomment/chara_3.png);
}
.castcomment_box.chara4{
	display:block;
	background-image:url(assets/images/castcomment/chara_4.png);
}
.castcomment_box.chara5{
	display:block;
	background-image:url(assets/images/castcomment/chara_5.png);
}
.castcomment_box.chara6{
	display:block;
	background-image:url(assets/images/castcomment/chara_6.png);
}
.castcomment_box.chara7{
	display:block;
	background-image:url(assets/images/castcomment/chara_7.png);
}
.castcomment_box > div{
	display:table-cell;
	vertical-align:middle;
	padding:40px 70px 40px 20px;
	text-align:left;
}
.castcomment_box > div.cast_img{
	width:30%;
	padding:20px 0;
}
.castcomment_box > div.cast_comment .cast_comment_title{
	padding:0 0 20px;
	margin:0 0 0 -10px;
}
.castcomment_box > div.cast_comment > .text h3{
	color:#d19f55;
	padding:0;
	text-indent: 1.5em;
	background-image:url(assets/images/castcomment/icon.png);
	background-position:left 3px;
	background-repeat:no-repeat;
	font-size:16px;
}
.castcomment_box > div.cast_comment > .text p{
	padding:4px 50px 12px 0;
	font-size:16px;
}
.castcomment_upper{
	display:none;
}
.castcomment_footer{
	display:none;
	background-color:#1c1b3a;
}

/*
	movie popup
*/
#moviefilter{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.8);
	z-index:3;
}
#moviebox_area{
	width:900px;
	height:510px;
	position:fixed;
	top:0;
	left:0;
	z-index:4;
}
#moviebox_area .inner{
	position:relative;
}
#moviebox_area iframe{
	width:100%;
}
#movieclose{
	position:fixed;
	top:20px;
	right:20px;
	width:40px;
	height:40px;
	z-index:100;
	cursor: pointer ;
}
#movieclose a {
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
}
#movieclose a span {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transform: rotate( 45deg );
	position: absolute;
	top: 50%;
	left: 0;
}
#movieclose a span:last-child {
	transform: rotate( -45deg );
}
/*
	movie
*/
.special_container.movie h2 {
    padding: 40px 23% 20px;
}
.movie_body ul li{
	padding:10px 3% 100px;
}

/*
	system
*/
.system_container{
	text-align:center;
	background-color:#F8F8F8;
	padding: 80px 0;
	color: #535353;
}
.system_tab {
	margin: auto;
	width: 100%;
	max-width: 950px;
	padding: 80px 0;
	overflow: hidden;
}
.system_tab ul {
	margin: 0 -5px;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.system_tab ul li {
	width: 33.333%;
	padding: 5px;
	font-size: 25px;
	font-weight: bold;
}
.system_tab ul li a {
	display: block;
	color: #535353;
	padding: 15px;
	background-color: #e9e9e9;
}
.system_tab ul li a.active {
	color: #fff;
	background-color: #404567;
}
.system_body_content_area {
	margin: auto;
	width: 100%;
	max-width: 950px;
}
.system_body_content_area h3 {
	text-align: left;
	font-size: 25px;
	padding: 15px;
	background-color: #d7d8de;
}
.system_body_content_area h3 + p {
	font-size: 25px;
	font-weight: 600;
	padding: 50px 0 0;
}
.system_body_content_box {
	margin: 120px auto;
}
.system_body_content_box.short {
	margin: 20px auto 120px;
}
.system_body_content_box h4 {
	text-align: left;
	font-size: 25px;
	font-weight: bold;
	color: #404567;
	padding: 0 0 5px;
	border-bottom: 5px solid #404567;
}
.system_body_content_box h4 + p {
	padding: 50px 0 0;
	font-size: 23px;
	font-weight: 600;
}
.system_body_content_inner {
	padding: 50px 0 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.shop .system_body_content_inner {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.system_body_content_inner > div {
	width: 50%;
}
.shop .system_body_content_inner > div {
	width: 100%;
}
.system_body_content_inner > div p {
	font-size: 20px;
	text-align: left;
	padding: 0 30px 0 0;
	font-weight: 500;
}
.system_body_content_inner > div img {
	margin-bottom: 30px;
	border: 1px solid #c1c2c8;
}
.system_body_content_inner > div .link {
	text-align: left;
	padding: 60px 0 0;
	display: none;
}

/*
	correlation
*/
.correlation_container{
	text-align:center;
	overflow: hidden;
	background-color: #F8F8F8;
}
.correlation_container h2{
	margin:70px auto 60px;
	position:relative;
	width:100%;
	max-width:1213px;
}
.correlation_container h2 p.link{
	position:absolute;
	bottom:-25px;
	right:5px;
}
.correlation_container .inner{
	padding:0 0 30px;
}
.correlation_container .inner .link {
	margin: auto;
	width: 100%;
	max-width: 1213px;
	padding: 20px 0;
	text-align: right;
}
.correlation_container .mainview {
	margin: 0 0 100px;
}

.star_obj{
	position:fixed;
}
.opct_0{
	opacity: 0;
}

/*
	rollover animation
*/
.fade {
	-webkit-transition: 0.3s ease-in-out;
			transition: 0.3s ease-in-out;
}
.fade:hover {
	opacity: 0.5;
	filter: alpha(opacity=50);
}

/*
	fadeinup animation
*/
/* 画面外にいる状態 */
.fadeinup {
	opacity : 0;
	transform : translate(0, 20px);
	-webkit-transform : translate(0, 20px);
	transition : all 1000ms;
}
/* 画面内に入った状態 */
.fadeinup.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	-webkit-transform : translate(0, 0);
}

.reduction{
	-webkit-animation: reduction 1s linear;
	-moz-animation: reduction 1s linear;
	-ms-animation: reduction 1s linear;
	-o-animation: reduction 1s linear;
	animation: reduction 1s linear;
}
@keyframes reduction {
	0% {
		transform: rotate(0deg) scale(2,2);
	}
	100% {
		transform: rotate(720deg) scale(0.1,0.1);
	}
}

/*
	added 20180216
*/
#preregist_page{
	position:absolute;
	bottom:3%;
	left:37%;
	width:42.18%;
}

/*
	added 20190423
*/
#prelease {
	display: none;
}
html.pre_release{
	overflow: hidden;
}
body.pre_release{
	overflow: hidden;
}
.pre_release #prelease {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .7);
	z-index: 100;
}
.pre_release #prelease > div {
	display: block;
	text-align: center;
	height: 100%;
	padding: 30px;
}
.pre_release #prelease > div .inner{
	max-height: 100%;
  line-height: 1;
  display: inline-block;
  overflow: hidden;
  overflow-y: auto;
  text-align: center;
  max-width: 100%;
}
.pre_release #prelease > div .inner img {
	width: 100%;
	max-width: 1030px;
}
.pre_release #prelease > div .inner .dl_btn {
	padding: 30px 0 10px;
}
.pre_release #prelease > div .inner .dl_btn img {
	width: auto;
}
#pre_closebtn {
	position: fixed;
	top: 20px;
	right: 20px;
}
#pre_closebtn a {
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
}
#pre_closebtn a span {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transform: rotate( 45deg );
	position: absolute;
	top: 50%;
	left: 0;
}
#pre_closebtn a span:last-child {
	transform: rotate( -45deg );
}
@media (max-width: 768px) {
	.pre_release #prelease > div {
		padding: 0;
		overflow-y: auto;
	}
	.pre_release #prelease > div .inner{
		display: block;
		position: relative;
		max-height: 3000px;
	}
	.pre_release #prelease > div .inner img {
		max-width: 100%;
	}
	.pre_release #prelease > div .inner .dl_btn {
		position: absolute;
		bottom: 0;
		left: 0;
		padding: 10px 10% 5px;
	}
}

/* Tablet */
@media (max-width: 1024px) {
.twitter_container h2 > img.check_tw {
	position: absolute;
	top: -60%;
	right: 13%;
	width:25%;
}
}

/* Tablet */
@media (max-width: 900px) {
.preregistration_container .cam2_body .cam4_txt{
	font-size:28px;
}
.preregistration_container .cam2_body .select_item{
	display:block;
}
.preregistration_container .cam2_body .select_item > li{
	display:block;
	font-size:24px;
}
.preregistration_container .cam2_body .select_item > li.ttl{
	width:auto;
	text-align:center;
}
.preregistration_container .cam2_body .select_item select{
	font-size:14px;
}
.preregistration_container .cam2_body .txt2_list{
	font-size:18px;
}
.preregistration_container .cam2_body .select_body.textarea{
	width:90%;
}
.preregistration_container .cam2_body .select_body.textarea input{
	font-size:14px;
}
.preregistration_container .cam2_body .submit_btnarea{
	padding:3% 0;
	margin:auto;
	width:90%;
}

/*
	movie
*/
.movie_body ul li{
	padding:10px 3% 70px;
}
.movie_body ul li iframe {
	width:100%;
}

}
/* TB */
@media (max-width: 900px) {
#nav ul li .icon_new {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
}
/* Mobile */
@media (max-width: 768px) {
#pre_closebtn {
	display: none;
}
#header{
	max-height:10000px;
	min-height: 1px;
}
#nav{
	position:fixed;
	top:0;
	right:0;
	height:100%;
	width:42%;
	overflow-y:auto;
	z-index:10;
}
#nav .nav_inner{
	position:relative;
}
#nav ul{
	display:block;
}
#nav ul li{
	display:block;
	text-align:left;
	padding:0;
}
#nav ul li.logo_mini{
	padding:60px 0 30px 0;
	text-align:center;
}
#nav ul li.logo_mini img{
	width:92px;
}
#nav .closebtn{
	position:absolute;
	top:20px;
	right:20px;
	width:20px;
}
#sp_nav{
	position:fixed;
	top:10px;
	right:10px;
	width:45px;
	z-index:2;
}
#nav ul li.tw{
	display:block;
	padding:10px 13% 10px;
}
.banner_container{
	padding:10px 10px;
	background-color:#F7DEFA;
}
.banner_container ul li{
	width:100%;
	float:none;
	padding:10px;
	text-align:center;
}
.news_container{
	padding:0 2% 16%;
	min-height:auto;
}
.news_container h2{
	padding:25px 0;
}
.news_container h2 img{
	width:61px;
}
.news_container .news_inner ul{
	text-align:center;
}
.news_container .news_inner ul li{
	width:100%;
	text-align:center;
	max-width:430px;
	padding:10px 6px;
}
.news_container .news_inner .news_box .icon_news_new{
	position:absolute;
	top:-8px;
	right:-8px;
	width:28px;
}
#nav ul li .icon_new{
	display: none;
}
.news_container .news_inner .news_box {
    font-size: 13px;
}
.news_container .news_inner .news_box .date {
	padding: 11px 3%;
}
.news_container .news_inner .news_box .img {
	padding: 0 3%;
}
.news_container .btn,.twitter_container .btn{
	padding:30px 0;
}
.news_container .news_inner .news_box .comment{
	min-height:50px;
	font-weight:700;
	padding: 10px 5%;
}
.news_container .btn img{
	max-width:131px;
}
.malinky-load-more{
	padding:0 0 2%;
}
.malinky-load-more img{
	max-width:131px;
}
.twitter_container .twitter_inner{
	margin:0;
	padding:20px 0 5px 0;
	max-height: 400px;
	overflow:auto;
}
.twitter_container h2{
	padding:25px 0;
}
.twitter_container h2 img{
	width:102px;
}
.twitter_container .btn img{
	max-width:231px;
}
#twitter-widget-0{
	height:600px !important;
}
.info_container{
	padding:15px 3%;
}
.sns_container h2 img{
	width:75px;
}
.sns_container ul li{
	padding:15px 18px;
}
.sns_container ul li img{
	width:41px;
}
#footer ul li{
	padding:10px;
}
#footer .footer_logo img{
	width:76px;
}
#footer .copyright img{
	max-width:73.3333%;
}
#wrapper .pagetop{
	width:45px;
}
#header .chara_area{
	background-color: #fffbd5;
}
#header .chara_area .img_set#sp_logo{
	width:59.1%;
	top:auto;
	bottom: 18%;
	left:3%;
	-webkit-transition: 1s ease-in-out;
					transition: 1s ease-in-out;
}
#header .chara_area .img_set#sp_title{
	width: 90%;
  top: auto;
  bottom: 2%;
  left: 5%;
	-webkit-transition: 1s ease-in-out;
					transition: 1s ease-in-out;
}
#header .chara_area .img_set#sp_title ul{
	display:table;
	width:100%;
	margin-bottom:3%;
}
#header .chara_area .img_set#sp_title ul > li{
	display:table-cell;
	vertical-align:middle;
	width:50%;
	padding:0 2%;
}
#header .chara_area .img_set#sp_top_catch{
	position: absolute;
	top: 8%;
	left: 5%;
	width:8%;
}

#header .chara_area .img_set#switchlogo_sp {
	top: 0;
	left: 0;
	right: auto;
	width: 12.5%;
}
#header .chara_area .img_set#top_catch_txt_sp {
	top: auto;
	bottom: 0;
	left: 0;
	right: auto;
	text-align: center;
}
#header .chara_area .dl_btn {
	margin: auto;
	width: 75.6%;
	max-width: 567px;
	padding: 5px 0 7px;
}
/*
	added 20180216
*/
#preregist_page{
	position:static;
	bottom:auto;
	left:auto;
	width:100%;
	padding:0 3% 3%;
	background-color:#fcf6da;
}
.twitter_container h2 > img.check_tw {
	position: absolute;
	top: -95%;
	right: 25%;
	width: 17%;
}
/*
	news/detail
*/
.news_inner_detail{
	padding:20px 10px;
	background-color:#fff;
	font-size:14px;
}
.news_inner_detail > div .news_view_area {
	margin:auto;
	max-width:530px;
}
.news_inner_detail .date{
	padding:15px;
	font-size:17px;
	font-weight:700;
}
.news_inner_detail .date .icon_info{
	color:#ff379b;
}
.news_inner_detail .title{
	text-align:left;
	font-size:20px;
	padding:15px 0 10px 0;
}
.news_inner_detail > div .news_view_area .img img{
	width:100%;
}
.news_inner_detail .comment{
	padding:5px 0 10px 0;
	text-align:left;
}
.news_inner ul.pagenation{
	display:table;
	padding:0;
}
.news_inner ul.pagenation li.util_pc{
	display:none;
}
.news_inner ul.pagenation li.util_sp{
	display:table-cell;
}
.news_inner ul.pagenation li {
	float: none;
	width: auto;
	display:table-cell;
	vertical-align:middle;
	padding: 20px 6px;
}
.news_inner ul.pagenation li img{
	width:16px;
}
.news_inner ul.pagenation li.page img{
	width:201px;
}

/*
	preregist_container
*/
.preregist_container .preregist_inner{
	background-image:url(assets/images/index/pre_bg_sp.png);
}
.preregist_container .preregist_btn{
	position:static;
	margin:auto;
	padding:4% 7%;
}

/*
	pre-registration
*/
#preregist_header{
	background-image:url(assets/images/index/pre_bg_sp.png);
	background-position:left top;
	background-repeat:no-repeat;
	background-size:100% auto;
	text-align:center;
}
.main_title{
	margin:auto;
	width:50%;
}
ul.preregist_btn{
	display:block;
}
ul.preregist_btn li{
	display:block;
	width:auto;
	padding: 6% 0 0 0;
}
.preregistration_container .inner{
	padding:3% 4%;
}
.preregistration_container .cam3_txt {
	padding: 3% 5% 3%;
}
.preregistration_container .cam3_body .cam3_body_inner {
	top: 15%;
}
.preregistration_container .cam3_body .cam3_body_inner .tw_img{
	margin: 24% auto 0;
	padding:0 5%;
}
.preregistration_container .cam3_body .cam3_body_inner .btn_area{
	padding:5% 10% 0;
}
.preregistration_container .cam3_body .cam3_body_inner ul {
    padding: 3% 0;
    font-size:13px;
}
.preregistration_container .cam3_body .preregist_btn {
    bottom: 15%;
    left:10%;
    width:80%;
}
.preregistration_container .cam2_body .cam4_txt{
	font-size:20px;
}
.preregistration_container .cam2_body .select_item > li{
	display:block;
	font-size:16px;
}
.preregistration_container .cam2_body .select_item select{
	font-size:12px;
	left:0;
}
.preregistration_container .cam2_body .txt2_list{
	font-size:14px;
}
#regist_popup .popup_formarea input{
	font-size:14px;
}
.preregistration_container .cam2_body .select_body.textarea input{
	font-size:12px;
}
#regist_popup #poptitle {
	padding: 10px 10% 20px 10%;
}
#tw_box .tw_img{
	padding:2% 10%;
	text-align:center;
}
#tw_box .btn_area{
	padding:2% 20%;
	text-align:center;
}
#tw_box .tw_ttl{
	font-size:18px;
	padding:2% 10% 0 10%;
}
.preregistration_container .cam2_body .select_body #present_item_name {
	font-size: 14px;
}
.preregistration_container .cam3_body .cam3_body_inner{
	position:absolute;
	/*top:38%;*/
	top:16%;
	left:2%;
	width:96%;
	color:#fff;
}

/*
	character
*/
.character_container{
	margin:auto;
	/*width:320px;*/
}
.character_container h2 {
    padding: 20px 30% 20px;
}
.character_container h2 p.link{
	width:50%;
	bottom:-30px;
	right:5%;
}
.chara_field_box {
	margin: 0 auto;
}
.character_img .change_chara_list li{
	text-align:right;
}
.character_img .change_chara_list li img {
	width: 47%;
	margin:0 -1% 0 auto;
}
.chara_field_box .charaname {
	position: absolute;
	top: 5%;
	left: 5%;
	text-align: left;
	width: 54%;
}
.chara_field_box .voice_area {
	width:65%;
	bottom: 25%;
	left: 5%;
}
.chara_field_box .voice_area li {
	padding: 4px 0;
}
.footer_inner .prof_container {
	padding: 0 0 20px 0;
}
.chara_field_box .yacchan {
	position: absolute;
	top: 37%;
	left: 8%;
	text-align: left;
	width: 20.5%;
}
.chara_field_box .profile_text {
	top: auto;
	bottom:2%;
	right: 5%;
	text-align: left;
	width: 90%;
	font-size: 11px;
}
.chara_field_box .profile_text li {
	padding: 2px 0;
}
.chara_field_box .profile_text .ttl {
	font-size: 16px;
}
.chara_field_box .change_btn {
	position: absolute;
	top: 28%;
	left: 43%;
	width:12%;
}
.footer_inner ul{
	text-align:left;
}
.footer_inner ul li{
	display:inline-block;
	width:20%;
	padding:2px 4px;
}
.prof_data_box_container{
	display:block;
	margin:0 auto 10px auto;
}

.prof_data_box_container > div{
	display:block;
}
.prof_set > div {
	font-size: 14px;
}
.chara_field_box .chatch{
	display:none;
}
.pagenation{
	display:none;
}
.footer_inner .prof_container .catch_sp{
	display:inline-block;
	padding:0 15% 35px 5%;
}
.character_img{
	top:auto;
	bottom:25%;
}
.character_img .change_chara_list{
	position:relative;
}
.character_img .change_chara_list li.change{
	top:auto;
	bottom:0;
}

#closebtn{
	width:8%;
}

/*
	movie
*/
.movie_body ul li{
	padding:10px 3%;
}
.movie_body ul li iframe {
	width:100%;
	height:350px;
}

/*
	credit
*/
.credit_container h2{
	padding: 30px 28%;
}
.credit_container > div{
	padding:30px 0 50px;
}
.credit_body_content .credit_body_inner {
	/*width: calc( 100% + 15px);
	overflow-y: auto;*/
}

/*
	sitepolicy
*/
.credit_container .body h1{
	padding:0 0 15px;
	font-size:20px;
}
.credit_container .body p{
	font-size:12px;
}
.credit_container .body .title{
	font-size:15px;
}

/*
	special
*/
.special_container {
    background-color:#f8f8f8;
}
.special_container h2{
	padding:40px 35% 20px;
}
.special_body{
	padding:10px 5% 50px;
}
.special_body ul li{
	padding:10px 0;
}
.special_body ul li p{
	font-size:16px;
}

/*
	story
*/
.story_container{
	background-color:#f8f8f8;
}
.story_body{
	background:none;
}
.story_body .line_upper{
	display:none;
}
.story_body .line_lower{
	display:none;
}

/*
	twicon
*/
.twicon_container h2{
	padding:40px 35%;
}
.twicon_body{
	padding:10px 5% 25px;
}
.twicon_body h3{
	padding:5px 0 10px;
	font-size:20px;
	font-weight:700;
}
.twicon_body p{
	font-size:15px;
}
.twicon_body p .br{
	display:block;
}
.twicon_body > ul{
	padding:20px 0;
}
.twicon_body > ul > li{
	float:left;
	width:20%;
	padding:5px;
}
.twicon_body .download_btn{
	display:none;
}
.twicon_body .attend_box{
	margin:auto;
	width:100%;
	max-width:945px;
	border:2px solid #ddd;
	padding:12px;
	text-align:left;
}
.twicon_body .attend_box {
	font-size:12px;
}
.twicon_body .attend_box h4{
	font-size:15px;
}

/*
	castcomment
*/
.castcomment_container{
	background-color:#fff;
}
.castcomment_container h2{
	padding:40px 30%;
}
.character_line{
	padding:0;
	display:none;
}
.castcomment_body_inner{
	padding:0 5%;
}
.castcomment_box{
	margin:0 0 25px 0;
	background-image:none;
	display:block;
}
.castcomment_box.chara2{
	background-image:none;
	display:none;
}
.castcomment_box.chara3{
	background-image:none;
	display:none;
}
.castcomment_box.chara4{
	background-image:none;
	display:none;
}
.castcomment_box.chara5{
	background-image:none;
	display:none;
}
.castcomment_box.chara6{
	background-image:none;
	display:none;
}
.castcomment_box.chara7{
	background-image:none;
	display:none;
}
.castcomment_box > div{
	display:block;
	padding:20px 0;
	text-align:left;
}
.castcomment_box > div.cast_img{
	width:100%;
	padding:10px 0;
}
.castcomment_box > div.cast_comment .cast_comment_title{
	padding:0 30% 20px 0;
	margin:0;
}
.castcomment_box > div.cast_comment > .text h3{
	color:#d19f55;
	padding:0;
	font-size:14px;
	background-image:url(assets/images/castcomment/icon.png);
	background-position:left 3px;
	background-repeat:no-repeat;
}
.castcomment_box > div.cast_comment > .text p{
	padding:4px 0 24px 0;
	font-size:14px;
}
.castcomment_upper{
	display:block;
}
.upper_inner{
    padding: 0 5% 20px 5%;
    text-align: center;
}
.upper_inner ul{
	font-size:0;
}
.upper_inner ul li{
	display:inline-block;
	width:25%;
	padding: 2px 4px;
}
.castcomment_footer{
	display:block;
}
.castcomment_footer .footer_inner ul {
	text-align: center;
}
.castcomment_footer .footer_inner ul li{
	width:25%;
}

/*
	correlation
*/
.correlation_container h2{
	margin:20px auto;
	padding:10px 28%;
}
.correlation_container h2 p.link{
	width:50%;
	bottom:-30px;
	right:5%;
}
.correlation_container .mainview {
	margin: 0 0 40px;
}
.correlation_container .inner{
	padding:0 5% 40px;
}
.correlation_container .inner .link {
	padding: 10px 0;
}
.correlation_container .inner .link img {
	max-width: 33%;
}

/*
	system
*/
.system_container {
	padding: 5px 0;
}
.system_container h2 {
	margin: 20px auto;
	padding: 10px 37%;
}
.system_tab {
	padding: 20px 0 40px;
}
.system_tab ul {
	margin: 0 -2px;
}
.system_tab ul li {
	padding: 2px;
	font-size: 11px;
}
.system_tab ul li a {
	padding: 10px 5px;
}
.system_body_content_area h3 {
	font-size: 15px;
	padding: 5px 30px;
}
.system_body_content_area h3 + p {
	font-size: 15px;
	padding: 25px 0 0;
}
.system_body_content_box {
	margin: 40px auto;
	width: 88%;
}
.system_body_content_box.short {
	margin: 10px auto 40px;
}
.system_body_content_box h4 {
	font-size: 16px;
	border-bottom: 3px solid #404567;
}
.system_body_content_box h4 + p {
	padding: 25px 0 0;
	font-size: 15px;
}
.system_body_content_inner {
	padding: 20px 0 0;
	display: block;
}
.system_body_content_inner > div {
	width: 100%;
}
.system_body_content_inner > div p {
	font-size: 14px;
	padding: 0;
}
.system_body_content_inner > div .link {
	padding: 30px 0 0;
}

/*
	gallery
*/
.story_container h2 {
	padding: 35px 38% 25px;
}
.gallery_tab {
	padding: 13px;
	text-align: left;
}
.gallery_tab ul > li {
	width: 20%;
	padding: 2px;
}
.gallery_container {
	padding: 25px 0;
	min-height: 250px;
}
.gallery_container .gallery_image {
	padding: 0 15px;
}
.gallery_container .gallery_image + p {
	font-size: 50%;
}
.gallery_container .gallery_image:after {
	background-position: 90% 99%;
}
.gallery_container .gallery_serif {
	padding: 20px;
}
.gallery_serif_table > ul > li {
	padding: 5px;
	font-size: 12px;
}
.gallery_serif_table > ul > li.name {
	width: 80px;
}

.util_sp{
	display:inline-block !important;
}
.util_pc{
	display:none !important;
}
.fade:hover {
	opacity: 1;
	filter: alpha(opacity=100);
}
}
@media (max-width: 480px) {
#twitter-widget-0{
	height:500px !important;
}
/*
	pre-registration
*/
.preregistration_container .cam3_body .cam3_body_inner ul {
	font-size:10px;
}
.preregistration_container .cam2_body .cam4_txt {
	font-size: 16px;
}
.preregistration_container .cam2_body .txt2_list {
	font-size: 12px;
}
}
@media (max-width: 375px) {
.twitter_container h2 > img.check_tw {
	position: absolute;
	top: -23%;
	right: 18%;
	width: 17%;
}
#footer ul li{
	padding:10px 5px;
	font-size:9px;
}
/*
	pre-registration
*/
.preregistration_container .cam2_body .select_item select {
	font-size: 10px;
}
/*
	twicon
*/
.twicon_body h3{
	padding:5px 0 10px;
	font-size:16px;
}
.twicon_body p{
	font-size:13px;
}

/*
	movie
*/
.movie_body ul li{
	padding:10px 3% 50px;
}
.movie_body ul li iframe {
	height:250px;
}
}
@media (max-width: 320px) {
#footer ul li{
	padding:10px 3px;
	font-size:7px;
}
/*
	pre-registration
*/
.preregistration_container .cam3_body .cam3_body_inner {
	top:16%;
}
.preregistration_container .cam3_body .cam3_body_inner ul {
	font-size:60%;
}
}
