@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");
	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(4.1vw, .24rem);
	line-height: 2em;
}
#bill .cast01 .fontLarge{font-size: 125%;}
#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 50px auto;
}
#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 20px auto;
}
#comment p.name span{font-size: 150%;}
#comment p.name::after{
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 1px;
	content: '';
	display: block;
	background-color: #c3ab49;
	box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.73);
}
#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;}
}
/* 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");
	}

	/* 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: 1200px;
	}
	#comment .commentBox{margin: 0 auto 70px auto;}
	#comment p{
		width: calc(100% - 150px);
		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 p.name::after{bottom: -10px;}
	#comment .comlinks{
		width: calc(100% - 50px);
		padding: 12px 0;
		font-size: min(1.4vw, .16rem);
		background-size: 8px 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;
	}

}