@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: none!important;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　			RESET_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/






/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
COMMON_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
body{
	background-color: #000000;
	color: #cccccc;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 1677px 1474px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
html,body{
	width: 100%;
	height: 100%;
	vertical-align: baseline;
}
#grandwrapper{
	position: relative;
	width: 100%;
	min-height: 1280px;
	overflow: hidden;
}
.sp {
	display: none;
}
.pc {
	display: block;
}






/*
〓〓〓フォント関連〓〓〓
*/
.font_en_t_b {
	font-family: "termina", sans-serif;
	font-weight: 700;
	font-style: normal;
}



/*
汎用アニメーション
*/
/*一括指定*/
.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(-20px);
	}
	100%{
		opacity: 1;
		transform: translateX(0px);
	}
}

/*通過タイプ*/
.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(20px);
	}
	100%{
		opacity: 1;
		transform: translateX(0px);
	}
}



/*
flexの末尾調整用
*/
.emptyflexbox {
	background-color: transparent !important;
	height: 0 !important;
	min-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	border: none !important;
}
.emptyflexbox::before,
.emptyflexbox::after {
	display: none !important;
}



/*
magnificPopup
*/
/*フェードアニメーション初期設定*/
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: .8;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
/*ギャラリーモードUI*/
.mfp-arrow-right:after {
    border-left: 17px solid #c10019 !important;
}
.mfp-arrow-right:before {
	border-left: transparent !important;
}
.mfp-arrow-left:after {
    border-right: 17px solid #c10019 !important;
}
.mfp-arrow-left:before {
	border-right: transparent !important;
}
.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
	color: #c10019 !important;
}
.mfp-counter {
	color: #c10019 !important;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　			　　COMMON_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/






/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
LOADING_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#loading{
	z-index: 999;
	background-color: #000000;
	color: #ffffff;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition-duration: 1000ms;
	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;
}



/*
SVG格納要素指定
*/
#loading > div {
	opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -63px 0 0 -54px;
    display: inline-block;
    width: 126px;
    height: 108px;
	display: flex;
	align-items: center;
	justify-content: center;
	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 > div svg {
    width: 126px;
    height: 108px;
}
#loading > div svg g:nth-of-type(1),
#loading > div svg g:nth-of-type(1) .outer,
#loading > div svg g:nth-of-type(2) {
	animation-duration: 6000ms;
	animation-delay: 0;
	animation-timing-function: linear;
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: infinite;
	transform-origin: center;
}
#loading > div svg g:nth-of-type(1) .outer {
	animation-direction: reverse;
	animation-duration: 3000ms;
	animation-delay: 1500;
}
#loading > div svg g:nth-of-type(1) .st0,
#loading > div svg g:nth-of-type(2) .st0 {
	fill:#720816;
}



/*
ロード中演出
*/
#loading.start > div {
	opacity: 1;
	transform: scale(1);
}
#loading.start > div svg g:nth-of-type(1) {
	animation-name: common_anime_nowloading_deg;
}
#loading.start > div svg g:nth-of-type(1) .outer {
	animation-name: common_anime_nowloading_deg;
}
#loading.start > div svg g:nth-of-type(2) {
	/*animation-name: common_anime_nowloading_deg;*/
}
@keyframes common_anime_nowloading_deg {
	0% {
		transform: rotateY(0deg);
	}
	50% {
		transform: rotateY(180deg);
	}
	100%{
		transform: rotateY(360deg);
	}
}



/*
フェードアウト演出
*/
#loading.active > div {
	opacity: 1;
	animation-duration: 600ms;
	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;
	transform-origin: center;
	animation-name: common_anime_removeloading;
}
@keyframes common_anime_removeloading {
	0% {
		transform: scale(1);
	}
	50% {
		opacity: 1;
		transform: scale(1.1);
	}
	100%{
		opacity: 0;
		transform: scale(0.7);
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　LOADING_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
フッター_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
footer {
	background: linear-gradient(180deg,#000000,#210c0f);
	text-align: center;
	padding: 100px 0;
}





/*
COMMUNITY
*/
footer .community {
	margin: 0 0 140px 0;
}
footer .community h3 {
	width: 729px;
	height: 111px;
	margin: 0 auto 87px auto;
	background-image: url(../images/community_title.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-indent: -9999px;
}
footer .community  > ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 460px;
	margin: 0 auto;
	transition-duration: 2000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
footer .community  > ul li {
	background-image: url(../images/community_target.png);
	background-position: center center;
    background-repeat: no-repeat;
	background-size: 100% auto;
	width: 120px;
	height: 120px;
    transition-duration: 1000ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(.42,0,0,.99);
    transition-delay: 0ms;
    transform-origin: center;
}
footer .community > ul li:hover {
	filter: brightness(200%);
}
footer .community  > ul li a {
    display: block;
    box-sizing: border-box;
    background-position: center 30px;
    background-repeat: no-repeat;
    width: 120px;
    height: 120px;
    padding: 86px 0 0 0;
    font-size: 10px;
	font-family: "termina", sans-serif;
	font-weight: 500;
	font-style: normal;
    text-align: center;
    letter-spacing: 0.08em;
    text-indent: 0.2em;
    color: #ffffff;
    transition-duration: 1000ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(.42,0,0,.99);
    transition-delay: 0ms;
    transform-origin: center;
}
footer .community  > ul li a:hover {
    letter-spacing: 0.4em;
    text-indent: 0.2em;
}
footer .community  > ul li.x a{
	background-image: url(../images/icon_x.png);
	background-size: 41px auto;
}
footer .community  > ul li.discord a{
	background-image: url(../images/icon_discord.png);
	background-size: 48px auto;
}
footer .community  > ul li.youtube a{
	background-image: url(../images/icon_youtube.png);
	background-size: 50px auto;
}




/*
ディープリンク
*/
footer .deeplinks {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 50px 0;
}
footer .deeplinks li {
	border-left: 1px #ffffff solid;
	line-height: 1em;
    margin: 0 1em 0 0;
    padding: 0 0 0 1em;
}
footer .deeplinks li:first-child {
	border: none;
}
footer .deeplinks li a {
	color: #ffffff;
	font-size: 10px;
	letter-spacing: 0.15em;
}




/*
licence
*/
footer .licence {
	color: #9f9f9f;
}

/*会社ロゴ*/
footer .licence h3 {
	background-image: url(../images/logo_thirdverse.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 120px;
	height: 20px;
	margin: 0 auto 20px auto;
	text-indent: -9999px;
}

/*注釈*/
footer .licence .notes {
	font-size: 10px;
	margin: 0 0 1em 0;
    font-family: "FOT-筑紫明朝 Pr6 L";
	font-family: "TsukuMinPr6-L";
	-ms-writing-mode: tb-rl;
    -webkit-font-smoothing: antialiased;
}

/*権利表記*/
footer .licence ul li {
	font-size: 10px;
	font-family: "termina", sans-serif;
	font-weight: 100;
	font-style: normal;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　	　				　　　footer_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
グローバルナビゲーション_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#gnav {
	z-index: 5;
    position: absolute;
    left: 50%;
    width: 1000px;
    margin: 0 0 0 -500px;
}
#top #gnav {
	top: 1040px;
}

#gnav .list > ul {
	z-index: 2;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	width: 840px;
	margin: 0 auto;
}

#gnav .list > ul li {
	margin: 1px;
}
#gnav .list > ul li a {
	display: block;
	background-image: url(../images/gnav_bg.png);
	background-position: center center;
	color: #000000;
	width: 166px;
	height: 31px;
	line-height: 31px;
	font-size: 12px;
    font-family: "termina", sans-serif;
    font-weight: 600;
    font-style: normal;
	text-align: center;
	/*ホバーアニメーション用*/
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:bottom;
	/*ホバーアニメーション用：keyframe*/
	animation-duration: 1000ms;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: inherit;
}
#gnav.active .list > ul li a:hover {
	background-position: center bottom;
	color: #ff0000;
	text-shadow: 0 0 10px #ff0000;
}




/*
装飾要素
*/
#gnav .list > .object {
	z-index: 1;
    position: relative;
    top: -32px;
    display: flex;
    justify-content: space-between;
    width: 840px;
    margin: 0 auto;
}
#gnav .list > .object span {
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 166px;
	height: 31px;
}
#gnav .list > .object span:nth-of-type(1) {
	background-image: url(../images/item_blank_a.png);
}
#gnav .list > .object span:nth-of-type(2) {
	background-image: url(../images/item_blank_b.png);
}




/*
スマホ専用
*/
#gnav .sponly {
	display: none;
}




/*
アニメーション
*/
#gnav li a,
#gnav .list > .object span:nth-of-type(1),
#gnav .list > .object span:nth-of-type(2) {
	opacity: 0;
	transform: translateY(20px);
	background-position: center bottom;
	animation-duration: 1000ms;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: inherit;
}
/*トップ*/
#gnav.active .list > .object span:nth-of-type(1) {
	animation-delay: 3000ms;
	animation-name: gnav_btn_object_1;
}
#gnav.active .list > .object span:nth-of-type(2) {
	animation-delay: 3000ms;
	animation-name: gnav_btn_object_2;
}
#gnav.active li:nth-of-type(1) a{
	animation-delay: 1800ms;
	animation-name: gnav_btn;
}
#gnav.active li:nth-of-type(2) a{
	animation-delay: 1950ms;
	animation-name: gnav_btn;
}
#gnav.active li:nth-of-type(3) a{
	animation-delay: 2050ms;
	animation-name: gnav_btn;
}
#gnav.active li:nth-of-type(4) a{
	animation-delay: 2200ms;
	animation-name: gnav_btn;
}
#gnav.active li:nth-of-type(5) a{
	animation-delay: 2350ms;
	animation-name: gnav_btn;
}
#gnav.active li:nth-of-type(6) a{
	animation-delay: 2500ms;
	animation-name: gnav_btn;
}
#gnav.active li:nth-of-type(7) a{
	animation-delay: 2650ms;
	animation-name: gnav_btn;
}
#gnav.active li:nth-of-type(8) a{
	animation-delay: 2800ms;
	animation-name: gnav_btn;
}
/*下層*/
#sub #gnav.active .list > .object span:nth-of-type(1) {
	animation-delay: 400ms;
	animation-name: gnav_btn_object_1;
}
#sub #gnav.active .list > .object span:nth-of-type(2) {
	animation-delay: 400ms;
	animation-name: gnav_btn_object_2;
}
#sub #gnav.active li:nth-of-type(1) a{
	animation-delay: 0ms;
	animation-name: gnav_btn;
}
#sub #gnav.active li:nth-of-type(2) a{
	animation-delay: 50ms;
	animation-name: gnav_btn;
}
#sub #gnav.active li:nth-of-type(3) a{
	animation-delay: 100ms;
	animation-name: gnav_btn;
}
#sub #gnav.active li:nth-of-type(4) a{
	animation-delay: 150ms;
	animation-name: gnav_btn;
}
#sub #gnav.active li:nth-of-type(5) a{
	animation-delay: 200ms;
	animation-name: gnav_btn;
}
#sub #gnav.active li:nth-of-type(6) a{
	animation-delay: 250ms;
	animation-name: gnav_btn;
}
#sub #gnav.active li:nth-of-type(7) a{
	animation-delay: 300ms;
	animation-name: gnav_btn;
}
#sub #gnav.active li:nth-of-type(8) a{
	animation-delay: 350ms;
	animation-name: gnav_btn;
}
@keyframes gnav_btn {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	100%{
		opacity: 1;
		transform: translateY(0px);
	}
}
@keyframes gnav_btn_object_1 {
	0% {
		opacity: 0;
		transform: translateX(-20px);
	}
	100%{
		opacity: 1;
		transform: translateX(0px);
	}
}
@keyframes gnav_btn_object_2 {
	0% {
		opacity: 0;
		transform: translateX(20px);
	}
	100%{
		opacity: 1;
		transform: translateX(0px);
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　	　　　　グローバルナビゲーション_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

下層基本レイアウト

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
header_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
header { 
	z-index: 10;
    position: relative;
	background-image: url(../images/sub_gnav_bg.png);
	background-size: 1680px auto;
	background-repeat: no-repeat;
	background-position: top center;
	min-height: 250px;
}




/*
下層用GNAV調整
*/
#sub #gnav {
	top: 85px;
}




/*
ロゴ
*/
#sub header h2 {
	position: absolute;
	top: 22px;
	left: 50%;
	margin: 0 0 0 -125px;
	background-image: url(../images/logo_sc.png);
    background-size: auto 100%;
    background-position: center center;
    background-repeat: no-repeat;
	width: 250px;
	height: 45px;
	text-indent: -9999px;
}




/*
言語
*/
#sub .language {
	width: 80px;
	top: 39px;
    left: 50%;
    margin: 0 0 0 417px;
    font-size: 12px;
}
#sub .language ul li {
	color: #000000;
}
#sub .language ul li a {
	color: #720816;
}
#sub .language ul li.active a {
	color: #000000;
	border-bottom: 1px #000000 solid;
}
#sub .language ul li a:hover {
	color: #ffffff;
	text-shadow: 0 0 10px #ffffff;
}
#sub .language ul li.active a:hover {
	color: #ffffff;
	text-shadow: 0 0 10px #ffffff;
	border-bottom: 1px #ffffff solid;
}




/*
SNS
*/
#sub header .sns {
	position: absolute;
    top: 35px;
    left: 50%;
    margin: 0 0 0 290px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100px;
}
#sub header .sns li {
}
#sub header .sns li a {
	display: block;
    background-size: auto 100%;
    background-position: center center;
    background-repeat: no-repeat;
	text-indent: -9999px;
}
#sub header .sns li.x a{
	background-image: url(../images/icon_x_bk.png);
	width: 16px;
	height: 15px;
}
#sub header .sns li.discord a{
	background-image: url(../images/icon_discord_bk.png);
	width: 19px;
	height: 14px;
}
#sub header .sns li.youtube a{
	background-image: url(../images/icon_youtube_bk.png);
	width: 20px;
	height: 14px;
}




/*
汎用アニメーション
*/
/*共通*/
.anime_common {
	opacity: 0;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: inherit;
	transform-origin: center;
}
/*汎用フェード*/
.anime_common {
	animation-duration: 1400ms;
	animation-delay: 0ms;
}
.anime_common.active {
	animation-name: common_fade;
}
@keyframes common_fade {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100%{
		opacity: 1;
		transform: translateY(0px);
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　		　			　　　header_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

トップページ

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
キービジュアル領域_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#kv{
	z-index: 4; /*GlobalIndex*/
	position: relative;
	min-height: 1010px;
}





/*
プラットフォーム
*/
#kv .platform {
	z-index: 2; /*KvIndex*/
	position: absolute;
	top: 50px;
	left: 60px;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.75));
}
#kv .platform ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#kv .platform ul li a {
	display: block;
	margin: 0 20px 0 0;
	cursor: pointer;
}
#kv .platform ul li a img {
	position: relative;
	display: block;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
#kv .platform ul li a img:hover {
	transform: translateY(-5px);
}





/*
言語選択
*/
.language {
	z-index: 3; /*KvIndex*/
	position: absolute;
	top: 60px;
	right: 60px;
	font-size: 12px;
    font-family: "termina", sans-serif;
    font-weight: 500;
    font-style: normal;
	line-height: 1em;
	-webkit-font-smoothing: normal;
}
.language ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.language ul li {
	margin: 0 0 0 10px;
	cursor: default;
}
.language ul li a {
	color: #7f7f7f;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:bottom;
}
.language ul li.active a {
	color: #b22222;
	border-bottom: 1px #b22222 solid;
}
.language ul li a:hover {
	color: #b22222;
	text-shadow: 0 0 10px #ff0000;
}
.language ul li.active a:hover {
	color: #b22222;
	text-shadow: 0 0 10px #ff0000;
	border-bottom: 1px #b22222 solid;
}




/*
アートワーク
*/
#kv .vis {
	z-index: 1; /*KvIndex*/
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}


/*ロゴ*/
#kv .vis .logo {
    z-index: 4; /*Kv-Vis-Index*/
    position: absolute;
    top: 752px;
    left: 50%;
    margin: 0 0 0 -275px;
	text-align: center;
}
#kv .vis .logo h1 {
	background-image: url(../images/logo_sc.png);
    background-size: auto 100%;
    background-position: center top;
    background-repeat: no-repeat;
	width: 550px;
	height: 101px;
	margin: 0 0 5px 0;
	text-indent: -9999px;
}
#kv .vis .logo p {
    color: #ffffff;
	font-size: 18px;
    font-family: "termina", sans-serif;
    font-weight: 700;
    font-style: normal;
    text-indent: -0.26em;
    letter-spacing: 0.26em;
    line-height: 1em;
}
#kv .vis .logo p > a {
	display: block;
    margin: 10px auto 0 auto;
    color: #ffffff;
    font-size: 14px;
    text-align: center;
    line-height: 1em;
    text-shadow: 0 0 10px rgba(255,255,255,0.3);
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
#kv .vis .logo p > a:hover {
    text-shadow: 0 0 20px rgba(255,255,255,1);
}


/*アート*/
#kv .vis .keyart {
	z-index: 2; /*Kv-Vis-Index*/
	position: absolute;
	top: 0;
    left: 50%;
    width: 1135px;
    height: 1008px;
    margin: 0 0 0 -540px;
	background-image: url(../images/top_kv_character.png);
    background-size: 1135px auto;
    background-position: center top;
    background-repeat: no-repeat;
}


/*斜め背景*/
#kv .vis .backgroundart {
	z-index: 1; /*Kv-Vis-Index*/
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
    min-height: 920px;
	background-image: url(../images/top_kv_bg.png);
    background-size: auto 100%;
    background-position: center top;
    background-repeat: no-repeat;
    background-color: #000000;
    clip-path: polygon(0 0%, 100% 0, 100% 80%, 0 100%);
}
#kv .vis .backgroundart span:nth-of-type(1) {
	z-index: 3;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1671px;
	height: 1009px;
	margin: 0 0 0 -835px;
	background-image: url(../images/top_kv_eff_particle.png);
	background-size: auto 100%;
	background-position: center top;
	background-repeat: no-repeat;
}
#kv .vis .backgroundart span:nth-of-type(2) {
	z-index: 2;
	position: absolute;
	top: 150px;
	left: 50%;
	width: 837px;
	height: 645px;
	margin: 0 0 0 -418px;
	background-image: url(../images/top_kv_bg_text.png);
    background-size: auto 100%;
    background-position: center top;
    background-repeat: no-repeat;
}
#kv .vis .backgroundart span:nth-of-type(3) {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1677px;
	height: 396px;
	margin: 0 0 0 -838px;
	background-image: url(../images/top_kv_line.png);
    background-size: auto 100%;
    background-position: center top;
    background-repeat: no-repeat;
}




/*
アニメーション
*/
/*共通*/
#kv .vis .keyart,
#kv .vis .backgroundart span:nth-of-type(1),
#kv .vis .backgroundart span:nth-of-type(2),
#kv .vis .logo h1,
#kv .vis .logo p,
.language,
#kv .platform {
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: inherit;
}
/*アート*/
#kv .vis .keyart {
	opacity: 0;
	transform: scale(1.1);
	animation-duration: 3000ms;
	animation-delay: 0ms;
}
#kv.active .vis .keyart {
	animation-name: kv_art;
}
@keyframes kv_art {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}
/*パーティクル*/
#kv .vis .backgroundart span:nth-of-type(1) {
	opacity: 0;
	transform: translate(-100px, 100px) rotate(10deg);
	animation-duration: 1800ms;
	animation-delay: 400ms;
}
#kv.active .vis .backgroundart span:nth-of-type(1) {
	animation-name: kv_particle;
}
@keyframes kv_particle {
	0% {
		opacity: 0;
		transform: translate(-100px, 100px) rotate(10deg);
	}
	100%{
		opacity: 1;
		transform: translate(0px, 0px) rotate(0deg);
	}
}
/*テキスト*/
#kv .vis .backgroundart span:nth-of-type(2) {
	opacity: 0;
	transform: scale(0.9);
	animation-duration: 2000ms;
	animation-delay: 1000ms;
}
#kv.active .vis .backgroundart span:nth-of-type(2) {
	animation-name: kv_txt;
}
@keyframes kv_txt {
	0% {
		opacity: 0;
		transform: scale(0.9);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}
/*ロゴ*/
#kv .vis .logo h1 {
	opacity: 0;
	filter: blur(5px);
	animation-duration: 3000ms;
	animation-delay: 1500ms;
}
#kv.active .vis .logo h1 {
	animation-name: kv_logo;
}
@keyframes kv_logo {
	0% {
		opacity: 0;
		filter: blur(5px);
	}
	100%{
		opacity: 1;
		filter: blur(0px);
	}
}
/*COMING SOON部分*/
#kv .vis .logo p {
	opacity: 0;
	letter-spacing: 0.1em;
	animation-duration: 1000ms;
	animation-delay: 2500ms;
}
#kv.active .vis .logo p {
	animation-name: kv_logo_cs;
}
@keyframes kv_logo_cs {
	0% {
		opacity: 0;
		letter-spacing: 1em;
	}
	100%{
		opacity: 1;
		letter-spacing: 0.26em;
	}
}

/*プラットフォーム*/
#kv .platform {
	opacity: 0;
	transform: translateX(-60px);
	animation-duration: 1200ms;
	animation-delay: 0ms;
}
#kv.active .platform {
	animation-name: platform;
}
@keyframes platform {
	0% {
		opacity: 0;
		transform: translateX(-60px);
	}
	100%{
		opacity: 1;
		transform: translateX(0px);
	}
}

/*言語選択*/
/*トップ*/
.language {
	opacity: 0;
	transform: translateX(60px);
	animation-duration: 1200ms;
	animation-delay: 0ms;
}
/*下層*/
#sub .language {
	animation-duration: 1200ms;
	animation-delay: 0ms;
}
.active .language {
	animation-name: language;
}
@keyframes language {
	0% {
		opacity: 0;
		transform: translateX(60px);
	}
	100%{
		opacity: 1;
		transform: translateX(0px);
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　	　　　　キービジュアル領域_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ストアリンク_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#storelink {
	z-index: 5;
	position: absolute;
	top: 910px;
	width: 1000px;
	left: 50%;
	margin: 0 0 0 -500px;
}



#storelink ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 1000px;
	margin: 0 auto;
}
#storelink ul li {
	position: relative;
}
#storelink ul li::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -15px;
	margin: 0 0 0 -62.5px;
	background-image: url(../images/storelink_tip_bg.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 125px;
	height: 30px;
}
#storelink ul li a {
	position: relative;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(../images/storelink_bg.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center center;
	width: 320px;
	height: 80px;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transition-duration: 400ms;
	transform-origin: center;
}
#storelink ul li a:hover {
	top: -5px;
}
#storelink ul li a img {
	position: relative;
	display: block;
	animation-timing-function:linear;
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: infinite;
	animation-duration: 2000ms;
	animation-delay: 0ms;
}
#storelink ul li a:hover img {
	animation-name: storelink_grow;
}
@keyframes storelink_grow {
	0% {
		filter: drop-shadow(0px 0px 0px #00f6ff);
	}
	50% {
		filter: drop-shadow(0px 0px 14px #00f6ff);
	}
	100%{
		filter: drop-shadow(0px 0px 0px #00f6ff);
	}
}



/*
アニメーション
*/
#storelink {
	opacity: 0;
	transform: translateY(20px);
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transition-duration: 1000ms;
	transform-origin: center;
}
#storelink.active {
	opacity: 1;
	transform: translateY(0px);
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ストアリンク_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
トレーラー_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#trailer {
	z-index: 3; /*GlobalIndex*/
	position: relative;
	top: -280px;
	background-image: url(../images/top_trailer_bg.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 1680px auto;
	background-color: #000000;
	padding: 520px 0 300px 0;
    clip-path: polygon(0 0%, 100% 0, 100% 100%, 0 80%);
}





/*
タイトル要素
*/
#trailer h2 {
	width: 731px;
	height: 70px;
	margin: 0 auto 40px auto;
	background-image: url(../images/top_trailer_title.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-indent: -9999px;
}





/*
サムネイル
*/
#trailer .video {
	position: relative;
	width: 900px;
	height: 510px;
	margin: 0 auto;
	line-height: 0em;
}

/*フレーム*/
#trailer .video .frame {
	z-index: 1; /*Trailer-Video-Index*/
	position: absolute;
    top: -20px;
    left: -20px;
    width: 941px;
    height: 548px;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#trailer .video .frame span {
	display: block;
	position: absolute;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 140px;
	height: 140px;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#trailer .video .frame span:nth-of-type(1) {
	bottom: 0;
	right: 0;
	background-image: url(../images/trailer_target_br.png);
}
#trailer .video .frame span:nth-of-type(2) {
	top: 0;
	left: 0;
	background-image: url(../images/trailer_target_tl.png);
}

/*サムネ本体*/
#trailer .video .thumbbox {
	z-index: 2; /*Trailer-Video-Index*/
	position: relative;
}
#trailer .video .thumbbox a {
	position: relative;
	display: block;
	border: 1px #d1001b solid;
	box-shadow: 0 0 20px #ff0000;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
/*再生ガイド*/
#trailer .video .thumbbox a > figure {
	/**/
}
#trailer .video .thumbbox a > figure img {
	z-index: 1;
	position: relative;
	width: 100%;
	height: auto;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
/*再生ガイド*/
#trailer .video .thumbbox a > div {
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 167px;
	height: 130px;
	margin: -65px 0 0 -83px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#trailer .video .thumbbox a > div p {
	color: #d1001b;
    font-family: "termina", sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.3em;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#trailer .video .thumbbox a > div .arrow span {
	display: block;
	position: absolute;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#trailer .video .thumbbox a > div .arrow span:nth-of-type(1) {
	background-image: url(../images/trailer_arrow_1.png);
	top: 0;
    right: 0;
	width: 66px;
	height: 132px;
}
#trailer .video .thumbbox a > div .arrow span:nth-of-type(2) {
	background-image: url(../images/trailer_arrow_2.png);
    top: 40px;
    right: 38px;
	width: 28px;
	height: 54px;
}
#trailer .video .thumbbox a > div .arrow span:nth-of-type(3) {
	background-image: url(../images/trailer_arrow_3.png);
    top: 54px;
    right: 53px;
	width: 13px;
	height: 26px;
}

/*ホバー時*/
#trailer .video:hover .thumbbox a {
	filter: brightness(200%);
	transform: scale(0.95);
}
#trailer .video:hover .frame {
	transform: scale(1.05);
}




/*
アニメーション
*/
/*共通*/
#trailer .video .thumbbox a,
#trailer .video .thumbbox a > figure img,
#trailer .video .thumbbox a > div p,
#trailer .video .thumbbox a > div .arrow span:nth-of-type(1),
#trailer .video .thumbbox a > div .arrow span:nth-of-type(2),
#trailer .video .thumbbox a > div .arrow span:nth-of-type(3),
#trailer .video .frame,
#trailer .video .frame span:nth-of-type(1),
#trailer .video .frame span:nth-of-type(2) {
	opacity: 0;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: inherit;
}
/*サムネイル枠*/
#trailer .video .thumbbox a {
	animation-duration: 1000ms;
	animation-delay: 1000ms;
}
#trailer.active .video .thumbbox a {
	animation-name: trailer_thumbbox;
}
@keyframes trailer_thumbbox {
	0% {
		opacity: 1;
		transform: scale(0);
		box-shadow: none;
	}
	70% {
		opacity: 1;
		transform: scale(1);
		box-shadow: none;
	}
	100%{
		opacity: 1;
		transform: scale(1);
		box-shadow: 0 0 20px #ff0000;
	}
}
/*サムネイル画像*/
#trailer .video .thumbbox a > figure img {
	animation-duration: 1000ms;
	animation-delay: 2000ms;
}
#trailer.active .video .thumbbox a > figure img {
	animation-name: trailer_thumbbox_img;
}
@keyframes trailer_thumbbox_img {
	0% {
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
/*サムネイルPLAY*/
#trailer .video .thumbbox a > div p {
	animation-duration: 1000ms;
	animation-delay: 2300ms;
}
#trailer.active .video .thumbbox a > div p {
	animation-name: trailer_thumbbox_play;
}
@keyframes trailer_thumbbox_play {
	0% {
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
/*サムネイル矢印*/
#trailer .video .thumbbox a > div .arrow span:nth-of-type(1) {
	animation-duration: 2000ms;
	animation-delay: 2500ms;
}
#trailer .video .thumbbox a > div .arrow span:nth-of-type(2) {
	animation-duration: 2000ms;
	animation-delay: 2700ms;
}
#trailer .video .thumbbox a > div .arrow span:nth-of-type(3) {
	animation-duration: 2000ms;
	animation-delay: 3000ms;
}
#trailer.active .video .thumbbox a > div .arrow span:nth-of-type(1),
#trailer.active .video .thumbbox a > div .arrow span:nth-of-type(2),
#trailer.active .video .thumbbox a > div .arrow span:nth-of-type(3) {
	animation-name: trailer_thumbbox_arrow;
	animation-iteration-count: infinite;
}
@keyframes trailer_thumbbox_arrow {
	0% {
		opacity: 0;
		transform: translateX(-10px);
	}
	50%{
		opacity: 1;
		transform: translateX(0px);
	}
	100%{
		opacity: 0;
		transform: translateX(5px);
	}
}
/*フレーム*/
#trailer .video .frame {
	animation-duration: 1000ms;
	animation-delay: 0ms;
}
#trailer.active .video .frame {
	animation-name: trailer_frame;
}
@keyframes trailer_frame {
	0% {
		opacity: 1;
		transform: rotate(90deg);
	}
	100%{
		opacity: 1;
		transform: rotate(0);
	}
}
#trailer .video .frame span:nth-of-type(1) {
	animation-duration: 2000ms;
	animation-delay: 0ms;
}
#trailer.active .video .frame span:nth-of-type(1) {
	animation-name: trailer_frame_1;
}
@keyframes trailer_frame_1 {
	0% {
		opacity: 1;
		transform: translate(-360px, -160px);
	}
	100%{
		opacity: 1;
		transform: translate(0px, 0px);
	}
}
#trailer .video .frame span:nth-of-type(2) {
	animation-duration: 2000ms;
	animation-delay: 0ms;
}
#trailer.active .video .frame span:nth-of-type(2) {
	animation-name: trailer_frame_2;
}
@keyframes trailer_frame_2 {
	0% {
		opacity: 1;
		transform: translate(360px, 160px);
	}
	100%{
		opacity: 1;
		transform: translate(0px, 0px);
	}
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　	　　　　　　トレーラー_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
NEWS_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#indexnews {
	z-index: 2; /*GlobalIndex*/
    position: relative;
    background-image: url(../images/news_bg.png);
    background-position: top center;
    background-repeat: repeat-x;
    background-size: 1680px auto;
	margin: -605px auto 0 auto;
    padding: 250px 0 90px 0;
}





/*
タイトル要素
*/
#indexnews h2 {
	width: 473px;
	height: 74px;
	margin: 0 auto 55px auto;
	background-image: url(../images/news_title.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	text-indent: -9999px;
}





/*
ピックアップ
*/
#indexnews .pickup {
	margin: 0 0 40px 0;
	text-align: center;
}
#indexnews .pickup a {
	display: inline-block;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
	line-height: 1em;
}
#indexnews .pickup a:hover {
	box-shadow: 0 0 20px #ff0000;
}





/*
ニュースリスト
*/
#indexnews .top_news_list {
	width: 900px;
	margin: 0 auto 50px auto;
}

#indexnews .top_news_list li {
	background-color: #000000;
	background-image: url(../images/bg_hr_obj.png);
	background-position: center left;
	background-size: 23px 4px;
	background-repeat: no-repeat;
    margin: 0 0 20px 0;
	padding: 0.7em 20px 0.7em 35px;
}
#indexnews .top_news_list li a {
	display: flex;
	align-items: end;
	color: #ffffff;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#indexnews .top_news_list li a:hover {
	color: #ff0000;
	text-shadow: 0 0 10px #ff0000;
}

/*日付・カテゴリ*/
#indexnews .top_news_list li a .news_list_date,
#indexnews .top_news_list li a .news_list_category {
	margin: 0 10px 0 0;
	font-size: 11px;
    font-family: "termina", sans-serif;
    font-weight: 300;
    font-style: normal;
	line-height: 1em;
}

/*タイトル*/
#indexnews .top_news_list li a .news_list_title {
	font-size: 14px;
	line-height: 1em;
}





/*
もっと見る
*/
#indexnews .more a {
	display: block;
    background-color: #000000;
    color: #fff;
    width: 80px;
    margin: 0 auto;
    padding: 0.6em 3em 0.75em 3em;
    text-align: center;
    line-height: 1em;
    border: 1px #d1001b solid;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#indexnews .more a:hover {
    background-color: #d1001b;
    color: #ffffff;
    padding: 0.6em 4em 0.75em 4em;
	box-shadow: 0 0 10px #ff0000;
}




/*
アニメーション
*/
/*共通*/
#indexnews .pickup,
#indexnews .top_news_list li {
	opacity: 0;
	animation-timing-function: cubic-bezier(.42,0,0,.99);
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-play-state: running;
	animation-iteration-count: inherit;
	transform-origin: left;
}
/*ピックアップ枠*/
#indexnews .pickup {
	animation-duration: 1000ms;
	animation-delay: 0ms;
}
#indexnews.active .pickup {
	animation-name: news_pickup;
}
@keyframes news_pickup {
	0% {
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
/*記事リスト*/
#indexnews .top_news_list li {
	animation-duration: 1000ms;
	animation-delay: 600ms;
}
#indexnews.active .top_news_list li {
	animation-name: news_pickup;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　	　　　　　		　NEWS_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

ゲームシステム

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ゲームシステム：基本レイアウト_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.gamesystem {
	background-color: #161b1e;
	background-image: url(../images/gs_bg.jpg);
	background-size: 1680px auto;
	background-repeat: no-repeat;
	background-position: top center;
}

#sub.gamesystem #maincontents {
	min-height: 1460px;
}

#sub.gamesystem.en #maincontents { /*EN調整*/
    min-height: 1720px;
}




/*
リードコンテンツ
*/
#gs_read {
	position: relative;
	text-align: center;
}

/*見出し*/
#gs_read h2 {
    background-image: url(../images/gs_chach.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
    width: 989px;
    height: 141px;
    margin: 80px auto 30px auto;
    text-indent: -9999px;
}
#sub.gamesystem.en #gs_read h2 { /*EN調整*/
    background-image: url(../images/gs_en_chach.png);
}

#gs_read > div {
	font-size: 16px;
	font-family: "FOT-筑紫明朝 Pr6 R";
	font-family: "TsukuMinPr6-R";
	line-height: 2.5em;
}

#gs_read > div .pick {
	margin: 65px 0 0 0;
    font-size: 20px;
    letter-spacing: 0.35em;
    color: #c10019;
    text-shadow: 0 0 20px #ff0000;
}
#sub.gamesystem.en #gs_read > div .pick { /*EN調整*/
    letter-spacing: 0.1em;
}

#gs_read::after {
	z-index: 1;
    content: "";
    display: block;
    position: absolute;
    top: 320px;
    left: 50%;
    margin: 0 0 0 260px;
    background-image: url(../images/gs_obj_txt_2.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
    width: 183px;
    height: 568px;
}




/*
死闘感
*/
#fate {
	position: absolute;
    top: 749px;
    left: 50%;
    margin: 0 0 0 -526px;
    background-image: url(../images/gs_fate_vis.png);
    background-size: 743px 563px;
    background-repeat: no-repeat;
    background-position: top center;
    min-width: 743px;
    min-height: 823px;
}
#sub.gamesystem.en #fate { /*EN調整*/
	top: 900px;
}
#fate::after {
	z-index: 1;
	content: "";
	display: block;
	position: absolute;
	top: 342px;
    left: 20px;
	background-image: url(../images/gs_obj_txt_1.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
	width: 1010px;
	height: 260px;
}
#fate h3 {
	z-index: 2;
	position: absolute;
    top: 148px;
    left: 60px;
	background-image: url(../images/gs_fate_title.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
	width: 83px;
	height: 230px;
	text-indent: -9999px;
}
#sub.gamesystem.en #fate h3 { /*EN調整*/
    top: 100px;
    left: 40px;
	background-image: url(../images/gs_en_fate_title.png);
	width: 105px;
	height: 392px;
}
#fate > div {
	z-index: 3;
	position: absolute;
    top: 145px;
    left: 172px;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 500;
    line-height: 2em;
	letter-spacing: 0.2em;
}
#sub.gamesystem.en #fate > div { /*EN調整*/
    top: 145px;
    left: 172px;
    width: 430px;
}
#fate > div > p {
	margin: 0 0 2em 0;
}




/*
感情体験
*/
#lnb {
    position: absolute;
    top: 1212px;
    left: 50%;
    margin: 0 0 0 -227px;
    background-image: url(../images/gs_lnb_vis.png);
    background-size: 765px 491px;
    background-repeat: no-repeat;
    background-position: top center;
    min-width: 765px;
    min-height: 491px;
	text-align: right;
}
#sub.gamesystem.en #lnb { /*EN調整*/
	top: 1442px;
}
#lnb h3 {
    z-index: 2;
    position: absolute;
    top: 55px;
    right: 82px;
    background-image: url(../images/gs_lnb_title.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
    width: 83px;
    height: 308px;
	text-align: left;
    text-indent: -9999px;
}
#sub.gamesystem.en #lnb h3 { /*EN調整*/
    top: 55px;
    right: 40px;
    background-image: url(../images/gs_en_lnb_title.png);
    width: 107px;
    height: 355px;
}
#lnb > div {
    position: absolute;
    top: 246px;
    left: 184px;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 500;
    line-height: 2em;
    letter-spacing: 0.2em;
}
#sub.gamesystem.en #lnb > div { /*EN調整*/
    top: 264px;
    left: 40px;
    width: 560px;
}
#lnb > div > p {
	margin: 0 0 2em 0;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　	ゲームシステム：基本レイアウト_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

ニュース

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ニュース：基本レイアウト_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.news {
	background-color: #021014;
}

#sub.news #maincontents {
	padding: 50px 0 100px 0;
}




/*
ページタイトル
*/
#sub.news #maincontents > h2 {
	background-image: url(../images/news_title.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
	width: 473px;
	height: 74px;
	margin: 0px auto 70px auto;
	text-indent: -9999px;
}




/*
ニュースリスト
*/
#sub.news .news_list {
	width: 1000px;
	margin: 0 auto 100px auto;
}

/*ニュースリスト本体*/
#sub.news .news_list .article_list {
	margin: 0 0 100px 0;
}
#sub.news .news_list li {
	margin: 0 0 40px 0;
}
#sub.news .news_list li a {
	display: flex;
	justify-content: space-between;
	width: 1000px;
	color: #616768;
	transition-duration: 1000ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#sub.news .news_list li a:hover {
	filter: brightness(150%);
}

/*サムネ*/
#sub.news .news_list li a > img {
	width: 470px;
	height: 248px;
}

/*テキスト要素*/
#sub.news .news_list li a > div {
	width: 470px;
}
#sub.news .news_list li a > div h2 {
	box-sizing: border-box;
    display: flex;
    align-items: center;
    color: #c10019;
	font-size: 20px;
    text-shadow: 0 0 10px #ff0000;
	/*
	text-align: justify;
	*/
    margin: 0 0 20px 0;
    padding: 0 0 0 30px;
    height: 80px;
    border-left: 1px #d1001b solid;
}
#sub.news .news_list li a > div .data {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 11px;
    font-family: "termina", sans-serif;
    font-weight: 300;
    font-style: normal;
	margin: 0 0 20px 0;
}
#sub.news .news_list li a > div > p {
	font-size: 13px;
	text-align: justify;
}




/*
ニュース詳細
*/
#sub.news .article_deatil {
	width: 1000px;
	margin: 0 auto;
}

/*カバーアート*/
#sub.news .article_deatil > figure img {
	width: 100%;
	height: auto;
}

/*meta情報*/
#sub.news .article_deatil > .meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 2em auto;
	padding: 1em 0;
	font-size: 11px;
    font-family: "termina", sans-serif;
    font-weight: 300;
    font-style: normal;
}

/*ニュースタイトル*/
#sub.news .article_deatil > .title {
	position: relative;
	box-sizing: border-box;
	color: #a8031a;
	margin: 0 0 40px 0;
	padding: 2em 4em;
	text-align: center;
	word-break: break-all;
	text-shadow: rgba(255,0,0,0.6) 0 0 10px;
}
#sub.news .article_deatil > .title::before,
#sub.news .article_deatil > .title::after {
	content: "";
	display: block;
	position: absolute;
	width: 40px;
	height: 40px;
}
#sub.news .article_deatil > .title::before {
	background-image: url(../images/trailer_target_tl.png);
	background-position: top left;
	top: 0;
	left: 0;
}
#sub.news .article_deatil > .title::after {
	background-image: url(../images/trailer_target_br.png);
	background-position: bottom right;
	bottom: 0;
	right: 0;
}

/*投稿箇所：ディフォルト調整*/
#sub.news .article_deatil .post h1,
#sub.news .article_deatil .post h2,
#sub.news .article_deatil .post h3,
#sub.news .article_deatil .post h4,
#sub.news .article_deatil .post h5,
#sub.news .article_deatil .post h6,
#sub.news .article_deatil .post p,
#sub.news .article_deatil .post strong,
#sub.news .article_deatil .post em,
#sub.news .article_deatil .post span,
#sub.news .article_deatil .post del,
#sub.news .article_deatil .post blockquote,
#sub.news .article_deatil .post li,
#sub.news .article_deatil .post blockquote{
	word-break: break-all;
	font-size: 100%;
}
#sub.news .article_deatil .post pre{
	white-space: pre-wrap;
}

/*動画埋め込み系対応*/

/*動画埋め込み系対応*/
#sub.news .article_deatil .post .youtube{
	position: relative;
	width: 100%;
	height: 0px;
	padding: 0 0 56.25% 0;
}
#sub.news .article_deatil .post .youtube iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*投稿箇所：スタイル調整*/
#sub.news .article_deatil .post {
	background-image: url(../images/bg_hr_obj.png);
	background-size: 40px 3px;
	background-position: top center;
	background-repeat: no-repeat;
	padding: 30px 0 0 0;
}
#sub.news .article_deatil .post h1,
#sub.news .article_deatil .post h2,
#sub.news .article_deatil .post h3,
#sub.news .article_deatil .post h4,
#sub.news .article_deatil .post h5,
#sub.news .article_deatil .post h6 {
	margin: 3em 0 1em 0;
	padding: 0.5em 0 0.5em 2em;
	border-left: 1px #616768 solid;
}
#sub.news .article_deatil .post h1 {
	font-size: 1.8em;
	padding: 1em 0 1em 2em;
}
#sub.news .article_deatil .post h2 {
	font-size: 1.6em;
	padding: 0.7em 0 0.7em 2em;
}
#sub.news .article_deatil .post h3 {
	font-size: 1.4em;
}
#sub.news .article_deatil .post h4 {
	font-size: 1.2em;
}
#sub.news .article_deatil .post h5 {
	font-size: 1em;
}
#sub.news .article_deatil .post h6 {
	font-size: 0.9em;
}
#sub.news .article_deatil .post > p {
	font-size: 14px;
	margin: 0 0 1em 0;
	letter-spacing: 0.2em;
	line-height: 2.65em;
	text-align: justify;
}
#sub.news .article_deatil .post hr {
    border: none;
    width: 100%;
    margin: 5em 0;
    line-height: 1px;
    border-bottom: 1px #616768 dotted;
}
#sub.news .article_deatil .post ul li {
	list-style-type: disc;
    margin: 0.5em 0 0.5em 3em;
}
#sub.news .article_deatil .post ol li {
	list-style-type: decimal;
    margin: 0.5em 0 0.5em 3em;
}
#sub.news .article_deatil .post img {
	max-width: 100% !important;
	height: auto;
}
#sub.news .article_deatil .post a {
	color: #a8031a;
	text-decoration: underline;
}
#sub.news .article_deatil .post blockquote {
	background-color: #000000;
	color: #02c0bf;
	text-shadow: 0 0 10px #02c0bf;
	border-radius: 10px;
	margin: 2em 0;
	padding: 3em;
	font-size: 12px;
	font-weight: 100;
	font-style: oblique;
}

/*進む・戻る*/
#sub.news .page_detail_pagenation {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 1000px;
	margin: 100px auto 0 auto;
	padding: 50px 0 0 0;
	border-top: 3px #c10019 solid;
}
#sub.news .page_detail_pagenation li a {
	color: #c10019;
	background-size: 41px auto;
	background-repeat: no-repeat;
	display: block;
	background-color: transparent;
	line-height: 82px;
	width: 150px;
	height: 82px;
	border: none;
	font-size: 16px;
    font-family: "termina", sans-serif;
    font-weight: 600;
    font-style: normal;
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#sub.news .page_detail_pagenation li.prev{
	background-color: transparent;
	width: 150px;
	height: 82px;
	border: none;
}
#sub.news .page_detail_pagenation li.prev a {
	background-position: top left;
	background-image: url(../images/news_arrow_prev.png);
	text-align: right;
}
#sub.news .page_detail_pagenation li.prev a:hover {
	transform: translateX(-10px);
	letter-spacing: 0.4em;
	text-shadow: 0 0 10px #ff0000;
}
#sub.news .page_detail_pagenation li.next {
	background-color: transparent;
	width: 150px;
	height: 82px;
	border: none;
}
#sub.news .page_detail_pagenation li.next a {
	background-position: top right;
	background-image: url(../images/news_arrow_next.png);
	text-align: left;
}
#sub.news .page_detail_pagenation li.next a:hover{
	transform: translateX(10px);
	letter-spacing: 0.4em;
	text-shadow: 0 0 10px #ff0000;
}
#sub.news .page_detail_pagenation .more a {
    display: block;
    background-color: #000000;
    color: #fff;
    height: 1em;
    padding: 0.6em 3em 0.75em 3em;
    line-height: 1em;
    text-align: center;
    border: 1px #d1001b solid;
    transition-duration: 1000ms;
    transition-property: all;
    transition-timing-function: cubic-bezier(.42,0,0,.99);
    transition-delay: 0ms;
    transform-origin: center;
}
#sub.news .page_detail_pagenation .more a:hover {
    background-color: #d1001b;
    color: #ffffff;
    padding: 0.6em 4em 0.75em 4em;
	box-shadow: 0 0 10px #ff0000;
}


/*
ページネーション
*/
#sub.news .page_list{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1000px;
	height: 82px;
	margin: 0 auto;
    font-family: "termina", sans-serif;
    font-weight: 500;
    font-style: normal;
}
#sub.news .page_list li{
	box-sizing: border-box;
	background-color: #a8031a;
	color: #ffffff;
	line-height: 40px;
	text-align: center;
	width: 40px;
	height: 40px;
	margin: 0 10px;
	border: solid 1px #a8031a;
}
#sub.news .page_list li a{
	display: block;
	background-color: #021014;
	color: #616768;
	font-size: 14px;
	line-height: 38px;
	letter-spacing: 0.07em;
	text-align: center;
	width: 38px;
	height: 38px;
	border: solid 1px #616768;
	/*anime*/
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin:center;
}
#sub.news .page_list li a:hover{
	border: solid 1px #a8031a;
}
#sub.news .page_list li.prev{
	background-color: transparent;
	width: 150px;
	height: 82px;
	border: none;
}
#sub.news .page_list li.prev a{
	display: block;
	background-color: transparent;
	background-image: url(../images/news_arrow_prev.png);
	background-size: 41px auto;
	background-position: top left;
	background-repeat: no-repeat;
	line-height: 82px;
	width: 150px;
	height: 82px;
	border: none;
}
#sub.news .page_list li.prev a:hover{
	transform: translateX(-10px);
}
#sub.news .page_list li.next{
	background-color: transparent;
	width: 150px;
	height: 82px;
	border: none;
}
#sub.news .page_list li.next a{
	display: block;
	background-color: transparent;
	background-image: url(../images/news_arrow_next.png);
	background-size: 41px auto;
	background-position: top right;
	background-repeat: no-repeat;
	line-height: 82px;
	width: 150px;
	height: 82px;
	border: none;
}
#sub.news .page_list li.next a:hover{
	transform: translateX(10px);
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　	　			ニュース：基本レイアウト_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

バックグラウンド

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
バックグラウンド：基本レイアウト_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.background {
}

#sub.background #maincontents {
	padding: 0 0 100px 0;
}




/*
世界観・ストーリー
*/
#wbg_worldconcept {
	background-color: #000000;
	background-image: url(../images/wbg_bg.png);
	background-size: 1680px auto;
	background-repeat: no-repeat;
	background-position: top center;
	margin: -199px 0 0 0;
	padding: 260px 0 260px 0;
	text-align: center;
	font-size: 16px;
	font-family: "FOT-筑紫明朝 Pr6 R";
	font-family: "TsukuMinPr6-L";
    clip-path: polygon(0 0%, 100% 0, 100% 100%, 0 85%);
}

#wbg_worldconcept h2 {
	background-image: url(../images/wbg_worldconcept_title.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
	width: 503px;
	height: 45px;
	margin: 0px auto 40px auto;
	text-indent: -9999px;
}

#wbg_worldconcept > div {
	line-height: 2.2em;
}
#wbg_worldconcept > div p {
	margin: 0 0 1em 0;
	text-shadow: 0 0 10px #02c0bf;
}




/*
キーワード
*/
#keywords {
	margin: -224px 0 0 0;
	padding: 250px 0 150px 0;
	background-image: url(../images/wbg_bg_roop.jpg);
	background-position: top center;
	background-repeat: repeat;
	background-size: 1680px auto;
	background-color: #181d1c;
}



/*
見出し
*/
#keywords h3 {
    background-image: url(../images/wbg_keywords_title.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
    width: 770px;
    height: 64px;
    margin: 0 auto 100px auto;
    text-indent: -9999px;
}



/*
キーワード：各セクション基本レイアウト
*/
#keywords .keywordsitem {}
#keywords .keywordsitem:nth-child(odd) {
    background-image: url(../images/common_grange_green.png);
    background-size: 1680px auto;
    background-repeat: repeat;
    background-position: top center;
    clip-path: polygon(0 10%, 100% 0, 100% calc(100% - 10%), 0 100%);
    margin: 100px auto;
    padding: 15% 0;
}
#keywords .keywordsitem > div {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 1000px;
	margin: 0 auto;
}
#keywords .keywordsitem:nth-child(odd) > div {
	flex-direction: row-reverse;
}
#keywords .keywordsitem > div .detail {
	z-index: 2;
	position: relative;
	width: 550px;
	text-shadow: 0 0 10px rgba(0,0,0,0.8);
}
#keywords .keywordsitem > div figure {
	flex: 1;
    z-index: 1;
    position: absolute;
    left: 50%;
    margin: 0 0 0 -120px;
    width: 730px;
}
#keywords .keywordsitem:nth-child(odd) > div figure {
    margin: 0 0 0 -650px;
}
#keywords .keywordsitem > div figure img {
    width: 100%;
}

/*見出し*/
#keywords .keywordsitem h4 {
	position: relative;
    margin: 0 0 15px 0;
	padding: 30px 0 0 0;
    font-size: 28px;
    font-family: "FOT-筑紫明朝 Pr6 R";
    font-family: "TsukuMinPr6-R";
    font-weight: 400;
    letter-spacing: 0.2em;
    line-height: 1.3em;
    -ms-writing-mode: tb-rl;
    -webkit-font-smoothing: antialiased;
}
#keywords .keywordsitem h4::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 4px;
    background-color: #c10019;
}
#keywords .keywordsitem h4 span {
	display: block;
	font-size: 16px;
	margin: 0 0 15px 0;
}
#keywords .keywordsitem h4 span em {
    background: #000000;
    font-size: 11px;
	font-style: normal;
    line-height: 1em;
    text-align: center;
    margin: 0 1em 0 0;
    padding: 0.5em 0em 0.5em 1em;
    border-radius: 6px;
}
#keywords .keywordsitem h5 {
	margin: 30px 0;
	font-size: 11px;
    font-family: "termina", sans-serif;
    font-weight: 300;
    font-style: normal;
    letter-spacing: 0.2em;
}

/*本文要素*/
#keywords .keywordsitem .caption p {
	margin: 0 0 1em 0;
	font-size: 15px;
	letter-spacing: 0.065em;
	line-height: 2.25em;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　	　バックグラウンド：基本レイアウト_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

スペック/スタッフ

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
スペック/スタッフ：基本レイアウト_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.products {
	background-image: url(../images/products_bg.jpg);
	background-size: 1680px auto;
	background-repeat: no-repeat;
	background-position: top center;
}

#sub.products #maincontents {
	padding: 50px 0 0 0;
}




/*
SPEC
*/
#spec {
	margin: 0 0 120px 0;
}

#spec h2 {
	background-image: url(../images/products_spec_title.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
	width: 438px;
	height: 74px;
	margin: 0px auto 45px auto;
	text-indent: -9999px;
}

/*SPECLIST*/
.speclist {
	width: 800px;
	margin: 0 auto;
}
.speclist ul {}
.speclist ul li {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: left;
	background-color: rgba(0,0,0,0.5);
	margin: 0 0 10px 0;
	padding: 8px 30px;
	border: 1px #c10019 solid;
}
.speclist ul li  > h4 {
	width: 125px;
	font-size: 11px;
	text-align: right;
	margin: 0 20px 0 0;
}
.speclist ul li  > span {
    display: block;
    background-image: url(../images/bg_hr_obj.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center center;
    width: 30px;
    height: 3px;
	margin: 0 20px 0 0;
}
.speclist ul li  > p {
	font-size: 13px;
	letter-spacing: 0.2em;
	flex: 1;
}
.speclist ul li  > p strong {
	display: block;
	color: #a8031a;
	margin: 6px 0;
	padding: 4px 8px;
	border-radius: 6px;
	border: 1px #720816 solid;
	text-align: justify;
	word-wrap: break-word;
}




/*
STAFF
*/
#staff {
}

#staff h2 {
	background-image: url(../images/products_staff_title.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
	width: 539px;
	height: 74px;
	margin: 0px auto 74px auto;
	text-indent: -9999px;
}

/*スタッフリスト*/
#staff .stafflistitem {
	text-align: center;
    background-image: url(../images/bg_hr_obj.png);
    background-size: 37px 4px;
    background-repeat: no-repeat;
    background-position: bottom center;
	margin: 0 0 77px 0;
    padding: 0 0 33px 0;
	letter-spacing: 0.125em;
}
#staff .stafflistitem h4 {
	font-size: 13px;
}
#staff .stafflistitem h3 {
	font-size: 30px;
    font-family: "FOT-筑紫明朝 Pr6 L";
	font-family: "TsukuMinPr6-L";
	-ms-writing-mode: tb-rl;
    -webkit-font-smoothing: antialiased;
	margin: 0 0 5px 0;
}
#staff .stafflistitem .biography {
	font-size: 11px;
}
#staff .stafflistitem .biography h5 {
	position: relative;
    font-size: 11px;
    font-family: "termina", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.2em;
	margin: 0 0 25px 0;
}
#staff .stafflistitem .biography h5::after,
#staff .stafflistitem .biography h5::before {
	position: absolute;
	top: 7px;
	left: 50%;
	content: "";
	display: block;
	width: 150px;
	border-bottom: 1px #908788 solid;
}
#staff .stafflistitem .biography h5::after {
	margin: 0 0 0 -225px;
}
#staff .stafflistitem .biography h5::before {
	margin: 0 0 0 75px;
}
#staff .stafflistitem .biography p {
	font-size: 12px;
	width: 1000px;
	margin: 0 auto;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　　　　　　　　　　	スペック/スタッフ：基本レイアウト_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

ガイドライン

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ガイドライン：基本レイアウト_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.guidelines {
	background-color: #021014;
}

#sub.guidelines #maincontents {
	width: 1000px;
	margin: 0 auto;
	padding: 100px 0 200px 0;
}

#sub.guidelines #maincontents > section {
	margin: 0 0 120px 0;
	font-size: 14px;
	letter-spacing: 0.15em;
	line-height: 2.25em;
}

#sub.guidelines #maincontents > section > h3 {
	color: #a8031a;
	font-size: 24px;
    font-family: "FOT-筑紫明朝 Pr6 L";
	font-family: "TsukuMinPr6-L";
	-ms-writing-mode: tb-rl;
    -webkit-font-smoothing: antialiased;
	margin: 0 0 30px 0;
}

#sub.guidelines #maincontents > section a {
	color: #a8031a;
	text-decoration: underline;
}

/*リスト要素*/
#sub.guidelines #maincontents > section dt {
	font-size: 18px;
	margin: 2em 0 1em 0;
	padding: 1em 0 1em 2em;
	border-left: 1px #a8031a solid;
}
#sub.guidelines #maincontents > section dd {
	background-image: url(../images/bg_hr_obj.png);
	background-size: 20px 3px;
	background-repeat: no-repeat;
	background-position: center left;
	margin: 0.5em 0 0.5em 2em;
	padding: 0 0 0 40px;
	font-weight: 100;
}



/*
配信許可範囲
*/
#sub.guidelines #maincontents .scope {}
#sub.guidelines #maincontents .scope ul {
	box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    background-color: #181d1c;
    margin: 0 0 15px 0;
    padding:25px 40px;
    border-radius: 10px;
}
#sub.guidelines #maincontents .scope ul li {
    width: 100%;
    text-shadow: 0 0 10px rgba(255,255,255,0.9);
    margin: 10px 0 10px 2em;
    padding: 0 0 0 10px;
    list-style-type: disc;
}
#sub.guidelines #maincontents .scope > p {
	color: #ff0000;
}
#sub.guidelines #maincontents .scope > p em {
	text-decoration: underline;
}



/*
ページタイトル
*/
#sub.guidelines #maincontents h2 {
	background-image: url(../images/guideline_title.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
	width: 932px;
	height: 74px;
	margin: 0px auto 80px auto;
	text-indent: -9999px;
}




/*
更新日
*/
#sub.guidelines #maincontents .update {
	display: flex;
	align-items: center;
	justify-content: end;
	width: 100%;
	text-align: right;
	line-height: 1em;
	margin: 0 0 100px 0;
}
#sub.guidelines #maincontents .update em {
    background: #a8031a;
    font-size: 11px;
	font-style: normal;
    line-height: 1em;
    text-align: center;
    margin: 0 1em 0 0;
    padding: 0.5em 1em 0.5em 1em;
    border-radius: 6px;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　　　　　　　　　　	　　　　　　　　　	ガイドライン：基本レイアウト_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

東京ゲームショウ2023

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
東京ゲームショウ2023：基本レイアウト_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.tgs2023 {
	background-color: #021014;
}

#sub.tgs2023 #maincontents {
	margin: 0 auto;
	padding: 50px 0 100px 0;
}
#sub.tgs2023 #maincontents > section {
	margin: 0 0 150px 0;
	font-size: 14px;
	text-align: center;
	font-weight: 500;
}
#sub.tgs2023 #maincontents > section > h4 {
	color: #a8031a;
    font-size: 11px;
    font-family: "termina", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0 0 20px 0;
}
#sub.tgs2023 #maincontents > section > h3 {
	background-image: url(../images/bg_hr_obj.png);
    background-size: 40px 3px;
    background-repeat: no-repeat;
    background-position: bottom center;
    margin: 0 0 50px 0;
    padding: 0 0 45px 0;
    font-size: 32px;
    font-family: "FOT-筑紫明朝 Pr6 L";
	font-family: "TsukuMinPr6-L";
    -ms-writing-mode: tb-rl;
    -webkit-font-smoothing: antialiased;
    line-height: 1em;
    letter-spacing: 0.165em;
}
#sub.tgs2023 #maincontents > section > figure {}
#sub.tgs2023 #maincontents > section > figure figcaption {
	margin: 30px 0 0 0;
}
#sub.tgs2023 #maincontents > section p {
	line-height: 1.9em;
    margin: 0 0 2em 0;
}




/*
ページタイトル
*/
#sub.tgs2023 #maincontents h2 {
	background-image: url(../images/tgs2023_title.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: top center;
	width: 779px;
	height: 122px;
	margin: 0px auto 80px auto;
	text-indent: -9999px;
}




/*
はじめに
*/
#sub.tgs2023 #maincontents .intro {}
#sub.tgs2023 #maincontents .intro::after {
	content: "";
	display: block;
	background-image: url(../images/tgs2023_vis.png);
	background-size: 1679px 513px;
	background-position: top center;
	background-repeat: no-repeat;
	width: 100%;
	height: 513px;
}

#sub.tgs2023 #maincontents section.intro h3 {
	background: none;
	font-size: 40px;
    margin: 0 0 40px 0;
	padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    letter-spacing: 0em;
}

#sub.tgs2023 #maincontents .intro .area {
	margin: 0 0 30px 0;
}
#sub.tgs2023 #maincontents .intro .area p {
	background-image: url(../images/tgs2023_area.png);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    width: 367px;
    height: 217px;
    margin: 0 auto;
    text-align: left;
    text-indent: -9999px;
}

#sub.tgs2023 #maincontents .intro .read {
	line-height: 1.9em;
	margin: 0 0 45px 0;
}




/*
ノベルティ
*/
#sub.tgs2023 #maincontents .novelty {}

#sub.tgs2023 #maincontents .novelty > div {
	margin: 0 0 100px 0;
}

#sub.tgs2023 #maincontents .novelty > div > h4 {
    display: inline-block;
    margin: 0 0 40px 0;
    padding: 1.2em 4em;
    font-size: 16px;
    font-weight: 100;
    line-height: 1em;
    letter-spacing: 0.165em;
    border: 1px #a8031a solid;
}

#sub.tgs2023 #maincontents .novelty > div > figure {}
#sub.tgs2023 #maincontents .novelty > div > figure img {
	display: block;
	margin: 0 auto 30px auto;
}
#sub.tgs2023 #maincontents .novelty > div > figure figcaption .tips {
	font-size: 11px;
}

/*全員配布*/
#sub.tgs2023 #maincontents .novelty > div.free {
	color: #a8031a;
}
#sub.tgs2023 #maincontents .novelty > div.free > h4 {
    border: 1px #a8031a solid;
	text-shadow: 0 0 10px #ff0000;
}

/*フォロー*/
#sub.tgs2023 #maincontents .novelty > div.follow {
	color: #00c6d2;
}
#sub.tgs2023 #maincontents .novelty > div.follow > h4 {
    border: 1px #00c6d2 solid;
	text-shadow: 0 0 10px #00c6d2;
}
#sub.tgs2023 #maincontents .novelty > div.follow .officialaccount {
	display: flex;
    justify-content: space-between;
    align-items: center;
    width: 380px;
    margin: 0 auto 30px auto;
}
#sub.tgs2023 #maincontents .novelty > div.follow .officialaccount li a {
	display: block;
	background-color: #02c0bf;
	color: #000000;
	line-height: 1em;
	padding: 0.7em 3em;
	border-radius: 100px;
	border: 1px #02c0bf solid;
}
#sub.tgs2023 #maincontents .novelty > div.follow .officialaccount li a:hover {
	background-color: #000000;
	color: #00c6d2;
	border: 1px #02c0bf solid;
}

/*シェア*/
#sub.tgs2023 #maincontents .novelty > div.share {
	color: #fff600;
}
#sub.tgs2023 #maincontents .novelty > div.share > h4 {
    border: 1px #fff600 solid;
	text-shadow: 0 0 10px #fff600;
}

/*試遊・感想投稿*/
#sub.tgs2023 #maincontents .novelty > div.play {
	color: #afafaf;
}
#sub.tgs2023 #maincontents .novelty > div.play > h4 {
	color: #ffffff;
    border: 1px #ffffff solid;
	text-shadow: 0 0 10px #ffffff;
}
#sub.tgs2023 #maincontents .novelty > div.play .creator {
	font-size: 13px;
	font-weight: 100;
}
#sub.tgs2023 #maincontents .novelty > div.play .creator h5 {
	background-image: url(../images/bg_hr_obj_b.png);
	background-size: 30px 3px;
	background-position: top center;
	background-repeat: no-repeat;
	margin: 60px auto 20px auto;
	padding: 60px 0 0 0;
    font-size: 16px;
    font-family: "termina", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
	line-height: 1em;
}
#sub.tgs2023 #maincontents .novelty > div.play .creator h6 {
	display: inline-block;
	margin: 0 auto 30px auto;
	padding: 0.7em 3em;
	font-size: 14px;
	line-height: 1em;
	border: 1px #616768 solid;
}
#sub.tgs2023 #maincontents .novelty > div.play .creator > ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 340px;
    margin: 0 auto;
}
#sub.tgs2023 #maincontents .novelty > div.play .creator > ul img {
	display: block;
	margin: 0 0 20px 0;
}
#sub.tgs2023 #maincontents .novelty > div.play .creator > ul a {
	color: #616768;
}




/*
開催情報
*/
#sub.tgs2023 #maincontents .schedule {
	font-size: 14px;
	letter-spacing: 0.165em;
}

#sub.tgs2023 #maincontents .schedule time {
	display: block;
	font-size: 20px;
	letter-spacing: 0.165em;
	margin: 0 auto 40px auto;
}

#sub.tgs2023 #maincontents .schedule dt {
	font-size: 15px;
	margin: 3em 0 1em 0;
}

#sub.tgs2023 #maincontents .schedule .notes {
	margin: 30px 0 30px 0;
	font-size: 12px;
}

#sub.tgs2023 #maincontents .schedule h5 {
	font-size: 15px;
}

#sub.tgs2023 #maincontents .schedule .access a {
	color: #ffffff;
	text-decoration: underline;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
東京ゲームショウ2023：基本レイアウト_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

バトル

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
バトル：基本レイアウト_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.battle {
    background-color: #181d1c;
    background-image: url(../images/battle_bg.png);
    background-size: 1680px auto;
    background-repeat: no-repeat;
    background-position: top center;
	background-attachment: fixed;
}

#sub.battle #maincontents {
	padding: 50px 0 100px 0;
}




/*
ページタイトル
*/
#sub.battle #maincontents > h2 {
	background-image: url(../images/battle_title.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: top center;
    width: 100%;
    height: 74px;
    margin: 0px auto 70px auto;
    text-indent: -9999px;
}




/*
バトル解説パネル
*/
#sub.battle #maincontents > section > div {
    box-sizing: border-box;
    position: relative;
    top: 0;
    left: -10px;
    background-image: url(../images/battle_box_bg_top_common.png);
    background-position: top center;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 1020px;
    margin: 0 auto 170px auto;
    padding: 70px 50px 0 60px;
	filter: drop-shadow(0 0 10px rgba(167, 0, 22, 0.3));
}
/*テーブル終わりパーツ*/
#sub.battle #maincontents > section > div::after {
	z-index: -1;
    content: "";
    display: block;
    position: absolute;
    left: 10px;
    bottom: -107px;
    width: 1020px;
    height: 108px;
    background-image: url(../images/battle_box_bg_bottom.png);
    background-position: bottom center;
    background-repeat: no-repeat;
}

/*サムネイルセクション*/
#sub.battle #maincontents > section > div .vis {
	position: relative;
	width: 460px;
	margin: 0 40px 0 0;
}
#sub.battle #maincontents > section > div .vis > figure {
	width: 460px;
}
#sub.battle #maincontents > section > div .vis figure img {
	width: 100%;
	height: auto;
}

/*概要セクション*/
#sub.battle #maincontents > section > div .detail {
	flex: 1;
}
#sub.battle #maincontents > section > div .detail h3,
#sub.battle #maincontents > section > div .detail h5,
#sub.battle #maincontents > section > div .detail > div p {
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.75);
}
#sub.battle #maincontents > section > div .detail h3 {
	position: relative;
    font-family: "FOT-筑紫明朝 Pr6 L";
    font-family: "TsukuMinPr6-L";
    -ms-writing-mode: tb-rl;
    -webkit-font-smoothing: antialiased;
    font-size: 26px;
    line-height: 1.65em;
    margin: 0 0 20px 0;
    padding: 0 0 15px 0;
    border-bottom: 1px #c10019 solid;
}
#sub.battle #maincontents > section > div .detail h3 em {
	color: #ffffff;
	font-style: normal;
	text-shadow: 0 0 10px rgba(255,255,255,0.6);
}
#sub.battle #maincontents > section > div .detail h3::after {
	content: "";
    display: block;
    position: absolute;
    top: -20px;
    left: -20px;
    background-color: #c10019;
    height: calc(60px / 2* tan(60deg));
    width: 15px;
    height: 15px;
    clip-path: polygon(0% 0%, 0% 100%, 100% 0%);
}
#sub.battle #maincontents > section > div .detail h5 {
	color: #c10019;
	margin: 0 0 30px 0;
	font-family: "termina", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 11px;
}
#sub.battle #maincontents > section > div .detail > div p {
    font-size: 14px;
    line-height: 1.86em;
    letter-spacing: 0.045em;
    margin: 0 0 1em 0;
}



/*
その他システム専用
*/
#sub.battle #maincontents > section.othersystem > div {
    background-image: url(../images/battle_box_bg_top_multi.png);
	filter: drop-shadow(0 0 10px rgba(6, 172, 166, 0.3));
}
#sub.battle #maincontents > section.othersystem > div::after {
    background-image: url(../images/battle_box_bg_multi_bottom.png);
}
#sub.battle #maincontents > section.othersystem > div .detail h3 {
    border-bottom: 1px #02c0bf solid;
}
#sub.battle #maincontents > section.othersystem > div .detail h3::after {
    background-color: #02c0bf;
}
#sub.battle #maincontents > section.othersystem > div .detail h5 {
	color: #02c0bf;
}




/*
カルーセル
*/
/*
Swiper
*/
#sub.battle #maincontents > section > div .vis .swiper {
	position: relative;
	width: 360px;
	margin: 0 auto;
}

/*画像*/
#sub.battle #maincontents > section > div .vis .swiper-slide img {
	width: 360px;
	height: 202px;
}

/*ページネーション*/
#sub.battle #maincontents > section > div .vis .swiper-pagination {
	/*
	position: absolute;
	right: 0 !important;
    left: inherit !important;
    width: auto;
	*/
	bottom: -30px;
}
.swiper-pagination-bullet {
	background: #02c0bf !important;
    width: 6px !important;
    height: 6px !important;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #02c0bf !important;
}

/*アロー*/
.swiper-button-next, .swiper-button-prev {
	color: #02c0bf !important;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
バトル：基本レイアウト_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/







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

キャラクター

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――*/
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
キャラクター：基本レイアウト_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.character {
    background-color: #000000;
}

#sub.character #maincontents {
	padding: 50px 0 100px 0;
}




/*
ページタイトル
*/
#sub.character #maincontents > h2 {
	background-image: url(../images/character_title.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: top center;
    width: 100%;
    height: 74px;
    margin: 0px auto 70px auto;
    text-indent: -9999px;
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
キャラクター：基本レイアウト_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/



/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
キャラクター：サムネイル一覧_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#sub.character .characterthumb {}



/*
サムネイル一覧
*/
#sub.character .characterthumb ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    width: 1000px;
    margin: 0 auto;
}
#sub.character .characterthumb ul li {
	position: relative;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 320px;
	height: 364px;
	margin: 6px;
}
#sub.character .characterthumb.modalrunning ul li {
	pointer-events: none;
}
#sub.character .characterthumb ul li::before,
#sub.character .characterthumb ul li::after {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	width: 320px;
	height: 364px;
	background-repeat: no-repeat;
	background-size: 100% auto;
	cursor: pointer;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
#sub.character .characterthumb ul li::before {
	z-index: 2;
	top: 0;
	background-position: top center;
	filter: drop-shadow(0 0 20px rgba(255, 0, 32, 0.5));
}
#sub.character .characterthumb ul li.enemy::before {
	filter: drop-shadow(0 0 20px rgba(0, 255, 246, 0.5));
}
#sub.character .characterthumb ul li::after {
	z-index: 1;
	bottom: 0;
	background-position: bottom center;
}
#sub.character .characterthumb ul li:hover:before {
	opacity: 0;
}
#sub.character .characterthumb ul li em {
	font-size: 0;
}

/*キャラごと表示（日本語）*/
#sub.character .characterthumb.jp ul li.eve::before,
#sub.character .characterthumb.jp ul li.eve::after {
	background-image: url(../images/jp_character_select_eve.png);
}
#sub.character .characterthumb.jp ul li.player::before,
#sub.character .characterthumb.jp ul li.player::after {
	background-image: url(../images/jp_character_select_player.png);
}
#sub.character .characterthumb.jp ul li.julia::before,
#sub.character .characterthumb.jp ul li.julia::after {
	background-image: url(../images/jp_character_select_julia.png);
}
#sub.character .characterthumb.jp ul li.taiga::before,
#sub.character .characterthumb.jp ul li.taiga::after {
	background-image: url(../images/jp_character_select_taiga.png);
}
#sub.character .characterthumb.jp ul li.sarah::before,
#sub.character .characterthumb.jp ul li.sarah::after {
	background-image: url(../images/jp_character_select_sarah.png);
}
#sub.character .characterthumb.jp ul li.eight::before,
#sub.character .characterthumb.jp ul li.eight::after {
	background-image: url(../images/jp_character_select_eight.png);
}
#sub.character .characterthumb.jp ul li.adam::before,
#sub.character .characterthumb.jp ul li.adam::after {
	background-image: url(../images/jp_character_select_adam.png);
}
#sub.character .characterthumb.jp ul li.deus::before,
#sub.character .characterthumb.jp ul li.deus::after {
	background-image: url(../images/jp_character_select_deus.png);
}

/*キャラごと表示（英語）*/
#sub.character .characterthumb.en ul li.eve::before,
#sub.character .characterthumb.en ul li.eve::after {
	background-image: url(../images/en_character_select_eve.png);
}
#sub.character .characterthumb.en ul li.player::before,
#sub.character .characterthumb.en ul li.player::after {
	background-image: url(../images/en_character_select_player.png);
}
#sub.character .characterthumb.en ul li.julia::before,
#sub.character .characterthumb.en ul li.julia::after {
	background-image: url(../images/en_character_select_julia.png);
}
#sub.character .characterthumb.en ul li.taiga::before,
#sub.character .characterthumb.en ul li.taiga::after {
	background-image: url(../images/en_character_select_taiga.png);
}
#sub.character .characterthumb.en ul li.sarah::before,
#sub.character .characterthumb.en ul li.sarah::after {
	background-image: url(../images/en_character_select_sarah.png);
}
#sub.character .characterthumb.en ul li.eight::before,
#sub.character .characterthumb.en ul li.eight::after {
	background-image: url(../images/en_character_select_eight.png);
}
#sub.character .characterthumb.en ul li.adam::before,
#sub.character .characterthumb.en ul li.adam::after {
	background-image: url(../images/en_character_select_adam.png);
}
#sub.character .characterthumb.en ul li.deus::before,
#sub.character .characterthumb.en ul li.deus::after {
	background-image: url(../images/en_character_select_deus.png);
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
キャラクター：サムネイル一覧_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/



/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
キャラクター：モーダル_start
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/*
モーダル全体
*/
.characterdetail {
	z-index: 99;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
}



/*
キャラ表示領域
*/
.characterdetail > div {}

/*水平線*/
.characterdetail > div .hzline {
	z-index: 1;
    display: block;
    position: absolute;
    top: 530px;
    left: 0;
    background: linear-gradient(rgba(125, 0, 16, 1), rgba(0, 0, 0, 0));
    width: 100%;
    height: 400px;
}
.characterdetail > div.enemy .hzline {
    background: linear-gradient(rgba(0, 122, 126, 1), rgba(0, 0, 0, 0));
}



/*
詳細説明ボックスレイアウト
*/
.characterdetail > div .detail {
	z-index: 3;
	position: absolute;
	left: 50%;
	top: 380px;
	margin: 0 0 0 -130px;
	box-sizing: border-box;
	width: 640px;
	padding: 20px 40px 0 40px;
	background-repeat: repeat-y;
	background-size: 100% auto;
	background-position: center center;
}
.characterdetail > div .detail::before,
.characterdetail > div .detail::after {
	content: "";
    display: block;
    position: absolute;
    left: 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center center;
    width: 100%;
}
.characterdetail > div .detail::before {
    height: 67px;
    top: -67px;
}
.characterdetail > div .detail::after {
    height: 60px;
    bottom: -60px;
}
/*味方*/
.characterdetail > div .detail {
	background-image: url(../images/character_modal_center.png);
	filter: drop-shadow(0 0 6px rgba(255, 0, 32, 0.5));
}
.characterdetail > div .detail::before {
    background-image: url(../images/character_modal_top.png);
}
.characterdetail > div .detail::after {
    background-image: url(../images/character_modal_bottom.png);
}
/*敵*/
.characterdetail > div.enemy .detail {
	background-image: url(../images/character_modal_enemy_center.png);
	filter: drop-shadow(0 0 6px rgba(0, 255, 246, 0.5));
}
.characterdetail > div.enemy .detail::before {
    background-image: url(../images/character_modal_enemy_top.png);
}
.characterdetail > div.enemy .detail::after {
    background-image: url(../images/character_modal_enemy_bottom.png);
}



/*
文言要素一式
*/
/*区切り*/
.characterdetail > div .detail .meta {
	margin: 0 0 20px 0;
}
/*味方*/
.characterdetail > div .detail .meta {
	border-bottom: 1px #d1001b solid;
}
/*敵*/
.characterdetail > div.enemy .detail .meta {
	border-bottom: 1px #06aca6 solid;
}

/*敵味方表記*/
.characterdetail > div .detail .meta > em {
    display: block;
    position: absolute;
    top: -30px;
    right: -10px;
    text-align: right;
    color: transparent;
    font-style: normal;
    font-size: 26px;
    line-height: 1em;
    letter-spacing: 0.3em;
    font-family: "termina", sans-serif;
    font-weight: 700;
    font-style: normal;
}
/*味方*/
.characterdetail > div .detail .meta > em {
	-webkit-text-stroke: 1px #d1001b;
    text-stroke: 1px #d1001b;
}
/*敵*/
.characterdetail > div.enemy .detail .meta > em {
	-webkit-text-stroke: 1px #06aca6;
    text-stroke: 1px #06aca6;
}

/*名前*/
.characterdetail > div .detail h3 {
	-webkit-font-smoothing: antialiased;
    font-size: 36px;
    font-family: "FOT-筑紫明朝 Pr6 R";
    font-family: "TsukuMinPr6-R";
    letter-spacing: 0.165em;
    line-height: 1em;
}
.characterdetail > div .detail h4 {
	font-size: 12px;
    font-family: "termina", sans-serif;
    font-weight: 300;
    line-height: 1em;
    margin: 10px 0;
}
/*味方*/
.characterdetail > div .detail h4 {
	color: #c10019;
}
/*敵*/
.characterdetail > div.enemy .detail h4 {
	color: #06aca6;
}

/*声優*/
.characterdetail > div .detail h5 {
	font-size: 18px;
    letter-spacing: 0.085em;
    line-height: 1em;
    margin: 20px 0;
}
.characterdetail > div .detail h5 em {
	display: inline-block;
    font-size: 13px;
    font-family: "termina", sans-serif;
    font-weight: 500;
    font-style: normal;
    background-color: #b22222;
    margin: 0 15px 0 0;
    padding: 2px 10px;
    border-radius: 6px;
}
.characterdetail > div.enemy .detail h5 {
	display: none;
}


/*本文*/
.characterdetail > div .detail .profile p {
	margin: 0 0 1em 0;
	font-size: 14px;
	letter-spacing: 0.065em;
	line-height: 1.65em;
	text-align: justify;
	word-break: break-all;
}
.characterdetail > div .detail .profile p:last-child {
	margin: 0;
}



/*
閉じるボタン
*/
.characterdetail > div .close { 
	box-sizing: border-box;
	z-index: 3;
    position: absolute;
    bottom: -140px;
    right: 0;
	width: 150px;
    background-color: rgba(0, 0, 0, 0.9);
    font-size: 14px;
    font-family: "termina", sans-serif;
    font-weight: 700;
    line-height: 1em;
    padding: 10px 0;
	text-align: center;
    cursor: pointer;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
.characterdetail > div .close:hover {
	letter-spacing: 0.15em;
}
/*味方*/
.characterdetail > div .close {
    color: #d1001b;
    border: 1px #d1001b solid;
}
.characterdetail > div .close:hover {
	background-color: #d1001b;
	color: #ffffff;
}
/*敵*/
.characterdetail > div.enemy .close {
    color: #06aca6;
    border: 1px #06aca6 solid;
}
.characterdetail > div.enemy .close:hover {
	background-color: #06aca6;
	color: #ffffff;
}



/*
キャラ画像
*/
.characterdetail > div figure {
	z-index: 2;
	position: absolute;
	top: 250px;
	left: 50%;
	margin: 0 0 0 -620px;
}
.characterdetail > div figure img {
	position: relative;
	display: inline-block;
}
/*味方*/
.characterdetail > div figure img {
	filter: drop-shadow(0 0 20px rgba(255, 0, 32, 0.5));
}
/*敵*/
.characterdetail > div.enemy figure img {
	filter: drop-shadow(0 0 20px rgba(0, 255, 234, 0.5));
}
/*位置調整*/
.characterdetail > div.eve figure img {
	top: 0;
	left: 0;
}
.characterdetail > div.player figure img {
	top: -190px;
    left: -40px;
}
.characterdetail > div.julia figure img {
    top: -40px;
    left: 160px;
}
.characterdetail > div.taiga figure img {
    top: -70px;
    left: 150px;
}
.characterdetail > div.sarah figure img {
    top: -60px;
    left: 220px;
}
.characterdetail > div.eight figure img {
    top: -80px;
    left: 70px;
}
.characterdetail > div.adam figure img {
    top: -130px;
    left: -160px;
}
.characterdetail > div.deus figure img {
	top: 0;
	left: 0;
}




/*
アニメーション
*/
/*前後関係処理*/
.characterdetail > div {
	z-index: 1;
	position: relative;
}
.characterdetail > div.active {
	z-index: 2;
	position: relative;
}

.characterdetail,
.characterdetail > div .hzline {
	pointer-events: none;
	opacity: 0;
	transition-duration: 1200ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transition-delay: 0ms;
	transform-origin: center;
}
.characterdetail > div .hzline {
	transform-origin: left;
	transition-delay: 400ms;
	opacity: 0;
	transform: scaleX(0);
}
.characterdetail > div figure,
.characterdetail > div .detail,
.characterdetail > div .detail .meta,
.characterdetail > div .detail .profile,
.characterdetail > div .close {
	opacity: 0;
	transition-duration: 600ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(.42,0,0,.99);
	transform-origin: center;
	transform: translateX(40px);
}

/*パネル全体表示*/
.characterdetail.active {
	pointer-events: unset;
	z-index: 100;
	opacity: 1;
}

/*水平ライン*/
.characterdetail > div.active .hzline {
	opacity: 1;
	transform: scaleX(1);
}

/*子要素大枠表示*/
.characterdetail > div figure {
	transition-delay: 1000ms;
	transform: translateX(-80px);
}
.characterdetail > div .detail {
	transition-delay: 1000ms;
	transform: translateX(80px);
}
.characterdetail > div.active figure,
.characterdetail > div.active .detail {
	opacity: 1;
	transform: translateX(0px);
}

/*子要素各テキスト要素表示*/
.characterdetail > div.active .detail .meta {
	transition-delay: 1500ms;
	opacity: 1;
	transform: translateX(0px);
}
.characterdetail > div.active .detail .profile {
	transition-delay: 1700ms;
	opacity: 1;
	transform: translateX(0px);
}
.characterdetail > div.active .close {
	transition-delay: 0ms;
	opacity: 1;
	transform: translateX(0px);
}





/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
キャラクター：モーダル_end
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/