@charset "UTF-8";

/* GLOBAL */
body{
	font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 2.0;
}


/* GENERAL */

/* LINKS */

/* COMMON */



/* ------ GLOBAL NAV ------ */

/* GN styles*/

/* LANGUAGE */





/* ------ HOME ------ */
#home{
	background: url("./img_jp/homeBG.jpg") no-repeat scroll 50% 0% / 100% auto;
}

#home01{
	height: 63vw;
}
#home01 .inner{
	position: relative;
	height: 100%;
}

/* LOGO */
#siteTitle{
	height: 40vw;
	margin: 0 auto auto 60vw;
	padding: 7vw 0 0 0;
}

/* DIRECTOR */
#home .director{
	display: block;
	width: 1.5vw;
	position: absolute;
	top: 3.5vw;
	right: 3.5vw;
}

/* PHRASE */
#phrase{
	display: block;
	width: 6vw;
	top: 5vw;
	left: 50vw;
	bottom: auto;
	right: auto;
}

/* IMAGE FORUM */
#infoIF{
	width: 30vw;
	position: absolute;
	bottom: 4vw;
	right: 2vw;
}
#infoIF a{
	display: block;
	transition: 0.3s;
	filter: brightness(1);
}
#infoIF a:hover{
	filter: brightness(10);
}
#infoIF a img.DT{
	display: block;
	width: 100%;
}
#infoIF a.infoJishujoei{
	margin-top: 0.5em;
}

/* LAURELS */
#laurels{
	right: auto;
	left: 120px;
	opacity: 1;
}
#laurels #laurelMIFF{
	width: 171px;
	max-width: none;
	max-height: none;
}

/* SOCIAL MEDIA */



/* ------ TRAILER ------ */
#home02{
	height: 57vw;
}
#home02 .inner{
	position: relative;
	height: 100%;
}
#trailerList{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}
#trailerList h2{
	width: 560px;
	margin: 0 0 1em 10vw;
	text-align: center;
	letter-spacing: 0.3em;
}
#trailerList ul{
	margin: 0 0 3em 12vw;
}
.trailerBtn{
	cursor: pointer;
	pointer-events: auto;
}
.trailerThumb{
	display: block;
	position: relative;
	width: 560px;
	max-width: 40vw;
}
.trailerThumb::after{
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	position: absolute;
	top: 50%;
	left: 50%;
	background: url("./img_jp/trailerPlayBtn.svg") no-repeat scroll 50% 50% / auto 100%;
	opacity: 1;
	transform: translate(-50%, -50%);
	transition: 0.3s ease;
}
.trailerThumb img{
	display: block;
	width: 100%;
	opacity: 0.75;
	transition: 0.3s ease;
}
/* hover */
.trailerBtn:hover img{ opacity: 1;}
.trailerBtn:hover::after{ opacity: 0; }


#commentEbina{
	display: flex;
	box-sizing: border-box;
	width: 11vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 13vw;
}
#commentEbina img{
	width: 100%;
}

#filmMeta{
	position: absolute;
	bottom: 3vw;
	right: 3vw;
	font-size: 12px;
	letter-spacing: 0.1em;
	opacity: 0.5;
}



/* ------ INTRO ------ */
#intro{
}

#introText{
	bottom: 5%;
	width: 880px;
	max-width: 80%;
	line-height: 1.8;
}
#introText h2{
	font-size: 200%;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.03em;
}
#introText h3{
	margin: 0.5em 0;
	font-size: 140%;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.03em;
}



/* ------ DIRECTOR ------ */
#director{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 65vw;
	max-height: 85vh;
	background: url("./img_jp/directorBG.jpg") no-repeat scroll 100% 50% / cover;
}
#director .inner{
	width: 100%;
	padding: 4vw 25vw 4vw 5vw;
	background: url("./img_jp/apMotherandchild.jpg") no-repeat scroll 100% 50% / 23vw auto;
	text-align: center;
}
#director .inner p{
	display: inline-block;
	margin: auto;
	text-align: left;
}
#directorName{
	display: block;
	padding: 1em 0.5em 0 0;
	text-align: right;
}
#directorName::before{
	content: "";
	display: inline-block;
	width: 2em;
	position: relative;
	top: -0.4em;
	margin-right: 0.75em;
	border-bottom: solid #fff 1px;
	opacity: 0.9;
}



/* ------ CHARACTERS ------ */
.character .text{
	z-index: 1;
}
.character .quote{
	display: inline-block;
	position: relative;
	font-size: 3.3vw;
	font-weight: 300;
	line-height: 1.5;
}
.character .quote::before{
	content: "「";
	position: absolute;
	top: -0.3em;
	left: -0.5em;
}
.character .quote::after{
	content: "」";
	display: inline-block;
	position: relative;
	bottom: -0.3em;
	margin-right: -0.5em;
}

#c01 .text{ margin: 60vh 0 0 60%; }
#c02 .text{ margin: 60vh 0 0 10%; }
#c03 .text{ margin: 60vh 0 0 68%; }

.character .name{
	margin-top: 20px;
	font-size: 28px;
	line-height: 1.5;
}
.character .name dd{
	font-size: 18px;
}



/* ------ REVIEWS ------ */
#quoteList .text p::before, #quoteList .text p::after{
	display: inline-block;
	position: relative;
	font-size: 120%;
}
#quoteList .text p::before{
	content: "「";
	top: -0.2em;
	left: -0.2em;
}
#quoteList .text p::after{
	content: "」";
	bottom: -0.2em;
	right: -0.2em;
}
#quoteList .name{
	text-align: left;
	text-indent: 0.5em;
}



/* ------ THEATRES ------ */
#theatres{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 85vh;
	background: url(./img_jp/img06.jpg) no-repeat scroll 0% 30% / auto 100%;
}
#theatres > .inner{
	padding: 30px 0px 50px;
}
#theatres h3{
	margin: 2em 0 1em 0;
}

.theatreList{
	
}
.theatreList .theatre{
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	width: 860px;
	max-width: 90vw;
	margin-bottom: 1px;
}
.theatreList dt, .theatreList dd{
}
.theatreList .box{
	box-sizing: border-box;
	margin-right: 1px;
	padding: 10px 20px;
	background: rgba(255,255,255,0.1);
}
.theatreList .prefecture{
	box-sizing: border-box;
	width: 12%;
	white-space: nowrap;
}
.theatreList .info{
	box-sizing: border-box;
	width: 88%;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
}
.theatreList .info span{
	display: block;
	box-sizing: border-box;
}
.theatreList .theatreName{
	width: 55%;
}
.theatreList .schedule{
	width: 45%;
	position: relative;
}
.theatreList .note{
	display: block;
    width: fit-content;
    position: absolute;
    top: 0.75em;
    right: -0.75em;
    padding: 0.3em 0.4em;
    background: rgba(255,255,255,0.5);
    color: #000;
    font-size: 60%;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
}

.theatreList .theatreName a{
	text-decoration: underline;
	text-underline-offset: 0.3em;
}
.theatreList .theatreName a:hover{
	text-decoration: none;
}

.theatreList .labels{
	border-bottom: solid rgba(255,255,255,0.5) 1px;
	font-size: 90%;
}


/* JISHUJOEI */
#jishujoei .theatreList .info{
	flex-direction: column;
}
#jishujoei .theatreList .theatreName{
	width: auto;
	padding-bottom: 0;
}
#jishujoei .theatreList .schedule{
	width: auto;
	padding-top: 0;
}
#jishujoei .theatreList .labels .info{
	flex-direction: row;
	padding: 10px 20px;
	background: rgba(255,255,255,0.1);
}
#jishujoei .theatreList .labels .info span{
	padding: 0;
	background: none;
}
#jishujoei .theatreList .labels .info .theatreName::after{
	content: "・";
}


/* THEATRES */
#inTheatres{
	font-size: 90%;
}
#inTheatres small.note{
	display: none;
}


/* ------ AWARDS ------ */
#awards{
	width: 800px;
	max-width: 90%;
	padding: 15vh 0 3vw 0;
}
#awardList dt{
	padding-bottom: 2.5em;
	font-size: 100%;
}

#awardList h3{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 130%;
	font-weight: 400;
}
#awardList h3::before, #awardList h3::after{
	content: "";
	flex-grow: 1;
	margin: 0 1em;
	border-bottom: solid #fff 1px;
	opacity: 0.3;
}

#awardList dd{
	margin-bottom: 2.5em;
}
#awardList dd .postContent{
	line-height: 1.8;
}



/* ------ LAURELS ------ */
#laurelsArchive{
	padding: 0 0 15vh 0;
}
#laurelsArchive > p{
	display: none;
}



/* ------ SCREENINGS ------ */




/* ------ CONTACT ------ */


/* FORMS */




/* ------ INFO ------ */




/* ------ FOOTER ------ */












@media only screen and (max-width: 1300px){
	/* ------ DIRECTOR ------ */
	#director .inner{
		font-size: 16px;
	}
}

@media only screen and (max-width: 1200px){
	/* ------ DIRECTOR ------ */
	#director .inner{
		padding: 4vw 27vw 4vw 10vw;
		font-size: 18px;
	}
	#director .inner p br{
		display: none;
	}
}




@media only screen and (max-width: 960px){
	body{
		font-size: 3.6vw;
	}
	
	/* ------ GLOBAL NAV ------ */
	
	/* ------ HOME ------ */
	#home{
		margin-bottom: 0;
		background: url("./img_jp/homeBG_SP.jpg") no-repeat scroll 50% 0% / 100% auto;
	}
	#home::before{
		display: none;
	}
	#home::after{
		bottom: 4.5vw;
		height: 20vw;
	}
	
	#home01{
		height: 165vw;
	}
	#home .inner{
		min-height: auto;
		background: transparent;
	}
	
	#siteTitle{
		position: relative;
		top: 0;
		left: 0;
		width: 61vw;
		max-width: auto;
		transform: none;
		margin: 0 auto auto 27vw;
		padding: 12vw 0 0 0;
	}
	#home .director{
		width: 3vw;
		top: 6vw;
		right: 5vw;
	}
	#phrase{
		width: 4vw;
		top: 25vw;
		left: 14vw;
	}
	
	#infoIF a img.DT{
		display: none;
	}
	#infoIF a img.SP{
		display: block;
	}
	
	/* LAUREL */
	#laurels{
		top: 2vw;
		left: 18vw;
	}
	#laurels #laurelMIFF{
		width: 32vw;
		padding: 0;
	}
	
	/* IMAGE FORUM */
	#infoIF{
		width: 64vw;
		right: 18vw;
	}
	
	/* SNS */
	#home .socialmediaList{
		left: auto;
		right: 3vw;
		bottom: 30vw;
	}
	#home .socialmediaList li a{
		width: 6vw;
		height: 6vw;
	}
	
	/* HOME02 */
	#home02{
		height: 90vw;
	}
	#home02 .inner{
		background: transparent;
	}
	
	/* TRAILER PLAYER */
	#trailerList{
		box-sizing: border-box;
		padding-top: 15vw;
	}
	#trailerList h2{
		width: 65vw;
		margin: 0 0 0.5em 0;
		font-size: 0.9rem;
	}
	#trailerList ul{
		margin: 0;
	}
	.trailerThumb{
		max-width: 65vw;
	}
	
	/* EBINA */
	#commentEbina{
		width: 90vw;
		height: 24vw;
		top: 3vw;
		left: 5vw;
	}
	
	/* META */
	#filmMeta {
		bottom: 0vw;
		right: 5vw;
		font-size: 2.5vw;
		opacity: 0.5;
		z-index: 1;
	}
	
	
	
	/* ------ INTRO ------ */
	#intro{
		margin-top: 15vw;
	}
	#introText{
		position: relative;
		bottom: 0;
		right: 0;
		margin: 0 auto;
		padding: 55vw 0 15vw 0;
	}
	#introText h2{
		margin: 0;
		font-size: 150%;
	}
	#introText h3{
		margin: 1.0em 0;
		font-size: 115%;
	}
	#introText h3 br{
		display: none;
	}

	/* ------ DIRECTOR ------ */
	#director{
		height: auto;
		max-height: none;
		min-height: 60vh;
		background-position: 50% 22vw;
	}
	#director .inner{
		padding: 55vw 10vw 20vw 10vw;
		background-position: 50% 0%;
		background-size: 60vw auto;
		font-size: inherit;
	}
	
	/* ------ CHARACTERS ------ */
	#characters{
		min-height: 100vw;
		margin-top: 0;
		padding: 30vw 0;
	}
	#characters .inner{
		position: relative;
		min-height: 100vw;
	}
	.character{
		min-height: auto;
	}
	.character .img{
		height: 65vw;
	}
	#c01 .img{ left: -5%; }
	#c02 .img{ left: -5%; }
	#c03 .img{ left: 0%; }
	
	#characters .character .text{
		margin: 60vw 0 0 10%;
	}
	.character .quote{
		font-size: 7vw;
	}
	.character .name{
		font-size: 6vw;
	}
	.character .name dd{
		font-size: 65%;
	}
	
	/* ------ REVIEWS ------ */
	#reviews{
		box-sizing: border-box;
		min-height: 140vw;
		padding: 0 0 30vw 0;
	}
	#quoteList .name{
		text-indent: 0;
		line-height: 1.5;
	}
	#quoteList .name::before{
		width: 1.5em;
	}
	
	/* ------ THEATRES ------ */
	#theatres{
		min-height: 65vh;
		background-position: 52% 50%;
		background-size: auto 100%;
	}
	
	.theatreList .box{
		padding: 1.75vw 3.5vw;
	}
	.theatreList .theatre{
		align-items: stretch;
	}
	.theatreList .prefecture{
		width: 21%;
		white-space: nowrap;
	}
	.theatreList .info{
		width: 79%;
		flex-direction: column;
	}
	.theatreList .theatreName{
		width: 100%;
		padding-bottom: 0;
	}
	.theatreList .schedule{
		width: 100%;
		padding-top: 0;
	}
	.theatreList .labels .info{
		flex-direction: row;
		box-sizing: border-box;
		padding: 1.75vw 3.5vw;
		background: rgba(255,255,255,0.1);
	}
	.theatreList .labels .info span{
		width: auto;
		padding: 0;
		background: none;
	}
	.theatreList .labels .info .theatreName::after{
		content: "・";
	}
	.theatreList .note{
		top: 0.65em;
		right: -0.5em;
		padding: 0.3em 0.5em;
		font-size: 75%;
	}
	
	/* ------ AWARDS ------ */
	#awards{
		max-width: 90%;
		padding: 15vw 0 3vw 0;
	}
	#awardList h3::before, #awardList h3::after{
		min-width: 1em;
	}
	#awardList h3::before{ margin-left: 0; }
	#awardList h3::after{ margin-right: 0; }
	#awardList dd .postContent p{
		letter-spacing: 0;
	}
	
	/* ------ LAURELS ------ */
	#laurelsArchive{
		padding: 0 0 15vw 0;
	}
	
	/* ------ SCREENINGS ------ */
	
	/* ------ CONTACT ------ */
	
	/* ------ INFO ------ */
	
	/* ------ FOOTER ------ */
	
}




@media only screen and (max-width: 480px){
}






