@charset "utf-8";

*{
	box-sizing: border-box;
}
html {
  touch-action: manipulation;
  background: #000;
}

/*テキスト選択不可*/
body {
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none; /* 一般的な方法 */
	overflow: hidden;
	margin: 0;
	padding: 0;
	background: #000;
	background-size: cover;
	background-position: center center;

	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo,sans-serif;
}

img {
	vertical-align: bottom;
}

/* common
-------------------------------------------------------*/

#score {
	padding: 0px;
	/*width: 50%;*/
	/*transform: translate(0%, -50%);*/
	height: 50px !important;
}


/*ゆれるアニメーション*/
.jiggly {
	animation: jiggly ease 0.7s 0s 1;
}
@keyframes jiggly {
	0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
	15%  { transform: scale(0.8, 0.8) translate(0%, 5%); }
	30%  { transform: scale(1.4, 0.8) translate(0%, 10%); }
	50%  { transform: scale(0.8, 1.4) translate(0%, -10%); }
	70%  { transform: scale(1.2, 0.8) translate(0%, 5%); }
	100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

@media screen and (max-width:768px) {

}

/* スタート画面
-------------------------------------------------------*/
.start_modal {
	background: url(../img/top_bg03.webp?=20240828) no-repeat center center #000;
	background-size: cover;
	width: 100%;
	height: 100vh;
	position: relative;
	z-index: 999;
}



.start_logo {
	width: 300px;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	cursor: pointer;
}

.start_logo img {
	width: 100%;
}

.start_modal.deactive {
	display: none;
}

.version {
	width: 100%;
	position: absolute;
	text-align: center;
	font-size: 0.7rem;
	color: #666;
	bottom: 5%;
}

@media screen and (max-width:768px) {
	.start_logo {
		width: 250px;
	}

	.version {
		bottom: 10%;
	}
}

/* stage01
-------------------------------------------------------*/

.stage01 {
	position:relative;
	margin: 0 auto;
	overflow: hidden;
	background:rgba(0,0,0,0.5);
}

.gameover img {
	width: 100%;
}

.retry {
	position: fixed;
	right: 20px;
	top: 20px;
	max-width: 50px;
	z-index: 998;
}

.retry img {
	width: 100%;
}


.stop {
	position: fixed;
	right: 24px;
	top: 80px;
	max-width: 40px;
	z-index: 998;
}

.stop img {
	width: 100%;
}

#stop_btn {
	cursor: pointer;
}


/*SOUND ON OFF*/

.sound_on_off ul li span {
	display: block;
	cursor: pointer;
	text-align: center;
	color: #666
}


.sound_on_off ul li span.s_on {
	color: #fff;

}
 


.sound_on_off ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content:center;
	color: #fff;
	font-size: 10px;
	position: fixed;
	right: 20px;
	top: 20px;
}

.sound_on_off ul li {
	margin-left: 10px;
}

.highscore {
	font-size: 10px;
	color: #fff;
	position: fixed;
	left: 20px;
	top:35px;
}

.highscore_txt {
	font-size: 150%;
}

.sound_img {
	width: 20px;
}

.sound_img img {
	width: 100%;
}

.sound_img.off {
	opacity: 0.5;
}


/*ガイド*/
/* モーダル全体のスタイル */
.modal {
    display: none; /* デフォルトでは非表示 */
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* モーダルの内容が溢れた場合にスクロール可能にする */
    background-color: rgba(0, 0, 0, 0.5); /* 背景の透明度を調整 */
	color: #fff;
}

/* モーダルコンテンツのスタイル */
.modal-content {
    /*background: #333;*/
	background: rgba(0,0,0,0.7);
    padding: 20px;
   max-width: 500px;
   margin: 15% auto;
	font-size: 12px;
	position: relative;
	border-radius: 10px;
}

@media screen and (max-width:768px) {
	.modal-content {
	   max-width: inherit;
	   width: 80%;
	}
}


/* 閉じるボタンのスタイル */
.close_btn {
    color: #fff;
    font-size: 28px;
    font-weight: bold;
	position: absolute;
	top: 10px;
	right: 15px;
}

.close_btn:hover,
.close_btn:focus {
    color: #666;
    text-decoration: none;
    cursor: pointer;
}




/*USER NAME*/
.uer_name {
	font-size: 10px;
	color: #fff;
	position: fixed;
	left: 20px;
	top: 15px;
	cursor: pointer;
}

.uer_name_conf {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	padding: 0;
}

.uer_name_conf dt {
	width: 15px;
	margin: 0;
	margin-right: 10px;
	padding: 0;
}

.uer_name_conf dt img {
	width: 100%;
}

.uer_name_conf dd {
	margin: 0;
	padding: 0;
}

.input_txt {
	border: none;
	background: #ccc;
	padding: 10px;
}

.input_btn {
	background: #000;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: 10px;
	margin-left: 10px;
	border: 1px solid #666;
}


@media screen and (max-width:768px) {
	.input_btn {
		display: block;
		width: 100%;
		margin-left: 0;
		margin-top: 20px;
	}
}


.highScores_btn_out {
	text-align: center;
}

.highScores_btn {
	display:inline-block;
	background: #222;
	color: #fff;
	border: none;
	padding: 5px 30px;
	cursor: pointer;
	margin: 0 auto;
	font-size: 90%;
	border-radius: 100px;
}


.guide {
	width: 180px;
	position: fixed;
	bottom: 40px;
	left: 20px;
	cursor: pointer;
}

.guide img {
	width: 100%;
}

@media screen and (max-width:768px) {
	.guide {
		width: 120px;
		position: fixed;
		bottom: 0%;
		left: 10px;
		cursor: pointer;
	}
}


.highscoreranking {
	display: block;
	width: 180px;
	position: fixed;
	bottom:100px;
	left: 140px;
	cursor: pointer;
}

.highscoreranking img {
	width: 100%;
}

@media screen and (max-width:768px) {

	.highscoreranking {
		display: block;
		width: 120px;
		position: fixed;
		bottom:6%;
		left: 90px;
		cursor: pointer;
	}
}

.highScoresList  {
	height: 300px;
	overflow-y: scroll;
	
}

.highScoresList li {
	background: rgb(64,76,91);
	background: linear-gradient(128deg, rgba(64,76,91,1) 0%, rgba(0,0,0,1) 100%); 
	padding: 10px;
	margin-bottom: 10px;
	box-sizing: border-box;
}

.highScoresList li:first-child {
	background: rgb(212,204,30);
	background: linear-gradient(128deg, rgba(212,204,30,1) 0%, rgba(0,0,0,1) 100%); 
}

.highScoresList li:nth-child(2) {
	background: rgb(198,197,194);
	background: linear-gradient(128deg, rgba(198,197,194,1) 0%, rgba(0,0,0,1) 100%); 
}

.highScoresList li:nth-child(3) {
	background: rgb(217,156,164);
	background: linear-gradient(128deg, rgba(217,156,164,1) 0%, rgba(0,0,0,1) 100%); 
}

.highscore_ttl {
	background: rgb(33,233,231);
	background: linear-gradient(128deg, rgba(33,233,231,1) 0%, rgba(0,0,0,1) 100%); 
	box-sizing: border-box;
	padding: 10px;
}

/* NAV
-------------------------------------------------------*/

.nav_wrap {
	position: fixed;
	width: 100%;
	left: 0;
	bottom: 0px;
	padding: 10px;
	box-sizing: border-box;
}

.nav {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0;
	max-width: 500px;
}

.nav li {
	width: 18%;
}

.nav li img {
	width: 100%;
}

.nav li span {
	cursor: pointer;
}








.item-list {
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
}

.item-list::before{
	content:"";
	display: block;
	width:23%;
	order:1;
  }
  .item-list::after{
	content:"";
	display: block;
	width:23%;
  }

.item-list div {
	width: 23%;
	cursor: pointer;
	text-align: center;
	background: #444;
	border-radius: 10px;
	margin-bottom: 10px;
	padding: 10px;
}



.item-list div img {
	width: 100%;
	margin: 0 auto;
}

.disabled {
	pointer-events: none;
	filter: grayscale(100%);
	opacity: .3;
}

.detail_img {
	max-width: 120px;
	margin: 0 auto;
}

@media screen and (max-width:768px) {
	.detail_img {
		max-width: 100px;
	}
}


.cont_inner {
	height: 400px;
	overflow-y: scroll;
}

.cont_inner02 {
	height: 300px;
	overflow-y: scroll;
}


.main_ttl {
	background: #222;
	padding:5px 10px;
	box-sizing: border-box;
	margin-bottom: 10px;
	font-size: 0.8rem;
	border-radius: 5px;
	font-weight: 700;
}

.sub_ttl {
	margin-bottom: 10px;
	font-size: 0.8rem;
	font-weight: 700;
}


.gacha_txt {
	text-align: center;
	font-size: 80%;
	
}

.gacha_txt span {
	background: #222;
	display: inline-block;
	padding: 5px 20px;
	border-radius: 100px;
}

.gacha_img {
	max-width: 120px;
	margin: 0 auto;
}

.gacha_img img {
	width: 100%;
}

.korokoro {
	animation: korokoro 2.5s linear 0s infinite;
  }
  
  @keyframes korokoro {
	0%   { transform: translate(0%, 0%); }
	5%   { transform: translate(5%, 0%) rotate(5deg); }
	25%  { transform: translate(10%, 0%) rotate(10deg); }
	30%  { transform: translate(-10%, 0%) rotate(-10deg); }
	35%  { transform: translate(-5%, 0%) rotate(-5deg); }
	45%  { transform: translate(10%, 0%) rotate(10deg); }
	50%  { transform: translate(15%, 0%) rotate(15deg); }
	60%  { transform: translate(-5%, 0%) rotate(-5deg); }
	65%  { transform: translate(-7%, 0%) rotate(-7deg); }
	75%  { transform: translate(0%, 0%) rotate(0deg); }
	100% { transform: translate(0%, 0%) rotate(0deg); }
  }
  

  .gacha_wrap {
	background: url(../img/gacha.webp) no-repeat;
	background-size: cover;
	background-position: center center;
	height: 500px;
	position:relative;
  }

  @media screen and (max-width:768px) {
	.gacha_wrap {
		height: 430px;
	  }
}




  .gacha_box {
	padding-top: 25%;
  }

  .gacha_btn_wrap {
	text-align: center;
	margin-top: 8%;
  }

  .gacha_btn {
	display: inline-block;
  color: #3d1200;
  padding: 20px 50px;
  background: rgb(254,209,111);
  background: linear-gradient(-180deg, rgba(254,209,111,1) 0%, rgba(255,212,3,1) 100%);
  font-size: 1rem;
  border-radius: 5px;
  line-height: 1.2;
  margin-bottom: 20px;
  cursor: pointer;
  box-shadow: 0px 4px 0px 0px #d58928;
  border: 1px solid #dfaf49;
  }

  .gacha_btn:active{
	box-shadow: none;
	margin-top: 4px;
  }


  .gold {
	position: fixed;
	top: 60px;
	left: 20px;
  }

  .gold dl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: #fff;
	margin: 0;
	padding: 0;
  }

  .gold dl dt {
	width: 18px;
	margin-right: 5px;
	padding: 0;
  }

  .gold dl dt img {
	width: 100%;
  }

  .gold dl dd {
	font-size: 80%;
	margin: 0;
	padding: 0;
  }


  .kinomi {
	position: fixed;
	top: 85px;
	left: 20px;
  }

  .kinomi dl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: #fff;
	margin: 0;
	padding: 0;
  }

  .kinomi dl dt {
	width: 18px;
	margin-right: 5px;
	padding: 0;
  }

  .kinomi dl dt img {
	width: 100%;
  }

  .kinomi dl dd {
	font-size: 80%;
	margin: 0;
	padding: 0;
  }

  .gacha_txt_in {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 30px;
	text-align: center;
	font-weight: 700;
	color: #fff;
  }

  .collection_wrap {
	max-width: 300px;
  }

  @media screen and (max-width:768px) {
	.collection_wrap {
		max-width: 200px;
	  }
}


.store_list {
	margin: 0;
	padding: 0;
}

.store_list li {
	border: 2px solid #fff;
	border-radius: 10px;
	padding: 15px;
	cursor: pointer;
	list-style: none;
	margin: 0;
	padding: 15px;
	margin-bottom: 20px;
}

.store_list li dl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.store_list li dl dt {
	width: 20%;
}

.store_list li dl dt img {
	width: 100%;
}

.store_txt {
	margin-bottom: 10px;
}

.buy {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.buy_i {
	width: 18px;
	margin-right: 5px;
}

.buy_i img {
	width: 100%;
}


/*マイチーム*/
#team-modal {
	z-index: 1000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
  }
  
  #team-modal-content {
	z-index: 1001;
	padding: 20px;
	top: 50%;
	left: 50%;
	width: 600px; /* 横幅を500pxに設定 */
	height: 400px;
	overflow-y: scroll;
	gap: 10px;
	margin: 0 auto;
	background: #000;
	position: absolute;
	transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	border-radius: 10px;
	text-align: center;
	
  }

  @media screen and (max-width:768px) {
	#team-modal-content {
		width: 300px;
	}
}

  #my-team {
	display: flex;
	justify-content:center;
	padding-bottom: 60px;
  }
  
  #my-team img {
	max-width: 80px;
	width: 100%;
	height: auto;
	margin: 0 5px;
  }


  @media screen and (max-width:768px) {
	#my-team img {
		max-width: inherit;
		width: 40px;
	  }
}

  #my-team img img {
	width: 100%;
  }
  

  #team-modal-content img {
	width: 55px;
	height: 55px;
	margin: 0 5px 10px 5px;
  }
  

  #close-modal {
	margin-bottom: 10px;
	cursor: pointer;
	width: 100%;
	background: #000;
	color: #fff;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	border: 1px solid #666;
	height: 40px;
	border-radius: 100px;
  }

  .select-team_wrap {
	text-align: center;
	margin-top: 10px;
  }

  #select-team {
	cursor: pointer;
	display: inline-block;
	background: #000;
	padding: 10px 20px;
	box-sizing: border-box;
	border-radius: 100px;
	text-align: center;
	color: #fff;
	border: 1px solid #666;
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: 80%;
  }

  #clear-team {
	cursor: pointer;
	display: inline-block;
	background: #000;
	padding: 10px 20px;
	box-sizing: border-box;
	border-radius: 100px;
	text-align: center;
	color: #fff;
	border: 1px solid #666;
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 80%;
  }

  .my-team_psition {
	position: relative;
  }
  
  .delay {
	opacity: .8;
	z-index: 1;
    position: fixed;
    right: 0;
    bottom: 50px;
    display: inline-block;
    background: linear-gradient(to left, #000 0%, #666 0%);
    color: #fff;
    padding: 20px;
	pointer-events: none;
    transition: background 0.1s linear;
	width: 100px;
	text-align: center;
	}
	.delay.active {
		pointer-events: all;
	}


  .gacha_new {
	display: block;
	width: 100%;
	-webkit-text-stroke: 1px black;
   color: white;
   text-shadow:
       3px 3px 0 #000,
     -1px -1px 0 #000,  
      1px -1px 0 #000,
      -1px 1px 0 #000,
       1px 1px 0 #000;
	   font-size: 150%;
	   text-align: center;
	   font-weight: 900;
	   position: absolute;
	   top: 20%;
	   left: 0;
  }

  @media screen and (max-width:768px) {
	.gacha_new {
		top: 10%;
	}
}


.mode_wrap {
	position: fixed;
	bottom: 20%;
	left: 50%;
	width: 30%;
	margin-left: -15%;
}

@media screen and (max-width:768px) {
	.mode_wrap {
		bottom: 20%;
		left: 50%;
		width: 70%;
		margin-left: -35%;
	}
}

.level_mode {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	margin-top: 30px;
}

.level_mode li {
	list-style: none;
	width: 33.3%;
}

.level_mode li span {
	display: block;
	text-align: center;
	padding: 5px;
	background: #666;
	color: #ccc;
	font-size: 10px;
	cursor: pointer;
	font-weight: 900;
}

.level_mode li span.on {
	background: #191516;
}

.level_mode_normal span {
	border-radius: 100px 0 0 100px;
}

.level_mode_veryhard span {
	border-radius: 0 100px 100px 0;
}

.level_mode_bot {
	margin-top: 10px;
	display: none;
}
.level_mode_bot span {
	display:inline-block;
	text-align: center;
	padding: 5px 40px;
	background: #cccccc;
	color: #fff;
	font-size: 10px;
	cursor: pointer;
	border-radius: 100px;
}

.level_mode_bot span.on {
	background: #384148;
}

#zenkeshi {
	width: 100%;
}