@charset "UTF-8";

/*mv
----------------------------------------*/
.mv {
	background: #FEB931;
	display: flex;
	align-items: center;
	padding-top: 19rem;
}
.mv_inner.show {
	opacity: 1;
}
.mv_inner {
	width: 100%;
	max-width: 135rem;
	margin: 0 auto;
	padding: 0 4rem;
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.mv {
	overflow-x: clip;
}
.mv_box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
}

.mv_left {
	margin-top: 35rem;
	margin-right: 12.2vw;
	margin-left: 4rem;
	line-height: 1;
}
.mv_date {
	width: 21rem;
	font-size: 4.5rem;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
}
.mv_date_day {
	font-size: 2.2rem;
	font-weight: 300;
	letter-spacing: 0.07em;
	display: inline-block;
	writing-mode: sideways-lr;
	text-orientation: mixed;
}
.mv_time {
	font-size: 1.6rem;
	font-weight: 500;
	color: #fff;
	margin-top: .8rem;
}
.mv_place {
	font-size: 1.6rem;
	color: #fff;
	margin-top: .5rem;
	letter-spacing: .08em;
	display: flex;
	align-items: center;
	gap: .5rem;
}
.mv_place img {
	width: 1rem;
	height: 1.3rem;
	flex-shrink: 0;
}

.mv_video_wrap {
	flex-shrink: 0;
	position: relative;
}
.mv_video {
	display: block;
	width: 54.4rem;
	height: 67rem;
	object-fit: cover;
}
.mv_catch1 {
	position: absolute;
	top: -5.6rem;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	color: #fff;
	font-size: 13.5rem;
	line-height: 0.9;
}
.mv_catch1 span {
	font-size: 5rem;
	display: flex;
  justify-content: flex-end;
	margin-right: 3.5rem;
}

.mv_right {
	position: relative;
	margin-top: 31rem;
	margin-left: 13.5vw;
	margin-right: 4rem;
}
.mv_catch2 {
	position: absolute;
	top: -25rem;
  left: -21rem;
	font-size: 5rem;
	font-weight: 900;
	line-height: 1.32;
	color: #fff;
	width: 34rem;
	letter-spacing: .13em;
}
.mv_info {
	width: 18rem;
	top:7px;
}
.mv_info_ttl {
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: .12em;
	color: #fff;
	border-bottom: .1rem solid #fff;
	padding-bottom: .6rem;
	margin-bottom: 1.2rem;
}
.mv_info_list li {
	font-size: 1.7rem;
	color: #fff;
	line-height: 1.5;
	letter-spacing: .1em;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
}
.mv_info_list li img {
	width: 1.8rem;
	height: 1.6rem;
	flex-shrink: 0;
}
.mv_info_list li + li {
	margin-top: .4rem;
}


@media only screen and (max-width: 768px) {
	.mv {
		padding-top: 15.2rem;
		padding-bottom: 6.5rem;
		min-height: auto;
	}
	.mv_inner {
		padding: 0;
	}
	.mv_box {
		flex-direction: column;
		align-items: center;
		margin: 0 3rem;
		position: relative;
	}
	.mv_video_wrap {
		order: -1;
		width: 100%;
	}
	.mv_video {
		width: 33rem;
		height: 46.1rem;
		margin: 0 auto;
	}
	.mv_left {
		position: absolute;
		bottom: -13rem;
		left: 0;
		width: auto;
		margin: 0;
		padding: 0;
		display: block;
	}
	.mv_place {
		margin-top: .5rem;
		margin-left: .5rem;
		gap: .7rem;
	}
	.mv_right {
		position: absolute;
		top: 16rem;
		left: -1rem;
		width: auto;
		margin: 0;
		padding: 0;
	}
	.mv_catch1 {
		font-size: 7.6rem;
		top: -4.6rem;
	}
	.mv_catch1 span {
		font-size: 2.8rem;
		margin-right: 1.5rem;
	}
	.mv_catch2 {
		position: static;
		font-size: 3.6rem;
		margin-bottom: 1rem;
		width: auto;
	}
	.mv_info {
		padding-left: 0;
	}
	.mv_info_list li {
		font-size: 1.3rem;
		flex-direction: row-reverse;
	}
	.mv_info_list li + li {
		margin-top: 0;
	}
	.mv_info_list li img {
		width: 1.3rem;
		height: 1.2rem;
	}
	.mv_date {
		line-height: 0.9;
	}
}

/*news
----------------------------------------*/
.news {
	background: #FEB931;
	padding: 9.2rem 0 17.5rem;
	position: sticky;
	top: 0;
}
.news_inner {
	max-width: 129rem;
	margin: 0 auto;
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.news_inner.show {
	opacity: 1;
}
.news h2 {
	display: flex;
	color: #fff;
	align-items: baseline;
}
.news h2 span {
	display: block;
}
.news h2 span:not(.en) {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	margin-left: .9rem;
}
.news h2 .en {
	font-size: 6rem;
	font-weight: 400;
}
.news_box {
	display: flex;
	justify-content: space-between;
}
.news_head {
	display: flex;
	flex-direction: column;
}
.news_head .btn_more {
	margin-top: 1rem;
}
.news_list ul {
	display: flex;
  flex-flow: column;
	width: 95.7rem;
	margin-top: 1.2rem;
}
.news_list ul li {
	display: flex;
	flex-flow: wrap;
	border-top: 1px dotted #fff;
	border-bottom: 1px dotted #fff;
	gap: 4.9rem;
}
.news_list ul li > a {
	display: flex;
	align-items: center;
	flex-flow: wrap;
	width: 100%;
	gap: 4.9rem;
	padding: 2.3rem 4rem 2.6rem 1rem;
}
.news_list ul li > a::after {
	content: '';
	width: 1rem;
	height: 1rem;
	background: url(../../img/index/icon_arrow.svg) no-repeat center / contain;
	filter: brightness(0) invert(1);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 2rem;
}
.news_list ul li:not(:first-of-type) {
	border-top: none;
}
.news_list ul li:not(:first-of-type) a {
	padding-top: 2rem;
}
.news_list ul li time {
	color: #fff;
	font-weight: 400;
	font-size: 1.6rem;
	font-style: normal;
	line-height: 2;
	letter-spacing: 0.1em;
}
.news_list ul li .news_ttl {
	width: fit-content;
	font-size: 1.4rem;
	letter-spacing: .08em;
	font-weight: 500;
	flex: 1;
}
.news_list ul li .news_ttl span {
	color: #fff;
	transition: background .3s, color .3s;
}
.news_list .btn {
	margin-top: 2.7rem;
	padding-right: 4rem;
	width: fit-content;
	margin-left: auto;
}
@media (hover:hover) {
	.news_list ul li > a:hover {
		opacity: .7;
	}
	/* .news_list ul li > a:hover .news_ttl span {
		opacity: .7;
	} */
}
@media only screen and (max-width: 768px) {
	.news {
		padding: 2.5rem 0 6.3rem;
	}
	.news_inner {
		padding-inline: 3rem;
	}
	.news_box {
		flex-direction: column;
	}
	.news_head {
		display: contents;
	}
	.news h2 {
		order: 1;
	}
	.news h2 .en {
		font-size: 4rem;
	}
	.news_list {
		order: 2;
	}
	.news_head .btn_more {
		width: 100%;
		height: 6rem;
		margin-top: 4.2rem;
		order: 3;
	}
	.news_list ul {
		width: 100%;
		margin-top: 2.7rem;
		line-height: 1.4;
	}
	.news_list ul li {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: .4rem;
	}
	.news_list ul li > a {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: .4rem;
		padding-top: 1rem;
		padding-bottom: 2.5rem;
		padding-left: 0;
	}
	.news_list ul li:not(:first-of-type) a {
		padding-top: 1.5rem;
	}
	.news_list ul li time {
		font-size: 1.4rem;
	}
	.news_list ul li .news_ttl {
		font-size: 1.3rem;
	}
}

/*about
----------------------------------------*/
.about {
	margin-top: 0;
	padding: 20rem 0 19rem;
	background: #E74112;
}
.about_inner {
	display: flex;
	align-items: flex-start;
	gap: 10.9rem;
	max-width: 129rem;
	margin-inline: auto;
}
.about_img {
	flex-shrink: 0;
	position: sticky;
	top: 5rem;
}
.about_img figure img {
	width: 55.4rem;
	height: 66rem;
	object-fit: cover;
}
.about_body {
	flex: 1;
	color: #fff;
}
.about_inner .inview {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.about_inner .inview.show {
	opacity: 1;
}
.about h2.en {
	color: #fff;
	font-size: 12rem;
	font-weight: 400;
	line-height: .8;
}
.about_txt {
	margin-top: 4.9rem;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 2.25;
	max-width: 51.5rem;
	font-weight: 500;
}
.about_info {
	border-top: .1rem solid currentColor;
	margin-top: 4.4rem;
	padding-top: 3rem;
}
.about_date_ttl {
	font-size: 1.4rem;
	letter-spacing: .08em;
	font-weight: 900;
	display: flex;
	align-items: center;
	gap: 1rem;
}
.about_date_ttl::before {
	content: '';
	width: 2rem;
	height: 1.8rem;
	background: url(../../img/index/icon_sun.svg) no-repeat center / contain;
	flex-shrink: 0;
}
.about_date {
	font-size: 8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	line-height: 1.3;
}
.about_date_day {
	font-size: 4rem;
	font-weight: 600;
	line-height: 1;
	writing-mode: sideways-lr;
	display: inline-block;
}
.about_date_sep {
	flex-shrink: 0;
	margin-inline: 1.9rem 1.3rem;
}
.about_date_sep::before {
	content: '';
	display: block;
	width: 4.5rem;
	height: .1rem;
	background: currentColor;
}
.about_time {
	margin-top: -2rem;
	display: flex;
	gap: 1rem;
}
.about_time + .about_date_ttl {
	margin-top: 4.1rem;
}
.about_time li {
	font-size: 4rem;
	letter-spacing: .04em;
	font-weight: 600;
}
.about_time li + li::before {
	content: '/';
	margin-right: 1rem;
	font-weight: 400;
}
.about_venue_name {
	margin-top: 1rem;
	font-size: 2.4rem;
	letter-spacing: .1em;
	font-weight: 700;
}
.about_venue_address {
	margin-top: 1rem;
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 500;
}
.about_venue_attention{
	margin-bottom: 30px;
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 500;
}
.about_venue_map {
	margin-top: 1rem;
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: .5rem;
	text-decoration: underline;
}
.about_venue_map::after {
	content: '';
	width: 1.2rem;
	height: 1.5rem;
	background: url(../../img/index/icon_place.svg) no-repeat center / contain;
	filter: brightness(0) invert(1);
	flex-shrink: 0;
}
p.about_venue_attention2 {
    font-size: 1.4rem;
    letter-spacing: .1em;
    font-weight: 500;
    margin-top: 2rem;
}


.about_ticket_detail {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.7;
}



.about_note_list {
  margin-top: 3rem;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1.7;
}

.about_note_list li {
  display: flex;
  align-items: flex-start;
}

.about_note_list li span {
  flex: 0 0 1.2em;
}

.about_note_list li p {
  margin: 0;
  flex: 1;
}





.about_ticket_period {
  margin-top: 2rem;
  margin-bottom: .8rem;
}

.about_ticket_period li {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0 .4rem;
  letter-spacing: .06em;
}

.about_ticket_period li span {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .04em;
}

.about_ticket_period li small {
  font-size: 1.5rem;
  letter-spacing: .1em;
  font-weight: 700;
  padding: 0 3px 3px;
}





.about_ticket,
.about_parking {
	margin-top: 7.5rem;
}
.about_ttl {
	display: flex;
	align-items: center;
	gap: 2rem;
	border-bottom: .1rem solid currentColor;
	padding-bottom: 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .1em;
}
.about_ticket .about_ttl::after,
.about_parking .about_ttl::after {
	margin-left: auto;
}
.about_ttl .en {
	font-size: 4rem;
	font-weight: 400;
	letter-spacing: .04em;
}
.about_ttl span:not(.en) {
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .1em;
}
.about_ticket .about_ttl::after {
	content: '';
	width: 2.4rem;
	height: 2.4rem;
	background: url(../../img/index/icon_ticket.svg) no-repeat center / contain;
	flex-shrink: 0;
}
.about_parking .about_ttl::after {
	content: '';
	width: 2.6rem;
	height: 2.4rem;
	background: url(../../img/index/icon_parking.svg) no-repeat center / contain;
	flex-shrink: 0;
}
.about_bus .about_ttl::after {
	width: 2rem;
	height: 2.4rem;
	background: url(../../img/index/icon_bus.svg) no-repeat center / contain;
}
.about_ticket_item {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
	padding: 3.4rem 0;
	border-bottom: .1rem solid currentColor;
}
.about_ticket_name {
	flex-shrink: 0;
	width: 10rem;
	height: 10rem;
	border: .1rem solid #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.3;
	color: #E74112;
	background: #fff;
	text-align: center;
	border-radius: .3rem;
}
.about_ticket_name span {
	font-size: 1.2rem;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: .05em;
}
.about_ticket_price {
	flex: 1;
}
.about_ticket_main {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: .1em;
}
.about_ticket_main span {
	font-size: 6rem;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1;
}
.about_ticket_sub {
	margin-top: .8rem;
	display: flex;
	align-items: center;
	gap: 0;
	margin-bottom:.8rem; 
}
.about_ticket_sub li {
	display: flex;
	align-items: flex-end;
	letter-spacing: .06em;
}
.about_ticket_sub li + li::before {
	content: '/';
	margin: 0 1rem;
	font-size: 1.8rem;
	align-self: center;
}
.about_ticket_sub li b {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: .1em;
	margin-right: 1.5rem;
	align-self: flex-start;
	padding-top: 3px;
}
.about_ticket_sub li span {
	font-size: 3rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .04em;
}
.about_ticket_sub li small {
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 700;
}
.about_ticket_buy {
	margin-top: 3rem;
}
.about_ticket_buy_btns {
	display: flex;
	gap: 1.6rem;
	margin-top: 2.3rem;
}
.about_ticket_buy_btns .btn_more {
	flex: 1;
	width: auto;
    background-color: #FEB931;
}
.about_parking_list {
	margin-top: 3rem;
	display: flex;
	flex-direction: column;
}
.about_parking_list li {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.about_parking_list li .about_date_ttl::after {
	content: '';
	flex: 1;
	width: 100%;
	height: .1rem;
	background: currentColor;
	position: static;
	margin-left: 1rem;
}
.about_parking_list li .about_date_ttl {
	flex-shrink: 0;
	flex: 1;
	display: flex;
	align-items: center;
	font-weight: 700;
	letter-spacing: .1em;
}
.about_parking_price {
	flex-shrink: 0;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .1em;
}
.about_parking_price span {
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: .04em;
}
.about_parking_list li:nth-child(3) .about_parking_price span {
	letter-spacing: .07em;
}
@media only screen and (max-width: 768px) {
	.about {
		position: relative;
		z-index: 1;
		transform: translateZ(0);
		padding: 8rem 3rem 8.1rem;
	}
	.about_inner {
		display: flex;
		flex-direction: column;
		padding-right: 0;
		gap: 2rem;
	}
	.about_body {
		display: contents;
	}
	.about_inner h2 {
		order: 1;
	}
	.about h2.en {
		font-size: 6rem;
		line-height: 1;
	}
	.about_img  {
		margin-inline: auto;
		order: 2;
		position: static;
	}
	.about_inner .about_txt    {
		order: 3;
		margin-top: 1rem;
    line-height: 1.65;
	}
	.about_inner .about_info   {
		order: 4;
		width: 100%;
		padding-top: 4rem;
	}
	.about_inner .about_ticket  { order: 5; }
	.about_inner .about_parking { order: 6; }
	
	 .about_inner .about_venue_attention2 { order: 7;}
	
	.about_img figure img {
		width: 33rem;
		height: 39.3rem;
	}
	.about_txt {
		margin-top: 0;
		font-size: 1.4rem;
		line-height: 1.57;
		letter-spacing: .13em;
	}
	.about_info {
		margin-top: 1.8rem;
	}
	.about_date {
		font-size: 5rem;
		letter-spacing: .05em;
	}
	.about_date_day {
		font-size: 2rem;
		letter-spacing: .2em;
	}
	.about_date_sep {
		margin-inline: .5rem;
	}
	.about_date_sep::before {
		width: 2rem;
	}
	.about_time {
		margin-top: -.7rem;
		gap: 1rem;
	}
	.about_time li {
		font-size: 2.8rem;
		letter-spacing: .07em;
	}
	.about_time li + li::before {
		margin-right: 1rem;
	}
	.about_time + .about_date_ttl {
		margin-top: 3rem;
	}
	.about_venue_name {
		margin-top: 2rem;
		font-size: 2rem;
		letter-spacing: .13em;
	}
	.about_venue_address {
		margin-top: 0.5rem;
		font-size: 1.3rem;
		letter-spacing: .14em;
	}
	.about_venue_map {
		margin-top: 1rem;
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	
	

  .about_ticket_period {
    margin-top: 0rem;
    margin-left: 0;
  }

  .about_ticket_period li {
    line-height: 1.2;
    gap: .4rem .2rem;
	  margin-top: 20px;
  }

  .about_ticket_period li span {
    font-size: 2rem;
    letter-spacing: .04em;
  }

  .about_ticket_period li small {
    font-size: 1.1rem;
  }

	
	
	
	
	.about_ticket, .about_parking {
		margin-top: 3.7rem;
	}
	.about_inner .about_ticket {
		width: 100%;
	}
	.about_ttl {
		padding-bottom: 0.6rem;
		gap: 1.3rem;
	}
	.about_ttl .en {
		font-size: 3rem;
	}
	.about_ticket_item {
		padding: 2.1rem 0 2.5rem;
		gap: 2.5rem;
	}
	.about_ticket_sub {
		margin-top: 2rem;
		margin-left: -12rem;
	}
	.about_ticket_name {
		height: 6rem;
		font-size: 2.6rem;
		line-height: .8;
    gap: .7rem;
	}
	.about_ticket_name span {
		font-size: 1.2rem;
	}
	.about_ticket_main {
		font-size: 1.4rem;
		margin-top: 0.4rem;
	}
	.about_ticket_main span {
		font-size: 5rem;
	}
	.about_ticket_sub li b {
		font-size: 1.3rem;
		margin-right: 0.5rem;
		align-self: center;
	}
	.about_ticket_sub li span {
		font-size: 2.6rem;
		letter-spacing: .06em;
	}
	.about_ticket_sub li small {
		font-size: 1.2rem;
	}
	.about_ticket_sub li + li::before {
		margin-inline: .5rem;
	}
	.about_ticket_buy {
		margin-top: 4.3rem;
		margin-bottom: 50px;
	}
	.about_ticket_buy_btns {
		flex-direction: column;
		gap: 1rem;
		margin-top: 1.9rem;
	}
	.about_ticket_buy_btns .btn_more {
		flex: auto;
		height: 6rem;
        background-color: #FEB931;
	}
	.about_date_ttl {
		font-size: 1.4rem;
	}
	.about_parking_price {
		font-size: 1.2rem;
	}
	.about_parking_price span {
		font-size: 2.6rem;
	}
	.about_parking_list li .about_date_ttl::after {
		margin-left: 0;
	}
	.about_parking_list {
		margin-top: 1.4rem;
	}
	.about_parking_list li .about_date_ttl {
		font-size: 1.2rem;
	}
	
	
	
	
	 .about_note_list {
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.65;
  }

}

/*artist
----------------------------------------*/
.artist {
	padding: 15rem 0 15rem;
	background: #F3F2EF;
}
.artist_inner {
	max-width: 129rem;
	margin: 0 auto;
}
.artist_inner .inview {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.artist_inner .inview.show {
	opacity: 1;
}
.artist h2 span {
	display: block;
	font-size: 6rem;
	color: #333333;
	font-weight: 400;
	line-height: 1;
}
.artist_coming {
	margin-top: 4.2rem;
	margin-bottom: 6rem;
	color: #333333;
}
.artist_coming_ttl {
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1;
}
.artist_coming_txt {
	margin-top: .8rem;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.5;
}
.artist_wrapper + .artist_wrapper {
	margin-top: 15rem;
}
.artist_day {
	margin-top: 5rem;
	display: flex;
	align-items: center;
	gap: 2rem;
}
.artist_day_label {
	width: 9rem;
	height: 4.7rem;
	background: #E74112;
	border-radius: .3rem;
	font-size: 3rem;
	letter-spacing: .04em;
	font-weight: 600;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.artist_day_date {
	color: #333333;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: .04em;
}
.artist_list {
	position: relative;
	margin-top: 4rem;
}
.artist_list_inner {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 4rem;
}
.artist_item figure {
	width: 22.6rem;
	height: 22.6rem;
	overflow: hidden;
}
.artist_item figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.artist_item h3 {
	position: relative;
	margin-top: 1rem;
	font-size: 1.8rem;
	color: #333333;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.33;
	padding-right: 1.5rem;
}
.artist_item h3::after {
	content: "";
	position: absolute;
	top: .9rem;
	right: 0;
	width: .8rem;
	height: .8rem;
	background: url("../..//img/index/icon_arrow.svg") no-repeat center / contain;
}
.artist_andmore {
	margin-top: 8rem;
	text-align: center;
	font-size: 2.6rem;
	color: #E74112;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1;
}

.artist_more_notice {
  margin-top: 8rem;
  text-align: center;
}

.artist_more_notice .artist_andmore {
  margin-top: 0;
}

.artist_more_notice_txt {
  margin-top: 1.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: #333333;
}

/* .artist_andmore {
	text-align: center;
	font-size: 2.6rem;
	color: #0089C3;
	margin-top: 11rem;
} */
@media (hover:hover) {
	.artist_item:hover h3 {
		text-decoration: underline;
		text-underline-offset: .3rem;
	}
}
@media only screen and (max-width: 768px) {
	.artist {
		position: relative;
		z-index: 2;
		transform: translateZ(0);
		padding: 9rem 3rem 8rem;
	}
	body.modal_open .artist,
	body.modal_open .access {
		transform: none;
	}
	body.modal_open .header {
		z-index: 0;
	}
	.artist_wrapper + .artist_wrapper {
		margin-top: 6rem;
	}
	.artist_day {
		margin-top: 2.5rem;
	}
	.artist h2 span {
		font-size: 5rem;
		letter-spacing: .04em;
	}
	.artist_coming {
		margin-top: 3rem;
		margin-bottom: 4rem;
	}
	.artist_coming_ttl {
		font-size: 2rem;
	}
	.artist_coming_txt {
		margin-top: .7rem;
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.artist_list {
		margin-top: 4rem;
	}
	.artist_list_inner {
		grid-template-columns: repeat(2, 1fr);
		gap: 2.3rem .8rem;
	}
	.artist_item h3 {
		font-size: 1.6rem;
		width: 100%;
	}
	.artist_item figure {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		overflow: hidden;
	}
	.artist_item h3::after {
		top: .6rem;
		width: .9rem;
		height: .9rem;
	}
	.artist_andmore {
		margin-top: 4.5rem;
		font-size: 2rem;
	}
	/* .artist_andmore {
		font-size: 1.8rem;
		margin-top: 6rem;
	} */
}
 .artist_more_notice {
    margin-top: 4.5rem;
  }

  .artist_more_notice_txt {
    font-size: 1.5rem;
  }


/*food
----------------------------------------*/
.food {
	padding: 15rem 0 15rem;
	background: #FFFFFF;
}
.food_inner {
	max-width: 129rem;
	margin: 0 auto;
}
.food_inner .inview {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.food_inner .inview.show {
	opacity: 1;
}
.food h2 span {
	display: block;
	font-size: 6rem;
	color: #333333;
	font-weight: 400;
	line-height: 1;
}
.food_list {
	margin-top: 6rem;
}
.food_list_inner {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 4rem;
}
.food_item {
	display: block;
}
.food_item figure {
	width: 22.6rem;
	height: 22.6rem;
	overflow: hidden;
	background: #BFBFBF;
	display: flex;
	align-items: center;
	justify-content: center;
}
.food_item figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.food_item h3 {
	position: relative;
	margin-top: 1rem;
	font-size: 1.8rem;
	color: #333333;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.33;
	padding-right: 1.5rem;
}
.food_item h3::after {
	content: "";
	position: absolute;
	top: .9rem;
	right: 0;
	width: .8rem;
	height: .8rem;
	background: url("../..//img/index/icon_arrow.svg") no-repeat center / contain;
}
.food_andmore {
	margin-top: 8rem;
}
@media (hover:hover) {
	.food_item:hover h3 {
		text-decoration: underline;
		text-underline-offset: .3rem;
	}
}
@media only screen and (max-width: 768px) {
	.food {
		position: relative;
		z-index: 1;
		transform: translateZ(0);
		padding: 9rem 3rem 8rem;
	}
	.food h2 span {
		font-size: 5rem;
		letter-spacing: .04em;
	}
	.food_list {
		margin-top: 4rem;
	}
	.food_list_inner {
		grid-template-columns: repeat(2, 1fr);
		gap: 2.3rem .8rem;
	}
	.food_item figure {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
	}
	.food_item h3 {
		font-size: 1.6rem;
		width: 100%;
	}
	.food_item h3::after {
		top: .6rem;
		width: .9rem;
		height: .9rem;
	}
	.food_andmore {
		margin-top: 4.5rem;
	}
}


/*access
----------------------------------------*/
.access {
	padding: 14.8rem 0 15rem;
	background: #1D76B0;
}
.access_inner {
	max-width: 128.8rem;
	margin: 0 auto;
}
.access_inner .inview {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.access_inner .inview.show {
	opacity: 1;
}
.access_head {
	display: flex;
	justify-content: space-between;
}
.access h2 span {
	font-size: 6rem;
	color: #fff;
	font-weight: 400;
}
.access_venue {
	color: #fff;
	text-align: right;
}
.access_venue_name {
	font-size: 2.4rem;
	letter-spacing: .1em;
	font-weight: 700;
}
.access_venue_address {
	margin-top: .5rem;
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 500;
}
.access_venue_map {
	margin-top: .5rem;
	font-size: 1.4rem;
	letter-spacing: .1em;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .5rem;
	text-decoration: underline;
}
.access_venue_map::before {
	content: '';
	width: 1.2rem;
	height: 1.5rem;
	background: url(../../img/index/icon_place.svg) no-repeat center / contain;
	filter: brightness(0) invert(1);
	flex-shrink: 0;
}
.access_wrapper {
	margin-top: 5.2rem;
}
.access_map {
	width: 100%;
  aspect-ratio: 1290 / 436;
}
.access_map iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
}
.access_wrapper h3 {
	font-size: 2.4rem;
	letter-spacing: .08em;
	font-weight: 900;
	color: #fff;
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 7.9rem;
}
.access_wrapper h3::before {
	content: '';
	width: 2rem;
	height: 1.8rem;
	background: url(../../img/index/icon_sun.svg) no-repeat center / contain;
	flex-shrink: 0;
}
.access_wrapper h3 span {
	font-size: 2rem;
}
.access_wrapper h4 {
	color: #fff;
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: .05em;
}
.access_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem;
}
.access_box {
	margin-top: 2.8rem;
}
.access_name {
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: .04em;
}
.access_txt {
	margin-top: 1.2rem;
	font-size: 1.3rem;
	font-weight: 400;
	color: #fff;
	line-height: 1.53;
	letter-spacing: .05em;
}
.access_txt.is-indent {
	text-indent: -1em;
	padding-left: 1em;
}
.access_txt.is-indent + .access_txt.is-indent {
	margin-top: 0;
}
.access_item {
	padding-top: 2.8rem;
	border-top: .1rem solid #C2C2C2;
}
.access_item:last-of-type {
	border-bottom: none;
}
.access_item figure {
	margin-top: 2.5rem;
}
.access_item figure img {
	width: 100%;
}
.access_attention {
	margin-top: 2.9rem;
}
.access_attention li {
	text-indent: -1.4em;
	padding-left: 1.4em;
	color: #fff;
	font-size: 1.2rem;
	line-height: 2;
	letter-spacing: .05em;
}
.access_attention li::before {
	content: "※";
	margin-right: .4em;
}
.access_section_ttl {
	border-bottom: .1rem solid #C2C2C2;
	padding-bottom: 3rem;
	margin-bottom: 3rem;
}
.access_section .access_attention {
	line-height: 2;
	margin-top: 1.5rem;
}
.access_section .access_attention .access_txt.is-indent + .access_txt.is-indent {
	margin-top: .4rem;
}
.access_section .access_txt {
	line-height: 1.7;
}
.access_section .access_txt + h4 {
	margin-top: 5.8rem;
}
.access_section_info {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.access_section_row {
	display: flex;
}
.access_section_row dt {
	flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
	.access {
		position: relative;
		z-index: 0;
		transform: translateZ(0);
		padding: 8rem 3rem 8rem;
	}
	.access_inner {
		display: flex;
		flex-direction: column;
	}
	.access_head {
		display: contents;
	}
	.access_wrapper {
		display: contents;
	}
	.access h2 {
		order: 1;
		width: auto;
		display: block;
	}
	.access_wrapper h3{
		margin-top: 6rem;
	}
	.access_map {
		margin-top: 1rem;
		order: 2;
	}
	.access_venue {
		order: 3;
		text-align: left;
		margin-top: 2rem;
	}
	.access_venue_name {
		font-size: 2rem;
	}
	.access_venue_address {
		font-size: 1.3rem;
	}
	.access_venue_map {
		margin-top: 1rem;
		justify-content: flex-start;
	}
	.access_section,
	.access_wrapper h3,
	.access_box,
	.access_section_ttl,
	.access_txt,
	.access_attention {
		order: 4;
	}
	.access_section_ttl {
		padding-bottom: 1.4rem;
		margin-bottom: 2rem;
	}
	.access h2 span {
		writing-mode: horizontal-tb;
	}
	.access h2 span:not(.en) {
		font-size: 5rem;
	}
	.access h2 .en {
		font-size: 5rem;
		letter-spacing: .04em;
	}
	.access_wrapper h3 {
		font-size: 2rem;
	}
	.access_wrapper {
		margin-top: 3.45rem;
	}
	.access_map {
		aspect-ratio: 330 / 330;
	}
	.access_note {
		margin-top: 4rem;
		font-size: 1.4rem;
	}
	.access_note + .access_attention {
		margin-top: 2.1rem;
	}
	.access_attention {
		margin-top: .8rem;
	}
	.access_attention li {
		font-size: 1.2rem;
	}
	.access_section .access_attention .access_txt.is-indent + .access_txt.is-indent {
		margin-top: .1rem;
	}
	.access_box {
		margin-top: 1.4rem;
	}
	.access_title h3 {
		font-size: 2.2rem;
	}
	.access_list {
		grid-template-columns: repeat(1, 1fr);
		gap: 2rem;
	}
	.access_item {
		padding-block: 2rem;
		display: flex;
		flex-direction: column;
	}
	.access_item:last-of-type {
		padding-bottom: 0;
	}
	.access_item figure {
		order: 99;
		margin-top: 1.3rem;
	}
	.access_name {
		font-size: 1.6rem;
	}
	.access_txt {
		margin-top: 1.2rem;
	}
	.access_txt.is-indent {
		text-indent: -1.4em;
		padding-left: 1.4em;
	}
	.access_section .access_txt + h4 {
		margin-top: 3rem;
	}
	.access_section .access_txt,
	.access_section .access_attention {
		margin-top: 1rem;
		line-height: 1.53;
	}
	.access_section_row {
		gap: .5rem;
	}
	.access_section_info {
		gap: .1rem;
	}
}

/*modal
----------------------------------------*/
.modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .88);
	z-index: 2000;
	opacity: 0;
	pointer-events: none;
	transition: opacity .5s;
}
.modal_bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.modal.open {
	opacity: 1;
	pointer-events: all;
}
.modal_inner {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow-y: auto;
	padding: 11.1rem 0 10.7rem;
	z-index: 1;
}
.modal_slider {
	width: 106.8rem;
	position: relative;
	display: grid;
}
.modal_item {
	grid-area: 1 / 1;
	display: flex;
	width: 106.8rem;
	align-items: flex-start;
	justify-content: center;
	height: auto;
	gap: 11.1rem;
	opacity: 0;
	pointer-events: none;
}
.modal.open .modal_item {
	transition: opacity .4s;
}
.modal_item.visible {
	opacity: 1;
}
.modal.open .modal_item.visible {
	pointer-events: all;
}
.modal_arrow {
	appearance: none;
	border: 0;
	background: none;
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	padding: 0;
}
.modal_arrow--prev {
	left: -8rem;
	width: 2.2rem;
	height: 6.1rem;
	background: url(../../img/index/slide_arrow_prev.svg) no-repeat center / contain;
}
.modal_arrow--next {
	right: -8rem;
	width: 2.2rem;
	height: 6.1rem;
	background: url(../../img/index/slide_arrow_next.svg) no-repeat center / contain;
}
.modal.open figure {
	pointer-events: all;
	width: 44.3rem;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.modal figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.modal_txt {
	width: 51.4rem;
	flex-shrink: 0;
}
.modal_artist_head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: .1rem solid #FFFFFF;
	padding-bottom: 1rem;
	margin-bottom: 2.8rem;
}
.modal_artist_head .btn_more {
	font-size: 1.6rem;
	width: 18rem;
	height: 4rem;
	font-weight: 600;
	letter-spacing: 0.06em;
}
.modal_artist_name {
	font-size: 4rem;
	color: #fff;
	font-weight: 600;
	letter-spacing: .04em;
}
.modal_artist_txt {
	position: relative;
	margin-top: 4.3rem;
	font-size: 1.4rem;
	color: #fff;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.modal_artist_txt + .modal_artist_txt {
	margin-top: 2rem;
}
/* .modal_artist_txt::after {
	content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.1rem;
  background: #C2C2C2;
} */
.modal_artist_link {
	display: flex;
	align-items: center;
	gap: 2.5rem;
}
.modal_artist_link li a {
	display: flex;
	align-items: center;
}
.modal_icon {
	display: block;
	height: auto;
}
.modal_icon--instagram { width: 2.5rem; }
.modal_icon--spotify   { width: 2.5rem; }
.modal_icon--youtube   { width: 2.8rem; }
.modal_icon--x         { width: 2.2rem; }
.modal_icon--tiktok    { width: 2rem; }
.modal_icon--facebook  { width: 1.2rem; }
.modal_close {
	appearance: none;
	border: 0;
	font-weight: 500;
	text-align: left;
	background: none;
	border-radius: 0;
	position: absolute;
	top: -20rem;
  right: -18rem;
	width: 4.13rem;
	height: 4.13rem;
	cursor: pointer;
}
.modal_close::before,
.modal_close::after {
	content: '';
	display: block;
	width: 100%;
	height: .3rem;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
}
.modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal_item-list {
	overflow: hidden;
	width: 115.9rem;
	margin: 0 auto;
}
.modal_item-list img {
	width: 100%;
}
@media only screen and (min-width: 769px) {
	.modal_txt {
		height: 44.3rem;
		overflow: auto;
		padding-right: 1rem;
	}
	.modal_txt::-webkit-scrollbar {
		width: .5rem;
		height: .5rem;
	}
	.modal_txt::-webkit-scrollbar-track {
		background: #000;
	}
	.modal_txt::-webkit-scrollbar-thumb {
		background: #888;
	}
}
@media only screen and (max-width: 768px) {
	.modal_slider {
		width: 100%;
		max-width: 36rem;
		margin: 0 auto;
	}
	.modal_arrow--prev {
		left: -1rem;
	}
	.modal_arrow--next {
		right: -1rem;
	}
	.modal_arrow--prev,
	.modal_arrow--next {
		width: 1.7rem;
		height: 4.7rem;
		top: 23.5rem;
	}
	.modal_inner {
		align-items: flex-start;
		padding: 0 0 5.7rem;
	}
	.modal_item {
		max-width: 33rem;
		width: 100%;
		flex-direction: column;
		gap: 2rem;
		margin: 0 auto;
	}
	.modal_artist_head {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.6rem;
		padding-bottom: 2rem;
		margin-bottom: 0;
	}
	.modal figure img {
		max-width: 100%;
		width: 100%;
		object-fit: cover;
	}
	.modal.open figure {
		width: 33rem;
		margin-top: 6rem;
	}
	.modal_icon--instagram { width: 2.1rem; }
	.modal_icon--spotify   { width: 2.1rem; }
	.modal_icon--youtube   { width: 2.3rem; }
	.modal_icon--x         { width: 1.85rem; }
	.modal_icon--tiktok    { width: 1.7rem; }
	.modal_icon--facebook  { width: 1rem; }
	.modal_txt {
		width: 100%;
		font-size: 1.3rem;
	}
	.modal_close {
		position: fixed;
		top: max(2rem, env(safe-area-inset-top));
		right: 2rem;
		width: 2.8rem;
		height: 2.8rem;
		z-index: 1500;
	}
	.modal_close::before,
	.modal_close::after {
		width: 3.8rem;
		top: .6rem;
	}
	.modal_item-list {
		width: 36.8rem;
	}
	.modal_item-list .modal_close {
		width: 11.4rem;
		font-size: 1.2rem;
	}
	.modal_artist_name {
		font-size: 2.8rem;
	}
	.modal_artist_txt {
		font-size: 1.3rem;
		margin-top: 2rem;
		padding-bottom: 2rem;
		padding-bottom: 0;
	}
	.modal_artist_link {
		margin-top: 2rem;
		padding-bottom: 1rem;
		gap: 2rem;
	}
	.modal_artist_link li a {
		word-break: break-word;
	}
}

/* Additional ARTIST categories: width follows the heading text. */
.artist_day_label.artist_day_label--category {
	width: auto;
	min-width: 9rem;
	padding: 0 1.5rem;
	flex-shrink: 0;
	white-space: nowrap;
}
