@charset "utf-8";
*,*:before,*:after{box-sizing:border-box;}
*,p,label,form,dt,dd{margin:0;padding:0;}
html,body{
	width:100%;
	min-height:100%;
	margin:0;
	padding:0;
	border:0;
}
html{font-size:62.5%;}
body{
	position:relative;
	margin:0;
	padding-top:100px;
	width:100%;
	background:#000;
	font-family:'Noto Serif JP', serif;
	letter-spacing:0.5px;
	line-height:1.75;
	color:#fff;
	text-align:center;
}
body:before{
	content:"";
	display:block;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
	background:#000 url("../img/bg.jpg") no-repeat center bottom;
	background-size:cover;
	z-index:0;
}
img{
	width:100%;
	vertical-align:top;
	-webkit-backface-visibility:hidden;
}
ul,ol,dl{
	list-style:none;
	margin:0;
	padding:0;
}
a{
	color:#FFDADA;
	transition:all 0.5s ease;
}
a:hover,a:focus{
	color:#aaa;
	opacity:0.85;
}
*[hidden]{display:none!important;}
::-webkit-scrollbar{
	width:4px;
	height:4px;
}
::-webkit-scrollbar-track{
	background:#fff;
	border-left:solid 1px #fff;
}
::-webkit-scrollbar-thumb{
	background-color:rgba(167,165,139,0.3);
	border-radius:4px;
	box-shadow:inset 0 0 0 2px rgba(167,165,139,0.3);
}
p+p,
p+figure{margin-top:24px;}
#loading{
	height:100vh;
	position:absolute;
	top:0;
	left:0;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	background-color:#000;
	color:#FFB1B2;
	transition:all 0.4s;
	opacity:0;
	z-index:-1;
}
#loading.show{
	opacity:1;
	z-index:2;
}
main{
	display:none;
	transition:all 0.4s;
	opacity:0;
	z-index:-1;
}
main.show{
	display:block;
	opacity:1;
	z-index:1;
}
main *{
	position:relative;
	z-index:1;
}
section{
	
	position:relative;
	margin:0 auto;
	z-index:1;
}
figcaption{
	display:block;
	line-height:1.0;
	text-align:right;
}
h1.title{
	margin:56px auto;
	color:#C12A00;
}
.enter{margin:60px auto 0;}
.leadTxt01b,h1.title,
.hyoshi,.leadTxt02{
	display:block;
	opacity:0;
	transition:opacity 0.4s;
}
.leadTxt01b.show,h1.title.show,
.hyoshi.show,.leadTxt02.show{opacity:1;}
.hyoshi{margin:0 auto;}
dl,dd{display:block;}
dt{
	display:table;
	margin:0 auto;
}
strong{color:#FFEC6C;}
i{
	font-style:normal;
	color:#55FCFF;
}
.commentBox{
	width:86%;
	display:table;
	margin:0 auto;
	border:5px solid #B1B37C;
	border-radius:10px;
	background-color:#fff;
	color:#333;
}
.commentBox .icon{
	border-radius:50%;
	overflow:hidden;
	border:1px solid #B1B37C;
}
.commentBox strong{
	display:inline-block;
	color:#774600;
}
.commentBox p{text-align:left;}
.commentBox .tw{
	display:flex;
	justify-content:center;
	align-items:center;
}
.commentBox .tw:before{
	content:"";
	display:inline-block;
	background:url("../img/tw-icon.svg") no-repeat center center;
	background-size:contain;
}
.commentBox .tw a{display:inline-block;}
.commentBox a,
footer a{color:#333;}
#join h3{margin-bottom:24px;font-size:2.0rem;}
#join p{text-align:left;}
#join dl{margin-top:40px;}
#lastMsg figure{margin:0 auto;}
#lastMsg .lastTxt{color:#39BEFF;}
#lastMsg .lastTxt2{color:#999;}
#lastMsg .thanks{border-top:1px solid #aaa;}
footer{
	display:block;
	width:100%;
	padding:16px 2vw;
	background-color:#fff;
	color:#333;
	line-height:1.0;
	font-size:1.0rem;
}
footer p+p{margin-top:16px;}
@media screen and (max-width:639.98px){
	*[data-type="pc"]{display:none!important;}
	body{font-size:1.6rem;}
	body:before,
	#loading{width:100vw;}
	section{width:92vw;}
	h1.title{font-size:8.0rem;}
	.enter{width:130px;}
	.hyoshi{
		max-width:480px;
		width:92vw;
	}
	.leadTxt02{margin-top:16px;}
	section+section{margin:120px auto;}
	section h2{
		margin-bottom:16px;
		font-size:2.0rem;
	}
	section dt{
		margin-bottom:10px;
		border-bottom:1px solid #ddd;
		font-size:1.8rem;
	}
	section dd{margin-bottom:20px;}
	figcaption{
		margin-top:6px;
		font-size:1.2rem;
	}
	.commentBox{padding:30px 2vw;}
	.commentBox+.commentBox{margin-top:48px;}
	.commentBox .icon{
		width:160px;
		height:160px;
		margin:20px auto;
	}
	.commentBox strong{
		margin-right:8px;
		font-size:2.0rem;
	}
	.commentBox p{font-size:1.3rem;}
	.commentBox .tw{margin-top:16px;}
	.commentBox .tw:before{
		width:20px;
		height:20px;
		margin-right:6px;
	}
	section#lastMsg{margin-top:100vh;}
	#lastMsg figure{
		max-width:360px;
		width:86%;
		margin-bottom:48px;
	}
	#lastMsg .lastTxt{font-size:2.8rem;}
	#lastMsg .lastTxt2{font-size:1.1rem;}
	#lastMsg .thanks{
		margin-top:80px;
		padding-top:20px;
	}
}
@media screen and (min-width:640px){
	*[data-type="sp"]{display:none!important;}
	body{font-size:1.8rem;}
	body:before,
	#loading{width:calc(100vw - 4px);}
	section{width:600px;}
	h1.title{font-size:9.2rem;}
	.enter{width:200px;}
	.hyoshi{width:480px;}
	.leadTxt02{margin-top:24px;}
	section+section{margin:200px auto;}
	section h2{
		margin-bottom:24px;
		font-size:2.4rem;
	}
	section dt{
		margin-bottom:8px;
		border-bottom:1px solid #ddd;
		font-size:2.0rem;
	}
	section dd{margin-bottom:24px;}
	figcaption{
		margin-top:8px;
		font-size:1.4rem;
	}
	.commentBox{padding:12px 16px 20px;}
	.commentBox+.commentBox{margin-top:72px;}
	.commentBox .icon{
		width:240px;
		height:240px;
		margin:16px auto;
	}
	.commentBox strong{
		margin-right:10px;
		font-size:2.4rem;
	}
	.commentBox p{font-size:1.6rem;}
	.commentBox .tw{margin-top:24px;}
	.commentBox .tw:before{
		width:30px;
		height:30px;
		margin-right:10px;
	}
	section#lastMsg{margin-top:800px;}
	#lastMsg figure{
		width:480px;
		margin-bottom:36px;
	}
	#lastMsg .lastTxt{font-size:3.6rem;}
	#lastMsg .lastTxt2{font-size:1.3rem;}
	#lastMsg .thanks{
		margin-top:56px;
		padding-top:16px;
	}
}