@charset "utf-8";

#keyvisual{
	position: relative;
	margin: 0 auto;
	width: 100%;
	height: 0;
	padding-top: 141.875%;
	background-position: 50% 50%;
	background-image: url("../img/index/main.jpg?t=1107");
	background-size: cover;
	background-repeat: no-repeat;
}
#keyvisual #bnr01{
	position: absolute;
	bottom:27%;
	left: 10px;
	width: 27%;
	max-width: 200px;
}
#keyvisual #bnr01 a:hover{opacity: 0.8; transition: all .3s ease-out;}

/* bill */
#bill{
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
	text-align: center;
}
#bill .cast01{
	position: relative;
	margin: 0 auto;
	font-size: min(2.6vw, .20rem);
	line-height: 2em;
}
#bill .cast01 .fontLarge{font-size: 130%;}
#bill .cast02{
	position: relative;
	margin: 0 auto;
	font-size: min(4.4vw, .26rem);
	line-height: 2em;
}
#bill .staff{
	position: relative;
	margin: 0 auto;
	font-size: min(3vw, .17rem);
	line-height: 2em;
}
#bill .staff .fontSmall{font-size: 80%;}
#bill .copyright{
	position: relative;
	margin: 0 auto;
	font-size: min(2.8vw, .16rem);
	line-height: 2.7em;
}

/* sns */
#sns{
	position: relative;
	margin: 0 auto;
	padding: 40px 0 0 0;
}
#sns .flexbox{
	position: relative;
	width: 51%;
	max-width: 300px;
	gap: 0 10px;
}
#sns .ttl{
	position: relative;
	margin: 0;
	width: calc(50% - 15px);
	padding-right: 5px;
}
#sns .links{
	position: relative;
	margin: 0;
	width: calc(25% - 5px);
}
#sns .links:hover{animation: hover 0.3s ease-in 0s 1 normal forwards;}
@keyframes hover {
	0% {opacity: 1;}
	100% {opacity: 0.6;}
}
#sns .news{
	position: relative;
	width: calc(100% - 30px);
	max-width: 580px;
	margin: 0 auto 20px auto;
	padding: 12px 0;
	display: block;
	border: solid 1px #816804;
	background-image: url("../img/common/arrow.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: calc(100% - 15px) 50%;
	transition: all .3s ease-out;
}
#sns .news:hover{animation: bghover 0.5s ease-in 0s 1 normal forwards;}
@keyframes bghover {
	0% {background-color: transparent;}
	100% {background-color: #816804;}
}
#sns .news img{
	position: relative;
	margin: 0 auto;
	display: block;
	width: 18%;
	max-width: 98px;
}

/* cta */
#cta{
	position: relative;
	margin:  auto;
	background-color: #1c1c1c;
	padding: 30px 0;
}
#cta ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 580px;
	gap: 20px 0;
}
#cta ul li{
	position: relative;
	margin: 0;
	width:100%;
	max-width: 580px;
	border: solid 1px #575E5F;
}

/* trailer */
#trailer{
	position: relative;
	margin: 0 auto;
	background-color: #000000;
	padding: 30px 0 60px 0;
}
#trailer h2{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
	max-width: 640px;
}
#trailer .movieList{
	position: relative;
	margin: 10px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 740px;
	gap: 5px;
}
#trailer .movieList .BtnM{
	position: relative;
	margin: 0;
	border: solid 1px #4C3D00;
	width: calc(50% - 5px);
	text-align: center;
	cursor: pointer;
	font-size: 86%;
	padding: 4px 0;
	line-height: 1.4em;
}
#trailer .movieList .BtnM:hover{animation: bghover 0.5s ease-in 0s 1 normal forwards;}
#trailer .movieList .BtnM.activeM{
	border: solid 1px #4C3D00;
	background-color: #816804;
}

/* movie */
.movieWrap{
    position: relative;
    margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 740px;
	background-color: #000000;
	border: solid 1px #816804;
}
.movie{
	position: relative;
	margin:0 auto;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}
.movie iframe{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* intro */
#intro{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 60px 0;
}
#intro .introWrap{
	position: relative;
	margin: 0;
	width: 100%;
}
#intro h2{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
	max-width: 640px;
}
#intro h3, #intro .lead{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#intro p{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
	padding: 20px 0 30px 0;
	text-align: center;
	font-size: min(3.8vw, .24rem);
	line-height: 2.2em;
	paint-order: stroke;
	color: #ffffff;
	text-stroke: 4px #000000;
	-webkit-text-stroke: #000000 4px;
}

/* story */
#story{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 60px 0;
	background-image: url("../img/story/bg_story.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
}
#story .storyWrap{
	position: relative;
	margin: 0 auto;
	width: 100%;
}
#story h2{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
	max-width: 640px;
}
#story p{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	padding: 0;
	font-size: min(3.6vw, .20rem);
	line-height: 2.2em;
	text-align: justify;
}

/* comment */
#comment{
	position: relative;
	margin: 0 auto;
	padding: 30px 0 60px 0;
}
#comment .commentWrap{
	position: relative;
	margin: 0 auto;
	width: 100%;
}
#comment h2{
	position: relative;
	margin: 20px auto 40px auto;
	width: 100%;
	max-width: 640px;
}
#comment p{
	position: relative;
	width: calc(100% - 20px);
	font-size: min(4vw, .22rem);
	line-height: 2em;
	color: #feb534;
	margin:0 auto 15px auto;
	text-align: center;
}
@keyframes bghover1 {
	0% {background-color: rgba(0,0,0,0.5);}
	100% {background-color: #816804;}
}
#comment ul{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 1300px;
	gap: 20px 10px;
}
#comment ul li{
	position: relative;
	margin: 0;
	width: 100%;
	max-width: 400px;
	background-color: #000000;
	outline: solid 1px #c3ab49;
	outline-offset: 0;
	cursor: pointer;
}
#comment ul.rblock{
	margin: 20px auto 0 auto;
	width: calc(100% - 60px);
	max-width: calc(1010px - 14em);
	padding:3.6em 10px 20px 10px;
	background-color: rgba(86,61,37,0.6);
	outline: solid 1px #816804;
	outline-offset: -1px;
}
#comment ul.rblock::after{
	position: absolute;
	top:0;
	right: 0;
	width: 7em;
	padding: 3px 0;
	background-color: #816804;
	color: #ffffff;
	text-align: center;
	content: '梁山泊';
	font-size: 110%;
}
#comment ul.rblock li{
	position: relative;
	margin: 0;
	width: calc(50% - 6px);
	outline: solid 1px #c3ab49;
	outline-offset: 0;
}
#comment .rival{
	margin: 20px auto 0 auto;
	width: calc(100% - 60px);
	max-width: calc(1010px - 14em);
	padding:3.6em 10px 1px 10px;
	background-color: rgba(88,82,73,0.60);
	outline: solid 1px #736D67;
	outline-offset: -1px;
}
#comment .rival::after{
	position: absolute;
	top:0;
	left: 0;
	width: 12em;
	padding: 3px 0;
	background-color: #736D67;
	color: #ffffff;
	text-align: center;
	content: '対峙するやつら';
	font-size: 110%;
}
#comment ul.rvblock{
	margin: 0 auto 20px auto;
	width: 100%;
	gap: 20px 10px;
}
#comment ul.rvblock li{
	position: relative;
	margin: 0;
	width: calc(50% - 6px);
	outline: solid 1px #c3ab49;
	outline-offset: 0;
}
#comment ul li .Img{
	position: relative;
	margin: 0 auto;
	transition: all .5s ease-out;
}
#comment ul li:hover .Img{opacity: 0.6;}
#comment ul li .Img::after{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 30px;
	height: 30px;
	content: '';
	display: block;
	background-image: url("../img/comment/zoom.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 100% 100%;
}
#comment ul.rblock li .Img::after, #comment ul.rvblock li .Img::after{
	width: 23px;
	height: 23px;
}
#comment ul li p.name{width: 100%; margin:10px auto 0 auto;font-size: min(5.8vw, .30rem);}
#comment ul li p.name span{font-size: 86%;}
#comment ul.rblock li p.name, #comment ul.rvblock li p.name{font-size: min(3.4vw, .12rem);}
#comment ul.rblock li p.name span, #comment ul.rvblock li p.name span{font-size: 80%;}
#comment ul.rblock li p.name span.nname, #comment ul.rvblock li p.name span.nname{padding-right: 0.5em;}
#popUp{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(71,56,32,0.90);
	z-index: 100000;
	opacity: 0;
	display: none;
	overflow-y: auto !important;
}
#popUp.disp{display: block;animation: display .5s ease-out 0s 1 forwards;}
@keyframes display {
  100% {opacity: 1; }
}
#popUp::-webkit-scrollbar{display:none;}
#winClose{
	position: fixed;
	left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 1501;
	overflow: hidden;
	scrollbar-width: none;
}
#closeBtn{
	position: fixed;
	top: 5px;
	right: 5px;
	width: 25px;
	height: 25px;
	cursor: pointer;
	z-index: 2001;
	transition: all .3s ease-out;
}
#closeBtn:hover{opacity: 0.8;}
#castArea {
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% - 70px);
    max-width: 700px;
	height: 80%;
	height: 80svh;
	padding: 20px;
	background-color: #000000;
	z-index: 2000;
	overflow: hidden;
}
#castArea #castImg{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 600px;
}
#castArea #txtWrap{
	position: relative;
	margin: 0 auto;
}
#castArea #txtWrap #name{
	position: relative;
	margin: 0 auto 15px auto;
	width: calc(100% - 20px);
	font-size: min(6vw, .26rem);
	line-height: 2em;
	text-align: center;
}
#castArea #txtWrap #name span{font-size: 62%;line-height: 1.7em;}
#castArea #txtWrap #name span::before{
	position: relative;
	content: '／';
	padding: 0 0.3em;
}
#castArea #txtWrap #name span.nickname{padding-right: 0.8em;}
#castArea #txtWrap #name span.nickname::before{display: none;padding: 0;}
#castArea #txtWrap #name ruby[data-ruby]::before{top:0.2em;}
#castArea #txtWrap #text{
	position: relative;
	margin: 0 auto;
	font-size: min(3.6vw, .20rem);
	line-height: 2.2em;
	text-align: justify;
}
#castArea #txtWrap #text ruby[data-ruby]::before{top:0;}
#castArea #txtWrap #catch{
	position: relative;
	margin: 20px auto 10px auto;
	font-size: min(5vw, .20rem);
	color: #feb534;
	text-align: center;
}
#castArea #comWrap{
	position: relative;
	margin: 50px auto 0 auto;
	font-size: 90%;
}
#castArea #comWrap h3{
	position: relative;
	margin: 0 auto;
	width: 10em;
	color: #ac7e2c;
	border: solid 1px #ac7e2c;
	text-align: center;
	font-size: 80%;
}
#castArea #comWrap #comTxt{
	position: relative;
	margin: 20px auto;
	line-height: 1.8em;
}
#comWrap.ndisp{display: none;}

.ps__rail-y {
  	display: block;
	opacity: 1;
}
.ps--active-y > .ps__rail-y  { width: 5px;opacity: 1;background-color: #464646;}
.ps__thumb-y {
	background-color: #ac7e2c;
}
.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
	background-color: #ac7e2c;
	height: 3px;
}

.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
  background-color: #ac7e2c;
  width: 3px;
}


/* gallery */
#gallery{
	position: relative;
	margin: 0 auto;
	background-color: #000000;
	padding: 50px 0;
}
#gallery h2{
	position: relative;
	margin: 0 auto 10px auto;
	width: 100%;
	max-width: 640px;
}
#gallery .caution{
	position: relative;
	margin: 0 auto 20px auto;
	font-size: 80%;
	text-align: center;
}
#gallery .photo{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 100px);
	max-width: 990px;
	text-align: center;
}
#gallery .splide__arrows{
	position: absolute;
	width: 100%;
	height: 100%;
}
#gallery .splide__arrows .splide__arrow--prev {left: -30px;transform: rotate(180deg);}
#gallery .splide__arrows .splide__arrow--next {right: -30px;}
#gallery .splide__arrow {
	background: transparent;
	border-radius: 0;
	height: 24px;
	width: 12px;
	opacity: 1;
	top:50%;
	transform: translateY(0);
}
#gallery .splide__arrow:disabled {opacity: 0;}
#gallery .splide__arrow {
	background: transparent;
	border-radius: 0;
	height: 24px;
	width: 12px;
	opacity: 1;
	top:50%;
	transform: translateY(0);
}
#gallery .splide__arrow:disabled {opacity: 0;}
#gallery .photo img{pointer-events: all;user-select: all;}
#gallery .dl{
	position: relative;
	margin: 20px auto 0 auto;
	text-align: center;
	display: inline-block;
	padding: 10px 4em;
	font-size: 90%;
	line-height: 1em;
	border: solid 1px #816804;
	border-radius: 100px;
	background-image: url("../img/common/arrow.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: calc(100% - 15px) 50%;
}
#gallery .dl:hover{animation: bghover 0.5s ease-in 0s 1 normal forwards;}
#gallery .dl span{font-size: 80%;}

/* original */
#original{
	position: relative;
	margin: 0 auto;
	padding: 50px 0 40px 0;
	background-color: #1c1c1c;
	text-align: center;
}
#original .originalWrap{position: relative;}
#original h2{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
	max-width: 640px;
}
#original .Img{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 800px;
}
#original p{
	position: relative;
	margin: 0 auto;
	padding: 20px 0 30px 0;
	width: calc(100% - 20px);
	font-size: min(5.3vw, .24rem);
	line-height: 1em;
}
#original p span{font-size: 50%;}
#original .orglinks{
	position: relative;
	width: 12em;
	max-width: 400px;
	margin: 0 auto;
	padding: 5px 0;
	display: block;
	border: solid 1px #816804;
	background-image: url("../img/common/arrow.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: calc(100% - 15px) 50%;
	transition: all .3s ease-out;
}
#original .orglinks:hover{animation: bghover 0.5s ease-in 0s 1 normal forwards;}
#original .commentBox{
	position: relative;
	margin: 50px auto 0 auto;
	width: calc(100% - 30px);
	max-width: 800px;
}
#original .commentBox h3{
	position: relative;
	margin: 0 auto 10px auto;
	border-bottom: solid 1px #38342C;
	font-size: 80%;
	padding-bottom: 5px;
}
#original .commentBox p{
	position: relative;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	font-size: 90%;
	line-height: 1.7em;
}
#original .commentBox .name{
	position: relative;
	margin: 20px auto 0 auto;
	text-align: right;
}
#original .comlinks{
	position: relative;
	width: calc(100% - 30px);
	max-width: 480px;
	margin: 30px auto 0 auto;
	padding: 12px 0;
	display: block;
	text-align: center;
	border: solid 1px #816804;
	background-image: url("../img/common/arrow.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: calc(100% - 15px) 50%;
	transition: all .3s ease-out;
}
#original .comlinks:hover{animation: bghover1 0.5s ease-in 0s 1 normal forwards;}

/* ----- pc ----- */
@media screen and (min-width: 799px) {
	#keyvisual{
		padding-top: 70.85%;
		background-image: url("../img/index/main_pc.jpg?t=1107");
	}
	#keyvisual #bnr01{
		bottom:25%;
		left: auto;
		right: 3%;
	}

	/* bill */
	#bill{padding: 40px 0 50px 0;}
	#bill .cast01{line-height: 1.9em;}
	#bill .cast01 .fontLarge{font-size: 140%;}
	#bill .staff{line-height: 2em;}
	#bill .staff .fontSmall{font-size: 72%;}
	#bill .copyright{
		font-size: min(2.1vw, .145rem);
		line-height: 2.6em;
	}

	/* sns */
	#sns{padding: 70px 0 0 0;}
	#sns .flexbox{max-width: 280px;}
	#sns .links{width: calc(25% - 10px);}
	#sns .news{
		margin:  0 auto 40px auto;
		padding: 15px 0;
		background-size: 10px auto;
	}
	#sns .news img{
		width: 20%;
		max-width: 80px;
	}
	
	/* cta */
	#cta{padding: 40px 0;}
	#cta ul{
		max-width: 1000px;
		gap: 0 20px;
	}
	#cta ul li{width: calc(50% - 20px);}
	
	/* trailer */
	#trailer{padding: 50px 0 90px 0;}
	#trailer h2{margin: 0 auto 30px auto;}
	#trailer .movieList{margin: 20px auto 0 auto;}
	#trailer .movieList .BtnM{padding: 5px 0;}
	/* movie */
	.movieWrap{border: solid 2px #816804;}

	/* intro */
	#intro{padding: 50px 0 90px 0;}
	#intro .introWrap{
		margin: 0 auto;
		width: calc(100% - 150px);
		max-width: 1200px;
	}
	#intro h2{margin: 0 0 30px 0;}
	#intro h3, #intro .lead{margin: 0;}
	#intro p{
		margin: 0;
		width: 70%;
		padding: 40px 0;
		text-align: left;
		font-size: min(1.6vw, .18rem);
		line-height: 2em;
	}

	/* story */
	#story{
		padding: 70px 0 65px 0;
		background-image: url("../img/story/bg_story_pc.jpg");
	}
	#story .storyWrap{max-width: 1200px;}
	#story h2{margin: 0 auto 40px auto;}
	#story p{
		width: calc(100% - 150px);
		font-size: min(1.6vw, .18rem);
		line-height: 2.2em;
	}

	/* comment */
	#comment{padding: 70px 0 90px 0;}
	#comment .commentWrap{
		margin: 0 auto;
		width: calc(100% - 150px);
		max-width: 1050px;
	}
	#comment p{
		width: 100%;
		font-size: min(1.6vw, .18rem);
		line-height: 2em;
	}
	#comment ul{gap: 30px 20px;}
	#comment ul li{width: calc(33.333% - 15px);}
	#comment ul li p.name{font-size: 120%;}
	#comment ul li p.name span{font-size: 80%;}
	#comment ul.rblock{
		margin: 30px auto 0 auto;
		padding:20px 7em;
	}
	#comment ul.rblock li p.name, #comment ul.rvblock li p.name{font-size: min(3.8vw, .14rem);}
	#comment ul.rblock li p.name span{font-size: 82%;}
	#comment ul.rblock::after, #comment ul.rvblock::after{
		left: 0;
		right: auto;
		width: 1em;
		padding: 20px 10px;
		font-size: 150%;
		line-height: 1.6em;
	}
	#comment ul.rblock li{width: calc(25% - 20px);}
	#comment .rival{
		margin: 30px auto 0 auto;
		padding:20px 7em 1px 7em;
	}
	#comment .rival::after{
		left: auto;
		right: 0;
		width: 1em;
		padding: 20px 10px;
		font-size: 150%;
		line-height: 1.2em;
	}
	#comment ul.rvblock{margin: 0 auto 30px auto;gap: 30px 20px;}
	#comment ul.rvblock li{width: calc(25% - 20px);}

	#closeBtn{
		top: 15px;
		right: 15px;
		width: 35px;
		height: 35px;
	}
	#castArea {
		max-width: 600px;
		padding: 40px;
	}
	#castArea #txtWrap{margin: 20px auto 0 auto;text-align: center;}
	#castArea #txtWrap #name{
		margin: 0;
		font-size: 210%;
		line-height: 3em;
		display: inline;
	}
	#castArea #txtWrap #name span{font-size: 55%;line-height: 1em;transform: translateY(10px);}
	#castArea #txtWrap #name ruby[data-ruby]::before{top:2.3em;font-size: 0.3em;}
	#castArea #txtWrap #text{
		margin: 10px auto 0 auto;
		font-size: min(1.3vw, .16rem);
		line-height: 2em;
		text-align: left;
	}
	#castArea #txtWrap #catch{
		margin: 0;
		display: inline;
		font-size: min(5.4vw, .22rem);
		padding-right: 1em;
	}
	#castArea #comWrap{
		margin: 70px auto 0 auto;
		font-size: 90%;
	}
	#castArea #comWrap #comTxt{margin: 30px auto;}
	
	/* gallery */
	#gallery{padding: 70px 0;}
	#gallery h2{margin: 0 auto 20px auto;}
	#gallery .caution{margin: 0 auto 40px auto;}
	#gallery .share{margin: 60px auto 0 auto;}
	
	/* original */
	#original{padding: 70px 0 90px 0;}
	#original h2{margin: 0 auto 30px auto;}
	#original .Img{
		width: 50%;
		max-width: 800px;
	}
	#original p{
		padding: 20px 0 40px 0;
		font-size: min(1.7vw, .23rem);
		line-height: 1.2em;
	}
	#original p span{font-size: 60%;}
	#original .orglinks{
		width: 20em;
		font-size: min(1.5vw, .16rem);
		line-height: 1em;
		padding: 15px 0;
		background-size: 8px auto;
	}
	#original .commentBox{margin: 80px auto 30px auto;}
	#original .commentBox h3{margin: 0 auto 30px auto;}
	#original .commentBox p{
		font-size: 96%;
		line-height: 1.8em;
	}
	#original .commentBox .name{margin: 30px auto 20px auto;}

}
@media screen and (min-width: 1110px) {
	#keyvisual{margin: 60px auto 0 auto;}
}