@charset "UTF-8";
/* CSS Document */
	
body{
	margin:0px;
	background-color:#fefeeb;
	font-family:'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	color:#ddd;
	height:100%;
}

html{
	height:100%;
}

img { border-style:none;
	vertical-align: bottom;}

a img { border-style:none;}

a:hover img { border-style:none; }

*{
margin: 0;
padding: 0;
}

ol, ul {
	list-style: none;
}

.cf:before,
.cf:after {
  content: "";
  display: table;}
.cf:after {
  clear: both;}
.cf {
  *zoom: 1;}


/* 非表示 */
.is-hide {
    display: none;
}
/* ローディング画面をフェードアウト */
.fadeout-bg {
    transition-property: opacity;
    transition-delay: .9s;
    transition-duration: .8s;
    opacity: 0;
    pointer-events: none;
}
/* ローダーをフェードアウト */
.fadeout-loader {
    transition-property: opacity;
    transition-delay: .9s;
    transition-duration: .3s;
    opacity: 0;
    pointer-events: none;
}
/* ローディング画面 */
#loader-bg {
    background: #000;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 105;
}
#loader {
    height: 200px;
    left: 50%;
    margin-left: -200px;
    margin-top: -100px;
    position: fixed;
    top: 50%;
    width: 400px;
}



.btn-trigger_fix{
	width:70px;
	height:70px;
	position: fixed;
	top:auto;
	top:2%;
	right: 2%;
	z-index: 102;
	background-color:#4d2181;
	border:2px solid #fff;
}


.btn-trigger {
  position: relative;
  width: 36px;
  height: 31px;
  cursor: pointer;
  margin-left: 17px;
  margin-top:20px;
}
.btn-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #9365a1;
  border-radius: 2px;
}
.btn-trigger, .btn-trigger span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
.btn-trigger span:nth-of-type(1) {
  top: 0;
}
.btn-trigger span:nth-of-type(2) {
  top: 14.5px;
}
.btn-trigger span:nth-of-type(3) {
  bottom: 0;
}

#btn08.active span:nth-of-type(1) {
  -webkit-transform: translateY(15px) rotate(-315deg);
  transform: translateY(15px) rotate(-315deg);
}
#btn08.active span:nth-of-type(2) {
  opacity: 0;
}
#btn08.active span:nth-of-type(3) {
  -webkit-transform: translateY(-15px) rotate(315deg);
  transform: translateY(-15px) rotate(315deg);
}


nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left :0%;
  color: #fff;
  background-color:#9365a1;
  padding:10% 30%;
  width: 100%;
  height: 100%;
  margin-left:100%;
  opacity: 1;
  -webkit-transition-property: all;
     -moz-transition-property: all;
      -ms-transition-property: all;
       -o-transition-property: all;
          transition-property: all;
  -webkit-transition: .6s ease;
     -moz-transition: .6s ease;
      -ms-transition: .6s ease;
       -o-transition: .6s ease;
          transition: .6s ease;
	box-sizing: border-box;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 20%;
  float: left;
  transition: .4s all;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}

nav.globalMenuSp.active {
  opacity: 100;
  margin-left:0;
}
	
.menu{
	width:100%;
    position: relative;
	margin-bottom: 10px;
	overflow: hidden;
	box-sizing: border-box;
}

.menu a{
  display: block;
  position: relative;
  outline: none;
}
  
.menu .hoverimg{
  position: absolute;
  top: -100%;
  left: 0;
  -webkit-transition: .4s;
     -moz-transition: .4s;
      -ms-transition: .4s;
       -o-transition: .4s;
          transition: .4s;
  z-index: 301;
}

.menu a:hover .hoverimg{
  top: 0%;
}

#spmain{
	display:none;
}

#sptrailerarea{
	display:none;
}

#contents_wrapper{
	width:100%;
	height: 100%;
	margin:0 auto;
	font-size: 15px;
	text-align: justify;
	word-break: break-all;
	line-height: 180%;
	font-feature-settings: "palt";
}

#contents_wrapper img{
	width:100%;
	height: auto;
	margin-left:auto;margin-right:auto;display:table;
}

#top_wrapper{
    width:100%;
	height: auto;
	position: relative;
}

#top_main{
	width:100%;
}

#top_catch{
	width:8%;
	position: absolute;
	left:2.8%;
	top:3.5%;
	opacity: 0;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s;
    transition: all 0.5s;
    transform: translateY(-50px);/* X軸方向に100px */
	transition-timing-function: cubic-bezier(.68,-0.55,.27,1.55);
}
  
.showNavi #top_catch{
  opacity:1;
  -webkit-transition-delay:1.2s;
  transition-delay:1.2s;
    transform: translateY(0);
}


#top_day{
	width:13%;
	position: absolute;
	right: 7%;
	top:45%;
	opacity: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
	transition-timing-function: cubic-bezier(.68,-0.55,.27,1.55);
}
  
.showNavi #top_day{
  opacity:1;
  -webkit-transition-delay:1.5s;
  transition-delay:1.5s;
  -webkit-transform: translate( 0, 0);
  transform: translate( 0, 0);
}

#top_logo_wrapper{
    width:60%;
	margin:0 auto;
	opacity: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
	transition-timing-function: cubic-bezier(.68,-0.55,.27,1.55);
	padding-bottom:50px;
}

.showNavi #top_logo_wrapper{
  opacity:1;
  -webkit-transition-delay:0.5s;
  transition-delay:0.5s;
  -webkit-transform: translate( 0, 0);
  transform: translate( 0, 0);
}

#top_logo{
	width:100%;
	margin-bottom: 20px;
}

#snsbtn_wrapper{
	width:400px;
	margin:0 auto;
	overflow: hidden;
	margin-bottom: 30px;
}
  
#snsbtn_wrapper1{
	width:120px;
	float: left;
	overflow: hidden;
	margin-right: 20px;
}

.snsbtn{
	width:28%;
    float: left;
    margin:2.666666%;
}

#snsbtn_wrapper2{
	width:260px;
	float: left;
	overflow: hidden; /* heightを戻す */
	padding-top:3%;
}

.tweet{
	width:75px;
	float:left;
	margin-right:5px;
	line-height: 100%;
}

.like{
	width:87px;
	float:left;
	margin-right:5px;
	line-height: 100%;
	overflow: hidden;
}

.line{
	width:83px;
	float:left;
	margin-right:5px;
	line-height: 100%;
}





.pcview{
	width:100%;
}

.spview{
	display: none;
}


.scrollShowEffect {
	-webkit-transition-delay: 0.5s;
	   -moz-transition-delay: 0.5s;
	    -ms-transition-delay: 0.5s;
	     -o-transition-delay: 0.5s;
	        transition-delay: 0.5s;
	-webkit-transition: all 0.5s ease-in-out;
	   -moz-transition: all 0.5s ease-in-out;
	    -ms-transition: all 0.5s ease-in-out;
	     -o-transition: all 0.5s ease-in-out;
	        transition: all 0.5s ease-in-out;
	opacity:0;
}

.scrollShowEffect-R {
	-webkit-transform: translate3d(60%, 0%, 0);
	   -moz-transform: translate3d(60%, 0%, 0);
	    -ms-transform: translate3d(60%, 0%, 0);
	     -o-transform: translate3d(60%, 0%, 0);
	        transform: translate3d(60%, 0%, 0);
}
.scrollShowEffect-L {
	-webkit-transform: translate3d(-60%, 0%, 0);
	   -moz-transform: translate3d(-60%, 0%, 0);
	    -ms-transform: translate3d(-60%, 0%, 0);
	     -o-transform: translate3d(-60%, 0%, 0);
	        transform: translate3d(-60%, 0%, 0);
}
.scrollShowEffect-B {
	-webkit-transform: translate3d(0, 50%, 0);
	   -moz-transform: translate3d(0, 50%, 0);
	    -ms-transform: translate3d(0, 50%, 0);
	     -o-transform: translate3d(0, 50%, 0);
	        transform: translate3d(0, 50%, 0);
}

.scrollShowEffect-T {
	-webkit-transform: translate3d(0, -15%, 0);
	   -moz-transform: translate3d(0, -15%, 0);
	    -ms-transform: translate3d(0, -15%, 0);
	     -o-transform: translate3d(0, -15%, 0);
	        transform: translate3d(0, -15%, 0);
}

.scrollShowEffect-Z {
	-webkit-transform: scale( 0.2,  0.2);
	transform: scale( 0.2,  0.2);
}

.scrollShowEffect-X {
	transform:rotateY(180deg);  /* 軸を基準点に回転する */
}

.scrollShowEffect.showItem {
	opacity:1;
	-webkit-transform: translate3d(0, 0, 0);
	   -moz-transform: translate3d(0, 0, 0);
	    -ms-transform: translate3d(0, 0, 0);
	     -o-transform: translate3d(0, 0, 0);
	        transform: translate3d(0, 0, 0);
}


.mb0{
	width:100%;
	overflow: hidden; /* heightを戻す */
}

.mb5{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 5px;
	line-height: 140%;
}

.mb10{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 10px;
}

.mb20{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 20px;
}

.mb30{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 30px;
}

.mb50{
	width:100%;
	overflow: hidden; /* heightを戻す */
	margin-bottom: 50px;
}


.dispnone{
	display: none;}

.trailerhtml,#youtube-modal{
	background: #000;
	width: 100%;}
#youtube-modal iframe{
	border:none;}
#youtube-modal .youtube-showing{
	display: block;}
	
.youtube-modal-btn li{
	text-align: center;
	color: #FFF;
	float: left;
	width: 33.3333%;
	box-sizing: border-box;
	font-weight: bold;
	font-size: 13px;
    border:1px solid #000;
}

.youtube-modal-btn img{
	max-width:100%;
	margin-left:auto;margin-right:auto;display:table;
}

.youtube-modal-btn li +li{
	float: right;}
	
.youtube-modal-btn a{
	display: block;
	color: #FFF;
	background-color: #666;
	text-decoration: none;
	padding:0.8% 0;
}

.youtube-modal-btn a:hover{
	background: #666;
	color: #fff;
}

.youtube-modal-btn a.active{
	background: #9c62a6;;
	color: #fff;
}
	
.movie-wrap {
  position: relative;
  padding-bottom: 50.25%;
  padding-top: 20px;
  height: 0;
  overflow: hidden;}
  
.movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pt_intro{
	width:60%;
	margin-bottom: 50px;
}

#intro_wrapper{
	width: 100%;
	box-sizing: border-box;
	overflow: hidden; /* heightを戻す */
}

#intro_inner{
    width:100%;
	box-sizing: border-box;
    padding:5% 20% 3% 10%;
	overflow: hidden;
	background-color: #9c62a6;
}

.intro_ikuzo{
	font-size: 30px;
	font-weight: bold;
}

.introphoto_wrapper{
	width: 100%;
	overflow: hidden;
	background-color: #9c62a6;
	box-sizing: border-box;
	padding:0 10%;
}

.introphoto{
	width: 24%;
	float: left;
	margin-right: 1.333333%;
}

.introphoto:nth-child(4) {
  margin-right:0;
}


#story_inner{
    width:100%;
	box-sizing: border-box;
    padding:2% 10% 5% 20%;
	overflow: hidden;
	background-color: #9c62a6;
}

.pt_story{
	width:45%;
	margin-left: 55%;
	margin-bottom: 50px;
}

#cast_wrapper{
	width: 100%;
	box-sizing: border-box;
	background: url("images/cast/bg.jpg") 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
	padding-bottom:40%;
}

#cast_inner{
    width:100%;
	box-sizing: border-box;
    padding:10% 10% 0% 10%;
	overflow: hidden;
	background-color: #9c62a6;
}

.pt_cast{
	width:30%;
	margin:0 auto;
	margin-bottom: 50px;
}

.wrapperline{
	width:100%;
	overflow: hidden; /* heightを戻す */
	padding:0;
	display:-webkit-box;
display:-moz-box;
display:-ms-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}

.castbox{
	width:30%;
	float: left;
	margin-right: 5%;
	margin-bottom: 5%;
}

.castbox:nth-child(3n) {
  margin-right:0;
}

.castname1{
	width:100%;
	font-size:20px;
	font-weight: bold;
	margin-bottom: 5px;
  	color: #ffe100;   
}

.castname2{
	width:100%;
	font-size:14px;
	font-weight: bold;
	margin-bottom: 10px;
  	color: #fff;   
}

.castphoto{
	width:100%;
	border:1px solid #ffe100;
	box-sizing: border-box;
	margin-bottom: 10px;
}

#staff_wrapper{
	width: 100%;
	box-sizing: border-box;
	background: url("images/staff/bg.jpg") 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
	padding-bottom:40%;
}

#staff_inner{
    width:100%;
	box-sizing: border-box;
    padding:10% 10% 3% 10%;
	overflow: hidden;
	background-color: #9c62a6;
}

.pt_staff{
	width:27%;
	margin-bottom: 50px;
}

.staffphoto{
	width:30%;
	float: left;
	border:1px solid #ffe100;
	box-sizing: border-box;
}

.stafftext{
	width:67%;
	float: right;
}

.astron{
	width:60%;
	overflow: hidden;
}

.astron_midashi{
	width:60%;
	margin-bottom: 20px;
}

.staffbottom{
	width:50%;
	float: left;
}


#footer_wrapper{
	width:100%;
	overflow: hidden; /* heightを戻す */
	background-color:#fefeeb;
	padding:70px 0 70px 0;
}

.footer_logo{
	width:40%;
	margin:0 auto;
}

#topbnr_wrapper{
	width:60%;
	margin:0 auto;
	overflow: hidden;
}

.topbnr{
	width:24%;
	float: left;
	margin-right: 1.333333%;
	box-sizing: border-box;
	border:1px solid #ddd;
}

.topbnr:nth-child(4n) {
  margin-right:0;
}

#comment_wrapper{
	width: 100%;
	box-sizing: border-box;
	background: url("images/comment/bg.jpg") 100% 0 no-repeat fixed;
	background-size:cover;
	overflow: hidden; /* heightを戻す */
}

#comment_inner{
    width:100%;
	box-sizing: border-box;
    padding:10%;
	overflow: hidden;
}

.pt_comment{
	width:80%;
	margin:0 auto;
	margin-bottom: 50px;
}


.commentbox{
	width:46%;
	margin:2%;
	float: left;
	background-color: rgba(156,98,166,0.6);
	box-sizing: border-box;
	padding:3%;
}
.commentname1{
	color:rgba(56,151,255,1.00);
	font-size: 25px;
	font-weight: bold;
	text-align: right;
}
.commentname2{
	color:rgba(58,175,0,1.00);
	font-size: 18px;
	font-weight: bold;
	text-align: right;
}

.push{
	font-size: 20px;
	font-weight: bold;
	color:#ffe100;
}

#top_comment{
	width:10%;
	position: absolute;
	left:15%;
	top:80%;
}


#top_comment img{
	transition:0.5s all;
}

#top_comment img:hover{
	transform:scale(1.3,1.3);
	transition:0.5s all;
}

@media screen and (max-width:768px){

#loader {
    height: 100px;
    left: 50%;
    margin-left: -150px;
    margin-top: -50px;
    position: fixed;
    top: 50%;
    width: 300px;
}

#spmain{
	display: inherit;
	width:100%;
	margin-bottom: 30px;
}

div.sptrailer {
    position: relative;
    width: 49%;
	float: left;
	margin-right: 2%;
    padding-top: 25.25%;
	margin-bottom: 2%;
}
	
div.sptrailer:nth-child(2n) {
  margin-right:0;
}
 
div.sptrailer iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#sptrailerarea{
	width:90%;
	margin:0 auto;
	margin-bottom:30px;
	display: inherit;
	margin-top:30px;
	overflow: hidden;
}

.pcview{
	display: none;
}

.spview{
	display: inherit;
	width:100%;
}

#top_wrapper{
    width:100%;
	height: auto;
	position: inherit;
}

#top_main{
	display: none;
}

#top_catch{
	display: none;
}

#top_day{
	display: none;
}


#top_logo_wrapper{
    width:90%;
	margin:0 auto;
	opacity: 1;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
	-webkit-transform: scale( 1.0,  1.0);
	transform: scale(1.0,  1.0);
	transition-timing-function: cubic-bezier(.68,-0.55,.27,1.55);
	padding-bottom:50px;
}

.showNavi #top_logo_wrapper{
  opacity:1;
  -webkit-transition-delay:0s;
  transition-delay:0s;
  -webkit-transform: translate( 1.0, 1.0);
  transform: translate( 1.0, 1.0);
}


#top_logo{
	display: none;
}

#snsbtn_wrapper{
	width:100%;
	margin:0 auto;
	overflow: hidden;
	margin-bottom: 30px;
}
  
#snsbtn_wrapper1{
	width:70%;
	float: none;
	overflow: hidden;
	margin-right: 0;
	margin:0 auto;
	margin-bottom: 20px;
}

.snsbtn{
	width:22%;
    float: left;
    margin:5.666666%;
}

#snsbtn_wrapper2{
	width:255px;
	float: none;
	overflow: hidden; /* heightを戻す */
	padding-top:0;
	margin:0 auto;
}

.tweet{
	width:75px;
	float:left;
	margin-right:5px;
	line-height: 100%;
}

.like{
	width:87px;
	float:left;
	margin-right:5px;
	line-height: 100%;
	overflow: hidden;
}

.line{
	width:83px;
	float:left;
	margin-right:0;
	line-height: 100%;
}
	
.btn-trigger_fix{
	width:70px;
	height:70px;
	position: fixed;
	top:2%;
	right:auto;
	left:2%;
	z-index: 102;
	background-color:#4d2181;
	border:2px solid #fff;
}
	
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left :0%;
  color: #fff;
  background-color:#9365a1;
  padding:20% 10%;
  width: 100%;
  height: 100%;
  margin-left:100%;
  opacity: 1;
  -webkit-transition-property: all;
     -moz-transition-property: all;
      -ms-transition-property: all;
       -o-transition-property: all;
          transition-property: all;
  -webkit-transition: .6s ease;
     -moz-transition: .6s ease;
      -ms-transition: .6s ease;
       -o-transition: .6s ease;
          transition: .6s ease;
	box-sizing: border-box;
}


.pt_intro{
	width:100%;
	margin-bottom: 50px;
}

#intro_wrapper{
	width: 100%;
	box-sizing: border-box;
	overflow: hidden; /* heightを戻す */
}

#intro_inner{
    width:100%;
	box-sizing: border-box;
    padding:5% 10% 7% 10%;
	overflow: hidden;
	background-color: #9c62a6;
}

.intro_ikuzo{
	font-size: 30px;
	font-weight: bold;
}

.introphoto_wrapper{
	width: 100%;
	overflow: hidden;
	background-color: #9c62a6;
	box-sizing: border-box;
	padding:0 10%;
}

.introphoto{
	width: 49%;
	float: left;
	margin-right: 2%;
	margin-bottom: 2%;
}

.introphoto:nth-child(2n) {
  margin-right:0;
}


#story_inner{
    width:100%;
	box-sizing: border-box;
    padding:7% 10% 5% 10%;
	overflow: hidden;
	background-color: #9c62a6;
}

.pt_story{
	width:45%;
	margin-left: 55%;
	margin-bottom: 50px;
}

#cast_wrapper{
	width: 100%;
	box-sizing: border-box;
	background:none;
	overflow: hidden; /* heightを戻す */
	padding-bottom:0%;
	background-color: #9c62a6;
}

#cast_inner{
    width:100%;
	box-sizing: border-box;
    padding:10% 10% 0% 10%;
	overflow: hidden;
	background-color: #9c62a6;
}

.pt_cast{
	width:45%;
	margin:0 auto;
	margin-bottom: 50px;
}

.castbox{
	width:100%;
	float: none;
	margin-right: 0;
	margin-bottom: 7%;
}

.castbox:nth-child(3n) {
  margin-right:0;
}

.castname1{
	width:100%;
	font-size:20px;
	font-weight: bold;
	margin-bottom: 5px;
  	color: #ffe100;   
}

.castname2{
	width:100%;
	font-size:14px;
	font-weight: bold;
	margin-bottom: 10px;
  	color: #fff;   
}

.castphoto{
	width:100%;
	border:1px solid #ffe100;
	box-sizing: border-box;
	margin-bottom: 10px;
}

#staff_wrapper{
	width: 100%;
	box-sizing: border-box;
	background:none;
	overflow: hidden; /* heightを戻す */
	padding-bottom:0;
	background-color: #9c62a6;
}

#staff_inner{
    width:100%;
	box-sizing: border-box;
    padding:10% 10% 3% 10%;
	overflow: hidden;
	background-color: #9c62a6;
}

.pt_staff{
	width:45%;
	margin-bottom: 50px;
}

.staffphoto{
	width:100%;
	float: none;
	border:1px solid #ffe100;
	box-sizing: border-box;
	margin-bottom: 20px;
}

.stafftext{
	width:100%;
	float: none;
}
	
	
.brtext::before {
	content: "\A" ;
	white-space: pre ;
}

.astron{
	width:100%;
	overflow: hidden;
}

.astron_midashi{
	width:60%;
	margin-bottom: 20px;
}

.staffbottom{
	width:100%;
	float:none;
}


.footer_logo{
	width:80%;
	margin:0 auto;
}
	

#topbnr_wrapper{
	width:80%;
	margin:0 auto;
	overflow: hidden;
}

.topbnr{
	width:49%;
	float: left;
	margin-right: 2%;
	margin-bottom: 2%;
}

.topbnr:nth-child(2n) {
  margin-right:0;
}
	
.commentbox{
	width:100%;
	margin:0;
	float: none;
	margin-bottom: 20px;
	background-color: rgba(156,98,166,0.6);
	box-sizing: border-box;
	padding:3%;
}
	
#top_comment{
	width:20%;
	position: absolute;
	left:auto;
	right: 19%;
	top:10%;
}
	
}