@charset "utf-8";
.rental-hall,
.rental-hall * {
	box-sizing: border-box;
}

.rental-hall {
	position: relative;
	width: 100%;
	max-width: 964px;
	padding: 70px 32px 0;
	margin: 0 auto;
}

.rental-hall-Inner {
	position: relative;
	margin: 0 auto;
}
.rental-hall-Inner .section {
	position: relative;
}
.rental-hall-Inner .section:not(:first-child) {
	padding: 35px 0 0;
	border: #fff solid 1px;
}

.rental-hall-Inner h2,
.rental-hall-Inner h3,
.rental-hall-Inner dl {
	font-family: 'M PLUS 2', sans-serif;
	color: #fff;
	font-weight: 900;
	letter-spacing: 0.08em;
}
.rental-hall__info--title {
	margin: 0 auto 30px;
	color: #fff;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 3rem;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.08em;
}
.rental-hall__title {
	margin: 64px auto 0;
	color: #fff;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 2rem;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.08em;
}

.rental-hall__info--image img {
	width: 100%;
	height: auto;
}
.rental-hall__info p {
	font-family: 'M PLUS 2', sans-serif;
	color: #fff;
	font-weight: 900;
	letter-spacing: 0.08em;
}
.rental-hall__info table th,
.rental-hall__info table td {
	font-family: 'M PLUS 2', sans-serif;
	color: #fff;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.price {
	margin: 50px auto 80px;
}
.price__main {
	text-align: center;
}
.price__main img {
	max-width: 100%;
}
.price__main img + img {
	margin-top: 24px;
}
.price dl {
	width: 50%;
	padding: 20px 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
	border-radius: 10px;
	background: #262626;
}
.price dl dt {
	width: 100%;
	margin: 0 auto 10px;
	font-size: 1.2rem;
	color: #b4965f;
	text-align: center;
	text-transform: uppercase;
}
.price dl dd {
	font-size: 1rem;
}

.price table {}
.price table th,
.price table td {
	padding: 6px 0 8px;
	border-top: dotted 1px #fff;
}
.price table th {
	padding-right: 25px;
}
.price table td {}
.price table td[colspan="2"] {
	padding: 0 0 8px;
	border-top: none;
}
.price table td[colspan="2"] small {
	display: block;
	line-height: 1.3;
}

.price.party {
	width: 100%;
	margin: 24px 0 12px;
}
.price.party dl {
	width: auto;
	margin: 0 auto;
}

.contact__list {
	width: 100%;
	margin: 30px auto 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-content: stretch;
	align-items: stretch;
}
.contact__list li {
	width: 32%;
	margin: 0;
	font-family: YakuHanMP, '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Noto Serif JP', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}
.contact__list li:first-child:last-child {
	margin: 0 auto;
}
.contact__list li a {
	display: block;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.contact__list li a:hover {
	opacity: 1;
}
.contact__list li a:not(.clickTel) {
	padding: 0;
	position: relative;
	background: #fff;
	font-size: 1.2rem;
	box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.05);
	transition: box-shadow 0.3s, transform 0.3s;
}
.contact__list li a:not(.clickTel):hover {
	cursor: pointer;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.24);
	transform: translate(0, -2px);
}
.contact__list li a.clickTel {
	margin: 24px auto 0;
	font-size: 1.2rem;
	line-height: 1.5;
	position: relative;
}
.contact__list li a.clickTel b {
	display: block;
	font-size: 2rem;
	font-weight: 400;
}
.contact__list li a.clickTel:hover {}
.contact__list li a.clickTel::after {
	content: '';
	width: 0;
	height: 2px;
	margin: auto;
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	background: currentColor;
	transition: .3s;
}
.contact__list li a.clickTel:hover::after {
	width: 60%;
	background: #b4965f;
}

.contact__list li .photo {
	margin: 0;
}
.contact__list li .photo img {
	max-width: 100%;
	margin: 0;
	display: block;
}
.contact__list li h4 {
	margin: 20px 0 10px;
	font-size: 1.3rem;
	font-weight: bold;
	letter-spacing: 0;
	color: #b4965f;
}
.contact__list li p {
	font-family: YakuHanMP, '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Noto Serif JP', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	font-weight: 400;
	text-align: center;
	color: #222;
}
.contact__list li a span {
	width: 100%;
	margin: auto;
	padding: 10px 0;
	display: block;
	color: #fff;
	text-align: center;
	line-height: 1;
	background: #222;
	transition: .3s;
}
.contact__list li a:hover span {
	opacity: 1;
}

.banquet {}
.banquet__text {
	margin-top: 8px;
	color: #fff;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 1.25em;
	font-weight: 700;
	text-align: center;
}

.plan__title {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
	color: #fff;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 1.75rem;
	font-weight: 900;
	text-align: center;
}
.plan__title::before,
.plan__title::after {
	display: block;
	flex: 1;
	height: 1px;
	background: #fff;
	content: '';
}
.plan__title span {
	padding: 0 0.75em;
}

.plan__list {
	margin-top: 24px;
}
.plan__item {
	padding: 24px 32px;
	background: #f2f2f2;
	border-radius: 10px;
	font-family: 'M PLUS 2', sans-serif;
	font-weight: 900;
}
.plan__item + .plan__item {
	margin-top: 32px;
}
.plan__item--title {
	color: #b4965f;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 1.7rem;
	font-size: 900;
	line-height: 1.25;
	text-align: center;
	vertical-align: baseline;
}
.plan__item--price {
	color: #262626;
	font-size: 1.5rem;
	text-align: center;
	vertical-align: baseline;
}
.plan__time {
	margin-right: 0.5em;
	padding: 0 0.75em;
	border: currentColor 1px solid;
	border-radius: 1em;
	font-size: 0.8em;
}
.plan__tax {
	display: inline-block;
	font-size: 0.8em;
}
.plan__item--note {
	margin: 1.5em 0 0 1em;
	color: #262626;
	text-indent: -1em;
}
.plan__item--text {
	margin: 1em 0 0;
	color: #262626;
	text-align: center
}

.menu__title {
	color: #262626;
	font-size: 1.125rem;
	line-height: 1.25;
	text-align: center;
}
.menu__title.color__02 {
	color: #fff;
}
.menu__title::before,
.menu__title::after {
	display: block;
	width: 100%;
	height: 1px;
	background: currentColor;
	content: '';
}
.menu__title::before {
	height: 2px;
	margin-bottom: 0.25em;
}
.menu__title::after {
	margin-top: 0.5em;
}
.menu__title span {
	display: block;
	font-size: 0.85em;
}
.menu__sub-title {
	margin-top: 12px;
	padding: 0.125em 0.75em 0.25em;
	background: #262626;
	color: #b4965f;
	font-size: 1.125em;
	text-align: center;
}
.menu__sub-title + .menu__sub-title {
	margin-top: 8px;
}
.menu__sub-title.color__02 {
	position: relative;
	margin-top: 1.25em;
	padding: 0.5em 0.75em;
	background: #fff;
}
.menu__sub-title.color__02 + .menu__sub-title.color__02::before {
	display: flex;
	position: absolute;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 50%;
	width: 1.5em;
	height: 1.5em;
	padding-bottom: 0.25em;
	box-sizing: border-box;
	background: #b4965f;
	border-radius: 1em;
	color: #fff;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	content: '+';
	transform: translate(-50%, -84%);
}

.menu__cuisine {
	margin-top: 16px;
}
.cuisine__text {
	margin-top: 12px;
	padding: 0.75em;
	background: #f3e6e6;
	color: #262626;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.375;
	text-align: center;
}
.cuisine__list {
	position: relative;
	margin-top: 1em;
	padding: 0.75em;
	background: #f3e6e6;
}
.cuisine__list[data-type]::before {
	display: block;
	width: 100%;
	margin-bottom: 0.5em;
	color: #262626;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.375;
	content: attr(data-type);
	text-align: center;
}
.cuisine__list:not(.spDisp) + .cuisine__list::after,
.cuisine__text + .cuisine__list::after {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 50%;
	width: 1.5em;
	height: 1.5em;
	padding-bottom: 0.25em;
	box-sizing: border-box;
	background: #b4965f;
	border-radius: 1em;
	color: #fff;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	content: '+';
	transform: translate(-50%, -84%);
}
.cuisine__list li {
	margin-left: 1em;
	color: #262626;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.375;
	text-indent: -1em;
}
.cuisine__list li::before {
	content: '・';
}
.cuisine__list li + li {
	margin-top: 0.25em;
}
.cuisine__list li.nonedeco::before {
	display: none;
}
.cuisine__list li.center {
	width: 100%;
	text-align: center;
}
.cuisine__list li.center::before {
	display: none;
}

.cuisine__list.column-one {
	display: flex;
	flex-wrap: wrap;
}

.menu__cuisine + .menu__drink {
	margin-top: 16px;
}
.drink__list {
	margin-top: 12px;
	padding: 0.75em;
	background: #eaeeea;
}
.menu__sub-title:not(.color__02) + .drink__list {
	margin-top: 0;
}
.drink__list li {
	margin-left: 1em;
	color: #262626;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.375;
	text-indent: -1em;
}
.drink__list.color__02 {
	padding: 0;
	background: none;
}
.drink__list.color__02 li {
	color: #fff;
}
.drink__list li::before {
	content: '・';
}
.drink__list li +li {
	margin-top: 0.25em;
}

.drink__title {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
	color: #fff;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 1.75rem;
	font-weight: 900;
	text-align: center;
}
.drink__title::before,
.drink__title::after {
	display: block;
	flex: 1;
	height: 1px;
	background: #fff;
	content: '';
}
.drink__title span {
	padding: 0 0.75em;
}
.drink__text {
	margin-top: 8px;
	color: #fff;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 1.25em;
	font-weight: 700;
	text-align: center;
}

.drink__option {
	width: 100%;
	max-width: 658px;
	margin: 24px auto 0;
}
.drink__item {
	padding: 24px 32px;
	background: #262626;
	border-radius: 10px;
	font-family: 'M PLUS 2', sans-serif;
	font-weight: 900;
}
.drink__item + .drink__item {
	margin-top: 32px;
}

.drink__tag {
	margin-top: 12px;
	padding: 0 0 4px;
	border-bottom: 1px solid #d7d7d7;
	color: #fff;
	font-size: 1.25em;
	text-align: center;
}
.drink__tag span {
	border-radius: 1em 1em 0 0;
}
.drink__tag + .drink__list {
	margin-top: 8px;
}
.drink__item--price {
	margin-top: 12px;
	color: #fff;
	font-size: 1.125rem;
	text-align: center;
	vertical-align: baseline;
}
.drink__item--text {
	color: #fff;
	font-size: 1.125em;
	font-weight: 700;
	text-align: center;
}

.drink__item--box {
	position: relative;
}
.drink__item--box + .drink__item--box {
	padding-top: 1.25em;
}
.drink__item--box .menu__sub-title::before {
	display: flex;
	position: absolute;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 50%;
	width: 1.5em;
	height: 1.5em;
	padding-bottom: 0.25em;
	box-sizing: border-box;
	background: #b4965f;
	border-radius: 1em;
	color: #fff;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	content: '+';
	transform: translate(-50%, -84%);
}

.other {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.other__title {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
	color: #fff;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 1.75rem;
	font-weight: 900;
	text-align: center;
}
.other__title::before,
.other__title::after {
	display: block;
	flex: 1;
	height: 1px;
	background: #fff;
	content: '';
}
.other__title span {
	padding: 0 0.75em;
}
.other__list {
	margin-top: 8px;
}
.other__item {
	margin-left: 1em;
	color: #fff;
	font-family: 'M PLUS 2', sans-serif;
	font-size: 1.125em;
	font-weight: 700;
	text-indent: -1em;
	line-height: 1.5;
}
.other__item + .other__item {
	margin-top: 0.25em;
}
.other__item.pattern__a + .other__item.pattern__b {
	margin-top: 0.5em;
}

@media only screen and (min-width:641px) {
	.price {
		display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
	}
	.price__main {
		flex: 1;
	}

	.cuisine__list.column-one {
		justify-content: center;
	}

	.cuisine__list.column-two {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.cuisine__list.column-two li:not(.center) {
		width: calc(50% - 1em);
	}

	.drink__item--box .drink__list {
		display: flex;
		flex-wrap: wrap;
	}
	.drink__item--box .drink__list li {
		width: calc(50% - 1em);
	}
	.drink__item--box .drink__list li:first-child {
		margin-top: 0.25em;
	}

	.drink__item--special {
		display: flex;
		flex-wrap: wrap;
		column-gap: 16px;
	}
	.drink__item--special .menu__sub-title {
		flex: 1;
	}
	.drink__item--special .menu__sub-title + .menu__sub-title::before {
		top: 50% !important;
		left: 0 !important;
		transform: translate(-80%, -50%) !important;
	}

	.plan__item {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		column-gap: 24px;
	}
	.plan__item > * {
		width: 100%;
	}
	.plan__item .menu__cuisine,
	.plan__item .menu__drink {
		flex: 1;
	}
}
@media only screen and (max-width:640px) {
	.rental-hall {
		padding-top: 120px;
	}

	.price__main {
		text-align: center;
	}
	.price dl {
		width: 100%;
		margin: 50px 0 0;
		padding: 30px 0;
	}
	.price dl dt {
		font-size: 1.5rem;
	}
	.price dl dd {
		font-size: 1.15rem;
	}
	.price table th,
	.price table td {
		padding: 15px 0;
	}

	.contact__list {
		margin: 30px auto 0;
	}
	.contact__list li {
		width: 100%;
		margin: 0 0 60px;
	}
	.contact__list li a.clickTel {
		margin: 25px auto 0;
		font-size: 1.5rem;
	}
	.contact__list li a.clickTel b {
		font-size: 2.5rem;
	}

	.contact__list li h4 {
		margin: 30px 0 20px;
		font-size: 1.8rem;
		text-align: center;
	}
	.contact__list li p {
		font-size: 1.15rem;
		line-height: 1.7;
	}
	.contact__list li a span {
		padding: 20px 0;
		font-size: 1.3rem;
	}

	.drink__tag {
		margin-top: 16px;
	}
}
