@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=0715");
	background-size: cover;
	background-repeat: no-repeat;
}

/* bill */
#bill{
	position: relative;
	margin: 0 auto;
	padding: 30px 0;
	text-align: center;
}
#bill .cast01{
	position: relative;
	margin: 0 auto;
	font-size: min(3.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(3.6vw, .20rem);
	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-bottom: 60px;
}
#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: 60%;
	max-width: 400px;
	margin: 30px auto 0 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: 28%;
	max-width: 98px;
}

/* 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;
	text-shadow: 
    #000000 2px 0px,  #000000 -2px 0px,
    #000000 0px -2px, #000000 0px 2px,
    #000000 2px 2px , #000000 -2px 2px,
    #000000 2px -2px, #000000 -2px -2px,
    #000000 1px 2px,  #000000 -1px 2px,
    #000000 1px -2px, #000000 -1px -2px,
    #000000 2px 1px,  #000000 -2px 1px,
    #000000 2px -1px, #000000 -2px -1px;
}

/* 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 .commentBox{
	position: relative;
	margin: 0 auto 70px auto;
	padding-top: 10px;
}
#comment .commentBox.bar{padding-top: 0;}
#comment .commentBox::after{
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
	width: calc(100% - 20px);
	height: 1px;
	content: '';
	display: block;
	background-color: #484027;
}
#comment .commentBox.bar::after{display: none;}
#comment .commentBox .Img{
	position: relative;
	margin: 0 auto 15px auto;
	width: calc(100% - 60px);
	max-width: 500px;
	border: solid 1px #c3ab49;
	box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.73);
}
#comment h2{
	position: relative;
	margin: 20px auto 40px auto;
	width: 100%;
	max-width: 640px;
}
#comment p{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
	font-size: min(4vw, .22rem);
	line-height: 2em;
	text-shadow: 
    #000000 2px 0px,  #000000 -2px 0px,
    #000000 0px -2px, #000000 0px 2px,
    #000000 2px 2px , #000000 -2px 2px,
    #000000 2px -2px, #000000 -2px -2px,
    #000000 1px 2px,  #000000 -1px 2px,
    #000000 1px -2px, #000000 -1px -2px,
    #000000 2px 1px,  #000000 -2px 1px,
    #000000 2px -1px, #000000 -2px -1px;
}
#comment p.name{
	color: #feb534;
	margin:0 auto 15px auto;
	text-align: center;
}
#comment p.name.bar{margin: 0 auto 20px auto;}
#comment p.name span{font-size: 150%;}
#comment .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;
	font-size: min(3.6vw, .20rem);
	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;
	background-color: rgba(0,0,0,0.5);
}
#comment .comlinks:hover{animation: bghover1 0.5s ease-in 0s 1 normal forwards;}
@keyframes bghover1 {
	0% {background-color: rgba(0,0,0,0.5);}
	100% {background-color: #816804;}
}

/* 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: 660px;
	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;}


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

	/* 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-bottom: 70px;}
	#sns .flexbox{max-width: 280px;}
	#sns .links{width: calc(25% - 10px);}
	#sns .news{
		margin: 40px auto 0 auto;
		padding: 15px 0;
		background-size: 10px auto;
	}
	#sns .news img{
		width: 20%;
		max-width: 80px;
	}

	/* 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 .commentBox{
		margin: 0 auto 130px auto;
		padding-top: 50px;
	}
	#comment .commentBox.bar{padding-top: 0;}
	#comment .commentBox::after{
		top: -35px;
		width: 100%;
	}
	#comment .commentBox .Img{
		margin: 0 auto 20px auto;
		width:80%;
	}
	#comment p{
		width: 100%;
		font-size: min(1.6vw, .18rem);
		line-height: 2em;
	}
	#comment p.name{margin: 0 auto 40px auto;}
	#comment p.name span{font-size: 155%;}
	#comment .comlinks{
		width: calc(100% - 50px);
		padding: 12px 0;
		font-size: min(1.4vw, .16rem);
		background-size: 8px 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;
	}

}