@charset "UTF-8";





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
RESET_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
*{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

h1,h2,h3,h4,h5,h6,
div,p,
span,em,strong,
ul,ol,li,
dl,dt,dd,
a{
	background-repeat: no-repeat;
	background-size: 100% auto;
}

a{
	outline: none;
	text-decoration: none;
}

.sp{
	display: block;
}

.pc{
	display: none;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
RESET_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/






/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
COMMON_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
body{
	min-height: 1000px;
	margin: 0;
	background-image: url(../images/bg_roop.png);
	background-position: top center;
	background-size: 100% auto;
	background-repeat: repeat-y;
	background-attachment: fixed;
	color: #ffffff;
	font-family: "EurostileNextW1G-WideBold";
}
html,body{
	width: 100%;
	height: 100%;
	vertical-align: baseline;
}
#grandwrapper{
	position: relative;
	width: 100%;
	overflow: hidden;
	
}
.sp {
	display: block;
}
.pc {
	display: none;
}



/*
汎用リンクスタイル
*/
a {
	color: #171818;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
a:hover {
	color: #009e41;
}



/*
汎用登録ボタン
*/
.regist {
	margin: clamp(0.625rem, -0.511rem + 5.68vw, 3.75rem) auto 60px;
}
.regist a {
	position: relative;
	display: block;
    background-image: url(../images/regist_btn_bg.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 90% auto;
    color: #ffffff;
    width: 100%;
    height: 135px;
    font-size: clamp(1.563rem, 1.339rem + 1.12vw, 1.875rem);
    line-height: 135px;
    margin: 0 auto;
}
.regist a em {
	font-style: normal;
	text-shadow: 0 0 20px #00f6ff;
}
.regist a span {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
	width: clamp(0.813rem, 0.676rem + 0.68vw, 1.188rem);
	height: 25px;
}
.regist a span:nth-of-type(1) {
	background-image: url(../svg/regist_btn_arrow_l.svg);
	margin: -12.5px 0 0 calc(clamp(6.875rem, 5.089rem + 8.93vw, 9.375rem) * -1);
}
.regist a span:nth-of-type(2) {
	background-image: url(../svg/regist_btn_arrow_r.svg);
	margin: -12.5px 0 0 clamp(5.938rem, 4.375rem + 7.81vw, 8.125rem);
}

/*hover*/
.regist a,
.regist a em {
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
.regist a span {
	animation-duration: 800ms;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: infinite;
}
.regist a:hover {
	filter: drop-shadow(0px 0px 30px #00f6ff);
}
.regist a:hover em {
	text-shadow: 0 0 30px #00f6ff;
    letter-spacing: 0.06em;
}
.regist a:hover span:nth-of-type(1) {
	animation-name: bounce_h_l;
}
.regist a:hover span:nth-of-type(2) {
	animation-name: bounce_h_r;
}




/*
汎用アニメーション
*/
/*一括指定*/
.wp_t_a,
.wp_t_b,
.wp_t_c,
.wp_t_d {
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: inherit;
}

/*トグルタイプ*/
.wp_t_a_toggle {
	opacity: 0;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
.wp_t_a_toggle_active {
	opacity: 1;
}

/*通過タイプ*/
.wp_t_a {
	opacity: 0;
	animation-duration: 800ms;
}
.wp_t_a_active {
	animation-name: anime_wp_t_a;
}
@keyframes anime_wp_t_a {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100%{
		opacity: 1;
		transform: translateY(0px);
	}
}

/*通過タイプ*/
.wp_t_b {
	opacity: 0;
	animation-duration: 800ms;
}
.wp_t_b_active {
	animation-name: anime_wp_t_b;
}
@keyframes anime_wp_t_b {
	0% {
		opacity: 0;
		transform: translateY(-20px);
	}
	100%{
		opacity: 1;
		transform: translateY(0px);
	}
}

/*通過タイプ*/
.wp_t_c {
	opacity: 0;
	animation-duration: 800ms;
}
.wp_t_c_active {
	animation-name: anime_wp_t_c;
}
@keyframes anime_wp_t_c {
	0% {
		opacity: 0;
		transform: translateX(-130px) rotateY(180deg);
	}
	100%{
		opacity: 1;
		transform: translateX(0px) rotateY(0deg);
	}
}

/*通過タイプ*/
.wp_t_d {
	opacity: 0;
	animation-duration: 800ms;
}
.wp_t_d_active {
	animation-name: anime_wp_t_d;
}
@keyframes anime_wp_t_d {
	0% {
		opacity: 0;
		transform: translateX(130px) rotateY(180deg);
	}
	100%{
		opacity: 1;
		transform: translateX(0px) rotateY(0deg);
	}
}

/*バウンス*/
.anime_bounce_h_l {
	animation-name: bounce_h_l;
}
.anime_bounce_h_r {
	animation-name: bounce_h_r;
}
@keyframes bounce_h_l {
	0% {
		transform: translateX(0px);
	}
	50% {
		transform: translateX(5px);
	}
	100%{
		transform: translateX(0px);
	}
}
@keyframes bounce_h_r {
	0% {
		transform: translateX(0px);
	}
	50% {
		transform: translateX(-5px);
	}
	100%{
		transform: translateX(0px);
	}
}

/*拡大＞縮小*/
@keyframes common_anime_scale {
	0% {
		opacity: 1;
		transform: scale(4);
	}
	20% {
		opacity: 1;
		transform: scale(1.03);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
COMMON_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/






/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
LOADING_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#loading{
	z-index: 999;
	background-color: #171818;
	color: #000000;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:bottom;
}

#loading.remove{
	opacity: 0;
	pointer-events: none;
}

#loading > p {
	opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -54px 0 0 -63px;
    display: inline-block;
    width: 126px;
    height: 108px;
		fill: #ffffff;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:bottom;
	transform: scale(1.1);
}

#loading > p svg {
    width: 126px;
    height: 108px;
}



/*
ローディング中
*/
#loading.start > p {
	opacity: 1;
	animation-duration: 800ms;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: infinite;
	animation-name: common_anime_loading;
}

@keyframes common_anime_loading {
	0% {
		transform: rotateY(0deg);
	}
	100%{
		transform: rotateY(360deg);
	}
}



/*
ローディング完了演出
*/
#loading.active > p {
	opacity: 1;
	animation-duration: 1600ms;
	animation-delay: 0;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: 1;
	animation-name: common_anime_loadend;
}

@keyframes common_anime_loadend {
	0% {
		opacity: 1;
		transform: scale(4);
	}
	10% {
		opacity: 1;
		transform: scale(1);
	}
	90% {
		opacity: 1;
		transform: scale(1.3);
	}
	100%{
		opacity: 0;
		transform: scale(0.2);
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
LOADING_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/








/*――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

ビジュアル

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ビジュアル_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#top #vis {
	z-index: 1;
	position: relative;
	width: 100%;
	height: 620px;
	overflow: hidden;
}

/*
ヘッダーロゴ
*/
#vis header > ul {
	z-index: 2;
	position: relative;
	box-sizing: border-box;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    height: 150px;
    padding: 0.5rem 1rem;
}

/*リンクボタン領域*/
#vis header > ul .link {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
#vis header > ul .link a {
	display: block;
	position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
#vis header > ul .link a:hover {
	transform: translateY(-5px);
}
#vis header > ul .link a.bz {
	background-image: url(../images/logo_bz_2l.png);
	width: 150px;
	height: 73px;
	text-indent: -9999px;
}
#vis header > ul .link a.discord {
	background-color: #5865f2;
	background-image: url(../svg/icon_discord.svg);
	background-size: 25px auto;
	background-position: 10px center;
	color: #ffffff;
	margin: 0 0 0 20px;
	padding: 10px 10px 10px 45px;
	font-size: 12px;
	letter-spacing: 0.065em;
	text-align: left;
	border-radius: 6px;
}

/*MDロゴ*/
#vis header > ul .md {
	background-image: url(../images/logo_md.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
		/* width: 90px;
    height: 55px; */
    text-indent: -9999px;
}

/*
ロゴ
*/
#top #vis h1 {
    z-index: 2;
    position: absolute;
    left: 50%;
    margin: 0 0 0 -430px;
    width: 860px;
    height: 450px;
}
#top #vis h1 span {
    z-index: 3;
    position: absolute;
    top: 151px;
    left: 48px;
    background-image: url(../images/logo_bz_cp_grange_bz.png);
    background-position: center center;
    background-repeat: no-repeat;
    width: 765px;
    height: 150px;
}
#top #vis h1 em {
    z-index: 2;
    position: absolute;
    top: 0px;
    left: 0;
    margin: 0 0 0 0;
    background-image: url(../images/logo_bz_cp_grange_base.png);
    background-position: center center;
    background-repeat: no-repeat;
    width: 860px;
    height: 450px;
	text-indent: -9999px;
}



/*
キービジュアル
*/
#top #vis figure {
	z-index: 1;
    position: absolute;
    top: 30px;
    left: 50%;
    margin: 0 0 0 -570px;
    transform-origin: center;
    text-align: center;
}
#top #vis figure img {
	width: 1000px;
}



/*
アニメーション
*/
/*ヘッダーロゴ要素*/
#vis header > ul li {
	opacity: 0;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
#vis header > ul li.link {
	transform: translateX(60px);
}
#vis header > ul li.md {
	transform: translateX(-60px);
}
#vis.active header > ul li.link {
	opacity: 1;
	transform: translateX(0px);
}
#vis.active header > ul li.md {
	opacity: 1;
	transform: translateX(0px);
}

/*キャラ*/
#top #vis figure {
	opacity: 0;
	animation-duration: 1600ms;
	animation-delay: 0;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: 1;
}
#top #vis.active figure {
	animation-name: common_anime_scale;
}

/*ロゴ*/
#top #vis h1 em,
#top #vis h1 span {
	opacity: 0;
	animation-duration: 1600ms;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: 1;
}
#top #vis h1 em {
	animation-delay: 600ms;
}
#top #vis h1 span {
	animation-delay: 1000ms;
}
#top #vis.active h1 em {
	animation-name: common_anime_scale;
}
#top #vis.active h1 span {
	animation-name: common_anime_scale;
}

/* レイアウト調整 */
@media screen and (min-width:426px) and (max-width:768px) {
	#top #vis {
		height: 950px;
	}
	#vis header > ul .link a.bz {
		width: 140px;
    height: 80px;
	}
	#vis header > ul .link a.discord {
		font-size: 10px;
	}
	#vis header > ul .md {
		width: 70px;
    height: 65px;
	}
	#top #vis h1 {
    top: 300px;
	}
	#top #vis h1 span {
		background-size: 52% auto;
	}
	#top #vis h1 em {
		background-size: 52% auto;
	}

}

@media screen and (max-width:425px) {
	#top #vis {
		height: 800px;
	}
	#vis header > ul .link a.bz {
		width: 83px;
    height: 42px;
	}
	#vis header > ul .link a.discord {
		margin: 0 0 0 5px;
		padding: 10px 10px 10px 40px;
		font-size: 9px;
	}
	#vis header > ul .md {
		width: 48px;
    height: 48px;
	}
	#top #vis h1 {
    top: 230px;
	}
	#top #vis h1 span {
		background-size: 39% auto;
	}
	#top #vis h1 em {
		background-size: 39% auto;
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ビジュアル_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/








/*――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

プログラム概要

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
プログラム概要_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#outline {
	z-index: 3;
	position: relative;
	top: 0px;
	display: flex;
		flex-direction: column;
    justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}



/*
パネル＆共通汎用
*/
#outline > div {
	box-sizing: border-box;
	position: relative;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 90% 90%;
	width: 100%;
	height: auto;
	text-align: center;
}

/*シンボル*/
#outline > div .symbol {
	position: absolute;
  left: 50%;
}
#outline > div .symbol img {
	height: auto;
}

/*見出し*/
#outline > div h3 {
	width: 90%;
	line-height: 1em;
}

/*リワード*/
#outline > div .reward h4 {
	margin: 0 0 20px 0;
	color: #ffffff;
	line-height: 1em;
}

/*遷移ボタン*/
#outline > div .goto {
	position: relative;
		bottom: 0;
    display: block;
    background-image: url(../images/categoryinfo_btn_event.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 90% auto;
    color: #ffffff;
    height: 110px;
    margin: 0 auto;
    letter-spacing: 0.165em;
		line-height: 110px;
    text-align: center;
}

#outline >div.video .goto {
	background-image: url(../images/categoryinfo_btn_video.png);
}

/*ビデオ*/
#outline > div.video {
	background-image: url(../images/categoryinfo_bg_video_sp.png);
}
#outline > div.video h3 {
	color: #f1ab1a;
}
#outline > div.video .reward h4 {
	text-shadow: 0 0 20px #ffac00;
}
#outline > div.video .reward p {
	color: #f1ab1a;
}
#outline > div.video .goto {
	color: #f1ab1a;
}
#outline > div.video .goto:hover {
	bottom: -10px;
	filter: drop-shadow(0px 0px 10px #ffac00);
}

/*イベント*/
#outline > div.event {
	background-image: url(../images/categoryinfo_bg_event_sp.png);
}
#outline > div.event h3 {
	color: #1a8ff1;
}
#outline > div.event .reward h4 {
	text-shadow: 0 0 20px #008bff;
}
#outline > div.event .reward p {
	color: #008bff;
}
#outline > div.event .goto {
	color: #1a8ff1;
}
#outline > div.event .goto:hover {
	bottom: -10px;
	filter: drop-shadow(0px 0px 10px #008bff);
}



/*
アニメーション
*/
#outline > div .symbol,
#outline > div h3,
#outline > div .reward,
#outline > div .goto {
	opacity: 0;
	animation-duration: 1600ms;
	animation-delay: 0;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: 1;
}
#outline > div.wp_t_c_active .symbol,
#outline > div.wp_t_d_active .symbol {
	animation-name: anime_wp_t_b;
}
#outline > div.wp_t_c_active h3,
#outline > div.wp_t_d_active h3 {
	animation-name: anime_wp_t_a;
}
#outline > div.wp_t_c_active .reward,
#outline > div.wp_t_d_active .reward {
	animation-name: anime_wp_t_b;
}
#outline > div.wp_t_c_active .goto,
#outline > div.wp_t_d_active .goto {
	animation-name: anime_wp_t_a;
}

/* レイアウト調整 */
@media screen and (min-width:426px) and (max-width:768px) {
	#outline > div {
		padding: 80px 0;
		margin-bottom: 40px;
	}
	#outline > div .symbol {
		top: -60px;
		margin: 0 0 0 -52px;
	}
	#outline > div .symbol img {
		width: 110px;
	}
	#outline > div h3 {
		margin: 0 auto 50px;
		font-size: 50px;
	}
	#outline > div .reward h4 {
		font-size: 80px;
	}
	#outline > div .reward p {
		font-size: 30px;
		padding-bottom: 20px;
	}
	#outline > div .goto {
		width: 410px;
    font-size: 30px;
	}
}

@media screen and (max-width:425px) {
	#outline > div {
		padding: 50px 0;
		margin-bottom: 40px;
	}
	#outline > div .symbol {
		top: -50px;
		margin: 0 0 0 -39px;
	}
	#outline > div .symbol img {
		max-width: 85px;
	}
	#outline > div h3 {
		margin: 0 auto 35px;
		font-size: 23px;
	}
	#outline > div .reward h4 {
		font-size: 50px;
	}
	#outline > div .reward p {
		font-size: 18px;
	}
	#outline > div .goto {
		width: 300px;
    font-size: 25px;
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
プログラム概要_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/








/*――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

カテゴリー詳細

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
汎用カテゴリー詳細_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.details {
	position: relative;
	top: -130px;
	width: 100%;
	min-height: 2000px;
	overflow: hidden;
	text-align: center;
}
.details::before,
.details::after {
	z-index: 1;
	position: absolute;
	left: 50%;
	margin: 100px 0 0 -840px;
	content: "";
	display: block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 1679px auto;
	width: 1679px;
}
#details_video.details::before {
	top: 0;
	background-image: url(../images/bg_category_video_top.png);
}
#details_video.details::after {
	bottom: 0;
	background-image: url(../images/bg_category_video_bottom.png);
}
#details_event.details::before {
	top: 0;
	background-image: url(../images/bg_category_event_top.png);
}
#details_event.details::after {
	bottom: 0;
	background-image: url(../images/bg_category_event_bottom.png);
}
.details > div {
	z-index: 2;
	position: relative;
    padding: 100px 0 50px 0;
}



/*
アイコン
*/
.details .symbol {
    position: relative;
    top: 25px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    margin: 0 auto 50px auto;
	text-indent: -9999px;
}
#details_video.details .symbol {
    background-image: url(../images/icon_cat_video.png);
}
#details_event.details .symbol {
    background-image: url(../images/icon_cat_event.png);
}



/*
見出し
*/
.details h2 {
	margin: 0 0 30px 0;
    line-height: 1em;
    color: #f1ab1a;
}
#details_video.details h2 {
	color: #f1ab1a;
}
#details_event.details h2 {
	color: #008bff;
}



/*
リード
*/
.details .read {
    margin: 0 auto;
    color: #ffffff;
    line-height: 1.5;
    letter-spacing: 0.025em;
		word-break:break-word;
	}
.details .read ul {
	margin: 20px auto 0;
}
.details .read ul li {
	display: flex;
	align-items: center;
	color: #008bff;
	font-size: 20px;
	line-height: 1.2;
}
.details .read ul li::before {
	content: "";
	display: inline-block;
	background-image: url(../svg/icon_check.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
	width: 25px;
	height: 25px;
	margin: 0 15px 0 0;
}



/*
期間
*/
.details .period {
	margin: 0 0 70px 0;
}

/*見出し*/
.details .period h3 {
	position: relative;
    color: #ffffff;
	margin: 0 0 37px 0;
    font-size: 40px;
    line-height: 1em;
    letter-spacing: 0.03em;
}
.details .period h3 span {
	display: block;
    background-image: url(../svg/icon_period.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 45px;
    height: 47px;
    margin: 0 auto 20px auto;
}

/*日時リスト*/
.details .period table {
	border-collapse: separate;
	border-spacing: 10px;
	width: 100%;
	margin: 0 auto;
}
.details .period table td,
.details .period table th {
	color: #ffffff;
	padding: 10px;
	font-size: 18px;
	vertical-align: middle;
}
.details .period table th {
	background-color: #171717;
}
.details .period table td {
	border: 1px #171717 solid;
}



/*
リワード
*/
.details .reward {}

/*見出し*/
.details .reward h3 {
	position: relative;
    color: #ffffff;
	margin: 0 0 37px 0;
    line-height: 1em;
    letter-spacing: 0.03em;
}
.details .reward h3 span {
	display: block;
    background-image: url(../svg/icon_reward.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 70px;
    height: 70px;
    margin: 0 auto 20px auto;
}



/*総額*/
.details .reward .totale {
    display: flex;
		flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background-image: url(../images/totalreward_bg_sp.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 95% 100%;
    color: #ffffff;
    width: 100%;
    margin: 0 auto 30px auto;
	font-size: 20px;
}
.details .reward .totale h4 {
	flex: 1;
}
.details .reward .totale > p {
    width: 100%;
    display: flex;
		flex-direction: column;
    align-items: center;
	justify-content: center;
}
.details .reward .totale > p em {
	display: block;
	margin: 10px 0 0 0;
	font-style: normal;
    text-shadow: 0 0 20px #00f6ff;
}
.details .reward .totale > p span {
	margin: 5px 0 0 0;
}

/*個別条件*/
.details .reward .media {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}
.details .reward .media > div {
    box-sizing: border-box;
    position: relative;
    margin: 0 auto 30px;
    padding: 110px 0 0 0;
    background-image: url(../images/totalreward_media_bg.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 320px;
    height: 286px;
    text-align: center;
    color: #ffffff;
}
.details .reward .media > div h4 {
	position: relative;
    line-height: 0.5em;
    margin: 0;
}
.details .reward .media > div h4 span {
	position: absolute;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    top: -80px;
    left: 50%;
    width: 50px;
    height: 50px;
    margin: 0 0 0 -25px;
}
.details .reward .media > div.youtube h4 span {
    background-image: url(../images/icon_yotube.png);
}
.details .reward .media > div.tiktop h4 span {
    background-image: url(../images/icon_tiktok.png);
}
.details .reward .media > div > p {
	background-color: rgba(0, 0, 0, 0.5);
    margin: 0;
    padding: 30px 0;
}
.details .reward .media > div .caption {
	position: absolute;
	bottom: 20px;
	color: #4a4a4a;
	padding: 0 10px;
}

/* レイアウト調整 */
@media screen and (min-width:426px) and (max-width:768px) {
	.details::before,
	.details::after {
		height: 994px;
}
	.details .symbol {
    width: 150px;
    height: 150px;
	}
	.details h2 {
		font-size: 58px;
	}
	.details .read { 
		width: 95%;
		font-size: 19px;
	}
	.details .read ul li {
		justify-content: center;
		padding-bottom: 20px;
	}
	.details .period table td,
	.details .period table th {
	padding: 10px;
	font-size: 18px;
}
	.details .period h3,
	.details .reward h3 {
    font-size: 38px;
	}
	.details .reward .totale {
    height: 190px;
		padding-bottom: 30px;
	}
	.details .reward .totale h4 {
		margin-top: 40px;
	}
	.details .reward .totale > p em {
		font-size: 55px;
	}
	.details .reward .media > div {
		padding: 120px 0 0 0;
	}
	.details .reward .media > div h4 {
		font-size: 35px;
	}
	.details .reward .media > div > p {
		font-size: 20px;
	}
	.details .reward .media > div .caption {
		font-size: 15px;
	}
}

@media screen and (max-width:425px) {
	.details::before,
	.details::after {
		height: 954px;
}
	.details .symbol {
    width: 110px;
    height: 110px;
	}
	.details h2 {
		font-size: 45px;
	}
	.details .read { 
		width: 90%;
		font-size: 18px;
	}
	.details .read ul li {
		justify-content: flex-start;
		text-align: left;
		padding-bottom: 15px;
	}
	.details .period table td,
	.details .period table th {
	padding: 10px;
	font-size: 16px;
	}
	.details .period h3,
	.details .reward h3 {
		font-size: 36px;
	}
	.details .reward .totale {
    height: 170px;
		padding-bottom: 20px;
	}
	.details .reward .totale h4 {
		margin-top: 30px;
	}
	.details .reward .totale > p em {
		font-size: 50px;
	}
	/*
	.details .reward .media > div {
		padding: 110px 0 0 0;
	}
	*/
	.details .reward .media > div h4 {
		font-size: 30px;
	}
	.details .reward .media > div > p {
		font-size: 18px;
	}
	.details .reward .media > div .caption {
		font-size: 14px;
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
汎用カテゴリー詳細_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

ルール

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ルール_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#rules {}



/*
見出し
*/
#rules h2 {
	color: #6a6a6a;
    margin: 0 0 30px 0;
    line-height: 1em;
	text-align: center;
}



/*
規約
*/
#rules .rulesdetail {
	box-sizing: border-box;
	color: #6a6a6a;
	width: 80%;
	margin: 0 auto;
	font-family: "FOT-ニューロダン Pro B";
	font-family: "NewRodinPro-B";
	text-align: justify;
	word-break: break-all;
	overflow-x: scroll;
	border: 1px #6a6a6a solid;
}

#rules .rulesdetail h3 {
}
#rules .rulesdetail h4 {
}
#rules .rulesdetail h5 {
}
#rules .rulesdetail h6 {
}
#rules .rulesdetail ol {
}
#rules .rulesdetail ol li {
	list-style-type: decimal;
}


/* レイアウト調整 */
@media screen and (min-width:426px) and (max-width:768px) {
	#rules h2 {
		font-size: 55px;
	}
	#rules .rulesdetail {
		height: 430px;
		padding: 30px 30px 50px 30px;
		letter-spacing: 0.03em;
		font-size: 15px;
		line-height: 2em;
	}
	#rules .rulesdetail h3 {
		font-size: 25px;
		margin: 0 0 25px 0;
	}
	#rules .rulesdetail h4 {
		font-size: 19px;
		margin: 80px 0 15px 0;
	}
	#rules .rulesdetail h5 {
		font-size: 17px;
		margin: 50px 0 15px 0;
	}
	#rules .rulesdetail h6 {
		font-size: 15px;
		margin: 30px 0 15px 0;
	}
	#rules .rulesdetail ol {
		margin: 25px auto;
	}
	#rules .rulesdetail ol li {
		margin: 0.75em 0 0.75em 2.5em;
	}
}
@media screen and (max-width:425px) {
	#rules h2 {
		font-size: 45px;
	}
	#rules .rulesdetail {
		height: 400px;
		padding: 20px 20px 40px 20px;
		letter-spacing: 0.04em;
		font-size: 14px;
		line-height: 1.75em;
	}
	#rules .rulesdetail h3 {
		font-size: 22px;
		margin: 0 0 20px 0;
	}
	#rules .rulesdetail h4 {
		font-size: 18px;
		margin: 60px 0 15px 0;
	}
	#rules .rulesdetail h5 {
		font-size: 16px;
		margin: 40px 0 10px 0;
	}
	#rules .rulesdetail h6 {
		font-size: 14px;
		margin: 20px 0 10px 0;
	}
	#rules .rulesdetail ol {
		margin: 20px auto;
	}
	#rules .rulesdetail ol li {
		margin: 0.5em 0 0.5em 2em;
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ルール_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/





/*――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

フッター

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
フッター_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
footer#grandfooter {
	position: relative;
	background-color: #0b0b0b;
	color: #6a6a6a;
	margin: 100px 0 0 0;
	padding: 20px 0 30px 0;
	text-align: center;
}
footer#grandfooter::before {
	content: "";
    display: block;
    position: absolute;
    top: -97px;
    left: 0;
    background-image: url(../images/footer_bg.png);
    background-size: 1680px 97px;
    background-position: bottom center;
    width: 100%;
    height: 97px;
}



/*
ロゴ
*/
footer#grandfooter .bzinfo {
	color: #ffffff;
}
footer#grandfooter .bzinfo h2 {
	background-image: url(../images/logo_bz_2l.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    text-indent: -9999px;
}



/*
OFFICIALリンク
*/
footer#grandfooter .link a {
	display: inline-block;
    background-size: 40px auto;
    background-position: center center;
    margin: 40px 0 40px;
    text-indent: -9999px;
    border-radius: 8px;
}
footer#grandfooter .link a:hover {
	transform: translateY(-5px);
}
footer#grandfooter .discord {
    background-image: url(../svg/icon_discord.svg);
    background-color: #5865f2;
}



/*
クッキー
*/
footer#grandfooter .cookies {
	font-size: 10px;
}
footer#grandfooter .cookies ul {
	display: flex;
	align-items: center;
	justify-content: center;
}
footer#grandfooter .cookies ul li {
	color: #e1c144;
	cursor: pointer;
	padding: 10px;
}



/*
MDロゴ
*/
footer#grandfooter h3 {
    background-image: url(../images/logo_md.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 100px;
    height: 61px;
    margin: 40px auto;
    text-indent: -9999px;
}

/* レイアウト調整 */
@media screen and (min-width:426px) and (max-width:768px) {
	footer#grandfooter .bzinfo {
		font-size: 13px;
	}	
	footer#grandfooter .bzinfo h2 {
		width: 230px;
		height: 117px;
		margin: 20px auto;
	}
	footer#grandfooter .link a {
		margin: 35px 0 35px;
    width: 75px;
    height: 75px;
	}
}
@media screen and (max-width:425px) {
	footer#grandfooter .bzinfo {
		font-size: 12px;
	}	
	footer#grandfooter .bzinfo h2 {
		width: 200px;
		height: 100px;
		margin: 15px auto;
	}
	footer#grandfooter .link a {
		margin: 30px 0 30px;
    width: 70px;
    height: 70px;
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
フッター_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/








/*――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

フォーム系

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
応募ページ_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/*
汎用
*/
/*汎用見出し*/
#substr section > h2 {
	text-align: center;
	color: #ffffff;
    position: relative;
	margin: 0 0 45px 0;
		font-size: 30px;
    letter-spacing: 0.016em;
}
#substr section > h2 span {
    position: absolute;
	left: 50%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 90% auto;
}



/*
ビジュアル領域
*/
#substr #vis {
	text-align: center;
	margin: 0 0 188px 0;
}

/*見出し共通*/
#substr #vis .title {
	margin: 162px 0 0 0;
}
#substr #vis .title h1 {
	position: relative;
    margin: 0;
    line-height: 1em;
}
#substr #vis .title h1 span {
	position: absolute;
    left: 50%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

/*個別*/
#substr.video #vis .title h1 {
	color: #f1ab1a;
}
#substr.video #vis .title h1 span {
	background-image: url(../images/icon_cat_video.png);
}
#substr.event #vis .title h1 {
	color: #1a8ff1;
}
#substr.event #vis .title h1 span {
	background-image: url(../images/icon_cat_event.png);
}

/*コンテンツロゴ*/
#substr #vis .title h2 {
	background-image: url(../images/logo_bz_cp_grange.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 220px;
    height: 145px;
    margin: 0 auto;
    text-indent: -9999px;
}

/*フォーム名*/
#substr #vis .title h3 {
	color: #ffffff;
	font-size: 64px;
	line-height: 1em;
	letter-spacing: 0.0165em;
    text-shadow: 0 0 20px #00f6ff;
}

/*キャプション文言*/
#substr #vis .read {
	width: 90%;
	margin: 60px auto;
	font-size: 16px;
    font-family: "FOT-ニューロダン Pro B";
    font-family: "NewRodinPro-B";
}

/*演出*/
#substr #vis .title h1,
#substr #vis .title h2,
#substr #vis .title h3 {
	opacity: 0;
	animation-duration: 1600ms;
	animation-delay: 200ms;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: 1;
}
#substr #vis .title h1 {
	transform: translateY(30px);
}
#substr #vis .title h2,
#substr #vis .title h3 {
	transform: translateY(-30px);
}
#substr #vis.active .title h1 {
	animation-name: anime_wp_t_a;
}
#substr #vis.active .title h2 {
	animation-name: anime_wp_t_b;
}
#substr #vis.active .title h3 {
	animation-name: anime_wp_t_b;
}



/*
参加条件
*/
#substr #participate {
	margin: 0 0 150px 0;
	text-align: center;
	color: #ffffff;
}

/*見出し*/
#substr #participate h2 {}
#substr #participate h2 span {
    top: -65px;
    margin: 0 0 0 -28px;
    background-image: url(../svg/icon_participate.svg);
    width: 60px;
    height: 43px;
}

/*リスト*/
#substr #participate .htplist {
	box-sizing: border-box;
    background: linear-gradient(0deg, #051c1d, #000606);
    color: #00f6ff;
    width: 90%;
    margin: 0 auto;
    border: 1px #2e2e2e solid;
    border-radius: 10px;
}

#substr #participate .htplist ul {

}
#substr #participate .htplist ul li {
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	align-items: center;
	margin: 0 0 30px 0;
}
#substr #participate .htplist ul li:last-child {
	margin: 0;
}
#substr #participate .htplist ul li em {
    display: block;
    background-color: #00f6ff;
    color: #000606;
	margin: 0 0 10px 0;
    padding: 6px 16px;
    font-style: normal;
    text-align: center;
    line-height: 1em;
    border-radius: 3px;
}
#substr #participate .htplist ul li p {
	text-align: justify;
	letter-spacing: 0.016em;
	overflow-wrap: break-word;
    word-break: break-all;
}

/*
概要
*/
#substr #notice {
	margin: 0 0 150px 0;
	padding: 0 10px;
	text-align: center;
	color: #ffffff;
}

/*見出し*/
#substr #notice h2 {
	margin: 0 0 30px 0;
}
#substr #notice h2 span {
	top: -65px;
    margin: 0 0 0 -25px;
    background-image: url(../svg/icon_notice.svg);
    width: 54px;
    height: 43px;
}

/*リード*/
#substr #notice .read {
	width: 95%;
	margin: 0 auto;
	font-family: "FOT-ニューロダン Pro B";
	font-family: "NewRodinPro-B";
	letter-spacing: 0.016em;
}



/*
登録フォーム
*/
#substr #registerform {
	margin: 0 0 170px 0;
	padding: 0 10px;
	text-align: center;
	color: #ffffff;
}

/*見出し*/
#substr #registerform h2 {
	margin: 0 0 40px 0;
}
#substr #registerform h2 span {
	top: -65px;
    margin: 0 0 0 -25px;
    background-image: url(../svg/icon_registration.svg);
    width: 54px;
    height: 43px;
}



/*入力エリア*/
#substr #registerform table {
	border-collapse: collapse;
	width: 90%;
	margin: 0 auto;
}
#substr #registerform table tr {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	min-height: 80px;
	margin: 0 0 20px 0;
    border: 1px #2e2e2e solid;
    border-radius: 6px;
}
#substr #registerform table th {
	flex: 1;
	padding: 20px 0;
	font-size: 18px;
}
#substr #registerform table th sup {
	margin: 0 0 0 3px;
	color: #ff0000;
}
#substr #registerform table td {
    box-sizing: border-box;
    width: 100%;
	font-family: "FOT-ニューロダン Pro B";
	font-family: "NewRodinPro-B";
    text-align: left;
}
#substr #registerform table td input,
#substr #registerform table td textarea {
    box-sizing: border-box;
	background-color: #161616;
	color: #00f6ff;
    width: 100%;
    border: none;
    padding: 15px;
	font-size: 16px;
    border-radius: 6px;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
#substr #registerform table td input:focus,
#substr #registerform table td textarea:focus {
	outline: none;
	background-color: #131818;
	box-shadow: 0 0 10px rgba(0,246,255,1);
}

/*入力エリア内ラベルあり要素*/
#substr #registerform table td.onlabel {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 20px;
}
#substr #registerform table td.onlabel input {
width: 20px;
height: 20px;
margin: 0 20px 0 0;
}
#substr #registerform table td.onlabel label {
flex: 1;
color: #6a6a6a;
}
#substr #registerform table td.onlabel > div {
display: flex;
align-items: center;
justify-content: flex-start;
margin: 0 30px 0 0;
}



/*
規約リンク
*/
#substr #registerform .terms {
	display: flex;
    justify-content: space-between;
    align-items: stretch;
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto 70px auto;
	padding: 10px;
    border: 1px #2e2e2e solid;
    border-radius: 6px;
}
#substr #registerform .terms a {
		display: flex;
		align-items: center;
		justify-content: center;
    background-color: #161616;
    color: #6a6a6a;
    width: 45%;
	margin: 0 5px;
    padding: 20px;
    font-family: "FOT-ニューロダン Pro B";
    font-family: "NewRodinPro-B";
		line-height: 1.5;
    border-radius: 6px;
}
#substr #registerform .terms a:hover {
	background-color: #131818;
}



/*
送信ボタン
*/
/*無効状態*/
#substr #registerform .submit button.disabled {
	pointer-events: none;
	background-image: url(../images/regist_btn_bg.png);
	color: #555;
text-shadow: none;
filter: grayscale(1);
}

/*通常*/
#substr #registerform .submit {
	position: relative;
	display: inline-block;
}
#substr #registerform .submit button {
	/*button要素のディフォルトをリセット*/
	background: none;
	font-size: 1em;
	border: none;
	/*スタイルをセット*/
	position: relative;
	display: block;
    background-image: url(../images/regist_btn_bg.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    height: 111px;
	margin: 120px auto;
    margin: 0 auto;
	color: #ffffff;
	font-family: "EurostileNextW1G-WideBold";
	text-shadow: 0 0 20px #00f6ff;
    line-height: 111px;
	cursor: pointer;
}
#substr #registerform .submit button span {
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
#substr #registerform .submit button span:nth-of-type(1) {
	background-image: url(../svg/regist_btn_arrow_l.svg);
}
#substr #registerform .submit button span:nth-of-type(2) {
	background-image: url(../svg/regist_btn_arrow_r.svg);
}

/*hover*/
#substr #registerform .submit button {
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
#substr #registerform .submit button span {
	animation-duration: 800ms;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: infinite;
}
#substr #registerform .submit button:hover {
	text-shadow: 0 0 30px #00f6ff;
    letter-spacing: 0.06em;
	filter: drop-shadow(0px 0px 30px #00f6ff);
}
#substr #registerform .submit button:hover span:nth-of-type(1) {
	animation-name: bounce_h_l;
}
#substr #registerform .submit button:hover span:nth-of-type(2) {
	animation-name: bounce_h_r;
}

/* レイアウト調整 */
@media screen and (min-width:426px) and (max-width:768px) {
	#substr #vis .title h1 {
		font-size: 40px;
	}
	#substr #vis .title h1 span {
		top: -155px;
		margin: 0 0 0 -70px;
		width: 140px;
    height: 135px;
	}
	#substr #vis .title h3 {
		font-size: 50px;
	}
	#substr #participate .htplist {
		padding: 30px 25px;
	}
	#substr #participate .htplist ul li em {
		font-size: 25px;
	}
	#substr #participate .htplist ul li p {
		font-size: 19px;
	}
	#substr #notice .read {
		font-size: 17px;
		line-height: 2;
	}
	#substr #registerform table td {
		padding: 15px 15px;
	}
	#substr #registerform table td input {
    font-size: 17px;
    padding: 20px;
	}
	#substr #registerform table td.onlabel label {
	font-size: 16px;
	line-height: 1.4;
	}
	#substr #registerform .terms a {
		font-size: 16px;
	}
	#substr #registerform .submit button {
		width: 400px;
		font-size: 25px;
	}
	#substr #registerform .submit button span {
		width: 18px;
		height: 24px;
	}
	#substr #registerform .submit button span:nth-of-type(1) {
		margin: -12.5px 0 0 -120px;
	}
	#substr #registerform .submit button span:nth-of-type(2) {
		margin: -12.5px 0 0 100px;
	}
}

@media screen and (max-width:425px) {
	#substr #vis .title h1 {
		font-size: 35px;
	}
	#substr #vis .title h1 span {
		top: -145px;
		margin: 0 0 0 -65px;
		width: 130px;
    height: 125px;
	}
	#substr #vis .title h3 {
		font-size: 40px;
	}
	#substr #participate .htplist {
		padding: 25px 20px;
	}
	#substr #participate .htplist ul li em {
		font-size: 22px;
	}
	#substr #participate .htplist ul li p {
		font-size: 18px;
	}
	#substr #notice .read {
		font-size: 16px;
		line-height: 2.125;
	}
	#substr #registerform table td {
		padding: 10px 10px;
	}
	/*
	#substr #registerform table td input {
    font-size: 15px;
    padding: 15px;
	}
	*/
	#substr #registerform table td.onlabel label {
		font-size: 15px;
		line-height: 1.4;
	}
	#substr #registerform .terms a {
		font-size: 15px;
	}
	#substr #registerform .submit button {
		width: 300px;
		font-size: 20px;
	}
	#substr #registerform .submit button span {
		width: 15px;
		height: 25px;
	}
	#substr #registerform .submit button span:nth-of-type(1) {
		margin: -12.5px 0 0 -95px;
	}
	#substr #registerform .submit button span:nth-of-type(2) {
		margin: -12.5px 0 0 75px;
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
応募ページ_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
送信結果ページ_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/*
ヘッダー領域
*/
#substr.registration.thanks #vis {
	margin: 0 0 80px 0;
}



/*
メッセージ部分
*/
#substr #sending {
	color: #ffffff;
	text-align: center;
}

/*見出し*/
#substr #sending h2 {
	color: #ffffff;
    margin: 0 0 80px 0;
    line-height: 1em;
    letter-spacing: 0.0165em;
    text-shadow: 0 0 20px #00f6ff;
}

/*リード*/
#substr #sending .read {
	width: 90%;
	margin: 0 auto;
    border: 1px #2e2e2e solid;
	border-radius: 10px;
}
#substr #sending .read p {
    font-family: "FOT-ニューロダン Pro B";
    font-family: "NewRodinPro-B";
	line-height: 2.2em;
	letter-spacing: 0.065em;
	margin: 0 0 2em 0;
}
#substr #sending .read p:last-child {
	margin: 0;
}

/* レイアウト調整 */
@media screen and (min-width:426px) and (max-width:768px) {
	#substr #sending h2 {
		font-size: 35px;
	}
	#substr #sending .read {
		padding: 50px 0;
	}
	#substr #sending .read p {
		font-size: 15px;
		padding: 0 20px;
	}
}

@media screen and (max-width:425px) {
	#substr #sending h2 {
		font-size: 30px;
	}
	#substr #sending .read {
		padding: 40px 0;
	}
	#substr #sending .read p {
		font-size: 14px;
		padding: 0 15px;
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
送信結果ページ_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







/*――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

メンバーページ

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
メンバートップ_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/*
ビジュアル領域
*/
#substr.member #vis {
	text-align: center;
	margin: 0 0 108px 0;
}

/*ヘッダー要素*/
#substr.member #vis header {
	margin: 0 0 50px 0;
}
#substr.member #vis header > ul {
	height: auto;
}

/*見出し共通*/
#substr.member #vis .title {
	margin: 0 0 0 0;
}
#substr.member #vis .title h1 {
	position: relative;
    margin: 0 0 17px 0;
    line-height: 1em;
    text-shadow: 0 0 20px #00f6ff;
}
#substr.member #vis .title h2 {
	margin: 0 auto 26px auto;
}



/*
リードセクション
*/
#substr.member #read {
	width: 90%;
	margin: 0 auto 50px auto;
	text-align: center;
}
#substr.member #read > div p {
    font-family: "FOT-ニューロダン Pro B";
    font-family: "NewRodinPro-B";
	line-height: 2em;
	letter-spacing: 0.065em;
	margin: 0 0 2em 0;
}



/*
ダウンロードセクション
*/
#substr.member #download {
	text-align: center;
}

/*ダウンロードセクション*/
#substr.member #download .dlsection {}
#substr.member #download .dlsection > span {
	display: block;
	background-image: url(../svg/icon_download.svg);
	background-size: 100% auto;
	background-position: center center;
	background-repeat: no-repeat;
}

/*ダウンロードボタン*/
#substr.member #download .dlsection > a {
	position: relative;
	display: block;
    background-image: url(../images/regist_btn_bg.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    color: #ffffff;
    height: 111px;
    line-height: 111px;
	text-shadow: 0 0 20px #00f6ff;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
#substr.member #download .dlsection > a:hover {
	filter: drop-shadow(0px 0px 30px #00f6ff);
	text-shadow: 0 0 30px #00f6ff;
    letter-spacing: 0.06em;
}

/*容量*/
#substr.member #download .dlsection > em {
	font-style: normal;
}

/*注意事項*/
#substr.member #download .caution {
    width: 90%;
    margin: 0 auto;
    color: #ffffff;
    line-height: 2em;
    letter-spacing: 0.025em;
}
#substr.member #download .caution ul {
	margin: 30px auto;
}
#substr.member #download .caution ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 20px 0;
	color: #00f6ff;
	line-height: 1.25em;
}
#substr.member #download .caution ul li::before {
	content: "";
	display: inline-block;
	background-image: url(../svg/icon_check_skyblue.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
	margin: 0 15px 0 0;
}

/* レイアウト調整 */
@media screen and (min-width:426px) and (max-width:768px) {
	#substr.member #vis {
		margin: 0 0 128px 0;
	}
	#substr.member #vis .title h1 {
    font-size: 60px;
	}
	#substr.member #read > div p {
		font-size: 15px;
	}
	#substr.member #download .dlsection > span {
		width: 48px;
		height: 43px;
		margin: 0 auto 20px auto;
	}
	#substr.member #download .dlsection > a {
		width: 400px;
		font-size: 30px;
    margin: 0 auto 10px auto;
	}
	#substr.member #download .dlsection > em {
		font-size: 18px;
	}
	#substr.member #download .caution {
    font-size: 18px;
	}
	#substr.member #download .caution ul li {
		font-size: 19px;
	}
	#substr.member #download .caution ul li::before {
		width: 28px;
		height: 28px;
	}
}

@media screen and (max-width:425px) {
	#substr.member #vis {
		margin: 0 0 98px 0;
	}
	#substr.member #vis .title h1 {
    font-size: 45px;
	}
	#substr.member #read > div p {
		font-size: 14px;
	}
	#substr.member #download .dlsection > span {
		width: 44px;
		height: 39px;
		margin: 0 auto 10px auto;
	}
	#substr.member #download .dlsection > a {
		width: 300px;
		font-size: 22px;
    margin: 0 auto 0px auto;
	}
	#substr.member #download .dlsection > em {
		font-size: 16px;
	}
	#substr.member #download .caution {
    font-size: 16px;
	}
	#substr.member #download .caution ul li {
		font-size: 18px;
	}
	#substr.member #download .caution ul li::before {
		width: 26px;
		height: 26px;
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
メンバートップ_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/