@charset "utf-8";

/*-----------------------------------------------
 layout.css for PC
 * 00. Common
 * 01. TOP
-------------------------------------------------*/
/*-----------------------------------------------
 * 00. Common
-------------------------------------------------*/
#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%;
}

/* --
 * MENU *
--*/
.sp_menuBtnWrap {
  display: none;
}

.MenuWrap {
  width: 100%;
  min-width: 1240px;
  height: 104px;
  position: unset;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}

.MenuWrap.fixed {
  position: fixed;
  left: auto;
}

.menuLogo {
  width: 240px;
  height: 64px;
  background: #fff;
  position: relative;
  z-index: 100;
}

.menuLogo a {
  display: block;
  width: 72.6px;
  height: 48px;
  position: absolute;
  top: calc(50% - 24px);
  left: calc(50% - 36.3px);
  background: url(../img/common/m_logo.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

.menuListsWrap {
  width: calc(100% - 240px);
  height: 64px;
  position: absolute;
  left: 240px;
  top: 0;
  right: 0;
  background: url(../img/common/m_bg.gif);
  background-repeat-y: repeat;
  z-index: 2;
}

.menuLists {
  width: calc(100% - 265px);
  height: 64px;
  margin-right: 265px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.menuLists li {
  margin-left: 40px;
}

.menuLists li:nth-last {
  margin-left: 0;
}

.menuLists li a {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;
  display: block;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.menuLists li a:hover,
.menuLists li a.current {
  color: #fff336;
  text-shadow: #9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px;
  text-decoration: underline;
}

.shareLists {
  width: 265px;
  height: 64px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  padding: 0 40px;
}

.shareLists dt {
  font-size: 16px;
  font-family: "Abel", sans-serif;
  color: #fff;
  letter-spacing: 0.0157em;
  margin-right: 16px;
}

.shareLists dd {
  width: 30px;
  height: 30px;
  display: block;
  margin-right: 16px;
}

.shareLists dd:last-child {
  margin-right: 0;
}

.shareLists dd a {
  display: block;
  width: 30px;
  height: 30px;
}

.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;
}

/* --
 * ContentWrap *
--*/
.topContentWrap {
  width: 1240px;
  margin: 0 auto;
  position: relative;
}

.topContInWrap {
  width: 1080px;
  margin: 0 auto;
  position: relative;
}

.tc_fs24 {
  font-size: 24px;
  line-height: 48px;
  text-align: center;
}

.bgb {
  background: url(../img/bg_b.png);
  /*padding-bottom: 160px;*/
  color: #fff;
  position: relative;
  background-attachment: fixed;
}

.bgb .pdbb {
  padding-bottom: 160px;
}

.bgw {
  background: url(../img/bg_wh.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-attachment: fixed;
  padding-bottom: 160px;
  color: #000;
  position: relative;
  z-index: 2;
}

.bgw .bgpdt {
  padding-top: 88px;
}

.bgb.bgpdt {
  padding-top: 72px;
}

.bgbbn {
  padding-bottom: 0;
}

/* -- a Link Color --*/
/** BGB A COLOR **/
.bgba {
  color: #48aabe;
  transition: all 0.3s ease;
}

/** BGW A COLOR **/
.bgwa {
  color: #fff336;
  text-shadow: #9c401d 1px 1px 8px, #9c401d -1px 1px 8px, #9c401d 1px -1px 8px, #9c401d -1px -1px 8px;
  transition: all 0.3s ease;
}

.bgwa:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.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;
}

.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);
  }
}

.pcmgt40 {
  margin-top: -40px;
}

.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%;
}

.ytWrap {
  display: block;
  width: 640px;
  height: 360px;
  margin: 0 auto;
}

.ytWrap iframe {
  width: 100%;
  height: 100%;
}

/*-----------------------------------------------
 * 01. TOP
-------------------------------------------------*/
#head {
  width: 100%;
  min-width: 620px;
  min-height: 904px;
  position: relative;
  background: url(../img/bg_wh.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: top center;
  z-index: 3;
}

#headWrap {
  display: flex;
  z-index: 10;
  position: relative;
}

#head_l {
  width: 50%;
  min-width: 620px;
  min-height: 904px;
  position: relative;
}

#fv_fixedWrap {
  /*	width: 43.548387vw;*/
  min-width: 540px;
  /*	height: 66.451613vw;*/
  min-height: 824px;
  position: absolute;
  top: 40px;
  right: 40px;
  bottom: 40px;
  left: 40px;
}

#fv_kit_set {
  width: 30.323vw;
  min-width: 376px;
  height: 8.064516vw;
  min-height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/fv_kit_set.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

#fv_sgLogo {
  width: 18.065vw;
  min-width: 224px;
  height: 4.517vw;
  min-height: 56px;
  position: absolute;
  top: 0;
  right: 0;
  background: url(../img/fv_sgLogo.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

#fv_logo_scrap {
  width: 9.677419vw;
  min-width: 120px;
  height: 10.241935vw;
  min-height: 127px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../img/fv_logo_scrap.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

#head_r {
  width: 50%;
  min-width: 620px;
  min-height: 904px;
  padding-top: 68.58407%;
  position: relative;
}

#head_r_vs {
  width: 100%;
  height: 100%;
  position: absolute;
  background: url(../img/fv_visual.jpg);
  background-size: 100%;
  top: 0;
  right: 0;
}

#head_r img {
  width: 100%;
}

#topContents {
  width: 100%;
  position: relative;
  z-index: 2;
}

#top_Fixed {
  position: absolute;
  height: 100%;
  width: 100%;
  min-width: 1240px;
  min-height: 640px;
  z-index: 10;
  top: 0;
  left: 0;
}

#head_l_logoWrap {
  width: 50%;
  height: 100%;
  /*	min-width: 620px;*/
  /*	height: 25.32258vw;*/
  /*	min-height: 640px;*/
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}

#fv_logo {
  /*min-width: 400px;
	min-height: 314px;*/
  position: absolute;
  /*	top: 156px;
	bottom: 170px;
	right: 110px;
	left: 110px;*/
  top: 24.375%;
  bottom: 26.5625%;
  right: 17.74%;
  left: 17.74%;
  background: url(../img/fv_logo.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

#head_catchWrap {
  width: 100%;
  height: 100%;
  /*	min-width: 1240px;
	min-height: 640px;*/
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

#head_catch {
  /*	min-width: 770px;
	min-height: 85px;*/
  position: absolute;
  background: url(../img/fv_catch.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom center;
  /*	top: 509px;
	bottom: 46spx;
	right: 235px;
	left: 235px;*/
  top: 79.53%;
  bottom: 7.19%;
  right: 18.95%;
  left: 18.95%;
}

/* --
 * ABOUT *
--*/
#about {
  width: 100%;
  padding-top: 160px;
  z-index: 2;
  position: relative;
}

#about h2 {
  width: 1009px;
  height: 177px;
  background: url(../img/about_h2.png);
  background-size: 100%;
  margin: 0 auto;
}

#about .topContentWrap {
  width: 100%;
}

#about .sp_imgLoopWrap {
  display: none;
}

#about .imgLoopWrap {
  margin-top: 80px;
  margin-bottom: 68px;
}

#about .imgFullWrap li {
  width: 310px;
  height: 200px;
}

#about .imgFullWrap li img {
  width: 100%;
}

#about_day {
  margin-top: 68px;
  margin-bottom: 1px;
}

#about_day p img {
  width: 100%;
}

#about_ticketbuy__member {
  width: 935px;
  height: 106px;
  margin: 0 auto;
  margin-bottom: 46px;
}

#about_ticketbuy__all {
  width: 572px;
  height: 107px;
  margin: 0 auto;
  margin-bottom: 68px;
}

#about_startDay {
  width: 731px;
  height: 198px;
  margin: 0 auto;
}

#about_period {
  width: 689px;
  height: 121px;
  margin: 0 auto;
}

/* --
 * POINT *
--*/
#point {
  width: 100%;
  padding-top: 72px;
  margin-bottom: 8px;
  z-index: 2;
  position: relative;
}

#point h2 {
  font-size: 60px;
  line-height: 64px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  text-align: center;
}

#point .topContInWrap {
  position: relative;
  padding-top: 60px;
}

#point .topContInWrap:before {
  content: "";
  width: 1080px;
  height: 16px;
  position: absolute;
  top: 17px;
  left: 0;
  right: 0;
  background: url(../img/bgb_h2_line.png);
  background-size: 100%;
}

#pointWrap ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

#pointWrap li {
  width: 360px;
}

#pointLists01 {
  margin-bottom: 10px;
}

#pointLists01 li {
  /*border-left: 1px solid #fff;*/
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 305px;
  position: relative;
}

#pointLists01 li:before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: -8px;
  width: 16px;
  height: 287px;
  background: url(../img/point_list01_sidebar.png);
}

#pointLists01 li:nth-of-type(1)::before {
  content: unset;
}

.pointLists01_img {
  width: 280px;
  height: 160px;
  margin-top: 20px;
}

#pointLists02 {
  margin-top: 100px;
  height: 270px;
}

#pointLists02 li {
  height: 270px;
  position: relative;
  background: rgba(256, 256, 256, 0.2);
}

/*#pointLists02 li:nth-of-type(2):before{
	content: '';
	top:40px;
	bottom: 40px;
	left: 0;
	background: #fff;
	width: 1px;
	position: absolute;
}
#pointLists02 li:nth-of-type(2):after{
	content: '';
	top:40px;
	bottom: 40px;
	right: 0;
	background: #fff;
	width: 1px;
	position: absolute;
}*/
#pL02_01 p {
  width: 180px;
  height: 215px;
  position: absolute;
  background: url(../img/point_list02_01.png);
  background-size: 100%;
  top: -40px;
  right: 100px;
}

#pL02_02 p {
  width: 150px;
  height: 212px;
  position: absolute;
  background: url(../img/point_list02_02.png);
  background-size: 100%;
  background-repeat: no-repeat;
  top: -40px;
  right: calc(50% - 75px);
}

#pL02_03 p {
  width: 275px;
  height: 285px;
  position: absolute;
  background: url(../img/point_list02_03.png);
  background-size: 100%;
  top: -40px;
  right: calc(50% - 137.5px);
}

/* --
 * NEWSPECIAL *
--*/
#newspecial {
  width: 100%;
}

#newspecial .topContInWrap {
  display: flex;
  flex-wrap: wrap;
}

#news {
  width: 500px;
  padding-top: 72px;
  margin-right: 80px;
}

#news h2 {
  font-size: 60px;
  line-height: 64px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  text-align: left;
}

#newsListsWrap {
  width: 500px;
  /*height: 350px;*/
  height: 468px;
  padding-top: 24px;
  padding-bottom: 24px;
  position: relative;
}

#newsListsWrap:before {
  content: "";
  width: 500px;
  height: 9px;
  background: url(../img/newspecial_line.png);
  background-size: 100%;
  position: absolute;
  top: -4px;
  right: 0;
  left: 0;
}

#newsListsWrap:after {
  content: "";
  width: 500px;
  height: 1px;
  background: #fff;
  background-size: 100%;
  position: absolute;
  bottom: 0px;
  right: 0;
  left: 0;
}

#newsListsWrap ul {
  height: 400px;
  overflow: auto;
}

#newsListsWrap li {
  display: flex;
  width: 463px;
  padding-top: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(256, 256, 256, 0.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 0.3s ease;
}

#newsListsWrap li .nTitle a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

#special {
  width: 500px;
  padding-top: 72px;
  z-index: 2;
}

#special h2 {
  font-size: 60px;
  line-height: 64px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  text-align: left;
  position: relative;
}

#special h2:before {
  content: "";
  width: 500px;
  height: 9px;
  background: url(../img/newspecial_line.png);
  background-size: 100%;
  position: absolute;
  bottom: -5px;
  right: 0;
  left: 0;
}

#specialListsWrap {
  width: 500px;
  height: 350px;
  padding-top: 24px;
  padding-bottom: 24px;
  position: relative;
}

#specialListsWrap:before {
  content: "";
  width: 500px;
  height: 9px;
  background: url(../img/newspecial_line.png);
  background-size: 100%;
  position: absolute;
  top: -4px;
  right: 0;
  left: 0;
}

.specialbnr {
  margin: 20px auto;
  display: block;
}

.specialbnr img {
  width: 100%;
}

#specialListsWrap ul {
  height: 408px;
}

#specialListsWrap li {
  width: 500px;
  height: 120px;
  margin-bottom: 24px;
}

#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: 72px;
  z-index: 2;
}

#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: 920px;
  margin: 80px auto 0;
  z-index: 2;
}

.howtoContInWrap {
  margin-bottom: 40px;
}

.howtoContInWrap:last-of-type {
  margin-bottom: 0;
}

#howtoContWrap h3 {
  display: flex;
}

#howtoContWrap h3 {
  display: flex;
  width: 100%;
  height: 80px;
  position: relative;
}

#howtoContWrap h3:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 920px;
  height: 9px;
  background: url(../img/howto_line_h3.png);
}

#howtoContWrap h3 .h3en {
  font-size: 80px;
  line-height: 80px;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  margin-right: 40px;
  letter-spacing: 0;
}

#howtoContWrap h3 .h3ja {
  font-size: 32px;
  line-height: 80px;
  font-weight: 700;
  color: #e5004f;
}

.howtoContFlex {
  width: 100%;
  display: flex;
  margin-top: 28px;
}

.howtoContFlex p .mini {
  font-size: 20px;
}

.howtoContFlex img {
  width: 200px;
  height: 200px;
  margin-right: 40px;
  margin-top: 12px;
}

.howtoContFlex p {
  width: calc(100% - 240px);
  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;
  transition: all 0.3s ease-in-out;
}

.howtoContFlex p a:after {
  content: "";
  position: absolute;
  width: 64px;
  height: 8px;
  top: calc(50% - 4px);
  right: -40px;
  background: url(../img/howto_arrow.png);
  transition: all 0.3s ease-in-out;
}

.howtoContFlex p a:hover {
  background: #e5004f;
}

.howtoContFlex p a:hover::after {
  right: -60px;
}

/* --
 * Requirements *
--*/
#requirements {
  width: 1080px;
  margin: 0 auto;
  padding-top: 72px;
}

#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.png);
}

#requirements h3 {
  font-size: 28px;
  line-height: 32px;
  font-weight: 700;
  color: #e5004f;
  text-align: center;
  margin-top: 56px;
  margin-bottom: 48px;
}

#requirements ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
}

#requirements li {
  width: 540px;
  padding-top: 40px;
  padding-bottom: 40px;
}

#requirements li img {
  margin: 0 auto;
  display: block;
}

#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;
  padding-top: 0px;
  padding-bottom: 0px;
}

#requirements li:nth-of-type(2):after {
  content: "";
  position: absolute;
  background: url(../img/requirements_li02_icon.png);
  background-size: 100%;
  /*width: 71px;
	height: 64px;*/
  width: 200px;
  height: 36px;
  bottom: 24px;
  right: 24px;
}

#requirements li a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

#requirements li a img {
  margin: 40px auto;
}

#requirements li:nth-of-type(3) {
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  height: 452px;
  align-items: center;
}

/* --
 * Requirements *
--*/
#challenge {
  width: 1080px;
  margin: 0 auto;
  padding-top: 72px;
}

#challenge 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;
}

#challenge h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 16px;
  background: url(../img/bgw_h2_line.png);
}

.challengeWrap_hp {
  font-size: 24px;
  line-height: 2;
  letter-spacing: 0.01em;
  margin-top: 44px;
  text-align: center;
}

.challengeWrap {
  width: 800px;
  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: 600px;
  display: block;
  background-color: #fff;
  height: 60px;
  font-weight: 700;
  padding: 12px 6px;
  font-size: 16px;
  border-top: solid 3px #333;
  border-bottom: solid 3px #f2f2f2;
  border-left: solid 3px #333;
  border-right: solid 3px #f2f2f2;
}

.challenge_form a {
  width: 80px;
  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: 16px;
  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: 690px;
  margin: 0 auto;
}

.challenge_hintLists h3 {
  display: block;
  color: #000;
  text-align: center;
  font-size: 16px;
  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;
  height: 40px;
  padding-right: 10px;
  padding-left: 10px;
  box-shadow: inset -1px -1px #0a0a0a, inset 1px 1px #fff, inset -2px -2px #808080, inset 2px 2px #dfdfdf;
  background: #ccc;
  font-size: 16px;
  line-height: 34px;
  font-weight: 700;
  text-decoration: none;
}

.challenge_hintList a:not(:disabled):active,
.challenge_form a:not(:disabled):active,
.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: 690px;
  display: none;
  margin: 15px auto 0;
  background-color: #fff;
  padding: 12px 6px;
  font-size: 16px;
  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, 0.75);
}

.challengeModalIn {
  max-width: 1200px;
  color: #fff;
  padding: 96px 48px;
}

.clear_txtWrap_f {
  width: 1080px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.clear_txtWrap_f_l {
  width: 68%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.clear_txtWrap_f_l p {
  width: 100%;
  font-size: 20px;
  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;
  width: 476px;
  padding: 20px 60px;
  background: #48aabe;
  color: #fff;
  font-size: 24px;
  line-height: 40px;
  text-align: center;
  position: relative;
  text-decoration: none;
  margin-top: 40px;
  transition: all 0.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 0.3s ease-in-out;
}

.clear_txtWrap_f a:hover {
  background-color: #e5004f;
}

.clear_txtWrap_f a:hover::after {
  right: -60px;
}

.clear_txtWrap_f .clear_txtWrap_f_img {
  width: 30%;
}

.clear_txtWrap_f .clear_txtWrap_f_img img {
  width: 100%;
}

.clear_txtWrap_c {
  width: 1080px;
  margin: 48px auto;
}

.clear_txtWrap_c h2 {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  padding: 24px 0;
}

.clear_txtWrap_c p {
  font-size: 16px;
  line-height: 2;
  color: #fff;
}

.clear_txtWrap_c a {
  color: #fff;
}

.clear_textWrap_c p span {
  font-size: 14px;
}

.challenge_wrong {
  width: 800px;
  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: 72px;
  width: 100%;
  margin: 0 auto;
  z-index: 2;
}

#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: 72px;
  margin-top: 3px;
}

#schedule 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;
}

#schedule h3:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 16px;
  background: url(../img/bgb_h2_line.png);
}

.scheduleIn {
  width: 100%;
  margin-top: 60px;
}

.scheduleIn h4 {
  margin: 0 auto;
  margin-bottom: 36px;
}

.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;
  text-align: center;
  background: rgba(256, 256, 256, 0.1);
}

.txt_line {
  text-decoration: line-through;
}

#price {
  padding-top: 72px;
  margin-top: 4px;
  position: relative;
  z-index: 2;
}

#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.png);
}

#price ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin-top: 16px;
}

#price li {
  width: 100%;
  padding-bottom: 36px;
  margin-bottom: 10px;
  position: relative;
}

#price li:after {
  content: "";
  position: absolute;
  background: #fff;
  bottom: 0;
  right: 0;
  left: 0;
  height: 1px;
}

#price li:nth-of-type(2n) {
  margin-right: 0;
}

#price li:last-of-type {
  margin-right: 0;
  margin-bottom: 0;
}

#price li h4 {
  font-size: 40px;
  line-height: 40px;
  padding-top: 57px;
  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/bgb__Indetail_1080.png);
}

#price li .mini {
  font-size: 24px;
}

.priceDetailWrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 36px;
  margin-bottom: 24px;
}

#price li .priceInImg {
  width: 500px;
  margin-right: 48px;
  /*height: 240px;*/
}

#price li .priceInImg img {
  width: 100%;
}

#price li p {
  width: calc(100% - 548px);
  font-size: 24px;
  line-height: 48px;
  font-weight: 300;
}

#price li p span {
  font-size: 16px;
}

.price_goto {
  width: 100%;
  margin-top: 80px;
  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 {
  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 0.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 0.3s ease-in-out;
}

.price_goto a:hover {
  background-color: #e5004f;
}

.price_goto a:hover::after {
  right: -60px;
}

#ticketpriceWrap {
  margin-top: 80px;
}

#ticketpriceWrap h4 {
  font-size: 24px;
  line-height: 24px;
  font-weight: 500;
  margin-bottom: 26px;
}

#ticketpriceWrap h4 span {
  font-size: 16px;
}

#ticketpriceWrap table {
  width: 100%;
  table-layout: auto;
  text-align: center;
}

#ticketpriceWrap table th {
  width: 330px;
  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;
}

#ticketpriceWrap table th a {
  color: #fff336;
}

#ticketpriceWrap table td {
  /*width: calc(100% - 400px);*/
  text-align: center;
  border-left: solid 1px #cccccc;
}

#ticketpriceWrap table th {
  padding: 40px 0;
  font-size: 28px;
  /*line-height: 28px;*/
  line-height: 40px;
  font-weight: 700;
  background: #222222;
}

#ticketpriceWrap table td {
  padding: 40px 0;
  font-size: 28px;
  line-height: 28px;
  font-weight: 700;
  background: #fff;
  color: #000;
}

#ticketpriceWrap table td span.p_people {
  font-size: 20px;
  font-weight: 500;
}

#ticketpriceWrap table td span.p_cp {
  font-size: 20px;
  font-weight: 500;
  color: #ff0000;
}

#ticketpriceWrap table td span.p_cp_s {
  font-size: 14px;
  font-weight: 500;
  color: #ff0000;
}

#ticketpriceWrap table td span.p_goto {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  margin-top: 0.5em;
}

#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: 280px;
}

#ticketpriceWrap .tablec s {
  font-size: 20px;
}

#ticketpriceWrap .tabler a {
  padding: 16px 12px;
  display: block;
  width: 430px;
  margin: 0 auto;
  font-size: 24px;
  line-height: 36px;
  color: #fff;
  background: #48aabe;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  text-align: center;
}

#ticketpriceWrap .tabler a:hover {
  background: #e5004f;
}

#ticketpriceWrap p {
  font-size: 16px;
  line-height: 32px;
  margin-top: 16px;
}

#ticketpriceBtnWrap {
  width: 100%;
  margin-top: 72px;
}

#ticketpriceBtnWrap a {
  width: 1080px;
  height: 160px;
  background: #48aabe;
  display: flex;
  position: relative;
  margin: 0 auto;
  margin-bottom: 40px;
  font-size: 40px;
  line-height: 62px;
  font-weight: 600;
  color: #fff;
  align-items: center;
  text-align: center;
  justify-content: center;
  padding: 10px 0;
  text-decoration: unset;
  transition: all 0.3s ease-in-out;
}

#ticketpriceBtnWrap a:hover {
  background: #e5004f;
}

#ticketpriceBtnWrap a:last-of-type {
  margin-bottom: 0;
}

#ticketpriceBtnWrap a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 260px;
  height: 160px;
  background: url(../img/ticketpriceBtn_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

#ticketpriceBtnWrap a:after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  right: -80px;
  width: 120px;
  height: 8px;
  background: url(../img/ticketpriceBtn_arrow.png);
  background-size: 100%;
  background-repeat: no-repeat;
  transition: all 0.3s ease-in-out;
}

#ticketpriceBtnWrap a:hover::after {
  right: -100px;
}

.pricelinkbtn {
  display: block;
  width: 100%;
  text-align: center;
}

.pricelinkbtn a {
  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 0.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 0.3s ease-in-out;
}

.pricelinkbtn a:hover {
  background-color: #e5004f;
}

.pricelinkbtn a:hover::after {
  right: -60px;
}

/* -- * END TICKET AREA *--*/

/* --
 * story *
--*/
#story {
  width: 1080px;
  margin: 0 auto;
  padding-top: 72px;
}

#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.png);
}

#storyWrap {
  font-size: 24px;
  line-height: 48px;
  text-align: center;
  margin-top: 44px;
  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;
}

#storyWrap .more,
#storyWrap .close,
#about_steinsgate_btn .more,
#about_steinsgate_btn .close,
#about_realgame .more,
#about_realgame .close {
  margin-top: 60px;
}

#storyWrap .more a,
#about_steinsgate_btn 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;
}

#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: 1080px;
  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.png);
}

#characterWrap {
  width: 100%;
  min-width: 1240px;
  position: relative;
  margin-top: 14px;
}

#charaThumbWrap {
  width: 1240px;
  margin: 42px auto 0;
  padding-bottom: 120px;
  position: relative;
  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: 100%;
  min-width: 1240px;
  margin-top: -162px;
}

#charaMainWrap li {
  width: 100%;
  width: 100vw;
  min-width: 1240px;
  position: relative;
}

.charaImg {
  width: 1240px;
  position: absolute;
  left: calc(50% - 620px);
  /*	z-index: 1;*/
}

.charaBar {
  background: rgba(0, 0, 0, 0.2);
  width: 100%;
  min-width: 1240px;
  height: 1px;
}

.charah3Wrap {
  position: absolute;
  width: 100%;
  min-width: 1240px;
  height: 97px;
  /*top: 184px;*/
  top: 227px;
}

.charaRWrap {
  width: 1240px;
  margin: 0 auto;
}

.charah3Wrap h3 {
  width: 620px;
  height: 97px;
  margin-left: auto;
}

.charatxtWrap {
  position: absolute;
  width: 100%;
  min-width: 1240px;
  height: auto;
  /*top: 320px;*/
  top: 363px;
}

.charatxtWrap p {
  width: 620px;
  font-size: 20px;
  line-height: 40px;
  margin-left: auto;
}

.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: 1240px;
  margin: 0 auto;
}

.charaNameInWrap img {
  margin-left: auto;
}

#ch1 {
  padding-bottom: 890px;
}

#ch1 .charaImg {
  height: 890px;
  background: url(../img/character_main_ch1.png);
  background-size: 100%;
  background-position: center bottom;
  background-repeat: no-repeat;
}

#ch1 .charah3Wrap h3 {
  background: url(../img/character_main_h3_ch1.png);
  background-size: 100%;
}

#ch2 {
  /*padding-bottom: 723px;*/
  padding-bottom: 890px;
}

#ch2 .charaImg {
  /*height: 723px;*/
  height: 890px;
  background: url(../img/character_main_ch2.png);
  background-size: 100%;
  background-position: center bottom;
  background-repeat: no-repeat;
}

#ch2 .charah3Wrap h3 {
  background: url(../img/character_main_h3_ch2.png);
  background-size: 100%;
}

#ch3 {
  /*padding-bottom: 723px;*/
  padding-bottom: 890px;
}

#ch3 .charaImg {
  /*height: 723px;*/
  height: 890px;
  background: url(../img/character_main_ch3.png);
  background-size: 100%;
  background-position: center bottom;
  background-repeat: no-repeat;
}

#ch3 .charah3Wrap h3 {
  background: url(../img/character_main_h3_ch3.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: 20px;
}

.swiper-button-next {
  background: url(../img/common/btn_next.png);
  width: 56px;
  height: 80px;
  right: 20px;
}

#steinsgateBG {
  width: 100%;
  background: url(../img/about_steinsgate_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: 0 200px;
  padding-bottom: 160px;
}

.charaThumb_BG_on {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(72, 170, 190, 0.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.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 *
--*/
#about_steinsgate {
  width: 1080px;
  margin: 0 auto;
  padding-top: 72px;
  margin-top: 8px;
}

#about_steinsgate h2 {
  width: 1080px;
  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 .mini {
  font-size: 40px;
  font-weight: bold;
}

#about_steinsgate h2:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 16px;
  background: url(../img/bgw_h2_line.png);
}

#about_steinsgate p {
  margin-top: 48px;
  font-size: 24px;
  line-height: 48px;
  font-weight: 500;
  margin-bottom: 30px;
  text-align: center;
}

#moreSG a {
  display: block;
  /*width: 500px;
	height: 120px;*/
  width: 380px;
  height: 100px;
  margin: 0 auto;
}

/* --
 * Real Game *
--*/
#about_realgame {
  width: 1080px;
  margin-top: 80px;
  padding-top: 72px;
  margin: 0 auto;
}

#about_realgame h2 {
  width: 1080px;
  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.png);
}

#about_realgame p {
  font-size: 24px;
  line-height: 48px;
  text-align: center;
  margin-top: 44px;
  letter-spacing: 0;
  font-weight: 500;
}

#about_realgame a {
  font-size: 24px;
}

#about_realgame p .ytWrap {
  margin-top: 48px;
}

/* -- * 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: 1080px;
  margin: 78px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.goodsCont {
  width: 332px;
  margin-right: 42px;
  margin-bottom: 32px;
  z-index: 2;
}

#goodsWrap li:nth-of-type(3n),
#goodsWrap li:last-of-type {
  margin-right: 0;
}

.goodsCont a {
  display: block;
  width: 332px;
  height: 240px;
  margin-bottom: 12px;
  overflow: hidden;
}

.goodsCont a img {
  width: 100%;
  transition: all 0.3s ease-in-out;
}

.goodsCont a:hover img {
  transform: scale(1.1);
  opacity: 0.7;
}

.goodsCont h3 {
  font-size: 24px;
  line-height: 48px;
  color: #48aabe;
  font-weight: 600;
}

.goodsCont p.goodsDetail {
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 10px;
  font-weight: 500;
}

.goodsCont p.goodsPrice {
  font-size: 20px;
  line-height: 40px;
  font-weight: 500;
}

p.goodsPrice span {
  font-size: 16px;
  line-height: 32px;
}

.goodsNotice {
  font-size: 16px;
  line-height: 16px;
  font-weight: 500;
  margin: 28px auto 0;
  text-align: center;
}

.goodsCont .goodsNotice {
  text-align: left;
  line-height: 32px;
  margin-top: 14px;
}

#goodsBtnWrap {
  width: 100%;
  margin-top: 72px;
}

#goodsBtnWrap a {
  width: 1080px;
  height: 160px;
  background: #48aabe;
  display: block;
  position: relative;
  margin: 0 auto;
  margin-bottom: 40px;
  font-size: 40px;
  line-height: 62px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  padding: 22px 0;
  text-decoration: unset;
  transition: all 0.3s ease-in-out;
}

#goodsBtnWrap a span {
  display: block;
  font-size: 16px;
}

#goodsBtnWrap a:hover {
  background: #e5004f;
}

#goodsBtnWrap a:last-of-type {
  margin-bottom: 0;
}

#goodsBtnWrap a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 260px;
  height: 160px;
  background: url(../img/ticketpriceBtn_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

#goodsBtnWrap a:after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  right: -80px;
  width: 120px;
  height: 8px;
  background: url(../img/ticketpriceBtn_arrow.png);
  background-size: 100%;
  background-repeat: no-repeat;
  transition: all 0.3s ease-in-out;
}

#goodsBtnWrap a:hover::after {
  right: -100px;
}

/* -- * END GOODS AREA *--*/

/* --
 * caution-question *
--*/
#caution-question {
  width: 100%;
  padding-top: 72px;
}

#caution-question 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;
}

#caution-question h3 {
  width: 1080px;
  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.png);
}

#caution {
  padding-top: 72px;
  width: 1080px;
  margin: 0 auto;
}

.cautionWrap {
  width: 100%;
  margin-top: 60px;
}

.cautionWrap dt {
  margin-bottom: 24px;
  font-size: 24px;
  line-height: 24px;
  font-weight: 600;
}

.cautionWrap dd {
  width: 100%;
  padding: 14px 0 8px 40px;
  border-bottom: 1px solid #000;
  position: relative;
  font-size: 16px;
  line-height: 32px;
  font-weight: 500;
}

.cautionWrap dd:before {
  content: "";
  position: absolute;
  top: 16px;
  left: -4px;
  width: 36px;
  height: 24px;
  background: url(../img/caution_mark.png);
  background-repeat: no-repeat;
  background-size: 100%;
}

#question {
  padding-top: 72px;
  width: 1080px;
  margin: 0 auto;
}

#questionLists {
  width: 100%;
  margin-top: 40px;
  margin-bottom: 64px;
}

.questionList {
  width: 100%;
  padding: 21px 0 16px 0;
  border-bottom: 1px solid #000;
  position: relative;
}

.qTxt {
  position: relative;
  font-size: 16px;
  line-height: 32px;
  margin-bottom: 5px;
  font-weight: 700;
  padding-left: 42px;
  display: block;
  width: 100%;
}

.qTxt:before {
  content: "Q";
  font-size: 32px;
  line-height: 32px;
  color: #d11212;
  font-weight: 600;
  position: absolute;
  top: -6px;
  left: 5px;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
}

.aTxt {
  font-size: 16px;
  line-height: 32px;
  font-weight: 600;
  display: none;
}

.ashow {
  width: 22px;
  height: 22px;
  position: absolute;
  top: -8px;
  right: 0;
}

.ashow div {
  width: 22px;
  height: 1px;
  background: #000;
  position: absolute;
  transition: all 0.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: 1080px;
  height: 1px;
  background: #000;
  position: absolute;
  bottom: 0px;
}

#question h4 {
  padding-left: 40px;
  position: relative;
  font-size: 24px;
  line-height: 24px;
  font-weight: 700;
}

#question h4 a {
  display: block;
  width: 100%;
}

#question h4 a .ashow {
  top: -4px;
}

#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: 16px;
  line-height: 32px;
  font-weight: 600;
  margin-top: 16px;
  margin-bottom: 16px;
  position: relative;
  display: none;
}

#question table th {
  width: 400px;
  background: #eeeeee;
  text-align: center;
  padding: 8px 0;
  border-bottom: 1px solid #fff;
}

#question table tr:last-of-type th {
  border-bottom: 0;
}

#question table td {
  width: calc(100% - 400px);
  background: #fff;
  padding: 8px 42px;
  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.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
}

#footerWrap {
  width: 100%;
  padding: 80px 0;
  background: url(../img/common/footer_BG_noise.png);
  background-repeat: repeat;
}

#footer {
  width: 960px;
  margin: 0 auto;
}

#aLink_realgame {
  width: 134px;
  height: 80px;
  margin: 0 auto 80px;
  display: block;
  background: url(../img/common/footer_rgLogo.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

#aLink_bnr_mgzn {
  width: 400px;
  height: 86px;
  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: 12px;
  line-height: 24px;
  text-align: center;
  color: #fff;
}

.comsoon {
  font-size: 28px;
  line-height: 48px;
  padding-top: 96px;
  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;
  text-align: center;
  padding: 10px 20px;
  color: #fff;
  font-size: 16px;
}

.pageTop_noticeTxt {
  position: relative;
}

.pageTop_noticeTxt::before {
  content: "重要";
  font-weight: 700;
  padding: 4px 10px;
  background-color: #fff336;
  color: #000;
  line-height: 1;
  font-size: 16px;
  display: inline-block;
  border-radius: 4px;
  margin-right: 10px;
}

.pageTop_notice .date {
  margin-right: 10px;
  font-family: "Abel", sans-serif;
  letter-spacing: 0.0157em;
}

.pageTop_notice .nTitle {
  font-weight: 300;
  display: inline-block;
}

.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 0.3s ease;
}

.pageTop_notice .nTitle a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

/*ゲームスタート及び対応機種・対応ブラウザ変更のお知らせ */
.important_cp {
  padding: 30px 0 60px;
  display: block;
  width: 100%;
  margin: auto;
  text-align: center;
}

.important_cp img {
  margin: auto;
  width: 60%;
  max-width: 600px;
  text-align: center;
}

/*ゲームスタート及び対応機種・対応ブラウザ変更のお知らせ */
.important_noticeWrap {
  padding: 120px 0;
  display: block;
  width: 100%;
  background-color: #fff336;
}

.important_noticeIn {
  width: 1080px;
  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: 24px;
  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: 16px;
  font-weight: 500;
}

.important_notice__tableWrap {
  font-size: 16px;
  padding: 32px;
}

.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-size: 20px;
}

.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;
  /*border-top:1px solid #000;*/
  /*border-right: 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_01 {
  font-weight: 600;
  font-size: 18px;
}

.important_notice__table_browser_red {
  color: #e5004f;
}

.important_notice__table_browser_line {
  color: #e5004f;
  text-decoration: line-through;
}

.important_notice__table tr:last-child td {
  border-bottom-width: 0px;
}

/* buy_cation */
.buy_cationWrap {
  background-color: #fff336;
  padding: 32px;
  border-radius: 20px;
}

.buy_cationWrap p {
  font-size: 16px;
  line-height: 1.8;
}

.buy_cationWrap p a {
  font-size: 16px;
  font-weight: 700;
  color: #e5004f;
}

.checkmark {
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  padding-left: 32px;
  position: relative;
  height: 26px;
  margin: 40px 0 0px;
  cursor: pointer;
}

.checkmark:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  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: 14px;
  left: 5px;
  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 {
  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 0.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: 20px;
  text-align: center;
  margin: 10px auto;
}
