@charset "UTF-8";
/* CSS Document */

/* Reset */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:16px;
	overflow-x:hidden;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.clear:after {
    content: "";
    display: block;
    clear: both;
}

/* mv */
.mv {
	height:100vh;
	width:100%;
	position:relative;
	overflow: hidden;
}
.mv>video {
	position: absolute;
	top: 0; 
	left: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -10;
}
.stripe {
	z-index:-1;
	height:100%;
	width:100%;
	position:absolute;
	top: 0; 
	left: 0;
	background:url(img/stripe.png);
	background-size:cover;
}
.mv .sns {
    position: absolute;
    right: 15px;
    top: 20px;
    font-size:0;
}
.logo {
	position:absolute;
	top:20px;
	left:20px;
}
.sns li {
    display:inline-block;
    margin:0 5px;
}
.mv h1 {
	position:absolute;
	width:842px;
	height:421px;
	top:0;
	bottom:0;
	right:0;
	left:0;
	margin:auto;
}
.next_arrow {
	position:absolute;
	bottom:40px;
	text-align:center;
	width:100%;
	margin:0;
}

/* common */
.hidden-sp {
	display:block;
}
.hidden-pc {
	display:none;
}
img.hidden-sp,
img.hidden-pc {
	margin-left:auto;
	margin-right:auto;
}
section p {
	line-height: 1.68;
}
img {
	max-width:100%;
	height:auto;
}
.linkbutton {
	position:relative;
	z-index:50;
	display:block;
}

/* sec01 */
#how {
	background:url(img/sec01_bg.jpg)center top;
	background-size:auto;
	padding:80px 0;
}
.inner_how {
	width:780px;
	margin:0 auto;
	text-align:center;
}
#how h2,
#how h3 {
	margin-bottom:38px;
}
#how p {
	margin-bottom:38px;
}

/* sec02 */
#rule {
	background:url(img/sec03_bg.png)no-repeat center bottom,url(img/sec02_bg01.jpg)center top;
	background-size:auto;
	padding: 70px 0 161px;
}
.inner_rule {
	background: url(img/sec02_bg02.png)no-repeat left 72px;
	background-size: auto;
	max-width:1156px;
	margin: 0 auto;
}
.rule_text {
	background:url(img/sec02_bg03.png)no-repeat right top;
	padding-bottom: 51px;
	max-width: 686px;
	margin: 0 0 0 auto;
}
.rule_text h2 {
	padding:88px 0 48px 181px;
}
.rule_text img.hidden-sp {
	margin-left:0;
}
.rule_text p {
	color:#fff;
	padding:0 79px 46px 195px;
	line-height:1.93;
}	

/* sec03 */
#entry {
	background-color: #1a1a1a;
	padding-bottom:23px;
}
.inner_entry {
	max-width:833px;
	margin:0 auto;
	text-align:center;
}
#entry h2,
#entry p {
	margin-bottom:32px;
}
#entry ul li {
	float:left;
	margin:29px 0;
}
#entry ul li:first-child {
	margin-right:49px;
}

/* footer */
footer {
	background-color:#000;
	position:relative;
}
.copy {
	padding:103px 0 104px;
	text-align:center;
}
footer .sns {
	position:absolute;
	bottom:20px;
	right:20px;
}

/* karuta */

#karuta{
	/* The pics container */
	width: 100%;
	height: 3045px;
	position: absolute;
	z-index: 10;
	overflow: hidden;
}

.karuta, .karuta a{
	/* Each picture and the hyperlink inside it */
	width:214px;
	height:302px;
	overflow:hidden;
}

.karuta{
	/* Styles specific to the pic class */
	position:absolute;
}

.karuta a{
	/* Specific styles for the hyperlinks */
	text-indent:-999px;
	display:block;
	/* Setting display to block enables advanced styling for links */
}

/* loader */
.fl.spinner7 {
	position:absolute;
	top:0!important;
	bottom:0;
	left:0!important;
	right:0;
	margin:auto;
}


.pop {
	padding: 60px;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
  display: none;
	box-sizing: border-box;
	background-color: #fff;
}

.pop .videoBox {
  height: 100%;
  position: relative;
  background-color: #FFF;
}

.pop video {
	width: auto;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

.pop .close {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 10000;
}

.comMovie {
  position: fixed;
  bottom: 50px;
  right: 50px;
  border: 1px solid #000100;
  width: 200px;
  overflow: hidden;
  z-index: 10000;
}

.comMovie video {
  display: block;
  width: 100%;
  height: auto;
}

@media only screen and (max-width: 767px) {
	.hidden-sp {
		display:none;
	}
	.hidden-pc {
		display:block;
	}
	
  .hidden-pc .main_movie {
		position: relative;
    height: 100vh;
    background: #111;
    background-size: cober;
    width: 100%;
    display: none;
	}
	
	.hidden-pc .main_movie iframe {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin-top: -180px;
	}
	
	.hidden-pc .main_movie_close {
		background: #fff;
		padding: 14px 0;
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		width: 100%;
		position: absolute;
		z-index: 10000;
		bottom: 10%;
	}

	
	.hidden-pc .movie_btn {
		background: url(./img/movie_btn.png) no-repeat center center;
		background-size: cover;
		width: 220px;
		height: 46px;
		margin: 0 0 0 -110px;
		z-index: 10000;
		position: absolute;
		left: 50%;
		bottom: 15%;
	}
	
	.btn_area {
		width: 100%;
		height: 100vh;
		position: relative;
	}

	body {
		text-align:justify;
		font-size:14px;
	}
	/* sp menu */
	header {
		background-color:#000;
		position:relative;
		height: 70px;
	}
	.logo {
		position:relative;
		float: left;
	}
	.logo img {
		display: block;
		width: 80%;
	}
	.menu-toggle {
		float: right;
		width: 70px;
		height: 70px;
		border-left: solid 1px rgba(255, 255, 255, 0.2);
	}
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 26px;
		height: 17px;
		top: 26px;
		left: 22px;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #fff;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 7px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(20px) rotate(-315deg);
		transform: translateY(20px) rotate(-315deg);
		top: -13px;
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-20px) rotate(315deg);
		transform: translateY(-20px) rotate(315deg);
		bottom: -13px;
	}
	label {
		display: block;
		margin: 0;
	}
	input[type="checkbox"].on-off{
		display: none;
	}
	.menu #menu_content {
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		margin: 0;
		padding: 0;
		list-style: none;
		position:absolute;
		top: 70px;
		bottom:0;
	}
	input[type="checkbox"].on-off + #menu_content{
		height: 0;
		overflow: hidden;
	}
	input[type="checkbox"].on-off:checked + #menu_content{
		height: 100vh;
		width:100%;
		background: rgba(0, 0, 0, 0.8);
		z-index:100;
	}
	.menu_content_in {
		position:relative;
		width: 100%;
		height: 100%;
	}
	#menu_content .sp_menu li {
		border-bottom:solid 1px rgba(255, 255, 255, 0.2);
	}
	#menu_content .sp_menu li:nth-child(2) {
		text-align:right;
	}
	#menu_content .sp_menu li a {
		display:block;
		padding:20px;
	}
	#menu_content .sp_menu li img {
		width:70%;
	}
	#menu_content .sns {
		top:auto;
		bottom: 90px;
	}
	.sp_menu_title {
		position:absolute;
		bottom:84px;
		left:20px;
	}
	/* mv */
	.stripe {
		background-size: auto;
	}
	.mv {
		height: 100vh;
	}
	.mv>video {
		top: 70px;
	}
	.mv h1 {
		width:100%;
		height: 210px;
/* 		top: 10vh; */
	}
	.mv_sp {
		position: absolute;
		top: 0; 
		left: 0;
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: auto;
		z-index: -10;
	}
	/* sec01 */
	#how {
		padding:40px 0;
	}
	.inner_how {
		width:90%;
		text-align:left;
	}
	#how p {
		margin-bottom:30px;
	}
	#slider {
		margin:0 -5%;
	}
	.slick-slide {
		margin: 0 10px;
	}
	.slider_karuta .slick-prev{
		left: 0;
		z-index: 10;
	}
	.slider_karuta .slick-next{
		right: 0;
	}
	.slick-dots li button:before {
	  font-size:30px!important;
	}
	/* sec02 */
	#rule {
		background:url(img/sec01_bg.jpg)center -2px;
		padding: 0;
	}
	.inner_rule {
		background:url(img/sec02_bg03_sp.png)no-repeat center top;
		background-size:110%;
	}
	.rule_text {
		background:none;
		width:90%;
		margin:0 auto;
	}
	.rule_text h2 {
		padding:70px 0 30px;
	}
	.rule_text p {
		padding:0;
	}
	.over-photo {
		margin: 0 -5%;
		overflow: hidden;
	}
	/* sec03 */
	.inner_entry {
		width:90%;
	}
	#entry ul li {
		float:none;
		margin:18px 0;
	}
	#entry ul li:first-child {
		margin:0;
	}
	/* footer */
	footer {
		padding:60px 0;
	}
	footer .copy {
		padding: 0 60px 30px;
	}
	footer .sns {
		position:relative;
		bottom: 0;
		right: 0;
		text-align: center;
	}
}


.load {
	width: 100%;
	height: 100%;
	background: #111;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 11000;
}

.boxLoading {
  width: 50px;
  height: 50px;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.boxLoading:before {
  content: '';
  width: 50px;
  height: 5px;
  background: #fff;
  opacity: 1;
  position: absolute;
  top: 59px;
  left: 0;
  border-radius: 50%;
  animation: shadow .5s linear infinite;
}
.boxLoading:after {
  content: '';
  width: 50px;
  height: 50px;
  background: #ccc;
  animation: animate .5s linear infinite;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 3px;
}
@keyframes animate {
  17% {
    border-bottom-right-radius: 3px;
  }
  25% {
    transform: translateY(9px) rotate(22.5deg);
  }
  50% {
    transform: translateY(18px) scale(1, 0.9) rotate(45deg);
    border-bottom-right-radius: 40px;
  }
  75% {
    transform: translateY(9px) rotate(67.5deg);
  }
  100% {
    transform: translateY(0) rotate(90deg);
  }
}
@keyframes shadow {
  0%,
  100% {
    transform: scale(1, 1);
  }
  50% {
    transform: scale(1.2, 1);
  }
}

