@charset "utf-8";

/*-----------------------------------------------
 layout.css for PC
 * 00. Common
 * 01. TOP
-------------------------------------------------*/
/*-----------------------------------------------
 * 00. Common
-------------------------------------------------*/
/* MENU */
.MenuWrap {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	right: 0;
	pointer-events: none;
	z-index: 10000;
}

.MenuFullWrap {
	width: 100%;
	height: 100%;
	transition: all .3s ease-in-out;
	position: absolute;
	top: 0 !important;
	pointer-events: auto;
	right: -100%;
}

.MenuFullWrap.active {
	right: 0;
}

.menuLogo {
	width: 240px;
	height: 96px;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10001;
}

.menuLogo a {
	display: block;
	width: 121px;
	height: 80px;
	position: absolute;
	top: calc(50% - 40px);
	left: calc(50% - 60.5px);
	background: url(../img/common/m_logo.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

.menuListsWrap {
	width: 558px;
	height: 100%;
	position: absolute;
	background-color: rgba(0, 0, 0, .8);
	/*background-color: rgba(255,255,255,.8);*/
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	top: 0 !important;
	right: 0;
	padding-top: 176px;
}

.menuLists {
	width: 100%;
}

.menuLists li {
	width: 100%;
	text-align: center;
	font-size: 32px;
	line-height: 33px;
	font-weight: 600;
	margin-bottom: 64px;
	background: url(../img/common/sp_menuTxtBg.png);
	background-repeat-x: repeat;
	background-repeat-y: no-repeat;
}

.menuLists li a {
	color: #fff336;
	text-shadow:
		#9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px,
		#9c401d 1px 1px 4px, #9c401d -1px 1px 4px, #9c401d 1px -1px 4px, #9c401d -1px -1px 4px;
	text-decoration: unset;
	position: relative;
	padding-bottom: 9px;
}

.menuLists li a:after {
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fff336;
	box-shadow: 1px 1px 8px #9c401d, -1px -1px 8px #9c401d, 1px 1px 8px #9c401d, -1px -1px 8px #9c401d, 1px 1px 8px #9c401d, -1px -1px 8px #9c401d, 1px 1px 8px #9c401d, -1px -1px 8px #9c401d, 1px 1px 8px #9c401d, -1px -1px 8px #9c401d, 1px 1px 8px #9c401d, -1px -1px 8px #9c401d;
	transition: all .3s ease;
	opacity: 0;
}

.menuLists li a.current:after {
	opacity: 1;
}

.shareLists {
	width: 100%;
	height: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 98px;
}

.shareLists dt {
	font-size: 24px;
	font-family: 'Abel', sans-serif;
	color: #fff;
	letter-spacing: 0.0157em;
	margin-right: 45px;
}

.shareLists dd {
	width: 64px;
	height: 64px;
	display: block;
	margin-right: 48px;
}

.shareLists dd:last-child {
	margin-right: 0;
}

.shareLists dd a {
	display: block;
	width: 64px;
	height: 64px;
}

.shareLists dd:nth-of-type(1) a {
	background: url(../img/common/sns_tw.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

.shareLists dd:nth-of-type(2) a {
	background: url(../img/common/sns_fb.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

.shareLists dd:nth-of-type(3) a {
	background: url(../img/common/sns_line.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

.sp_mtriggerWrap {
	width: 96px;
	height: 96px;
	background-color: #48aabe;
	position: absolute;
	top: 0;
	right: 0;
	pointer-events: auto;
	transition: all .3s ease-in-out;
	z-index: 10010;
}

.mtrigger {
	display: block;
	width: 96px;
	height: 96px;
	position: absolute;
	top: 0;
	right: 0;
	text-decoration: none;
	z-index: 10;
	transition: all .3s ease-in-out;
}

.mtrigger:before {
	content: 'MENU';
	position: absolute;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 20px;
	line-height: 20px;
	font-weight: 700;
	width: 100%;
	text-align: center;
	letter-spacing: 0;
	top: 65px;
	color: #fff;
	transition: all .3s ease-in-out;
}

.mtrigger div {
	width: 48px;
	height: 32px;
	position: absolute;
	top: 24px;
	left: 0;
	right: 0;
	margin: auto;
}

.mtrigger div span {
	background: #fff;
	display: block;
	width: 100%;
	height: 4px;
	position: absolute;
	right: 0;
	left: 0;
	transition: all .3s ease-in-out;
}

.mtrigger div span:nth-of-type(1) {
	top: 0;
}

.mtrigger div span:nth-of-type(2) {
	top: 14px;
}

.mtrigger div span:nth-of-type(3) {
	bottom: 0;
}

.mtrigger.active {
	background-color: #fff;
}

.mtrigger.active:before {
	content: 'CLOSE';
	color: #000;
}

.mtrigger.active div span {
	background: #000;
}

.mtrigger.active div span:nth-of-type(1) {
	top: 14px;
	transform: rotate(30deg);
}

.mtrigger.active div span:nth-of-type(2) {
	opacity: 0;
	transform: translateX(20px);
}

.mtrigger.active div span:nth-of-type(3) {
	bottom: 14px;
	transform: rotate(-30deg);
}

/* BACKGROUND */
.bgb {
	background: url(../img/bg_b.png);
	/*padding-bottom: 160px;*/
	color: #fff;
	position: relative;
	background-attachment: fixed;
}

/*.bgb:before{
	content:'';
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100vw;
	height: 100vh;
	background: url(../img/bg_b.png);
}*/
.bgb .pdbb {
	padding-bottom: 96px;
}

/*.bgb.bgpdt{
	padding-top: 96px;
}*/
.bgw {
	background: url(../img/bg_wh.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top;
	background-attachment: fixed;
	padding-bottom: 96px;
	color: #000;
	position: relative;
	overflow: hidden;
}

.bgw:before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100vw;
	height: 100vh;
	background: url(../img/bg_wh_sp.jpg);
	background-size: cover;
	background-repeat: no-repeat;
}

.bgw .bgpdt {
	padding-top: 28px;
}

.cqpdb {
	padding-bottom: 180px;
}

/* GEAR */
.bgw_gear_topWrap {
	position: sticky;
	top: 0;
}

.bgw_gear_top {
	width: 280px;
	height: 224px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}

.top_gear_c {
	width: 240px;
	height: 240px;
	bottom: 120px;
	right: 120px;
	background: url(../img/bgw_gear/top_gear_c.png);
	animation: rht 22s linear infinite;
	position: absolute;
}

.top_gear_r {
	width: 160px;
	height: 160px;
	bottom: 128px;
	right: 0px;
	background: url(../img/bgw_gear/top_gear_r.png);
	animation: lft 24s linear infinite;
	position: absolute;
}

.top_gear_l {
	width: 200px;
	height: 200px;
	bottom: 0;
	right: 184px;
	background: url(../img/bgw_gear/top_gear_l.png);
	animation: rht 26s linear infinite;
	position: absolute;
}

.bgw_gear_bottom {
	width: 296px;
	height: 201px;
	overflow: hidden;
	position: absolute;
	bottom: 0;
	right: 0;
}

.sp_bgw_gear_bottom {
	height: 177px;
}

.bottom_gear_r {
	background: url(../img/bgw_gear/bottom_gear_r.png);
	width: 202px;
	height: 202px;
	position: absolute;
	top: 0;
	left: 175px;
	animation: lft 18s linear infinite;
}

.bottom_gear_c {
	background: url(../img/bgw_gear/bottom_gear_c.png);
	width: 322px;
	height: 322px;
	position: absolute;
	top: 81px;
	left: 95px;
	animation: rht 22s linear infinite;
	position: absolute;
}

.bottom_gear_l {
	background: url(../img/bgw_gear/bottom_gear_l.png);
	width: 160px;
	height: 160px;
	position: absolute;
	top: 113px;
	left: 0px;
	animation: lft 20s linear infinite;
}

@keyframes rht {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes lft {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(-360deg);
	}
}

.bgb_gearTopWrap {
	position: sticky;
	top: 0;
}

.bgb_gearBottomWrap {
	position: sticky;
	bottom: 0;
}

.bgb_gear_top {
	width: 360px;
	height: 566px;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/bgb_gear/bgb_gear_top.png);
	background-size: 100%;
}

.bgb_gear_bottom {
	width: 360px;
	height: 566px;
	position: absolute;
	bottom: 0;
	right: 0;
	background: url(../img/bgb_gear/bgb_gear_bottom.png);
	background-size: 100%;
}

.tc_fs24 {
	font-size: 24px;
	line-height: 48px;
	text-align: center;
}

.ytWrap {
	width: 100%;
	display: inline-block;
	height: auto;
	padding-top: 56.25%;
	position: relative;
}

.ytWrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.bgba {
	color: #48aabe;
	transition: all .3s ease;
}

/*-----------------------------------------------
 * 01. TOP
-------------------------------------------------*/
#fixed_btn {
	position: fixed;
	bottom: 0px;
	right: 0px;
	z-index: 1000;
}

#fixed_btn a {
	display: block;
	width: 205px;
	height: 210px;
	background: url(../img/btn_ticket.png);
	background-size: 100%;
}

#head {
	width: 100%;
	height: 1048px;
	position: relative;
	background: url(../img/bg.jpg);
	background-repeat-x: repeat;
	background-size: 100%;
	padding: 48px 72px 144px;
	z-index: 10;
}

#head_r {
	position: relative;
	width: 606px;
}

#head_r img {
	width: 100%;
}

#fv_kit_set {
	width: 432px;
	height: 124px;
	position: absolute;
	bottom: 24px;
	right: 24px;
	background: url(../img/fv_kit_set_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: 5;
}

#fv_sgLogo {
	width: 160px;
	height: 42px;
	position: absolute;
	bottom: 24px;
	left: 130px;
	background: url(../img/fv_sgLogo.png);
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: 5;
}

#fv_logo {
	width: 437px;
	height: 331px;
	position: absolute;
	bottom: 192px;
	left: calc(50% - 218.5px);
	background: url(../img/fv_logo_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: 5;
}

#fv_logo_scrap {
	width: 96px;
	height: 102px;
	position: absolute;
	bottom: 24px;
	left: 24px;
	background: url(../img/fv_logo_scrap.png);
	background-size: 100%;
	background-repeat: no-repeat;
	z-index: 5;
}

#head_catch {
	width: 65px;
	height: 594px;
	position: absolute;
	background: url(../img/fv_catch_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
	top: 133px;
	left: 90px;
	z-index: 5;
}

#top_Fixed {
	position: unset !important;
}

/* --
 * ABOUT *
--*/
#about {
	width: 100%;
	padding-top: 96px;
	z-index: 2;
	overflow: hidden;
	position: relative;
	z-index: 2;
}

#about h2 {
	width: 706px;
	height: 123px;
	background: url(../img/about_h2.png);
	background-size: 100%;
	margin: 0 auto 60px;
	overflow: hidden;
}

#about_ticketbuy__member {
	width: 706px;
	height: 80px;
	margin: 0 auto;
	margin-bottom: 48px;
}

#about_ticketbuy__all {
	width: 428px;
	height: 80px;
	margin: 0 auto;
	margin-bottom: 60px;
}

#about_startDay {
	width: 625px;
	height: 170px;
	margin: 0 auto;
}

#about_period {
	width: 544px;
	height: 96px;
	margin: 0 auto;
}

#about .imgLoopWrap {
	margin: 60px 0;
}

#about .imgFullWrap li {
	width: 310px;
	height: 200px;
}

#about .imgFullWrap li img {
	width: 100%;
}

#point {
	width: 100%;
	padding-top: 80px;
	margin-bottom: 8px;
	z-index: 2;
	position: relative;
}

#point h2 {
	width: 654px;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
	padding-bottom: 31px;
	position: relative;
	margin: 0 auto;
}

#point h2:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgb_h2_line_sp.png);
}

#point .topContInWrap {
	width: 100%;
	margin-top: 56px;
}

#pointWrap ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

#pointWrap li {
	width: calc(100% / 3);
}

#pointLists01 li {
	/*border-left: 1px solid #fff;*/
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	height: 242px;
	position: relative;
}

#pointLists01 li:before {
	content: '';
	position: absolute;
	top: 3px;
	left: -8px;
	width: 16px;
	height: 239px;
	background: url(../img/point_list01_sidebar_sp.png);
}

#pointLists01 li:nth-of-type(1)::before {
	content: unset;
}

.pointLists01_img {
	width: 226px;
	height: 130px;
	margin-top: 20px;
}

#pointLists01_txt01 {
	width: 230px;
}

#pointLists01_txt02 {
	width: 228px;
}

#pointLists01_txt03 {
	width: 208px;
}

#pointLists02 {
	margin-top: 96px;
	height: 240px;
}

#pointLists02 li {
	height: 240px;
	position: relative;
	background: rgba(256, 256, 256, 0.2);
}

/*#pointLists02 li:nth-of-type(2):before{
	content: '';
	top:20px;
	bottom: 20px;
	left: 0;
	background: #fff;
	width: 1px;
	position: absolute;
}
#pointLists02 li:nth-of-type(2):after{
	content: '';
	top:20px;
	bottom: 20px;
	right: 0;
	background: #fff;
	width: 1px;
	position: absolute;
}*/
#pL02_01 p {
	width: 180px;
	height: 215px;
	position: absolute;
	background: url(../img/point_list02_01_sp.png);
	background-size: 100%;
	top: -48px;
	right: 39px;
}

#pL02_02 p {
	width: 150px;
	height: 212px;
	position: absolute;
	background: url(../img/point_list02_02_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
	top: -48px;
	right: calc(50% - 75px);
}

#pL02_03 p {
	width: 234px;
	height: 257px;
	position: absolute;
	background: url(../img/point_list02_03_sp.png);
	background-size: 100%;
	top: -48px;
	right: 8px;
}

/* --
 * NEWSPECIAL *
--*/
#newspecial {
	width: 100%;
	position: relative;
	z-index: 2;
}

#news {
	width: 100%;
	padding-top: 78px;
}

#news h2 {
	width: 654px;
	margin: 0 auto;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: left;
	position: relative;
	padding-bottom: 5px;
}

#news h2:before {
	content: '';
	width: 654px;
	height: 9px;
	background: url(../img/newspecial_line_sp.png);
	background-size: 100%;
	position: absolute;
	bottom: 0px;
	right: 0;
	left: 0;
}

#newsListsWrap {
	width: 654px;
	height: 280px;
	padding-top: 20px;
	padding-bottom: 46px;
	position: relative;
	margin: 0 auto;
}

#newsListsWrap:after {
	content: '';
	width: 654px;
	height: 1px;
	background: #fff;
	background-size: 100%;
	position: absolute;
	bottom: 0px;
	right: 0;
	left: 0;
}

#newsListsWrap ul {
	height: 240px;
	overflow: auto;
}

#newsListsWrap li {
	display: flex;
	width: 634px;
	padding-top: 18px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(256, 256, 256, .4);
}

#newsListsWrap li span,
#newsListsWrap li time {
	display: inline-block;
	font-size: 24px;
	line-height: 48px;
}

#newsListsWrap li .date {
	width: 115px;
	margin-right: 10px;
	font-family: 'Abel', sans-serif;
	letter-spacing: 0.0157em;
}

#newsListsWrap li .nTitle {
	font-weight: 300;
}

#newsListsWrap li .nTitle a {
	color: #fff336;
	text-shadow:
		#9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px;
	transition: all .3s ease;
}

#special {
	width: 654px;
	margin: 0 auto;
	padding-top: 78px;
}

#special h2 {
	width: 654px;
	margin: 0 auto;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: left;
	position: relative;
	padding-bottom: 5px;
}

#special h2:before {
	content: '';
	width: 654px;
	height: 9px;
	background: url(../img/newspecial_line_sp.png);
	background-size: 100%;
	position: absolute;
	bottom: 0px;
	right: 0;
	left: 0;
}

#specialListsWrap {
	width: 654px;
	margin: 0 auto;
	height: 526px;
	margin-top: 45px;
	position: relative;
}

.specialbnr {
	margin: 32px auto;
	display: block;
}

.specialbnr img {
	width: 100%;
}

#specialListsWrap ul {
	height: 526px;
}

#specialListsWrap li {
	width: 654px;
	height: 158px;
	margin-bottom: 26px;
}

#specialListsWrap li img {
	width: 100%;
}

#specialListsWrap li:last-child {
	margin-bottom: 0;
}

.special__youtubeWrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-top: 45px;
}

.special__youtubeWrap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

/*-- END ABOUT AREA --*/

/* --
 * HowTo *
--*/
#howto {
	width: 100%;
	padding-top: 92px;
	padding-bottom: 62px;
	z-index: 2;
	position: relative;
}

#howto h2 {
	width: 100%;
	font-size: 88px;
	line-height: 88px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
	background: url(../img/bgw_h2_3line.png);
	background-repeat-y: repeat;
	background-position: bottom;
}

#howtoContWrap {
	width: 654px;
	margin: 96px auto 0;
	z-index: 2;
}

.howtoContInWrap {
	margin-bottom: 39px;
}

.howtoContInWrap:last-of-type {
	margin-bottom: 0;
}

#howtoContWrap h3 {
	display: flex;
	width: 100%;
	height: 80px;
	position: relative;
}

#howtoContWrap h3:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 654px;
	height: 9px;
	background: url(../img/howto_line_h3_sp.png);
}

#howtoContWrap h3 .h3en {
	font-size: 80px;
	line-height: 80px;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	margin-right: 24px;
	letter-spacing: 0;
}

#howtoContWrap h3 .h3ja {
	font-size: 26px;
	line-height: 80px;
	font-weight: 700;
	color: #e5004f;
	letter-spacing: 0.075px;
}

.howtoContFlex {
	width: 100%;
	display: flex;
	margin-top: 32px;
}

.howtoContFlex p .mini {
	font-size: 20px;
	display: inline-block;
	line-height: 40px;
}

.howtoContFlex img {
	width: 200px;
	height: 200px;
	margin-right: 48px;
	margin-top: 12px;
}

.howtoContFlex p {
	width: calc(100% - 248px);
	font-size: 24px;
	line-height: 48px;
	letter-spacing: 0.01em;
}

.howtoContFlex p a {
	display: inline-block;
	width: 340px;
	padding: 20px 0;
	background: #48aabe;
	color: #fff;
	font-size: 24px;
	line-height: 32px;
	text-align: center;
	position: relative;
	text-decoration: none;
	margin-top: 20px;
}

.howtoContFlex p a:after {
	content: '';
	position: absolute;
	width: 64px;
	height: 8px;
	top: calc(50% - 4px);
	right: -40px;
	background: url(../img/howto_arrow.png);
}

/* --
 * Requirements *
--*/
#requirements {
	width: 654px;
	margin: 0 auto;
	padding-top: 24px;
	position: relative;
	z-index: 2;
}

#requirements h2 {
	width: 100%;
	padding-bottom: 28px;
	position: relative;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#requirements h2:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgw_h2_line_sp.png);
}

#requirements h3 {
	font-size: 28px;
	line-height: 32px;
	font-weight: 700;
	color: #e5004f;
	text-align: center;
	margin-top: 64px;
	margin-bottom: 48px;
}

#requirements ul {
	width: 100%;
}

#requirements li {
	width: 654px;
	height: 450px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

#requirements li img {
	margin: 0 auto;
	display: block;
}

#requirements li a {
	width: 654px;
	height: 360px;
	display: flex;
	align-items: center;
}

#requirements li:nth-of-type(1) {
	background: rgba(0, 0, 0, 0.9);
}

#requirements li:nth-of-type(2) {
	background: rgba(0, 0, 0, 0.8);
	position: relative;
}

#requirements li:nth-of-type(2):after {
	content: '';
	position: absolute;
	background: url(../img/requirements_li02_icon.png);
	background-size: 100%;
	width: 150px;
	height: 24px;
	bottom: 32px;
	right: 32px;
}

#requirements li:nth-of-type(3) {
	background: rgba(0, 0, 0, 0.7);
}

#challenge {
	width: 654px;
	margin: 0 auto;
	padding-top: 24px;
	position: relative;
	z-index: 2;
}

#challenge h2 {
	width: 100%;
	padding-bottom: 28px;
	position: relative;
	font-size: 58px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#challenge h2:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgw_h2_line_sp.png);
}

.challengeWrap_hp {
	font-size: 24px;
	line-height: 2;
	letter-spacing: 0.01em;
	text-align: center;
	margin-top: 44px;
}

.challengeWrap {
	width: 100%;
	margin: 44px auto 0;
}

.challenge_img {
	width: 100%;
	background-color: rgba(255, 255, 255, 0.75);
}

.challenge_img img {
	width: 100%;
}

.challenge__b {
	padding: 32px 0;
	margin: 16px 0 0;
	background-color: #ccc;
}

.challenge_form {
	width: 100%;
	background-color: #ccc;
	display: flex;
	justify-content: center;
}

.challenge_form input {
	width: 500px;
	display: block;
	background-color: #fff;
	height: 60px;
	font-weight: 700;
	padding: 12px 6px;
	font-size: 24px;
	border-top: solid 3px #333;
	border-bottom: solid 3px #F2F2F2;
	border-left: solid 3px #333;
	border-right: solid 3px #F2F2F2;
}

.challenge_form a {
	width: 100px;
	height: 60px;
	display: block;
	box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px #808080, inset 2px 2px #dfdfdf;
	background: #ccc;
	font-size: 24px;
	line-height: 54px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	display: block;
	color: #000;
	margin-left: 10px;
	text-align: center;
}

.challenge_hintLists {
	padding-top: 32px;
	width: 600px;
	margin: 0 auto;
}

.challenge_hintLists h3 {
	display: block;
	color: #000;
	text-align: center;
	font-size: 24px;
	padding: 10px 0;
	font-weight: 700;
	width: 100%;
}

.challenge_hintLists ul {
	display: flex;
}

.challenge_hintList {
	margin: 5px;
}

.challenge_hintList:nth-of-type(1) {
	margin-left: 0;
}

.challenge_hintList a {
	display: block;
	font-size: 24px;
	padding: 5px 10px;
	box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px #808080, inset 2px 2px #dfdfdf;
	background: #ccc;
	font-size: 20px;
	line-height: 34px;
	font-weight: 700;
	text-decoration: none;
}

.challenge_hintList a.active {
	box-shadow: inset -1px -1px #fff, inset 1px 1px #0a0a0a, inset -2px -2px #dfdfdf, inset 2px 2px #808080;
}

.hint_text {
	width: 600px;
	display: none;
	margin: 15px auto 0;
	background-color: #fff;
	padding: 12px 6px;
	font-size: 20px;
	border-top: solid 3px #333;
	border-bottom: solid 3px #F2F2F2;
	border-left: solid 3px #333;
	border-right: solid 3px #F2F2F2;
}

#challengeModal .oneModalIn {
	background-color: rgba(0, 0, 0, .75);
}

.challengeModalIn {
	max-width: 100%;
	color: #fff;
	padding: 120px 48px;
}

.clear_txtWrap_f_l {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
}

.clear_txtWrap_f_l p {
	width: 100%;
	font-size: 26px;
	line-height: 2.2;
	color: #fff336;
	text-shadow: #9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px;
	font-weight: 700;
}

.clear_txtWrap_f a {
	display: inline-block;
	padding: 20px 60px;
	width: 470px;
	background: #48aabe;
	color: #fff;
	font-size: 24px;
	line-height: 40px;
	text-align: center;
	position: relative;
	text-decoration: none;
	margin-top: 40px;
	transition: all .3s ease-in-out;
}

.clear_txtWrap_f a:after {
	content: '';
	position: absolute;
	width: 64px;
	height: 8px;
	top: calc(50% - 4px);
	right: -40px;
	background: url(../img/howto_arrow_w.png);
	transition: all .3s ease-in-out;
}

.clear_txtWrap_f .clear_txtWrap_f_img {
	display: block;
	width: 520px;
	margin: 0 auto 32px;
}

.clear_txtWrap_f .clear_txtWrap_f_img img {
	width: 100%;
}

.clear_txtWrap_c {
	margin-top: 48px;
}

.clear_txtWrap_c h2 {
	font-size: 24px;
	font-weight: 700;
	color: #fff;
	padding: 32px 0;
}

.clear_txtWrap_c p {
	font-size: 24px;
	line-height: 2;
	color: #fff;
}

.clear_txtWrap_c a {
	color: #fff;
}

.clear_textWrap_c p span {
	font-size: 20px;
}

.challenge_wrong {
	width: 100%;
	margin: 0 auto;
}

.challenge_wrongIMG {
	width: 500px;
	height: 339px;
	margin: 0 auto 48px;
}

.challenge_wrongIMG img {
	width: 100%;
}

.challenge_wrong {
	font-size: 24px;
	color: #fff;
	text-align: center;
	font-weight: 700;
}

/*-- END HowTo AREA --*/

/* --
 * ticket *
--*/
#ticket {
	padding-top: 92px;
	width: 100%;
	margin: 0 auto;
	z-index: 2;
	position: relative;
}

#ticket h2 {
	width: 100%;
	position: relative;
	/*display: inline-block;*/
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	color: #000000;
	font-size: 80px;
	line-height: 88px;
	text-shadow: 2px 2px 0px #ffffff,
		-2px 2px 0px #ffffff,
		2px -2px 0px #ffffff,
		-2px -2px 0px #ffffff,
		2px 0px 0px #ffffff,
		0px 2px 0px #ffffff,
		-2px 0px 0px #ffffff,
		0px -2px 0px #ffffff;
	text-align: center;
	background: url(../img/bgb_h2_3line.png);
	background-repeat-y: repeat;
	background-position: bottom;
}

#schedule {
	padding-top: 92px;
}

#schedule h3 {
	width: 654px;
	margin: 0 auto;
	padding-bottom: 28px;
	position: relative;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#schedule h3:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgb_h2_line_sp.png);
}

.scheduleIn {
	width: 654px;
	margin: 64px auto 0;
}

.scheduleIn h4 {
	margin: 0 auto;
	margin-bottom: 48px;
}

.scheduleIn:nth-of-type(1) h4 {
	background: url(../img/schedule_h4_01.png);
	width: 374px;
	height: 75px;
	background-repeat: no-repeat;
	background-size: 100%;
}

.scheduleIn:nth-of-type(2) h4 {
	background: url(../img/schedule_h4_02.png);
	width: 296px;
	height: 33px;
	background-repeat: no-repeat;
	background-size: 100%;
}

.schedule_eventstart h4 {
	background: url(../img/schedule_h4_03.png);
	width: 268px;
	height: 26px;
	background-repeat: no-repeat;
	background-size: 100%;
}

.scheduleIn p {
	width: 100%;
	padding: 28px 0;
	font-size: 28px;
	font-weight: 300;
	line-height: 48px;
	color: #fff336;
	text-shadow:
		#9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px,
		#9c401d 1px 1px 4px, #9c401d -1px 1px 4px, #9c401d 1px -1px 4px, #9c401d -1px -1px 4px,
		#9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px;
	text-align: center;
	background: rgba(256, 256, 256, 0.1);
}

.txt_line {
	text-decoration: line-through;
}

#price {
	padding-top: 70px;
	width: 654px;
	margin: 0 auto;
}

#price h3 {
	width: 100%;
	padding-bottom: 28px;
	position: relative;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#price h3:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgb_h2_line_sp.png);
}

#price ul {
	width: 100%;
	margin-top: 16px;
}

#price li {
	width: 100%;
	padding-bottom: 36px;
	margin-bottom: 24px;
	position: relative;
}

#price li:after {
	content: '';
	position: absolute;
	background: #fff;
	bottom: 0;
	right: 0;
	left: 0;
	height: 1px;
}

#price li:last-of-type {
	margin-bottom: 0;
}

#price li h4 {
	font-size: 40px;
	line-height: 40px;
	padding-top: 46px;
	margin-bottom: 4px;
	padding-bottom: 6px;
	position: relative;
	color: #fff336;
	text-shadow:
		#9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px,
		#9c401d 1px 1px 4px, #9c401d -1px 1px 4px, #9c401d 1px -1px 4px, #9c401d -1px -1px 4px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
}

#price li h4:before {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 9px;
	background: url(../img/newspecial_line_sp.png);
}

#price li:nth-of-type(3) h4 {
	color: #fff;
	text-shadow: #e4004f 4px 4px 12px, #e4004f -4px 4px 12px, #e4004f 4px -4px 12px, #e4004f -4px -4px 12px;
}

#price li .priceInImg {
	width: 654px;
	/*height: 314px;*/
	margin-top: 40px;
	margin-bottom: 38px;
}

#price li .priceInImg img {
	width: 100%;
}

#price li p {
	font-size: 24px;
	line-height: 48px;
	font-weight: 300;
}

.price_goto {
	width: 100%;
	margin-top: 72px;
	text-align: center;
}

.price_goto p {
	font-size: 24px;
	text-align: center;
}

.gotoIMG {
	display: block;
	margin: 0 auto;
	width: 600px;
	padding: 40px 0;
}

.price_goto a {
	width: 600px;
	display: inline-block;
	padding: 20px 60px;
	background: #48aabe;
	color: #fff;
	font-size: 24px;
	line-height: 32px;
	text-align: center;
	position: relative;
	text-decoration: none;
	margin-top: 40px;
	transition: all .3s ease-in-out;
}

.price_goto a:after {
	content: '';
	position: absolute;
	width: 64px;
	height: 8px;
	top: calc(50% - 4px);
	right: -40px;
	background: url(../img/howto_arrow_w.png);
	transition: all .3s ease-in-out;
}

#ticketpriceWrap {
	margin-top: 72px;
}

#ticketpriceWrap h4 {
	font-size: 24px;
	line-height: 24px;
	font-weight: 600;
	margin-bottom: 26px;
}

#ticketpriceWrap h4 span {
	font-size: 16px;
}

#ticketpriceWrap table {
	width: 100%;
	table-layout: auto;
	text-align: center;
}

#ticketpriceWrap table th {
	width: 200px;
	/*width: 51.9889%;*/
	text-align: center;
	background: #222222;
	color: #fff336;
	text-shadow:
		#9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px,
		#9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px;
}

#ticketpriceWrap table th a {
	color: #fff336;
}

#ticketpriceWrap table td {
	/*width: calc(100% - 300px);*/
	text-align: center;
	border-left: solid 1px #cccccc;
}

#ticketpriceWrap table th {
	padding: 38px 0;
	font-size: 28px;
	line-height: 48px;
	font-weight: 700;
	background: #222222;
}

#ticketpriceWrap table td {
	padding: 38px 0;
	font-size: 28px;
	line-height: 48px;
	font-weight: 700;
	background: #fff;
	color: #000;
}

#ticketpriceWrap table td span.p_people {
	font-size: 20px;
	font-weight: 600;
}

#ticketpriceWrap table td span.p_cp {
	font-size: 20px;
	font-weight: 500;
	color: #ff0000;

}

#ticketpriceWrap table td span.p_cp_s {
	font-size: 18px;
	font-weight: 500;
	color: #ff0000;
	line-height: 1;
}

#ticketpriceWrap table td span.p_goto {
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
	margin-top: 0.25em;
}

#ticketpriceWrap table {
	border-collapse: collapse;
}

#ticketpriceWrap table tr:nth-of-type(1),
#ticketpriceWrap table tr:nth-of-type(2),
#ticketpriceWrap table tr:nth-of-type(3) {
	border-bottom: solid 1px #cccccc;
}

#ticketpriceWrap .tablec {
	width: 220px;
}

#ticketpriceWrap .tabler a {
	padding: 16px 12px;
	display: block;
	width: 200px;
	margin: 0 auto;
	font-size: 20px;
	line-height: 40px;
	color: #fff;
	background: #48aabe;
	text-decoration: none;
	text-align: center;
}

#ticketpriceWrap p {
	font-size: 24px;
	line-height: 48px;
	margin-top: 12px;
}

#ticketpriceBtnWrap {
	width: 100%;
	margin-top: 62px;
}

#ticketpriceBtnWrap a {
	width: 558px;
	height: 112px;
	background: #48aabe;
	display: flex;
	position: relative;
	margin: 0 auto;
	margin-bottom: 48px;
	font-size: 28px;
	line-height: 40px;
	font-weight: 600;
	color: #fff;
	align-items: center;
	text-align: center;
	justify-content: center;
	padding: 16px 0;
	text-decoration: unset;
}

#ticketpriceBtnWrap a:last-of-type {
	margin-bottom: 0;
}

#ticketpriceBtnWrap a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 195px;
	height: 112px;
	background: url(../img/ticketpriceBtn_bg_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

#ticketpriceBtnWrap a:after {
	content: '';
	position: absolute;
	top: calc(50% - 4px);
	right: -72px;
	width: 108px;
	height: 8px;
	background: url(../img/ticketpriceBtn_arrow_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
	transition: all .3s ease-in-out;
}

.pricelinkbtn {
	display: block;
	width: 100%;
	text-align: center;
}

.pricelinkbtn a {
	width: 600px;
	display: inline-block;
	padding: 20px 60px;
	background: #48aabe;
	color: #fff;
	font-size: 24px;
	line-height: 32px;
	text-align: center;
	position: relative;
	text-decoration: none;
	margin-top: 40px;
	transition: all .3s ease-in-out;
}

.pricelinkbtn a:after {
	content: '';
	position: absolute;
	width: 64px;
	height: 8px;
	top: calc(50% - 4px);
	right: -40px;
	background: url(../img/howto_arrow_w.png);
	transition: all .3s ease-in-out;
}

/* -- * END TICKET AREA *--*/

/* --
 * story *
--*/
#story {
	width: 654px;
	margin: 0 auto;
	padding-top: 92px;
}

#story h2 {
	width: 100%;
	padding-bottom: 28px;
	position: relative;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#story h2:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgw_h2_line_sp.png);
}

#storyWrap {
	font-size: 24px;
	line-height: 48px;
	text-align: center;
	margin-top: 52px;
	letter-spacing: 0;
	font-weight: 500;
}

#storyWrap .more a,
#about_steinsgate_btn .more a,
#about_realgame .more a {
	position: relative;
	text-align: center;
	font-weight: 600;
	line-height: 26px;
	letter-spacing: 0.07em;
	display: block;
	color: #48aabe;
}

#storyWrap .more,
#storyWrap .close a,
#about_steinsgate_btn .more,
#about_steinsgate_btn .close a,
#about_realgame .more,
#about_realgame .close a {
	margin-top: 48px;
}

#storyWrap .more a,
#about_steinsgate_btn .more a,
#about_realgame .more a {
	height: 26px;
	width: 140px;
	margin: 0 auto;
}

#storyWrap .close a,
#about_steinsgate_btn .close a,
#about_realgame .close a {
	height: 26px;
	width: 75px;
	margin: 0 auto;
	color: #48aabe;
}

#storyWrap .more a:after,
#about_steinsgate_btn .more a:after,
#about_realgame .more a:after {
	content: '';
	position: absolute;
	background: url(../img/common/moreBtn_arrow.png);
	width: 19px;
	height: 16px;
	right: -33px;
	top: calc(50% - 8px);
}

#storyWrap .close a,
#about_steinsgate_btn .close a,
#about_realgame .close a {
	position: relative;
	text-align: center;
	font-weight: 600;
	line-height: 26px;
	letter-spacing: 0.07em;
	display: block;
}

#storyWrap .close a,
#about_steinsgate_btn .close a,
#about_realgame .close a {
	display: none;
}

#storyWrap .close a:after,
#about_steinsgate_btn .close a:after,
#about_realgame .close a:after {
	content: '';
	position: absolute;
	background: url(../img/common/moreBtn_arrow.png);
	width: 19px;
	height: 16px;
	right: -33px;
	top: calc(50% - 8px);
	transform: rotate(180deg);
}

.moreTxt,
.close a {
	display: none;
}

#about_steinsgate_btn a {
	font-size: 24px;
}

/* --
 * character *
--*/
#character {
	width: 100%;
	margin: 0 auto;
	padding-top: 72px;
}

#character h2 {
	width: 654px;
	margin: 0 auto;
	padding-bottom: 28px;
	position: relative;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#character h2:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgw_h2_line_sp.png);
}

#characterWrap {
	width: 100%;
	position: relative;
	margin-top: 64px;
}

#charaThumbWrap {
	width: 372px;
	height: 120px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
}

#charaThumbWrap ul {
	width: 372px;
	height: 120px;
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	right: 0;
}

#charaThumbWrap li {
	width: 124px;
	height: 120px;
	position: relative;
}

#charaThumbWrap li a {
	display: block;
	height: 120px;
	position: relative;
	background-repeat: no-repeat;

}

#charaThumbWrap li:nth-of-type(1) a {
	background: url(../img/character_thumb_ct1.jpg);
	background-size: 100%;
}

#charaThumbWrap li:nth-of-type(2) a {
	background: url(../img/character_thumb_ct2.jpg);
	background-size: 100%;
}

#charaThumbWrap li:nth-of-type(3) a {
	background: url(../img/character_thumb_ct3.jpg);
	background-size: 100%;
}

#charaMainWrap {
	width: 750px;
}

#charaMainWrap li {
	width: 750px;
	position: relative;
}

.charaImg {
	width: 750px;
	position: absolute;
	top: 0;
	left: 0;
}

.charaBar {
	background: rgba(0, 0, 0, .2);
	width: 100%;
	height: 1px;
}

.charah3Wrap {
	position: absolute;
	width: 100%;
	height: 97px;
	top: 192px;
}

.charah3Wrap h3 {
	width: 382px;
	height: 97px;
	margin-left: auto;
}

.charatxtWrap {
	position: absolute;
	width: 100%;
	height: auto;
	top: 316px;
}

.charatxtWrap p {
	width: 570px;
	font-size: 24px;
	line-height: 48px;
	margin: 0 auto;
	font-weight: 500;
	z-index: 5;
	position: relative;
	text-shadow:
		#fff 2px 0px 2px, #fff -2px 0px 2px,
		#fff 0px -2px 2px, #fff -2px 0px 2px,
		#fff 2px 2px 2px, #fff -2px 2px 2px,
		#fff 2px -2px 2px, #fff -2px -2px 2px,
		#fff 1px 2px 2px, #fff -1px 2px 2px,
		#fff 1px -2px 2px, #fff -1px -2px 2px,
		#fff 2px 1px 2px, #fff -2px 1px 2px,
		#fff 2px -1px 2px, #fff -2px -1px 2px,
		#fff 1px 1px 2px, #fff -1px 1px 2px,
		#fff 1px -1px 2px, #fff -1px -1px 2px;
}

.charatxtWrap .charaBar.ctwt {
	position: absolute;
	top: 12px;
}

.charatxtWrap .charaBar.ctwb {
	position: absolute;
	bottom: 9px;
}

.charaNameWrap {
	position: absolute;
	width: 100%;
	height: auto;
	bottom: 0;
}

.charaNameInWrap {
	width: 100%;
}

.charaNameInWrap img {
	margin-left: auto;
}

#ch1 {
	height: 930px;
}

#ch1 .charaImg {
	height: 930px;
	background: url(../img/character_main_ch1_sp.png);
	background-size: 100%;
	background-position: center top;
	background-repeat: no-repeat;
}

#ch1 .charah3Wrap h3 {
	background: url(../img/character_main_h3_ch1_sp.png);
	background-size: 100%;
}

#ch2 {
	height: 930px;
}

#ch2 .charaImg {
	height: 930px;
	background: url(../img/character_main_ch2_sp.png);
	background-size: 100%;
	background-position: center top;
	background-repeat: no-repeat;
}

#ch2 .charah3Wrap h3 {
	background: url(../img/character_main_h3_ch2_sp.png);
	background-size: 100%;
}

#ch3 {
	height: 930px;
}

#ch3 .charaImg {
	height: 930px;
	background: url(../img/character_main_ch3_sp.png);
	background-size: 100%;
	background-position: center top;
	background-repeat: no-repeat;
}

#ch3 .charah3Wrap h3 {
	background: url(../img/character_main_h3_ch3_sp.png);
	background-size: 100%;
}

.swiper-button-prev,
.swiper-button-next {
	width: 56px;
	height: 80px;
	margin-top: 0;
	position: absolute;
	top: calc(50% - 40px);
	z-index: 10;
}

.swiper-button-prev {
	background: url(../img/common/btn_prev.png);
	width: 56px;
	height: 80px;
	left: 10px;
}

.swiper-button-next {
	background: url(../img/common/btn_next.png);
	width: 56px;
	height: 80px;
	right: 10px;
}

.charaThumb_BG_on {
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(72, 170, 190, .4);
	opacity: 0;
}

.on .charaThumb_BG_on {
	opacity: 1;
}

/* Glitch styles */
.charathumb_glitch {
	--color-text: #aaa;
	--color-bg: #000;
	--color-link: #1c1cc9;
	--color-link-hover: #aaa;
	--color-info: #1c1cc9;
	--glitch-width: 100vw;
	--glitch-height: 100vh;
	--gap-horizontal: 10px;
	--gap-vertical: 5px;
	--color-title: #fff;
	--time-anim: 2s;
	--delay-anim: 0s;
	--blend-mode-1: none;
	--blend-mode-2: none;
	--blend-mode-3: none;
	--blend-mode-4: overlay;
	--blend-mode-5: overlay;
	--blend-color-1: transparent;
	--blend-color-2: transparent;
	--blend-color-3: transparent;
	--blend-color-4: #fb909a;
	--blend-color-5: #1c1cc9;
	opacity: 0;
}

.on .charathumb_glitch {
	opacity: 1;
}

.VS_glitchWrap {
	--color-text: #aaa;
	--color-bg: #000;
	--color-link: #1c1cc9;
	--color-link-hover: #aaa;
	--color-info: #1c1cc9;
	--glitch-width: 100vw;
	--glitch-height: 100vh;
	--gap-horizontal: 10px;
	--gap-vertical: 5px;
	--color-title: #fff;
	--time-anim: 4s;
	--delay-anim: 2s;
	--blend-mode-1: none;
	--blend-mode-2: none;
	--blend-mode-3: none;
	--blend-mode-4: overlay;
	--blend-mode-5: overlay;
	--blend-color-1: transparent;
	--blend-color-2: transparent;
	--blend-color-3: transparent;
	--blend-color-4: #fb909a;
	--blend-color-5: #1c1cc9;
}

.glitch {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.VS_glitchWrap .glitch__img {
	position: absolute;
	/* top: calc(-1 * var(--gap-vertical)); */
	/* left: calc(-1 * var(--gap-horizontal)); */
	width: 100%;
	background: url(../img/fv_visual_sp.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-color: var(--blend-color-1);
	transform: translate3d(0, 0, 0);
	background-blend-mode: var(--blend-mode-1);
	height: 100%;
}

#charaThumbWrap li:nth-of-type(1) .glitch__img {
	position: absolute;
	/* top: calc(-1 * var(--gap-vertical)); */
	/* left: calc(-1 * var(--gap-horizontal)); */
	width: 100%;
	background: url(../img/character_thumb_ct1.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-color: var(--blend-color-1);
	transform: translate3d(0, 0, 0);
	background-blend-mode: var(--blend-mode-1);
	height: 100%;
}

#charaThumbWrap li:nth-of-type(2) .glitch__img {
	position: absolute;
	/* top: calc(-1 * var(--gap-vertical)); */
	/* left: calc(-1 * var(--gap-horizontal)); */
	width: 100%;
	background: url(../img/character_thumb_ct2.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-color: var(--blend-color-1);
	transform: translate3d(0, 0, 0);
	background-blend-mode: var(--blend-mode-1);
	height: 100%;
}

#charaThumbWrap li:nth-of-type(3) .glitch__img {
	position: absolute;
	/* top: calc(-1 * var(--gap-vertical)); */
	/* left: calc(-1 * var(--gap-horizontal)); */
	width: 100%;
	background: url(../img/character_thumb_ct3.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-color: var(--blend-color-1);
	transform: translate3d(0, 0, 0);
	background-blend-mode: var(--blend-mode-1);
	height: 100%;
}

.glitch__img:nth-child(n+2) {
	opacity: 0;
}

.imgloaded .glitch__img:nth-child(n+2) {
	animation-duration: var(--time-anim);
	animation-delay: var(--delay-anim);
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

.imgloaded .glitch__img:nth-child(2) {
	background-color: var(--blend-color-2);
	background-blend-mode: var(--blend-mode-2);
	animation-name: glitch-anim-1;
}

.imgloaded .glitch__img:nth-child(3) {
	background-color: var(--blend-color-3);
	background-blend-mode: var(--blend-mode-3);
	animation-name: glitch-anim-2;
}

.imgloaded .glitch__img:nth-child(4) {
	background-color: var(--blend-color-4);
	background-blend-mode: var(--blend-mode-4);
	animation-name: glitch-anim-3;
}

.imgloaded .glitch__img:nth-child(5) {
	background-color: var(--blend-color-5);
	background-blend-mode: var(--blend-mode-5);
	animation-name: glitch-anim-flash;
}

/* Animations */

@keyframes glitch-anim-1 {
	0% {
		opacity: 1;
		transform: translate3d(var(--gap-horizontal), 0, 0);
		-webkit-clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%);
		clip-path: polygon(0 2%, 100% 2%, 100% 5%, 0 5%);
	}

	2% {
		-webkit-clip-path: polygon(0 15%, 100% 15%, 100% 15%, 0 15%);
		clip-path: polygon(0 15%, 100% 15%, 100% 15%, 0 15%);
	}

	4% {
		-webkit-clip-path: polygon(0 10%, 100% 10%, 100% 20%, 0 20%);
		clip-path: polygon(0 10%, 100% 10%, 100% 20%, 0 20%);
	}

	6% {
		-webkit-clip-path: polygon(0 1%, 100% 1%, 100% 2%, 0 2%);
		clip-path: polygon(0 1%, 100% 1%, 100% 2%, 0 2%);
	}

	8% {
		-webkit-clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
		clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
	}

	10% {
		-webkit-clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
		clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
	}

	12% {
		-webkit-clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
		clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
	}

	14% {
		-webkit-clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
		clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
	}

	16% {
		-webkit-clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
		clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
	}

	18% {
		-webkit-clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
		clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
	}

	20% {
		-webkit-clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
		clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
	}

	21.9% {
		opacity: 1;
		transform: translate3d(var(--gap-horizontal), 0, 0);
	}

	22%,
	100% {
		opacity: 0;
		transform: translate3d(0, 0, 0);
		-webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
		clip-path: polygon(0 0, 0 0, 0 0, 0 0);
	}
}

@keyframes glitch-anim-2 {
	0% {
		opacity: 1;
		transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
		-webkit-clip-path: polygon(0 25%, 100% 25%, 100% 30%, 0 30%);
		clip-path: polygon(0 25%, 100% 25%, 100% 30%, 0 30%);
	}

	3% {
		-webkit-clip-path: polygon(0 3%, 100% 3%, 100% 3%, 0 3%);
		clip-path: polygon(0 3%, 100% 3%, 100% 3%, 0 3%);
	}

	5% {
		-webkit-clip-path: polygon(0 5%, 100% 5%, 100% 20%, 0 20%);
		clip-path: polygon(0 5%, 100% 5%, 100% 20%, 0 20%);
	}

	7% {
		-webkit-clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
		clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
	}

	9% {
		-webkit-clip-path: polygon(0 40%, 100% 40%, 100% 40%, 0 40%);
		clip-path: polygon(0 40%, 100% 40%, 100% 40%, 0 40%);
	}

	11% {
		-webkit-clip-path: polygon(0 52%, 100% 52%, 100% 59%, 0 59%);
		clip-path: polygon(0 52%, 100% 52%, 100% 59%, 0 59%);
	}

	13% {
		-webkit-clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
		clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
	}

	15% {
		-webkit-clip-path: polygon(0 75%, 100% 75%, 100% 75%, 0 75%);
		clip-path: polygon(0 75%, 100% 75%, 100% 75%, 0 75%);
	}

	17% {
		-webkit-clip-path: polygon(0 65%, 100% 65%, 100% 40%, 0 40%);
		clip-path: polygon(0 65%, 100% 65%, 100% 40%, 0 40%);
	}

	19% {
		-webkit-clip-path: polygon(0 45%, 100% 45%, 100% 50%, 0 50%);
		clip-path: polygon(0 45%, 100% 45%, 100% 50%, 0 50%);
	}

	20% {
		-webkit-clip-path: polygon(0 14%, 100% 14%, 100% 33%, 0 33%);
		clip-path: polygon(0 14%, 100% 14%, 100% 33%, 0 33%);
	}

	21.9% {
		opacity: 1;
		transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0);
	}

	22%,
	100% {
		opacity: 0;
		transform: translate3d(0, 0, 0);
		-webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
		clip-path: polygon(0 0, 0 0, 0 0, 0 0);
	}
}

@keyframes glitch-anim-3 {
	0% {
		opacity: 1;
		transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0) scale3d(-1, -1, 1);
		-webkit-clip-path: polygon(0 1%, 100% 1%, 100% 3%, 0 3%);
		clip-path: polygon(0 1%, 100% 1%, 100% 3%, 0 3%);
	}

	1.5% {
		-webkit-clip-path: polygon(0 10%, 100% 10%, 100% 9%, 0 9%);
		clip-path: polygon(0 10%, 100% 10%, 100% 9%, 0 9%);
	}

	2% {
		-webkit-clip-path: polygon(0 5%, 100% 5%, 100% 6%, 0 6%);
		clip-path: polygon(0 5%, 100% 5%, 100% 6%, 0 6%);
	}

	2.5% {
		-webkit-clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
		clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);
	}

	3% {
		-webkit-clip-path: polygon(0 10%, 100% 10%, 100% 10%, 0 10%);
		clip-path: polygon(0 10%, 100% 10%, 100% 10%, 0 10%);
	}

	5% {
		-webkit-clip-path: polygon(0 30%, 100% 30%, 100% 25%, 0 25%);
		clip-path: polygon(0 30%, 100% 30%, 100% 25%, 0 25%);
	}

	5.5% {
		-webkit-clip-path: polygon(0 15%, 100% 15%, 100% 16%, 0 16%);
		clip-path: polygon(0 15%, 100% 15%, 100% 16%, 0 16%);
	}

	7% {
		-webkit-clip-path: polygon(0 40%, 100% 40%, 100% 39%, 0 39%);
		clip-path: polygon(0 40%, 100% 40%, 100% 39%, 0 39%);
	}

	8% {
		-webkit-clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
		clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
	}

	9% {
		-webkit-clip-path: polygon(0 60%, 100% 60%, 100% 55%, 0 55%);
		clip-path: polygon(0 60%, 100% 60%, 100% 55%, 0 55%);
	}

	10.5% {
		-webkit-clip-path: polygon(0 30%, 100% 30%, 100% 31%, 0 31%);
		clip-path: polygon(0 30%, 100% 30%, 100% 31%, 0 31%);
	}

	11% {
		-webkit-clip-path: polygon(0 70%, 100% 70%, 100% 69%, 0 69%);
		clip-path: polygon(0 70%, 100% 70%, 100% 69%, 0 69%);
	}

	13% {
		-webkit-clip-path: polygon(0 40%, 100% 40%, 100% 41%, 0 41%);
		clip-path: polygon(0 40%, 100% 40%, 100% 41%, 0 41%);
	}

	14% {
		-webkit-clip-path: polygon(0 80%, 100% 80%, 100% 75%, 0 75%);
		clip-path: polygon(0 80%, 100% 80%, 100% 75%, 0 75%);
	}

	14.5% {
		-webkit-clip-path: polygon(0 50%, 100% 50%, 100% 51%, 0 51%);
		clip-path: polygon(0 50%, 100% 50%, 100% 51%, 0 51%);
	}

	15% {
		-webkit-clip-path: polygon(0 90%, 100% 90%, 100% 90%, 0 90%);
		clip-path: polygon(0 90%, 100% 90%, 100% 90%, 0 90%);
	}

	16% {
		-webkit-clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
		clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);
	}

	18% {
		-webkit-clip-path: polygon(0 100%, 100% 100%, 100% 99%, 0 99%);
		clip-path: polygon(0 100%, 100% 100%, 100% 99%, 0 99%);
	}

	20% {
		-webkit-clip-path: polygon(0 70%, 100% 70%, 100% 71%, 0 71%);
		clip-path: polygon(0 70%, 100% 70%, 100% 71%, 0 71%);
	}

	21.9% {
		opacity: 1;
		transform: translate3d(0, calc(-1 * var(--gap-vertical)), 0) scale3d(-1, -1, 1);
	}

	22%,
	100% {
		opacity: 0;
		transform: translate3d(0, 0, 0);
		-webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
		clip-path: polygon(0 0, 0 0, 0 0, 0 0);
	}
}

@keyframes glitch-anim-text {
	0% {
		transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0) scale3d(-1, -1, 1);
		-webkit-clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
		clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
	}

	2% {
		-webkit-clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
		clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
	}

	4% {
		-webkit-clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
		clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
	}

	5% {
		-webkit-clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
		clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
	}

	6% {
		-webkit-clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
		clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
	}

	7% {
		-webkit-clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
		clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
	}

	8% {
		-webkit-clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
		clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
	}

	9% {
		-webkit-clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
		clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
	}

	9.9% {
		transform: translate3d(calc(-1 * var(--gap-horizontal)), 0, 0) scale3d(-1, -1, 1);
	}

	10%,
	100% {
		transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
}

/* Flash */
@keyframes glitch-anim-flash {

	0%,
	5% {
		opacity: 0.2;
		transform: translate3d(var(--gap-horizontal), var(--gap-vertical), 0);
	}

	5.5%,
	100% {
		opacity: 0;
		transform: translate3d(0, 0, 0);
	}
}

/* --
 * about_steinsgate *
--*/
#steinsgateBG {
	width: 100%;
	background: url(../img/about_steinsgate_bg_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: 0 200px;
	padding-bottom: 160px;
}

#about_steinsgate {
	width: 654px;
	margin: 0 auto;
	padding-top: 72px;
	position: relative;
	z-index: 2;
}

#about_steinsgate h2 {
	width: 654px;
	margin: 0 auto;
	padding-bottom: 28px;
	position: relative;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#about_steinsgate h2:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgw_h2_line_sp.png);
}

#about_steinsgate h2 .mini {
	font-size: 40px;
	font-weight: bold;
}

#about_steinsgate p {
	margin-top: 48px;
	font-size: 24px;
	line-height: 48px;
	font-weight: 500;
	margin-bottom: 38px;
}

#moreSG a {
	display: block;
	/*width: 654px;
	height: 158px;*/
	width: 380px;
	height: 100px;
	margin: 0 auto;
}

#about_steinsgate img {
	width: 100%;
}

/* --
 * Real Game *
--*/
#about_realgame {
	width: 654px;
	margin: 0 auto;
	padding-top: 72px;
	position: relative;
	z-index: 2;
}

#about_realgame h2 {
	width: 654px;
	margin: 0 auto;
	padding-bottom: 28px;
	position: relative;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#about_realgame h2:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgw_h2_line_sp.png);
}

#about_realgame p {
	font-size: 24px;
	line-height: 48px;
	margin-top: 44px;
	letter-spacing: 0;
	font-weight: 500;
}

#about_realgame a {
	font-size: 24px;
}

#about_realgame p .ytWrap {
	margin-top: 36px;
}

/* -- * END STORY AREA *--*/

/* --
 * goods *
--*/
#goods {
	padding-top: 72px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

#goods h2 {
	width: 100%;
	position: relative;
	/*display: inline-block;*/
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	color: #000000;
	font-size: 80px;
	line-height: 88px;
	text-shadow: 2px 2px 0px #ffffff,
		-2px 2px 0px #ffffff,
		2px -2px 0px #ffffff,
		-2px -2px 0px #ffffff,
		2px 0px 0px #ffffff,
		0px 2px 0px #ffffff,
		-2px 0px 0px #ffffff,
		0px -2px 0px #ffffff;
	text-align: center;
	background: url(../img/bgb_h2_3line.png);
	background-repeat-y: repeat;
	background-position: bottom;
}

#goodsWrap {
	width: 654px;
	margin: 96px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.goodsCont {
	width: 303px;
	margin-right: 48px;
	margin-bottom: 36px;
	z-index: 2;
}

#goodsWrap li:nth-of-type(2n),
#goodsWrap li:last-of-type {
	margin-right: 0;
}

.goodsCont a {
	display: block;
	width: 303px;
	height: auto;
	margin-bottom: 12px;
	overflow: hidden;
}

.goodsCont a img {
	width: 100%;
}

.goodsCont h3 {
	font-size: 24px;
	line-height: 48px;
	color: #48aabe;
	font-weight: 600;
}

.goodsCont p.goodsDetail {
	font-size: 24px;
	line-height: 48px;
	font-weight: 500;
}

.goodsCont p.goodsPrice {
	font-size: 24px;
	line-height: 48px;
	font-weight: 500;
}

.goodsNotice {
	font-size: 24px;
	line-height: 24px;
	font-weight: 500;
	margin: 60px auto 0;
	text-align: center;
}

.goodsCont p.goodsNotice {
	font-size: 20px;
	line-height: 40px;
	margin-top: 20px;
	text-align: left;
}

#goodsBtnWrap {
	width: 100%;
	margin-top: 62px;
	position: relative;
	z-index: 10;
}

#goodsBtnWrap a {
	width: 558px;
	height: 112px;
	background: #48aabe;
	display: block;
	position: relative;
	margin: 0 auto;
	margin-bottom: 48px;
	font-size: 28px;
	line-height: 40px;
	font-weight: 600;
	color: #fff;
	text-align: center;
	padding: 16px 0;
	text-decoration: unset;
}

#goodsBtnWrap a span {
	display: block;
	font-size: 20px;
}

#goodsBtnWrap a:last-of-type {
	margin-bottom: 0;
}

#goodsBtnWrap a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 195px;
	height: 112px;
	background: url(../img/ticketpriceBtn_bg_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

#goodsBtnWrap a:after {
	content: '';
	position: absolute;
	top: calc(50% - 4px);
	right: -72px;
	width: 108px;
	height: 8px;
	background: url(../img/ticketpriceBtn_arrow_sp.png);
	background-size: 100%;
	background-repeat: no-repeat;
	transition: all .3s ease-in-out;
}

/* -- * END GOODS AREA *--*/

/* --
 * caution-question *
--*/
#caution-question {
	width: 100%;
	padding-top: 92px;
	position: relative;
	z-index: 2;
	overflow: hidden;
}

#caution-question h2 {
	width: 100%;
	font-size: 88px;
	line-height: 88px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	background: url(../img/bgw_h2_3line.png);
	background-repeat-y: repeat;
	background-position: bottom;
}

#caution-question h2 span {
	display: inline-block;
	font-size: 88px;
	line-height: 88px;
	transform: scale(0.8, 1);
	white-space: nowrap;
	margin-left: -85px;
}

#caution-question h3 {
	width: 654px;
	margin: 0 auto;
	padding-bottom: 28px;
	position: relative;
	font-size: 60px;
	line-height: 64px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	text-align: center;
}

#caution-question h3:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 16px;
	background: url(../img/bgw_h2_line_sp.png);
}

#caution {
	padding-top: 80px;
	width: 654px;
	margin: 0 auto;
}

.cautionWrap {
	width: 100%;
	margin-top: 60px;
}

.cautionWrap dt {
	margin-bottom: 30px;
	font-size: 32px;
	line-height: 32px;
	font-weight: 600;
}

.cautionWrap dd {
	width: 100%;
	padding: 12px 0 12px 48px;
	border-bottom: 1px solid #000;
	position: relative;
	font-size: 24px;
	line-height: 48px;
	font-weight: 500;
}

.cautionWrap dd:before {
	content: '';
	position: absolute;
	top: 24px;
	left: 0px;
	width: 36px;
	height: 24px;
	background: url(../img/caution_mark.png);
	background-repeat: no-repeat;
	background-size: 100%;
}

#question {
	padding-top: 72px;
	width: 654px;
	margin: 0 auto;
}

#questionLists {
	width: 100%;
	margin-top: 48px;
	margin-bottom: 64px;
}

.questionList {
	width: 100%;
	padding: 12px 60px 12px 0;
	border-bottom: 1px solid #000;
	position: relative;
}

.qTxt {
	position: relative;
	font-size: 24px;
	line-height: 48px;
	margin-bottom: 5px;
	font-weight: 700;
	padding-left: 48px;
	width: 100%;
	display: block;
	text-decoration: none;
}

.qTxt:before {
	content: 'Q';
	font-size: 32px;
	line-height: 32px;
	color: #d11212;
	font-weight: 600;
	position: absolute;
	top: 8px;
	left: 5px;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
}

.aTxt {
	margin-top: 12px;
	font-size: 24px;
	line-height: 48px;
	font-weight: 600;
	display: none;
}

.ashow {
	width: 48px;
	height: 48px;
	position: absolute;
	top: 0px;
	right: -60px;
}

.ashow div {
	width: 48px;
	height: 1px;
	background: #000;
	position: absolute;
	transition: all .3s ease;
}

.ashow div:nth-of-type(1) {
	top: 50%;
	left: 0;
	resize: 0;
}

.ashow div:nth-of-type(2) {
	top: 50%;
	left: 0;
	transform: rotate(90deg);
}

.active .ashow div {
	background: #d11212;
}

.active .ashow div:nth-of-type(2) {
	transform: rotate(180deg);
}

#question_table {
	width: 100%;
	padding-bottom: 28px;
	position: relative;
}

#question_table:after {
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0px;
}

#question h4 {
	padding-left: 40px;
	padding-right: 60px;
	position: relative;
	font-size: 24px;
	line-height: 24px;
	margin-bottom: 12px;
	font-weight: 700;
}

#question h4 a {
	display: block;
	width: 100%;
	text-decoration: none;
}

#question h4 a .ashow {
	top: -12px;
	right: 0;
}

#question h4:before {
	content: '';
	position: absolute;
	top: 0;
	left: -4px;
	width: 36px;
	height: 24px;
	background: url(../img/question_mark.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

#question table {
	width: 100%;
	table-layout: auto;
	font-size: 24px;
	line-height: 48px;
	font-weight: 600;
	margin-top: 24px;
	margin-bottom: 16px;
	position: relative;
	display: none;
}

#question table th {
	width: 255px;
	background: #eeeeee;
	text-align: center;
	padding: 12px 26px;
	border-bottom: 1px solid #fff;
}

#question table tr:last-of-type th {
	border-bottom: 0;
}

#question table td {
	width: calc(100% - 255px);
	background: #fff;
	padding: 12px 26px;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
}

/* --END caution-question AREA-- */

footer {
	width: 100%;
	background: url(../img/common/footer_bg_sp.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

#footerWrap {
	width: 100%;
	padding: 96px 0;
	background: url(../img/common/footer_BG_noise.png);
	background-repeat: repeat;
}

#footer {
	width: 100%;
}

#aLink_realgame {
	width: 134px;
	height: 80px;
	margin: 0 auto 48px;
	display: block;
	background: url(../img/common/footer_rgLogo.png);
	background-size: 100%;
	background-repeat: no-repeat;
}

#aLink_bnr_mgzn {
	width: 556px;
	height: 120px;
	display: block;
	margin: 0 auto 76px;
	background: url(../img/common/bnr_mm.svg);
	background-size: 100%;
	background-repeat: no-repeat;
}

#footer p {
	width: 100%;
	font-size: 20px;
	line-height: 40px;
	text-align: center;
	color: #fff;
}


.comsoon {
	font-size: 32px;
	padding-top: 72px;
	font-weight: bold;
	text-align: center;
	]
}

#specialListsWrap.comsoon {
	display: flex;
	justify-content: center;
	align-items: center;
}

#special .comsoon {
	padding-top: 0;
}

#requirements .comsoon {
	color: #000;
	padding: 0;
}

/* 重要ニュース */
.pageTop_notice {
	width: 100%;
	background-color: #000;
	padding: 12px 24px;
	color: #fff;
	font-size: 24px;
}

.pageTop_noticeTxt {
	position: relative;
	padding-top: 40px;
	display: flex;
}

.pageTop_noticeTxt::before {
	content: '重要';
	padding: 4px 24px;
	background-color: #fff336;
	font-weight: 700;
	color: #000;
	line-height: 1;
	font-size: 24px;
	display: inline-block;
	position: absolute;
	top: 0;
	right: 50%;
	transform: translateX(50%);
}

.pageTop_notice .date {
	margin-right: 10px;
	font-family: 'Abel', sans-serif;
	letter-spacing: 0.0157em;
}

.pageTop_notice .nTitle {
	font-weight: 300;
	display: inline-block;
	width: 500px;
}

.pageTop_notice .nTitle a {
	color: #fff336;
	text-shadow: #9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px;
	transition: all .3s ease;
}

/*ゲームスタート及び対応機種・対応ブラウザ変更のお知らせ */
.important_noticeWrap {
	padding: 64px 0 96px;
	display: block;
	width: 100%;
	background-color: #fff336;
}

.important_noticeIn {
	width: 654px;
	margin: 0 auto;
}

.important_noticeIn h2 {
	font-size: 32px;
	font-weight: 700;
	color: #e5004f;
	text-align: center;
	text-shadow: #fff 1px 1px 8px, #fff -1px 1px 8px, #fff 1px -1px 8px, #fff -1px -1px 8px;
	margin-bottom: 20px;
}

.important_notice__release {
	font-size: 26px;
	font-weight: 700;
	color: #e5004f;
	text-align: center;
	text-shadow: #fff 1px 1px 4px, #fff -1px 1px 4px, #fff 1px -1px 4px, #fff -1px -1px 4px;
	text-align: center;
}

.important_notice__text {
	padding-top: 32px;
}

.important_notice__text_p {
	font-size: 20px;
	font-weight: 500;
}

.important_notice__tableWrap {
	font-size: 20px;
	padding: 32px 0;
}

.important_notice__tableWrap tbody {
	background-color: #fff;
}

.important_notice__table_l {
	width: 55%;
	padding: 10px 20px;
}

.important_notice__table_r {
	width: 45%;
	padding: 10px 20px;
}

.important_notice__table th {
	padding: 8px 0 !important;
	text-align: center;
	font-weight: 600;
	font-size: 24px;
}

.important_notice__table th.important_notice__table_l {
	border-left: 1px solid #000;
	border-bottom: 1px solid #fff;
	background-color: #000;
	color: #fff;
}

.important_notice__table th.important_notice__table_r {
	border-bottom: 1px solid #000;
}

.important_notice__table td.important_notice__table_l {
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	border-bottom: 1px solid #fff;
	background-color: #000;
	color: #fff;
}

.important_notice__table td.important_notice__table_r {
	border-bottom: 1px solid #000;
}

.important_notice__table tr:last-child td {
	border-bottom-width: 0px;
}

.important_notice__table_01 {
	font-weight: 600;
	font-size: 24px;
}

.important_notice__table_browser_red {
	color: #e5004f;
}

.important_notice__table_browser_line {
	text-decoration: line-through;
}

/* buy_cation */
#buy_cation .js-oneModalIn__cont {
	width: 90%;
}

.buy_cationWrap {
	background-color: #fff336;
	padding: 24px;
	border-radius: 20px
}

.buy_cationWrap p {
	font-size: 24px;
	line-height: 1.8;
}

.buy_cationWrap p a {
	font-size: 24px;
	font-weight: 700;
	color: #e5004f;
}

.checkmark {
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
	padding-left: 40px;
	position: relative;
	height: 32px;
	margin: 40px 0 0px;
	cursor: pointer;
}

.checkmark:before {
	content: "";
	display: block;
	position: absolute;
	width: 30px;
	height: 30px;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	border: 2px solid #000;
}

.checkmark.checked:after {
	content: "";
	display: block;
	position: absolute;
	width: 8px;
	height: 20px;
	top: 0;
	bottom: 10px;
	left: 10px;
	margin: auto;
	transform: rotate(45deg);
	border-bottom: 8px solid #000;
	border-right: 8px solid #000;
}

.buylink {
	display: block;
	width: 100%;
	margin-top: 20px;
	text-align: center;
}

.buy_button {
	width: 540px;
	display: inline-block;
	padding: 20px 60px;
	background: #48aabe;
	color: #fff;
	font-size: 24px;
	line-height: 32px;
	text-align: center;
	position: relative;
	text-decoration: none;
	margin-top: 40px;
	transition: all .3s ease-in-out;
}

.buy_button:hover {
	background-color: #e5004f;
}

.buy_button {
	pointer-events: none;
	text-decoration: none;
	opacity: 0.5;
}

.buy_button.active {
	pointer-events: auto;
	opacity: 1;
}

.m10 {
	margin: 10px auto;
}

.cp_txt {
	font-size: 24px;
	font-weight: 600;
	text-align: center;
}