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

/* Browser reset to zero out margins, padding, and sizing */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, main, menu, nav, output, ruby, section, summary, time, mark, audio, video {

	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-weight: normal;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
display: block;
}

body {
	margin: 0;
	font-family: Constantia, "Lucida Bright", "DejaVu Serif", Georgia, "serif";
	
}

/*            contents
--------------------------------------------------------------*/

* {
	box-sizing: border-box;
}

body {
	height: 100vh;
	width: 100%;
/*	overflow: auto;*/
	background: #141100;
}

hrml {
			scroll-behavior: smooth;
		}

div.container {
			scroll-behavior: smooth;
			overflow-y: scroll;
			height: 100vh;
			
			scroll-snap-type: y proximity;
/*			parent -> proxomity or mandatory*/
		}

section {
	width: 100vw;
	height: 100vh;
	padding-top: calc(5vw + 65px);
	padding: 5vw;
	box-sizing: border-box;
	scroll-snap-align: start; 
/*			child */
			
}
	

/*    navigation
--------------------------------------------------------------*/
.header {
	width: 100%;
	position: fixed;
	top: 0;
	display: flex;
	justify-content: space-between;
	z-index: 10;
}

.logo {
	width: 85px;
	height: auto;
	margin-top: 14px;
	margin-left: .6rem;
/*	background-color: #ffd700;*/
/*	filter: drop-shadow(15px 5px 2px #ffd700);*/
}

/*
.heading-title {
	display: flex;
	position: fixed;
	left: 100px;
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-weight: bold;
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
	color: #ffd700;
	font-size: 1.5rem;
	margin-top: 34px;
	list-style: none;
	
}
*/

.navi {
	display: flex;
	font-size: 1.25rem;
	margin-top: 34px;
	margin-right: .5rem;
	list-style: none;
}

.navi li {
	margin-left: 36px;
}

.navi a {
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
/*	font-weight: 500;*/
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
	background-color: transparent;
	color: #ffd700;
	width: 10em;
	height: 5px;
	font-weight: bold;
	text-decoration: none;
	padding: 5px;
}

.navi a:hover {
	width: 10em;
	height: 5ex;
	color: #141100;
	background-color: #ffd700;
	cursor: pointer;
	padding: 5px;
}


/*------     reponsive   -----------*/
@media (max-width: 757px) {
	.logo {
		width: 65px;
	}
	.drawer{
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		position: relative;
		height: 70px;
		padding: 0 1em;
}
	.navi {
		display: block;
		margin: 0;
		font-size: 1rem;
		transition: 0.5s ease;/*滑らかに表示*/
		-webkit-transform: translateX(100%);/*画面より100%外へ押し出し非表示にさせる*/
/*		background-color: rgba(20,17,0, .7);*/
		background-color: #ffd700;
/*		padding: 5px 0;*/
}
	
	.navi li {
		margin-left: 0;
	}
	
	.navi li a {
		width: 100%;
		color: #141100;
		background-color: #ffd700;
		text-align: center;
		padding: 0 2rem;
	}
	
	.navi li a:hover {
	width: 100%;
	height: 100%;
	color: #ffd700;
	background-color: #141100;
	cursor: pointer;
		padding: 0 2rem;
/*	padding: 5px;*/
}

/*open*/
.navi.open {
	 -webkit-transform: translateX(0%);
 transform: translateX(0%);/*メニューを元の位置へ戻す*/
}

/*トグルボタンのスタイルを指定*/
.hamburger {
    display: block; 
    position: fixed;    /* bodyに対しての絶対位置指定 */
    width: 42px;
    height: 42px;
    cursor: pointer;
    z-index: 3;
  right:15px;
}

.hamburger span {
    display: block;
    position: absolute;
    width: 50px;
    border-bottom: solid 4px #ffd700;
    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
    transition: .35s ease-in-out;			/*変化の速度を指定*/
 
}

 /*各ボーダー少しずつずらす*/
.hamburger span:nth-child(1) {
    top:5px;
}
 .hamburger span:nth-child(2) {
    top: 18px;
}
 .hamburger span:nth-child(3) {
    top: 32px;
}
.hamburger.active span:nth-child(1) {
    top: 18px;
/* 1番目のspanをマイナス45度に */
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
	.header {
	height: 70px;
}
}

/* cover - section1
----------------------------------------------------------*/
#home-cover {
	background-image: url("images/end03.jpeg");
	background-size: cover;
	scroll-snap-align: center;
	background-attachment: fixed;
}

/*
#home-cover h1 {
	font-family: "Gajraj One", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #c54615;
	font-size: 7vw;
	letter-spacing: 0.1rem;
	text-align: center;
	margin-top: 10vw;
	text-shadow: 4px 3px #272100;
}
*/

@keyframes reveal {
	0%, 50% {opacity: 0;}
	100% {opacity: 1;}
}

#home-cover .cover-title {
	filter: brightness(150%);
	filter: contrast(150%);
	margin-top: 7vw;
/*	style="width: 100%" */
	
	animation: reveal 1s ease;
}

/*-------   responsive     ---------------------*/
@media (max-width: 960px) {
	#home-cover img {
		width: 100%;
/*		height: 100%;*/
/*		background-size: cover;*/
	}
	
	#home-cover h1 .cover-title {
		margin-top: 50vw;
		width: 100%;
		height: 100%;
	}
}
	

/* movie story - section2
----------------------------------------------------------*/
#home-story {
/*	padding-top: 0;*/
}

.home-container {
	margin-top: 5rem;
/*	position: relative;*/
	display: flex;
	justify-content: center;
}

.home-item {
	 /*this padding for pc. if a screen size is less than pc, reduce the padding */
/*	margin-top: 10rem;*/
	padding: 0 1rem;
/*	width: 50%;*/
	position: relative;
}

/*
.home-item img {
	width: 360px;
	height: 540px;
	justify-self: center;
}
*/

.home-item img {
	width: 360px;
	height: 540px;
}

@media (min-width: 769px) {
	#movie-title, #movie-copy {
	width: 30vw;
}
}


#movie-title {
	font-family: "Gajraj One", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #c54615;
	font-size: 45px;
	letter-spacing: 0.1rem;
	text-align: center;
/*	margin-top: 10px;*/
/*	margin-left: 10px;*/
}

#movie-sub {
	font-family: "Hind", sans-serif;
	font-weight: 300;
	font-style: normal;
	color: #c5a37d;
	font-size: 30px;
	text-align: center;
	letter-spacing: 1rem;
	margin-top: .5rem;
}

#movie-about {
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
	font-size: 30px;
	margin-top: 2rem;
	color: #c4a500;
	text-align: center;
}

#movie-copy, p {
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
	color: antiquewhite;
	text-align: center;
}

/*-------- responsive  -----------------*/
@media (max-width: 757px) {
	.home-container {
		margin-top: 2rem;
		display: block;
		justify-content: center;
}
	
	.home-item img {
		width: 180px;
		height: 100%;
		margin-left: 3rem;
}

#movie-title {
	font-size: 23px;
	letter-spacing: auto;
	line-height: .8rem;
}

#movie-sub {
	font-size: 17px;
	letter-spacing: .3rem;
	margin-top: .25rem;
}

#movie-about {
	font-size: 17px;
	margin-top: .3rem;
}

#movie-copy, p {
	font-size: 12px;
}
}


/*   casts and staff - section3 #home-caststaff
---------------------------------------------------------------------*/
/*
.section-title-box {
	position: relative;
}
*/

.section-title {
	font-family: "Gajraj One", sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.1rem;
/*
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
*/
	font-variation-settings: "wdth" 100;
	font-size: 30px;
/*	color: #c4a500;*/
	color: #c54615;
	opacity: .8;
	margin-left: 14px;
}

.slider {
    width:300px;
    margin:0 auto;
    height:auto!important;
 }

/*------ slider width ------*/
.slider{
  width: 70%;
  margin:0 auto;
}

/*------ slider image ------*/
.slider img{
	width: 100%;
	height: 540px;
}

/*-------- adjusment of height ----------*/
.slider .slick-slide{
	height:auto!important;
}

/*---------- arrowa ----------*/
.slider .slick-next{
    right:0!important;
}
.slider .slick-prev{
    left:0!important;
}
.slider .slick-arrow{
    width: initial!important;
    height: initial!important;
    z-index:2!important;
}
.slider .slick-arrow:before{
    font-size: 30px!important;
}

/*------------------- slider button --------------------------*/
.slick-dots li:nth-of-type(1) button:before{
  background: url("character-images/michael.jpg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(2) button:before{
  background: url("character-images/raphael.jpg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(3) button:before{
  background: url("character-images/uriel.jpg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(4) button:before{
  background: url("character-images/gabriel.jpg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(5) button:before{
  background: url("character-images/demon02.jpeg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(6) button:before{
  background: url("character-images/kerberos.jpg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(7) button:before{
  background: url("character-images/demon04.jpeg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(8) button:before{
  background: url("character-images/wolf.jpeg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(9) button:before{
  background: url("character-images/warrior_man01.jpg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(10) button:before{
  background: url("character-images/warrior_woman01.jpeg") no-repeat;
  background-size: contain!important;
}
.slick-dots li:nth-of-type(11) button:before{
  background: url("character-images/elf.jpg") no-repeat;
  background-size: contain!important;
}

.slick-dots li button:before{
  content: ''!important;
  height:100%!important;
  width: 100%!important;
}

.slick-dots li{
  width: 77px!important;
  height: 77px!important;
  margin: 0!important;
}
.slick-dots li button{
  width:100%!important;
  height:100%!important;
}

.slick-dots{
  bottom: initial!important;
  margin-top:20px!important;
}

#thumbs .slick-current img{
  border:3px solid #000;
}
.slick-slide{
  padding:2px;
}

/*-------character name--------*/
.character-box {
	position: relative;
}
.slider .character-name {
	position: absolute;
	bottom: 75px;
	right: 25px;
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
	font-size: 20px;
	color: antiquewhite;
	z-index: 10;
}

.slider .character-cv {
	position: absolute;
	bottom: 25px;
	right: 25px;
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
	font-size: 30px;
/*	margin-top: 2rem;*/
	color: antiquewhite;
	z-index: 10;
}

/*   cast and staff table
-----------------------------------------------------------------*/
.section-title-box {
	position: relative;
}

.section-caststaff-title {
	position: absolute;
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wdth" 100;
	font-size: 30px;
	color: #c4a500;
/*	text-align: center;*/
	top: 25px;
	left: 25px;
	padding-left: 5vw;
}

/*
dl {
    display: block;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

dt {
    display: block;
}

dd {
    display: block;
    margin-inline-start: 40px;
}
*/

.home_staffcast {
    padding: 80px 0;
    text-align: center;
	font-family: "Anek Bangla", sans-serif;
 	font-style: normal;
/*	font-size: 30px;*/
}

.staffcast_container {
    width: 90%;
    max-width: 1180px;
    margin: 0 auto;
}

.staffcast_list {
    margin-top: 80px;
}

.staffcast_list_title {
	font-family: "Gajraj One", sans-serif;
	font-weight: 400;
    max-width: 400px;
    padding-bottom: 10px;
    margin: 9rem auto 0;
    font-size: 30px;
    color: #9a453c;
    border-bottom: 1px #9a453c solid;
}

.staffcast_list_detail[data-type=cast] {
    display: grid;
    grid-template-columns: repeat(2, 200px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.staffcast_list_detail {
    max-width: 600px;
    margin: 30px auto 0;
    font-size: 16px;
	color: antiquewhite;
	text-align: center;
}

.staffcast_detail {
    margin-top: 30px;
}

.staffcast_detail_role {
	color: #c5a37d;
    margin-top: 5px;
}

.staffcasr_detail_text {
	font-size: 18px;
	text-align: center;
}

/*-----     responsive  --------*/
@media (max-width: 757px) {
	.section-title {
	letter-spacing: 0.1rem;
	font-variation-settings: "wdth" 100;
	font-size: 30px;
	opacity: .8;
		
	margin: 65px 0 14px 0;
}
	.slider img{
	width: 100%;
		height: 100%;
}
	.slider .character-name {
	bottom: 35px;
	right: 25px;
	font-variation-settings:
    "wdth" 100;
	font-size: 17px;
}

.slider .character-cv {
	bottom: 5px;
	right: 25px;
	font-variation-settings:
    "wdth" 100;
	font-size: 20px;
}
}


/*     Review - section4
------------------------------------------------------------------*/
#home-review {
/*	background-color: antiquewhite;*/
/*    padding: 3rem 0;*/
}

.popup {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.popup .imgPopup {
/*	visibility: hidden;*/
	display: none;
/*  width: 300px;*/
/*	background-color: transparent;*/
/*  border: 1px solid #ccc;*/
	z-index: 20;
	position: absolute;
}

.imgPopup img {
	width: 360px;
/*	visibility: visible;*/
}

.imgPopup {
	top: 0;
	left: 0;
}


.imgPopup .close {
  position: absolute;
/*  top: 8px;*/
/*  right: 10px;*/
  transition: all 300ms;
  font-size: 24px;
  line-height: inherit;
  font-weight: bold;
  text-decoration: underline;
  color: #c54615;
  padding: 2px;
/*	visibility: visible;*/
/*	z-index: 30;*/
}
.imgPopup .close:hover {
/*	text-decoration: underline;*/
	color: #993333;
	font-size: 30px;
	cursor: pointer;
}

/*
.popup:hover .imgPopup {
  visibility: visible;
}
*/

#home-review ul {
    max-width: 1000px;
    list-style-type: none;
    margin: 2rem auto;
    padding: 0 1.5rem;
	background-color: antiquewhite;
}

#home-review li {
    display: grid;
    grid-template-columns: 100px 1fr 100px;
    gap: 1rem;
    border-top: 1px solid #ccc;
    padding: 1rem 0;
}

#home-review li:last-child {
    border-bottom: 1px solid #ccc;
}

#home-review .user,
#home-review .item {
    max-width: 100%;
}

#home-review .user {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: solid 1px transparent;
}

.review-area {
    display: flex;
    flex-direction: column;
/*    gap: 0.3rem;*/
}

.review-area p {
	text-align: left;
	color: #272100;
    margin: 0;
}
  
.review-area .name,
.review-area .date,
#home-review a {
    font-size: 0.8rem;
 }
   
.review-area .star5:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: #cda85a;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.review-area .star4-5:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: linear-gradient(to right, #cda85a 90%, #d9d9d9 91%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.review-area .star4:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: linear-gradient(to right, #cda85a 80%, #d9d9d9 81%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.review-area .star3-5:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: linear-gradient(to right, #cda85a 70%, #d9d9d9 71%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.review-area .star3:before {
    content: '★★★★★';
    font-size: 1.2rem;
    background: linear-gradient(to right, #cda85a 60%, #d9d9d9 61%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.review-area .comment {
    text-align: justify;
    position: relative;
    word-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
	line-height: 1.5rem;
	font-size: 1rem;
}

/*
#home-review a {
    text-align: center;
}
*/


/*------------- review intro --------------*/
#home-review #review-movie-poster {
	border-radius: 0px;
}

.review-area #review-intro {
	display: flex;
}

#home-review ul #review-intro {
/*	background-color: aliceblue;*/
}

#home-review #reviw-movie-title {
	font-size: 1.2rem;
	color: #c54615;
	font-weight: bold;
}

#review-movie-date {
	font-size: 10px;
}

#review-add-link {
	justify-content: flex-start;
	color: #333366;
	margin: 0 auto 0 0;
	text-decoration: none;
}

#review-add-link a {
	text-decoration: none;
}

#review-add-link:hover {
	color: #333366;
	text-decoration: underline;
	cursor: pointer;
}

#review-intro p {
	text-align: justify;
	color: #5a5a5a;
	font-size: 14px;
}

.review_intro_text_list {
	display: flex;
	align-items: center;
}

.review_intro_text {
	padding-right: 1rem;
}

/*
.review_intro_text p {
	font-size: 12px;
}
*/

/*-------     reponsive   -------------------*/
@media (max-width: 960px){
	#home-review ul {
    margin: 1rem auto;
    padding: 0 1rem;
}
    #home-review li {
     display: block;
    }
    #home-review .user,
    #home-review .item {
     display: none;
    }
    .review-area {
     margin-bottom: 0.5rem;
    }
    #home-review a {
     font-size: inherit;
    }
	#review-intro p {
	text-align: justify;
	color: #5a5a5a;
	font-size: 12px;
}
	.review-area .comment {
	line-height: 1rem;
	font-size: .8rem;
}
	.review_intro_text p {
	font-size: 10px;
}
	.review_intro_text {
	padding-right: .5rem;
}	
}


/*   Trailer - section5
---------------------------------------------------------------------*/
.pv_inner {
	margin-top: 1rem;
	width: 100%;
}

.pv_image {
	position: relative;
}

#home-trailer img {
	width: 100%;
}

.pv_container {
	margin-top: 20px;
}

#home-trailer ul {
/*	display: block;*/
	list-style-type: disc;
	margin-block-start: 1em;
	margin-block-end: 1em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	padding-inline-start: 40px;
}

#home-trailer li {
	display: list-item;
    text-align: -webkit-match-parent;
}

#home-trailer ul li {
    list-style: none;
}

.pv_btn {
    position: relative;
    padding: 8px 40px;
    font-family: "Zen Old Mincho", serif;
/*	font-family: "Anek Bangla", sans-serif;*/
    font-size: 18px;
	font-weight: 500;
    color: antiquewhite;
	background-color: transparent;
    letter-spacing: .1em;
    cursor: pointer;
    border: 1px #9a453c solid;
}

#home-trailer .btnWrapper {
    display: flex;
	-webkit-box-pack: end;
	justify-content: flex-end;
    flex-wrap: wrap;
    margin-bottom: 25px;
}

#home-trailer .btnWrapper button.pv_btn.appeal {
	background: #9a453c;
    color: antiquewhite;
}

/*--------      responsive   -------------------*/
@media (max-width: 757px) {
	.btnWrapper {
	-ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	}
	
	.pv_item {
    width: 50%;
	}
	
	.pv_btn {
    width: 100%;
    height: 100%;
    padding: 5px 30px;
    font-size: 15px;
	}}

/*footer
------------------------------------------------------------------*/
.footer {
	width: 100%;
	font-family: "Anek Bangla", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-variation-settings:
    "wdth" 100;
	text-align: center;
/*	color: #141100;*/
	color: #d8b600;
/*	background-color: #d8b600;*/
	background-color: #4f4300;
	position: fixed;
    bottom: 0;
}




