@charset "utf-8";

/*==========================================
 General
===========================================*/

::-webkit-scrollbar{
	width: 10px;
}
::-webkit-scrollbar-track{
	background: #ffffff;
	border: none;
	border-radius: 10px;
	box-shadow: inset 0 0 2px #777; 
}
::-webkit-scrollbar-thumb{
	background: #ccc;
	border-radius: 10px;
	box-shadow: none;
}

html {
	font-size: 62.5%;
	-webkit-overflow-scrolling: touch;
	height: 100%
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	padding: 0;
	width: 100%;
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
	font-size: 1.6rem;
	letter-spacing: 0.05rem;
	overflow: visible;
	background-color: #000000;
}

body {
  overscroll-behavior-y: none;
}



/* モーダル表示時に背景固定 */
body.fixed {
	position: fixed;
}

.sp {
	display: none;
}
@media only screen and (max-width: 768px) {
	body {
	min-width:auto;
	}
	.sp {
		display: block;
	}

}

a {
	color: #000000;
	text-decoration: none;
}
a:link {
	color: #d0102c;
}
a:visited {
	color: #d0102c;
}
a:hover {
	color: #d0102c;
	text-decoration: underline;
	cursor: pointer;
}
a:active {
	color: #d0102c;
}

a.btn{
	padding: 10px 30px;
font-size: 1.8rem;
font-weight: normal;
background-color: #d0102c;
color: #d0102c;
text-align:center;
cursor: pointer;
width:100%;
max-width: 300px;
display: block;
margin: 0 auto;
border-radius: 10px 10px 10px 10px;
-moz-border-radius: 10px 10px 10px 10px;
-webkit-border-radius: 10px 10px 10px 10px;
transition: all 0.2s linear;
box-sizing:border-box;
}
a.btn:hover{
	text-decoration:none;
	opacity:0.8;
}
a.outer-link{
	background: url(images/listmark.png)  no-repeat;
  background-size:16px 16px;
  padding-left:20px;
  padding-top:1px;
line-height:140%;	
}
p {
	font-size: 1.6rem;
	text-align: left;
/*	color: #555;*/
	line-height: 180%;
	margin-bottom:30px;
}
p.small{
	font-size: 1.5rem;
	text-align: left;
	color: #444;
	line-height: 2;
	margin-bottom:30px;
}
p.large{
	font-size: 1.8rem!important;
}
.x-small{
	font-size: 1.3rem;
	line-height:1.3;
	
}
p.last-sentence {
	margin-bottom: 70px!important;
}
p.center {
	text-align: center;
}
p.underline {
	text-decoration:underline;
}
.align-left{
	text-align:left!important;
}
.align-right{
	text-align:right!important;
}
.mgn00 {
	margin: 0px!important;
}
.mgn10 {
	margin-bottom: 10px!important;
}
.mgn20 {
	margin-bottom: 20px!important;
}
/*
.mgn30 {
	margin-bottom: 30px!important;
}
.mgn40 {
	margin-bottom: 40px!important;
}
.mgn50 {
	margin-bottom: 50px!important;
}
.mgn60 {
	margin-bottom: 60px!important;
}
.mgn70 {
	margin-bottom: 70px!important;
}
.mgn80 {
	margin-bottom: 80px!important;
}
.mgn90 {
	margin-bottom: 90px!important;
}
.mgn100 {
	margin-bottom: 100px!important;
}
.mgn120{
	margin-bottom: 120px!important;
}
*/
.center{
	text-align:center;
}

.wFull {
}

.main-color {
	background: #174197;
}

.base-color {
	background: #06223B;
}

.accent-color {
	background: #AD1F24;
}


.w100 {
	width: 100%;
}
.w80 {
	width: 80%;
}
.w60 {
	width: 60%;
}
.w45 {
	width: 45%;
}
.w30 {
	width: 30%;
}

.w800 {
max-width:800px;
}

.w980 {
max-width:980px;
}

/*==========================================
 タイトル
===========================================*/
h1 {
	display: none;
}

h2 {
	font-family: 'Anton', sans-serif;
	font-size: 7rem;
	letter-spacing: 0.1em;
	text-align: center;
	padding: 8% 3% 3%;
	line-height: 1.5;
	max-width: 1300px;
    margin: 0 auto;
}

h3 {
	font-family: 'Noto San JP', sans-serif;
	font-size: 3rem;
	letter-spacing: 0.05em;
	font-weight: 700;
	color:#c9161d;
	text-align: center;
	margin-bottom: 3%;
	line-height: 1.5;
}

h4 {
	font-size: 2rem;
	letter-spacing: 0.05em;
	font-weight: 700;
	color:#c9161d;
	text-align:left;
	margin: 0 auto 5px;
	line-height: 1.5;
}

h5 {
	font-size: 2.2rem;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align:left;
	padding: 5% 0 3%;
	display:block;
	line-height: 1.5;
}

@media only screen and (max-width: 768px) {
	h2 {
		font-size: 5rem;
	}
	h3 {
		font-size: 2.3rem;
	}
	h4 {
		font-size: 1.7rem;
	}
}

@media only screen and (max-width: 539px) {
	h2 {
		font-size: 4rem;
	}
	h3 {
		font-size: 2rem;
	}
	h4 {
		font-size: 1.7rem;
	}
}


/*==========================================
 header
===========================================*/
header {
	width: 100%;
	top:0;
	left:0;
	z-index:700;
	position: relative;
	background:#000000;
	opacity:1;
	
}
#head-inner{
	margin:0 auto;
	padding:20px 0 10px 25px;
}

#head-inner #socialArea{
	float:right;
	margin-top:-7px;

}

#head-inner ul#socialArea li{
	float:left;
	margin-right:20px;
    height: 35px;
    width: 35px;
}

ul#socialArea li:hover img{
opacity: 0.5;
}

ul#socialArea li g {
	fill: #000;
}
ul#socialAreal li:hover{
	background: #D0102C;
}
ul#socialArea li:hover{
	fill: #D0102C;
}

header.fixed {
	top: 0;
	position:fixed;
	float:none;
	display: block;
	min-width: 1024px;
}

	header.fixed #head-inner{
	}


@media only screen and (max-width: 768px) {
#header {
	padding-top:0;
	padding-bottom:0px;
	
	position:fixed;
}
#head-inner{
	padding:20px 0 10px;
	min-width:auto;
}

}

/*==========================================
 ナビゲーション
===========================================*/
#top_menu_pc {
	display: block;
	position: absolute;
	width: 42.5%;
	left: 4%;
	height: auto;
	bottom: 15%;
}

#top_menu_sp {
	display: none;
}

#news_btn,#tmenu_btn {
	margin: 0 auto !important;
	opacity: 0;
	filter: blur(20px);
	-webkit-animation: top 0.5s linear 7s 1 forwards;
	animation: top 0.5s linear 7s 1 forwards;
}

#news_btn {
	width: 40%;
}

#tmenu_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin-top: 3% !important;
}

#tmenu_btn .tbtn {
	margin: 0 2%;
	width: 40%;
	list-style-type: none;
}

#tmenu_btn .tbtn a img,#news_btn .tbtn a img,#top_bnr a img,#prebnr a img,#spclbnr a img,#comtbnr a img,#comt1bnr a img,#dvdbnr_pc a img {
	transition: 0.2s all linear;
}

#tmenu_btn .tbtn a:hover img,#news_btn .tbtn a:hover img,#top_bnr a:hover img {
	filter: saturate(300%);
	background: rgba(255,255,0,.05);
}

#menu_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 90%;
	margin: 2% auto !important;
	opacity: 0;
	filter: blur(20px);
	-webkit-animation: top 0.5s linear 7s 1 forwards;
	animation: top 0.5s linear 7s 1 forwards;
}

#menu_btn .btn {
	margin: 1.5% 1.5% 0;
	width: 22%;
	list-style-type: none;
}

#menu_btn .btn a img {
	transition: 0.2s all linear;
}

#menu_btn .btn a:hover img {
	filter: saturate(200%);
	background: rgba(255,255,0,.05);
}

/*バナー
================================================== */

#prebnr {
	position: absolute;
	width: 14%;
	top: 5%;
	left: 3%;
	opacity: 0;
	filter: blur(20px);
	-webkit-animation: top 0.5s linear 7s 1 forwards;
	animation: top 0.5s linear 7s 1 forwards;
}

#spclbnr {
	position: absolute;
	width: 15%;
	top: 5%;
	left: 29.5%;
	opacity: 0;
	filter: blur(20px);
	-webkit-animation: top 0.5s linear 7s 1 forwards;
	animation: top 0.5s linear 7s 1 forwards;
}

#comtbnr {
	position: absolute;
	width: 15%;
	top: 5%;
	left: 42.5%;
	opacity: 0;
	filter: blur(20px);
	-webkit-animation: top 0.5s linear 7s 1 forwards;
	animation: top 0.5s linear 7s 1 forwards;
}

#comt1bnr {
	position: absolute;
	width: 15%;
	top: 5%;
	left: 55.5%;
	opacity: 0;
	filter: blur(20px);
	-webkit-animation: top 0.5s linear 7s 1 forwards;
	animation: top 0.5s linear 7s 1 forwards;
}

#dvdbnr_pc {
	position: absolute;
	width: 29%;
	top: 6.5%;
	left: 1%;
	opacity: 0;
	filter: blur(20px);
	-webkit-animation: top 0.5s linear 7s 1 forwards;
	animation: top 0.5s linear 7s 1 forwards;
}

#top_bnr {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 3.5% 0 !important;
	opacity: 0;
	filter: blur(20px);
	-webkit-animation: top 0.5s linear 7s 1 forwards;
	animation: top 0.5s linear 7s 1 forwards;
}

#top_bnr .tbnr {
	margin: 0.5% 10%;
	width: 40%;
	list-style-type: none;
}

#top_bnr .tbnr img {
	width: 100%;
}

@media only screen and (max-width: 768px) {
	#prebnr {
		width: 29%;
		top: 37%;
		left: 73%;
	}
	#spclbnr {
		width: 30%;
		top: 6%;
		left: 0;
	}
	#comtbnr {
		width: 30%;
		top: 22%;
		left: 0;
	}
	#comt1bnr {
		width: 30%;
		top: 38.5%;
		left: 0;
	}
	#dvdbnr_pc {
		display: none;
	}
	#top_menu_pc {
		display: none;
	}
	#top_menu_sp {
		display: block;
		position: relative;
	}
	#dvdbnr_sp {
		width: 70%;
		margin: 0 auto;
		opacity: 0;
		filter: blur(20px);
		-webkit-animation: top 0.5s linear 7s 1 forwards;
		animation: top 0.5s linear 7s 1 forwards;
	}
	#news_btn {
		width: 40%;
		left: 0;
		margin-top: 5% !important;
	}
	#tmenu_btn {
		width: 100%;
		left: 0%;
		margin-top: 0 !important;
	}
	#tmenu_btn .tbtn {
		margin: 3% 2% 0;
	}
	#top_bnr {
		width: 100%;
		margin: 4% 0 2%;
		left: 0;
	}
	#menu_btn {
		width: 100%;
		margin: 5% auto !important;
	}
	#menu_btn .btn {
		width: 40%;
	}
}

@media only screen and (max-width: 550px) {
	#news_btn, #tmenu_btn .tbtn, #menu_btn .btn {
		width: 45%;
	}
	#top_bnr .tbnr {
		margin: 1% 10%;
		width: 50%;
	}
	#dvdbnr_sp {
		width: 90%;
	}
}

/*ムビチケウィジェット
================================================== */
#mvtk {
	padding: 3% 0;
}

#mvtk div {
	opacity: 0;
	-webkit-animation: top 1s linear 7s 1 forwards;
	animation: top 1s linear 7s 1 forwards;
}

/*footer
================================================== */

footer{
	background: #000000 !important;
}


/*  top main image
================================================== */
#topVisualWrapper {
	position:relative;
	height: 100%;
	margin:0 auto;
	background-color: #000000;
	overflow: hidden;
}
#topVisualWrapper #topImgbg {
	text-align: center;
	background: #000000;
}

#topVisualWrapper #newstopImgbg {
	text-align: center;
	background: #000000;
}

@media only screen and (max-width: 768px) {
	#topVisualWrapper {
		top:0;
	}
}

/*==========================================
 Contents
===========================================*/


/*Layout
================================================== */
#contentsArea{
	width:100%;
	padding-top:0;
	line-break: strict;
/*	background:#fff000;*/
}

#contentsArea .padding0 {
	padding: 0;
}
#contentsArea .wfull{
	width:100%;
}
#contentsArea .w1080{
	max-width:1080px;
	padding:0 3% 4%;
	margin:0 auto;
	
}
#contentsArea .w980{
	max-width:980px;
	padding:0 3%;
	margin:0 auto;
	padding-bottom:5%;
	
}

@media screen and (max-width: 768px){
#contentsArea .w980 {
    width: auto;
    padding-bottom: 0;
}
}

#contentsArea .w900{
	width:900px;
	padding:0 20px;
	margin:0 auto;
	padding-bottom:60px;
}

#contentsArea .w800{
    margin: 0 auto;
    padding-bottom: 10%;
}
#contentsArea .w80{
	width: 80%;
}
#contentsArea .w100 {
	width: 100%;
	padding: 0;
	margin-bottom: 3%;
	position: relative;
}
#contentsArea section p{
	line-height:180%;
	text-align:left;
	font-weight:normal;
}

@media only screen and (max-width: 784px){
#contentsArea section p {
    font-size: 1.5rem;
    font-weight: normal;
}
}

/*Background
================================================== */
.fixed-bg {
	background-size:cover;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center top;
}

.fixed-bg-1{
	background-image: url("../images/bg/bg-01.jpg");
}

.fixed-bg-1 > div {
    background: linear-gradient(rgba(0,0,0,1) 0%,rgba(255,255,255,0.5) 10%,rgba(255,255,255,0.5) 90%,rgba(201,22,29,1) 100%);
	width: 100%;
	height: 100%;
}

.fixed-bg-2{
	background-image: url("../images/bg/bg-02.jpg");
	background-position: 60% top;
}

.fixed-bg-2 > div {
    background: linear-gradient(rgba(0,0,0,1) 0%,rgba(0,0,0,0) 10%,rgba(0,0,0,0.3) 90%,rgba(0,0,0,1) 100%);
	width: 100%;
	height: 100%;
}

.fixed-bg-3{
	background-image: url("../images/bg/bg-paris02.jpg");
}

.fixed-bg-4{
	background-image: url("../images/bg/bg-paris03.jpg");
}

.fixed-bg-5{
	background-image: url("../images/bg/bg-paris04.jpg");
}

.fixed-bg-3 > div,.fixed-bg-4 > div,.fixed-bg-5 > div {
	background: rgba(255,255,255,0.6);
	width: 100%;
	height: 100%;
}

@media only screen and (max-width: 768px) {
	.fixed-bg {
		background-attachment: scroll;
	}
	.android .fixed-bg {
		background-attachment: fixed;
	}
}

@media only screen and (max-width: 480px) {
	.fixed-bg-1 {
		background-position: 80% top;
	}
}

.white {
	background: #ffffff;
	color:#000000;
}

#contentsArea section p.w800{
	padding:0;
}

#contentsArea section img{
	width: 100%;
	height: auto;
}

#contentsArea {
	color:#ffffff;
	background: #000000;
}

/*Column
================================================== */
.culumn {
	width:100%;
}

/* コンテンツボックス */
.contents_box {
	display: -webkit-flex;
    display: flex !important;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.left_contents img {
	width: 100%;
	height: auto;
}

.right_contents {
	-webkit-flex: 1;
    flex: 1;
}


@media only screen and (max-width: 768px) {
	.contents_box {
		display: block !important;
}
	.left_contents_1{
		width: 100%!important;
		margin:0 0 0 0 !important;
	}	

	.right_contents_1{
	-webkit-flex: 1;
    flex: 1;
	}
}
}

@media only screen and (max-width: 480px) {
	.contents_box{
		display:flex;           /* Flexコンテナ―に設定 */
		flex-direction:column;
	}
	.left_contents_2{

    	margin: 0 0 0 0;
	}
	
}

.left_contents_2{
-webkit-flex: 1;
    flex: 1;
}

.left_contents_3{
-webkit-flex: 1;
    flex: 1;
    margin: 0 40px 0 0;
width: 40%;
    max-width: 300px;
}

.right_contents_3{
    flex: 1;
}


.right_contents_2{
	width: 120px;
	margin: 0 0 0 40px;
}

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

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* Hides from IE Mac */
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* End Hack */

/*==========================================
 イントロダクション
===========================================*/
#contentsArea #introduction {
	margin: 4% auto 0;
	position: relative;
	overflow: hidden;
	max-width: 100%;
	min-height: 100vh;
	padding: 0 0 15%;
}

#introduction .txt_box{
	position: relative;
	margin: 0 auto;
/*	top: 50%;
	transform: translateY(-50%);*/
	z-index: 1;
}

#introduction h2 {
	padding-top: 20%;
	text-align: left;
	color: #0079c0;
}

#introduction p {
	font-size: 1.8rem;
	color: #000000;
}

@media screen and (max-width: 768px) {
	#contentsArea #introduction {
		height: auto;
	}
	#introduction .txt_box{
		top: initial;
		transform: translateY(0);
	}
}

/*==========================================
 ストーリー
===========================================*/
#contentsArea #story {
	background: #c9161d;
}

#story .w800{
	padding: 0 3% 5%;
}

#story h2 {
	text-align: right;
	color: #0079c0;
}

#story h3 {
	font-family: 'Anton', sans-serif;
	color: #000000;
	font-size: 6rem;
}

@media screen and (max-width: 768px) {
	#contentsArea #story {
		height: auto;
	}
	#story h3 {
		font-size: 4rem;
	}
}

/* ------------------------------------------------------------
	自動再生スライダー
------------------------------------------------------------ */
#slider .slickAuto {
	margin-left: 0;
}
#slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 0 20px;
	line-height: 0;
}
#slider::before{
	position:absolute;
	background: linear-gradient(rgba(201,22,29,1) 0%,rgba(201,22,29,0) 5%,rgba(0,0,0,0) 95%,rgba(0,0,0,1) 100%)!important;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 50;
}

/*==========================================
 ディレクター
===========================================*/
#director .txt_box {
	padding: 0 3% 2%;
	max-width: 800px;
	margin: 0 auto 2%;
	background-image: url("../images/loading.svg");
    background-size: 90%;
    background-repeat: no-repeat;
    background-position: center;
    background-color:rgba(255,255,255,0.5);
    background-blend-mode:lighten;
}

#contentsArea #director .txt_box p {
	font-size: 1.8rem;
}



#director .contents_box .left_contents {
	width: 44%;
	padding: 0 3%;
}
#director .w980 {
    padding-bottom: 3%;
}

@media screen and (max-width: 550px) {
	#director ul li {
		width: 50%;
		margin-bottom: -7px;
	}
}

@media screen and (max-width: 768px) {
	#contentsArea #director .txt_box p {
		font-size: 1.6rem;
	}
}

/*==========================================
 キャスト
===========================================*/
#cast .w1080 {
	padding: 0 3% 2%;
}

#cast h2 {
	text-align: left;
	color: #c9161d;
}

#cast p {
	font-size: 1.8rem;
}

#cast .contents_box {
    margin-bottom: 8%;
}

#cast .culumn {
	width: 100%;
}

#cast .border-box-red {
	width: 80%;
	padding: 8%;
	border: 10px solid #c9161d;
	margin-bottom: 3%;
}

#cast .border-box-blue {
	width: 80%;
	padding: 8%;
	border: 10px solid #0079c0;
	margin-bottom: 3%;
}

#cast .contents_box2:nth-child(odd) {
    flex-direction: row-reverse;
}

#cast .contents_box .left_contents {
	width: 50%;
}

#cast .contents_box .right_contents {
	padding: 0 1.5%;
}

#cast .left_contents .name {
	display: block;
    font-size: 2.7rem !important;
    color: #c9161d;
    font-weight: bold;
    line-height: 120%;
    text-align: left;
}

#cast .border-box-blue + .name {
    color: #0079c0;
}

#cast .left_contents .name span {
	font-size: 1.7rem;
}

#cast .wfull {
	position: relative;
	margin: 0 0 5%;
}

#cast .changeStImg::before {
	position: absolute;
	content: '';
	background: linear-gradient(rgba(0,0,15,1) 0%,rgba(0,0,15,0.4) 5%,rgba(0,0,15,0.4) 95%,rgba(0,0,15,1) 100%)!important;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 50;
}

#cast .changeStImg {
  position   : absolute;
  top        : 0;
  left       : 0;
  bottom     : 0;
  right      : 0;
  opacity    : 0;
  background-size:cover;
  /* 3枚を5s毎で計15s */
  animation  : pseudoAnimation 15s infinite; /* infiniteで繰り返す */ 
}

#cast .st_img01 {
  position: relative;
  background-image : url(../images/cast/cast-sl-01.jpg);   /* 背景の画像を指定 */
  height: 100vh;
}
#cast .st_img02 {
  background-image : url(../images/cast/cast-sl-02.jpg);   /* 背景の画像を指定 */
  animation-delay  : 5s;
}
#cast .st_img03 {
  background-image : url(../images/cast/cast-sl-03.jpg);   /* 背景の画像を指定 */
  animation-delay  : 10s;
}

@keyframes pseudoAnimation {
   0% { opacity: 0; }
   5% { opacity: 1; } /* 表示タイミングをずらしてフェードイン風に */
  28% { opacity: 1; }
  33% { opacity: 0; }
 100% { opacity: 0; }
}

.parallax1, .parallax2, .parallax3 {
/* パララックスをつくる部分 */
  background-position: top center;
  background-repeat: no-repeat;
}

#cast .wfull p {
  position: absolute;
  font-size: 1rem !important;
  color: #ffffff;
  opacity: 0.7;
  right: 2%;
  bottom: 2%;
  margin: 0;
}

#cast ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin-left: 0 !important;
	background: #000000;
}

#cast ul li {
	width: 33.3%;
	margin-bottom: -7px;
	list-style-type: none !important;
}

@media screen and (max-width: 768px) {
	#cast .contents_box .left_contents {
		width: 70%;
		margin: 3% auto;
	}
	#cast .border-box-red,#cast .border-box-blue {
		width: 80%;
		padding: 7%;
		border-width: 8px;
		margin: 0 auto 2%;
	}
	#cast .contents_box .right_contents {
		padding: 0 3%;
	}
	#cast .left_contents .name {
		font-size: 2rem !important;
	}
	#cast .left_contents .name span {
		font-size: 1.5rem;
	}
	#cast .wfull {
		margin: 0 0 10%;
	}
/*	.parallax1, .parallax2, .parallax3 {
		background-attachment: scroll;
	}
	.parallax1 {
		background-position: 47%;
	}
	.parallax2 {
		background-position: 35%;
	}
	.parallax3 {
		background-position: 60%;
	}
	.android .parallax1, .android .parallax2, .android .parallax3 {
		background-attachment: fixed;
	}*/
}

@media screen and (max-width: 480px) {
	#cast .contents_box .left_contents {
		width: 94%;
		padding: 0 3%;
	}
}

@media screen and (orientation: portrait) {
	#cast .st_img01 {
		height: 50vh;
	}
}

/*==========================================
 コメント
===========================================*/

#comment h2 {
	text-align: right;
	color: #0079c0;
}

#comment h3 {
	font-weight: 900;
	font-size: 7.5rem;
	line-height: 1.1;
	letter-spacing: 0;
}

#comment ul {
	justify-content: center;
	width: 100%;
	margin-left: 0 !important;
	margin-bottom: 10%;
}

#comment ul li {
	margin: 0 0 3%;
	padding: 2%;
	border-left: 5px solid #c9161d;
	border-top: 5px solid #c9161d;
	border-right: 5px solid #0079c0;
	border-bottom: 5px solid #0079c0;
	background: linear-gradient(45deg, rgba(255,255,255,0.7) 0%,rgba(125,204,243,0.7) 100%)!important;
	list-style-type: none !important;
}

#comment ul li p {
	font-size: 2.2rem;
	line-height: 160%;
	color: #000000;
	font-style: oblique;
}

#comment p.reviewer {
	font-style: normal;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 150%;
	color: #0079c0;
}

#comment p.reviewer span {
	font-size: 2.3rem;
	color: #555555;
}

#comment1 {
	background-image: url(../images/title.svg);
	background-size: 75%;
	background-repeat: no-repeat;
	background-position: center;
	background-color: rgba(0,0,0,0.8);
	background-blend-mode: darken;
}

#comment1 h3 {
	font-weight: 900;
	font-size: 5.4rem;
	line-height: 1.1;
	letter-spacing: 0;
	padding-top: 8%;
}

#comment1 div p {
	font-size: 2.2rem;
	line-height: 160%;
	color: #ffffff;
	font-style: oblique;
}

#comment1 div p span.fnormal {
	font-style: normal;
}

#comment1 p.reviewer {
	font-style: normal;
	font-size: 2rem;
	line-height: 150%;
	text-align: right;
	color: #ffffff;
}

@media screen and (max-width: 768px) {
	#comment h3 {
		font-size: 5.0rem;
	}
	#comment1 h3 {
		font-size: 3.4rem;
	}
	#comment ul li {
		width: 94.5%;
		margin-bottom: 5%;
	}
	#comment p.reviewer {
		font-size: 2.3rem;
	}
	#comment p.reviewer span {
		font-size: 1.9rem;
	}
	#comment ul li p {
		font-size: 1.8rem;
	}
	#comment1 div p {
		font-size: 1.8rem;
	}
	#comment1 p.reviewer {
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 480px) {
	#comment h3 {
		font-size: 3.2rem;
	}
	#comment1 h3 {
		font-size: 3.0rem;
	}
	#comment ul li {
		width: 93%;
	}
	#comment p.reviewer {
		font-size: 2.0rem;
	}
	#comment p.reviewer span {
		font-size: 1.7rem;
	}
	#comment ul li p {
		font-size: 1.6rem;
	}
	#comment1 div p {
		font-size: 1.6rem;
	}
	#comment1 p.reviewer {
		font-size: 1.5rem;
	}
}

/*==========================================
 クレジット
===========================================*/
#credit {
    position: relative;
}

#credit .title {
	position: absolute;
	z-index: 100;
	width: 100%;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

#credit h2 {
	text-align: left;
	color: #c9161d;
	padding-top: 5%;
}

#btmImgbg {
	position: relative;
	z-index: 100;
	height: 100%;
	width: 100%;
	background-image: url(../images/dot.png);
}

#changeBtmImg {
	top: 0;
	left: 0;
	position: absolute;
	height: 100%;
	width: 100%;
}

#changeBtmImg img {
	left: 0;
	position: absolute;
}

@media screen and (max-width: 549px) {
	#credit h2 {
		padding-top: 0;
	}
}

/*==========================================
 その他
===========================================*/

#contentsArea ul {
	margin-left:20px;
}

#contentsArea ul li{
	line-height:180%;
	text-align:left;
	color:#555;
	font-size:1.5rem;
	font-weight:normal;
	list-style-type:none;
}

.border-box{
	width:100%;
	margin: 8% auto;
	padding: 3%;
	box-sizing:border-box;
	box-shadow: 0 0 4px 2px rgb(201 22 29 / 70%), 0 0 4px 2px rgb(201 22 29 / 70%) inset;
}

.border-box p {
	color: #ffffff !important;
	font-size: 1.6rem !important;
	line-height: 150% !important;
}

#footbilling {
	margin-top: 1% !important;
}

@media screen and (max-width: 768px) {
#contentsArea .w1080{
	width:auto;
}
#contentsArea .w980{
	width:auto;
}
#contentsArea .w900{
	width:auto;
}
#contentsArea .w800{
	max-width:auto;
}
.border-box{
	width:94%;
}
.border-box p {
	font-size: 1.4rem !important;
}
}

/*==========================================
	タイトルとYouTubeモーダル
===========================================*/
#container {
	display: none;
	overflow-x: hidden;
}
.noScroll {
	overflow: hidden;
}
#loader {
	width: 100%;
	height: 100%;
	min-height: 100%;
	background-color: #000000;
	position: absolute;
	z-index: 1000;
}
#loader img {
	position: absolute;
	left: 50%;
	-webkit-transform: translateY(50%) translateX(-50%);
	transform: translateY(50%) translateX(-50%);
	height: 50%;
	animation: blinking 2s ease-out infinite alternate;
}
@keyframes blinking {
	0% {opacity: 0.5;}
	100% {opacity: 1;}
}

.modalWrapper_y, .modalWrapper_n {
	width: 100%;
	height: 100%;
	background-color: #000000;
	position: fixed;
	top: 0;
	z-index: 1000;
	overflow: hidden;
	display: none;
}

.youtube {
	position: fixed;
	width: 85%;
	height: 85%;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	overflow: hidden;
}

.iframeWrapper {
	position: fixed;
	width: 70%;
	height: 85%;
	max-width: 980px;
	top: 50%;
	left: 50%;
	background-color: #ffffff;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}

.iframeWrapper iframe {
	width: 100%;
	height: 100%;
	overflow: scroll;
	background: no-repeat center/95% url("../images/loading.svg");
	background-position: bottom;
}

@media screen and (orientation: portrait) {
	.youtube {
		width: 100%;
		height: 50%;
	}
	.iframeWrapper {
		width: 90%;
	}
}

@media screen and (max-height: 414px) {
	.youtube {
		height: 75%;
	}
}

/*.youtube .iframeWrapper {
	position: relative;
	padding-top: 56.25%;
	width: 100%;
}*/
/*.youtube iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	width: 100%;
	height: 80%;
}*/
#closeBtn {
	position: fixed;
	top: 0;
	right: 0;
	cursor: pointer;
}

#closeBtn:before{
	content: "";
	display: inline-block;
	width: 2px;
	height: 50px;
	background-color: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: 25px;
}
#closeBtn:after{
	content: "";
	display: inline-block;
	width: 2px;
	height: 50px;
	background-color: #ffffff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	right: 25px;
}

.iframeWrapper #closeBtn:before, .iframeWrapper #closeBtn:after{
	background-color: #000000;
	width: 1px;
	right: 30px;
}

@media only screen and (max-width: 768px) {
	.youtube iframe {
		top: 55%;
	}
}

.modalWrapper_y #videoSwitchList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 10%;
	margin-top: 5px;
	width: 80%;
	position: absolute;
}

.modalWrapper_y #videoSwitchList li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 25%;
	background: #696969;
	color: #f5f5f5;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	cursor: pointer;
	-webkit-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	margin: 0.2%;
	padding: 0.2% 0;
}

.spbr {
	display: none;
}
@media only screen and (max-width: 768px) {
	.modalWrapper_y #videoSwitchList li {
		width: 48%;
	}
}
@media only screen and (max-width: 550px) {
	.modalWrapper_y #videoSwitchList {
		flex-wrap: wrap;
		margin: 0 15%;
		width: 70%;
	}
	.modalWrapper_y #videoSwitchList li {
		width: 100%;
		margin-top: 5px;
	}
}
.modalWrapper_y #videoSwitchList li.currentVideo {
	background: #e50012;
	color: #ffffff;
}
.modalWrappe_y #videoSwitchList li:hover {
	background: #dcdcdc;
	color: #696969;
}

/* ------------------------------------------------------------
	コンテンツのフェードインアニメーション
------------------------------------------------------------ */
.fadeInAfterUp {
	-webkit-transform: translateY(0) !important;
	transform: translateY(0) !important;
	filter: blur(0) !important;
	opacity: 1 !important;
}
.fadeInAfterBl {
	opacity: 1 !important;
	filter: blur(0) !important;
}
.fadeInAfterLr {
	-webkit-transform: translateX(0) !important;
	transform: translateX(0) !important;
	filter: blur(0) !important;
	opacity: 1 !important;
}
#cast {
	overflow: hidden;	/* スマホ時の横スクロール対応 */
}

/* ------------------------------------------------------------
	ページトップに戻るボタン
------------------------------------------------------------ */
#backToTop {
	width: 40px;
	height: 40px;
	background-color: rgb(255,255,255,0.3);
	position: fixed;
	bottom: 20px;
	right: 20px;
	padding: 5px;
	display: none;
	z-index: 500;
}
#backToTop a {
	width: 20px;
	height: 20px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	border-radius: 2px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	display: block;
	margin: 35% auto 0 auto;
}


/** カーテンアニメーション **/
/*  



#cast .castImg {
	width: 45%;
	margin-right: 3%;
}
#cast .castImg img {
	width: 100%;
}
#cast .castText {
	width: 42%;
}

@media only screen and (max-width: 768px) {
	#cast .castImg {
		width: 100%;
		margin-right: 0;
		text-align: center;
	}
	#cast .castImg img {
	}
	#cast .castText {
		width: 100%;
	}
}
#cast .sub {
	margin-bottom: 0;
	line-height: 1;
}
.castName {
	position: relative;
	font-size: 2.2rem;
}
.castName span {
	font-size: 1.5rem;
	margin-left: 15px;
}
#cast>div {
	width: 100%;
	padding: 2em 1em;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

@media only screen and (max-width: 784px) {
#cast>div {
	padding: 1em 0;

}

}
@media only screen and (max-width: 480px) {
.right_contents_2 {
    margin: 0 0 0 auto;
}
}

#cast .other {
	font-size: 2.5rem;
	margin-right: 0;
	width: 95%;
	justify-content: flex-end;
}
@media only screen and (max-width: 768px) {
	#cast .other {
		font-size: 2rem;
		padding: 0;
		flex-direction: row;
	}
}

#item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	padding: 40px 0;
}

#item>div {
	position: relative;
	padding:1em;
	margin: 2em 2.5%;
	width: 30%;
	text-align: center;
	background: rgba(245,245,245,0.4);
}
#item img {
	width: 100%;
	max-width: 220px;
}

@media only screen and (max-width: 768px) {
	#item>div {
		width: 100%;
	}
}

#item>div::before, #item>div::after{ 
	content:'';
	width: 20px;
	height: 20px;
	position: absolute;
	display: inline-block;
}
#item>div::before{
	border-radius: 1px;
	border-left: solid 1px #AD1F24;
	border-top: solid 1px #AD1F24;
	top: 0;
	left: 0;
}
#item>div::after{
	border-radius: 1px;
	border-right: solid 1px #AD1F24;
	border-bottom: solid 1px #AD1F24;
	bottom: 0;
	right: 0;
}
#item>div p {
	font-size: 1.5rem;
	margin: 0; 
	padding: 0;
	text-align: center;
	color: #06223B;
}
.yen {
	color: #AD1F24!important;
	font-weight: 700;
}

#item>div .item-name {
	font-weight: 700;
}

#item a {
	text-decoration: none;
}
#item a:hover p {
	color: #AD1F24;
}


#storyTitle {
	color: #fff;
	margin-top: 120px !important;
}

@media screen and (max-width: 768px) {
#storyTitle {
    margin-top: 0 !important;
}
}
#castTitle {
	color: #000;
padding-top: 60px !important;
}
#staffTitle {
	color: #000;
}
.shop a {
	display: block;
	width: 180px;
	color: #fff;
	padding: 0;
	background-color: #06223B;
	margin: 0 auto;
	border-radius: 0.5em;
	text-align: center;
	text-decoration: none;
}

.shop a:hover {
	opacity: 0.7;
}
*/
/*
#mainImg {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	text-align: center;
	border: 1px solid #dcdcdc;
	margin-bottom: 2%;
}
#mainImg img {
	width: 100%;
	height: auto;
}
@media only screen and (max-width: 768px) {
	#mainImg img {
		width: auto;
		height: 70%;
	}
}
#tmbImg {
	display: flex;
	justify-content: flex-start;
	box-sizing: inherit;
	margin: 0!important;
	padding: 2%;
}
#tmbImg li {
	list-style-type: none!important;
	padding: 0;
	margin: 0;
	text-align: center!important;
	min-width: 0;
}

#tmbImg img {
	height: auto;
	width: 60%;
}

.brsp {
	display: none;
}

@media only screen and (max-width: 589px) {
	.brsp {
		display: block;
	}
}
*/

/* ------------------------------------------------------------
	トップビジュアルのアニメーション
------------------------------------------------------------ */

#topImgbg {
	opacity: 0;
	filter: blur(20px);
	width: 100%;
	-webkit-animation: top 1.5s linear 0s 1 forwards;
	animation: top 1.5s linear 0s 1 forwards;
}

#title {
	position:absolute;
	top: 26.5%;
	left: 4.4%;
	width: 41.7%;
}

.title_item {
	opacity: 0;
	filter: blur(10px);
	transform: scale(4);
	-webkit-animation: top 0.8s linear 1.2s 1 forwards;
	animation: top 0.8s linear 1.2s 1 forwards;
}

#copy1-1 {
	position: absolute;
	top: 15%;
	right: 27.7%;
	width: 2.25%;
}

.copy1-1_item {
	opacity: 0;
	-webkit-animation: top 0.8s linear 2.2s 1 forwards;
	animation: top 0.8s linear 2.2s 1 forwards;
}

#copy1-2 {
	position: absolute;
	top: 28.1%;
	right: 27.8%;
	width: 2.25%;
}

.copy1-2_item {
	opacity: 0;
	-webkit-animation: top 0.8s linear 3s 1 forwards;
	animation: top 0.8s linear 3s 1 forwards;
}

#copy1-3 {
	position: absolute;
	top: 54.8%;
	right: 27.7%;
	width: 2.25%;
}

.copy1-3_item {
	opacity: 0;
	-webkit-animation: top 0.8s linear 3.8s 1 forwards;
	animation: top 0.8s linear 3.8s 1 forwards;
}

#billing {
	position:absolute;
	left: 6%;
	bottom: 40.4%;
	width: 38.3%;
}

.billing_item {
	opacity: 0;
	filter: blur(10px);
	transform: translateX(-100px);
	-webkit-animation: top 0.5s linear 4.8s 1 forwards;
	animation: top 0.5s linear 4.8s 1 forwards;
}

#roadshow {
	position:absolute;
	bottom: 32.8%;
	left: 4.5%;
	width: 41.5%;
}

.roadshow_item {
	filter: blur(10px);
	opacity: 0;
	transform: translateX(100px);
	-webkit-animation: top 0.5s linear 5.3s 1 forwards;
	animation: top 0.5s linear 5.3s 1 forwards;
}

#copy2 {
	position:absolute;
	left: 2.75%;
	bottom: 1.3%;
	width: 94.5%;
}

.copy2_item {
	filter: blur(10px);
	opacity: 0;
	-webkit-animation: top 1s linear 6s 1 forwards;
	animation: top 1s linear 6s 1 forwards;
}

#bcontents,footer {
	display: none;
	opacity: 0;
	filter: blur(20px);
	overflow: hidden;
	-webkit-animation: top 1s linear 7s 1 forwards;
	animation: top 1s linear 7s 1 forwards;
}

@-webkit-keyframes top {
  100% {
    filter: blur(0);
    transform: scale(1);
    transform: translateX(0px);
    opacity: 1;
  }
}
@keyframes top {
  100% {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}

#sns_icon {
	position:absolute;
	text-align: center;
	left: 2%;
	top: 2%;
}

#sns_icon_area {
	height: 40px;
	margin: 0 auto !important;
}

.twitter_item,.facebook_item {
	filter: blur(20px);
	opacity: 0;
	width: 40px !important;
	-webkit-animation: sns_ico 1s linear 7s 1 forwards;
	animation: sns_ico 1s linear 7s 1 forwards;
}

@-webkit-keyframes sns_ico {
  100% {
    filter: blur(0);
    opacity: 1;
  }
}
@keyframes sns_ico {
  100% {
    filter: blur(0);
    opacity: 1;
  }
}

#sns_icon_area a {
	transition: 0.3s all linear;
}

#sns_icon_area a:hover,#prebnr a:hover img,#spclbnr a:hover img,#comtbnr a:hover img,#comt1bnr a:hover img, #dvdbnr_pc a:hover img {
	opacity: 0.5 !important;
}

@media only screen and (max-width: 768px) {
	#title {
		top: 55.9%;
		left: 15%;
		width: 70%;
	}
	#copy1-1 {
		top: 2.3%;
		right: 48.25%;
		width: 3.5%;
	}
	#copy1-2 {
		top: 13%;
		right: 48.25%;
		width: 3.5%;
	}
	#copy1-3 {
		top: 35.3%;
		right: 48.25%;
		width: 3.5%;
	}
	#copy2 {
		left: 7%;
		bottom: 0.3%;
		width: 86%;
	}
	#roadshow {
		left: 15.3%;
		bottom: 10.5%;
		width: 69.4%;
	}
	#billing {
		left: 18%;
		bottom: 14.5%;
		width: 64%;
	}
	#sns_icon {
		left: 3%;
		top: 2%;
		width: 5%;
	}
}

@media only screen and (max-width: 550px) {
	#sns_icon_area {
		height: 30px;
	}
	.twitter_item,.facebook_item {
		width: 35px !important;
	}
}
@media only screen and (max-width: 400px) {
	#sns_icon_area {
		height: 25px;
	}
	.twitter_item,.facebook_item {
		width: 30px !important;
	}
}
