@charset "UTF-8";

/*mv
----------------------------------------*/
.mv {
	position: relative;
	height: 100vh;
	display: flex;
	align-items: center;
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.mv.show {
	opacity: 1;
}
.mv_inner {
	max-width: 124.3rem;
	margin: 0 auto;
}
.mv_box {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8.8rem;
}
.mv_img figure img {
	height: 72.7rem;
	max-height: 87.5904dvh;
	width: auto;
	object-fit: cover;
}
.mv_txt figure img {
	height: 45.7rem;
	max-height: 55.0602dvh;
	width: auto;
	object-fit: cover;
}
.mv_txt {
	color: #0089C3;
	text-align: center;
	font-size: 2.4rem;
}
.mv_txt .mv_date {
	font-family: "Public Sans", sans-serif;
	font-style: italic;
	font-weight: 900;
	font-size: 6rem;
}
.mv_txt .mv_date span.small {
	font-size: 3rem;
}
.mv_txt .mv_date span.mv_time {
	display: block;
	font-weight: 600;
	font-size: 2rem;
	margin-top: -2rem;
}
.mv_txt .mv_place {
	font-size: 2.2rem;
	letter-spacing: 0.04em;
	font-weight: 500;
	margin-top: 1.7rem;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
	.mv {
		height: auto;
		padding-block: 5.8rem;
	}
}
@media only screen and (max-width: 768px) {
	.mv {
		padding: 0;
	}
	.mv_img {
		max-width: 100%;
		display: block;
	}
	.mv_img figure img {
		height: auto;
		max-width: 39.8rem;
	}
	.mv_img_left figure img,
	.mv_img_right figure img {
		height: 32.4rem;
	}
	.mv_box {
		flex-direction: column;
		gap: 0;
	}
	.mv_txt figure img {
		display: none;
	}
	.mv_txt .mv_place {
		margin-top: 1.6rem;
		font-size: 1.8rem;
	}
}
@media only screen and (max-width: 375px) {
	.mv_img figure img {
		max-width: 33.8rem;
	}
	.mv_txt .mv_place {
		margin-top: .6rem;
	}
}

/*topics
----------------------------------------*/
.topics {
	padding: 6rem 0 13.5rem;
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.topics.show {
	opacity: 1;
}
.topics_inner {
	max-width: 124.3rem;
	margin: 0 auto;
}
.topics h2 {
	display: flex;
	color: #0089C3;
	align-items: baseline;
}
.topics h2 span {
	display: block;
}
.topics h2 span:not(.en) {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	margin-left: .9rem;
}
.topics h2 .en {
	font-size: 3rem;
	font-weight: 400;
}
.topics_box {
	display: flex;
	justify-content: space-between;
}
.topics_list ul {
	display: flex;
  flex-flow: column;
	width: 81rem;
	margin-top: 1.2rem;
}
.topics_list ul li {
	display: flex;
	flex-flow: wrap;
	border-bottom: 1px solid #fff;
	gap: 4.9rem;
	padding-bottom: 2.4rem;
}
.topics_list ul li > a {
	display: flex;
	flex-flow: wrap;
	width: 100%;
	gap: 4.9rem;
}
.topics_list ul li:not(:first-of-type) {
	padding-top: 2rem;
}
.topics_list ul li time {
	color: #0089C3;
	font-weight: 600;
	font-size: 1.2rem;
	font-style: normal;
	line-height: 2;
	letter-spacing: 0.1em;
}
.topics_list ul li .topics_ttl {
	width: fit-content;
	font-size: 1.4rem;
	font-weight: 500;
	flex: 1;
}
.topics_list ul li .topics_ttl span {
	transition: background .3s, color .3s;
}
.topics_list .btn {
	margin-top: 2.7rem;
	padding-right: 4rem;
	width: fit-content;
	margin-left: auto;
}
@media (hover:hover) {
	.topics_list ul li > a:hover {
		opacity: 1;
	}
	.topics_list ul li > a:hover .topics_ttl span {
		background: #0089C3;
		color: #fff;
	}
}
@media only screen and (max-width: 768px) {
	.topics {
		padding: 2.5rem 0 8.1rem;
	}
	.topics_inner {
		padding-inline: 2rem;
	}
	.topics_box {
		flex-direction: column;
	}
	.topics_list ul {
		width: 100%;
		margin-top: 1.7rem;
		line-height: 1.4;
	}
	.topics_list ul li {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: .4rem;
		padding-bottom: 1.6rem;
	}
	.topics_list ul li > a {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: .4rem;
	}
	.topics_list ul li:not(:first-of-type) {
		padding-top: .4rem;
	}
}

/*message
----------------------------------------*/
.message {
	min-height: 223.4rem;
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.message_bg {
	position: sticky;
	top: 0;
	left: 0;
}
.message_bg figure {
	float: left;
}
.message_bg img {
	width: 100%;
	height: 83rem;
	object-fit: cover;
}
.message_inner {
	width: 100%;
	max-width: 100rem;
	margin: 0 auto;
	color: #fff;
	position: absolute;
	left: 50%;
  transform: translateX(-50%) translateX(-13rem);
}
.message_box {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .5s;
}
.message.show,
.message.show .message_box {
	opacity: 1;
}
.message h2 {
	font-family: "Noto Sans", sans-serif;
	font-size: 13rem;
	line-height: 1;
	writing-mode: vertical-rl;
	font-weight: 400;
	letter-spacing: -0.15em;
}
@media only screen and (max-width: 768px) {
	.message {
		height: auto;
		display: block;
		padding: 0;
		min-height: 199.8rem;
	}
	.message_inner {
		max-width: 100%;
		transform: translateX(-50%) translateX(0);
	}
	.message_box {
		width: auto;
		padding-bottom: 15.9rem;
	}
	.message h2 {
		font-size: 8rem;
		margin-left: .5rem;
	}
}

/*about
----------------------------------------*/
.about {
	margin-top: -140rem;
	padding: 0 0 18.2rem;
	background: rgba(214, 209, 203, 0.9);
}
.about_inner {
	max-width: 139rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	padding-right: 8rem;
}
.about_inner .inview {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.about_inner .inview.show {
	opacity: 1;
}
.about h2 {
	width: 10.7rem;
	margin-top: -.2rem;
	display: flex;
}
.about h2 span {
	display: block;
	writing-mode: vertical-rl;
}
.about h2 span:not(.en) {
	font-size: 7rem;
	color: #fff;
	font-weight: 400;
	line-height: 1;
}
.about h2 .en {
	color: #0089C3;
	font-size: 3rem;
	font-weight: 400;
	margin-top: 0.5rem;
}
.about_box {
	flex: 1;
	max-width: 80.8rem;
	margin-top: 15.1rem;
}
.about_info {
	display: flex;
	gap: 4.4rem;
	align-items: center;
}
.about_info_list dt {
	color: #fff;
	font-size: 2.2rem;
	width: 6.2rem;
}
.about_info_list dd {
	color: #0089C3;
	font-size: 2.6rem;
	line-height: 5rem;
}
.about_info_list dd span + span {
	margin-left: 2.1rem;
}
.about_txt {
	margin-top: 7.5rem;
	font-size: 2rem;
	letter-spacing: 0.06em;
	line-height: 2;
}
.about_item {
	margin-top: 7.6rem;
	display: flex;
	gap: 4.1rem;
}
.about_item + .about_item {
	margin-top: 3.6rem;
}
.about_item figure img {
	max-width: 27.8rem;
}
.about_item_body {
	flex: 1;
}
.about_item_body h3 {
	font-weight: 600;
	font-size: 1.6rem;
}
.about_item_txt {
	font-size: 1.6rem;
	margin-top: 1.1rem;
	color: #666666;
	line-height: 1.4;
}
.about_item_links {
	margin-top: 3.7rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.about_item:last-of-type .about_item_links {
	margin-top: 2rem;
}
.about_item_links > div {
	display: flex;
	gap: .8rem;
}
.about_item_links dt {
	width: 7.8rem;
	font-size: 1rem;
}
.about_item_links dd {
	flex: 1;
	color: #0089C3;
	text-decoration: underline;
	font-size: 1.1rem;
}
@media only screen and (max-width: 768px) {
	.about {
		position: relative;
    top: -23rem;
		margin-top: -117rem;
		padding: 0 2rem 8.1rem;
	}
	.about_inner {
		display: block;
		padding-right: 0;
	}
	.about h2 {
		width: auto;
		display: block;
	}
	.about h2 span {
		writing-mode: horizontal-tb;
	}
	.about h2 span:not(.en) {
		font-size: 5rem;
	}
	.about h2 .en {
		margin-top: -0.5rem;
		font-size: 2.4rem;
	}
	.about_box {
		margin-top: 4.2rem;
		max-width: 100%;
	}
	.about_info {
		flex-direction: column;
		align-items: flex-start;
		gap: .3rem;
	}
	.about_info_list dt {
		font-size: 1.6rem;
	}
	.about_info_list dd {
		font-size: 1.8rem;
		line-height: 2.6rem;
	}
	.about_info + .about_info {
		margin-top: 1.7rem;
	}
	.about_info_list .about_info:last-of-type dd {
		font-size: 1.6rem;
	}
	.about_info_list dd span + span {
		margin-left: 1.1rem;
	}
	.about_txt {
		margin-top: 4.6rem;
		font-size: 1.6rem;
	}
	.about_item {
		margin-top: 6.1rem;
		flex-direction: column;
		gap: 1.4rem;
		padding-inline: 2rem;
	}
	.about_item figure img {
		max-width: 100%;
	}
	.about_item_txt {
		margin-top: 1.2rem;
		font-size: 1.4rem;
	}
	.about_item_links {
		margin-top: 0.6rem;
	}
	.about_item + .about_item {
		margin-top: 5rem;
	}

}

/*artist
----------------------------------------*/
.artist {
	padding: 0 0 11.3rem;
	background: #BFE4EF;
}
.artist_inner {
	max-width: 132rem;
	margin: 0 auto;
	display: flex;
}
.artist_inner .inview {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.artist_inner .inview.show {
	opacity: 1;
}
.artist h2 {
	width: 10.7rem;
	margin-top: -.2rem;
	display: flex;
}
.artist h2 span {
	display: block;
	writing-mode: vertical-rl;
}
.artist h2 span:not(.en) {
	font-size: 7rem;
	color: #fff;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.15em;
}
.artist h2 .en {
	color: #0089C3;
	font-size: 3rem;
	font-weight: 400;
	margin-top: 0.5rem;
}
.artist_list {
	position: relative;
	margin-top: 39rem;
	margin-left: -7rem;
}
.artist_list h3 {
	position: absolute;
	top: -17rem;
	right: -4rem;
	z-index: 1;
	max-width: 90.7rem;
}
.artist_list_inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.3rem 4rem;
}
a[href^="#modal"].artist_item figure::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: .3rem solid #0089C3;
	border-radius: 1rem;
}
.artist_item figure img {
	max-width: 60rem;
	border-radius: 1rem;
	box-shadow: 0 .4rem .4rem rgba(0, 0, 0, 0.25);
}
.artist_item h4 {
	position: relative;
	margin-top: 1.7rem;
	font-size: 3.2rem;
	color: #0089C3;
	font-weight: 400;
}
.artist_item h4::after {
	content: "";
	position: absolute;
	top: 1rem;
	right: 0;
	width: 2.2rem;
	height: 2.2rem;
	background: url("../..//img/index/icon_arrow.svg") no-repeat center / contain;
}
.artist_andmore {
	text-align: center;
	font-size: 2.6rem;
	color: #0089C3;
	margin-top: 11rem;
}
@media (hover:hover) {
	.artist_item:hover h4 {
		text-decoration: underline;
		text-underline-offset: .3rem;
	}
}
@media only screen and (max-width: 768px) {
	.artist {
		margin-top: -23rem;
		padding: 0 2rem 7.6rem;
	}
	.artist_inner {
		display: block;
	}
	.artist h2 {
		width: auto;
		flex-direction: column;
	}
	.artist h2 span {
		writing-mode: horizontal-tb;
	}
	.artist h2 span:not(.en) {
		font-size: 4rem;
		letter-spacing: 0;
	}
	.artist h2 .en {
		margin-top: -0.5rem;
		font-size: 2.4rem;
	}
	.artist_list h3 {
		max-width: 29.6rem;
		top: -4rem;
    right: 0rem;
	}
	.artist_item h4 {
		margin-top: 1.3rem;
		font-size: 1.8rem;
	}
	.artist_item h4::after {
		top: .4rem;
    right: 0;
    width: 1.8rem;
    height: 1.8rem;
	}
	.artist_list {
		margin-left: 0;
		margin-top: 10.4rem;
	}
	.artist_list_inner {
		grid-template-columns: repeat(1, 1fr);
		gap: 3.8rem;
	}
	.artist_item figure img {
		border-radius: .7rem;
	}
	a[href^="#modal"].artist_item figure::after {
		border-radius: .7rem;
	}
	.artist_andmore {
		font-size: 1.8rem;
		margin-top: 6rem;
	}
}

/*kv_01
----------------------------------------*/
.kv_01 {
	position: sticky;
	top: 0;
	left: 0;
	z-index: -1;
}
@media only screen and (max-width: 768px) {
	.kv_01 figure {
		height: 41rem;
	}
}

/*shop
----------------------------------------*/
.shop {
	padding: 0 0 12.3rem;
	background: #D6D1CB;
}
.shop_inner {
	max-width: 139rem;
	margin: 0 auto;
	display: flex;
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.shop_inner.show {
	opacity: 1;
}
.shop h2 {
	width: 10.7rem;
	margin-top: -.2rem;
	display: flex;
}
.shop h2 span {
	display: block;
	writing-mode: vertical-rl;
}
.shop h2 span:not(.en) {
	font-size: 7rem;
	color: #fff;
	font-weight: 400;
	line-height: 1;
}
.shop h2 .en {
	color: #0089C3;
	font-size: 3rem;
	font-weight: 400;
	margin-top: 0.5rem;
}
@media only screen and (max-width: 768px) {
	.shop {
		padding: 0 2rem 9.1rem;
	}
	.shop_inner {
		display: block;
	}
	.shop h2 {
		width: auto;
		display: block;
	}
	.shop h2 span {
		writing-mode: horizontal-tb;
	}
	.shop h2 span:not(.en) {
		font-size: 5rem;
	}
	.shop h2 .en {
		margin-top: -0.5rem;
		font-size: 2.4rem;
	}
}

/*ticket
----------------------------------------*/
.ticket {
	padding: 0 0 12.2rem;
	border-top: 1rem solid #0089C3;
	background: #D6D1CB;
	z-index: 1;
}
.ticket_inner {
	max-width: 139rem;
	margin: 0 auto;
	display: flex;
	gap: 6.7rem;
}
.ticket_inner .inview,
.ticket_inner .inview + .ticket_attention {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.ticket_inner .inview.show,
.ticket_inner .inview.show + .ticket_attention {
	opacity: 1;
}
.ticket h2 {
	width: 10.7rem;
	margin-top: -.2rem;
	display: flex;
}
.ticket h2 span {
	display: block;
	writing-mode: vertical-rl;
}
.ticket h2 span:not(.en) {
	font-size: 7rem;
	color: #fff;
	font-weight: 400;
	line-height: 1;
}
.ticket h2 .en {
	color: #0089C3;
	font-size: 3rem;
	font-weight: 400;
	margin-top: 0.5rem;
}
.ticket_wrapper {
	padding-top: 25.2rem;
	max-width: 113.3rem;
	width: 100%;
	margin-left: 1rem;
}
.ticket_box {
	display: flex;
	gap: 11.7rem;
}
.ticket_box + .ticket_box,
.ticket_attention + .ticket_box {
	margin-top: 7rem;
}
.ticket_title {
	max-width: 20.4rem;
	width: 100%;
	overflow: clip;
}
.ticket_title h3 {
	width: 100%;
	font-size: 2.4rem;
	letter-spacing: 0.06em;
	line-height: 1;
	position: sticky;
	left: 0;
	top: 10rem;
	margin-bottom: -10rem;
}
.ticket_box:last-child .ticket_title h3 {
	position: static;
}
.ticket_title h3 span:not(.sp) {
	font-size: 1.4rem;
	color: #666666;
	font-weight: 400;
}
.ticket_detail {
	max-width: 81.3rem;
  width: 100%;
	margin-top: -.7rem;
}
.ticket_item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block: 3rem 3.4rem;
	border-bottom: .1rem solid #C2C2C2;
}
.ticket_item.block {
	display: block;
}
.ticket_item:first-of-type {
	border-top: .1rem solid #C2C2C2;
}
.ticket_item_box {
	display: flex;
	align-items: center;
	gap: 11rem;
}
.ticket_item_wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ticket_name {
	font-size: 2rem;
	font-weight: 700;
	width: 21.1rem;
	color: #0089C3;
	letter-spacing: 0.02em;
}
.ticket_name .small {
	display: block;
	font-size: 1rem;
	white-space: nowrap;
}
.ticket_price {
	color: #1E0101;
	font-size: 2.2rem;
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 4.4rem;
}
.ticket_price span,
.ticket_name span.note,
.ticket_note {
	font-size: 1.4rem;
	font-weight: 400;
	color: #666666;
}
.ticket_name span.note {
	display: block;
	margin-top: 1.2rem;
}
.ticket_attention {
	margin-top: 2.2rem;
	font-size: 1.3rem;
}
.ticket_wrapper > .ticket_attention {
	margin-left: 32.1rem;
}
.ticket_attention li {
	text-indent: -1.4em;
	padding-left: 1.4em;
	color: #666666;
	line-height: 2.2rem;
}
.ticket_attention li::before {
  content: "※";
  margin-right: 0.4em;
}

.ticket_box:last-of-type .ticket_item {
	display: block;
}
.ticket_box:last-of-type .ticket_item_box {
	display: flex;
	align-items: center;
}
.ticket_box:last-of-type .ticket_name {
	line-height: 1;
}
.ticket_box:last-of-type .ticket_price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	line-height: 1;
}
.ticket_box:last-of-type .ticket_attention {
	margin-top: 1.5rem;
}
@media only screen and (max-width: 768px) {
	.ticket {
		padding: 0 2rem 5.1rem;
		border-top: .6rem solid #0089C3;
	}
	.ticket_inner {
		display: block;
	}
	.ticket h2 {
		width: auto;
		display: block;
	}
	.ticket h2 span {
		writing-mode: horizontal-tb;
	}
	.ticket h2 span:not(.en) {
		font-size: 5rem;
	}
	.ticket h2 .en {
		margin-top: 0;
		font-size: 2.4rem;
	}
	.ticket_wrapper {
		padding-top: 4.85rem;
		max-width: none;
		margin-left: 0;
	}
	.ticket_box {
		flex-direction: column;
		gap: 1.4rem;
	}
	.ticket_detail {
		margin-top: 0;
		max-width: none;
	}
	.ticket_item {
		padding-block: 2.6rem;
	}
	.ticket_item_box {
		flex-direction: column;
		gap: 0;
		align-items: flex-start;
		max-width: 19rem;
	}
	.ticket_item .btn {
		min-width: 16.2rem;
		height: 4.4rem;
		padding: .9rem 4.1rem .9rem;
	}
	.ticket_name {
		width: 100%;
		font-size: 1.8rem;
	}
	.ticket_price {
		margin-left: 0;
		font-size: 1.8rem;
		gap: 1.1rem;
		justify-content: flex-start;
		align-items: baseline;
	}
	.ticket_price span {
		font-size: 1.2rem;
		width: fit-content;
	}
	.ticket_note {
		font-size: 1.1rem;
	}
	.ticket_box + .ticket_box,
	.ticket_attention + .ticket_box {
		margin-top: 6.4rem;
	}
	.ticket_title {
		max-width: 100%;
	}
	.ticket_title h3 {
		font-size: 2.2rem;
		margin-bottom: 0;
	}
	.ticket_title h3 span:not(.sp) {
		display: inline-block;
		margin-top: 1.4rem;
	}
	.ticket_name span.note {
		display: inline;
	}
	.ticket_box:last-of-type .ticket_price {
		margin-top: 1rem;
		gap: 2rem;
	}
	.ticket_box:last-of-type .ticket_attention {
		margin-top: 1rem;
	}
	.ticket_wrapper > .ticket_attention {
		margin-left: 0;
	}
	.ticket_box:last-of-type .ticket_item {
		border-bottom: none;
	}
	.ticket_box:last-of-type .ticket_item_box {
		flex-direction: column;
		align-items: flex-start;
	}
	.ticket_item_wrapper {
		align-items: flex-start;
	}
	.ticket_item_box.is-contents .ticket_name span:first-child {
		order: 1;
	}
	.ticket_item_box.is-contents .ticket_name span.note {
		order: 3;
	}
	.ticket_item_box.is-contents .ticket_price {
    order: 2;
  }
	.ticket_item_box.is-contents .ticket_name {
    display: contents;
  }

}

/*kv_02
----------------------------------------*/
.kv_02 {
	position: sticky;
	top: 0;
	left: 0;
}

/*access
----------------------------------------*/
.access {
	padding: 0 0 6rem;
	background: #D6D1CB;
}
.access_inner {
	max-width: 139rem;
	margin: 0 auto;
	display: flex;
	gap: 7.4rem;
}
.access_inner .inview {
	opacity: 0;
	transition: opacity .5s;
	transition-delay: .1s;
}
.access_inner .inview.show {
	opacity: 1;
}
.access h2 {
	width: 10.7rem;
	margin-top: -.2rem;
	display: flex;
}
.access h2 span {
	display: block;
	writing-mode: vertical-rl;
}
.access h2 span:not(.en) {
	font-size: 7rem;
	color: #fff;
	font-weight: 400;
	line-height: 1;
}
.access h2 .en {
	color: #0089C3;
	font-size: 3rem;
	font-weight: 400;
	margin-top: 0.5rem;
}
.access_wrapper {
	max-width: 102.6rem;
	width: 100%;
	margin-top: 11.9rem;
}
.access_map {
	width: 100%;
  aspect-ratio: 1020 / 576;
}
.access_map iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}
.access_wrapper h3 {
	margin-top: .7rem;
	font-size: 2.2rem;
	color: #0089C3;
	font-weight: 400;
	line-height: 3.8rem;
}
.access_wrapper h3 span {
	font-size: 2rem;
}
.access_note {
	margin-top: 6.8rem;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 2.2rem;
	text-indent: -1.4em;
  padding-left: 1.4em;
}
.access_note::before {
	content: "※";
	margin-right: 0.4em;
}
.access_attention {
	margin-top: .6rem;
	font-size: 1.3rem;
}
.access_note + .access_attention {
	margin-top: 2.3rem;
}
.access_attention li {
	text-indent: -1.4em;
	padding-left: 1.4em;
	color: #666666;
}
.access_attention li::before {
  content: "※";
  margin-right: 0.4em;
}

.access_box {
	margin-top: 6.7rem;
	display: flex;
	gap: 6.2rem;
}
.access_box + .access_box {
	margin-top: 6rem;
}
.access_title {
	max-width: 15.2rem;
	width: 100%;
}
.access_title h3 {
	color: #060000;
	width: 100%;
	font-size: 2.4rem;
	letter-spacing: 0.06em;
	line-height: 1;
	font-weight: 700;
}
.access_title h3 span {
	font-size: 1.4rem;
	color: #666666;
}
.access_detail {
	max-width: 81.3rem;
  width: 100%;
}
.access_item {
	display: flex;
	align-items: center;
	padding-block: 6rem 5.7rem;
	border-bottom: .1rem solid #C2C2C2;
}
.access_item:first-of-type {
	border-top: .1rem solid #C2C2C2;
}
.access_item:last-of-type {
	border-bottom: none;
}
.access_item figure {
	margin-top: 1.7rem;
}
.access_item figure img {
	max-width: 80.7rem;
}
.access_name {
	font-size: 2rem;
	font-weight: 700;
	width: 100%;
	color: #0089C3;
	letter-spacing: 0.02em;
}
.access_txt {
	margin-top: 1.5rem;
	font-size: 1.4rem;
	font-weight: 400;
	color: #666666;
	line-height: 2.2rem;
	letter-spacing: 0.06em;
}
.access_txt.is-indent + .access_txt.is-indent {
	margin-top: 0;
}
.access_attention li {
	text-indent: -1.4em;
	padding-left: 1.4em;
	color: #666666;
	line-height: 2.2rem;
}
.access_attention li::before {
  content: "※";
  margin-right: 0.4em;
}

.access_box:last-of-type .access_item {
	display: block;
}
.access_box:last-of-type .access_item_box {
	display: flex;
}
.access_box:last-of-type .access_name {
	line-height: 1;
}
@media only screen and (max-width: 768px) {
	.access {
		padding: 0 2rem 5.7rem;
	}
	.access_inner {
		display: block;
	}
	.access h2 {
		width: auto;
		display: block;
	}
	.access h2 span {
		writing-mode: horizontal-tb;
	}
	.access h2 span:not(.en) {
		font-size: 5rem;
	}
	.access h2 .en {
		margin-top: -0.5rem;
		font-size: 2.4rem;
	}
	.access_wrapper h3 {
		font-size: 1.8rem;
	}
	.access_wrapper h3 span {
		display: inline-block;
		font-size: 1.8rem;
		line-height: 1.44;
		margin-top: 1.6rem;
	}
	.access_wrapper {
		margin-top: 3.45rem;
	}
	.access_map {
		aspect-ratio: 362 / 362;
	}
	.access_note {
		margin-top: 4rem;
		font-size: 1.4rem;
	}
	.access_note + .access_attention {
		margin-top: 2.1rem;
	}
	.access_attention {
		margin-top: .8rem;
	}
	.access_box {
		flex-direction: column;
		gap: 2.6rem;
		margin-top: 6rem;
	}
	.access_title h3 {
		font-size: 2.2rem;
	}
	.access_item {
		padding-block: 2.3rem 2.5rem;
	}
	.access_item figure {
		margin-top: 0;
	}
	.access_item figure img {
		display: none;
	}
	.access_name {
		font-size: 1.8rem;
	}
	.access_txt {
		margin-top: 1.2rem;
	}
	.access_txt.is-indent {
		text-indent: -1.4em;
		padding-left: 1.4em;
	}
}

/*modal
----------------------------------------*/
.modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .7);
	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%;
}
.modal_open .modal {
	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: flex-start;
	justify-content: center;
	overflow-y: auto;
  padding: 11.1rem 0 10.7rem;
}
.modal_item {
	display: none;
	width: 67.8rem;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: auto;
}
.modal_item.visible {
  display: flex;
}
.modal_open .modal figure {
	pointer-events: all;
}
.modal figure img {
	width: auto;
	height: auto;
}
.modal_txt {
	background: #D9D9D9;
	padding: 1.9rem 3.9rem 3.9rem;
}
.modal_artist_name {
	font-size: 3.2rem;
	color: #0089C3;
	font-weight: 400;
}
.modal_artist_txt {
	position: relative;
	margin-top: 0.8rem;
	font-size: 2rem;
	color: #282828;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.06em;
	padding-bottom: 3rem;
}
.modal_artist_txt::after {
	content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.1rem;
  background: #C2C2C2;
}
.modal_artist_link {
	margin-top: 2.9rem;
}
.modal_artist_link li {
	color: #0089C3;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-decoration: underline;
}
.modal_artist_link li a {
	word-break: break-word;
}
.modal_artist_link li a::after {
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	margin-left: .5rem;
	background: url(../..//img/index/icon_modal_arrow.svg) no-repeat center / contain;
}
.modal_artist_link li + li {
	margin-top: 2.3rem;
}
.modal_close {
	appearance: none;
	border: 0;
	font-weight: 500;
	text-align: left;
	background: none;
	border-radius: 0;
	position: absolute;
	top: -4.5rem;
  right: 0;
	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 (max-width: 768px) {
	.modal_inner {
		padding: 9.1rem 0 5.7rem;
	}
	.modal_item {
		max-width: 36rem;
		width: 100%;
	}
	.modal figure img {
		max-width: 100%;
		width: 100%;
		object-fit: cover;
	}
	.modal_txt {
		font-size: 1.3rem;
		padding: 1.5rem 1.3rem 1.5rem 1.5rem;
	}
	.modal_close {
		top: -2.5rem;
		right: 0;
		width: 3.5rem;
		height: 3.5rem;
	}
	.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: 1.8rem;
	}
	.modal_artist_txt {
		font-size: 1.4rem;
		padding-bottom: 2rem;
	}
	.modal_artist_link {
		margin-top: 2rem;
		padding-bottom: 1rem;
	}
	.modal_artist_link li + li {
		margin-top: 1.5rem;
	}
	.modal_artist_link li a {
		word-break: break-word;
	}
}