@charset "UTF-8";

/*common*/
html
{
height: 100%;
}
body
{
	color: #333;
	font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
	font-size: 16px;
	line-height: 1.7em;
	line-break: strict;
	word-break: break-all;
	text-align: justify;
	text-justify: distribute;
	min-height: 100vh;
	height: 100%;
	display: flex;
	flex-direction: column;
}
body::before{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
   width: 100vw;
  height:100vh;
  background: url("../images/common/bg.jpg") no-repeat center;
  background-size: cover;
}
a:link {
	text-decoration: none;
	color: #f30;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
a:visited {
	text-decoration: none;
	color: #f30;
}

a:hover {
	text-decoration: none;
	opacity: 0.7;
}
p:not(:last-child)
{
	margin-bottom: 1em;
}

/*PC--------------------------------------------------------------------------------------*/

/*contents*/

#wrap
{
	max-width: 1000px;
	width: 100%;
	position: relative;
	flex: 1 0 auto;
	min-height: 0%;
	margin: 0 auto;
	-moz-box-shadow: 0px 0px 4px rgba(50, 50, 50, 0.7);
	-webkit-box-shadow: 0px 0px 4px rgba(50, 50, 50, 0.7);
	box-shadow: 0px 0px 4px rgba(50, 50, 50, 0.7);
	background: rgba(255,255,255,0.7);
}
.top-banner
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 71%;
	position: relative;
	width: 100%;
	background: url("../images/top/header.jpg") no-repeat;
	background-size: cover;
	display: block;
	overflow: hidden;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
.top-banner h1
{
	display: none;
}
.top-banner .muill a
{
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: 1%;
	left: 4%;
	width: 40%;
	height: 40%;
	text-indent: -9999px;
}

/*top*/

#top-contents
{
	width: 100%;
	padding: 3%;
	box-sizing: border-box;
}
.navi-movie-wrap
{
	overflow: hidden;
	margin-bottom: 3.1914893%;
}
.navi-movie-wrap .navi-btn-wrap
{
	width: 54.25531%;
	overflow: hidden;
	float: left;
}
.navi-movie-wrap .navi-btn-wrap ul
{
	width: 102%;
	list-style: none;
}
.navi-movie-wrap .navi-btn-wrap ul li
{
	float: left;
	width: 48%;
	margin-right: 2%;
	margin-bottom: 2%;
}
.navi-movie-wrap .navi-btn-wrap ul li:nth-last-child(2),
.navi-movie-wrap .navi-btn-wrap ul li:last-child
{
	margin-bottom: 0;
}
.navi-movie-wrap .navi-btn-wrap ul li a
{
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
.navi-movie-wrap .navi-btn-wrap ul li a:hover
{
	opacity: 0.7;
}
.navi-movie-wrap .navi-btn-wrap ul li img
{
	width: 100%;
}
.navi-movie-wrap .movie-wrap
{
	width: 42.55319%;
	overflow: hidden;
	float: right;
	margin: 0;
}
.navi-movie-wrap .movie-wrap .movie
{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.navi-movie-wrap .movie-wrap .movie iframe
{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.info-tw-wrap
{
	overflow: hidden;
	/*margin-bottom: 3.1914893%;*/
}
.info-tw-wrap .info-wrap
{
	background: #ffefca;
	padding: 15px;
	box-sizing: border-box;
	width: 48.40425%;
	height: 308px;
	float: left;
	border-radius: 10px;
	border: 1px solid #ffa140;
	font-size: 0.9em;
}
.info-tw-wrap .info-wrap h2.title-info
{
	width: 100%;
	background: url("../images/top/title_info.png") no-repeat center;
	margin-bottom: 15px;
	text-indent: -9999px;
	height: 21px;
}
.info-tw-wrap .info-wrap dl
{
	overflow: auto;
	overflow-x: hidden;
	width: 100%;
	height: 248px;
}
.info-tw-wrap .info-wrap dt
{
	float: left;
	color: #e66464;
	width: 8em;
	font-weight: bold;
}
.info-tw-wrap .info-wrap dd
{
	margin: 0 1em 0 8em;
}
.info-tw-wrap .tw-wrap
{
	background: #ffefca;
	padding: 15px;
	box-sizing: border-box;
	width: 48.40425%;
	height: 308px;
	float: right;
	border-radius: 10px;
	border: 1px solid #ffa140;
}
.info-tw-wrap .tw-wrap h2.title-tw
{
	width: 100%;
	background: url("../images/top/title_tw.png") no-repeat center;
	margin-bottom: 15px;
	text-indent: -9999px;
	height: 21px;
}

/* header */

.inner {
    max-width: 1000px;
    margin: 0 auto;
}
.inner:after {
    content: "";
    clear: both;
    display: block;
}

#top-head {
	font-size: 14px;
	top: -100px;
	position: absolute;
	width: 100%;
	margin: 100px auto 0;
	padding:  0;
	line-height: 1;
	z-index: 100;
}
#top-head a,
#top-head {
	color: #ff0;
	text-decoration: none;
	font-weight: bold;
}
#top-head .inner {
	position: relative;
}
#top-head .logo {
	display: block;
}
#top-head .logo a {
	position: absolute;
	background: url("../images/common/logo.png") no-repeat;
	background-size: 157px 100px;
	text-indent: -9999px;
	width: 157px;
	height: 100px;
	top: 10px;
	left: 20px;
	display: block;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#global-nav ul {
	list-style: none;
	position: absolute;
	right: 10px;
	top: 17px;
	font-size: 14px;
}
#global-nav ul li {
	float: left;
	position: relative;
}
#global-nav ul li.navi01 a
{
	width: 95px;
	height: 25px;
	background: url("../images/common/navi01.png") no-repeat;
	text-indent: -9999px;
	display: block;
	margin: 0 5px;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#global-nav ul li.navi02 a
{
	width: 113px;
	height: 26px;
	background: url("../images/common/navi02.png") no-repeat;
	text-indent: -9999px;
	display: block;
	margin: 0 5px;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#global-nav ul li.navi03 a
{
	width: 77px;
	height: 24px;
	background: url("../images/common/navi03.png") no-repeat;
	text-indent: -9999px;
	display: block;
	margin: 0 5px;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#global-nav ul li.navi04 a
{
	width: 76px;
	height: 26px;
	background: url("../images/common/navi04.png") no-repeat;
	text-indent: -9999px;
	display: block;
	margin: 0 5px;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#global-nav ul li.navi05 a
{
	width: 78px;
	height: 25px;
	background: url("../images/common/navi05.png") no-repeat;
	text-indent: -9999px;
	display: block;
	margin: 0 5px;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#global-nav ul li.navi06 a
{
	width: 111px;
	height: 26px;
	background: url("../images/common/navi06.png") no-repeat;
	text-indent: -9999px;
	display: block;
	margin: 0 5px;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#global-nav ul li.navi01 a:hover,
#global-nav ul li.navi02 a:hover,
#global-nav ul li.navi03 a:hover,
#global-nav ul li.navi04 a:hover,
#global-nav ul li.navi05 a:hover,
#global-nav ul li.navi06 a:hover
{
	opacity: 0.7;
}

/* Fixed */

#top-head.fixed {
	margin-top: 0;
	top: 0;
	position: fixed;
	height: 60px;
	background: url("../images/common/navi_bg.png");
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}
#top-head.fixed a
{
	color: #fff;
}
#top-head.fixed .logo {
	display: block;
}
#top-head.fixed .logo a{
	position: absolute;
	background: url("../images/common/logo.png") no-repeat;
	background-size: 157px 100px;
	text-indent: -9999px;
	width: 157px;
	height: 100px;
	top: 10px;
	left: 20px;
	display: block;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#top-head.fixed #global-nav ul {
	top: 17px;
}

/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 12px;
	top: 17px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}

#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #fff;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}

/*contents*/

h2.title-story
{
	width: 100%;
	height: 200px;
	background: url("../images/story/h2title.jpg") center bottom;
	text-indent: -9999px;
}
h2.title-character
{
	width: 100%;
	height: 200px;
	background: url("../images/character/h2title.jpg") center bottom;
	text-indent: -9999px;
}
h2.title-movie
{
	width: 100%;
	height: 200px;
	background: url("../images/movie/h2title.jpg") center bottom;
	text-indent: -9999px;
}
h2.title-spec
{
	width: 100%;
	height: 200px;
	background: url("../images/spec/h2title.jpg") center bottom;
	text-indent: -9999px;
}
h2.title-prize
{
	width: 100%;
	height: 200px;
	background: url("../images/prize/h2title.jpg") center bottom;
	text-indent: -9999px;
}
h2.title-download
{
	width: 100%;
	height: 200px;
	background: url("../images/download/h2title.jpg") center bottom;
	text-indent: -9999px;
}
h3
{
	background: url("../images/common/midashi_bg.png");
	text-align: center;
	padding: 0.7em;
	box-sizing: border-box;
	margin: 1.5em 0 1.2em 0;
	border: 3px solid #fff;
	color: #fff;
	border-radius: 10px;
	-moz-box-shadow: 0px 0px 4px rgba(50, 50, 50, 0.7);
	-webkit-box-shadow: 0px 0px 4px rgba(50, 50, 50, 0.7);
	box-shadow: 0px 0px 4px rgba(50, 50, 50, 0.7);
	font-size: 1.2em;
	-moz-text-shadow: 0px 0px 4px rgba(50, 50, 50, 1);
	-webkit-text-shadow: 0px 0px 4px rgba(50, 50, 50, 1);
	text-shadow: 0px 0px 4px rgba(50, 50, 50, 1);
}
h3:first-child
{
	margin-top: 0;
}
h4
{
	margin-bottom: 1em;
	font-size: 1.2em;
	color: #2769E2;
	border-bottom: 1px solid #ffa140;
	padding-bottom: 0.3em;
}
h5
{
	margin-bottom: 1em;
	font-size: 1.1em;
}
.midashi-story
{
	top: 0px;
	left: 0px;
	height: 0;
    padding: 22.72727% 0 0 0;
	position: relative;
	width: 100%;
	background: url("../images/story/h3midashi.png") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
#main-contents
{
	width: 100%;
	padding: 3%;
	box-sizing: border-box;
}
.contents-wrap
{
	background: #ffefca;
	padding: 3%;
	box-sizing: border-box;
	width: 100%;
	border-radius: 10px;
	border: 1px solid #ffa140;
	overflow: hidden;
}
.contents-wrap2
{
	background: #ffefca;
	padding: 3%;
	box-sizing: border-box;
	width: 100%;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border-left: 1px solid #ffa140;
	border-right: 1px solid #ffa140;
	border-bottom: 1px solid #ffa140;
	overflow: hidden;
}
ul.sub-navi
{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.sub-navi li
{
	flex-basis: 50%;
	padding: 0;
	box-sizing: border-box;
}
ul.sub-navi li img
{
	max-width: 300px;
	width: 100%;
	margin: 0 auto;
}
ul.sub-navi li.subnavi01
{
	background: #ffefca;
	border-top: 1px solid #ffa140;
	border-left: 1px solid #ffa140;
	text-align: center;
	border-top-left-radius: 10px;
	overflow: hidden;
}
ul.sub-navi li.subnavi02
{
	background: #ffefca;
	border-top: 1px solid #ffa140;
	border-right: 1px solid #ffa140;
	text-align: center;
	border-top-right-radius: 10px;
	overflow: hidden;
}
ul.sub-navi li a
{
	padding: 0.5em;
	display: block;
	color: #fff;
	background: #ffa140;
}
ul.sub-navi li.navioff
{
	padding-top: 0.5em;
}
ul.list01
{
	font-size: 0.9em;
	margin: 0 0 1rem 0;
	color: #f00;
}
ul.list01 li
{
	margin-left: 1.5em;
}
.btn a
{
	display: block;
	overflow: hidden;
	text-align: center;
	padding: 0.5em;
	background: #00B9FF;
	border-radius: 20px;
	color: #fff;
}

/*spec*/

dl.spec-list 
{
	overflow: auto;
	overflow-x: hidden;
	width: 100%;
	margin-bottom: 1em;
}
dl.spec-list dt
{
	float: left;
	color: #e66464;
	width: 8em;
	font-weight: bold;
}
dl.spec-list dd
{
	margin: 0 0 0 8em;
}
.limited00
{
	max-width: 700px;
	width: 100%;
	margin: 0 auto 1.5em auto!important;
}
.limited01
{
	max-width: 300px;
	width: 100%;
	margin: 0 auto 1.5em auto!important;
}
.limited03
{
	max-width: 300px;
	width: 100%;
	margin: 0 auto 1.5em auto!important;
}
.limited00 img,
.limited01 img,
.limited02 img,
.limited03 img,
.limited04 img
{
	width: 100%;
}
.limited-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1.5em;
	align-items: center;
}
.limited-wrap .limited02,
.limited-wrap .limited04
{
	flex-basis: 35%;
}
.limited-wrap .text
{
	flex-basis: 65%;
	box-sizing: border-box;
	padding-left: 2em;
	font-size: 0.9em;
	line-height: 1.58;
}


/*prize*/

dl.prize-list 
{
	overflow: auto;
	overflow-x: hidden;
	width: 100%;
}
dl.prize-list dt
{
	float: left;
	color: #e66464;
	width: 8em;
	font-weight: bold;
}
dl.prize-list dd
{
	margin: 0 0 0 8em;
}
.shikishi
{
	float: right;
	width: 30%;
	margin: 0 0 3% 3%;
}
.shiori
{
	max-width: 500px;
	width: 100%;
	margin: 0 auto 1em auto;
}
.shitajiki
{
	max-width: 240px;
	width: 100%;
	margin: 0 auto 1em auto;
}
.shikishi img,
.shiori img,
.shitajiki img
{
	width: 100%;
}
.prize-ev
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 29.43181%;
	position: relative;
	width: 100%;
	background: url("../images/prize/event.jpg") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	margin-bottom: 3%;
}

.shop01-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
}
.shop01-wrap .item01
{
	flex-basis: 40%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop01-wrap .item02
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop01-wrap .item03
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop02-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	align-items: center;
}
.shop02-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop02-wrap .item02
{
	flex-basis: 70%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop03-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	justify-content: center;
}
.shop03-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop03-wrap .item02
{
	flex-basis: 40%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop04-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	justify-content: center;
}
.shop04-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop04-wrap .item02
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop05-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	align-items: center;
}
.shop05-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop05-wrap .item02
{
	flex-basis: 70%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop06-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	align-items: center;
}
.shop06-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop06-wrap .item02
{
	flex-basis: 70%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop07-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	align-items: center;
}
.shop07-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop07-wrap .item02
{
	flex-basis: 70%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop08-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	align-items: center;
}
.shop08-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop08-wrap .item02
{
	flex-basis: 70%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop09-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	align-items: center;
}
.shop09-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop09-wrap .item02
{
	flex-basis: 70%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop10-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 0 -1.5%;
	align-items: center;
}
.shop10-wrap .item01
{
	flex-basis: 30%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop10-wrap .item02
{
	flex-basis: 70%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop11-wrap,
.shop12-wrap,
.shop13-wrap,
.shop14-wrap,
.shop15-wrap,
.shop16-wrap,
.shop17-wrap,
.shop18-wrap,
.shop19-wrap,
.shop20-wrap,
.shop21-wrap
{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1.5% 3% -1.5%;
	align-items: center;
}
.shop11-wrap .item01,
.shop12-wrap .item01,
.shop13-wrap .item01,
.shop14-wrap .item01,
.shop15-wrap .item01,
.shop16-wrap .item01,
.shop17-wrap .item01,
.shop18-wrap .item01,
.shop19-wrap .item01,
.shop20-wrap .item01,
.shop21-wrap .item01
{
	flex-basis: 40%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.shop11-wrap .item02,
.shop12-wrap .item02,
.shop13-wrap .item02,
.shop14-wrap .item02,
.shop15-wrap .item02,
.shop16-wrap .item02,
.shop17-wrap .item02,
.shop18-wrap .item02,
.shop19-wrap .item02,
.shop20-wrap .item02,
.shop21-wrap .item02
{
	flex-basis: 60%;
	box-sizing: border-box;
	padding: 0 1.5%;
}
.item01 img,
.item02 img,
.item03 img
{
	width: 100%;
}

/*dl*/

.uc
{
	width: 100%;
	display: block;
	text-align: center;
	padding: 13em 0;
	font-size: 1.4em;
	font-weight: bold;
}
.dl-pic
{
	max-width: 700px;
	width: 100%;
	margin: 0 auto 1.5em auto!important;
}
.dl-pic img
{
	width: 100%;
}
ul.dl-list
{
	margin-bottom: 1em;
	margin-left: 1.5em;
}

/*movie*/

.movie-wrap
{
	width: 70%;
	margin: 0 auto 3% auto;
}
.movie-wrap2
{
	width: 50%;
	margin: 0 auto 3% auto;
}
.movie
{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie iframe
{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*chara*/

.tabs
{
	width: 100%;
	position: relative;
}
.tab_item01
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 14.99994%;
	position: relative;
	width: 16.666666%;
	background: url("../images/character/tab01.png") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	float: left;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	margin-bottom: 3.1914893%;
	z-index: 10;
}
.tab_item02
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 14.99994%;
	position: relative;
	width: 16.666666%;
	background: url("../images/character/tab02.png") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	float: left;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	margin-bottom: 3.1914893%;
	z-index: 10;
}
.tab_item03
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 14.99994%;
	position: relative;
	width: 16.666666%;
	background: url("../images/character/tab03.png") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	float: left;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	margin-bottom: 3.1914893%;
	z-index: 10;
}
.tab_item04
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 14.99994%;
	position: relative;
	width: 16.666666%;
	background: url("../images/character/tab04.png") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	float: left;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	margin-bottom: 3.1914893%;
	z-index: 10;
}
.tab_item05
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 14.99994%;
	position: relative;
	width: 16.666666%;
	background: url("../images/character/tab05.png") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	float: left;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	margin-bottom: 3.1914893%;
	z-index: 10;
}
.tab_item06
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 14.99994%;
	position: relative;
	width: 16.666666%;
	background: url("../images/character/tab06.png") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	float: left;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	margin-bottom: 3.1914893%;
	z-index: 10;
}
.tab_item01:hover,
.tab_item02:hover,
.tab_item03:hover,
.tab_item04:hover,
.tab_item05:hover,
.tab_item06:hover
{
	opacity: 0.7;
}
input[name="tab_item"] 
{
	display: none;
}
.tab_content 
{
	display: none;
	padding: 0;
	clear: both;
	overflow: hidden;
}
@keyframes tabAnim{
	0%{opacity:0;}
	100%{opacity:1;}
}
#c01:checked ~ #c01_content,
#c02:checked ~ #c02_content,
#c03:checked ~ #c03_content,
#c04:checked ~ #c04_content,
#c05:checked ~ #c05_content,
#c06:checked ~ #c06_content
{
	display: block;
	animation:tabAnim ease 0.5s forwards;
}
.tabs input:checked + .tab_item01,
.tabs input:checked + .tab_item02,
.tabs input:checked + .tab_item03,
.tabs input:checked + .tab_item04,
.tabs input:checked + .tab_item05,
.tabs input:checked + .tab_item06
{
	top: 20px;
}
.chara-wrap
{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	background: #fff;
	overflow: hidden;
	border-radius: 10px;
	justify-content: space-between;
	margin-bottom: 3%;
}
.chara-wrap .chara-pic
{
	flex-basis: 50%;
}
.chara-wrap .chara-pic img
{
	width: 100%;
}
.chara-wrap .chara-text
{
	flex-basis: 50%;
	box-sizing: border-box;
	padding: 3%;
}
dl.chara-spec
{
	overflow: auto;
	overflow-x: hidden;
	width: 100%;
	font-size: 0.9em;
	margin-bottom: 1rem;
}
dl.chara-spec dt
{
	float: left;
	color: #e66464;
	width: 7em;
	font-weight: bold;
}
dl.chara-spec dd
{
	margin: 0 0 0 7em;
}
.serifu
{
	font-weight: bold;
	color: #2675CD;
}
ul.ev-wrap
{
	list-style: none;
	margin: 0 -1.5%;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
ul.ev-wrap li
{
	flex-basis: 50%;
	padding: 0 1.5%;
	box-sizing: border-box;
}
ul.ev-wrap li img
{
	width: 100%;
}
ul.sv-button
{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0 -3%;
}
ul.sv-button li
{
	flex-basis: 33.33333%;
	padding: 0 3%;
	box-sizing: border-box;
}
ul.sv-button2
{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0 auto;
	width: 60%;
}
ul.sv-button2 li
{
	flex-basis: 50%;
	padding: 0 3%;
	box-sizing: border-box;
}
ul.sv-button li button,
ul.sv-button2 li button
{
	border: none;
	padding: 0;
	cursor: pointer;
	background: none;
	vertical-align: bottom;
}
ul.sv-button li img,
ul.sv-button2 li img
{
	width: 100%;
}

/*footer*/

#footer
{
	text-align: center;
	padding: 1em;
	background: #fa8a22;
	z-index: 100;
	color: #fff;
	font-size: 0.8em;
}
#footer p:noto(last-child)
{
	margin-bottom: 1%;
}
#footer .logo-navel
{
	width: 100px;
	margin: 0 auto 1em auto;
	z-index: 50;
	position: relative;
}
#footer .logo-navel img
{
	width: 100%;
}
#footer .sns
{
	position: relative;
	overflow: hidden;
	float: none;
	top: auto;
	right: auto;
	padding: 0;
}
#footer .sns ul
{
	list-style: none;
	position: relative;
	left: 50%;
	float: left;
}
#footer .sns ul li
{
	position: relative;
	left: -50%;
	float: left;
	margin: 0 5px;
	width: 32px;
}
#footer .sns ul li img
{
	width: 100%;
}

/*pagetop*/

#page-top
{
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 60px;
	z-index: 150;
}
#page-top img
{
	width: 100%;
}



/* modal */

.modal
{
	cursor: pointer;
	margin-bottom: 3.1914893%;
	text-align: center;
	background: #fff;
	padding: 0.5em;
	border: 3px solid #000;
	color: #f00;
	box-sizing: border-box;
	font-weight: bold;
	font-size: 1.2em;
}

.modalArea {
  display: none;
  position: fixed;
  z-index: 200; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 500px;
  padding: 30px;
  background-color: #fff;
	color: #333;
}
.modalWrapper h2
{
	text-align: center;
	margin-bottom: 1em;
	font-size: 1.4em;
	color: #f00;
}
.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
}



/*RESPONSIVE--------------------------------------------------------------------------------------*/

@media only screen and (max-width: 950px) {

/*header*/
	
#top-head,
	.inner {
		width: 100%;
		padding: 0;
	}
	#top-head {
		top: 0;
		position: fixed;
		margin-top: 0;
	}
	#top-head a
	{
	color: #fff;
	}
	/* Fixed reset */
	#top-head.fixed {
		padding-top: 0;
		background: transparent;
	}
	#mobile-head {
		background: url("../images/common/navi_bg.png");
		width: 100%;
		height: 60px;
		z-index: 100;
		position: relative;
	}
	#top-head.fixed .logo,
	#top-head .logo
	{
		display: block;
	}
	#top-head.fixed .logo a,
    #top-head .logo a{
        position: absolute;
		background: url("../images/common/logo.png") no-repeat;
		background-size: 94px 60px;
		text-indent: -9999px;
		width: 94px;
		height: 60px;
		top: 10px;
		left: 10px;
		display: block;
		-webkit-transition: all 500ms 0s ease;
  		transition: all 500ms 0s ease;
    }
	#top-head.fixed .logo a:hover,
	#top-head .logo a:hover
	{
		opacity: 0.7;
	}
	#global-nav {
		position: absolute;
		/* 開いてないときは画面外に配置 */
		top: -500px;
		background: rgba(000,000,000,0.7);
		width: 100%;
		text-align: center;
		padding: 0;
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
	}
	#global-nav ul {
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 12px;
	}
	#global-nav ul li {
		float: none;
		position: static;
	}
	#global-nav ul li:after  {
		display: none;
	}
	#top-head #global-nav ul li a,
	#top-head.fixed #global-nav ul li a {
		width: 100%;
		display: block;
		color: #ffeb00;
		padding: 20px 0;
		border-bottom: 1px solid #666;
	}
	#global-nav ul li.navi01 a,
	#global-nav ul li.navi02 a,
	#global-nav ul li.navi03 a,
	#global-nav ul li.navi04 a,
	#global-nav ul li.navi05 a,
	#global-nav ul li.navi06 a
	{
	width: auto;
	height: auto;
	text-indent: -9999px;
	display: block;
	margin: 0;
	background-position: center;
	}
	#nav-toggle {
		display: block;
	}
	/* #nav-toggle 切り替えアニメーション */
	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	/* #global-nav スライドアニメーション */
	.open #global-nav {
		/* #global-nav top + #mobile-head height */
		-moz-transform: translateY(560px);
		-webkit-transform: translateY(560px);
		transform: translateY(560px);
	}
	
h2.title-story
{
	width: 100%;
	height: 180px;
	background: url("../images/story/h2title.jpg") center bottom;
	background-size: 900px 180px;
	text-indent: -9999px;
}
h2.title-character
{
	width: 100%;
	height: 180px;
	background: url("../images/character/h2title.jpg") center bottom;
	text-indent: -9999px;
	background-size: 900px 180px;
}
h2.title-movie
{
	width: 100%;
	height: 180px;
	background: url("../images/movie/h2title.jpg") center bottom;
	text-indent: -9999px;
	background-size: 900px 180px;
}
h2.title-spec
{
	width: 100%;
	height: 180px;
	background: url("../images/spec/h2title.jpg") center bottom;
	text-indent: -9999px;
	background-size: 900px 180px;
}
h2.title-prize
{
	width: 100%;
	height: 180px;
	background: url("../images/prize/h2title.jpg") center bottom;
	text-indent: -9999px;
	background-size: 900px 180px;
}
h2.title-download
{
	width: 100%;
	height: 180px;
	background: url("../images/download/h2title.jpg") center bottom;
	text-indent: -9999px;
	background-size: 900px 180px;
}

}

/*MOBILE--------------------------------------------------------------------------------------*/

@media only screen and (max-width: 600px) {

body
{
	font-size: 14px;
}
/*top-header*/

.top-banner
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 136.666666%;
	position: relative;
	width: 100%;
	background: url("../images/top/header2.jpg") no-repeat;
	background-size: cover;
	display: block;
	overflow: hidden;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
.top-banner .muill a
{
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: auto;
	left: 29%;
	top: 0;
	width: 53%;
	height: 26%;
	text-indent: -9999px;
}

/*top*/

.navi-movie-wrap .navi-btn-wrap
{
	width: 100%;
	overflow: hidden;
	float: none;
	margin-bottom: 3.1914893%;
}
.navi-movie-wrap .movie-wrap
{
	width: 100%;
	overflow: hidden;
	float: none;
}
.info-tw-wrap
{
	overflow: hidden;
	/*margin-bottom: 3.1914893%;*/
}
.info-tw-wrap .info-wrap
{
	width: 100%;
	height: 200px;
	float: none;
	margin-bottom: 3.1914893%;
}
.info-tw-wrap .info-wrap dl
{
	overflow: auto;
	overflow-x: hidden;
	width: 100%;
	height: 135px;
}
.info-tw-wrap .info-wrap dt
{
	float: none;
	color: #e66464;
	width: 100%;
	font-weight: bold;
}
.info-tw-wrap .info-wrap dd
{
	margin: 0 0 0 0;
}
.info-tw-wrap .tw-wrap
{
	padding: 10px;
	box-sizing: border-box;
	width: 100%;
	float: none;
}
#page-top
{
	position: fixed;
	bottom: 5px;
	right: 5px;
	width: 50px;
	z-index: 150;
}

.midashi-story
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 33.33333%;
	position: relative;
	width: 100%;
	background: url("../images/story/h3midashi2.png") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
}
	
dl.spec-list dt
{
	float: left;
	color: #e66464;
	width: 100%;
	font-weight: bold;
}
dl.spec-list dd
{
	margin: 0 0 0.5em 0;
}

dl.prize-list dt
{
	float: left;
	color: #e66464;
	width: 100%;
	font-weight: bold;
}
dl.prize-list dd
{
	margin: 0 0 0.5em 0;
}	
	
.movie-wrap
{
	width: 100%;
	margin: 0 auto 1em auto;
}
.movie-wrap2
{
	width: 100%;
	margin: 0 auto 3% auto;
	padding: 0 3%;
	box-sizing: border-box;
}
	
.chara-wrap
{
	display: block;
	flex-wrap: wrap;
	width: 100%;
	background: #fff;
	overflow: hidden;
	border-radius: 10px;
	justify-content: space-between;
}
ul.ev-wrap
{
	list-style: none;
	margin: 0 -1.5%;
	padding: 0;
	display: block;
	flex-wrap: wrap;
}
ul.ev-wrap li
{
	flex-basis: 50%;
	padding: 0 1.5%;
	box-sizing: border-box;
	margin-bottom: 3%;
}
ul.ev-wrap li:last-child
	{
		margin-bottom: 0;
	}

.shikishi
{
	float: none;
	width: 70%;
	margin: 0 auto 3% auto;
}	
.prize-ev
{
	top: 0px;
	left: 0px;
	height: 0;
    padding-top: 66.66666%;
	position: relative;
	width: 100%;
	background: url("../images/prize/event2.jpg") no-repeat;
	text-indent: -9999px;
	background-size: cover;
	display: block;
	overflow: hidden;
	-webkit-transition: all 500ms 0s ease;
  	transition: all 500ms 0s ease;
	margin-bottom: 3%;
}
	
.shop01-wrap,
.shop02-wrap,
.shop03-wrap,
.shop04-wrap,
.shop05-wrap,
.shop06-wrap,
.shop07-wrap,
.shop08-wrap,
.shop09-wrap,
.shop10-wrap,
.shop11-wrap,
.shop12-wrap,
.shop13-wrap,
.shop14-wrap,
.shop15-wrap,
.shop16-wrap,
.shop17-wrap,
.shop18-wrap,
.shop19-wrap,
.shop20-wrap,
.shop21-wrap
{
	display: block;
	flex-wrap: wrap;
	margin: 0 -1.5% 0 -1.5%;
	align-items: center;
}
.shop01-wrap .item01,
.shop03-wrap .item02
{
	margin: 0 auto 1em auto;
}
.shop01-wrap .item02,
.shop01-wrap .item03,
.shop02-wrap .item01,
.shop03-wrap .item01,
.shop04-wrap .item01,
.shop04-wrap .item02,
.shop05-wrap .item01,
.shop06-wrap .item01,
.shop07-wrap .item01,
.shop08-wrap .item01,
.shop09-wrap .item01,
.shop10-wrap .item01
{
	margin: 0 auto 1em auto;
	width: 65%;
}
.shop02-wrap .item02,
.shop05-wrap .item02,
.shop06-wrap .item02,
.shop07-wrap .item02,
.shop08-wrap .item02,
.shop09-wrap .item02,
.shop10-wrap .item02,
.shop11-wrap .item01,
.shop11-wrap .item02,
.shop12-wrap .item01,
.shop12-wrap .item02,
.shop13-wrap .item01,
.shop13-wrap .item02,
.shop14-wrap .item01,
.shop14-wrap .item02,
.shop15-wrap .item01,
.shop15-wrap .item02,
.shop16-wrap .item01,
.shop16-wrap .item02,
.shop17-wrap .item01,
.shop17-wrap .item02,
.shop18-wrap .item01,
.shop18-wrap .item02,
.shop19-wrap .item01,
.shop19-wrap .item02,
.shop20-wrap .item01,
.shop20-wrap .item02,
.shop21-wrap .item01,
.shop21-wrap .item02
{
	margin: 0 auto 1em auto;
}
	
.limited-wrap
{
	display: block;
	margin-bottom: 1.5em;
}
.limited-wrap .limited02,
.limited-wrap .limited04
{
	flex-basis: 35%;
	max-width: 300px;
	width: 100%;
	margin: 0 auto 1em auto
}
.limited-wrap .text
{
	padding-left: 0;
}

.modal
{
	
}
.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 500px;
  padding: 20px;
  background-color: #fff;
  height : 60%;
  overflow : auto;
}	
	
}

