@charset "UTF-8";

/*================
施設紹介トップ（institution）
================*/

/* MV（PC: 809 / SP: 742）
----------------------------------------------------------*/
.page-institution .mv-visual {
	height: 837px;
}
.page-institution .mv-visual img {
	height: 837px;
	object-position: right center;
}
.page-institution .mv-inner {
	min-height: 0;
}
.page-institution .mv-inner .page-head {
	padding-top: calc(215px - var(--header-height) + 20px);
}
.page-institution .mv-inner .page-head .ttl-01 {
	margin-bottom: 0;
	text-align: left;
	align-items: flex-start;
}

/* イントロ（キャッチ・特徴）
----------------------------------------------------------*/
.nc-intro {
	position: relative;
	z-index: 1;
	margin-top: 80px;
	margin-bottom: 0;
}
.nc-intro-catch {
	margin: 0 0 40px;
	color: #447D1A;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.5;
}
.nc-intro-txt {
	max-width: 1000px;
	margin: 0;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
.nc-intro-txt p {
	margin: 0;
}
.nc-intro-txt p + p {
	margin-top: 1em;
}
.nc-feature-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 40px 0 0;
	padding: 0;
	list-style: none;
}
.nc-feature-item {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	width: 247px;
	min-height: 156px;
	padding: 20px 16px 20px;
	border-radius: 10px;
	background: #F0F7D6;
}
.nc-feature-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: #fff;
}
.nc-feature-icon img {
	display: block;
	width: auto;
	height: auto;
	max-width: 50px;
	max-height: 50px;
}
.nc-feature-ttl {
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.8;
	text-align: center;
	white-space: nowrap;
}

/* 各施設のご案内
----------------------------------------------------------*/
.sec-nc-facility {
	padding-top: 148px;
	padding-bottom: 0;
}
.sec-nc-facility > .inner-1320 {
	gap: 0;
}
.sec-nc-facility .ttl-02 {
	text-align: center;
}
.nc-area-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0;
	margin: 0 0 80px;
	border-bottom: 1px solid #D0D7C8;
}
.nc-area-tab {
	appearance: none;
	box-sizing: border-box;
	margin: 0 0 -1px;
	padding: 0 25px 8px;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: transparent;
	cursor: pointer;
	line-height: 1.8;
}
.nc-area-tab:disabled {
	cursor: default;
}
.nc-area-tab .ttl-03 {
	display: block;
	line-height: 1.8;
	font-weight: 300;
	color: #222;
	margin-bottom: 0;
}
.nc-area-tab.is-active {
	border-bottom-color: #447D1A;
}
.nc-area-tab.is-active .ttl-03 {
	font-weight: 600;
	color: #447D1A;
	margin-bottom: 0;
}
.nc-facility-layout {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
}
.nc-map {
	flex: 0 0 378px;
	width: 378px;
	max-width: 100%;
	margin: 0;
}
.nc-map img {
	display: block;
	width: 100%;
	height: auto;
}
.nc-pref-list {
	flex: 1 1 auto;
	box-sizing: border-box;
	min-width: 0;
	max-width: 903px;
	border: 2px solid #D0D7C8;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}
.nc-pref-item + .nc-pref-item {
	border-top: 1px solid #D0D7C8;
}
.nc-pref-btn {
	appearance: none;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 110px;
	margin: 0;
	padding: 40px;
	border: 0;
	background: #fff;
	/* [一時変更: 全アコーディオン展開] 復元時は cursor: pointer; に戻す */
	cursor: default;
	text-align: left;
}
.nc-pref-item.is-open .nc-pref-btn {
	border-bottom: 1px solid #D0D7C8;
}
.nc-pref-name {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
}
.nc-pref-name.ttl-03 {
	text-align: left;
	margin-bottom: 0;
}
.nc-pref-item.type-osaka .nc-pref-name {
	color: #D96B6B;
}
.nc-pref-item.type-kyoto .nc-pref-name {
	color: #447D1A;
}
.nc-pref-item.type-hyogo .nc-pref-name {
	color: #5FA8D3;
}
.nc-pref-item.type-nara .nc-pref-name {
	color: #E8893A;
}
.nc-pref-toggle {
	position: relative;
	/* [一時変更: 全アコーディオン展開] 復元時は display: block; に戻す */
	display: none;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	margin-right: 20px;
}
.nc-pref-toggle::before,
.nc-pref-toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: currentColor;
	border-radius: 2px;
	transform: translate(-50%, -50%);
}
.nc-pref-item.type-osaka .nc-pref-toggle {
	color: #D96B6B;
}
.nc-pref-item.type-kyoto .nc-pref-toggle {
	color: #447D1A;
}
.nc-pref-item.type-hyogo .nc-pref-toggle {
	color: #5FA8D3;
}
.nc-pref-item.type-nara .nc-pref-toggle {
	color: #E8893A;
}
.nc-pref-toggle::before {
	width: 20px;
	height: 2px;
}
.nc-pref-toggle::after {
	width: 2px;
	height: 20px;
}
.nc-pref-item.is-open .nc-pref-toggle::after {
	display: none;
}
.nc-pref-panel {
	padding: 50px 40px 40px;
}
.nc-pref-area + .nc-pref-area {
	margin-top: 40px;
}
.nc-pref-area-ttl {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0 0 20px;
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}
.nc-pref-area-ttl.ttl-03 {
	text-align: left;
}
.nc-pref-area-ttl::after {
	content: "";
	display: block;
	flex: 1 1 auto;
	height: 1px;
	background: #D0D7C8;
}
.nc-facility-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 50px;
	row-gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nc-facility-links li {
	box-sizing: border-box;
	width: auto;
	min-width: 0;
}
.nc-facility-links.type-single {
	grid-template-columns: 1fr;
}
.nc-facility-links a {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.6;
	text-decoration: none;
}
.nc-facility-links a::before {
	content: "";
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	background: url("/imgs/institution/icn_link_arrow.svg") center / contain no-repeat;
}
.nc-facility-links a:hover {
	color: #447D1A;
	text-decoration: underline;
}
.nc-kanto-note {
	margin: 0;
	padding: 80px 40px;
	border: 2px solid #D0D7C8;
	border-radius: 10px;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
	text-align: center;
}

/* 4つの安心
----------------------------------------------------------*/
.sec-nc-safety {
	padding-top: 0;
	padding-bottom: 0;
}
.sec-nc-safety > .inner-1320 {
	gap: 0;
}
.sec-nc-safety .ttl-02 {
	text-align: center;
}
.nc-safety-list {
	align-items: stretch;
}
.nc-safety-list > .flex-cnt-01 {
	display: flex;
}
.nc-safety-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	border-radius: 10px;
	background: #F7F9F4;
	overflow: visible;
}
.nc-safety-photo {
	margin: 0;
	overflow: hidden;
	border-radius: 10px 10px 0 0;
}
.nc-safety-photo img {
	display: block;
	width: 100%;
	height: 250px;
	object-fit: cover;
	object-position: center center;
}
.nc-safety-icon {
	position: absolute;
	top: 215px;
	left: 50%;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	margin-left: -35px;
	border-radius: 50%;
	background: #fff;
	/* box-shadow: 0 0 10px rgba(0, 0, 0, 0.08); */
}
.nc-safety-icon img {
	display: block;
	width: auto;
	height: auto;
	max-width: 50px;
	max-height: 50px;
}
.nc-safety-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 20px;
	padding: 55px 40px 40px;
	box-sizing: border-box;
}
.nc-safety-ttl {
	margin: 0;
	color: #447D1A;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}
.nc-safety-note {
	font-size: 13px;
	vertical-align: super;
}
.nc-safety-txt {
	margin: 0;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
.nc-safety-footnote {
	margin: 20px 0 0;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}

/* 関連リンクカード
----------------------------------------------------------*/
.sec-nc-links {
	padding-top: 0;
	padding-bottom: 0;
}
.sec-nc-links > .inner-1320 {
	gap: 0;
}
.nc-link-cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px;
}
.nc-link-card {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 419px;
	max-width: 100%;
	height: 350px;
	overflow: hidden;
	border-radius: 10px;
	background: #F7F9F4;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	text-decoration: none;
	transition: opacity 0.2s ease;
}
.nc-link-card:hover {
	opacity: 0.85;
}
.nc-link-card-body {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	padding: 40px 40px 0;
}
.nc-link-card-ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	margin: 0;
	color: #447D1A;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}
.nc-link-card-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: #447D1A;
}
.nc-link-card-arrow svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: currentColor;
}
.nc-link-card-txt {
	margin: 41px 0 0;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
.nc-link-card-photo {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	margin: 0;
	height: 250px;
	overflow: hidden;
}
/* .nc-link-card-photo::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 60%;
	background: linear-gradient(180deg, #F7F9F4 37%, rgba(247, 249, 244, 0) 87%);
	pointer-events: none;
	z-index: 1;
} */
.nc-link-card-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.nc-link-card-photo picture {
	display: block;
}

.page-institution .sec-nc-links + .bc-wrap.sp-mode-01 + .sec-contact,
.page-institution .main > .sec-contact {
	margin-top: 160px;
}

/* SP
----------------------------------------------------------*/
@media only screen and (max-width: 768px) {
	.page-institution .mv-visual {
		height: 96.615vw; /* 742 / 768 */
	}
	.page-institution .mv-visual img {
		height: 100%;
		object-position: center center;
	}
	.page-institution .mv-inner {
		padding-top: calc(116.146vw - var(--header-height)); /* タイトル開始 y=892 */
	}
	.page-institution .mv-inner .page-head {
		padding-top: 0;
	}
	.page-institution .mv-inner .page-head .ttl-01 {
		margin-bottom: 0;
		text-align: center;
		align-items: center;
	}

	.nc-intro {
		margin-top: 19.531vw; /* 150 */
	}
	.nc-intro-catch {
		margin-bottom: 7.813vw; /* 60 */
		font-size: 6.25vw; /* 48 */
		line-height: 1.5;
		text-align: left;
	}
	.nc-intro-txt {
		max-width: none;
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
	.nc-intro-txt p + p {
		margin-top: 0;
	}
	.nc-feature-list {
		flex-direction: column;
		gap: 5.208vw; /* 40 */
		margin-top: 7.813vw; /* 60 */
	}
	.nc-feature-item {
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
		gap: 5.208vw; /* 40 */
		width: 100%;
		min-height: 20.833vw; /* 160 */
		padding: 3.906vw 7.813vw; /* 30 40 */
		border-radius: 2.605vw;
	}
	.nc-feature-icon {
		width: 13.021vw; /* 100 */
		height: 13.021vw;
		flex-shrink: 0;
	}
	.nc-feature-item:nth-child(1) .nc-feature-icon img {
		max-width: initial;
		max-height: initial;
		width: 6.771vw;
	}
	.nc-feature-item:nth-child(2) .nc-feature-icon img {
		max-width: initial;
		max-height: initial;
		width: 7.813vw;
	}
	.nc-feature-item:nth-child(3) .nc-feature-icon img {
		max-width: initial;
		max-height: initial;
		width: 8.464vw;
	}
	.nc-feature-ttl {
		font-size: 4.688vw; /* 36 */
		text-align: left;
		white-space: normal;
	}

	.sec-nc-facility {
		padding-top: 32.553vw; /* 250 */
	}
	.nc-area-tabs {
		/* gap: 10.417vw; */
		gap: 0;
		margin-bottom: 19.532vw;
	}
	.nc-area-tab {
		padding: 0 5.209vw 2.604vw; /* 0 / 20 */
		border-bottom-width: 0.521vw;
	}
	.nc-area-tab .ttl-03 {
		font-size: 4.688vw; /* 36 */
		line-height: 1.9;
	}
	.nc-facility-layout {
		flex-direction: column;
		gap: 7.813vw; /* 60 */
	}
	.nc-map {
		flex: none;
		width: 100%;
		max-width: 66.146vw; /* 508 */
		margin: 0 auto;
	}
	.nc-pref-list {
		max-width: none;
		width: 100%;
		border-radius: 2.605vw;
	}
	.nc-pref-btn {
		min-height: 23.438vw; /* 180 */
		padding: 5.208vw 7.813vw; /* 40 */
	}
	.nc-pref-name {
		font-size: 5.209vw; /* 40 */
	}
	.nc-pref-toggle {
		width: 5.208vw; /* 40 */
		height: 5.208vw;
		margin-right: 0;
	}
	.nc-pref-toggle::before {
		width: 5.208vw;
		height: 0.521vw;
	}
	.nc-pref-toggle::after {
		width: 0.521vw;
		height: 5.208vw;
	}
	.nc-pref-panel {
		padding: 7.813vw 7.553vw 7.813vw; /* 60 / 40 / 60 */
	}
	.nc-pref-area + .nc-pref-area {
		margin-top: 7.813vw;
	}
	.nc-pref-area-ttl {
		gap: 2.604vw;
		margin-bottom: 5.208vw; /* 40 */
		font-size: 5.209vw; /* 40 */
	}
	.nc-facility-links {
		column-gap: 5.209vw; /* 20 */
		row-gap: 5.208vw; /* 40 */
	}
	.nc-facility-links a {
		gap: 3.255vw; /* 25 */
		font-size: 4.167vw; /* 32 */
		line-height: 1.6;
	}
	.nc-facility-links a::before {
		width: 2.604vw; /* 20 */
		height: 2.604vw;
	}
	.nc-kanto-note {
		padding: 10.417vw 5.208vw;
		font-size: 4.167vw;
		line-height: 1.9;
	}

	.sec-nc-safety {
		padding-top: 0; /* 150 */
	}
	.nc-safety-list {
		flex-direction: column;
		gap: 8.334vw; /* 60 */
	}
	.nc-safety-list > .flex-cnt-01 {
		width: 100%;
	}
	.nc-safety-photo img {
		height: 52.083vw; /* 400 */
	}
	.nc-safety-icon {
		top: 44.271vw; /* 340 */
		width: 15.625vw; /* 120 */
		height: 15.625vw;
		margin-left: -7.813vw;
	}
	.nc-safety-icon img {
		max-width: 9.115vw; /* 70 */
		max-height: 9.115vw;
	}
	.nc-safety-list > .flex-cnt-01:nth-child(1) .nc-safety-icon img {
		max-width: initial;
		max-height: initial;
		width: 10.417vw; /* 80 */
		height: 9.245vw; /* 71 */
	}
	.nc-safety-list > .flex-cnt-01:nth-child(2) .nc-safety-icon img,
	.nc-safety-list > .flex-cnt-01:nth-child(4) .nc-safety-icon img {
		max-width: initial;
		max-height: initial;
		width: 9.115vw; /* 70 */
		height: 9.115vw; /* 70 */
	}
	.nc-safety-list > .flex-cnt-01:nth-child(3) .nc-safety-icon img {
		max-width: initial;
		max-height: initial;
		width: 10.417vw; /* 80 */
		height: 10.417vw; /* 80 */
	}
	.nc-safety-body {
		gap: 5.209vw;
		padding: 13.021vw 7.813vw 7.813vw; /* 80 60 60 */
	}
	.nc-safety-ttl {
		font-size: 5.209vw; /* 36 */
	}
	.nc-safety-note {
		font-size: 3.125vw;
	}
	.nc-safety-txt {
		font-size: 4.167vw;
		line-height: 1.9;
	}
	.nc-safety-footnote {
		margin-top: 5.208vw;
		font-size: 4.167vw;
		line-height: 1.3;
	}

	.sec-nc-links {
		padding-top: 0;
	}
	.nc-link-cards {
		flex-direction: column;
		gap: 8.334vw; /* 40 */
	}
	.nc-link-card {
		width: 100%;
		height: 68.359vw; /* 525 */
		border-radius: 2.604vw; /* 20 */
		box-shadow: 0 0 5.208vw rgba(0, 0, 0, 0.1); /* 40 */
	}
	.nc-link-card-body {
		padding: 7.813vw 7.813vw 0;
	}
	.nc-link-card-photo {
		height: 32.552vw; /* 250 */
	}
	.nc-link-card-ttl {
		gap: 2.604vw;
		font-size: 6.25vw; /* 36 */
		justify-content: center;
		text-align: left;
	}
	.nc-link-card-arrow {
		width: 5.208vw;
		height: 5.208vw;
	}
	.nc-link-card-arrow svg {
		width: 5.208vw;
		height: 5.208vw;
	}
	.nc-link-card-txt {
		margin-top: 8.334vw;
		font-size: 4.167vw;
		line-height: 1.9;
	}
	.nc-link-card-photo img {
		height: 100%;
	}
	.nc-link-card.type-faq .nc-link-card-photo {
		height: 48.828vw; /* 375 */
	}

	.page-institution .sec-nc-links + .bc-wrap.sp-mode-01 + .sec-contact,
	.page-institution .main > .sec-contact {
		margin-top: 0;
	}
}

/*================
お食事・レクリエーション（meal）
================*/

/* リード
----------------------------------------------------------*/
.page-institution-meal .mv-lead {
	margin-bottom: 160px;
}
.page-institution-meal .mv-lead .page-lead {
	text-align: center;
}

/* 共通
----------------------------------------------------------*/
.page-institution-meal .meal-sec-ttl {
	margin: 0;
	text-align: center;
}
.page-institution-meal .section > .inner-1320 {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.page-institution-meal .main > .sec-contact {
	margin-top: 160px;
}
.page-institution-meal .bc-wrap.sp-mode-01 + .sec-contact {
	margin-top: 0;
}

/* ドットリスト（Figma: 緑丸 14px）
----------------------------------------------------------*/
.page-institution-meal .meal-dot-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.page-institution-meal .meal-dot-list li {
	display: flex;
	align-items: baseline;
	gap: 20px;
	color: #222;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.25;
}
.page-institution-meal .meal-dot-list li::before {
	content: "";
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	margin-top: 0.15em;
	border-radius: 50%;
	background: #447D1A;
}
.page-institution-meal .meal-dot-list-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
	row-gap: 20px;
}
.page-institution-meal .meal-note-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.page-institution-meal .meal-note-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
.page-institution-meal .meal-note-list li::before {
	content: "※";
	flex-shrink: 0;
}

/* お食事
----------------------------------------------------------*/
.page-institution-meal .sec-meal {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #F7F9F4;
}
.page-institution-meal .meal-hero {
	margin: 40px 0 0;
	overflow: hidden;
	border-radius: 10px;
}
.page-institution-meal .meal-hero picture {
	display: block;
}
.page-institution-meal .meal-hero img {
	display: block;
	width: 100%;
	height: 400px;
	object-fit: cover;
	border-radius: 10px;
}
.page-institution-meal .meal-card-list {
	margin-top: 40px;
	align-items: stretch;
}
.page-institution-meal .meal-card-list > .flex-cnt-01 {
	display: flex;
}
.page-institution-meal .meal-card {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
}
.page-institution-meal .meal-card-img {
	margin: 0;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 10px 10px 0 0;
}
.page-institution-meal .meal-card-img picture {
	display: block;
}
.page-institution-meal .meal-card-img img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: 10px 10px 0 0;
}
.page-institution-meal .meal-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 20px;
	box-sizing: border-box;
	padding: 40px;
	background: #fff;
	border-radius: 0 0 10px 10px;
}
.page-institution-meal .meal-card-ttl {
	flex-shrink: 0;
	min-height: 30px;
	margin: 0 0 20px;
	text-align: center;
}
.page-institution-meal .meal-card-lead {
	flex-shrink: 0;
	min-height: 155px;
}
.page-institution-meal .meal-card-txt {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 16px;
	min-height: 0;
}
.page-institution-meal .meal-card-body .txt-01 {
	margin: 0;
	font-weight: 300;
}
.page-institution-meal .meal-form-list {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.page-institution-meal .meal-form-list li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	flex: 1 1 0;
	min-width: 0;
}
.page-institution-meal .meal-form-list img {
	display: block;
	width: 99px;
	height: 100px;
	object-fit: cover;
}
.page-institution-meal .meal-form-list span {
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
	text-align: center;
	white-space: nowrap;
}

/* レクリエーション
----------------------------------------------------------*/
.page-institution-meal .sec-recreation {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-top: 35px;
}
.page-institution-meal .rec-card-list {
	margin-top: 40px;
}
.page-institution-meal .rec-card {
	display: flex;
	flex-direction: column;
	gap: 40px;
	box-sizing: border-box;
	height: 100%;
	padding: 40px;
	border-radius: 10px;
	background: #F7F9F4;
}
.page-institution-meal .rec-card-ttl {
	margin: 0;
	text-align: center;
}
.page-institution-meal .rec-card-img {
	margin: 0;
}
.page-institution-meal .rec-card-img img {
	display: block;
	width: 100%;
	height: 250px;
	object-fit: cover;
	border-radius: 10px;
    overflow: auto;
}
.page-institution-meal .rec-card-body {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.page-institution-meal .rec-card .txt-01 {
	margin: 0;
	font-weight: 300;
}
.page-institution-meal .meal-gallery {
	margin-top: 40px;
}
.page-institution-meal .meal-gallery-img {
	margin: 0;
}
.page-institution-meal .meal-gallery-img picture {
	display: block;
}
.page-institution-meal .meal-gallery-img img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 10px;
	overflow: hidden;
}

/* 食堂・交流スペース
----------------------------------------------------------*/
.page-institution-meal .sec-dining {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #F7F9F4;
	margin-top: 80px;
}
.page-institution-meal .dining-block {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.page-institution-meal .dining-body {
	flex: 1 1 0;
	min-width: 0;
	max-width: 644px;
}
.page-institution-meal .dining-ttl {
	margin: 0 0 40px;
	text-align: center;
}
.page-institution-meal .dining-body .txt-01 {
	margin: 0;
	font-weight: 300;
}
.page-institution-meal .dining-main-img {
	flex: 0 0 644px;
	width: 644px;
	max-width: 100%;
	margin: 0;
}
.page-institution-meal .dining-main-img img {
	display: block;
	width: 100%;
	height: 400px;
	object-fit: cover;
	border-radius: 10px;
	overflow: hidden;
}
.page-institution-meal .sec-dining .meal-gallery {
	margin-top: 32px;
}

/* SP（Figma 768基準）
----------------------------------------------------------*/
@media only screen and (max-width: 768px) {
	.page-institution-meal .mv-lead {
		margin-bottom: 32.553vw; /* 150 */
	}
	.page-institution-meal .mv-lead .page-lead {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
		text-align: left;
	}
	.page-institution-meal .main > .bc-wrap.sp-mode-01 {
		margin-top: 2.605vw;
	}
	.page-institution-meal .main > .sec-contact,
	.page-institution-meal .bc-wrap.sp-mode-01 + .sec-contact {
		margin-top: 0;
	}

	.page-institution-meal .meal-sec-ttl {
		font-size: 6.25vw; /* 48 */
	}
	.page-institution-meal .meal-dot-list {
		gap: 5.209vw; /* 20 */
	}
	.page-institution-meal .meal-dot-list li {
		gap: 3.906vw; /* 30 */
		font-size: 4.688vw; /* 36 */
		line-height: 1.3;
	}
	.page-institution-meal .meal-dot-list li::before {
		width: 2.865vw; /* 22 */
		height: 2.865vw;
	}
	.page-institution-meal .meal-dot-list-2col {
		column-gap: 2.604vw;
		row-gap: 5.209vw;
	}
	.page-institution-meal .meal-note-list li {
		font-size: 4.167vw; /* 32 */
		line-height: 1.3;
	}

	.page-institution-meal .sec-meal {
		padding-top: 0;
		padding-bottom: 19.531vw; /* 150 */
	}
	/* SP: ヒーロー → 見出し の順 */
	.page-institution-meal .sec-meal .meal-hero {
		order: -1;
		margin-top: 0;
		margin-bottom: 0;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		width: 100vw;
		border-radius: 0;
	}
	.page-institution-meal .meal-hero img {
		height: 78.125vw; /* 600 */
		border-radius: 0;
	}
	.page-institution-meal .sec-meal .meal-sec-ttl {
		margin-top: 19.531vw; /* 150 */
	}
	.page-institution-meal .meal-card-list {
		margin-top: 7.813vw; /* 80 */
		flex-direction: column;
		gap: 8.334vw;
	}
	.page-institution-meal .meal-card-list > .flex-cnt-01 {
		display: block;
		max-width: none;
		width: 100%;
	}
	.page-institution-meal .meal-card {
		flex: none;
		width: 100%;
		border-radius: 2.605vw;
	}
	.page-institution-meal .meal-card-lead {
		min-height: 0;
	}
	.page-institution-meal .meal-card-txt {
		flex: none;
		gap: 2.605vw; /* 40 */
		margin-top: 2.865vw;
	}
	.page-institution-meal .meal-card-img img {
		height: 52.083vw; /* 400 */
		border-radius: 2.605vw 2.605vw 0 0;
	}
	.page-institution-meal .meal-card-img {
		border-radius: 2.605vw 2.605vw 0 0;
	}
	.page-institution-meal .meal-card-body {
		gap: 5.208vw; /* 40 */
		padding: 7.813vw; /* 60 */
		background: #fff;
		border-radius: 0 0 2.605vw 2.605vw;
	}
	.page-institution-meal .meal-card-ttl {
		font-size: 5.208vw; /* 40 */
		text-align: center;
	}
	.page-institution-meal .meal-card-body .txt-01 {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
	.page-institution-meal .meal-form-list {
		gap: 2.604vw;
	}
	.page-institution-meal .meal-form-list img {
		width: 22.917vw; /* 176 */
		height: 22.917vw;
	}
	.page-institution-meal .meal-form-list span {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}

	.page-institution-meal .sec-recreation {
		padding-top: 19.531vw;
		padding-bottom: 19.531vw;
		margin-top: 0;
	}
	.page-institution-meal .rec-card-list {
		margin-top: 7.813vw; /* 60 */
		flex-direction: column;
		gap: 8.334vw; /* 80 */
	}
	.page-institution-meal .rec-card-list > .flex-cnt-01 {
		max-width: none;
		width: 100%;
	}
	.page-institution-meal .rec-card {
		gap: 7.813vw; /* 60 */
		padding: 7.813vw; /* 60 */
		background: #F7F9F4;
		border-radius: 2.605vw;
	}
	.page-institution-meal .rec-card-body {
		gap: 5.208vw; /* 40 */
	}
	.page-institution-meal .rec-card-ttl {
		font-size: 5.208vw; /* 40 */
		text-align: center;
	}
	.page-institution-meal .rec-card-img img {
		height: 39.063vw; /* 300 */
		border-radius: 1.303vw;
        overflow: hidden;
	}
	.page-institution-meal .rec-card .txt-01 {
		font-size: 4.167vw;
		line-height: 1.9;
	}
	.page-institution-meal .meal-gallery {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		margin-top: 7.813vw; /* 60 */
		gap: 5.208vw; /* 40 */
	}
	.page-institution-meal .meal-gallery > .flex-cnt-01:first-child {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
	}
	.page-institution-meal .meal-gallery > .flex-cnt-01:not(:first-child) {
		flex: 0 0 calc((100% - 5.208vw) / 2);
		width: calc((100% - 5.208vw) / 2);
		max-width: calc((100% - 5.208vw) / 2);
	}
	.page-institution-meal .meal-gallery > .flex-cnt-01:first-child .meal-gallery-img picture,
	.page-institution-meal .meal-gallery > .flex-cnt-01:first-child .meal-gallery-img img {
		display: block;
		width: 100%;
	}
	.page-institution-meal .meal-gallery > .flex-cnt-01:first-child .meal-gallery-img img {
		height: 39.063vw; /* 300 */
	}
	.page-institution-meal .meal-gallery > .flex-cnt-01:not(:first-child) .meal-gallery-img picture,
	.page-institution-meal .meal-gallery > .flex-cnt-01:not(:first-child) .meal-gallery-img img {
		display: block;
		width: 100%;
	}
	.page-institution-meal .meal-gallery > .flex-cnt-01:not(:first-child) .meal-gallery-img img {
		height: 32.552vw; /* 250 */
	}
	.page-institution-meal .meal-gallery-img img {
		border-radius: 2.605vw;
	}

	.page-institution-meal .sec-dining {
		padding-top: 19.531vw;
		padding-bottom: 19.531vw;
		margin-top: 13.021vw;
	}
	.page-institution-meal .dining-block {
		flex-direction: column;
		gap: 7.813vw; /* 60 */
	}
	.page-institution-meal .dining-body {
		max-width: none;
	}
	.page-institution-meal .dining-ttl {
		margin-bottom: 7.813vw; /* 40 */
		font-size: 6.25vw; /* 48 */
		text-align: center;
	}
	.page-institution-meal .dining-body .txt-01 {
		font-size: 4.167vw;
		line-height: 1.9;
	}
	.page-institution-meal .dining-main-img {
		flex: none;
		width: 100%;
	}
	.page-institution-meal .dining-main-img img {
		height: 78.125vw; /* 600 */
		border-radius: 2.605vw;
	}
	.page-institution-meal .sec-dining .meal-gallery {
		margin-top: 8.334vw; /* 40 */
	}
	.page-institution-meal .sec-dining .meal-gallery > .flex-cnt-01:first-child .meal-gallery-img img {
		height: 39.063vw; /* 300 */
	}
}


/*================
施設個別ページ

構成:
  ├─ 施設トップ共通（.page-institution-facility）
  ├─ 施設概要共通（.page-institution-outline）
  ├─ サポート共通（.page-institution-support）
  └─ 施設個別差分（必要なときだけ .page-institution-{slug}）
================*/

/*================
施設トップ共通（.page-institution-facility）
プレフィックス: inst-fac-
================*/
/* パンくず */
.page-institution-facility .breadcrumb {
	padding-bottom: 0;
}
/* MV（PC: 1600×920 / SP: 768×1440）
----------------------------------------------------------*/
.page-institution-facility .inst-fac-mv .mv-visual {
	height: 920px;
}
.page-institution-facility .inst-fac-mv .mv-visual img {
	height: 920px;
	object-position: center center;
}
.page-institution-facility .inst-fac-mv .mv-inner {
	display: flex;
	flex-direction: column;
	min-height: calc(920px - var(--header-height));
}
.page-institution-facility .inst-fac-mv-body {
	flex: 1 1 auto;
	display: flex;
	align-items: flex-start;
	box-sizing: border-box;
	width: 100%;
	padding: 71px 0 80px; /* 左右は inner-1320 に合わせる */
}
.page-institution-facility .inst-fac-mv-body > .inner-1320 {
	width: 100%;
}
.page-institution-facility .inst-fac-mv-layout {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 40px; /* タイトル / 区切り線 / タグ の間隔 */
	width: 100%;
}
.page-institution-facility .inst-fac-mv-main {
	flex: 0 1 544px;
	width: 544px;
	max-width: 100%;
	min-width: 0;
}
.page-institution-facility .inst-fac-mv-label {
	display: block;
	margin: 0 0 20px;
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.01em;
	text-shadow: 0 0 20px rgba(255, 255, 255, 0.95), 0 0 40px rgba(255, 255, 255, 0.9), 0 0 60px rgba(255, 255, 255, 0.75);
}
.page-institution-facility .inst-fac-ttl {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	color: #222;
	font-size: 42px;
	font-weight: 600;
	line-height: 1.4;
	text-shadow: 0 0 20px rgba(255, 255, 255, 0.95), 0 0 40px rgba(255, 255, 255, 0.9), 0 0 60px rgba(255, 255, 255, 0.75);
}
.page-institution-facility .inst-fac-ttl-main {
	display: block;
}
.page-institution-facility .inst-fac-mv-en {
	display: block;
	margin: 0;
	color: #447D1A;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: 0.01em;
	text-shadow: 0 0 20px rgba(255, 255, 255, 0.95), 0 0 40px rgba(255, 255, 255, 0.9), 0 0 60px rgba(255, 255, 255, 0.75);
}
.page-institution-facility .inst-fac-mv-divider {
	flex: 0 0 1px;
	align-self: stretch;
	width: 1px;
	height: auto;
	margin: 0;
	background-color: #D0D7C8;
}
.page-institution-facility .inst-fac-badge-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start; /* 2つ時・カラム落ち時も左寄せ */
	min-width: 0;
	gap: 13px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.page-institution-facility .inst-fac-mv .inst-fac-badge-list {
	flex: 0 1 691px;
	width: 691px;
	max-width: 100%;
}
.page-institution-facility .inst-fac-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 69px;
	padding: 12px 20px;
	border-radius: 10px;
	background-color: #447D1A;
	color: #fff;
}
.page-institution-facility .inst-fac-badge-icn {
	display: block;
	width: 25px;
	height: 25px;
	flex-shrink: 0;
	object-fit: contain;
}
.page-institution-facility .inst-fac-badge-txt {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.8;
	white-space: normal;
}
.page-institution-facility .inst-fac-mv + .inst-fac-nav,
.page-institution-facility .inst-fac-mv + .inst-fac-badge-list + .inst-fac-nav {
	margin-top: -40px; /* Figma: MV(920) にナビ枠(880〜)が40px重なる */
}

/* 施設内リンクナビ（Figma: 1320×136 / ボタン232×56）
----------------------------------------------------------*/
.page-institution-facility .inst-fac-nav,
.page-institution-outline .inst-fac-nav,
.page-institution-support .inst-fac-nav {
	position: relative;
	z-index: 2;
}
.page-institution-facility .inst-fac-nav > .inner-1320,
.page-institution-outline .inst-fac-nav > .inner-1320,
.page-institution-support .inst-fac-nav > .inner-1320 {
	box-sizing: border-box;
	padding: 40px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.page-institution-facility .inst-fac-nav-list,
.page-institution-outline .inst-fac-nav-list,
.page-institution-support .inst-fac-nav-list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 20px;
}
.page-institution-facility .inst-fac-nav-list .btn-01,
.page-institution-outline .inst-fac-nav-list .btn-01,
.page-institution-support .inst-fac-nav-list .btn-01 {
	display: flex;
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}
.page-institution-facility .inst-fac-nav-list .btn-01 a,
.page-institution-outline .inst-fac-nav-list .btn-01 a,
.page-institution-support .inst-fac-nav-list .btn-01 a {
	width: 100%;
	padding: 7px 40px;
}
.page-institution-facility .inst-fac-nav + .sec-inst-fac-gallery {
	margin-top: 80px;
}

/* 画像ギャラリー（Figma: 大919×500 / 小377×238 / gap24）
----------------------------------------------------------*/
.page-institution-facility .sec-inst-fac-gallery {
	padding-top: 0;
	padding-bottom: 0;
}
.page-institution-facility .inst-fac-gallery-grid {
	display: flex;
	align-items: stretch;
	gap: 24px;
}
.page-institution-facility .inst-fac-gallery-img {
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
}
.page-institution-facility .inst-fac-gallery-img picture {
	display: block;
	width: 100%;
	height: 100%;
}
.page-institution-facility .inst-fac-gallery-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-institution-facility .inst-fac-gallery-img.type-lg {
	flex: 0 0 919px;
	width: 919px;
	height: 500px;
}
.page-institution-facility .inst-fac-gallery-side {
	display: flex;
	flex: 0 0 377px;
	flex-direction: column;
	gap: 24px;
	width: 377px;
}
.page-institution-facility .inst-fac-gallery-side .inst-fac-gallery-img {
	flex: 1 1 auto;
	height: 238px;
}

/* アクセス（Figma: BG #F7F9F4 / 本文644 + 地図644）
----------------------------------------------------------*/
.page-institution-facility .sec-inst-fac-access {
	margin-top: 160px;
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #F7F9F4;
}
.page-institution-facility .inst-fac-access-grid {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
}
.page-institution-facility .inst-fac-access-main {
	flex: 0 1 644px;
	max-width: 644px;
}
.page-institution-facility .inst-fac-access-ttl {
	margin: 0;
}
.page-institution-facility .inst-fac-access-address {
	margin: 40px 0 0;
}
.page-institution-facility .inst-fac-access-tel {
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 10px 0 0;
	color: #447D1A;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.5;
}
.page-institution-facility .inst-fac-access-tel a {
	color: inherit;
	text-decoration: none;
}
.page-institution-facility .inst-fac-access-tel-icn {
	display: block;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
}
.page-institution-facility .inst-fac-access-ways {
	margin-top: 40px;
}
.page-institution-facility .inst-fac-access-way + .inst-fac-access-way {
	margin-top: 20px;
}
.page-institution-facility .inst-fac-access-way-ttl {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0 0 10px;
}
.page-institution-facility .inst-fac-access-mark {
	margin-right: 0.25em;
	color: #447D1A;
}
.page-institution-facility .inst-fac-access-way .txt-01 {
	margin: 0;
}
.page-institution-facility .inst-fac-access-btn {
	margin-top: 60px;
}
.page-institution-facility .inst-fac-access-map {
	flex: 0 0 644px;
	width: 644px;
	height: 500px;
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
}
.page-institution-facility .inst-fac-access-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}
/* アクセス（色背景）直後のお問い合わせは 10px（共通の160pxを上書き） */
.page-institution-facility .sec-inst-fac-access + .bc-wrap.sp-mode-01 + .sec-contact,
.page-institution-facility .sec-inst-fac-access + .sec-contact {
	margin-top: 10px;
}

@media only screen and (max-width: 768px) {
	/* SP MV: 768×1440。テキストは画像上、バッジはMV下（Figma 3118:8333） */
	.page-institution-facility .inst-fac-mv .mv-visual {
		height: 187.5vw; /* 1440/768 */
	}
	.page-institution-facility .inst-fac-mv .mv-visual img {
		height: 187.5vw;
		object-position: center center;
	}
	.page-institution-facility .inst-fac-mv .mv-inner {
		display: flex;
		flex-direction: column;
		min-height: calc(187.5vw - var(--header-height));
		padding-top: 4.813vw; /* 60: ヘッダー下〜テキスト（site_frame_sp の上書き） */
	}
	.page-institution-facility .inst-fac-mv-body {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		padding: 0; /* 左右余白は inner-1320（site_frame_sp）に委譲。PC変更の影響を出さない */
	}
	.page-institution-facility .inst-fac-mv-layout {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0;
	}
	.page-institution-facility .inst-fac-mv-main {
		flex: 1 1 auto;
		width: auto;
		max-width: none;
	}
	.page-institution-facility .inst-fac-mv .inst-fac-badge-list.pc-mode-05 {
		flex: 1 1 auto;
		width: auto;
		max-width: none;
		min-width: auto;
	}
	.page-institution-facility .inst-fac-mv-label {
		margin-bottom: 5.208vw; /* 40 */
		font-size: 5.208vw; /* 40 */
	}
	.page-institution-facility .inst-fac-ttl {
		margin-bottom: 0;
		font-size: 8.333vw; /* 64 */
		line-height: 1.5;
	}
	.page-institution-facility .inst-fac-mv-en {
		font-size: 3.125vw; /* 24 */
	}
	.page-institution-facility .inst-fac-mv-divider {
		display: none;
	}
	/* MV直後（画像下）に配置。上余白60 */
	.page-institution-facility .inst-fac-mv + .inst-fac-badge-list {
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		gap: 5.208vw; /* 40 */
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		margin: 7.813vw 0 0; /* 60: MV下端〜バッジ */
		padding: 0 5.208vw; /* 40 */
	}
	.page-institution-facility .inst-fac-badge {
		width: 100%;
		min-height: 20.833vw; /* 160 */
		padding: 0 5.208vw 0 7.813vw; /* 右40 / 左60 */
		border-radius: 2.604vw; /* 20 */
		justify-content: flex-start;
		gap: 5.208vw;
	}
	.page-institution-facility .inst-fac-badge-icn {
		width: 10.417vw; /* 80 */
		height: 10.417vw;
	}
	.page-institution-facility .inst-fac-badge-txt {
		font-size: 4.427vw; /* 約34（コンポーネント幅に合わせる） */
		white-space: normal;
	}

	/* ナビ: SPはMVに重ねない。バッジ下〜枠まで250 */
	.page-institution-facility .inst-fac-mv + .inst-fac-nav,
	.page-institution-facility .inst-fac-mv + .inst-fac-badge-list + .inst-fac-nav {
		margin-top: 32.552vw; /* 250 */
	}
	.page-institution-facility .inst-fac-nav,
	.page-institution-outline .inst-fac-nav,
	.page-institution-support .inst-fac-nav {
		padding: 0 5.208vw; /* 40 */
	}
	.page-institution-facility .inst-fac-nav > .inner-1320,
	.page-institution-outline .inst-fac-nav > .inner-1320,
	.page-institution-support .inst-fac-nav > .inner-1320 {
		padding: 7.813vw; /* 60 */
		border-radius: 2.604vw; /* 20 */
	}
	.page-institution-facility .inst-fac-nav-list,
	.page-institution-outline .inst-fac-nav-list,
	.page-institution-support .inst-fac-nav-list {
		flex-direction: column;
		gap: 5.208vw; /* 40 */
	}
	.page-institution-facility .inst-fac-nav-list .btn-01 a,
	.page-institution-outline .inst-fac-nav-list .btn-01 a,
	.page-institution-support .inst-fac-nav-list .btn-01 a {
		width: 100%;
		padding: 2.604vw 5.208vw;
	}

	/* ギャラリー SP */
	.page-institution-facility .inst-fac-nav + .sec-inst-fac-gallery {
		margin-top: 19.532vw; /* 150 */
	}
	.page-institution-facility .sec-inst-fac-gallery {
		margin-top: 0;
	}
	.page-institution-facility .inst-fac-gallery-grid {
		flex-direction: column;
		gap: 5.208vw; /* 40 */
	}
	.page-institution-facility .inst-fac-gallery-img {
		border-radius: 2.604vw; /* 20 */
	}
	.page-institution-facility .inst-fac-gallery-img.type-lg {
		flex: 1 1 auto;
		width: 100%;
		height: 65.104vw; /* 500 */
	}
	.page-institution-facility .inst-fac-gallery-side {
		flex: 1 1 auto;
		flex-direction: row;
		gap: 5.208vw;
		width: 100%;
	}
	.page-institution-facility .inst-fac-gallery-side .inst-fac-gallery-img {
		flex: 1 1 calc((100% - 5.208vw) / 2);
		width: auto;
		height: 32.552vw; /* 250 */
	}

	/* アクセス SP: タイトル → 地図 → ボタン → 住所・TEL・経路 */
	.page-institution-facility .sec-inst-fac-access {
		margin-top: 31.532vw;
		padding-top: 19.532vw;
		padding-bottom: 19.532vw;
	}
	.page-institution-facility .inst-fac-access-grid {
		flex-direction: column;
		gap: 0;
	}
	.page-institution-facility .inst-fac-access-main {
		display: contents;
		max-width: none;
	}
	.page-institution-facility .inst-fac-access-ttl {
		order: 1;
	}
	.page-institution-facility .inst-fac-access-map {
		flex: 1 1 auto;
		order: 2;
		width: 100%;
		height: auto;
		aspect-ratio: 688 / 500; /* Figma SP: 688×500 */
		margin-top: 7.813vw; /* 60: タイトル下 */
		border-radius: 2.604vw;
	}
	.page-institution-facility .inst-fac-access-btn {
		order: 3;
		margin-top: 5.208vw; /* 40: 地図下〜ボタン。見た目は site_frame の btn-01 のまま */
	}
	.page-institution-facility .inst-fac-access-info {
		order: 4;
		margin-top: 7.813vw; /* 60: ボタン下〜住所 */
	}
	.page-institution-facility .inst-fac-access-address {
		margin-top: 0;
		font-size: 4.167vw;
	}
	.page-institution-facility .inst-fac-access-tel {
		gap: 3.906vw;
		margin-top: 3.208vw;
		font-size: 6.25vw; /* 48 */
	}
	.page-institution-facility .inst-fac-access-tel-icn {
		width: 7.813vw; /* 60 */
		height: 7.813vw;
	}
	.page-institution-facility .inst-fac-access-ways {
		margin-top: 7.813vw;
	}
	.page-institution-facility .inst-fac-access-way + .inst-fac-access-way {
		margin-top: 5.208vw;
	}
	.page-institution-facility .inst-fac-access-way-ttl {
		margin-bottom: 2.604vw;
		font-size: 5.208vw;
	}
	.page-institution-facility .inst-fac-access-way .txt-01 {
		font-size: 4.167vw;
	}
	.page-institution-facility .main > .bc-wrap.sp-mode-01 {
		margin-top: 2.604vw; /* 20 */
	}
}

/*================
施設概要共通（.page-institution-outline）
プレフィックス: inst-out-
================*/
/* パンくず */
.page-institution-outline .breadcrumb {
	padding-bottom: 0;
}

/* MV（PC: 1600×415・右端固定でカバー／SP: 768×542）
----------------------------------------------------------*/
.page-institution-outline .inst-out-mv .mv-visual {
	height: 415px;
}
.page-institution-outline .inst-out-mv .mv-visual img {
	width: 100%;
	height: 100%;
	margin-left: 0;
	object-fit: cover;
	object-position: right center;
}
.page-institution-outline .inst-out-mv .mv-inner {
	min-height: calc(415px - var(--header-height));
}
.page-institution-outline .inst-out-mv .page-head {
	padding-top: calc(241px - var(--header-height));
}
.page-institution-outline .inst-out-ttl {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	color: #222;
}
.page-institution-outline .inst-out-ttl-label {
	display: block;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
.page-institution-outline .inst-out-ttl-main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	font-size: 42px;
	font-weight: 600;
	line-height: 1.4;
}
.page-institution-outline .inst-out-ttl-main::after {
	content: "";
	width: 50px;
	height: 2px;
	border-radius: 20px;
	background: #447D1A;
}

/* 施設の概要（表＋写真）※ risecarestudio rsc-sm-about-grid を流用（プレフィックスのみ変更）
----------------------------------------------------------*/
.page-institution-outline .sec-inst-out-about {
	padding-top: 80px; /* MV直後はsection+sectionのmarginが効かないため指定 */
}
.page-institution-outline .sec-inst-out-about > .inner-1320 {
	display: flex;
	flex-direction: column;
	gap: 0px; /* outlineはリード文なしのため 80→0（Figma） */
}
.page-institution-outline .inst-out-about-grid {
	display: flex;
	align-items: flex-start;
	gap: 32px;
}
.page-institution-outline .inst-out-about-info {
	flex: 0 0 644px;
	width: 644px;
}
.page-institution-outline .inst-out-about-info .dl-list-01 .dl-item {
	align-items: center;
	padding: 20px 40px;
}
.page-institution-outline .inst-out-about-info .dl-txt > p {
	margin: 0;
}
.page-institution-outline .inst-out-about-info .dl-txt > p + p {
	margin-top: 5px;
}
.page-institution-outline .inst-out-about-img {
	flex: 0 0 644px;
	width: 644px;
	margin: 0;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.page-institution-outline .inst-out-about-img img {
	display: block;
	width: 100%;
	height: 400px;
	border-radius: 10px;
	object-fit: cover;
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	/* MV: 共通SP（542 / タイトル開始692）を活かし、白グラデは不要 */
	.page-institution-outline .inst-out-mv .mv-visual {
		height: 70.573vw; /* 542 */
	}
	.page-institution-outline .inst-out-mv .mv-visual img {
		width: 100%;
		height: 100%;
		margin-left: 0;
		object-fit: cover;
		object-position: center center;
	}
	.page-institution-outline .inst-out-mv .mv-inner {
		min-height: 0;
		padding-top: calc(90.104vw - var(--header-height)); /* 692 */
	}
	.page-institution-outline .inst-out-mv .page-head {
		padding-top: 0;
	}
	.page-institution-outline .inst-out-ttl {
		align-items: center;
		gap: 2.604vw; /* 20 */
		text-align: center;
	}
	.page-institution-outline .inst-out-ttl-label {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}
	.page-institution-outline .inst-out-ttl-main {
		align-items: center;
		gap: 2.604vw; /* 20 */
		font-size: 8.333vw; /* 64 */
		line-height: 1.5;
	}
	.page-institution-outline .inst-out-ttl-main::after {
		width: 13.021vw; /* 100 */
		height: 0.521vw; /* 4 */
	}
	.page-institution-outline .sec-inst-out-about {
		padding-top: 19.532vw; /* 150 / MV直後のため必要 */
		padding-bottom: 0;
	}
	.page-institution-outline .sec-inst-out-about > .inner-1320 {
		gap: 0;
	}
	.page-institution-outline .inst-out-about-grid {
		flex-direction: column;
		gap: 8.334vw;
	}
	.page-institution-outline .inst-out-about-info,
	.page-institution-outline .inst-out-about-img {
		flex: 1 1 auto;
		width: 100%;
	}
	.page-institution-outline .inst-out-about-info .dl-list-01 .dl-item {
		align-items: flex-start;
		padding: 5.209vw 0;
	}
	.page-institution-outline .inst-out-about-img {
		border-radius: 2.604vw; /* 20 */
		box-shadow: 0 0 5.208vw rgba(0, 0, 0, 0.1); /* 40 */
	}
	.page-institution-outline .inst-out-about-img img {
		height: 65.105vw; /* 500 */
		border-radius: 2.605vw;
	}
}

/* 共用部設備（写真カード4列 / 写真250px丸角上のみ + 薄緑テキストボックス丸角下のみ）
   列組みは .flex-wrap-01.flex-4 に任せる
----------------------------------------------------------*/
.page-institution-outline .sec-inst-out-common,
.page-institution-outline .sec-inst-out-room {
	/* padding-top は section+section margin-top:160px に任せる */
	padding-bottom: 0;
}
.page-institution-outline .inst-out-facility-list {
	align-items: stretch;
}
.page-institution-outline .inst-out-facility-list > .flex-cnt-01 {
	display: flex;
}
.page-institution-outline .inst-out-facility-item {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.page-institution-outline .inst-out-facility-img {
	margin: 0;
	border-radius: 10px 10px 0 0;
	overflow: hidden;
	flex-shrink: 0;
}
.page-institution-outline .inst-out-facility-img img {
	display: block;
	width: 100%;
	height: 250px;
	object-fit: cover;
}
.page-institution-outline .inst-out-facility-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 40px;
	background: #f7f9f4;
	border-radius: 0 0 10px 10px;
	text-align: center;
}
.page-institution-outline .inst-out-facility-ttl {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	color: #447d1a;
}
.page-institution-outline .inst-out-facility-txt {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
	color: #222;
	text-align: left;
}

/* 安心設備（アイコンカード4列）
   列組みは .flex-wrap-01.flex-4 に任せる
----------------------------------------------------------*/
.page-institution-outline .sec-inst-out-safety {
	padding-bottom: 0;
}
.page-institution-outline .inst-out-safety-list {
	align-items: stretch;
}
.page-institution-outline .inst-out-safety-list > .flex-cnt-01 {
	display: flex;
}
.page-institution-outline .inst-out-safety-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	gap: 39px;
	padding: 40px;
	background: #f7f9f4;
	border-radius: 10px;
	text-align: center;
}
.page-institution-outline .inst-out-safety-icn {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.page-institution-outline .inst-out-safety-icn img {
	width: 80px;
	height: 80px;
	object-fit: contain;
}
.page-institution-outline .inst-out-safety-body {
	display: flex;
	flex-direction: column;
	gap: 21px;
}
.page-institution-outline .inst-out-safety-ttl {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	color: #447d1a;
}
.page-institution-outline .inst-out-safety-txt {
	margin: 0;
	font-size: 16px;
	line-height: 1.8;
	color: #222;
	text-align: left;
}

@media screen and (max-width: 768px) {
	/* 共用部設備 / 居室設備 SP（列組み・縦積み余白は flex-wrap-01 に任せる）
	   フォントはSPデザイン（768基準）: 小タイトル40 / 本文32＝ttl-03 / txt-01 と同換算 */
	.page-institution-outline .sec-inst-out-common,
	.page-institution-outline .sec-inst-out-room {
		padding-bottom: 0;
	}
	.page-institution-outline .inst-out-facility-img {
		border-radius: 2.604vw 2.604vw 0 0; /* 20 */
	}
	.page-institution-outline .inst-out-facility-img img {
		height: 52.083vw; /* 400 */
	}
	.page-institution-outline .inst-out-facility-body {
		gap: 5.208vw; /* 40 */
		padding: 7.813vw; /* 60 */
		border-radius: 0 0 2.604vw 2.604vw; /* 20 */
	}
	.page-institution-outline .inst-out-facility-ttl {
		font-size: 5.208vw; /* 40 */
		line-height: 1.5;
	}
	.page-institution-outline .inst-out-facility-txt {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
	}

	/* 安心設備 SP: アイコン＋テキスト横並び、テキスト左揃え */
	.page-institution-outline .sec-inst-out-safety {
		padding-bottom: 0;
	}
	.page-institution-outline .inst-out-safety-item {
		flex-direction: row;
		align-items: center;
		gap: 5.208vw; /* 40 */
		padding: 7.813vw; /* 60 */
		background: #f7f9f4;
		border-radius: 2.604vw; /* 20 */
		text-align: left;
	}
	.page-institution-outline .inst-out-safety-icn {
		width: 23.438vw; /* 180 */
		height: 23.438vw;
		background-color: #fff;
	}
	.page-institution-outline .inst-out-safety-icn img {
		width: 16.927vw; /* 130 */
		height: 16.927vw;
	}
	.page-institution-outline .inst-out-safety-body {
		flex: 1 1 auto;
		min-width: 0;
		align-items: flex-start;
		gap: 5.208vw; /* 40 */
	}
	.page-institution-outline .inst-out-safety-ttl {
		font-size: 5.208vw; /* 40 */
		line-height: 1.5;
		text-align: left;
	}
	.page-institution-outline .inst-out-safety-txt {
		font-size: 4.167vw; /* 32 */
		line-height: 1.9;
		text-align: left;
	}
}

/* 関連情報（2ボタン中央寄せ）
----------------------------------------------------------*/
.page-institution-outline .sec-inst-out-related {
	/* padding-top は section+section margin-top:160px に任せる */
	padding-bottom: 0;
}
.page-institution-outline .sec-inst-out-related > .inner-1320 {
	display: flex;
	flex-direction: column;
	gap: 0px;
}
.page-institution-outline .inst-out-related-nav-list {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 32px;
	padding: 40px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.page-institution-outline .inst-out-related-nav-list .btn-01 {
	flex: 0 0 350px;
	width: 350px;
	margin: 0;
}
.page-institution-outline .inst-out-related-nav-list .btn-01 a {
	width: 100%;
	padding: 7px 40px;
}

/* ご入居やご見学、ご相談など
   列組みは .flex-wrap-01.flex-4 に任せる
----------------------------------------------------------*/
.page-institution-outline .sec-inst-out-cta {
	padding: 80px 0;
	background: #fefaf1;
}
.page-institution-outline .sec-inst-out-cta .sec-wrap {
	text-align: center;
}
.page-institution-outline .inst-out-cta-list {
	align-items: stretch;
	text-align: left;
}
.page-institution-outline .inst-out-cta-list > .flex-cnt-01 {
	display: flex;
}
.page-institution-outline .inst-out-cta-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: 40px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	text-align: center;
}
.page-institution-outline .inst-out-cta-icn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	margin-bottom: 20px;
	border-radius: 50%;
	overflow: visible;
}
.page-institution-outline .inst-out-cta-icn.type-01,
.page-institution-outline .inst-out-cta-icn.type-02,
.page-institution-outline .inst-out-cta-icn.type-04 {
	background: #f0f7d6;
}
.page-institution-outline .inst-out-cta-icn.type-03 {
	background: #fefaf1;
}
.page-institution-outline .inst-out-cta-icn img {
	display: block;
	width: 46px;
	height: auto;
}
.page-institution-outline .inst-out-cta-ttl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: calc(20px * 1.5 + 16px * 1.5); /* 2行タイトル高さに合わせる */
	margin: 0 0 20px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	color: #222;
}
.page-institution-outline .inst-out-cta-ttl span {
	display: block;
	font-size: 16px;
}
.page-institution-outline .inst-out-cta-card .btn-01 {
	width: 100%;
	margin-top: auto;
	flex-shrink: 0;
}
.page-institution-outline .inst-out-cta-card .btn-01 a {
	box-sizing: border-box;
	width: 100%;
	min-height: 56px;
}
.page-institution-outline .inst-out-cta-btn-contact a {
	padding: 6px 40px;
}
.page-institution-outline .inst-out-cta-tel a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: 8px;
	color: #447d1a;
	text-decoration: none;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
}

/* スタッフブログ
   列組みは .flex-wrap-01.flex-3 に任せる
----------------------------------------------------------*/
.page-institution-outline .sec-inst-out-blog {
	padding-bottom: 0;
}
.page-institution-outline .sec-inst-out-blog .sec-wrap {
	text-align: center;
}
.page-institution-outline .sec-inst-out-blog .ttl-02 {
	text-align: left;
}
.page-institution-outline .inst-out-blog-list {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: stretch;
	text-align: left;
}
.page-institution-outline .inst-out-blog-list > .flex-cnt-01 {
	display: flex;
}
.page-institution-outline .inst-out-blog-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #f7f9f4;
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
}
.page-institution-outline .inst-out-blog-img {
	margin: 0;
	overflow: hidden;
	border-radius: 10px 10px 0 0;
	aspect-ratio: 419 / 250;
}
.page-institution-outline .inst-out-blog-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.page-institution-outline .inst-out-blog-body {
	padding: 40px;
}
.page-institution-outline .inst-out-blog-meta {
	margin: 0 0 10px;
	color: #555;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.8;
}
.page-institution-outline .inst-out-blog-ttl {
	margin: 0;
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.8;
}
.page-institution-outline .inst-out-blog-btn {
	margin: 40px auto 0;
}

@media screen and (max-width: 768px) {
	.page-institution-outline .sec-inst-out-related {
		padding-bottom: 0;
	}
	.page-institution-outline .inst-out-related-nav-list {
		flex-direction: column;
		align-items: stretch;
		gap: 5.208vw; /* 40 */
		padding: 7.813vw; /* 60 */
		border-radius: 2.604vw; /* 20 */
		box-shadow: 0 0 5.208vw rgba(0, 0, 0, 0.1);
	}
	.page-institution-outline .inst-out-related-nav-list .btn-01 {
		flex: 1 1 auto;
		width: 100%;
	}
	.page-institution-outline .inst-out-related-nav-list .btn-01 a {
		padding: 2.604vw 5.208vw;
	}

	.page-institution-outline .sec-inst-out-cta {
		margin-top: 19.531vw;
		padding: 19.532vw 0;
	}
	.page-institution-outline .sec-inst-out-cta .sec-wrap {
		text-align: center;
	}
	.page-institution-outline .inst-out-cta-card {
		gap: 5.208vw; /* 40: アイコン〜テキスト〜ボタン */
		padding: 7.209vw 5.209vw;
		border-radius: 2.604vw;
		box-shadow: 0 0 5.208vw rgba(0, 0, 0, 0.1);
	}
	.page-institution-outline .inst-out-cta-icn {
		width: 15.625vw; /* 120 */
		height: 15.625vw;
		margin-bottom: 0;
	}
	.page-institution-outline .inst-out-cta-icn img {
		width: 10.417vw; /* 80 */
		height: auto;
	}
	.page-institution-outline .inst-out-cta-ttl {
		min-height: inherit;
		margin-bottom: 0;
		font-size: 5.208vw; /* 40 */
		line-height: 1.5;
	}
	.page-institution-outline .inst-out-cta-ttl span {
		font-size: 4.167vw; /* 32 */
	}
	.page-institution-outline .inst-out-cta-card .btn-01 {
		margin-top: 0;
	}
	.page-institution-outline .inst-out-cta-card .btn-01 a {
		min-height: 14.583vw;
	}
	.page-institution-outline .inst-out-cta-btn-contact a {
		padding: 1.563vw 5.208vw;
	}
	.page-institution-outline .inst-out-cta-tel a {
		min-height: 7.292vw;
		padding: 1.563vw 3.125vw;
		font-size: 5.99vw;
	}

	.page-institution-outline .sec-inst-out-blog {
		padding-bottom: 0;
	}
	.page-institution-outline .sec-inst-out-blog .ttl-02 {
		text-align: center;
	}
	.page-institution-outline .inst-out-blog-card {
		border-radius: 2.604vw; /* 20 */
	}
	.page-institution-outline .inst-out-blog-img {
		aspect-ratio: 688 / 400;
		border-radius: 2.604vw 2.604vw 0 0;
	}
	.page-institution-outline .inst-out-blog-body {
		padding: 7.813vw;
	}
	.page-institution-outline .inst-out-blog-meta {
		margin-bottom: 2.604vw;
		font-size: 3.906vw;
		line-height: 1.5;
	}
	.page-institution-outline .inst-out-blog-ttl {
		font-size: 4.688vw;
		line-height: 1.9;
	}
	.page-institution-outline .inst-out-blog-btn {
		margin-top: 7.813vw; /* 60 */
	}
}

/* 以前追加した inst-fac-nav セレクター拡張（outline/supportはinst-out-related-navを使用するため削除可）
   → inst-fac-nav のoutline/supportへの拡張は念のため残す（index.html等で共用の可能性）
----------------------------------------------------------*/

/*================
サポート共通（.page-institution-support）
プレフィックス: inst-sup-
================*/
.page-institution-support .breadcrumb {
	padding-bottom: 0;
}

/* MV
----------------------------------------------------------*/
.page-institution-support .inst-sup-mv .mv-visual {
	height: 415px;
}
.page-institution-support .inst-sup-mv .mv-visual img {
	width: 100%;
	height: 100%;
	margin-left: 0;
	object-fit: cover;
	object-position: right center;
	/* width: auto;
	max-width: none;
	height: 100%;
	margin-left: auto;
	object-fit: unset;
	object-position: right center; */
}
.page-institution-support .inst-sup-mv .mv-inner {
	min-height: calc(415px - var(--header-height));
}
.page-institution-support .inst-sup-mv .page-head {
	padding-top: calc(241px - var(--header-height));
}
.page-institution-support .inst-sup-ttl {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	color: #222;
}
.page-institution-support .inst-sup-ttl-label {
	display: block;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
}
.page-institution-support .inst-sup-ttl-main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	font-size: 42px;
	font-weight: 600;
	line-height: 1.4;
}
.page-institution-support .inst-sup-ttl-main::after {
	content: "";
	width: 50px;
	height: 2px;
	border-radius: 20px;
	background: #447D1A;
}

/* 施設内での介護・医療体制
----------------------------------------------------------*/
.page-institution-support .sec-inst-sup-system {
	padding-top: 80px;
	padding-bottom: 0;
}
.page-institution-support .inst-sup-status-group + .inst-sup-status-group {
	margin-top: 40px;
}
.page-institution-support .inst-sup-status {
	display: flex;
	gap: 1px;
	overflow: hidden;
	border: 1px solid #D0D7C8;
	border-radius: 10px;
	box-sizing: border-box;
	background: #D0D7C8;
}
.page-institution-support .inst-sup-status-head {
	display: flex;
	flex: 0 0 264px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0 40px;
	background: #F0F7D6;
	box-sizing: border-box;
	color: #447D1A;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}
.page-institution-support .inst-sup-status-body {
	flex: 1;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 184fr) minmax(0, 80fr));
	gap: 1px;
	background: #D0D7C8;
}
.page-institution-support .inst-sup-status-cell,
.page-institution-support .inst-sup-status-mark-cell {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80px;
	box-sizing: border-box;
}
.page-institution-support .inst-sup-status-cell {
	padding: 12px 10px;
	background: #F7F9F4;
}
.page-institution-support .inst-sup-status-mark-cell {
	padding: 0;
	background: #fff;
}
.page-institution-support .inst-sup-status-cell-empty,
.page-institution-support .inst-sup-status-mark-cell-empty {
	background: #fff;
}
.page-institution-support .inst-sup-status-label {
	display: block;
	min-height: 20px;
	color: #222;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
}
.page-institution-support .inst-sup-status-label br.pc-mode-02 {
	display: block !important;
}
.page-institution-support .inst-sup-status-label br.sp-mode-02 {
	display: none !important;
}
.page-institution-support .inst-sup-status-mark {
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
}

/* 協力体制
----------------------------------------------------------*/
.page-institution-support .sec-inst-sup-coop {
	padding-bottom: 0;
}
.page-institution-support .inst-sup-content {
	margin-top: 80px;
}
.page-institution-support .inst-sup-block + .inst-sup-block {
	margin-top: 80px;
}
.page-institution-support .inst-sup-subttl {
	margin: 0;
	color: #447D1A;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
}
.page-institution-support .inst-sup-lead {
	margin-top: 20px;
}
.page-institution-support .inst-sup-lead p {
	margin: 0;
}
.page-institution-support .inst-sup-lead p + p {
	margin-top: 4px;
}
.page-institution-support .inst-sup-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 40px 0 0;
	padding: 0;
	list-style: none;
}
.page-institution-support .inst-sup-list li {
	display: flex;
	align-items: baseline;
	gap: 20px;
	color: #222;
	font-size: 20px;
	font-weight: 300;
	line-height: 1.25;
}
.page-institution-support .inst-sup-list li::before {
	content: "";
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	margin-top: 0.15em;
	border-radius: 50%;
	background: #447D1A;
}
.page-institution-support .inst-sup-hospital-list {
	margin-top: 39px;
	align-items: stretch;
}
.page-institution-support .inst-sup-hospital-list > .flex-cnt-01 {
	display: flex;
}
.page-institution-support .inst-sup-hospital-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	/* min-height: 344px; */
	padding: 40px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.page-institution-support .inst-sup-hospital-label {
	margin: 0;
	color: #AFC400;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.8;
}
.page-institution-support .inst-sup-hospital-name {
	margin: 0px 0 0;
	color: #222;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.8;
}
.page-institution-support .inst-sup-hospital-dept {
	margin: 20px 0 0;
	color: #222;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.9;
}
.page-institution-support .inst-sup-hospital-btn {
	width: 100%;
	margin-top: 40px;
}
.page-institution-support .inst-sup-hospital-btn a {
	box-sizing: border-box;
	width: 100%;
	/* min-height: 56px; */
	/* padding: 15px 24px 15px 56px; */
}
.page-institution-support .sec-inst-sup-coop + .bc-wrap.sp-mode-01 + .sec-contact {
	margin-top: 160px;
}

@media screen and (max-width: 768px) {
	.page-institution-support .inst-sup-mv .mv-visual {
		height: 70.573vw; /* 542 */
	}
	.page-institution-support .inst-sup-mv .mv-visual img {
		width: 100%;
		height: 100%;
		margin-left: 0;
		object-fit: cover;
		object-position: center center;
	}
	.page-institution-support .inst-sup-mv .mv-inner {
		min-height: 0;
		padding-top: calc(90.104vw - var(--header-height)); /* 692 */
	}
	.page-institution-support .inst-sup-mv .page-head {
		padding-top: 0;
	}
	.page-institution-support .inst-sup-ttl {
		align-items: center;
		gap: 2.604vw;
		text-align: center;
	}
	.page-institution-support .inst-sup-ttl-label {
		font-size: 4.167vw;
		line-height: 1.9;
	}
	.page-institution-support .inst-sup-ttl-main {
		align-items: center;
		gap: 2.604vw;
		font-size: 8.333vw;
		line-height: 1.5;
	}
	.page-institution-support .inst-sup-ttl-main::after {
		width: 13.021vw;
		height: 0.521vw;
	}

	.page-institution-support .sec-inst-sup-system {
		padding-top: 19.532vw;
		padding-bottom: 0;
	}
	.page-institution-support .inst-sup-status-group + .inst-sup-status-group {
		margin-top: 10.417vw;
	}
	.page-institution-support .inst-sup-status {
		flex-direction: column;
		gap: 0.261vw;
		border-width: 0.261vw;
		border-radius: 2.604vw;
	}
	.page-institution-support .inst-sup-status-head {
		flex: none;
		min-height: 23.438vw; /* 180 */
		padding: 0;
		font-size: 5.208vw;
	}
	.page-institution-support .inst-sup-status-body {
		grid-template-columns: minmax(0, 34.884fr) minmax(0, 15.116fr) minmax(0, 34.884fr) minmax(0, 15.116fr);
		gap: 0.261vw;
	}
	.page-institution-support .inst-sup-status-cell,
	.page-institution-support .inst-sup-status-mark-cell {
		min-height: 0;
	}
	.page-institution-support .inst-sup-status-cell {
		flex-direction: column;
		padding: 5.604vw 2.604vw;
	}
	.page-institution-support .inst-sup-status-label {
		font-size: 3.646vw; /* 28 */
	}
	.page-institution-support .inst-sup-status-label br.pc-mode-02 {
		display: none !important;
	}
	.page-institution-support .inst-sup-status-label br.sp-mode-02 {
		display: block !important;
	}
	.page-institution-support .inst-sup-status-mark {
		font-size: 4.688vw;
	}
	.page-institution-support .inst-sup-status-fill-pc {
		display: none !important;
	}

	.page-institution-support .sec-inst-sup-coop {
		padding-bottom: 0;
	}
	.page-institution-support .inst-sup-content {
		margin-top: 18.625vw;
	}
	.page-institution-support .inst-sup-block + .inst-sup-block {
		margin-top: 18.521vw;
	}
	.page-institution-support .inst-sup-subttl {
		font-size: 5.208vw;
	}
	.page-institution-support .inst-sup-lead {
		margin-top: 8.208vw;
	}
	.page-institution-support .inst-sup-lead,
	.page-institution-support .inst-sup-list li,
	.page-institution-support .inst-sup-hospital-dept {
		font-size: 4.167vw;
		line-height: 1.9;
	}
	.page-institution-support .inst-sup-list {
		margin-top: 8.208vw;
	}
	.page-institution-support .inst-sup-list li {
		gap: 3.906vw;
		font-size: 4.688vw;
		line-height: 1.3;
	}
	.page-institution-support .inst-sup-list li::before {
		width: 2.865vw;
		height: 2.865vw;
	}

	.page-institution-support .inst-sup-hospital-list {
		margin-top: 9.208vw;
	}
	.page-institution-support .inst-sup-hospital-card {
		/* min-height: auto; */
		padding: 7.813vw;
		border-radius: 2.604vw;
		box-shadow: 0 0 5.208vw rgba(0, 0, 0, 0.1);
	}
	.page-institution-support .inst-sup-hospital-label {
		font-size: 3.906vw;
		line-height: 1.5;
	}
	.page-institution-support .inst-sup-hospital-name {
		margin-top: 0;
		font-size: 4.688vw;
		line-height: 1.9;
	}
	.page-institution-support .inst-sup-hospital-dept {
		margin-top: 5.208vw;
	}
	.page-institution-support .inst-sup-hospital-btn {
		margin-top: 7.708vw;
	}
	.page-institution-support .main > .bc-wrap.sp-mode-01 {
		margin-top: 32.552vw; /* 250 */
	}
	.page-institution-support .sec-inst-sup-coop + .bc-wrap.sp-mode-01 + .sec-contact {
		margin-top: 2.604vw; /* 20 */
	}
}

/*================
施設個別差分（必要なときだけ）
例: .page-institution-suminoe …
================*/
