@charset "utf-8";

/*---------------------------------------
common
---------------------------------------*/

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
	font-size:15px;
	color:#fff;
	line-height:2.2em;
	font-family: YakuHanJP_Noto, "Noto Serif JP", serif;
	 -webkit-text-size-adjust: none;
	width:100%;
	height:100%;
	background-color:#000;
}

.gothic{
	font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
}


.zoom{
	position:relative;
}

.zoom p{
	position:absolute;
	z-index:100;
}

.zoom a img{
	display: block;
	transition-duration: 0.3s;
}

.zoom a:hover img{
	transform: scale(1.1);
	transition-duration: 0.3s;
}

.zoom a:hover p img{
	transform: scale(1.0);
	transition-duration: 0.3s;
}

img{
	width:100%;
	-webkit-backface-visibility: hidden;
}

a{
	transition: 0.4s ;
	text-decoration:none;
}

a:hover{
  opacity: 0.6;
}


.pc{
	display:block !important;
}

.sp{
	display: none !important;
}

.container{
	width:1440px;
	margin:0 auto;
	position:relative;
}

.fixed{
	overflow:hidden;
}

@media screen and (max-width:767px) {
	html{
		overflow-x: hidden;
	}

	.pc{
		display:none !important;
	}

	.sp{
		display:block !important;
		line-height:1.4;
	}

	img{
		width:100%;
		height:auto;
	}

	.container{
		width:100%;
		margin:0 auto;
	}
}


/* --------------------------------------------------
loader
 -------------------------------------------------- */
.loader {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #000;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
	z-index:9999;
	transition: 2.0s ;
}

.loader img{
  width:300px;
	transition: 1.0s ;
}

@media screen and (max-width: 767px) {
	.loader img{
	  width:40%;
		transition: 1.0s ;
	}
}

.is_loaded .loader img{
  animation: loader_scale_img 0.4s cubic-bezier(.58,.17,.81,.68) 0.2s forwards;
}

@keyframes  loader_scale_img {
	0% { transform: scale(1,1); opacity: 1;}
	40% { transform: scale(1.2,1.2); opacity: 1;}
	100% { transform: scale(0.4,0.4); opacity: 0;}
}

.is_loaded2 .loader{
  opacity:0;
}


/*---------------------------------------
mainvisual
---------------------------------------*/
#mainvisual{
	width:100%;
	margin:0 auto;
	position:relative;
	background: url(../images/mainvisual.jpg) no-repeat center top;
	background-size:100% auto;
	padding-bottom:50px;
}

#mainvisual h1{
	width:33.3333%;
	margin:0 auto;
	padding-top:34%;
}

#mainvisual h2{
	width:75%;
	margin:0 auto;
}

#mainvisual h3{
	width:12.5%;
	position:absolute;
	right:25px;
	top:16%;
}

#mainvisual h4{
	width:12.5%;
	position:absolute;
	right:25px;
	top:53%;
}

#mainvisual p{
	text-align:center;
	color:#fff;
	font-size:28px;
	font-weight:700;
}

#mainvisual h5{
	text-align:center;
	color:#e6d46f;
	font-size:60px;
	font-weight:700;
	margin-top:50px;
}

#mainvisual span{
	display:block;
	text-align:center;
	color:#fff;
	font-size:22px;
	font-weight:400;
	margin-top:35px;
	line-height:1.6;
}

@media screen and (min-width: 1920px) {
	#mainvisual{
		height:70vw;
	}
}

@media screen and (max-width:1640px) {
	body {
		line-height:1.8em;
	}

	.container{
		width:88.888888%;
		margin:0 auto;
	}

	#mainvisual p{
		font-size:1.9vw;
	}

	#mainvisual h5{
		font-size:4.2vw;
		margin-top:2.5%;
	}

	#mainvisual span{
		font-size:1.5vw;
		margin-top:4%;
	}

}

@media screen and (max-width: 767px) {
	body {
		line-height:3.0em;
	}

	#mainvisual{
		width:100%;
		margin:0 auto;
		position:relative;
		background: url(../images/sp_mainvisual.jpg) no-repeat center top;
		background-size:100% auto;
		padding-bottom:10%;
	}

	#mainvisual h1{
		width:61.3333%;
		margin:0 auto;
		padding-top:86vw;
	}

	#mainvisual h2{
		width:100%;
		padding-top:19vw;
	}

	#mainvisual h3{
		width:15.5%;
		position:absolute;
		right:0;
		top:52vw;
	}

	#mainvisual h4{
		width:22%;
		position:absolute;
		left:0;
		right:0;
		margin:auto;
		top:110.5vw;
	}

	#mainvisual p{
		font-size:3.7vw;
		margin-top:4%;
	}

	#mainvisual h5{
		font-size:6.0vw;
		margin-top:3%;
		line-height:6.0vw;
	}

	#mainvisual span{
		font-size:3.3vw;
		margin-top:5%;
		line-height:2.0;
	}

}

/*---------------------------------------
result
---------------------------------------*/
#result{
	border:2px solid;
	border-image: linear-gradient(to right, #8e855a, #f9e496, #8e855a) 1;
	box-sizing:border-box;
	padding:60px 0;
	margin-bottom:80px;
}

#result h2{
	width:1200px;
	margin:0 auto;
}

#result ul{
	width:1200px;
	margin:60px auto 0;
  justify-content: space-between;
  align-items: start;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#result ul li{
	width:100%;
	padding-bottom:30px;
	margin-bottom:60px;
}

#result ul li .result_title{
	font-size:20px;
	color:#e6d46f;
	text-align:center;
	padding:10px 0;
}

#result ul li .result_title p{
	font-size:30px;
	font-weight:700;
}

#result ul li span{
	font-size:18px;
	color:#fff;
	text-align:center;
	display:block;
	font-weight:400;
}


#result ul li:nth-child(1),
#result ul li:nth-child(2),
#result ul li:nth-child(3){
	background-color:#0d1f33;
}

#result ul li:nth-child(4){
	background-color:#360200;
}

#result ul li:nth-child(5){
	background-color:#141f20;
	margin-bottom:0;
}

@media screen and (max-width:1640px) {
	#result{
		padding:4% 0;
		margin-bottom:5%;
	}

	#result h2{
		width:84%;
		margin:0 auto;
	}

	#result ul{
		width:84%;
		margin:4% auto 0;
	}

	#result ul li{
		padding-bottom:3%;
		margin-bottom:5%;
	}

	#result ul li .result_title{
		font-size:1.4vw;
		padding:1.5% 0 0.5%;
		line-height:1.4;
	}

	#result ul li .result_title p{
		font-size:2.0vw;
	}

	#result ul li span{
		font-size:1.3vw;
		line-height:1.6;
	}
}

@media screen and (max-width: 767px) {
	#result{
		border:3px solid;
		border-image: linear-gradient(to right, #8e855a, #f9e496, #8e855a) 1;
		padding:7% 0;
		margin-bottom:10%;
	}

	#result h2{
		width:90%;
		margin:0 auto;
	}

	#result ul{
		width:88%;
		margin:9% auto 0;
	}

	#result ul li{
		padding-bottom:5%;
		margin-bottom:8%;
	}

	#result ul li .result_title{
		font-size:3.2vw;
		padding:1.5% 0 1.5%;
	}

	#result ul li .result_title p{
		font-size:4.2vw;
	}

	#result ul li span{
		font-size:2.4vw;
		line-height:1.7;
	}
}



/*---------------------------------------
entry
---------------------------------------*/
.title{
	width:100%;
	background: -moz-linear-gradient(left, #8f855a 10%, #fce798 50%, #8f855a 90%);
  background: -webkit-linear-gradient(left, #8f855a 10%, #fce798 50%, #8f855a 90%);
  background: linear-gradient(to right, #8f855a 10%, #fce798 50%, #8f855a 90%);
	font-size:28px;
	color:#000;
	text-align:center;
	padding:10px 0;
	font-weight:600;
}

#entry p{
	font-size:22px;
	text-align:center;
	margin-top:30px;
}

#entry #kiyaku{
	font-size:16px;
	text-align:center;
	margin-top:20px;
	text-decoration:underline;
	transition-duration: 0.3s;
}

#entry #kiyaku:hover{
	opacity:0.6;
	cursor:pointer;
}

#entry dl{
	width:1000px;
	height:80px;
	margin:20px auto 0;
  justify-content: space-between;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
	box-sizing:border-box;
	background-color:#fff;
	border:4px solid #a3232a;
}

#entry dl dt{
	width:10%;
	background-color:#a3232a;
	height:100%;
}

#entry dl dt p{
	font-size:40px;
	text-align:center;
	margin-top:0;
	line-height:40px;
	padding-top:2px;
}

#entry dl dt span{
	font-size:16px;
	text-align:center;
	display:block;
	line-height:16px;
	padding-top:8px;
}

#entry dl dd{
	width:90%;
	height:100%;
	font-size:18px;
	color:#000000;
	padding-left:20px;
	box-sizing:border-box;
  justify-content: start;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#entry dl dd a{
	font-size:16px;
	width:200px;
	height:44px;
	line-height;16px;
	background-color:#a3232a;
	color:#fff;
	border-radius:22px;
	margin-left:20px;
	text-align:center;
  justify-content: center;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#entry ul{
	width:1440px;
	margin:0 auto;
	padding:60px 0;
  justify-content: space-between;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#entry ul li{
	width:31.9444%;
	border:1px solid #8e855a;
	box-sizing:border-box;
}

#entry ul li a{
	display:block;
	line-height:0;
}

@media screen and (max-width:1640px) {
	.title{
		font-size:1.9vw;
		padding:0.7% 0;
		font-weight:600;
	}

	#entry p{
		font-size:1.5vw;
		margin-top:2%;
	}

	#entry #kiyaku{
		font-size:1.2vw;
		margin-top:1.5%;
	}

	#entry dl{
		width:78.125%;
		height:6vw;
		margin:3% auto 0;
	}

	#entry dl dt{
		width:10%;
		background-color:#a3232a;
		height:100%;
	}

	#entry dl dt p{
		font-size:2.6vw;
		line-height:2.6vw;
		padding-top:1%;
	}

	#entry dl dt span{
		font-size:1.2vw;
		line-height:1.2vw;
		padding-top:10%;
	}

	#entry dl dd{
		width:90%;
		font-size:1.3vw;
		padding-left:3%;
		line-height:1.3vw;
	}

	#entry dl dd a{
		font-size:1.1vw;
		width:23%;
		height:3.0vw;
		line-height;3.0vw;
		border-radius:1.5vw;
		margin-left:2%;
	}

	#entry ul{
		width:100%;
		margin:0 auto;
		padding:5% 0;
	  justify-content: space-between;
	  align-items: center;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		position:relative;
	}

	#entry ul li{
		width:31.9444%;
	}

}

@media screen and (max-width: 767px) {
	.title{
		font-size:3.8vw;
		line-height:3.8vw;
		padding:3.0% 0;
	}

	#entry p{
		font-size:3.3vw;
		margin-top:5%;
		line-height:2.0;
	}

	#entry #kiyaku{
		font-size:3.3vw;
		margin-top:0;
		padding-bottom:5%;
	}

	#entry dl{
		width:100%;
		height:13vw;
		margin:2% auto 0;
	}

	#entry dl dt{
		width:15%;
	}

	#entry dl dt p{
		font-size:5.0vw;
		line-height:5.0vw;
		padding-top:3%;
	}

	#entry dl dt span{
		font-size:2.2vw;
		line-height:2.2vw;
		padding-top:18%;
	}

	#entry dl dd{
		width:85%;
		font-size:2.9vw;
		padding-left:3%;
	}

	#entry dl dd a{
		font-size:2.6vw;
		width:26vw;
		height:6vw;
		line-height;6vw;
		border-radius:3vw;
		margin-left:5%;
	}

	#entry ul{
		width:100%;
		padding:5% 0 12%;
	}

	#entry ul li{
		border:2px solid #8e855a;
	}

	#entry ul li a{
		padding:5% 0;
	}
}

/*---------------------------------------
S1
---------------------------------------*/
#s1{
	width:100%;
	margin:0 auto;
	position:relative;
	background: url(../images/s1.jpg) no-repeat center top #0d1f33;
	background-size:100% auto;
	padding-bottom:30px;
}

#s1 .catch{
	width:6.7708%;
	position:absolute;
	right:30%;
	top:16vw;
}

#s1 .logo{
	width:37.5%;
	margin:0 auto;
	padding-top:43.5vw;
}

.entry_list{
	font-size:22px;
	color:#e6d46f;
	text-align:center;
	border-bottom:1px solid #e6d46f;
	margin:10px 0;
	padding-bottom:10px;
}

ul.photolist{
	width:100%;
	margin:30px auto 0;
	justify-content: start;
	align-items: stretch;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

ul.photolist li{
	width:32%;
	margin:0 2% 60px 0;
	position:relative;
	padding-bottom:40px;
}

ul.photolist li:nth-child(3n){
	margin-right:0;
}

ul.photolist li .photo{
	position:relative;
	width:100%;
	height:15.5vw;
	overflow: hidden;
	display: block;
	transition-duration: 0.3s;
}

ul.photolist li .photo img{
	transition-duration: 0.3s;
}

ul.photolist li .photo:hover img{
	transform: scale(1.1);
	opacity:0.6;
	cursor:pointer;
}

ul.photolist li p{
	font-size:22px;
	text-align:center;
	color:#e6d46f;
	margin-top:10px;
}

ul.photolist li span{
	display:block;
	font-size:15px;
	text-align:center;
	padding:10px 0 20px;
	line-height:1.8;
}

ul.photolist li a{
	display:block;
	width:200px;
	height:40px;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	box-sizing:border-box;
	border-radius:20px;
	overflow:hidden;
	font-size:18px;
	text-align:center;
	color:#000;
	font-weight:700;
	line-height:40px;
	z-index:0;
	margin:0 auto;
}

ul.photolist li a:hover{
  opacity:1.0;
}

ul.photolist li a:before{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  z-index:-1;
  left:0;
  transition:0.3s;
	background: -moz-linear-gradient(left, #8f855a 10%, #fce798 50%, #8f855a 90%);
  background: -webkit-linear-gradient(left, #8f855a 10%, #fce798 50%, #8f855a 90%);
  background: linear-gradient(to right, #8f855a 10%, #fce798 50%, #8f855a 90%);
}

ul.photolist li a:after{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  z-index:-2;
  left:0;
  transition:0.3s;
	background-color:#fff;
  opacity:0;
}

ul.photolist li a:hover:before{
  opacity:0;
}

ul.photolist li a:hover:after{
  opacity:1.0;
}

@media screen and (max-width:1640px) {
	.entry_list{
		font-size:1.5vw;
	}

	ul.photolist li:nth-child(3n){
		margin-right:4%;
	}

	ul.photolist li{
		width:48%;
		margin:0 4% 60px 0;
		position:relative;
		padding-bottom:3vw;
	}

	ul.photolist li .photo{
		height:28vw;
	}

	ul.photolist li:nth-child(2n){
		margin-right:0 !important;
	}

	ul.photolist li p{
		font-size:1.6vw;
	}

	ul.photolist li span{
		font-size:1.1vw;
	}

	ul.photolist li a{
		width:14vw;
		height:3vw;
		border-radius:1.5vw;
		font-size:1.3vw;
		line-height:40px;
	}
}

@media screen and (max-width: 767px) {
	#s1{
		background: url(../images/sp_s1.jpg) no-repeat center top #0d1f33;
		background-size:100% auto;
		padding-bottom:5%;
	}

	#s1 .catch{
		width:10.66666%;
		right:22%;
		top:36vw;
	}

	#s1 .logo{
		width:88%;
		padding-top:115vw;
	}

	.entry_list{
		font-size:3.4vw;
		margin:2% 0;
		padding-bottom:2%;
	}

	ul.photolist{
		width:100%;
		margin:5% auto 0;
	}

	ul.photolist li:nth-child(3n){
		margin-right:4%;
	}

	ul.photolist li{
		width:48%;
		margin:0 4% 8% 0;
		position:relative;
		padding-bottom:6vw;
	}

	ul.photolist li p{
		font-size:3.8vw;
	}

	ul.photolist li span{
		font-size:2.2vw;
	}

	ul.photolist li a{
		width:30vw;
		height:6vw;
		border-radius:3vw;
		font-size:2.7vw;
		line-height:6vw;
	}
}

/*---------------------------------------
S2
---------------------------------------*/
#s2{
	width:100%;
	margin:0 auto;
	position:relative;
	background: url(../images/s2.jpg) no-repeat center top #360200;
	background-size:100% auto;
	padding-bottom:30px;
}

#s2 .catch{
	width:5.2083%;
	position:absolute;
	right:0;
	top:0;
}

#s2 .logo{
	width:35.416%;
	margin:0 auto;
	padding-top:41vw;
}

@media screen and (max-width: 767px) {
	#s2{
		background: url(../images/sp_s2.jpg) no-repeat center top #360200;
		background-size:100% auto;
		padding-bottom:5%;
	}

	#s2 .catch{
		width:8.2666%;
		position:absolute;
		right:0;
		top:0;
	}

	#s2 .logo{
		width:88.0%;
		margin:0 auto;
		padding-top:105vw;
	}
}

/*---------------------------------------
S3
---------------------------------------*/
#s3{
	width:100%;
	margin:0 auto;
	position:relative;
	background: url(../images/s3.jpg) no-repeat center top #141f20;
	background-size:100% auto;
	padding-bottom:30px;
}

#s3 .catch{
	width:9.375%;
	position:absolute;
	right:0;
	top:0;
}

#s3 .logo{
	width:35.416%;
	margin:0 auto;
	padding-top:39.5vw;
}

@media screen and (max-width: 767px) {
	#s3{
		background: url(../images/sp_s3.jpg) no-repeat center top #141f20;
		background-size:100% auto;
		padding-bottom:5%;
	}

	#s3 .catch{
		width:14.6666%;
		position:absolute;
		right:0;
		top:0;
	}

	#s3 .logo{
		width:88.0%;
		margin:0 auto;
		padding-top:105vw;
	}
}

/*---------------------------------------
present
---------------------------------------*/
#present{
	padding:80px 0;
}

#present #date{
	color:#fff;
	text-align:center;
	font-size:34px;
	font-weight:700;
	padding:50px 0 90px;
}

#present #date span{
	font-size:28px;
}

#present ul{
	width:84.7222%;
	margin:80px auto 0;
	justify-content: center;
	align-items: stretch;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#present ul li{
	width:100%;
	margin-bottom:60px;
}

#present ul li:last-child{
	margin-bottom:0;
}

#present ul li:nth-child(2),
#present ul li:nth-child(3),
#present ul li:nth-child(4){
	width:49%;
}

#present ul li:nth-child(3){
	margin-left:2%;
}

#present ul li .poster{
	width:100%;
	background-color:#fff;
}

#present ul li .poster .poster_img{
	margin:0 auto;
	line-height:0;
	padding:20px 0;
}

#present ul li:nth-child(4) .poster .poster_img{
	padding:100px 0;
}

#present ul li:nth-child(1) .poster .poster_img{
	width:32%;
}

#present ul li:nth-child(2) .poster .poster_img,
#present ul li:nth-child(3) .poster .poster_img,
#present ul li:nth-child(4) .poster .poster_img{
	width:93%;
}

#present ul li p.lead{
	font-size:18px;
	text-align:center;
	color:#fff;
	margin-top:10px;
}

#present ul li p.num{
	font-size:40px;
	color:#e6d46f;
	text-align:center;
	margin-top:10px;
	font-weight:700;
}

#present ul li p.num span{
	font-size:26px;
}

#present p.caution{
	font-size:12px;
	color:#fff;
	text-align:center;
	margin-top:10px;
}

@media screen and (max-width:1640px) {
	#present #date{
		font-size:2.3vw;
	}

	#present #date span{
		font-size:1.9vw;
	}

	#present ul li p.lead{
		font-size:1.3vw;
	}

	#present ul li p.num{
		font-size:2.6vw;
	}

	#present ul li p.num span{
		font-size:1.6vw;
	}

	#present p.caution{
		font-size:0.9vw;
	}
}

@media screen and (max-width: 767px) {
	#present{
		padding:5% 0;
	}

	#present #date{
		font-size:4.0vw;
		padding:5% 0 12%;
	}

	#present #date span{
		font-size:3.4vw;
	}

	#present ul{
		width:100%;
		margin:6% auto 0;
	}

	#present ul li{
		width:100%;
		margin-bottom:8%;
	}

	#present ul li:nth-child(2),
	#present ul li:nth-child(3),
	#present ul li:nth-child(4){
		width:48%;
	}

	#present ul li:nth-child(3){
		margin-left:4%;
	}

	#present ul li .poster .poster_img{
		padding:7% 0;
	}

	#present ul li:nth-child(4) .poster .poster_img{
		padding:15% 0;
	}

	#present ul li:nth-child(1) .poster .poster_img{
		width:66.567%;
	}

	#present ul li:nth-child(1) .poster .poster_img{
		padding:4% 0;
	}

	#present ul li:nth-child(2) .poster .poster_img,
	#present ul li:nth-child(3) .poster .poster_img,
	#present ul li:nth-child(4) .poster .poster_img{
		width:93%;
	}

	#present ul li p.lead{
		font-size:2.8vw;
		text-align:center;
		color:#fff;
		margin-top:3%;
		line-height:1.8;
	}

	#present ul li p.num{
		font-size:6.0vw;
		margin-top:2%;
	}

	#present ul li p.num span{
		font-size:3.8vw;
	}

	#present p.caution{
		font-size:2.4vw;
		margin-top:2%;
	}

	#present ul li p.caution{
		margin-top:0 !important;
		line-height:2.4vw;
	}
}

/*---------------------------------------
movie
---------------------------------------*/

#movie{
	padding:80px 0;
}

#movie #trailer{
	width:83.3333%;
	margin:80px auto 0;
}

.video-container {
	width:100%;
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	#movie{
		padding:5% 0;
	}

	#movie #trailer{
		width:100%;
		margin:5% auto 0;
	}
}

/*---------------------------------------
bnr
---------------------------------------*/
ul.bnr{
	width:440px;
	margin:40px auto 0;
	justify-content: center;
	align-items: stretch;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

ul.bnr li:nth-child(1),
ul.bnr li:nth-child(2){
	width:200px;
}

ul.bnr li:nth-child(2){
	margin-left:40px;
}

ul.bnr li:nth-child(3) a{
	position:relative;
	display:block;
	width:200px;
	height:50px;
	box-sizing:border-box;
	font-size:18px;
	text-align:center;
	color:#000;
	font-weight:700;
	line-height:50px;
	z-index:0;
	margin:40px auto 0;
	overflow:hidden;
}

ul.bnr li:nth-child(3) a:hover{
  opacity:1.0;
}

ul.bnr li:nth-child(3) a:before{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  z-index:-1;
  left:0;
  transition:0.3s;
	background: -moz-linear-gradient(left, #8f855a 10%, #fce798 50%, #8f855a 90%);
  background: -webkit-linear-gradient(left, #8f855a 10%, #fce798 50%, #8f855a 90%);
  background: linear-gradient(to right, #8f855a 10%, #fce798 50%, #8f855a 90%);
}

ul.bnr li:nth-child(3) a:after{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  z-index:-2;
  left:0;
  transition:0.3s;
	background-color:#fff;
  opacity:0;
}

ul.bnr li:nth-child(3) a:hover:before{
  opacity:0;
}

ul.bnr li:nth-child(3) a:hover:after{
  opacity:1.0;
}

#copyright{
	font-size:12px;
	text-align:center;
	padding:50px 0 20px;
}

@media screen and (max-width: 767px) {
	ul.bnr{
		width:100%;
		margin:5% auto 0;
	}

	ul.bnr li:nth-child(1),
	ul.bnr li:nth-child(2){
		width:48%;
	}

	ul.bnr li:nth-child(2){
		margin-left:4%;
	}

	ul.bnr li:nth-child(3) a{
		width:40vw;
		height:10vw;
		font-size:3.2vw;
		line-height:10vw;
		margin:10% auto 0;
	}

	#copyright{
		font-size:1.8vw;
		text-align:center;
		padding:8% 0 3%;
	}
}

/*---------------------------------------
modal
---------------------------------------*/
.is_active {
	overflow:hidden;
}

.photo_modal {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	display: none;
	background:rgba(0,0,0,0.75);

}

.photo_modal .btn_close{
	width:40px;
	position:absolute;
	right:20px;
	top:20px;
	transition: 0.4s ;
}

.photo_modal .btn_close:hover{
	cursor:pointer;
	opacity:0.6;
}

.photo_modal .photo_img{
	width:62%;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


@media screen and (max-width: 767px) {
	.photo_modal .btn_close{
		width:5.3%;
		right:5%;
		top:10%;
	}

	.photo_modal .photo_img{
		width:90%;
	}
}


/*------------------------------------------
terms
------------------------------------------*/
.terms {
  /*display: none;*/
  position: fixed;
  top: 0;
  left: 0;
	right:0;
	background:rgba(0,0,0,0.85);
  height: 100vh;
	margin:auto;
	z-index:9000;
	width:100%;

  justify-content: center;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

}

.terms .close {
	width:40px;
	position:absolute;
	right:20px;
	top:20px;
	transition: 0.4s ;
}

.terms .close:hover{
	cursor:pointer;
  opacity: 0.6;
}

.terms_inner{
	width:800px;
	margin:0 auto;
	border:1px solid #fff;
	height:80vh;
	box-sizing:border-box;
	padding:50px;
}

.terms_block{
	width:100%;
	margin:0 auto;
	position:relative;
	overflow-y: scroll;
	height:100%;
	padding-right:30px;
	box-sizing:border-box;
}

.terms_inner .terms_title{
	font-size:18px;
	letter-spacing:0;
	padding-top:45px;
	margin-bottom:70px;
	text-align:center;
}

.terms h3 {
	font-size:16px;
	font-weight:500;
	margin:20px 0 5px;
}

.terms ul{
	width:100%;
	font-size:15px;
}

.terms ul li{
	text-indent: -0.5em;
	margin-left: 1em;
	margin-bottom:7px;
}

.terms ul li:before{
	content:"・";
}

.terms a{
	color:#fff;
	text-decoration:underline;
}

@media screen and (max-width: 767px) {
	.terms .close{
		width:5.3%;
		right:5%;
		top:5%;
	}

	.terms_inner{
		width:90%;
		height:76vh;
		padding:5%;
	}

	.terms_inner .terms_title{
		font-size:3.6vw;
		padding-top:5%;
		margin-bottom:5%;
	}

	.terms h3 {
		font-size:2.8vw;
		margin:5% 0 2%;
	}

	.terms ul{
		font-size:2.6vw;
	}

	.terms ul li{
		margin-bottom:2%;
		line-height:1.8;
	}
}

/*--------------------------------------
animation
----------------------------------------*/

@keyframes scale_up {
  0% {
	  opacity: 0;
    transform: scale(0.6);
  }
  100% {
	  opacity: 1;
    transform: scale(1);
  }
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fade {
  0% {
	  opacity: 0;
  }
  100% {
	  opacity: 1;
  }
}

.is_loaded2 #mainvisual h1 img{
  animation: scale_up 0.6s cubic-bezier(.22,.72,.32,.98) 1.0s forwards;
}

.is_loaded2 #mainvisual h2{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 1.6s forwards;
}

.is_loaded2 #mainvisual p{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 1.8s forwards;
}

.is_loaded2 #mainvisual h5{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 2.0s forwards;
}

.is_loaded2 #mainvisual span{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 2.2s forwards;
}

.is_loaded2 #mainvisual h3 img{
  animation: scale_up 1.0s cubic-bezier(.22,.72,.32,.98) 1.8s forwards;
}

.is_loaded2 #mainvisual h4 img{
  animation: scale_up 1.0s cubic-bezier(.22,.72,.32,.98) 2.2s forwards;
}


#mainvisual h1 img,
#mainvisual h2,
#mainvisual h3 img,
#mainvisual h4 img,
#mainvisual h5,
#mainvisual p,
#mainvisual span{
	opacity:0;
}

.title,
#entry p,
#entry #kiyaku,
#entry #step1,
#entry #step2,
#entry ul li{
	opacity:0;
}


#entry.is_loaded .title{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}

#entry.is_loaded p{
  animation: fade 1.2s cubic-bezier(.22,.72,.32,.98) 0.7s forwards;
}

#entry.is_loaded #kiyaku{
  animation: fade 1.2s cubic-bezier(.22,.72,.32,.98) 1.0s forwards;
}

#entry.is_loaded #step1{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 1.4s forwards;
}

#entry.is_loaded #step2{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 1.6s forwards;
}

#entry.is_loaded ul li:nth-child(1){
  animation: fade 1.2s cubic-bezier(.22,.72,.32,.98) 2.0s forwards;
}

#entry.is_loaded ul li:nth-child(2){
  animation: fade 1.2s cubic-bezier(.22,.72,.32,.98) 2.2s forwards;
}

#entry.is_loaded ul li:nth-child(3){
  animation: fade 1.2s cubic-bezier(.22,.72,.32,.98) 2.4s forwards;
}

#s1,
#s2,
#s3,
#s1 .catch,
#s1 .logo img,
#s2 .catch,
#s2 .logo img,
#s3 .catch,
#s3 .logo img,
.entry_list,
ul.photolist li{
	opacity:0;
}

#s1.is_loaded,
#s2.is_loaded,
#s3.is_loaded{
  animation: fade 1.6s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}

#s1.is_loaded .catch,
#s2.is_loaded .catch,
#s3.is_loaded .catch{
  animation: fade 1.6s cubic-bezier(.22,.72,.32,.98) 1.0s forwards;
}

#s1.is_loaded .logo img,
#s2.is_loaded .logo img,
#s3.is_loaded .logo img{
  animation: scale_up 0.6s cubic-bezier(.22,.72,.32,.98) 1.4s forwards;
}

.entry_list.is_loaded{
  animation: fade 0.6s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}

ul.photolist li.is_loaded{
  animation: fadeInUp 0.6s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}

#present #date,
#present .caution,
#present ul li{
	opacity:0;
}

#present.is_loaded #period.title{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}

#present.is_loaded #date{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 0.4s forwards;
}

#present.is_loaded #present_title.title{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 0.6s forwards;
}

#present ul li.is_loaded{
  animation: fadeInUp 0.6s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}

#present.is_loaded .caution{
  animation: fadeInUp 0.6s cubic-bezier(.22,.72,.32,.98) 0.6s forwards;
}

#movie #trailer{
	opacity:0;
}

#movie.is_loaded .title{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}

#movie.is_loaded #trailer{
  animation: fadeInUp 1.0s cubic-bezier(.22,.72,.32,.98) 0.4s forwards;
}


#result,
#result h2,
#result li{
	opacity:0;
}

#result.is_loaded{
  animation: fadeInUp 0.6s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}

#result.is_loaded h2{
  animation: fade 1.6s cubic-bezier(.22,.72,.32,.98) 0.8s forwards;
}

#result ul li.is_loaded{
  animation: fadeInUp 0.6s cubic-bezier(.22,.72,.32,.98) 0.2s forwards;
}