body{
	background: none;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
#wrapper{
	position: relative;
}
@media screen and (max-width:768px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}
a img{
	transition: opacity .5s;
}
a img:hover{
	opacity: .8;
}
/* 画面外にいる状態 */
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 700ms;
}
 
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
	transition : all 700ms;
}
/*-----------------------------------------
** base
-----------------------------------------*/
section{
	margin: 0 auto;
	background: #fff;
	overflow: hidden;
}
.__inner{
	margin: 0 auto;
	padding: 10% 10px 180px;
	text-align: center;
	min-height: 100%;
	position: relative;
}
@media screen and (max-width:640px) {
	.__inner{
	}
}

/*-----------------------------------------
** header
-----------------------------------------*/
section.visual{
	position: relative;
	padding: 30px;
	padding-bottom: 0;
}
section.visual > img {
	width: 100%;
	z-index: -99;
	position: static;
}
section.visual > .cannes-bnr{
	width: 30%;
	position: absolute;
	top: 50px;
	left: 50px;
	z-index: 1;
}
section.visual > .greeting-bnr
/*section.visual > .greeting2-bnr*/{
	width: 12%;
	position: absolute;
	bottom: 4%;
	left: 60px;
	z-index: 1;
}
/*section.visual > .comm-bnr*/
section.visual > .greeting2-bnr{
	width: 12%;
	position: absolute;
	bottom: 4%;
	left: calc(14% + 60px);
	z-index: 1;
}
/*section.visual > .teachin-bnr*/
section.visual > .comm-bnr{
	width: 12%;
	position: absolute;
	bottom: 4%;
	left: calc(28% + 60px);
	z-index: 1;
}
section.visual > .camp-bnr{
	width: 12%;
	position: absolute;
	bottom: 4%;
	left: calc(42% + 60px);
	z-index: 1;
}
header{
	width: 100%;
	height: 100%;
}
header h2 {
	position: absolute;
	top: 0;
	bottom: auto;
	min-height: 450px;
	height: 100%;
	width: 42%;
	margin: 30px 0 0;
}
header h2 img {
	position: absolute;
	top: 0;
	bottom: 17%;
	left: calc(30px + 2%);
	margin: auto;
	/*width: 45%;*/
}
.copy{
	position: absolute;
	right: calc(30px + 2%);
	bottom: 37%;
	width: 1.4%;
}

@media screen and (max-width:768px) {
	section.visual{
		padding: 15px;
	}
}

/*-----------------------------------------
** __mainContents
-----------------------------------------*/
.credit{
	text-align: center;
	padding: 2% 0;
	overflow: inherit;
}
.credit img{
	width: 53%;
}
.balloon{
	position: absolute;
	width: 35% !important;
	right: 30px;
	top: -12%;
	bottom: -7%;
	z-index: 99;
	pointer-events: none;
}
.credit ul{
	margin: 4% auto 0;
	padding: 0;
	position: relative;
	z-index: 999;
	max-width: 1280px;
	width: 90%;
	letter-spacing: -.4em;
}
.credit li{
	background: #5f94bb;
	color: #fff;
	font-family: YakuHanMP, 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, メイリオ, Meiryo, sans-serif;
	display: inline-block;
	font-weight: 400;
	letter-spacing: .15em;
	margin: 0 5px;
	font-size: 20px;
	text-decoration: none;
	width: calc(25% - 10px);
	border: solid 1px #5f94bb;
	transition: all .5s;
	box-sizing: border-box;
}
.credit li:first-child{
	max-width: 450px;
	width: 60%;
	margin-bottom: 20px;
}
.credit li a{
	color: #fff;
	padding: 5px 20px;
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}
.credit li:hover{
	background: #fff;
	color: #5f94bb;
}
.credit li:hover a{
	color: #5f94bb;
}

.wdgpc {
	width: 80%;
	margin: 10% auto 0;
	position: relative;
	z-index: 999;
	max-width: 1245px;
}
.wdgpc iframe {
	margin: 0;
	padding: 0;
	border: none;
	height: 162px;
	background: #000;
}
@media screen and (min-width:769px) {
	.wdgpc {
		width: 30%;
		margin: 2% auto 0;
		position: absolute;
		bottom: 2%;
		right: 60px;
	}
	.wdgpc iframe {
		background: rgba(0,0,0,0.5);
	}
	/*.wdgpc iframe { 
		height: 71px;
	}*/
	/*.wdgpc.pc{
		display: block;
	}
	.wdgpc.sp{
		display: none;
	}*/
}
/*@media screen and (max-width:768px) {
	.wdgpc.pc{
		display: none;
	}
	.wdgpc.sp{
		display: block;
	}
}*/

/*-----------------------------------------
** __banner
-----------------------------------------*/
.banner{padding: 2% 0;}
.banner ul{
	letter-spacing: -.4em;
	text-align: center;
	list-style: none;
	padding: 0;
}
.banner ul li{
	letter-spacing: normal;
	width: 150px;
	display: inline-block;
	margin: 0 10px 20px;
}
@media screen and (max-width:768px) {
	.banner{
		padding: 5% 0 7%;
	}
	.banner ul li{
		width: 48%;
		margin: 2% 1%;
	}
}

.tagboard{
	max-width: 1280px;
	margin: 0 auto;
}
/*-----------------------------------------
** __about the movie
-----------------------------------------*/
.about-head{
	padding: 50px 0;
}
.about-head h2{
	width: 70%;
	max-width: 400px;
	margin: 0 auto;
}
.about-head h3{
	color: #000;
	font-family: YakuHanMP, 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, メイリオ, Meiryo, sans-serif;
	font-size: 16px;
	text-align: center;
}
/*-----------------------------------------
** __intro
-----------------------------------------*/
.intro{
	color: #000;
	position: relative;
}
._intro-body{
	width: 800px;
	margin: 50px auto 150px;
}
@media screen and (max-width:768px) {
	._intro-body{
		width: 90%;
		margin: 50px auto;
		text-align: center;
	}
}
._intro-body h2,
._intro-body h3{
	margin: 50px auto;
}
._intro-body .__text{
	margin: 0 auto;
}
@media screen and (min-width:769px) {
	._intro-body h2{
		width: 160px;
		height: 13px;
		background: url(../img/intro/h2_intro.svg) no-repeat center center;
	}
	._intro-body h3{
		width: 672px;
		height: 124px;
		background: url(../img/intro/h3_intro.svg) no-repeat center center;
	}
	._intro-body .__text{
		width: 800px;
		height: 1005px;
		background: url(../img/intro/intro-text.svg) no-repeat center center;
		position: relative;
		z-index: 1;
	}
	._intro-body h2 p,
	._intro-body h3 p,
	._intro-body .__text p{
		display: none;
	}
}
@media screen and (max-width:768px) {
	._intro-body h2{
		background: none;
	}
	._intro-body h2 p{
		font-size: 16px;
	}
	._intro-body h3{
		background: none;
	}
	._intro-body h3 p{
		font-size: 17px;
		font-weight: 600;
		line-height: 1.7;
	}
	._intro-body .__text{
	}
	._intro-body .__text p{
		font-size: 14px;
		text-align: left;
	}
}
ul.photo{
	letter-spacing: -.4em;
	padding: 0 30px;
	margin: 0;
}
ul.photo li{
	display: inline-block;
	letter-spacing: normal;
	width: calc(50% - 15px);
}
ul.photo li:first-child{
	margin-right: 30px;
}
@media screen and (max-width:768px) {
	ul.photo li{
		width: 100%;
		margin: 10px auto;
	}
	ul.photo li:first-child{
		margin-right: 0;
	}
}
.intro .balloon{
	position: absolute;
	bottom: 70px;
	left: 7%;
	top: auto;
	right: auto;
	width: 187px !important;
	z-index: 0;
}
@media screen and (max-width:768px) {
	.intro .balloon{
		position: relative;
		bottom: 30px;
		width: 140px !important;
	}
}
/*-----------------------------------------
** __story
-----------------------------------------*/
.story{
	color: #000;
	position: relative;
}
._story-body{
	width: 800px;
	margin: 50px auto 150px;
	position: relative;
}
@media screen and (max-width:768px) {
	._story-body{
		width: 90%;
		margin: 50px auto;
		text-align: center;
	}
}
._story-body h2{
	margin: 50px auto;
}
._story-body .__text{
	margin: 0 auto;
}

@media screen and (min-width:769px) {
	._story-body h2{
		width: 160px;
		height: 13px;
		background: url(../img/story/h2_story.svg) no-repeat center center;
	}
	._story-body .__text{
		width: 800px;
		height: 1005px;
		background: url(../img/story/story-text.svg) no-repeat center center;
	}
	._story-body h2 p,
	._story-body .__text p{
		display: none;
	}
	._story-body .__text .__photo{
		position: absolute;
		bottom: 0;
		right: 0;
		width: 364px;
	}
}
@media screen and (max-width:768px) {
	.story{
		padding: 50px 0;
	}
	._istory-body h2{
		background: none;
	}
	._story-body h2 p{
		font-size: 16px;
	}
	._story-body .__text{
	}
	._story-body .__text p{
		font-size: 14px;
		text-align: left;
	}
	._story-body .__text .__photo{
		width: 90%;
		margin: 30px auto;
	}
}
.story .balloon{
	position: absolute;
	bottom: auto;
	left: auto;
	top: 10px;
	right: -100px;
	width: 91px !important;
}
@media screen and (max-width:768px) {
	.story .balloon{
		right: 10px;
		top: -3%;
		width: 70px !important;
	}
}

/*-----------------------------------------
** __staff
-----------------------------------------*/
.staff{
	background: url(../img/bg.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
	background-attachment:fixed;
	padding: 80px 0;
	text-align: center;
	color: #fff;
}
._staff-body{
	width: 1000px;
	margin: 0 auto;
}
@media screen and (max-width:768px) {
	.staff{
		background: none;
	}
	.staff:before{
		content: "";
		position:fixed;
		height:100%;
		width:100%;
		background:url(../img/bg.jpg) no-repeat center center;
		background-size:auto 100%;
		z-index:-1;
		top: 0;
		left: 0;
	}
	._staff-body{
		width: 90%;
		margin: 50px auto;
		text-align: center;
	}
}
._staff-body h2{
	margin: 50px auto;
}
._staff-body ul{
	letter-spacing: -.4em;
	padding: 0;
}
._staff-body ul li{
	display: inline-block;
	margin-right: 30px;
	margin-bottom: 30px;
	width: 485px;
	height: 300px;
	position: relative;
	overflow: hidden;
}

._staff-body ul li:nth-child(2),
._staff-body ul li:nth-child(5){
	margin-right: 0;
}
._staff-body ul li h3{
	background: rgba(0,0,0,0.6);
	width: 485px;
	height: 300px;
	
	position: absolute;
	top: 0;
	transition: all .5s;
	z-index: 99;
	margin: 0;
	opacity: 0;
}
._staff-body ul li:nth-child(2) h3{
	opacity: 1;
}
._staff-body ul li h3 img{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
	right: 0;
}

._staff-body ul li h3 img{
	width: 110px;
}
._staff-body ul li:hover h3{
	opacity: 1;
}
._staff-body ul li a h3 + img {
	transition: all .5s;
}
._staff-body ul li:hover a h3 + img {
	transform: scale(1.1);
}

._staff-body ul li:nth-child(2) h3{
	background: url(../img/staff/interview-bg.jpg) no-repeat center center;
	background-size: cover;
	width: 485px;
	height: 300px;
	display: flex;
	align-content: center;
	justify-content: center;
	
	position: absolute;
	top: auto;
	z-index: 99;
	margin: 0;
}
._staff-body ul li:nth-child(2) h3 img{
	width: 258px;
}
._staff-body ul li._interview{
	cursor: pointer;
}
._staff-body ul li._interview:after{
	content: "▼";
	color: #fff;
	font-size: 14px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	margin: auto;
	z-index: 99;
}
._staff-body ul li._interview.open:after{
	content: "▲";
}
._interview-body{
	background: url(../img/staff/interview-bg.jpg) repeat-y top center;
	background-size: 100% auto;
	color: #fff;
	padding: 30px;
	box-sizing: border-box;
	letter-spacing: normal;
}
._interview-body .__text{
	color: #fff;
	border: solid 1px #fff;
	padding: 50px 80px;
	position: relative;
}

@media screen and (min-width:769px) {
	._staff-body h2{
		width: 160px;
		height: 13px;
		background: url(../img/staff/h2_staff.svg) no-repeat center center;
	}
	._staff-body h2 p{
		display: none;
	}
	._interview-body{
		margin: 0 auto 30px;
	}
	._interview-body .__text img{
		display: block;
	}
	._interview-body .__text p{
		display: none;
	}
	._interview-body .__text img.__photo{
		position: absolute;
		width: 360px;
		right: 80px;
		top: 126px;
		bottom: 0;
		margin: auto;
	}
}
@media screen and (max-width:768px) {
	._staff-body h2{
		background: none;
	}
	._staff-body h2 p{
		font-size: 16px;
	}
	._staff-body ul li,
	._staff-body h3,
	._staff-body ul li:nth-child(2) h3,
	._staff-body ul li h3{
		width: 100%;
		height: 200px;
		margin-right: 0;
		max-width: 320px;
		top: 0;
		opacity: 1;
	}
	._staff-body ul li,
	._staff-body h3,
	._staff-body ul li h3{
		background: rgba(0,0,0,0.5);
	}
	._staff-body ul li img{
		width: auto;
		height: 200px;
		max-width: 320px;
	}
	._interview-body{
		width: 100%;
		max-width: 320px;
		margin: 0 auto 30px;
		padding: 10px;
	}
	._interview-body .__text img{
		display: none;
	}
	._interview-body .__text{
		padding: 20px;
	}
	._interview-body .__text p{
		display: block;
		margin-bottom: 1em;
		text-align: left;
		font-size: 12px;
	}
	._interview-body p.mincho{
		font-family: YakuHanMP, 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, メイリオ, Meiryo, sans-serif;
	}
	._interview-body .__text img.__photo{
		display: block;
		margin: 30px auto;
	}
}
/*-----------------------------------------
** __cast
-----------------------------------------*/
.cast{
	color: #000;
}
._cast-body{
	width: 1000px;
	margin: 50px auto;
}
.cast .balloon{
	width: 140px !important;
	left: 70px;
	position: relative;
	top: auto;
	right: auto;
	margin-bottom: 100px;
}
@media screen and (max-width:768px) {
	.cast{
		padding: 50px 0;
	}
	._cast-body{
		width: 90%;
		margin: 50px auto;
		text-align: center;
	}
}
._cast-body h2{
	margin: 50px auto;
}
.cast dl{
	width: calc(50% - 18px);
	display: inline-block;
	margin-bottom: 100px;
	vertical-align: top;
}
.cast dl:nth-child(2n){
	margin-left: 30px;
}
.cast dl h3{
	text-align: center;
	margin-bottom: 30px;
}
.cast dl h3 > img{
	height: 18px;
	width: auto;
}
.cast dl ul{
	letter-spacing: -.4em;
	padding: 0;
	margin-bottom: 60px;
}
.cast dl dt ul li{
	display: inline-block;
	width:  calc(50% - 10px);
	letter-spacing: normal;
}
.cast dl dt ul li:first-child{
	margin-right: 20px;
}
.cast dl dd .__text{
	display: block;
}
.cast dl dd .__text + h3{
	margin-top: 60px;
}
@media screen and (min-width:769px) {
	._cast-body h2{
		width: 160px;
		height: 13px;
		background: url(../img/cast/h2_cast.svg) no-repeat center center;
	}
	._cast-body h2 p{
		display: none;
	}
	.cast dl._cast-side dt{
		margin-bottom: 30px;
	}
	.cast dl._cast-side dt img{
		width: 235px;
	}
	.cast dl dt img + h3{
		display: inline-block;
	}
	.cast dl dd img{
		display: inline;
	}
	.cast dl p{
		display: none;
	}
	.cast dl dd .__text {
		height: 145px;
	}
}
@media screen and (max-width:768px) {
	.cast .balloon{
		width: 100px !important;
		left: 3%;
		margin-bottom: 50px;
	}
	._cast-body h2{
		background: none;
	}
	._cast-body h2 p{
		font-size: 16px;
	}
	.cast dl{
		width: 100%;
		display: block;
		margin: 0 auto 100px;
	}
	.cast dl:nth-child(2n){
		margin-left: 0;
	}
	.cast dl dt img{
		margin-bottom: 20px;
	}
	.cast dl._cast-side dt > *{
		display: inline-block;
		width: 49%;
		vertical-align: middle;
	}
	.cast dl._cast-side  dt h3 img,
	.cast dl dd img{
		display: none;
	}
	.cast dl p{
		display: block;
	}
	.cast dl h3{
		font-size: 20px;
		font-weight: 800;
	}
	.cast dl dd .__text{
		font-size: 14px;
		font-weight: 500;
		text-align: left;
	}
}
/*-----------------------------------------
** __outro
-----------------------------------------*/
.outro{
	background: url(../img/bg.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
	background-attachment:fixed;
	padding: 150px 0;
	text-align: center;
	color: #fff;
}
.outro > img{
	max-width: 570px;
	width: 50%;
}
.balloon-1{
	position: absolute;
	top: 5%;
	right: 5%;
	max-width: 300px;
	width: 35%;
}
.balloon-2{
	position: absolute;
	bottom: 10%;
	left: 8%;
	max-width: 150px;
	width: 20%;
}
@media screen and (max-width:768px) {
	.outro{
		background: none;
	}
	.outro > img{
		width: 90%;
	}
}

footer{
	background: #fff;
}
@media screen and (max-width:768px) {
	.credit{
		padding: 5% 0 7%;
	}
	.credit img{
		width: calc(100% - 50px);
	}
	.balloon{
		width: 80% !important;
		right: 0;
		top: -5%;
	}
	.cannes-bnr{
		width: 80% !important;
		margin: 10% auto;
	}
	.senkou-bnr,
	.greeting-bnr{
		width: 40% !important;
		margin: 1% 1% 0;
	}
	.youtube{
		position:relative;
		width: 80%;
		padding-top:46.25%;
		margin: 10% auto 5%;
	}
	.youtube iframe {
		position:absolute;
		top:0;
		right:0;
		width:100%!important;
		height:100%!important
	}
	.credit li,
	.credit li:first-child{
		width: 80%;
		margin-bottom: 10px;
		display: block;
		margin: 0 auto 10px;
		max-width: 80%;
	}
	.credit .trailer-list {
		width: 80%;
		margin: 2% auto 8%;
		letter-spacing: -.4em;
	}
	.credit .trailer-list li{
		width: 47%;
		font-size: 16px;
		margin-bottom: 0;
		margin: 0;
		letter-spacing: normal;
		display: inline-block;
	}
	.credit .trailer-list li:first-child{
		margin-right: 5%;
	}
}
/* ==========================================================================
  pageTop
========================================================================== */
#pageTop {
	width: 50px;
	height: 50px;
	color: #000;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1000;
	cursor: pointer;
}
/*-----------------------------------------
** loading
-----------------------------------------*/
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #a0bad8;
  z-index: 55555555555555;
}
#loader {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
  width: 50px;
  height: 50px;
  text-align: center;
  z-index: 100;
}
.loader {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  border: 2px solid #fff;
  border-radius: 50%;
  
  animation: spin 0.75s infinite linear;
}
.loader::before,
.loader::after {
  left: -2px;
  top: -2px;
  display: none;
  position: absolute;
  content: '';
  width: inherit;
  height: inherit;
  border: inherit;
  border-radius: inherit;
}


/*
 * LOADER 1
 */
.loader-1 {
  border-top-width: 0;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
	}
}


@media screen and (min-width:641px) and (max-width:991px){
}



