/* ---------------------------- */
/* Common */
/* ---------------------------- */
@media (max-width: 375px) {
	.title-h1 img.h1-nikukyu {
		bottom: 15%;
	}
}

/* ---------------------------- */
/* Contents-main */
/* ---------------------------- */

.contents-main {
	width: 100%;
	position: relative;
	width: 92%;
	text-align: center;
	border-radius: 3px;
	margin: auto;
	padding: 60px 0;
}
.contents-main h2 {
	display: block;
	margin: 0 auto 30px;
	font-size: clamp(24px, 5vw, 30px);
	text-align: left;
	line-height: 2;
}
.contents-main h2 .ruby {
	font-size: 0.6em;
	color: #aaa;
	display: inline-block;
	margin-left: 15px;
}
.contents-main h2 ruby rt {
	color: #aaa;
}
.contents-main h2 ruby {
	ruby-align: center;
}
.contents-main h2 .h2-caption {
	display: block;
	font-size: clamp(12px, 4vw, 20px);
	margin-bottom: 8px;
	line-height: 1.4;
}

.contents-main__inner {
	display: flex;
	flex-wrap: wrap;
	max-width: inherit;
	gap: 8%;
	width: 100%;
	padding: 0;
}
.contents-main__inner--img {
	height: auto;
	width: 46%;
}
.contents-main__inner--img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.contents-main__inner--map {
	height: auto;
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	width: 100%;
	margin-top: 100px;
}
.contents-main__inner--map p {
	text-align: center !important;
}
.contents-main__inner--info {
	width: 46%;
	text-align: left;
}
.contents-main__inner p {
	line-height: 2;
	margin-bottom: 0px;
	text-align: left;
	width: 100%;
}
.address .button__arrow {
	padding: 2px 20px 2px 10px;
	min-height: inherit;
	margin-top: 5px;
}
.address .button__arrow.button__arrow::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	right: 0px;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(../img/arrow_button-arrow_l.svg);
	background-size: cover;
	border-radius: 24px;
	transition: all 0.3s;
}
.contents-main__inner table {
	text-align: left;
	width: 100%;
	max-width: 650px;
	margin: auto;
}

.contents-main__inner table .hours {
	background: #f1f1f1;
	width: 55px;
	display: inline-block;
	text-align: center;
}
.contents-main__inner table tr {
}
.contents-main__inner table th {
	font-weight: normal;
	padding: 20px 5px;
	border-bottom: 1px solid #404040;
	border-right: 3px solid #fff;
	vertical-align: middle;
	width: 7em;
	font-size: 15px;
}
.contents-main__inner table td {
	padding: 20px 5px 20px 15px;
	border-bottom: 1px solid #ddd;
	vertical-align: middle;
}

.contents-main__inner table.animal tr {
	border-bottom: 10px solid #fff;
}
.contents-main__inner table.animal th {
	padding: 0px 5px;
	border-bottom: none;
	width: 7em;
	font-size: inherit;
}

.contents-main__inner table.animal td {
	padding: 0px 5px;
	border-bottom: none;
}
@media (max-width: 1000px) {
	.contents-main__inner--img {
		width: 100%;
		margin-bottom: 60px;
	}
	.contents-main__inner--info {
		width: 100%;
	}
	.contents-main h2 .h2-caption {
		margin-bottom: 15px;
	}
	.contents-main h2 {
		text-align: center;
	}
	.contents-main__inner--info p {
		text-align: center;
	}
}
@media (max-width: 768px) {
	.contents-main__inner--map {
		margin-top: 60px;
		aspect-ratio: 1 / 1;
	}
}
@media (max-width: 600px) {
	.contents-main__inner table th {
		font-size: 13px;
		width: 4.2em;
	}.contents-main__inner table td {
    padding: 20px 5px 20px 5px;
}
}
@media (max-width: 425px) {
	.contents-main {
		padding: 20px 0;
	}
	.contents-main__inner {
		margin-bottom: 0;
	}
	.contents-main__inner--map {
		margin-top: 40px;
	}
.contents-main__inner table .hours {
	width: 45px;
}

}

@media (max-width: 375px) {
}