@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#FFF}hr{display:none}img{vertical-align:bottom}select,input,button,textarea{font-size:99%}table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}.hd{display:block;width:0;height:0;overflow:hidden}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{*zoom:1}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none;}*:focus{outline: none;}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;}
/*-----------------------------------------------
 * 01. Template
 * 00. Modal
-------------------------------------------------*/
/*-----------------------------------------------
 * 01. Template
-------------------------------------------------*/
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
body{
	-webkit-text-size-adjust: 100%;
	background-color: #000;
	color: #000;
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-feature-settings: "palt";
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.07em;
	line-height: 1.8;
	word-wrap: break-word;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: #222; }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
	background: #6ccfee;
	color: #fff;
}
::-moz-selection{
	background: #6ccfee;
	color:#fff;
}
@media screen and (max-width:768px){ 
	html{ 
		font-size: 62.5%;
	}
	body{
		font-size: 10px;
		font-size: 1rem;
		min-width: 320px;
	}
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
}
/*-----------------------------------------------
 * 00. Modal
-------------------------------------------------*/
.modalBox{
	-webkit-overflow-scrolling: touch;
	background: rgba(0,0,0,.75);
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.oneModal{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.oneModalIn{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-width: 1200px;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.oneModalIn__cont{
	padding: 50px 0;
}
@media screen and (max-width:768px){
	.oneModalIn{
		min-width: 100%;
	}
	.oneModalIn__cont{
		width: 100%;
		padding: 30px 0;
	}
}
/* closeBtn */
.closeBtn{
	width: 100%;
	height: 100%;
	min-width: 1200px;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.closeBtn a{
	background: #000 url(../img/common/close.png) no-repeat 0 0 / 100%;
	display: block;
	width: 80px;
	height: 80px;
	pointer-events: auto;
	position: absolute;
	top: 0;
	right: 0;
}
@media screen and (max-width:768px){
	.closeBtn{
		min-width: 100%;
	}
	.closeBtn a{
		width: 40px;
		height: 40px;
	}
}
/* common */
.commonIframe{
	width: 100%;
	height: 100%;
	display: block;
}
/* youtube */
.youtubeIframeWrap{
	width: 920px;
	height: 520px;
}
@media screen and (max-width:768px){
	.youtubeIframeWrap{
		width: 100%;
		height: auto;
		padding-top: 56.25%;
		position: relative;
	}
	.youtubeIframe{
		position: absolute;
		top: 0;
		left: 0;
	}
}

/*-----------------------------------------------
 * 02. Footer
-------------------------------------------------*/
.footer{
	width: 100%;
	height: calc(100vh - 300px);
	margin-top: auto;
	position: relative;
	z-index: 2;
}
@media screen and (max-width:770px){
	.footer{
		height: auto;
	}
}
/* pagetop */
.pagetop{
	width: 70px;
	height: 70px;
	pointer-events: none;
	position: fixed;
	right: 0;
	z-index: 1000;
}
.pagetop.is-on{
	position: absolute;
}
.pagetop a{
	background-color: #ff9f00;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100%;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: auto;
	transform: translateX(100%);
	transition: all .3s ease-in-out;
	position: relative;
}
.pagetop a:after{
	content: '';
	background: url(../img/common/pagetop_arrow.png)no-repeat center center / 21px 26px;
	position: absolute;
	width: 21px;
	height: 26px;
	top:calc(50% - 13px);
	left: calc(50% - 10.5px);
	transition: .2s ease-in-out;
}
.pagetop a:hover::after{
	top: calc(50% - 18px);
}
.pagetop.is-active a{
	transform: translateX(0);
}
@media screen and (max-width:770px){
	.pagetop{
		width: 50px;
		height: 50px;
	}
	.pagetop a:after{
		width: 11px;
		height: 13px;
		top: calc(50% - 6.5px);
		left: calc(50% - 5.5px);
		background-size: contain;
	}
}
/**
 * footer__inWrap
 */
.footer__inWrap{
	background-color: #1c1c1c;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.footer__in{
	width: 100%;
	margin: 90px 0;
	position: relative;
	z-index: 1;
}
/* logo */
.footer__logo{
	text-align: center;
}
@media screen and (max-width: 768px){
	.footer__logo{
		width: 100%;
	}
	.footer__logo a{
		width: 27.2%;
		display: block;
		margin: 0 auto;
	}
	.footer__logo a img{
		width: 100%;
	}
}
/* lists */
.footer__linkLists{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 50px;
}
.footer__linkLists__item{
	width: 60px;
	height: 60px;
	margin: 0 10px;
}
.footer__linkLists__item a{
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px;
	display: block;
	width: 100%;
	height: 100%;
}
.footer__linkLists__item.twitter-link a{
	background-image: url(../img/common/sns_tw.svg);
}
.footer__linkLists__item.youtube-link a{
	background-image: url(../img/common/icon_yt.svg);
}
.footer__linkLists__item.line-link a{
	background-image: url(../img/common/sns_line.svg);
}
@media screen and (max-width:770px){
	.footer__linkLists__item{
		width: 36px;
		height: 36px;
	}
	.footer__linkLists__item a{
		background-size: contain;
	}
}
/* copyright */
.footer__copyright{
	color: #575757;
	display: block;
	font-size: 12px;
	margin-top: 50px;
	text-align: center;
}
@media screen and (max-width:770px){
	.footer__copyright{
		font-size: 1.1rem;
	}
}


/*-----------------------------------------------
 * 03. loading(fadeinout)
-------------------------------------------------*/
#loading{
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 20000;
	background-color: #000;
}