@charset "UTF-8";
/* CSS Document */

/* ------------------------------
フォント指定
------------------------------ */

body {
font-family: 'M PLUS 1p','Helvetica','Hiragino Kaku Gothic Pro','Meiryo',sans-serif;
}
input {
font-family: 'M PLUS 1p','Helvetica','Hiragino Kaku Gothic Pro','Meiryo',sans-serif;
}
textarea {
font-family: 'M PLUS 1p','Helvetica','Hiragino Kaku Gothic Pro','Meiryo',sans-serif;
}

/* ------------------------------
Clearfix
------------------------------ */

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* ------------------------------
Loading
------------------------------ */

#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 300;
}
 
#loader-bg #loader {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 500px;
  margin-left: -250px;
  text-align: center;
  color: #fff;
  z-index: 300;
  opacity: 0;
}

#loader-bg #loader img{
	width: 128px;
	height: 128px;
	filter: hue-rotate(180deg)brightness(180%);
}

/* ------------------------------
OP
------------------------------ */
#op {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(256, 256, 256, 0.8);
  top: 0;
  left: 0;
  opacity: 1;
  transition: opacity .2s ease-out;
  pointer-events: none;
	z-index: 200;
}

#op p.op_text{
	text-indent:-10000px;
	overflow:hidden;
	width: 425px;
	height: 492px;
	margin: 0 auto;
	position: relative;
	opacity: 0;
	top: -20px;
}

#op p#ch1_catch{
    background: url(../images/character/op_ch1.png);
}

#op p#ch2_catch{
    background: url(../images/character/op_ch2.png);
}

#op p#ch3_catch{
    background: url(../images/character/op_ch3.png);
}

div.container{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}


/* ------------------------------
サイト共通
------------------------------ */

html,body{
    width: 100%;
    -webkit-text-size-adjust: 100%;
-ms-overflow-style: none;
overflow: -moz-scrollbars-none;
scrollbar-width: none;
}

body::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

body::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.5);
}

body::-webkit-scrollbar-thumb {
  background-color: rgba(89, 22, 39, 0.5);
  border-radius: 10px;
}

#wrapper{
	position: relative;
    width: 100%;
    min-width: 1148px;
    max-width: 1920px;
    margin: 0 auto;
}

html{
}
    
body{
	background-image: url(../images/common/loop_bg02.png), url(../images/common/loop_bg00.png), linear-gradient(-135deg, #ffdff2, #e2ebff);
	background-repeat: repeat-x, repeat-x, no-repeat;
	background-position: 50% 0, 50% 100%, 0 0;
	background-attachment: fixed, fixed, fixed;
	background-size: auto, contain, auto;
}

canvas{
	position:absolute;
	width:100%;
	height:100%;
	z-index:10;
}

h1,h2,h3{
	text-indent:-10000px;
	overflow:hidden;
}

h3.contents{
	position: relative;
	margin: 0 auto 45px;
}


a{
color:#bf4c69;
}

a:hover{
color:#ff7396;
}

strong{
	font-weight:700;
    color:#f84872;
}

div#contents{
    background: url(../images/common/loop_bg04.png);
    background-position: 50% 0;
}

div.inside{
	width:1068px;
	margin:0 auto;
	position:relative;	
}

p{
	color: #561814;
	line-height: 180%;
	margin: 0 0 30px;
}

.small{
    font-size: 26px;
    margin-left: 6px;
}

@keyframes vertical {
    0% { transform:translateY(-15px); }
  100% { transform:translateY(  0px); }
}

@keyframes vertical2 {
    0% { transform:translateY(-8px); }
  100% { transform:translateY(  0px); }
}

.dots {
  position: relative;
  text-align: center;
  margin: 24px 0;
}


/* ------------------------------
HEADER
------------------------------ */

#header{
	width: 100%;
	height: 80px;
    background: url(../images/common/menu_bg.png) repeat-x;
	position: fixed;
	z-index: 100;
	transition: .5s;
	box-shadow: 0 0 10px rgba(89,22,39,0.25);
}

#index #header{
	opacity: 0;
}

#header.hide{
    transform: translateY(-100%);
}

#header ul#menu{
	margin: 0 auto;
	width: 1060px;
	list-style: none;
    display:flex;
	justify-content: center;
	height: 57px;
	align-items: center;
	position: relative;
	top:12px;
}

#header ul#menu h1{
    background-image: url(../images/common/Nintendo_switch_logo.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	height: 55px;
	width: 55px;
	margin: 0 auto 0 50px;
    -webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

#header ul#menu h1 a{
	height: 60px;
	display: block;
	text-indent:-10000px;
	overflow:hidden;
}

#header ul#menu h1:hover {
	opacity: 0.5;
}

#header ul#menu h2{
    background-image: url(../images/common/iMel_logo.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	height: 55px;
	width: 55px;
	margin: 0 50px 0 auto;
    -webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

#header ul#menu h2 a{
	height: 60px;
	display: block;
	text-indent:-10000px;
	overflow:hidden;
}

#header ul#menu h2:hover {
	opacity: 0.5;
}

#header ul#menu li {
    background-image: url(../images/common/menu.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	height: 60px;
	margin: 0 20px;
}

#header ul#menu li a{
	height: 60px;
	display: block;
	text-indent:-10000px;
	overflow:hidden;
}

#header ul#menu li#m_top{
width:80px;
background-position: 0 0;
}

#header ul#menu li#m_story{
width:110px;
background-position: -80px 0;
}

#header ul#menu li#m_character{
width:90px;
background-position: -190px 0;
}

#header ul#menu li#m_point{
width:90px;
background-position: -280px 0;
}

#header ul#menu li#m_movie{
width:90px;
background-position: -370px 0;
}

#header ul#menu li#m_special{
width:110px;
background-position: -460px 0;
}

#header ul#menu p.m_special_cs{
background-image: url(../images/common/menu.png);
background-repeat: no-repeat;
background-position: -460px 0;
height: 60px;
margin: 0 20px;
width:110px;
font-size: 0;
}

#header ul#menu li#m_product{
width:100px;
background-position: -570px 0;
}


/* ------------------------------
TOP
------------------------------ */

div#top{
	height: 1200px;
	padding: 0;
}

div#top p.catch{
	text-indent:-10000px;
	overflow:hidden;
    background: url(../images/top/header_catch.png) no-repeat;
	width: 62px;
	height: 488px;
	position: relative;
	margin: 0 auto;
	opacity: 0;
	z-index: 10;
}

div#top h1{
    background: url(../images/top/header_title.png) no-repeat;
	width: 888px;
	height: 281px;
	position: relative;
	margin: 100px auto 20px;
	opacity: 0;
	top: 0;
	z-index: 10;
}

div#top h2.date{
    background: url(../images/top/header_date.png) no-repeat;
	width: 773px;
	height: 81px;
	position: relative;
	margin: 0 auto 20px;
	opacity: 0;
	top: -40px;
	z-index: 10;
}

div#top h2.nos{
    background: url(../images/top/header_nos.png) no-repeat;
	width: 426px;
	height: 85px;
	position: relative;
	margin: 0 auto 20px;
	opacity: 0;
	top: -80px;
	z-index: 10;
}

div#top p.staff{
	text-indent:-10000px;
	overflow:hidden;
    background: url(../images/top/header_staff.png) no-repeat;
	width: 453px;
	height: 58px;
	position: relative;
	margin: 0 auto 0px;
	opacity: 0;
	top: -40px;
	z-index: 10;
}

div#top_ch {
	position: absolute;
	top: 0;
	width: 100%;
	height: 1200px;
	margin: 0 auto;
	padding: 0;
	z-index: 0;
	opacity: 0;
}

div#top_ch .top_ch1 {
	position: relative;
	background-image: url(../images/top/top_mizore.jpg);
	background-size: cover;
	background-position: top center;
	float: left;
	width: 50%;
	height: 1200px;
	margin: 0 auto 0 0;
	padding: 0;
}

div#top_ch .top_ch2 {
	position: relative;
	background-image: url(../images/top/top_hisagi.jpg);
	background-size: cover;
	background-position: top left;
	float: right;
	width: 50%;
	height: 1200px;
	margin: 0 0 0 auto;
	padding: 0;
}

div#top_ch a:hover {
	opacity: 0.5;
}

/* ------------------------------
TICKER
------------------------------ */

div#news{
    background: url(../images/top/news_bg.png) no-repeat;
	width: 1000px;
	height: 95px;
	position: relative;
	margin: 20px auto 0;
	z-index: 10;
}

.ticker {
  margin: 0 auto 0;
  width: 882px;
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: 20px 0 10px;
  top: 19px;
}


.ticker ul {
  width: 100%;
  position: relative;
  text-shadow: 0 0 10px #fff,0 0 5px #fff,0 0 2px #fff,0 0 1px #fff;
}


.ticker ul li {
  width: 100%;
  display: none;
  font-family: Meiryo;
  font-size: 15px;
  color: #591627;
}

.ticker li span.news_date{
	margin-right: 15px;
	font-weight: bold;
	color: #591627;
}

/* ------------------------------
BANNER
------------------------------ */

#banner {
	position: relative;
	margin: 0;
}

#banner ul{
	display: flex;
	height:auto;
}

#banner ul.slider li.banner_contents{
	width: 100%;
	height: auto;
}

#banner ul.slider li.banner_contents a{
	display: block;
	text-indent:-10000px;
	overflow:hidden;
	height: auto;
}

#banner ul.slider li.banner_contents img{
	width: 100%;
	display: block;
}

#banner ul.bn_box{
	width : 100%;
	margin: 0 auto;
	text-align: center;
	background: url(../images/common/loop_bg03.png);
    background-position: 50% 0;
}

#banner ul.bn_box li.banner_contents{
	position: relative;
	width : calc(100% / 3);
	height: auto;
	margin: 0 auto;
}

#banner ul.bn_box li.bn_l{
	margin: 0 0 0 auto;
}

#banner ul.bn_box li.bn_r{
	margin: 0 auto 0 0;
}

#banner ul.bn_box li.banner_contents a{
	display: block;
	text-indent:-10000px;
	overflow:hidden;
	height: auto;
}

#banner ul.bn_box li.banner_contents img{
	width: 100%;
	display: block;
}

#banner ul.bn_box li.dl_bt{
	width: 400px;
	height: 80px;
	margin: 20px auto;
	-webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

#banner ul.bn_box li.dl_bt:hover {
	opacity: 0.5;
}

/* ------------------------------
STORY
------------------------------ */

#story{
	padding: 85px 0 65px;
	background: url(../images/top/story_bg.png) no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    background-color: rgba(255, 255, 255, 0.5);
    display: flex;
}

#story h3{
    background: url(../images/top/story_title.png) no-repeat;
	width: 240px;
	height: 89px;
	opacity: 0;
	top: -20px;
}

#story .inner {
  width: 980px;
  margin: 60px auto 0;
}

#story .inner .text {
  display: block;
  width: 980px;
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
  opacity: 0;
}

#story .inner .text.text_01 {
  height: 54px;
  background-image: url(../images/top/story_text01.png);
}

#story .inner .text.text_02 {
  height: 107px;
  margin-top: 30px;
  background-image: url(../images/top/story_text02.png);
}

#story .inner .text.text_03 {
  height: 92px;
  margin-top: 30px;
  background-image: url(../images/top/story_text03.png);
}

#story .inner .text.text_04 {
  height: 92px;
  margin-top: 30px;
  background-image: url(../images/top/story_text04.png);
}

#story .inner .text.text_05 {
  height: 72px;
  margin-top: 30px;
  background-image: url(../images/top/story_text05.png);
}

#story .inner .text.text_06 {
  height: 37px;
  margin-top: 30px;
  background-image: url(../images/top/story_text06.png);
}


#story p.story_catch{
    background: url(../images/top/story_catch.png) no-repeat;
	width: 238px;
	height: 675px;
	text-indent:-10000px;
	overflow:hidden;
	float: left;
	margin-left: 50px;
	opacity: 0;
	position: relative;
	top: -20px;
}

#story p.story_text{
    background: url(../images/top/story_text.png) no-repeat;
	width: 691px;
	height: 664px;
	text-indent:-10000px;
	overflow:hidden;
	float: right;
	margin-right: 20px;
	opacity: 0;
	position: relative;
	left: -20px;
}

/* ------------------------------
CHARACTER
------------------------------ */

div #character{
	padding: 85px 0 55px;
	background: url(../images/top/character_bg.png) no-repeat;
	background-size: cover;
	background-position: 50% 0;
}

#character h3{
    background: url(../images/top/character_title.png) no-repeat;
	width: 240px;
	height: 89px;
	opacity: 0;
	top: -20px;
}

#character div.ch_links{
	display: flex;
	justify-content: center;
}

#character div.ch_links div{
	height: 932px;
	margin: 0 30px;
	position: relative;
}

#character div.ch_links div a.all{
	display: block;
	position: absolute;
	height: 932px;
}

#character div.ch_links div.ch01 a.all{
	width: 300px;
}

#character div.ch_links div.ch02 a.all{
	width: 300px;
}

#character div.ch_links div a.ch_bt{
	width: 300px;
	height: 60px;
	display: block;
	text-indent:-10000px;
	overflow:hidden;
	top: 680px;
	position: relative;
	margin: 0 auto;
}

#character div.ch01{
    background: url(../images/top/character_ch01.png) no-repeat bottom;
	width: 300px;
	opacity: 0;
	top: -20px;
}

#character div.ch01 a.ch_bt{
	background: url(../images/top/character_bt01.png) no-repeat;
}

#character div.ch02{
    background: url(../images/top/character_ch02.png) no-repeat bottom;
	width: 300px;
	opacity: 0;
	top: -20px;
}

#character div.ch02 a.ch_bt{
	background: url(../images/top/character_bt02.png) no-repeat;
}


/* ------------------------------
POINT
------------------------------ */

#point{
	padding: 85px 0 25px;
	background: url(../images/top/point_bg.png) repeat;
	background-position: 50% 0;
}

#point h3{
    background: url(../images/top/point_title.png) no-repeat;
	width: 240px;
	height: 89px;
	opacity: 0;
	top: -20px;
}

#point div.point1{
    background: url(../images/top/point_contents01.png) no-repeat;
	width: 970px;
	height: 290px;
	margin: 0 auto 30px;
	position: relative;
	top: -20px;
	opacity: 0;
	font-size: 0;
}

#point div.point2{
    background: url(../images/top/point_contents02.png) no-repeat;
	width: 970px;
	height: 510px;
	margin: 0 auto 30px;
	position: relative;
	top: -20px;
	opacity: 0;
	font-size: 0;
}

#point div.point3{
    background: url(../images/top/point_contents03.png) no-repeat;
	width: 970px;
	height:360px;
	margin: 0 auto 30px;
	position: relative;
	top: -20px;
	opacity: 0;
	font-size: 0;
}

/* ------------------------------
SYSTEM
------------------------------ */

#system{
	padding: 85px 0 105px;
	background: url(../images/top/point_bg.jpg) repeat-y;
}

#system h3{
    background: url(../images/top/system_title.png) no-repeat;
	width: 101px;
	height: 81px;
}

#system div.system1{
    background: url(../images/top/system_contents01.png) no-repeat;
	width: 970px;
	height: 572px;
	margin: 0 auto 30px;
	position: relative;
	top: -20px;
	opacity: 0;
}

#system div.system2{
    background: url(../images/top/system_contents02.png) no-repeat;
	width: 970px;
	height: 850px;
	margin: 0 auto 30px;
	position: relative;
	top: -20px;
	opacity: 0;
}

#system div.system3{
    background: url(../images/top/system_contents03.png) no-repeat;
	width: 970px;
	height: 1130px;
	margin: 0 auto 30px;
	position: relative;
	top: -20px;
	opacity: 0;
}


/* ------------------------------
STAGE
------------------------------ */

#stage{

}

#stage h3{
	position: relative;
    background: url(../images/top/stage_title.png) no-repeat;
	width: 407px;
	height: 39px;
	margin: 0 auto;
	z-index: 10;
	top: 414px;
}

#stage ul.stage_list{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	margin: -40px 0 0;
	position: relative;
}

#stage ul.stage_list li{
	width:50%;
	list-style: none;
	max-height: 432px;
	height: auto;
	display: block;
	height: 432px;
}

#stage ul.stage_list li a{
	width: 100%;
	max-height: 432px;
	display: block;
	height: 432px;
	text-indent:-10000px;
	overflow:hidden;
}

#stage ul.stage_list li.stage01{
    background-image: url(../images/top/stage_item01.png) ;
	background-position: center 0;
	background-repeat: no-repeat;
}

#stage ul.stage_list li.stage02{
    background-image: url(../images/top/stage_item02.png) ;
	background-position: center 0;
	background-repeat: no-repeat;
}

#stage ul.stage_list li.stage03{
    background-image: url(../images/top/stage_item03.png) ;
	background-position: center 0;
	background-repeat: no-repeat;
}

#stage ul.stage_list li.stage04{
    background-image: url(../images/top/stage_item04.png) ;
	background-position: center 0;
	background-repeat: no-repeat;
}

#stage ul.stage_list li.stage01 a{
    background-image: url(../images/top/stage_item01.png) ;
	background-position: center -432px;
	background-repeat: no-repeat;
}

#stage ul.stage_list li.stage02 a{
    background-image: url(../images/top/stage_item02.png) ;
	background-position: center -432px;
	background-repeat: no-repeat;
}

#stage ul.stage_list li.stage03 a{
    background-image: url(../images/top/stage_item03.png) ;
	background-position: center -432px;
	background-repeat: no-repeat;
}

#stage ul.stage_list li.stage04 a{
    background-image: url(../images/top/stage_item04.png) ;
	background-position: center -432px;
	background-repeat: no-repeat;
}

/* ------------------------------
MOVIE
------------------------------ */

#movie{
	padding: 65px 0 50px;
}

#movie h3{
    background: url(../images/top/movie_title.png) no-repeat;
	width: 240px;
	height: 89px;
	opacity: 0;
	top: -20px;
}

#movie ul{
	display: flex;
	justify-content: center;
	flex-wrap:wrap;
}

#movie ul li{
	width: 336px;
	margin: 0 10px 30px;
	border-radius: 5px;
	opacity: 0;
	top: -20px;
}

#movie div.movie_item{
	width: 336px;
	height: 189px;
	margin: 0 0 10px;
	background-color: #fff;
}

#movie div.movie_item img{
	border-radius: 5px;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, .2);
}

div.movie_text{
	border-left: 2px solid #eb6e8e;
	margin-left: 0px;
	padding-left: 10px;
	font-family: Meiryo;
}

div.movie_text p{
	margin: 0 0 0px;
}

div.movie_text p.movie_en{
	color: #a45b47;	
	font-family: 'Tangerine', cursive;
	font-size: 120%;
}

/* ------------------------------
SPECIAL
------------------------------ */

#special{
	width: 1068px;
	padding: 45px 0 50px;
	margin: 0 auto;
}

#special h3{
    background: url(../images/top/special_title.png) no-repeat;
	width: 240px;
	height: 89px;
	opacity: 0;
	top: -20px;
}

#special ul{
	display: flex;
	flex-wrap:wrap;
}

#special ul li{
	width: 336px;
	height: 336px;
	border-radius: 5px;
	margin: 0 10px 20px;
	background: #fff;
	border: 0px solid;
	opacity: 0;
	top: -20px;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, .2);
}

#special ul li img{
	border-radius: 5px 5px 0 0;
}

#special ul li p{
	margin: 0;
}

#special div.sp_inside{
	padding: 8px 0 0 20px;
}

#special div.sp_inside p.sp_text{
	color: #473535;
	line-height: 16px;
}

#special ul li.special_contents_not{
	background:none;
}

/* ------------------------------
PRODUCT
------------------------------ */

#product{
	padding: 45px 0 50px;
}

#product h3{
    background: url(../images/top/product_title.png) no-repeat;
	width: 240px;
	height: 89px;
	opacity: 0;
	top: -20px;
}

#product h4{
	font-size: 110%;
	color: #fff;
    text-shadow:
            1px 1px 0px #591627, -1px -1px 0px #591627,
           -1px 1px 0px #591627,  1px -1px 0px #591627,
            1px 0px 0px #591627, -1px -0px 0px #591627,
            0px 1px 0px #591627,  0px -1px 0px #591627,
            2px 2px 2px #591627, -2px -2px 2px #591627,
           -2px 2px 2px #591627,  2px -2px 2px #591627,
            2px 0px 2px #591627, -2px -0px 2px #591627,
            0px 2px 2px #591627,  0px -2px 2px #591627;
	border-bottom: 1px solid #591627;
	padding-bottom: 5px;
	margin: 0 0 20px;
	padding-left: 5px;
	width: 90%;
	font-family: Meiryo;
}

#product div#product_catalog{
	display:flex;
	flex-wrap:wrap;
	width:90%;
	margin: 0 auto;
}

#product ul{
	margin: 0 0 60px;
}

#product li{
	margin: 0 0 30px 5px;
}


#product div#product_catalog dt.list_title{
	font-size: 100%;
	width: 140px;
	text-align: center;
	padding-top: 2px;
	padding-bottom: 0;
	margin: 0 auto 0 0;
	line-height: 180%;
	font-weight: bold;
	color: #fff;
	background-color: #591627;
	font-family: Meiryo;
	border-radius: 15px;
	float: left;
}

#product div#product_catalog dd.list_name{
	font-size: 140%;
	margin-left: 160px;
	line-height: 140%;
	font-family: Meiryo;
}


#product div#product_catalog p.notice{
	color: #f93e6d;
	margin: 10px 0 0 160px;
	font-size: 100%;
	font-family: Meiryo;
}

#product div#product_catalog div.product_list{
	width: 50%;
	opacity: 0;
}

#product div#product_catalog div.spec_list{
	width: 50%;
	opacity: 0;
}

/* ------------------------------
CHARACTER_INSIDE
------------------------------ */

#character_inside #contents{
	background-position: center center;
	background-attachment: fixed;
	background-size: cover;
	background-color: #f5ebe0;
}

#character_inside div.ch1_bg{
	background-image: url(../images/character/ch01_bg.jpg);
}

#character_inside div.ch2_bg{
	background-image: url(../images/character/ch02_bg.jpg);
}

#character_inside div.ch3_bg{
	background-image: url(../images/character/ch03_bg.jpg);
}


#character_inside div.ch1{
}

#character_inside div.ch1 div.chitem{
	min-height: 1490px;
	position: absolute;
	width: 440px;
	right: 140px;
}

#character_inside div.chitem img{
	position: absolute;
}

#character_inside div.ch2{
}

#character_inside div.ch2 div.chitem{
	min-height: 1631px;
	position: absolute;
	width: 600px;
	left: 50px;
}

#character_inside div.ch3{
}

#character_inside div.ch3 div.chitem{
	min-height: 1723px;
	position: absolute;
	width: 515px;
	left: 152px;
}


#character_inside div.character_contents{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	padding: 126px 0 50px;
	margin: 0 0 80px;
	opacity: 0;
	top: -20px;
	position: relative;	
}

#character_inside div.serif_text{
	width: 130px;
	opacity: 0;
	top: -20px;
	position: relative;	
}

#character_inside div.ch_info{
	width: 420px;
	opacity: 0;
	top: -20px;
	position: relative;	
}

#character_inside div.ch_line{
	width: 417px;
	position: relative;
	height: 7px;
	margin: 0 auto 30px;
}

#character_inside p.serif{
	text-indent:-10000px;
	overflow:hidden;
}

#character_inside p.story{
	text-indent:-10000px;
	overflow:hidden;
	margin: 0 auto 30px;
	position: relative;
}

#character_inside p.cg_scene{
	text-indent:-10000px;
	overflow:hidden;
	width: 232px;
	height: 96px;
	position: relative;
	margin: 0 auto 30px;
}

#character_inside h3.name{
	margin: 100px 0 0px;
}


#character_inside h4.prof{
	text-indent:-10000px;
	overflow:hidden;
	position: relative;
	margin: 30px auto 30px 0;
}

#character_inside h5.cv{
	text-indent:-10000px;
	overflow:hidden;
	margin: 10px auto 30px;
}

#character_inside ul.sound_list{
	display:flex;
	width:350px;
	margin: 0 auto 35px;
}

#character_inside ul.sound_list li{
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: 0px 12px;
	position: relative;
	display: block
}

#character_inside ul.sound_list li.voice_bt a{
	width: 60px;
	height: 60px;
	position: relative;
	display: block;
    background: url(../images/character/ch_sound_bt_off.png) no-repeat;
    -webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

#character_inside ul.sound_list li.voice_bt a:hover{
	width: 60px;
	height: 60px;
	position: relative;
	display: block;
    background: url(../images/character/ch_sound_bt_on.png) no-repeat;
}

#character_inside ul.sound_list li.h_voice_bt a{
	width: 60px;
	height: 60px;
	position: relative;
	display: block;
    background: url(../images/character/ch_hvoice_bt_off.png) no-repeat;
    -webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

#character_inside ul.sound_list li.h_voice_bt a:hover{
	width: 60px;
	height: 60px;
	position: relative;
	display: block;
    background: url(../images/character/ch_hvoice_bt_on.png) no-repeat;
}

#character_inside ul.cg_list{
	display:flex;
	width:408px;
	margin: 5px auto 30px;
	flex-wrap:wrap;
}

#character_inside ul.cg_list li.cg_item{
	width: 192px;
	height: 108px;
	position: relative;
	display: block;
	justify-content: center;
	margin: 0 5px 10px;
	border: 1px solid #563618;
  -webkit-transition: 0.3s ease all;
  -moz-transition: 0.3s ease all;
  -o-transition: 0.3s ease all;
  transition: 0.3s ease all;
}

#character_inside ul.cg_list li.open {
  cursor: pointer;
}

#character_inside ul.cg_list li.open:hover {
  opacity: 0.5;
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  -ms-transform: translateY(2px);
  -o-transform: translateY(2px);
  transform: translateY(2px);
}

#character_inside div.cc_bt{
    background: url(../images/character/ch_cc_bt_off.png) no-repeat;
	width: 105px;
	height: 105px;
	position: absolute;
	top: 501px;
	right: 600px;
	z-index: 50;
	cursor: pointer;
    -webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

#character_inside div.cc_bt:hover{
	width: 105px;
	height: 105px;
    background: url(../images/character/ch_cc_bt_on.png) no-repeat;
}

#character_inside div.ch1 div.ch_line{
    background: url(../images/character/ch01_line.png) no-repeat;
}

#character_inside div.ch1 p.serif{
    background: url(../images/character/ch01_catch.png) no-repeat;
	width: 117px;
	height: 553px;
	position: relative;
	margin: 95px 0 0;
}

#character_inside div.ch1 h3.name{
    background: url(../images/character/ch01_name.png) no-repeat;
	width: 414px;
	height: 185px;
}

#character_inside div.ch1 h4.prof{
    background: url(../images/character/ch01_prof.png) no-repeat;
	width: 340px;
	height: 123px;
}

#character_inside div.ch1 h5.cv{
    background: url(../images/character/ch01_cv.png) no-repeat;
	width: 133px;
	height: 40px;
}

#character_inside div.ch1 p.cg_scene{
    background: url(../images/character/ch01_scene.png) no-repeat;
	width: 414px;
	height: 158px;
}

#character_inside div.ch1 p.story{
    background: url(../images/character/ch01_text.png) no-repeat;
	width: 414px;
	height: 318px;
}

#character_inside div.ch2 div.ch_line{
    background: url(../images/character/ch02_line.png) no-repeat;
}

#character_inside div.ch2 p.serif{
    background: url(../images/character/ch02_catch.png) no-repeat;
	width: 128px;
	height: 749px;
	position: relative;
	margin: 126px 0 0;
}

#character_inside div.ch2 h3.name{
    background: url(../images/character/ch02_name.png) no-repeat;
	width: 417px;
	height: 163px;
}

#character_inside div.ch2 h4.prof{
    background: url(../images/character/ch02_prof.png) no-repeat;
	width: 384px;
	height: 269px;
}

#character_inside div.ch1 h5.cv{
    background: url(../images/character/ch02_cv.png) no-repeat;
	width: 174px;
	height: 40px;
}

#character_inside div.ch2 p.cg_scene{
    background: url(../images/character/ch02_scene.png) no-repeat;
}

#character_inside div.ch2 p.story{
    background: url(../images/character/ch02_text.png) no-repeat;
	width: 360px;
	height: 314px;
}

#character_inside div.ch3 div.ch_line{
    background: url(../images/character/ch03_line.png) no-repeat;
}

#character_inside div.ch3 p.serif{
    background: url(../images/character/ch03_catch.png) no-repeat;
	width: 129px;
	height: 922px;
	position: relative;
	margin: 126px 0 0;
}

#character_inside div.ch3 h3.name{
    background: url(../images/character/ch03_name.png) no-repeat;
	width: 399px;
	height: 175px;
}

#character_inside div.ch3 h4.prof{
    background: url(../images/character/ch03_prof.png) no-repeat;
	width: 400px;
	height: 269px;
}

#character_inside div.ch3 p.cg_scene{
    background: url(../images/character/ch03_scene.png) no-repeat;
}

#character_inside div.ch3 p.story{
    background: url(../images/character/ch03_text.png) no-repeat;
	width: 393px;
	height: 346px;
}

/* ------------------------------
ANDROID
------------------------------ */

#android_box .inner {
  width: 980px;
  margin: 10px auto 80px;
}

#android_box .inner .item {
  position: relative;
  margin: 0 auto;
  opacity: 0;
}

#android_box .inner .item h3 {
  margin-bottom: 25px;
  background-position: 0 0;
  background-repeat: no-repeat;
  font-size: 0;
}

#android_box .inner .item p {
  background-position: 0 0;
  background-repeat: no-repeat;
  font-size: 0;
}

#android_box .inner .item.item_01 {
  width: 980px;
  height: 560px;
  background-image: url(../images/android/android_01_chr.png);
  background-size: 420px 560px;
  background-position: 0 0;
  background-repeat: no-repeat;
  padding-top: 70px;
  margin-bottom: 0px;
}

#android_box .inner .item.item_01 h1 {
  width: 579px;
  height: 92px;
  background-image: url(../images/android/android_01_h1.png);
  font-size: 0;
  margin: 0 auto 0 420px;
}

#android_box .inner .item.item_01 p.text01 {
  height: 96px;
  background-image: url(../images/android/android_01_text01.png);
  margin: 50px auto 0 420px;
}

#android_box .inner .item.item_01 p.text02 {
  height: 31px;
  background-image: url(../images/android/android_01_text02.png);
  margin: 50px auto 0 420px;
}

#android_box .inner .item.item_01 .chr {
  background-image: url(../images/android/android_01_chr.png);
}


#android_box .inner .item.item_02 {
  width: 950px;
  height: 680px;
  background-image: url(../images/android/android_02_chr.png);
  background-size: 390px 580px;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  padding-top: 50px;
  margin-bottom: 20px;
}

#android_box .inner .item.item_02 h1 {
  height: 30px;
  background-image: url(../images/android/android_02_h1.png);
  background-size: 580px 30px;
  background-repeat: no-repeat;
  background-position: 0 0;
  font-size: 0;
  margin-bottom: 30px;
}

#android_box .inner .item.item_02 p.text01 {
  width: 505px;
  height: 54px;
  background-image: url(../images/android/android_02_text01.png);
  background-position: 0 50%;
  margin-left: 70px;
}

#android_box .inner .item.item_02 img {
  position: relative;
  width: 450px;
  height: 110px;
  margin: -20px auto 20px -332px;
}

#android_box .inner .item.item_02 a {
  -webkit-transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -o-transition: 0.2s ease all;
  transition: 0.2s ease all;
}

#android_box .inner .item.item_02 a:hover {
  opacity: 0.5;
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  -ms-transform: translateY(2px);
  -o-transform: translateY(2px);
  transform: translateY(2px);
}

#android_box .inner .item.item_02 p.text02 {
  height: 54px;
  background-image: url(../images/android/android_02_text02.png);
  background-position: 0 50%;
  margin-left: 70px;
}

#android_box .inner .item.item_02 p.text03 {
  height: 54px;
  background-image: url(../images/android/android_02_text03.png);
  background-position: 0 50%;
  margin-left: 70px;
}

#android_box .inner .item.item_02 p.text04 {
  height: 54px;
  background-image: url(../images/android/android_02_text04.png);
  background-position: 0 50%;
  margin-left: 70px;
}

#android_box .inner .item.item_02 .next {
  margin-bottom: 20px;
}

#android_box .inner .item.item_03 {
  background-image: url(../images/android/android_03_img01.png),
                    url(../images/android/android_03_img02.png),
                    url(../images/android/android_03_img03.png),
                    url(../images/android/android_03_img04.png);
  background-position: right 116px, right 369px, right 539px, right 774px;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: 192px 233px, 191px 150px, 192px 215px, 192px 172px;
  width: 700px;
  height: 920px;
  padding-top: 50px;
  margin-bottom: 20px;
}

#android_box .inner .item.item_03 h1 {
  height: 30px;
  background-image: url(../images/android/android_03_h1.png);
  background-size: 208px 30px;
  background-repeat: no-repeat;
  background-position: 50% 0;
  font-size: 0;
  margin-bottom: 45px;
}

#android_box .inner .item.item_03 p.text01_01 {
  height: 54px;
  background-image: url(../images/android/android_03_text01_01.png);
  background-position: 0 50%;
  margin-left: 70px;
  margin-bottom: 0;
}

#android_box .inner .item.item_03 p.text01_02 {
  height: 55px;
  background-image: url(../images/android/android_03_text01_02.png);
  background-position: 0 50%;
  margin-left: 70px;
  margin-bottom: 20px;
}

#android_box .inner .item.item_03 p.text02_01 {
  height: 54px;
  background-image: url(../images/android/android_03_text02_01.png);
  background-position: 0 50%;
  margin-left: 70px;
  margin-bottom: 0;
}

#android_box .inner .item.item_03 p.text02_02 {
  height: 55px;
  background-image: url(../images/android/android_03_text02_02.png);
  background-position: 0 50%;
  margin-left: 70px;
  margin-bottom: 20px;
}

#android_box .inner .item.item_03 p.text03_01 {
  height: 54px;
  background-image: url(../images/android/android_03_text03_01.png);
  background-position: 0 50%;
  margin-left: 70px;
  margin-bottom: 0;
}

#android_box .inner .item.item_03 p.text03_02 {
  height: 55px;
  background-image: url(../images/android/android_03_text03_02.png);
  background-position: 0 50%;
  margin-left: 70px;
  margin-bottom: 20px;
}

#android_box .inner .item.item_03 p.text04_01 {
  height: 54px;
  background-image: url(../images/android/android_03_text04_01.png);
  background-position: 0 50%;
  margin-left: 70px;
  margin-bottom: 0;
}

#android_box .inner .item.item_03 p.text04_02 {
  height: 55px;
  background-image: url(../images/android/android_03_text04_02.png);
  background-position: 0 50%;
  margin-left: 70px;
  margin-bottom: 20px;
}


#android_box .inner .item.item_03 .next {
  margin-top: 35px;
  margin-bottom: 35px;
}


#android_box .inner .item.item_04 {
  width: 940px;
  height: 420px;
  background-image: url(../images/android/android_04_bg.png);
  background-size: 500px 500px;
  background-position: 0 0;
  background-repeat: no-repeat;
  padding-top: 80px;
  margin-top: 30px;
}

#android_box .inner .item.item_04 p.text01 {
  height: 132px;
  background-image: url(../images/android/android_04_text01.png);
  margin-left: 400px;
  margin-bottom: 50px;
}

#android_box .inner .item.item_04 p.text02 {
  height: 157px;
  background-image: url(../images/android/android_04_text02.png);
  margin-left: 400px;
}


#android_box .inner .num1 {
  position: absolute;
  width: 60px;
  height: 54px;
  background-image: url(../images/android/android_num1.png);
  background-size: 60px 54px;
  background-repeat: no-repeat;
  font-size: 0;
}

#android_box .inner .num2 {
  position: absolute;
  width: 60px;
  height: 54px;
  background-image: url(../images/android/android_num2.png);
  background-size: 60px 54px;
  background-repeat: no-repeat;
  font-size: 0;
}

#android_box .inner .num3 {
  position: absolute;
  width: 60px;
  height: 54px;
  background-image: url(../images/android/android_num3.png);
  background-size: 60px 54px;
  background-repeat: no-repeat;
  font-size: 0;
}

#android_box .inner .num4 {
  position: absolute;
  width: 60px;
  height: 54px;
  background-image: url(../images/android/android_num4.png);
  background-size: 60px 54px;
  background-repeat: no-repeat;
  font-size: 0;
}

#android_box .inner .next {
  width: 40px;
  height: 40px;
  background-image: url(../images/android/android_next.png);
  background-size: 40px 40px;
  background-repeat: no-repeat;
  font-size: 0;
  margin-left: 80px;
}

#android_box .inner hr {
	border-top: 1px solid #591627;
	opacity: 0;
}

/* ------------------------------
FOOTER
------------------------------ */

#footer{
	padding: 0 0 20px;
}

#footer a.page_top{
    background: url(../images/common/pagetop_bt.png) no-repeat;
	width: 90px;
	height: 78px;
	margin: 0 auto 60px;
	display: block;
	text-indent:-10000px;
	overflow:hidden;
}

#footer a.back_top{
    background: url(../images/common/back_bt.png) no-repeat;
	width: 78px;
	height: 90px;
	margin: 0 auto 80px;
	display: block;
	text-indent:-10000px;
	overflow:hidden;
}

#footer a.twitter{
    background: url(../images/common/twitter_bt.png) no-repeat;
	width: 90px;
	height: 90px;
	margin: 0 auto 80px;
	display: block;
	text-indent:-10000px;
	overflow:hidden;
}

p.footer_logo a{
    background: url(../images/common/footer_logo.png) no-repeat;
	width:154px;
	height:80px;
	position: relative;
	margin: 0 auto 20px;
	display: block;
	text-indent:-10000px;
	overflow:hidden;
}

#footer_text{
	width:420px;
	float: left;
}

p.copy{
	color: #785957;
	font-size:80%;
	position: relative;
	letter-spacing: 0.1em;
	text-align: center;
}


#footer .inner {
  width: 650px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

#footer .inner .logo {
  display: flex;
  align-items: center;
  width: 22%;
}

#footer .inner .logo li {
  margin-right: 10%;
}

#footer .inner .copy {
  margin-top: 10px;
  width: 78%;
  color: #785957;
}

#footer .inner .copy li {
  margin-bottom: 0.8em;
  font-size: 0.8rem;
}

#footer .brand_logo {
  display: block;
  width: 140px;
  height: 82px;
  margin: 0 auto;
  background-image: url(../img/common/logo_brand.png);
  background-size: contain;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  font-size: 0;
}

#footer .brand_logo:hover {
  opacity: 0.5;
}


/* ------------------------------
RESERVED
------------------------------ */

#reserved div.inside{
}

#reserved h1{
	position: relative;
    background: url(../images/reserved/reserved_title.png) no-repeat;
	width: 808px;
	height: 373px;
	margin: 0 auto;
	top: 520px;
}

#reserved div.top_item{
	position: relative;
	background: url(../images/reserved/reserved_bg.png) no-repeat center;
	min-height: 1001px;
	margin: 0 auto 0px;
}

#reserved div.reserved_list{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position: relative;
	align-items: center;
	margin: 0 auto 80px;
	justify-content:space-between;
}

#reserved div.reserved_list div{
	width:50%;
	height: auto;
}

#reserved a.shop_link{
	text-indent:-10000px;
	overflow:hidden;
    background: url(../images/reserved/reseved_bt.png) no-repeat;
	width: 330px;
	height: 32px;
	position: relative;
	margin: 0 0 30px;
	display: block;
}

#reserved p.notice{
	font-size: 80%;
	color: #f93e6d;
}


/* ------------------------------
SP_INSIDE
------------------------------ */

#sp_inside div#contents{
	padding: 150px 0 0;
}

#sp_inside div.inside{
	text-align: center;
}

#sp_inside p.notice{
	font-size: 80%;
	color: #f93e6d;
}

#sp_inside p.text{
	font-family: Meiryo;
	font-size: 110%;
	font-weight: bold;
	color: #561814;
	opacity: 0;
}

#sp_inside h3{
    background: url(../images/top/special_title.png) no-repeat;
	width: 240px;
	height: 89px;
	opacity: 0;
}


/* ------------------------------
SP_INSIDE_GOGO
------------------------------ */

#sp_inside div.gogo_item h1{
	position: relative;
    background: url("../images/special/gogo/gogo_image.png") no-repeat;
	width: 1004px;
	height: 413px;
	margin: 0 auto 80px;
}

#sp_inside div.gogo_info{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position: relative;
	align-items: center;
	margin: 0 auto 80px;
	justify-content:center;
}

#sp_inside div.gogo_info div.gogo_text{
	width:480px;
	height: auto;
}

#sp_inside div.gogo_info div.gogo_img{
	width:510px;
	height: auto;
}

/* ------------------------------
SP_INSIDE_TWITTER
------------------------------ */

#sp_inside div.twitter_item h1{
	position: relative;
    background: url("../images/special/twitter/twitter_image.png") no-repeat;
	width: 867px;
	height: 493px;
	margin: 0 auto 80px;
}

#sp_inside div.twitter_info{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position: relative;
	align-items: center;
	margin: 0 auto 80px;
	justify-content:center;
}

#sp_inside div.twitter_info div.twitter_text{
	width:720px;
	height: auto;
}

#sp_inside div.twitter_info div.twitter_img{
	width:252px;
	height: auto;
}

#sp_inside h3.tw_icn_topics{
    background: url(../images/special/twitter/twitter_icon_topics.png) no-repeat;
	width: 240px;
	height: 30px;
	margin: 0 auto 30px;
	position: relative;
	opacity: 0;
}

#sp_inside h3.tw_header_topics{
    background: url(../images/special/twitter/twitter_header_topics.png) no-repeat;
	width: 240px;
	height: 30px;
	margin: 0 auto 30px;
	position: relative;
	opacity: 0;
}

#sp_inside ul.tw_icn_list{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position: relative;
	margin: 0 auto 80px;
	justify-content:center;
	opacity: 0;
}

#sp_inside ul.tw_icn_list img{
	width: 240px;
	height: 240px;
	border-radius: 120px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, .2);
}

#sp_inside ul.tw_icn_list li{
	margin: 0 20px 20px;
}

#sp_inside ul.tw_icn_list a{
	opacity: 0;
}

#sp_inside ul.tw_header_list{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position: relative;
	margin: 0 auto 80px;
	justify-content:center;
	opacity: 0;
}

#sp_inside ul.tw_header_list img{
	width: 510px;
	height: 170px;
	box-shadow: 0 0 2px 1px rgba(0, 0, 0, .2);
}

#sp_inside ul.tw_header_list li{
	margin: 0 10px 20px;
}

#sp_inside ul.tw_header_list a{
	opacity: 0;
}

/* ------------------------------
SP_INSIDE_SHOP
------------------------------ */

#sp_inside h3.shop_topics{
    background: url(../images/special/shop/shop_title.png) no-repeat;
	width: 700px;
	height: 120px;
	margin: -30px auto 30px;
	position: relative;
	opacity: 0;
}

#sp_inside ul.shop_list{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position: relative;
	margin: 0 auto 80px;
	justify-content:center;
	opacity: 0;
}

#sp_inside ul.shop_list img{
	width: 336px;
	height: 400px;
	border-radius: 5px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, .2);
}

#sp_inside ul.shop_list li{
	margin: 0 10px 20px;
}

#sp_inside ul.shop_list a{
	opacity: 0;
}

/* ------------------------------
SP_INSIDE_RESERVE
------------------------------ */

#sp_inside .reserve_box img{
	opacity: 0;
}

#sp_inside .reserve_box .attention{
	width: 530px;
	height: 100px;
	margin: 20px auto 40px;
	text-align: left;
	position: relative;
	opacity: 0;
}


/* ------------------------------
SP_INSIDE_TRIAL
------------------------------ */

#sp_inside .trial_box{
	margin-bottom: 60px;
}

#sp_inside .trial_box img{
	opacity: 0;
}

#sp_inside .trial_box dd{
	font-size: 20px;
	color: #993d54;
	font-weight: bold;
	font-family: meiryo;
	line-height: 30px;
	margin: 20px auto 0;
	opacity: 0;
}

#sp_inside .trial_box .attention{
	width: 800px;
	height: 100px;
	margin: 20px auto 60px;
	text-align: left;
	position: relative;
	opacity: 0;
}

#sp_inside .trial_box .button img{
	opacity: 0;
	margin: 0 10px;
}

#sp_inside .trial_box .button a{
	-webkit-transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -o-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

#sp_inside .trial_box .button a:hover{
	opacity: 0.5;
}


/* ------------------------------
SP_INSIDE_tw_campaign
------------------------------ */

#sp_inside .tw_campaign_box{
	margin-bottom: 60px;
	font-family: Meiryo;
}

#sp_inside .tw_campaign_box .item{
	opacity: 0;
}

#sp_inside .tw_campaign_box .item_00 {
  margin: 0;
  text-align: center;
}

#sp_inside .tw_campaign_box .item_01 {
  margin: 0 0 30px;
  text-align: center;
}

#sp_inside .tw_campaign_box .item_02 {
  width: 650px;
  margin: 0 auto 40px;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  line-height: 26px;
}

#sp_inside .tw_campaign_box .item_02 h4{
  font-size: 20px;
  font-weight: bold;
  line-height: 30px;
}

#sp_inside .tw_campaign_box .item_02 b{
  font-size: 20px;
  font-weight: bold;
  color: #ff7396;
}

#sp_inside .tw_campaign_box .item_03 {
  width: 620px;
  margin: 0 auto;
  text-align: center;
}

#sp_inside .tw_campaign_box .item_03 h4 {
  font-size: 20px;
  font-weight: bold;
  line-height: 30px;
}

#sp_inside .tw_campaign_box .item_04 {
  width: 560px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 20px;
  text-align: left;
}

#sp_inside .tw_campaign_box .item_04 b {
  font-size: 16px;
  font-weight: bold;
  line-height: 26px;
}

#sp_inside .tw_campaign_box .item_04 .attention {
  font-size: 15px;
  line-height: 25px;
  color: #f93e6d;
}

#sp_inside .tw_campaign_box .item_04 a.tw-button{
  width: 280px;
  height: 47px;
  background-color: #2196f3;
  text-align: center;
  font-size: 24px;
  line-height: 50px;
  color: #ffffff;
  border-radius: 8px;
  margin: 10px auto 0 auto;
  text-decoration: none;
}

#sp_inside .tw_campaign_box .item_04 a.tw-button{
  display: block;
  -webkit-transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -o-transition: 0.2s ease all;
  transition: 0.2s ease all;
}

#sp_inside .tw_campaign_box .item_04 a.tw-button:hover{
  opacity: 0.5;
  -webkit-transform: translateY(2px);
  -moz-transform: translateY(2px);
  -ms-transform: translateY(2px);
  -o-transform: translateY(2px);
  transform: translateY(2px);
}



/* ------------------------------
SP_TRIAL_PLAY
------------------------------ */

#sp_inside div.trial_play_img{
	position: relative;
    background:#212020;
	width: 100%;
	height: 834px;
	margin: -200px auto 0;
}

#sp_inside div.trial_play_img h1{
    background: url("../images/special/trial_play/trial_image.png") no-repeat;
	width: 1131px;
	height: 677px;
	margin: 0 auto;
	position: relative;
	top: 112px;
}

#sp_inside div.trial_play_item h2{
	position: relative;
    background: url("../images/special/trial_play/trial_title.png") no-repeat;
	width: 840px;
	height: 186px;
	margin: -53px auto 60px;
}

#sp_inside p.trial_play_text{
	text-align: center;
	font-size: 118%;
	margin: 0 auto 70px;
}

#sp_inside ul#trial_movie_list{
	position: relative;
	margin: 0 auto 120px;
	display: flex;
	flex-wrap:wrap;
}

#sp_inside ul#trial_movie_list li{
	display: block;
	margin: 0 10px 30px;
	position: relative;
	width: 480px;
	height: auto;
}

#sp_inside ul#trial_movie_list li p.movie_title{
  padding: 0.1em 0.5em;
  font-size: 14px;
  color: #fff;
  background: #f84872;
  border-radius: 12px;
	text-align: center;
	margin: 0 0 10px;
}

/* ------------------------------
SP_EARLY
------------------------------ */

#sp_inside div.early_img{
}

#sp_inside div.early_img h1{
	position: relative;
    background: url("../images/special/early/early_title.png") no-repeat;
	width: 808px;
	height: 318px;
	margin: 0 auto;
	top: 640px;
}

#sp_inside div.early_img{
	position: relative;
	background: url("../images/special/early/early_img.png") no-repeat center;
	min-height: 940px;
	margin: -200px auto 100px;
}

#sp_inside div.sp_early_list{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position: relative;
	align-items: center;
	margin: 0 auto 80px;
	justify-content:space-between;
}

#sp_inside div.sp_early_list div{
	width:50%;
	height: auto;
}

#sp_inside div.sp_early_list a.early_link{
	text-indent:-10000px;
	overflow:hidden;
    background: url("../images/special/early/early_link.png") no-repeat;
	width: 330px;
	height: 32px;
	position: relative;
	margin: 0 0 30px;
	display: block;
}

/* ------------------------------
SP_PICK
------------------------------ */

#sp_inside div.pick_img{
}

#sp_inside div.pick_img h1{
	position: relative;
    background: url("../images/special/pick/pick_title.png") no-repeat;
	width: 1004px;
	height: 318px;
	margin: 0 auto;
	top: 640px;
}

#sp_inside div.pick_img{
	position: relative;
	background: url("../images/special/pick/pick_img.png") no-repeat center;
	min-height: 940px;
	margin: -200px auto 100px;
}

#sp_inside div.sp_pick_list{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	position: relative;
	margin: 0 auto 80px;
	justify-content:space-between;
}

#sp_inside div.sp_pick_list div{
	width:50%;
	height: auto;
}

#sp_inside div.sp_pick_list a.shop_link{
	text-indent:-10000px;
	overflow:hidden;
    background: url("../images/special/pick/pick_link.png") no-repeat;
	width: 330px;
	height: 32px;
	position: relative;
	margin: 0 0 30px;
	display: block;
}