@charset "UTF-8";

html, body, button, input, select, textarea {
    font-family: 'Special Elite', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif !important;
}
.sp{
	display:block !important;
}
.pc{
	display:none !important;
}

/* --------------------------
           loading
-------------------------- */
#loader-bg {
	width: 100%;
	height: 100%;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #000;
  z-index: 55555555555555;
}
#load {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #fff;
  z-index: 55555555555556;
}
.sk-folding-cube {
  margin: 20px auto;
  width: 40px;
  height: 40px;
  position: relative;
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1); 
}
.sk-folding-cube .sk-cube:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
          animation: sk-foldCubeAngle 2.4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
      -ms-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
}
.sk-folding-cube .sk-cube2 {
  -webkit-transform: scale(1.1) rotateZ(90deg);
          transform: scale(1.1) rotateZ(90deg);
}
.sk-folding-cube .sk-cube3 {
  -webkit-transform: scale(1.1) rotateZ(180deg);
          transform: scale(1.1) rotateZ(180deg);
}
.sk-folding-cube .sk-cube4 {
  -webkit-transform: scale(1.1) rotateZ(270deg);
          transform: scale(1.1) rotateZ(270deg);
}
.sk-folding-cube .sk-cube2:before {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.sk-folding-cube .sk-cube3:before {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s; 
}
.sk-folding-cube .sk-cube4:before {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
@-webkit-keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0; 
  } 25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1; 
  } 90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0; 
  } 
}

@keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
            transform: perspective(140px) rotateX(-180deg);
    opacity: 0; 
  } 25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0deg);
            transform: perspective(140px) rotateX(0deg);
    opacity: 1; 
  } 90%, 100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
            transform: perspective(140px) rotateY(180deg);
    opacity: 0; 
  }
}

/* ==========================================================================
nav
========================================================================== */

.grnv {
	/* padding-top:8%; */
	position: relative;
	top: 0;
	background: #000;
}

.grnv ul li, .grnv ul li:nth-child(even) {
	width: 48%;
	margin: 0 0 2% 2%;
}
.grnv ul li, .grnv ul li:nth-child(odd) {
	width: 48%;
	margin: 0 0 2% 0;
	float: left;
}

.grnv ul li, .grnv ul li.director {
	width: 100%;
	margin: 0 0 2% 0;
	float: left;
}

.grnv ul {
    width: 90%;
    margin: 0 auto;
    padding: 30px 0;
}

nav{margin-top:0;}

.grnv img{
	max-width:280px;
	padding:0;
}

.hero .col-md-6.navicon {
    top: 9px;
    left: -5px;
}
/* --------------------------
           top banner
-------------------------- */
ul.top-bnr{
	text-align:center;
	padding:0;
}
ul.top-bnr li{
	width: 38%;	
	display: inline-block;
	margin-right: 2%;
	margin-bottom: 4%;
}
ul.top-bnr li:first-child{
	width: 40%;	
	display: block;
	margin: 3% auto;
}
ul.top-bnr li:last-child{
	margin-right: 0;
}
.comm_bnr{
	width: 40%;
	margin: 0 2% 0 7%;
	display: inline-block;
}
.comm_bnr img{
	width:100%;
	height:auto;
}
.online_bnr{
	width: 40%;
	margin: 0 7% 0 2%;
	display: inline-block;
}
.online_bnr img{
	width:100%;
	height:auto;
}

/* ========================================================================== 
	SNS icon
========================================================================== */
.tw-fb{
	position: absolute;
	top: 60px;
	left: 15px;
	z-index: 999999999;
	width: 1em;
}
.tw-fb li{
	display: block;
	text-align: left;
}
.tw-fb li a{
	text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}

.col-md-6.navicon {
	float: left;
	text-align: left;
	position: fixed;
	top: 15px;
	left: 0;
	z-index: 999999999;
}
.nav-toggle {
	right: initial;
	left: 15px;
}
.navicon p {
        margin: 27px 0 0px 0;
        font-size: 12px;
		color:#fff;
}
.overlay {
    position: fixed;
	z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/fancybox_overlay.png) left top repeat;
}
	nav{ margin-top:0; }
	
	.overlay ul{ margin-left:0px; }
	.overlay ul li {
		width: 48%;
		margin: 0 4% 4% 0;
	}
	.overlay ul li:nth-child(5), .overlay ul li:nth-child(10), .overlay ul li:nth-child(15) {
		margin: 0 4% 4% 0;
	}	
	.overlay ul li:nth-child(even) { margin: 0 0 5% 0; }
	.overlay ul li a{padding:10px 0;min-width:100%;font-size:11px; display: block;}
	.overlay ul.icon li {
		width: 52%;
		margin: 0 !important;
	}
	.overlay ul.icon li:nth-child(even) {
		width: 48%;
		margin: 0;
	}
	.overlay ul li a i { width: 20%; }
	.overlay ul.icon li a{ padding:0;min-width:100%;font-size:12px; display: block; }
.use-btn {
	font-family: 'Special Elite', sans-serif;
}
.learn-btn, .download-btn {
	font-family: 'Special Elite', sans-serif;
}
.overlay ul li a {
	font-family: 'Special Elite', sans-serif;
}
.overlay ul.icon li a {
	font-family: 'Special Elite', sans-serif;
}
/* --------------------------
           review
-------------------------- */
#review {
    padding: 30px 0;
    background: url(../img/comm_bg_sp.jpg) no-repeat center center;
    background-size: 100% auto;
}
#review h2{
	margin: 0 auto;
	width: 90%;
}
#review h2 img{
	width:100%;
	height:auto;
}
#review ul{
	list-style: none;
	padding: 0;
	width: 90%;
	margin: 30px auto;
	text-align: center;
}
#review ul li{
	display: block;
	margin: 50px 0;
	width: 100%;
}
#review ul li img{
	width: auto;
	height:60px;
}
#review ul li:last-child img{
	width: auto;
	height:35px;
}

/* --------------------------
       intorduction
-------------------------- */

#intro .dot {
    border: 2px solid rgba(255,255,255,0.4);
}
#intro .dot.is-selected {
	background: rgba(255,255,255,0.4);
	border:2px solid rgba(255,255,255,0);
}
#intro li:before {
	color: rgba(255,255,255,0.4);
}
#intro li.is-selected:before {
	color: #000;
}
#intro {
    padding:50px 0 0 0;
	position:relative;
}
#intro img{
	width:100%;
	height:auto;
}
#intro h2{
    width: 80%;
    margin: auto;
	z-index:2;
}

#intro .bg-window{
	pointer-events: none;
	margin:30px 0;
}

#intro .story-illust{
	position: relative;
	pointer-events: none;
	z-index:3;
	margin: 0 auto;
	width: 50%;
}
#intro .features-slider {
    position: relative;
    padding: 0 10%;
}
#intro .showcase-wrap {
    position: relative;
    padding: 0;
    min-height: auto;
	z-index:4;
}
#intro p {
	color: #fff;
	font-weight:400;
}

#intro .imtro_img{
	display:none;
}

/* --------------------------
           gallery
-------------------------- */
#gallery{
	position:relative;
	padding: 50px 0 0 0;
}
#gallery h2{
	margin: 0 auto 30px;
	width: 40%;
	max-width: 300px;
}
#gallery h2 img{
	width:100%;
	height:auto;
}

.gallery-slide {
	width: 100%;
	margin: 0 auto;
	height: 300px;
	position:relative;
}
.gallery-slide:after {
  content: "";
  display: block;
  clear: both;
}
.slideCell {
	background: #000;
	height: auto;
	line-height: 0;
	margin-bottom: 2px;
}
.slideCell:hover {
  background-color: #505050;
  border-color: #7c7c7c;
}
#slider-0,
#slider-1,
#slider-2,
#slider-3,
#slider-0-sp,
#slider-1-sp,
#slider-2-sp {
	float:left; 
	margin:0; 
	width:33.3333%; 
	height:100%; 
	overflow:hidden; 
	position:relative;
}
#slider-3 {
	float:right;
}
.slideFrame img {
	width:100%; 
	height:auto;
}
/* --------------------------
       production note
-------------------------- */
#note {
    padding:0;
	position:relative;
}
#note img{
	width:100%;
	height:auto;
}
#note h2{
    width: 80%;
    margin: 50px auto;
    z-index:2;
}
#note .note-img{
}
#note dl {
	width: 80%;
	color:#eae6b9;
	margin: 10% auto 0;
	max-width: 500px;
	padding-bottom: 20%;
}
#note dd {
	margin: 0 0 45px 0;
}
#note dd a {
	color:#eae6b9;
	transition-duration:0.5s;
}
#note dd a:hover {
	color:#faf8dc;
}
#note dd:after {
	content: '>';
	display:inline-block;
	font-weight: bold;
	color: #fff;
	margin-left: 5px;
	font-size: 110%;
}

.white-bottom{
	position: absolute;
	bottom: -1px;
	width: 100%;
	pointer-events: none;
}
.white-bottom img{
	width:100%;
	height:auto;
}
/* ----------------------------------------------------------------
	note_dit
-----------------------------------------------------------------*/

.note_dit{
	padding:5%;
	padding-top: 60%;
}
#content01{
	background:url(../img/note_content01_bg.jpg) no-repeat top center;
	background-size:100% auto;
	color: #fff;
}

#content02{
	background:url(../img/note_content02_bg.jpg) no-repeat top center;
	background-size:100% auto;
	color: #fff;
}

#content03{
	background:url(../img/note_content03_bg.jpg) no-repeat top center;
	background-size:100% auto;
	color: #fff;
}

#content04{
	background:url(../img/note_content04_bg.jpg) no-repeat top center;
	background-size:100% auto;
	color: #fff;
}

#content05{
	background:url(../img/note_content05_bg.jpg) no-repeat top center;
	background-size:100% auto;
	color: #fff;
}

#content06{
	background:url(../img/note_content06_bg.jpg) no-repeat top center;
	background-size:100% auto;
	color: #fff;
}
.modal-contents{
	display:block;
	max-width: 650px;
	margin:0;
	padding: 3%;
	color: #000;
}

#note .note_dit h3 {
	color:#eae6b9;
	line-height:1.5;
	margin:0 0 1em;
}

.note_dit p{
	width:100%;
	margin:0;
	padding:0;
	font-size:14px;
	line-height: 2em;
	color:#fff;
}

.close_a{
	position:fixed;
	top: 15px;
	right: 15px;
	width: 10%;
}


.close_button{
	width:50px;
	height:50px;
	margin:0;
	padding:0;
	display:block;
	cursor:pointer;
}

.modal-contents .close_button{
	width:150px !important;
	height:auto;
	margin:10% auto;
	padding:0;
	display:block;
}

/* --------------------------
           cast
-------------------------- */
#cast {
    padding: 50px 0 20% 0;
    margin:0 auto;
    background:#fff;
    font-family: 'Special Elite', cursive, sans-serif;
    color:#1d287e;
}

#cast h2{
	margin: 0 33% 0 auto;
	width: 40%;
	max-width: 300px;
}
#cast h2 img{
	width:100%;
}
#cast ul{
	max-width:1170px;
	margin:0 auto;
	text-align:center;
}
#cast ul li{
	display: block;
	width: 80%;
	margin: 0 auto 10%;
	text-align: center;
	position:relative;
}
#cast ul li img{
	width:100%;
	height:auto;
}
#cast ul li p{
	position:absolute;
	bottom: -10%;
	margin: 0;
	z-index:3;
	text-align: center;
	width: 100%;
	font-size:14px;
}
#cast ul li .name-ja{
	font-weight:600;
	font-size:16px;
}
#cast ul li p span.small{
	font-size:75%;
}
#cast ul li:last-child{
	width: 100%;
	margin: 0 auto;
	padding-top: 10%;
}
#cast ul li:last-child p{
	bottom: -15%;
}


/* --------------------------
           staff
-------------------------- */
#staff {
    padding:50px 0 100px 0;
	margin:0 auto;
	background:#fff;
	font-family: 'Special Elite', cursive, sans-serif;
	color:#652357;
}
#staff h2{
	margin: 0 33% 0 auto;
	width: 45%;
	max-width: 300px;
}
#staff h2 img{
	width:100%;
}
#staff ul{
	max-width:1170px;
	margin:0 auto;
	text-align:center;
}
#staff ul li{
	display: block;
	width: 80%;
	margin: 0 auto 15%;
	text-align: center;
	position:relative;
}
#staff ul li img{
	width:100%;
	height:auto;
}
#staff ul li p{
	position:absolute;
	bottom: -15%;
	margin: 0;
	z-index:3;
	text-align: center;
	width: 100%;
	font-size:14px;
}
#staff ul li .name-ja{
	font-weight:600;
	font-size:16px;
}
#staff ul li p span.small{
	font-size:75%;
}
#staff ul li:last-child p{
	bottom: -30%;
}

/*#staff h2{
	margin: 50px auto;
	width: 30%;
	max-width: 360px;
}
#staff ul{
	max-width:1170px;
	margin:0 auto;
	text-align:center;
}
#staff ul li{
	display:inline-block;
	width: 35%;
	margin: 0 7% 3% 7%;
	vertical-align:top;
	text-align:left;
	position:relative;
}
#staff ul li img{
	width:100%;
	height:auto;
}
#staff ul li p{
	position:absolute;
	bottom:-5em;
	margin: 0;
	padding-left: 3em;
	z-index:3;
}
#staff ul li .name-ja{
	font-weight:600;
}
#staff ul li p span.small{
	font-size:75%;
}*/

/* --------------------------
           epilogue
-------------------------- */
#epilogue {
    padding: 0;
	width:100%;
	background-size:cover;
	min-height:50%;
	background:#000;
}
#epilogue img {
	width:100%;
}
.banner{
	text-align: center;
	background: #000;
	margin:0;
}

.banner li{
	display: inline-block;
	height: 50px;
	margin: 5px auto;
	padding: 0;
}

.banner li img{
	display:block;
	height:100%;
}

/* --------------------------
           epilogue
-------------------------- */
#villing {
	width:90%;
	margin:0 auto;
}

/* --------------------------
          popup
-------------------------- */

.cast_staff{
	padding: 5% 10%;
	text-align: center;
	background:#fff;
	box-sizing:border-box;
}
.cast_staff img{
	width:100%;
	height:auto;
}

.cast_img{
	width: 50%;
	margin: 0 auto;
	padding-bottom: 3%;
}
.cast_img_l{
	width: 100%;
	margin: 0 auto;
	padding-bottom: 5%;
}

.cast_staff section{
	margin: 0 auto;
}

.cast_staff h2{
	font-size: 18px;
	margin: 0;
	padding: 0;
}

.cast_staff h2{
	font-size: 18px;
	margin: 0;
	padding: 0;font-weight: 700;
}

.cast_staff p{
	font-size: 14px;
	margin: 0;
	padding: 3% 0 0 0;
	color: #000;
}

.cast_staff p.conts{
	font-size: 12px;
	padding: 0.5em 0 0 0;
	color: #888;
}

.cast_staff .button_cg{
    width: 100px;
    padding: 0;
	margin: 0 auto;
	margin-top: 20%;
}

.cast_staff .button_cg a{
	display: block;
}

.cast_staff .button_cg img{
    padding: 0;
	margin: 0 auto;
}

.cast_staff .staff_img{
	border-radius: 50%;
}
