.sp {display: none !important;}
.pc {display: block !important;}

body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	word-spacing: 1px;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
	font-family: "M PLUS 2", sans-serif;
	font-feature-settings: "palt";
	background-color: #000;
	line-height: 1.65;
	font-size: 0.9375rem;
	color: #E7FF33;
}

img {
	width: 100%;
	height: auto;
}

.comming {
	width: 100%;
	height: auto;
	padding: 0px;
	margin: 0px;
	overflow: hidden;
}

.commingimg {
	width: 100%;
	height: auto;
}

.commingimg img{
	width: 100%;
	height: auto;
	display: block;
}

.mainkv{
	width: 100vw;
	height: auto;
}

.mainkv img{
	width: 100%;
}

.content{
	padding: 0px;
	width: 100vw;
}

.mainwrap{
	margin-top: 300px;
	width: 80vw;
	max-width: 900px;
	min-width: 800px;
	margin-left: auto;
    margin-right: auto;
	text-align: center;
}

.subwrap{
	margin-bottom: 200px;
	overflow: hidden;
}

.contenttitle{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 500;
  	font-style: normal;

	font-size: 52px;

	display: inline-block;
  border: 2px solid #e4ff00;
  border-radius: 999px;
  padding: 0px 80px;
  margin-bottom: 80px;
}

.maintext{
	font-size: 16px;
	line-height: 170%;
	letter-spacing: 6%;
	margin-bottom: 80px;
}

.place{
	width: 100%;
	text-align: center;
	margin-top: 40px;
}

.first {
  display: flex;
  justify-content: center;   /* 中央寄せ */
  align-items: center;       /* 縦方向も中央 */
  text-align: center;
  gap: 2em;                  /* 要素間の隙間（お好みで調整） */
}

.first > div {
  flex: 0 1 auto;            /* 均等幅でなく内容幅に */
  padding: 0 0 0 20px;
  position: relative;
}

.first > div:not(:first-child) {
  position: relative;
  /* 既存のborder-leftは削除またはコメントアウト */
  /* border-left: 1px solid #e4ff00; */
}

.first > div:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 60%; /* ボーダーの長さ（%で調整） */
  width: 1px;
  background: #e4ff00;
}

/* 日付部分を横並びに */
.date-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}


.area1{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 400;
  	font-style: normal;

	font-size: 41px;
}

.date-wrap{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 400;
  	font-style: italic;

	font-size: 41px;
}

.live1{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 400;
  	font-style: normal;

	font-size: 41px;
}

.timewrap{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 3em;   
}

.time{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 400;
  	font-style: normal;

	font-size: 22px;
}
.ticket1{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 600;
  	font-style: normal;

	font-size: 22px;
}

.performerwrap{
	
}

.teamname{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 600;
  	font-style: normal;

	font-size: 22px;
	text-align: center;
}
.performer{
	margin-top: 30px;
}

.memberlist{
	width: 100%;
	margin-top: 10px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 20px;
	border-top: #e4ff00 1px solid;
	border-bottom: #e4ff00 1px solid;
}

.member{
	font-size: 14px;
	letter-spacing: 6%;
	padding: 10px;
	height: auto;
	border-bottom: #e5ff0046 1px solid;
}

.ticketwrap{
    width: 100%;
	margin-bottom: 150px;
}

.ticketall{
	width: 100%;
	margin-bottom: 60px;
}


.seat{
	display: block;
	width: 100%;
	text-align: right;
	margin-bottom: -20px;

	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 400;
  	font-style: normal;
	font-size: 22px;
}

.tickettitle {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ticketdate {
  text-align: left;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
  font-size: 55px;
}

.ticketplace {
  text-align: right;
   font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 60px;
}

.open{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 20px;
	margin-top: 10px;
}

.opentime{
	border-top: #e4ff00 1px solid;
	border-bottom: #e4ff00 1px solid;
	padding: 10px;
	font-size: 20px;
	letter-spacing: 6%;
	font-family: "Jost", sans-serif;
	margin-bottom: 10px;
}

.ticketprice{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 600;
  	font-style: normal;
	font-size: 20px;
}

.ticketbuy{
	width: 100%;
	background-color: #ffffff18;
	margin-bottom: 40px;
}

.ticketbuyin{
	display: flex;
	justify-content: space-between;
  	align-items: center;
	padding: 30px 70px;
}

.left{
	text-align: left;
}

.right{
	text-align: right;
}

.ticketkikan{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 400;
  	font-style: normal;

	font-size: 60px;
	margin-top: -20px;
}

.ticketkikanjp{
	font-size: 16px;
	font-weight: 500;
	margin-top: -20px;
}

.ticketkikanjp_uketsuke{
	margin-top: 20px;
	font-size: 13px;
}

.ticketkikanjp_uketsuke2{
	font-size: 16px;
}

.ticketkikanjp_uketsuke3{
	font-size: 14px;
}


.ticketbutton{
	width: 180px;
	height: 180px;
	border-radius: 999px;
	background-color: #e4ff00;
	text-align: center;
	text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;

	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 600;
  	font-style: normal;
	font-size: 20px;
	color: #000;
	text-decoration: none;
}

.ticketbutton a{
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 600;
  	font-style: normal;
	font-size: 20px;
	color: #000;
}

.ticketbuttonnotyet{
	width: 180px;
	height: 180px;
	border-radius: 999px;
	background-color: #e5ff0022;
	text-align: center;
	text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;

	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 600;
  	font-style: normal;
	font-size: 20px;
	color: #000;
	text-decoration: none;
}

.subwrap.subwrap--narrow {
  margin-bottom: 60px; /* お好みの値に調整 */
}

.faqwrap{
	border-top: #e4ff00 1px solid;
	width: 100%;
}

.faq{
	border-bottom: #e4ff00 1px solid;
	padding-bottom: 20px;
	padding-top: 20px;
	cursor: pointer;
}

.answer{
	display: none;
	width: 100%;
	background: #e5ff00;
	padding-top: 20px;
	padding-bottom: 20px;

	color: #000;
	font-weight: 500;
}

.footer {
	width: 100%;
	background-color: #ffffff18;
	color: #e4ff00;
	padding: 20px 0;
	margin-top: 150px;
}

.footerwrap {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footerwrap a{
	color: #e4ff00;
	text-decoration: none;
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 400;
  	font-style: normal;
	font-size: 16px;
	margin: 5px 0;
}

.footerwrap a:not(:last-child) {
  position: relative;
  padding-right: 40px; /* 縦線と文字の間隔 */
}

.footerwrap a:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 20px; /* 縦線の位置（padding-rightより小さく） */
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1.2em;
  background: #e4ff00;
  display: inline-block;
}



/* 下からフェードイン＆上昇、上にフェードアウト */
.fadeUpTrigger {
  opacity: 0;
  transform: translateY(200px);
  transition: all 0.5s cubic-bezier(.4,0,.2,1);
}
.fadeUpTrigger.blur {
  opacity: 1;
  transform: translateY(0);
}

///

