@charset "UTF-8";


#contents{	background-color: black;	}

/* ================================================================================
KV
================================================================================ */
#KV
{
	position: relative;
	width: 100%;	height: calc(100vw / 1920 * 850);
	background-color: rgba(250, 250, 250, 1.0);
	overflow: hidden;
}
#KV > .inner
{
	z-index: 10;
	position: absolute;
	top: 6vw;	right: 9.8vw;

	width: 52.0vw;
}

#KV .background
{
	z-index: 5;
	position: absolute;
	top: 0;	left: 0;
	width: 100%;	height: 100%;
}
#KV .background img{	object-fit: cover;	}

#KV h1
{
	width: 31.35vw;
	margin: 0 auto 0.35vw;
}
#KV h1 .logo img{	object-fit: contain;	}

#KV .hash
{
	width: 51.30vw;
	margin: 0 auto 0.6vw;
}
#KV .hash img{	object-fit: contain;	}

#KV picture.message
{
	width: 43.5vw;
	margin: 0 auto 2.1vw;
	transform: translateX(0.6vw);
}
#KV picture.message img{	object-fit: contain;	}

#KV p.message
{
	/* display: none; */

	margin: 0 auto 1.65vw;

	color: black;
	font-size: 1.2vw;
	text-align: center;
	line-height: 1.55;
	letter-spacing: 0.02em
}
#KV p.message span
{
	color: rgba(48,151,182,1.0);
	font-size: 1.7vw;
	font-weight: 500;
}

#KV .date
{
	width: 45vw;
	margin: 0 auto;

	background: linear-gradient(
		90deg,
		rgba(56, 159, 189, 1.0) 0%,
		rgba(46, 134, 168 ,1.0) 100%
	);

	color: white;
	font-size: 2.4vw;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.18em;
	line-height: 1.8;
}


/* ========================================
animation
======================================== */
#KV .background
{
	opacity: 0;
	filter: blur(0.1vw);
	transform: scale(1.03) translate(1.5vw, 0);
}

.loaded #KV .background
{
	opacity: 1;
	transform: scale(1.0) translate(0, 0);
	filter: blur(0);

	transition: 4s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
	transition-property: opacity, transform, filter;
}



/* ========================================
SP
======================================== */
@media screen and (max-width: 767px)
{



#KV{	height: calc(100vw / 750 * 1669);	}
#KV > .inner
{
	top: 0;	right: auto;
	width: 100%;
	padding: 71.5vw 0 0;
}

#KV h1
{
	width: 79vw;
	margin: 0 auto 2.2vw;
}

#KV .hash
{
	width: 100%;
	margin: 0 auto 2vw;
}

#KV p.message
{
	margin: 0 auto 9vw;

	font-size: 4.1vw;
	line-height: 1.47;
	letter-spacing: 0.1em
}
#KV p.message span
{
	font-size: 5.7vw;
	line-height: 1.35;
}

#KV .date
{
	width: 84vw;
	font-size: 6vw;
	line-height: 3.1;
}

}





/* ================================================================================
bestPrize
================================================================================ */
#bestPrize
{
	width: 100%;
	background-color: black;
}
#bestPrize > .inner
{
	width: 100%;	height: calc(100vw / 1920 * 1500);
	padding: 1.3vw 0 0;
	background: url("../image/index/bestPrize_background.webp") no-repeat center/cover;
}


#bestPrize h2{	margin: 0 auto 4vw;	}

#bestPrize .swiperArea{	position: relative;	}
#bestPrize .swiper{	width: calc(100vw / 1920 * 1200);	}


#bestPrize .swiper-button-prev,	#bestPrize .swiper-button-next
{
	width: 4.2vw;	height: 4.2vw;

	opacity: 1;
	transition: 0.3s ease-in-out 0s;
	transition-property: filter;
}
#bestPrize .swiper-button-prev{	left: 11.5vw	}
#bestPrize .swiper-button-next{	right: 11.5vw	}
#bestPrize .swiper-button-prev:hover,	#bestPrize .swiper-button-next:hover
{	filter: brightness(150%);	}

#bestPrize .swiper-button-prev:after,	#bestPrize .swiper-button-next:after
{
	content: "";
	width: 100%;	height: 100%;
	background: url("../image/index/bestPrize_arrow.webp") no-repeat center/contain;
}
#bestPrize .swiper-button-prev:after{	transform: rotate(180deg);	}

#bestPrize .swiper-pagination{	display: none;	}
#bestPrize .pager
{
	z-index: 5;
	position: absolute;
	top: -1vw;	left: 9.5vw;

	width: calc(100vw / 1920 * 290);	height: calc(100vw / 1920 * 290);
	background: url("../image/index/bestPrize_pager.webp") center/contain;
}
#bestPrize .pager .numC{	position: absolute;	top: 4.2vw;	left: 5.3vw;	}
#bestPrize .pager .numT{	position: absolute;	top: 7.5vw;	left: 8.4vw;	}
#bestPrize .pager li
{
	position: absolute;
	top: 0;	left: 0;
	width: calc(100vw / 1920 * 30);	height: calc(100vw / 1920 * 60);
	opacity: 0;

	transition: 1s ease-in-out 0s;
	transition-property: opacity;
}
#bestPrize .pager li img{	object-fit: contain;	}
#bestPrize .pager .n1 li:nth-child(1),
#bestPrize .pager .n2 li:nth-child(2),
#bestPrize .pager .n3 li:nth-child(3),
#bestPrize .pager .n4 li:nth-child(4),
#bestPrize .pager .n5 li:nth-child(5),
#bestPrize .pager .n6 li:nth-child(6),
#bestPrize .pager .n7 li:nth-child(7)
{	opacity: 1;}


#bestPrize .texts
{
	z-index: 10;
	position: relative;
	margin: -3.7vw 0 19vw;
}
#bestPrize .texts li
{
	position: absolute;
	top: 0;	left: 0;
	width: 100%;
	opacity: 0;
	transition: 1s ease-in-out 0s;
	transition-property: opacity;
}
#bestPrize .texts.n1 li:nth-child(1),
#bestPrize .texts.n2 li:nth-child(2),
#bestPrize .texts.n3 li:nth-child(3),
#bestPrize .texts.n4 li:nth-child(4),
#bestPrize .texts.n5 li:nth-child(5),
#bestPrize .texts.n6 li:nth-child(6),
#bestPrize .texts.n7 li:nth-child(7)
{	opacity: 1;}



#bestPrize .button
{
	width: calc(100vw / 1920 * 575);
	margin: 0 auto;
}
#bestPrize .button a
{
	filter: brightness(100%);
	transition: 0.3s ease-in-out 0s;
	transition-property: filter;
}
#bestPrize .button a:hover{	filter: brightness(150%);	}






/* ========================================
SP
======================================== */
@media screen and (max-width: 767px)
{

#bestPrize > .inner
{
	height: 270vw;
	padding: 3vw 0 0;
}
#bestPrize h2{	margin: 0 auto 23vw;	}
#bestPrize .swiperArea{	margin: 0 0 8vw;	}
#bestPrize .swiper{	width: 100%;	}
#bestPrize .swiper-button-prev,	#bestPrize .swiper-button-next
{
	top: -9vw;
	width: 8vw;	height: 8vw;
}
#bestPrize .swiper-button-prev{	left: 8vw	}
#bestPrize .swiper-button-next{	right: 8vw	}

#bestPrize .pager
{
	top: -21.5vw;	left: 36.5vw;
	width: 27vw;	height: 27vw;
}
#bestPrize .pager .numC{	position: absolute;	top: 7vw;	left: 10vw;	}
#bestPrize .pager .numT{	position: absolute;	top: 13vw;	left: 15vw;	}
#bestPrize .pager li{	width: 3vw;	height: 6vw;	}
#bestPrize .texts{	display: none;	}
#bestPrize .button{	width: 84vw;	}


}





/* ================================================================================
post
================================================================================ */
#post
{
	width: 100%;
	margin: 0 0 1.8vw;
	background: url("../image/index/post_background.webp") no-repeat center/cover;
	background-color: black;
	background-position: center bottom;

}
#post > .inner{	padding: 0 0 10.2vw;	}

#post h2{	margin: 0 0 3vw;	}

#post .messages
{
	display: flex;	flex-wrap: wrap;	justify-content: center;
	gap: 2.5vw 2.5vw;
	width: calc(100vw / 1920 * 1200);
	margin: 0 auto;
}
#post .messages li{	width: calc((100vw / 1920 * 1200 - 2.5vw) / 2);	}





/* ========================================
SP
======================================== */
@media screen and (max-width: 767px)
{


#post
{
	width: 100%;
	margin: 0;
	background: url("../image/index/post_background_sp.webp") no-repeat center/contain;
	background-color: black;
	background-position: center bottom;

}
#post > .inner{	padding: 2.8vw 0 25vw;	}

#post h2{	margin: 0 0 5.8vw;	}
#post .messages{	width: 84vw;	gap: 4vw 0;	}
#post .messages li{	width: 100%;	}
#post .texts
{
	top: 265vw;	left: 0;
	width: 100%;
	transform: translate(0,0);
}
#post .texts p:nth-child(1)
{
	margin: 0 0 3vw;

	font-size: 6vw;
	letter-spacing: 0.25em;
}
#post .texts p:nth-child(2)
{
	font-size: 4vw;
	line-height: 1.5;
}


}





/* ================================================================================
apply
================================================================================ */
#apply
{
	position: relative;
	width: 100%;
	background-color: black;
}
#apply::before
{
	z-index: 5;
	position: absolute;
	top: 0;	left: 0;

	content: "募集は終了しました";
	display: flex;	justify-content: center;	align-items: center;
	width: 100%;	height: calc(100vw / 1920 * 1172);
	background-color: rgba(14, 40, 56, 0.85);

	color: white;
	font-size: 2.5vw;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.1em;
}

#apply > .inner
{
	width: 100%;	height: calc(100vw / 1920 * 1172);
	background: url("../image/index/apply_background.webp") no-repeat center/cover;
}


#apply h2
{
	/* display: none; */
	margin: 0 auto 1.9vw;
}

#apply .steps
{
	/* display: none; */
	width: 62.5vw;
	margin: 0 auto;
}

#apply .steps > li
{
	display: flex;	justify-content: space-between;
	margin: 0 0 3.54vw;
}
#apply .steps > li > .box:nth-child(1){	width: 7.44vw;	}
#apply .steps > li > .box:nth-child(2){	width: 54vw;	}

#apply .steps .text_1
{
	margin: -0.56vw 0 1.35vw;

	color: rgba(255, 255, 255, 0.6);
	font-size: 1.1vw;
	letter-spacing: 0.06em;
	line-height: 1.8;
}
#apply .steps .button_1{	width: 31.25vw;	}

#apply .steps .text_2
{
	margin: -0.6vw 0 1.35vw;

	color: white;
	font-size: 1.1vw;
	letter-spacing: 0.06em;
	line-height: 2;
}
#apply .steps .text_2 span
{
	padding: 0.3vw 0.9vw;
	margin: 0 0.5vw 0 0;

	background-color: white;
	color: rgba(0, 172, 238, 1.0);
	font-size: 1.4vw;
	font-weight: 500;
	letter-spacing: 0.07em;
}
#apply .steps .button_2
{
	width: 31.25vw;
	margin: 0 0 1vw;
}

#apply .steps .text_3
{
	margin: -0.6vw 0 1.35vw;

	color: white;
	font-size: 1.1vw;
	letter-spacing: 0.06em;
	line-height: 2;
}
#apply .steps .text_3 span
{
	margin: 0 0.3vw;
	background-color: white;
	color: rgba(0, 172, 238, 1.0);
	font-weight: 500;
	letter-spacing: 0.07em;
}


#apply .steps .notes > li
{
	padding: 0 0 0 1em;

	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8vw;
	line-height: 1.8;
	letter-spacing: 0.07em;
	text-indent: -1em;
}
#apply .steps .notes > li a
{
	color: white;
	text-decoration: underline;
	text-underline-offset: 0.5em;
}



/* ========================================
SP
======================================== */
@media screen and (max-width: 767px)
{

#apply > .inner
{
	height: calc(100vw / 750 * 2629);
	padding: 13vw 0 0;
	background: url("../image/index/apply_background_sp.webp") no-repeat center/cover;
}
#apply::before
{
	content: "募集は\A終了しました";
	display: flex;	justify-content: center;	align-items: center;
	width: 100%;	height: calc(100vw / 750 * 2629);

	font-size: 11vw;
	line-height: 1.3;
	letter-spacing: 0.05em;
	white-space: pre;
}

#apply h2{	margin: 0 auto 11.2vw;	}

#apply .steps{	width: 84vw;	}
#apply .steps > li
{
	display: block;
	margin: 0 0 12vw;
}
#apply .steps > li > .box:nth-child(1)
{
	width: 23vw;
	margin: 0 auto 5vw;
}
#apply .steps > li > .box:nth-child(2){	width: 100%;	}

#apply .steps .text_1
{
	margin: 0 0 3vw;

	color: white;
	font-size: 4vw;
	line-height: 1.5;
}
#apply .steps .button_1{	width: 100%;	}

#apply .steps .text_2
{
	margin: 0 0 3.5vw;

	color: white;
	font-size: 4vw;
	line-height: 1.5;
}
#apply .steps .text_2 span
{
	padding: 0 3vw;

	font-size: 5.8vw;
	line-height: 1.7;
}
#apply .steps .button_2
{
	width: 100%;
	margin: 0 0 3vw;
}

#apply .steps .text_3
{
	margin: 0 0 3.5vw;

	color: white;
	font-size: 4vw;
	line-height: 1.5;
}
#apply .steps .text_3 span
{
	padding: 0 3vw;
	margin: 0 2vw 0 0;

	font-size: 5.8vw;
	line-height: 1.7;
}


#apply .steps .notes > li
{
	color: white;
	font-size: 3vw;
	line-height: 1.5;
	word-break: break-all;
}
#apply .steps .notes > li a
{
	color: white;
	text-decoration: underline;
	text-underline-offset: 0.5em;
}




}


/* ================================================================================
prize
================================================================================ */
.prizeResultWrapper
{
	background: url("../image/index/prize_background.webp") no-repeat center/cover;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 1) 0%,
		rgba(20, 45, 53, 1) 100%
	);
}

#prize
{
	width: 100%;
	padding: 1vw 0 7.5vw;
}
#prize > .inner{	width: 100%;	}

#prize h2{	margin: 0 auto 0.95vw;	}

#prize .prizeBox
{
	position: relative;
	width: 62.5vw;

	border-top: 1px solid rgba(102, 166, 255, 1);
	border-bottom: 1px solid rgba(48, 151, 182, 1);
}
#prize .prize_1
{
	padding: 0 0 3vw;
	margin: 0 auto 3.7vw;
	background: url("../image/index/prize_boxback.webp") no-repeat center/cover;
}
#prize .prize_2
{
	padding: 0 0 2.6vw;
	margin: 0 auto;
}

#prize .prizeBox::before,
#prize .prizeBox::after
{
	position: absolute;
	content: "";
	display: block;
	width: 1px;	height: 100%;
	background: linear-gradient(
		0deg,
		rgba(48, 151, 182, 1) 0%,
		rgba(102, 166, 255, 1) 100%
	);
}
#prize .prizeBox::before{	top: 0;	left: 0;	}
#prize .prizeBox::after{	top: 0;	right: 0;	}

#prize .prizeBox .text_1
{
	width: 20.83vw;
	background: url("../image/index/prize_titleback.webp") no-repeat center/cover;

	padding: 0.5vw 0;

	color: white;
	font-size: 1.45vw;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
}
#prize .prize_2 .text_1{	margin: 0 0 2vw;	}


#prize .prize_1 picture
{
	width: 44.53vw;
	margin: 0 auto 2.3vw;
}

#prize .prize_1 h3
{
	width: 51.2vw;
	margin: 0 auto 2.4vw;

	color: white;
	font-size: 2.2vw;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-shadow: 0 0 1vw rgba(66, 154, 180, 1.0);
}
#prize .prize_1 h3 span{	font-size: 0.6em;	}

#prize .prize_2 h3
{
	width: 51.2vw;
	margin: 0 auto 2.4vw;

	color: white;
	font-size: 1.4vw;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
#prize .prize_2 h3 span{	font-size: 1.6em;	}



#prize .prizeBox .text_2
{
	color: white;
	font-size: 1.14vw;
	letter-spacing: 0.1em;
	line-height: 1.8;
}
#prize .prize_1 .text_2
{
	width: 51.2vw;
	margin: 0 auto;
}

#prize .prize_2 .boxes
{
	display: flex;	justify-content: space-between;
	width: 48.6vw;
	margin: 0 auto 0 5.8vw;
}
#prize .prize_2 .boxes > .box:nth-child(1){	width: 26.04vw;	}
#prize .prize_2 .boxes > .box:nth-child(2){	width: 17.86vw;	}



/* ========================================
SP
======================================== */
@media screen and (max-width: 767px)
{

.prizeResultWrapper{	background: url("../image/index/prize_background_sp.webp") no-repeat center/cover;	}

#prize{	padding: 3vw 0 7.5vw;	}
#prize h2{	margin: 0 auto 9.5vw;	}

#prize .prizeBox
{
	width: 100%;

	border-bottom: 1px solid rgba(102, 166, 255, 1);
	border-top: 1px solid rgba(48, 151, 182, 1);
}
#prize .prize_1
{
	padding: 0 0 12.5vw;
	margin: 0 auto 7vw;
	background: url("../image/index/prize_boxback.webp") no-repeat center/cover;
}
#prize .prize_2
{
	padding: 0 0 12.5vw;
	margin: 0 auto;
	background: url("../image/index/prize_boxback.webp") no-repeat center/cover;
}

#prize .prizeBox::before,
#prize .prizeBox::after
{	display: none;	}

#prize .prizeBox .text_1
{
	width: 73vw;

	padding: 1vw 0 1vw 8vw;
	font-size: 6vw;
	text-align: left;
}
#prize .prize_1 .text_1{	margin: 0 0 6.5vw;	}
#prize .prize_2 .text_1{	margin: 0 0 6.5vw;	}


#prize .prize_1 picture
{
	width: 84vw;
	margin: 0 auto 5.5vw;
}
#prize .prize_2 picture
{
	width: 79vw;
	margin: 0 auto 5.5vw;
}

#prize .prize_1 h3
{
	width: 84vw;
	margin: 0 auto 5vw;

	color: white;
	font-size: 6vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.1;
}
#prize .prize_1 h3,
#prize .prize_2 h3
{
	text-shadow:
		0 0 3vw rgba(66, 154, 180, 1.0),
		0 0 5vw rgba(66, 154, 180, 1.0);
}
#prize .prize_1 h3 span
{
	font-size: 0.6em;
	letter-spacing: 0.1em;
}

#prize .prize_2 h3
{
	width: 100%;
	font-size: 4vw;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
#prize .prize_2 h3 span{	font-size: 1.4em;	}


#prize .prizeBox .text_2
{
	color: white;
	font-size: 3.6vw;
	line-height: 1.5;
}
#prize .prize_1 .text_2{	width: 84vw;	}
#prize .prize_2 .text_2{	width: 84vw;	}

#prize .prize_2 .boxes
{
	display: flex;	justify-content: space-between;
	/* width: 46.6vw; */
	width: 100%;
	margin: 0 auto 0 5.8vw;
}
#prize .prize_2 .boxes > .box:nth-child(1){	width: 100%;	}
#prize .prize_2 .boxes > .box:nth-child(2){	width: 100%;	}


}




/* ================================================================================
result
================================================================================ */
#result
{
	width: 100%;
	padding: 0 0 6vw;
}
#result > .inner{	width: 100%;	}

#result h2{	margin: 0 auto 1.6vw;	}

#result .date
{
	margin: 0 0 7.3vw;

	color: white;
	font-size: 2.34vw;
	font-weight: 100;
	letter-spacing: 0.05em;
	text-align: center;
}

#result .termsBox
{
	width: 62.5vw;
	padding: 0 5vw 3.4vw;
	margin: 0 auto 3.6vw;

	border: 1px solid white;
	background-color: black;
}
#result .termsBox h3
{
	padding: 1.95vw 0;
	margin: 0 0  1.1vw;
	border-bottom: 2px solid white;

	color: white;
	font-size: 1.45vw;
	font-weight: 500;
	text-align: center;
}
#result .termsBox .scrollArea
{
	height: 23vw;
	padding: 0 1.5vw 0 0;
	overflow-y: scroll;
}
#result .termsBox p
{
	color: white;
	font-size: 1.04vw;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

#result .termsBox .scrollArea
{
	overflow-y: scroll;
	scrollbar-color: white black;
}

#result .termsBox .scrollArea::-webkit-scrollbar
{
	width: 0.5vw;
	background-color: black;
}
#result .termsBox .scrollArea::-webkit-scrollbar-thumb
{
	background-color: white;
	border-radius: 0.25vw;
}

#result .banner
{
	width: 29.68vw;
	margin: 0 auto 1vw;
}
#result .official
{
	color: white;
	font-size: 1.14vw;
	letter-spacing: 0.1em;
	text-align: center;
}

#result .banner a
{
	filter: brightness(100%);
	transition: 0.3s ease-in-out 0s;
	transition-property: filter;
}
#result .banner a:hover{	filter: brightness(150%);	}



/* ========================================
SP
======================================== */
@media screen and (max-width: 767px)
{


#result
{
	width: 100%;
	padding: 0 0 13.5vw;
}
#result > .inner{	width: 100%;	}

#result h2{	margin: 0 auto 3.5vw;	}

#result .date
{
	margin: 0 0 18vw;
	font-size: 6vw;
}

#result .termsBox
{
	width: 95vw;
	padding: 0 0 5vw;
	margin: 0 auto 14vw;

	border: 1px solid white;
	background-color: black;
}
#result .termsBox h3
{
	padding: 5vw 0;
	margin: 0 0 5vw;

	font-size: 6vw;
}
#result .termsBox .scrollArea
{
	width: 85vw;	height: 57vw;
	padding: 0 1.5vw 0 0;
	margin: 0 auto;
}
#result .termsBox p
{
	font-size: 3.5vw;
	line-height: 1.5;
}


#result .banner
{
	width: 77vw;
	margin: 0 auto 3vw;
}
#result .official{	font-size: 4vw;	}




}









/* ======================================== end ======================================== */
