@charset "UTF-8";

main {
	background: #F5F5FA;
	padding-bottom: 10rem;
}

@media only screen and (max-width: 768px) {
	main {
		background: #FFFFFF;
		padding-bottom: 8rem;
	}
}

/* mv
----------------------------------------*/
.mv {
	background: #B963A4;
	padding: 19.4rem 0 20rem;
}

.mv .inner {
	max-width: 114rem;
	margin: 0 auto;
}

.mv h2 {
	color: #FFFFFF;
	font-size: 5rem;
	line-height: 1.45;
}

.mv h2 small {
	display: block;
	font-size: 2rem;
	letter-spacing: -.05em;
}

@media only screen and (max-width: 768px) {
	.mv {
		padding: 10.4rem 0 17rem;
	}

	.mv .inner {
		width: 33.5rem;
		margin: 0 auto;
	}

	.mv h2 {
		font-size: 3rem;
	}
}

/* content
----------------------------------------*/
.content {
	max-width: 134rem;
	padding-bottom: 8rem;
	margin: -30rem auto 0;
	position: relative;
}

.content::after {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% - 15rem);
	background: #FFFFFF;
	position: absolute;
	top: 15rem;
	left: 0;
	z-index: 0;
}

.content .inner {
	max-width: 114rem;
	margin: 0 auto;
	z-index: 2;
}

.content .inner .hall_style {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-end;
	column-gap: 2rem;
	margin-bottom: 3rem;
}

.content .inner .hall_style figure {
	width: 56rem;
}

.content .inner .hall_style .hall_block {
	width: 52rem;
	margin-bottom: 2rem;
}

.content .inner .hall_style .hall_block h3 {
	display: inline-block;
	color: #B963A4;
	font-size: 4rem;
	line-height: 1.4;
	border-bottom: .4rem solid #B963A4;
	margin-bottom: 1.8rem;
}

@media only screen and (max-width: 768px) {
	.content {
		max-width: 100%;
		padding-bottom: 0;
		margin: -15rem auto 0;
	}

	.content::after {
		display: none;
	}

	.content .inner {
		max-width: 100%;
	}

	.content .inner .hall_style {
		max-width: 33.5rem;
		display: block;
		margin: 0 auto 2.6rem;
	}

	.content .inner .hall_style figure {
		width: 35.5rem;
		margin: 0 0 2rem;
	}

	.content .inner .hall_style .hall_block {
		max-width: 100%;
		margin-bottom: 0;
	}

	.content .inner .hall_style .hall_block h3 {
		font-size: 3rem;
		margin-bottom: 2rem;
	}

	.content .inner .hall_style+p {
		max-width: 33.5rem;
		margin: 0 auto;
	}
}


/* hall_spec
----------------------------------------*/
.content .inner .hall_spec {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10rem;
	row-gap: 1rem;
}

.content .inner .hall_spec dl {
	display: flex;
	align-items: center;
	column-gap: 2rem;
}

.content .inner .hall_spec dl:nth-child(odd) {
	width: 66rem;
}

.content .inner .hall_spec dt {
	color: #FFFFFF;
	font-size: 2.7rem;
	font-weight: 600;
	text-align: center;
	line-height: 6rem;
	width: 16rem;
	height: 6rem;
	background: #B963A4;
}

.content .inner .hall_spec dd {
	font-size: 2.7rem;
	font-weight: 600;
}

@media only screen and (max-width: 768px) {
	.content .inner .hall_spec {
		max-width: 33.5rem;
		margin: 0 auto 6rem;
	}

	.content .inner .hall_spec dl {
		column-gap: 1rem;
	}

	.content .inner .hall_spec dl:nth-child(odd) {
		width: 100%;
	}

	.content .inner .hall_spec dt {
		font-size: 1.7rem;
		line-height: 3.6rem;
		width: 11rem;
		height: 3.6rem;
	}

	.content .inner .hall_spec dd {
		font-size: 1.5rem;
	}
}


/* hall_photo
----------------------------------------*/
.hall_photo {
	margin: 4rem 0 8rem;
}

.hall_photo01 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.hall_photo01 li {
	margin-top: 20px;
	width: 56rem;
}

.hall_photo02 {
	display: flex;
	justify-content: space-between;
}

.hall_photo02>figure {
	width: 86rem;
}

.hall_photo02 div {
	width: 26rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.hall_slide {
	display: none;
}

@media only screen and (max-width: 768px) {
	.hall_photo {
		margin: 3.7rem 0 4rem;
	}

	.hall_photo01,
	.hall_photo02 {
		display: none;
	}

	.hall_slide {
		display: block;
	}

	.hall_slide .slick-slide {
		margin: 0 1rem;
	}

	.hall_slide .slide-arrow {
		width: 4.9rem;
		position: absolute;
		top: calc(50% - 2.45rem);
		z-index: 99;
	}

	.hall_slide .slide-arrow.prev-arrow {
		left: 1rem;
	}

	.hall_slide .slide-arrow.next-arrow {
		right: 1rem;
	}
}

/* hall_type
----------------------------------------*/
.hall_type {
	margin-bottom: 8rem;
}

.hall_type h3 {
	font-size: 4rem;
	color: #B963A4;
	text-align: center;
	margin-bottom: 5.3rem;
}

.hall_type .type_wrap {
	display: flex;
	justify-content: center;
	column-gap: 1.5rem;
}

.hall_type .type_block {
	width: 37rem;
	background: #F5F5FA;
}

.hall_type .type_block h4 {
	position: relative;
	text-align: center;
	color: #FFFFFF;
	font-size: 2.5rem;
	line-height: 1.44;
	background: #B963A4;
	padding: 2.2rem 0;
}

.hall_type .type_block h4 small {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	font-weight: 500;
	color: #B963A4;
	border: .3rem solid #B963A4;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 12.4rem;
	height: 4rem;
	box-sizing: border-box;
}

.hall_type .type_block h4 small span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #FFFFFF;
}

.hall_type .type_block div {
	padding: 2rem 3rem 3rem;
}

.hall_type .type_block div h5 {
	font-size: 2.6rem;
	line-height: 1.44;
	color: #B963A4;
	text-align: center;
	margin-bottom: 1.5rem;
}

.hall_type .type_block div li {
	line-height: 1.3;
	margin-bottom: 1rem;
}

.hall_type .type_block div p.detail {
	text-align: right;
}

.hall_type .type_block div p.detail span {
	display: inline-flex;
	align-items: center;
	column-gap: 1rem;
	font-size: 2rem;
	color: #B963A4;
	letter-spacing: 0;
	border-bottom: 1px solid #B963A4;
}

.hall_type .type_block div p.detail span::after {
	content: "";
	width: .95rem;
	height: .95rem;
	background: url(../../img/common/arrow-up-right.svg) no-repeat left top / 100% auto;
	margin-top: .4rem;
}

@media only screen and (max-width: 768px) {
	.hall_type {
		margin-bottom: 8rem;
	}

	.hall_type h3 {
		font-size: 3rem;
		margin-bottom: 1.6rem;
	}

	.hall_type .type_wrap {
		display: flex;
		justify-content: center;
		column-gap: 1.5rem;
	}

	.hall_type .type_block {
		width: 37rem;
		background: #F5F5FA;
	}

	.hall_type .type_block h4 {
		font-size: 2rem;
		padding: 2.7rem 0 2.4rem;
	}

	.hall_type .type_block h4 small {
		width: 13.4rem;
		height: 3.8rem;
	}

	.hall_type .type_block div {
		padding: 2rem 3rem 3rem;
	}

	.hall_type .type_block div h5 {
		font-size: 2.4rem;
		margin-bottom: 2rem;
	}

	.hall_type .type_block div p.detail {
		text-align: center;
		margin-top: 2rem;
	}

	.hall_type .slick-list {
		padding-top: 1.9rem !important;
	}

	.hall_type .slick-slide {
		margin: 0 .5rem;
	}

	.hall_type .slide-arrow {
		width: 4.9rem;
		position: absolute;
		top: 25.8rem;
		z-index: 99;
	}

	.hall_type .slide-arrow.prev-arrow {
		left: 1rem;
	}

	.hall_type .slide-arrow.next-arrow {
		right: 1rem;
	}

	.hall_type .slick-dots {
		bottom: -3.5rem;
	}

	.hall_type .slick-dots li {
		width: 1.5rem;
		height: 1.5rem;
		margin: 0 .75rem;
	}

	.hall_type .slick-dots li button:before {
		font-size: 1.5rem;
		opacity: 1;
		color: #AAAAAA;
	}

	.hall_type .slick-dots li.slick-active button:before {
		opacity: 1;
		color: #B963A4;
	}
}

/* hall_access
----------------------------------------*/
.hall_access {}

.hall_access h3 {
	font-size: 4rem;
	color: #B963A4;
	text-align: center;
	margin-bottom: 3rem;
}

.access_block {
	background: #F5F5FA;
	padding: 4rem;
}

.access_block h4 {
	color: #B963A4;
	margin-bottom: 2.4rem;
}

.access_block p a {
	font-size: 1.8rem;
	font-weight: 600;
	color: #FFFFFF;
	background: #B963A4;
	padding: .7rem 1.1rem;
	margin-left: 1rem;
}

.access_block dt {
	font-weight: 600;
	color: #B963A4;
	display: flex;
	align-items: center;
	column-gap: 1rem;
	margin: 2.5rem 0 1rem;
}

.access_block dd+dt {
	margin-top: 2rem;
}

.access_block dd {
	padding-left: 6rem;
}

@media only screen and (max-width: 768px) {
	.hall_access {}

	.hall_access h3 {
		font-size: 3rem;
		margin-bottom: 2rem;
	}

	.access_block {
		width: 33.5rem;
		margin: 0 auto;
		padding: 4rem 3rem;
	}

	.access_block h4 {
		margin-bottom: 2rem;
	}

	.access_block p a {
		display: block;
		text-align: center;
		width: 20rem;
		padding: .7rem 0;
		margin: 2rem 0 0;
	}

	.access_block dt {
		margin: 3rem 0 1rem;
	}

	.access_block dd+dt {
		margin-top: 2rem;
	}

	.access_block dt img {
		width: 5rem;
	}

	.access_block dd {
		padding-left: 0;
	}
}

.hall_style figure picture img {
	box-shadow:
		5px 5px 15px rgba(18, 47, 61, 0.5),
		-5px -5px 15px rgba(248, 253, 255, 0.4),
		inset 5px 5px 15px transparent,
		inset -5px -5px 15px transparent;
}