@charset "utf-8";
/* CSS Document */
*{padding: 0;
margin: 0;
}

body{
	background: #000;
	padding: 0 20px;
	padding-top: 80px;
}

body,header,nav,#contents,footer,#main,#aside{
	
	text-align: center;
	margin: 0 auto;
}

/*ヘッダーとナビゲーション設定*/

header{
margin-left: auto;
	margin-right: auto;
	background: #000;
 
position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}


.nav-list{
	filter: drop-shadow(0 0 15px #0ff);
	line-height: 2;
	list-style: none;
  margin: 0;
  padding: 0;
display: flex; 
}

.nav-list li {
	
	flex: 1; }

.nav-list a {
	color: #fff;
	font-family: 'DotGothic16', sans-serif;
	font-size: 32px;
	text-decoration: none;
  display: block;
  padding: 15px 0;
  text-align: center;
 
}

.nav-list a:hover {
	background: url("../img/bg_noise.png");
	font-size: 45px;
	height: 60px;
	line-height: 1;
}

/*ヘッダー設定*/
footer{
	background: #131765;
	color: #fff;
}

/**/


/*TOPページの設定ここから↓*/
section{
	margin-bottom: 100px;
}

#cover_index{
background-image: url("../img/top_image.jpg");
background-repeat: no-repeat;
background-size: cover;
display: flex;
  justify-content: center; /* 水平中央 */
  align-items: center;     /* 垂直中央 */
  min-height: 100vh;     }

#head_index img{
	width: 100%;
	height: auto;
	mix-blend-mode: screen;
	
}


/*----------------------*/
.intro{
	background: url(../img/bg_noise.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 150px 0;
	display: block;
	max-width: 1400px; 
	margin: 200px auto;	
	box-sizing: border-box;
	border: 30px solid #d8d8d8;
	filter: drop-shadow(0 0 15px #fff);

}


.intro p{
	font-family: 'DotGothic16', sans-serif;
	color: #fff;
	text-align: left;
	padding:0 20px;
	max-width: 1200px; 
	margin: 0 auto 30px;
	font-size: clamp(12px, 2vw, 24px);}


/*----------------------*/
.wakeup{
background-image: url(../img/bg001.png);
background-repeat: no-repeat;
background-size: cover;
display: flex;
  justify-content: center; /* 水平中央 */
  align-items: center;     /* 垂直中央 */
  min-height: 100vh;
}

.wakeup p{
font-family: 'DotGothic16', sans-serif;
color: #000;
font-size: 18px;
padding: 20px 50px;
background: rgba(216,216,216,0.7);
text-align: left;
max-width: 1000px;
margin: 0 auto;
}


/*----------------------*/
.search{
background-image: url(../img/bg_search002.png);
background-repeat: no-repeat;
background-size: cover;
  min-height: 100vh;
	
	

}
.search-list li {
    border-bottom: 1px solid #ccc;
  }

.search-list a {
	color: #fff;
	font-family: 'DotGothic16', sans-serif;
	font-size: 30px;
	text-decoration: none;
  display: block;
  padding: 100px 0;
  text-align: center;
 margin-bottom: 50px;}

.search-list a:hover {
  background: url("../img/bg_noise.png");
	transform: scale(1.1)
	line-height: 1;
}
/*----------------------*/
.see{
background: rgba(19,23,101,0.7);
background-image: url(../img/talk001.png);
background-repeat: no-repeat;
background-size: cover;
display: flex;
  justify-content: center; /* 水平中央 */
  align-items: flex-end;     
  min-height: 100vh;
	
	
}

.see img{
padding:30px;
max-width: 200px;
}

.see p{
font-family: 'DotGothic16', sans-serif;
color: #fff;
min-height: 240px;
padding-top: 20px;
	}

.textzone{
	width: 100%;
	background: rgba(19,23,101,0.7);
 display: flex;         
  align-items: center; 
text-align: left;}
	

/*----------------------*/
.talk{
	padding-bottom: 50px;
	background:  rgba(19,23,101,1);
	color: #fff;
}

.talk p{
	font-family: 'DotGothic16', sans-serif;
	padding: 50px 0 ;
	
}

.window{
	display: flex;
	gap: 50px;
	
}

.cacth{
	max-width:550px;
}

.serif{
	font-family: 'DotGothic16', sans-serif;
	text-align: left;
}

/*----------------------*/

.log{
	background: url(../img/bg_noise.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 150px 0;
	max-width: 1400px; 
	margin: 200px auto;	
	box-sizing: border-box;
	border: 30px solid #d8d8d8;
	filter: drop-shadow(0 0 15px #fff);
}

.log p{
	font-family: 'DotGothic16', sans-serif;
	color: #fff;
	text-align: left;
	padding:0 20px;
	max-width: 1200px; 
	margin: 0 auto 30px;
	font-size: clamp(12px, 2vw, 24px);}

/*---------------*/
.start{
	padding: 50px 20px;
	background: url(../img/bg003.png);
	background-repeat: no-repeat;
	background-size: cover;
	
}

.start p{
	font-family: 'DotGothic16', sans-serif;
	color: #000;
	text-align: left;
	padding:0 20px;
	max-width: 1200px; 
	margin: 0 auto 30px;
	font-size: clamp(12px, 2vw, 24px);}
/*---------------*/

.poster {
  position: relative;
  min-height: 100vh;
}

.bg-img {
  width: 100%; 
  height: 100%;
  object-fit: contain; /* ←全部表示 */
}

.text {
	color: #fff;
	position: absolute;
  bottom: 50px;
text-align: center;
  transform: translateX(-50%);
left: 50%;
	max-width: 1000px;
  margin: 0 auto;
	font-size: clamp(12px, 2.2vw, 38px);
}

.poster p{
	margin-bottom: 30px;
	text-align: center;
}

 

/*---------------*/

.shortcut{background: url("../img/bg_sleep.png");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 100px 10px;
	
	}

.shortcut a{
	font-size: 30px;
	background: rgba(255,255,255,0.5);
	padding: 20px 10px;
}

.shortcut div:first-child{
	margin-bottom: 80px;
}
/*---------------*/

aside{
	padding: 100px 20px;
	background: #d8d8d8;
	font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 18px;
}


.metabox{
	padding-top: 100px;
	background: #fff;
	border: 10px solid #C2B563;
	border-radius: 999px 999px 0 0;
	
}

.hatenani{
	display: flex;
	justify-content: center; /* 水平中央 */
  align-items: center;
}

h2{
	font-size: clamp(12px, 2.2vw, 48px);
}
	


span{
	
	color: #B92D2D;
}

.step{
	
	max-width: 1400px;
	margin: 0 auto;
	font-family:"Arial Black", Gadget, "sans-serif";
}

.step p{
	padding: 20px;
	text-align: center;
border: 1px solid #ECAC5C;
margin-bottom: 20px;}

.message{
	background-image: url("../img/image_hatenani02.png");
	background-repeat: no-repeat;
	background-size: cover;
}
.message p{font-size: 40px;
padding: 50px 50px;
text-align: left;
background: rgba(255,255,255,0.5);}
/*TOPページの設定ここまで↑*/



/*GAMEINFO設定ここから↓*/
#gameinfo_page{
	color: #fff;
	}


#cover_GAME_INFO{
	background: url("../img/cover_gameInfo.jpg");
	height: 500px;
	color: #fff;
	background-repeat: no-repeat;
	background-position: center;

}

#head_GAME_INFO{
	font-family: 'DotGothic16', sans-serif;
	font-size: 100px;
	margin-top:180px;
}
#p_GAME_INFO {
	font-family: 'DotGothic16', sans-serif;
	font-size: 30px;
	
}

.reallrygame{margin-top: 100px;}

.ingame{max-width: 800px;
text-align: center;
margin: 0 auto;}

.ingame p{margin-bottom: 30px;
	}

.ingame h3{margin-bottom: 30px;}

.aboutticket{
	padding: 30px 0;
	background: #fff;
}

.section-bg{
	background-image: url("../img/bg_noise.png");
	background-repeat: repeat;
}
.inner{
	background: rgba(0,0,0,0.7);
}
	

/*------GAMEINFOのチケット料金のテーブル設定--------*/
.ticket-price {
	
  max-width: 800px;
  margin: 60px auto;
  color: #000;
  font-family: sans-serif;
}

.ticket-price h2 {
  text-align: center;
  margin-bottom: 20px;
  color: #000;
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: #fff; 
}

th, td {
  padding: 14px;
  text-align: center;
  border: 1px solid #333;
}

th {
  background: #000;
  color: #F1DF3D; /* 黄色アクセント */
}

td {
  background: #fff;
}

/* グループ強調 */
.group td {
  background:#A5C7F5;
  color: #0E2386;
	font-weight: 800;
}

/* 注意書き */
.notes {
  margin-top: 15px;
  font-size: 12px;
  list-style: none;
  padding: 0;
}
/*---------------------*/
.game-attention {
	background: #000;
	font-size: 20px;
	padding: 30px 0;
	margin-bottom: 0;
}
.game-attention h4{
	color:#B92D2D;
}
.about-game{
	padding-top: 100px;
	background-image: url("../img/bg_tile.png");
	background-repeat: repeat;
}
.about-game img{
	max-width: 90%;
}
.eventopen,.gamelevel,.playtime{
	max-width:300px;
	margin-bottom: 0;
}

#gameinfo_collum{
	padding: 50px 0;
	color: #131765;
	background: rgba(255,255,255,0.7);
	display: flex;
	gap: 20px;
	justify-content: center;
}
/*----------GAMEINFO設定ここまで↑------------*/



/*------------TICKET設定ここから↓--------------------------*/

#cover_TICKET{
	background: url("../img/image_hatenani02.png");
	background-repeat: no-repeat;
	height: 600px;
	background-position: center 0;
	
}

#head_TICKET{
	font-family:"Arial Black", Gadget, "sans-serif";
	font-size: 100px;
	margin-top:180px;
	color: #B92D2D;
}
#p_TICKET {
	font-family:"Arial Black", Gadget, "sans-serif";
	font-size: 30px;
	color: #B92D2D;
}

#ticket_page{
background: #fff;
}

.ticket-intro{padding: 50px 0;}

.ticket-attention ul{
	list-style: none;
	
}

.ticket-attention ul li{
	max-width: 1400px;
	margin: auto;
}
.ticket-attention img{
max-width: 50%;
height: auto;}

.ticket-attention{
	
}
.ticket-form {
  max-width: 500px;
  margin: 40px auto;
  color: #000;
}

.ticket-form form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ticket-form label {
  font-size: 14px;
  color: #B92D2D;
}

.ticket-form input,
.ticket-form select {
  padding: 10px;
  background: #d8d8d8;
  border: 1px solid #333;
  color: #000;
}

.ticket-form button {
  margin-top: 15px;
  padding: 12px;
  background: #B92D2D;
  border: none;
  color: #fff;
  cursor: pointer;
}

.ticket-form button:hover {
  background: #ffd966;
}

.after-submit{
	display: flex;
	justify-content: center;
}

.after-submit img{
	max-width: 150px;
}

.after-submit p{padding: 40px;}
/*------------------TICKET設定ここまで↑--------------------*/

/*---------モーダルウィンドウ設定-------------*/
.modal-content {
  background: #000;
  color: #fff;
  font-family: 'DotGothic16', sans-serif;
  padding: 20px;
}

.modal-inner img {
  width: 100%;
  margin-bottom: 20px;
}

.modal-inner p {
  line-height: 1.8;
	margin-bottom: 20px;
}