@charset "UTF-8";
@import 'https://fonts.googleapis.com/css2?family=Bellefair&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap';

:root {
	--c-red: #fc4a94;
	--c-green: #5caf9d;
	--c-yellow: #e7bb08;
	--c-white: #fff;
	--c-border: #e0e0e0;
	--c-bg-green: #f1f7f4;
}

:root {
	--font-serif: 'Noto Serif JP', sans-serif;
	--font-en: 'Bellefair', 'Noto Serif JP', sans-serif;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #444;
	letter-spacing: 0.02em;
	outline: none;
	-webkit-font-smoothing: antialiased;
}

.inner {
	max-width: 1240px;
	padding: 0 40px;
	margin: 0 auto;
}

.vis-sp,
.vis-tb {
	display: none;
}

.cmnhd {
	position: absolute;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 20px 40px;
}

.cmnhd.-scrolled {
	background-color: #ffffffd0;
}

.cmnhd_ttl {
	font-family: var(--font-serif);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5;
}

.cmnhd_ttl > a {
	display: flex;
	gap: 0 15px;
	align-items: center;
}

.cmnhd_ttl_mark {
	display: inline-block;
	width: 80px;
	height: auto;
	aspect-ratio: 136/83;
}

.cmnhd_ttl_text {
	display: inline-block;
}

.cmnhd_ttl_text > span {
	display: block;
	font-size: 16px;
}

.humb {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1200;
	display: none;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
}

.humb > span {
	position: absolute;
	display: block;
	width: 36px;
	height: 2px;
	margin-top: -1px;
	background: var(--c-green);
	border-radius: 2px;
	transition: transform 0.3s;
}

.humb > span.-top {
	transform: translateY(-6px);
}

.humb > span.-mid {
}

.humb > span.-btm {
	transform: translateY(6px);
}

body.-nav-open .humb > span.-top {
	transform: translateY(0) rotate(45deg);
}

body.-nav-open .humb > span.-mid {
	transform: scaleX(0);
}

body.-nav-open .humb > span.-btm {
	transform: translateY(0) rotate(-45deg);
}

.cmnnav {
}

.cmnnav_list {
	display: flex;
	gap: 0 30px;
}

.cmnnav_list > li > a {
	display: inline-block;
	padding: 10px 0;
}

.cmnnav_reservation {
	display: none;
}

.wrapper {
	overflow-x: clip;
}

.cmnft {
	padding: 80px 0 50px;
	border-top: 1px solid var(--c-border);
}

.cmnft_info {
	margin-bottom: 20px;
}

.cmnft_info_name {
	margin-bottom: 10px;
	font-family: var(--font-serif);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.5;
}

.cmnft_info_address {
	margin-bottom: 4px;
}

.cmnft_info_tel {
	display: inline-block;
}

.cmnft_info_name > a > span {
	display: inline-block;
	margin-right: 8px;
	font-size: 16px;
}

.cmnft_group {
	display: flex;
	gap: 2px;
	justify-content: space-between;
	margin-bottom: 30px;
}

.cmnft_group > a {
	display: inline-flex;
	flex-grow: 1;
	align-items: center;
	justify-content: center;
	padding: 10px;
	background-color: #ccd6ec;
}

.cmnft_group > a.-gozan {
	background-color: #cfddeb;
}

.cmnft_group > a.-tanino {
	background-color: #dfecce;
}

.cmnft_group > a.-center {
	background-color: #f3dae5;
}

.cmnft_group > a.-recruit {
	background-color: #d9f0fb;
}

.cmnft_group > a:hover {
	color: #3574c9;
}

.cmnft_group > a::after {
	display: inline-block;
	width: 24px;
	aspect-ratio: 1/1;
	margin-left: 4px;
	content: '';
	background: url('../img/cmn/icon-external.svg') no-repeat center/contain;
}

.cmnft_copy {
	font-size: 13px;
	text-align: center;
}

@media screen and (max-width: 1240px) {
	.vis-tb {
		display: block;
	}

	.hide-tb {
		display: none;
	}

	.cmnhd {
		position: fixed;
		min-height: 80px;
		padding: 10px 20px;
	}

	.cmnhd_ttl {
		position: relative;
		z-index: 2;
	}

	.cmnhd_ttl_mark {
		width: 50px;
	}

	.cmnhd_ttl_text {
		font-size: 18px;
	}

	.cmnhd_ttl_text > span {
		font-size: 13px;
	}

	.cmnhd .humb {
		display: flex;
	}

	.cmnnav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1;
		width: 100%;
		height: fit-content;
		max-height: 100dvh;
		padding: 120px 20px 80px;
		overflow-y: auto;
		pointer-events: none;
		background: var(--c-white);
		box-shadow: 0 5px 15px rgb(0 0 0 / 10%);
		transform: translateY(-100%);
		transition: transform 0.3s;
	}

	body.-nav-open .cmnnav {
		pointer-events: all;
		transform: translateY(0);
	}

	.cmnnav_list {
		flex-direction: column;
		gap: 5px 0;
		align-items: center;
		justify-content: center;
	}

	.cmnnav_reservation {
		display: block;
		text-align: center;
	}

	.cmnnav_reservation {
		padding-top: 30px;
		margin-top: 30px;
		border-top: 1px solid var(--c-border);
	}

	.cmnnav_reservation_hd {
		margin-bottom: 10px;
	}

	.cmnnav_reservation_tel {
		display: inline-block;
		margin-bottom: 5px;
		font-family: var(--font-en);
		font-size: 30px;
		font-weight: 500;
		line-height: 1;
		color: var(--c-green);
	}

	.cmnnav_reservation_tel > span {
		font-size: 18px;
	}
}

@media screen and (max-width: 768px) {
	body {
		min-width: 0;
	}

	.inner {
		padding: 0 24px;
	}

	.vis-sp {
		display: block;
	}

	.hide-sp {
		display: none;
	}

	.cmnft {
		padding: 60px 0 30px;
	}

	.cmnft_info {
		text-align: center;
	}

	.cmnft_info_name > a > span {
		display: block;
	}

	.cmnft_group {
		flex-direction: column;
	}
}

@media print {
}
