/* フッターのSNSアイコン（Instagram）を拡大 */
.snsFooter__list .snsFooter__link,
.snsFooter__list .snsFooter__link::before {
	font-size: 50px;
}
.snsFooter__list .snsFooter__link {
	line-height: 1;
	display: inline-block;
	padding: 10px;
	transition: opacity .3s;
}
.snsFooter__list .snsFooter__link:hover {
	opacity: .7;
}

/* フッター下部の背景をヘッダーと同じ色に */
.bottomFooter {
	background-color: #21aad3;
}
/* 背景変更にともなう文字色の調整 */
.bottomFooter__copyright,
.bottomFooter__copyright a,
.bottomFooter__link {
	color: #fff;
}
/* トップへ戻るボタンが背景に同化するため白抜きに */
.bottomFooter__topBtn {
	background-color: #fff;
	color: #21aad3;
}

/* ===== RECRUITページ 募集要項 ===== */
.brk-recruit dl,
.brk-recruit dt,
.brk-recruit dd,
.brk-recruit ul,
.brk-recruit li {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	list-style: none;
}
.brk-recruit {
	margin: 2.5em 0 0;
	color: #5a5a5a;
}
.brk-recruit__title {
	position: relative;
	margin: 2.6em 0 .7em;
	padding-left: .7em;
	font-size: 1.35em;
	font-weight: 700;
	line-height: 1.4;
	color: #3a3a3a;
}
.brk-recruit__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 5px;
	border-radius: 3px;
	background: #21aad3;
}
.brk-recruit__lead {
	margin: 0 0 1.8em;
	font-size: .95em;
	line-height: 1.9;
}
.brk-jobs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}
.brk-job {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e3e8ea;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
	overflow: hidden;
}
.brk-job__head {
	padding: 18px 20px;
	background: #f4fafc;
	border-bottom: 1px solid #e3e8ea;
}
.brk-job__badge {
	display: inline-block;
	margin-bottom: .5em;
	padding: .25em .9em;
	border-radius: 999px;
	background: #21aad3;
	color: #fff;
	font-size: .75em;
	font-weight: 700;
	letter-spacing: .05em;
}
.brk-job__badge--part {
	background: #6fbf73;
}
.brk-job__name {
	margin: 0;
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.3;
	color: #2f2f2f;
}
.brk-job__spec {
	margin: 0;
	padding: 4px 20px 18px;
}
.brk-job__row {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 14px;
	padding: 14px 0;
	border-bottom: 1px dashed #e3e8ea;
}
.brk-job__row:last-child {
	border-bottom: 0;
}
.brk-job__spec dt {
	flex: 0 0 5em;
	font-size: .82em;
	font-weight: 700;
	line-height: 1.9;
	color: #1b93b6;
}
.brk-job__spec dd {
	flex: 1 1 60%;
	margin: 0;
	font-size: .95em;
	line-height: 1.75;
}
.brk-job__salary {
	display: block;
	font-size: 1.05em;
	font-weight: 700;
	color: #2f2f2f;
}
.brk-job__note {
	display: block;
	margin-top: .3em;
	font-size: .8em;
	line-height: 1.7;
	color: #8a8a8a;
}
.brk-perks {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 0 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.brk-perks li {
	position: relative;
	padding: 12px 0 12px 1.9em;
	border-bottom: 1px dashed #e3e8ea;
	font-size: .95em;
	line-height: 1.75;
}
.brk-perks li::before {
	content: "";
	position: absolute;
	left: .25em;
	top: 1.3em;
	width: 11px;
	height: 6px;
	border-left: 2px solid #21aad3;
	border-bottom: 2px solid #21aad3;
	transform: rotate(-45deg);
}
.brk-culture {
	margin: 2.6em 0 0;
	padding: 28px 30px;
	background: #f4fafc;
	border-radius: 12px;
}
.brk-culture__title {
	margin: 0 0 1.1em;
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.5;
	color: #1b93b6;
	text-align: center;
}
.brk-culture__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.brk-culture__list li {
	position: relative;
	margin-bottom: .7em;
	padding-left: 1.6em;
	font-size: .95em;
	line-height: 1.8;
}
.brk-culture__list li::before {
	content: "\25CE";
	position: absolute;
	left: 0;
	color: #21aad3;
	font-weight: 700;
}
.brk-culture__msg {
	margin: 1.4em 0 0;
	padding-top: 1.2em;
	border-top: 1px solid #dfeaee;
	font-size: .95em;
	line-height: 1.9;
}
@media (max-width: 767px) {
	.brk-job__head { padding: 16px; }
	.brk-job__spec { padding: 4px 16px 14px; }
	.brk-job__spec dt { flex-basis: 100%; line-height: 1.6; }
	.brk-culture { padding: 22px 18px; }
}

/* テーマ既定の見出し余白・リストアイコンを上書き */
.brk-recruit .brk-recruit__title {
	margin: 2.6em 0 .7em;
}
.brk-recruit .brk-job__name {
	margin: 0;
}
.brk-recruit .brk-culture__title {
	margin: 0 0 1.1em;
}
.brk-recruit .brk-perks li::before {
	content: "";
	font-family: inherit;
	position: absolute;
	left: .25em;
	top: 1.3em;
	width: 11px;
	height: 6px;
	background: none;
	border: 0;
	border-left: 2px solid #21aad3;
	border-bottom: 2px solid #21aad3;
	border-radius: 0;
	transform: rotate(-45deg);
}
.brk-recruit .brk-culture__list li::before {
	content: "\25CE";
	font-family: inherit;
	position: absolute;
	left: 0;
	top: auto;
	width: auto;
	height: auto;
	background: none;
	border: 0;
	color: #21aad3;
	font-weight: 700;
	transform: none;
}

/* リセットに負けていたカード内側の余白を復帰 */
.brk-recruit .brk-job__spec {
	padding: 4px 20px 18px;
}
@media (max-width: 767px) {
	.brk-recruit .brk-job__spec {
		padding: 4px 16px 14px;
	}
}

/* 項目名と値の間隔を詰めてバランス調整 */
.brk-recruit .brk-job__row {
	gap: 2px 10px;
}
.brk-recruit .brk-job__spec dt {
	flex: 0 0 4.6em;
}

/* お問い合わせボタン（CTA） */
.brk-cta {
	margin: 3em 0 1em;
	text-align: center;
}
.brk-recruit .brk-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .7em;
	min-width: 280px;
	padding: 1.05em 2.6em;
	border-radius: 999px;
	background: #1b93b6;
	color: #fff;
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(27, 147, 182, .3);
	transition: background .3s, box-shadow .3s, transform .3s;
}
.brk-recruit .brk-cta__btn::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg) translate(-1px, 1px);
}
.brk-recruit .brk-cta__btn:hover {
	background: #15768f;
	color: #fff;
	box-shadow: 0 7px 20px rgba(27, 147, 182, .42);
	transform: translateY(-2px);
}
@media (max-width: 767px) {
	.brk-recruit .brk-cta__btn {
		display: flex;
		min-width: 0;
		padding: 1em 1.4em;
		font-size: 1.05em;
	}
}

/* ===== お問い合わせフォーム（Contact Form 7） ===== */
.wpcf7 {
	max-width: 720px;
	margin: 2em auto 0;
	padding: 32px 36px;
	background: #fff;
	border: 1px solid #e3e8ea;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}
.wpcf7 form > p {
	margin: 0 0 22px;
	font-size: .95em;
	font-weight: 700;
	line-height: 1.7;
	color: #3a3a3a;
}
.wpcf7 .must,
.wpcf7 .free {
	display: inline-block;
	margin-right: .6em;
	padding: .2em .8em;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .05em;
	vertical-align: 2px;
}
.wpcf7 .must {
	background: #21aad3;
	color: #fff;
}
.wpcf7 .free {
	background: #eef2f4;
	color: #7b8a90;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	margin-top: .55em;
	padding: 13px 14px;
	border: 1px solid #d8e0e3;
	border-radius: 8px;
	background-color: #fff;
	color: #3a3a3a;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .25s, box-shadow .25s;
}
.wpcf7 textarea {
	min-height: 170px;
	resize: vertical;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: #21aad3;
	box-shadow: 0 0 0 3px rgba(33, 170, 211, .18);
}
.wpcf7 select {
	padding-right: 40px;
	cursor: pointer;
	background-image:
	url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2321aad3' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 11px 7px;
}
.wpcf7 input[type="submit"] {
	display: block;
	width: auto;
	min-width: 280px;
	margin: 10px auto 0;
	padding: 1.05em 2.6em;
	border: 0;
	border-radius: 999px;
	background: #1b93b6;
	color: #fff;
	font-family: inherit;
	font-size: 1.1em;
	font-weight: 700;
	letter-spacing: .08em;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(27, 147, 182, .3);
	-webkit-appearance: none;
	appearance: none;
	transition: background .3s, box-shadow .3s, transform .3s;
}
.wpcf7 input[type="submit"]:hover {
	background: #15768f;
	box-shadow: 0 7px 20px rgba(27, 147, 182, .42);
	transform: translateY(-2px);
}
.wpcf7 .wpcf7-spinner {
	display: block;
	margin: 12px auto 0;
}
.wpcf7 .wpcf7-not-valid-tip {
	margin-top: .5em;
	font-size: 12px;
	font-weight: 400;
	color: #cc3b35;
}
.wpcf7 .wpcf7-not-valid {
	border-color: #e0a09d;
	background-color: #fdf7f7;
}
.wpcf7 .wpcf7-response-output {
	margin: 1.6em 0 0;
	padding: 14px 16px;
	border-width: 1px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.7;
}
@media (max-width: 767px) {
	.wpcf7 {
		padding: 22px 18px;
	}
	.wpcf7 input[type="submit"] {
		width: 100%;
		min-width: 0;
		padding: 1em 1.4em;
	}
}

/* お電話でのお問い合わせ */
.brk-contact {
	max-width: 720px;
	margin: 2.5em auto 0;
	padding: 30px 30px 34px;
	background: #f4fafc;
	border-radius: 12px;
	text-align: center;
}
.brk-contact .brk-contact__title {
	margin: 0;
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.5;
	color: #1b93b6;
}
.brk-contact .brk-contact__tel {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	margin-top: .35em;
	color: #1b93b6;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .02em;
	text-decoration: none;
	transition: opacity .25s;
}
.brk-contact .brk-contact__tel::before {
	content: "";
	flex: none;
	width: .72em;
	height: .72em;
	background:
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231b93b6' d='M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.brk-contact .brk-contact__tel:hover {
	opacity: .72;
}
@media (max-width: 767px) {
	.brk-contact {
		padding: 24px 18px 26px;
	}
	.brk-contact .brk-contact__tel {
		font-size: 26px;
	}
}

/* ===== RECRUITページ 上部（募集職種より上） ===== */
/* 冒頭の注意書きをパネル化 */
.content:has(.brk-recruit) > p:first-of-type {
	margin: 0 0 2.6em;
	padding: 16px 20px;
	background: #f4fafc;
	border-left: 4px solid #21aad3;
	border-radius: 0 8px 8px 0;
	font-size: .9em;
	line-height: 1.8;
}
/* 見出しを「募集職種」と同じ体裁に */
.content:has(.brk-recruit) .wp-block-media-text h3 {
	position: relative;
	margin: 0 0 .7em;
	padding-left: .7em;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	color: #3a3a3a !important;
}
.content:has(.brk-recruit) .wp-block-media-text h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 5px;
	border-radius: 3px;
	background: #21aad3;
}
/* 写真をカードと同じ角丸・影に */
.content:has(.brk-recruit) .wp-block-media-text__media img,
.content:has(.brk-recruit) .wp-block-image img {
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}
/* ブロック間の余白を揃える */
.content:has(.brk-recruit) > .wp-block-media-text,
.content:has(.brk-recruit) > .wp-block-group,
.content:has(.brk-recruit) > .wp-block-columns {
	margin-bottom: 2.6em;
}

/* 写真のサイズ感を統一（同じ幅・縦3:4） */
/* 601px以上のみ。600px以下はWordPress標準の縦積みに任せる */
@media (min-width: 601px) {
	.content:has(.brk-recruit) .wp-block-media-text:not(.has-media-on-the-right) {
		grid-template-columns: 36% auto !important;
	}
	.content:has(.brk-recruit) .wp-block-media-text.has-media-on-the-right {
		grid-template-columns: auto 36% !important;
	}
}
.content:has(.brk-recruit) .wp-block-media-text__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}
/* スマホ：写真と見出しの間に余白を確保 */
@media (max-width: 600px) {
	.content:has(.brk-recruit) .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
		padding-top: 2em;
	}
}

/* ===== アクセスページ ===== */
/* 「正面入り口」をキャプション体裁に */
.content:has(.gmp_map_opts) > p:first-of-type {
	margin: 0 0 .8em;
	font-size: .9em;
	color: #8a8a8a !important;
}
/* 外観写真 */
.content:has(.gmp_map_opts) > figure.wp-block-image {
	margin: 0 0 2.6em;
}
.content:has(.gmp_map_opts) > figure.wp-block-image img {
	display: block;
	width: 100%;
	max-width: 720px;
	height: auto;
	margin: 0 auto;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}
/* 園名の見出しを他ページと統一 */
.content:has(.gmp_map_opts) > h3 {
	position: relative;
	margin: 0 0 .7em;
	padding-left: .7em;
	font-size: 26px !important;
	font-weight: 700;
	line-height: 1.4;
	color: #3a3a3a !important;
}
.content:has(.gmp_map_opts) > h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 5px;
	border-radius: 3px;
	background: #21aad3;
}
/* 住所 */
.content:has(.gmp_map_opts) > p.has-medium-font-size {
	margin: 0 0 2.6em;
	line-height: 1.9;
}
/* 経路をカード化して3つを同じ体裁に */
.content:has(.gmp_map_opts) .wp-block-media-text {
	margin: 0 0 20px !important;
	padding: 24px 28px;
	background: #f4fafc;
	border-radius: 12px;
	align-items: center;
}
.content:has(.gmp_map_opts) .wp-block-media-text__media img {
	display: block;
	width: 100%;
	max-width: 320px;
	height: auto;
	margin: 0 auto;
}
.content:has(.gmp_map_opts) .wp-block-media-text__content {
	font-size: .95em;
	line-height: 1.9;
}
/* 601px以上：3つとも「イラスト左・文章右」に揃える */
@media (min-width: 601px) {
	.content:has(.gmp_map_opts) .wp-block-media-text {
		grid-template-columns: 34% auto !important;
	}
	.content:has(.gmp_map_opts) .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media {
		grid-area: 1 / 1;
	}
	.content:has(.gmp_map_opts) .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
		grid-area: 1 / 2;
	}
}
/* スマホ：縦積み時の余白 */
@media (max-width: 600px) {
	.content:has(.gmp_map_opts) .wp-block-media-text {
		padding: 20px 18px;
	}
	.content:has(.gmp_map_opts) .wp-block-media-text > .wp-block-media-text__content {
		padding: 1.3em 0 0;
	}
}
/* 地図 */
.content:has(.gmp_map_opts) .gmp_map_opts {
	margin-top: 2.6em;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}

/* アクセス：経路カード内の見出し（電車の種類） */
.content:has(.gmp_map_opts) .wp-block-media-text__content h3 {
	position: relative;
	margin: 0 0 .8em;
	padding-left: .65em;
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.4;
	color: #3a3a3a !important;
}
.content:has(.gmp_map_opts) .wp-block-media-text__content h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: .12em;
	bottom: .12em;
	width: 4px;
	border-radius: 2px;
	background: #21aad3;
}
/* イラストは余白込みの正方形近似キャンバスなので少し大きめに */
.content:has(.gmp_map_opts) .wp-block-media-text__media img {
	max-width: 260px;
}

/* ===== 給食ページ ===== */
/* セクション見出しを他ページと統一 */
.content:has(.wp-block-gallery) > h1,
.content:has(.wp-block-gallery) > h2 {
	position: relative;
	margin: 2.8em 0 1em;
	padding-left: .7em;
	font-size: 26px !important;
	font-weight: 700;
	line-height: 1.4;
	color: #3a3a3a !important;
}
.content:has(.wp-block-gallery) > h1:first-child,
.content:has(.wp-block-gallery) > h2:first-child {
	margin-top: 0;
}
.content:has(.wp-block-gallery) > h1::before,
.content:has(.wp-block-gallery) > h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 5px;
	border-radius: 3px;
	background: #21aad3;
}
/* こだわり3項目をカード化 */
.content:has(.wp-block-gallery) .wp-block-media-text {
	margin: 0 0 20px !important;
	padding: 26px 28px;
	background: #f4fafc;
	border-radius: 12px;
	align-items: center;
}
.content:has(.wp-block-gallery) .wp-block-media-text__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}
/* 「1.国産食材の使用」等を小見出しに */
.content:has(.wp-block-gallery) .wp-block-media-text__content p > strong:first-child {
	position: relative;
	display: block;
	margin: 0 0 .6em;
	padding-left: .65em;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	color: #3a3a3a;
}
.content:has(.wp-block-gallery) .wp-block-media-text__content p > strong:first-child::before {
	content: "";
	position: absolute;
	left: 0;
	top: .12em;
	bottom: .12em;
	width: 4px;
	border-radius: 2px;
	background: #21aad3;
}
.content:has(.wp-block-gallery) .wp-block-media-text__content p {
	font-size: .95em;
	line-height: 1.9;
}
/* 601px以上：3項目とも「写真左・文章右」に揃える */
@media (min-width: 601px) {
	.content:has(.wp-block-gallery) .wp-block-media-text {
		grid-template-columns: 42% auto !important;
	}
}
@media (max-width: 600px) {
	.content:has(.wp-block-gallery) .wp-block-media-text {
		padding: 20px 18px;
	}
	.content:has(.wp-block-gallery) .wp-block-media-text > .wp-block-media-text__content {
		padding: 1.3em 0 0;
	}
}
/* ギャラリーの写真も角丸に統一 */
.content:has(.wp-block-gallery) .wp-block-gallery {
	margin: 0 0 1em;
	gap: 12px;
}
.content:has(.wp-block-gallery) .wp-block-gallery img {
	border-radius: 12px;
}

/* 小見出し直後の<br>は不要（strongをブロック化したため） */
.content:has(.wp-block-gallery) .wp-block-media-text__content p > strong:first-child + br {
	display: none;
}

/* ===== 汎用セクション見出し・リード文・箇条書き ===== */
.content .brk-sec-title {
	position: relative;
	margin: 2.6em 0 .9em;
	padding-left: .7em;
	font-size: 26px !important;
	font-weight: 700;
	line-height: 1.4;
	color: #3a3a3a !important;
}
.content .brk-sec-title:first-child {
	margin-top: 0;
}
.content .brk-sec-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: .15em;
	bottom: .15em;
	width: 5px;
	border-radius: 3px;
	background: #21aad3;
}
.content .brk-lead {
	margin: 0;
	text-align: left;
	line-height: 2;
}
.content .brk-merits {
	margin: 0;
	padding: 26px 30px;
	background: #f4fafc;
	border-radius: 12px;
	list-style: none;
}
.content .brk-merits li {
	position: relative;
	margin: 0;
	padding: 12px 0 12px 2em;
	list-style: none;
	line-height: 1.8;
	border-bottom: 1px dashed #dfeaee;
}
.content .brk-merits li:last-child {
	border-bottom: 0;
}
.content .brk-merits li::before {
	content: "";
	font-family: inherit;
	position: absolute;
	left: .4em;
	top: 1.35em;
	width: 11px;
	height: 6px;
	background: none;
	border: 0;
	border-left: 2px solid #21aad3;
	border-bottom: 2px solid #21aad3;
	border-radius: 0;
	transform: rotate(-45deg);
}
.content .brk-figure {
	margin: 2.2em 0 0;
}
.content .brk-figure img {
	display: block;
	width: 100%;
	max-width: 840px;
	height: auto;
	margin: 0 auto;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}
@media (max-width: 600px) {
	.content .brk-merits {
		padding: 20px 18px;
	}
}

/* ===== 入園までの流れ（ステップフロー） ===== */
.content .brk-flow__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.content .brk-flow__item {
	position: relative;
	display: flex;
	gap: 22px;
	margin: 0;
	padding: 0 0 26px;
	list-style: none;
	border: 0;
}
.content .brk-flow__item:last-child {
	padding-bottom: 0;
}
.content .brk-flow__item::before {
	content: "";
	font-family: inherit;
	position: absolute;
	left: 30px;
	top: 62px;
	bottom: -4px;
	width: 2px;
	height: auto;
	background: #cfe6ee;
	border: 0;
	border-radius: 0;
	transform: none;
}
.content .brk-flow__item:last-child::before {
	display: none;
}
.content .brk-flow__num {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 0 0 62px;
	width: 62px;
	height: 62px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #21aad3;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}
.content .brk-flow__num span {
	margin-bottom: 3px;
	font-size: 10px;
	letter-spacing: .08em;
}
.content .brk-flow__body {
	flex: 1 1 auto;
	min-width: 0;
	padding: 22px 26px 24px;
	background: #f4fafc;
	border-radius: 12px;
}
.content .brk-flow .brk-flow__title {
	margin: 0 0 .7em;
	padding: 0;
	font-size: 22px !important;
	font-weight: 700;
	line-height: 1.35;
	color: #3a3a3a !important;
}
.content .brk-flow .brk-flow__title::before {
	content: none;
}
.content .brk-flow__en {
	display: block;
	margin-top: .4em;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #1b93b6;
}
.content .brk-flow__text {
	margin: 0;
	line-height: 1.9;
}
.content .brk-flow__cta {
	margin: 1.4em 0 0;
}
/* 汎用ピルボタン */
.content .brk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .7em;
	min-width: 260px;
	padding: .95em 2.4em;
	border-radius: 999px;
	background: #1b93b6;
	color: #fff;
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(27, 147, 182, .3);
	transition: background .3s, box-shadow .3s, transform .3s;
}
.content .brk-btn::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg) translate(-1px, 1px);
}
.content .brk-btn:hover {
	background: #15768f;
	color: #fff;
	box-shadow: 0 7px 20px rgba(27, 147, 182, .42);
	transform: translateY(-2px);
}
@media (max-width: 600px) {
	.content .brk-flow__item {
		gap: 14px;
	}
	.content .brk-flow__item::before {
		left: 25px;
		top: 52px;
	}
	.content .brk-flow__num {
		flex-basis: 52px;
		width: 52px;
		height: 52px;
		font-size: 19px;
	}
	.content .brk-flow__body {
		padding: 18px 18px 20px;
	}
	.content .brk-flow .brk-flow__title {
		font-size: 20px !important;
	}
	.content .brk-btn {
		display: flex;
		min-width: 0;
		padding: .95em 1.2em;
	}
}

/* ===== 保育園概要ページ ===== */
/* 見出しの英字サブ */
.content .brk-sec-en {
	display: block;
	margin-top: .35em;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #1b93b6;
}
/* 所在地パネル */
.content .brk-info {
	max-width: 720px;
	margin: 2.4em auto 0;
	padding: 28px 30px;
	background: #f4fafc;
	border-radius: 12px;
	text-align: center;
}
.content .brk-info__addr {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.8;
	color: #3a3a3a;
}
.content .brk-info__cta {
	margin: 1.3em 0 0;
}
/* 料金表 */
.content .brk-table {
	margin: 0;
}
.content .brk-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #e3e8ea;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}
.content .brk-table th,
.content .brk-table td {
	padding: 15px 20px;
	border: 0;
	border-bottom: 1px solid #e9eff1;
	text-align: left;
	line-height: 1.7;
	background: none;
}
.content .brk-table thead th {
	background: #21aad3;
	color: #fff;
	font-weight: 700;
}
.content .brk-table tbody tr:nth-child(even) td {
	background: #f7fbfc;
}
.content .brk-table tbody tr:last-child td {
	border-bottom: 0;
}
.content .brk-table td:last-child {
	font-weight: 700;
	color: #3a3a3a;
}
.content .brk-note {
	margin: 1.1em 0 0;
	font-size: .88em;
	line-height: 1.8;
	color: #8a8a8a;
}
@media (max-width: 600px) {
	.content .brk-info {
		padding: 22px 18px;
	}
	.content .brk-info__addr {
		font-size: 17px;
	}
	.content .brk-table th,
	.content .brk-table td {
		padding: 12px 14px;
	}
}

/* ===== トップページ 保育の特徴 ===== */
.content .brk-feature {
	margin: 2.6em 0 0;
}
.content .brk-feature__item {
	display: flex;
	align-items: center;
	gap: 34px;
	margin: 0 0 28px;
	padding: 26px 30px;
	background: #f4fafc;
	border-radius: 12px;
	list-style: none;
}
.content .brk-feature__item:last-child {
	margin-bottom: 0;
}
.content .brk-feature__item:nth-child(even) {
	flex-direction: row-reverse;
}
.content .brk-feature__photo {
	flex: 0 0 200px;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .12);
}
.content .brk-feature__body {
	flex: 1 1 auto;
	min-width: 0;
}
.content .brk-feature__title {
	position: relative;
	margin: 0 0 .6em;
	padding-left: .7em;
	font-size: 22px !important;
	font-weight: 700;
	line-height: 1.4;
	color: #3a3a3a !important;
}
.content .brk-feature__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: .12em;
	bottom: .12em;
	width: 5px;
	border-radius: 3px;
	background: #21aad3;
}
.content .brk-feature__text {
	margin: 0;
	font-size: 1.02em;
	line-height: 1.9;
}
@media (max-width: 600px) {
	.content .brk-feature__item,
	.content .brk-feature__item:nth-child(even) {
		flex-direction: column;
		gap: 18px;
		padding: 22px 18px;
		text-align: center;
	}
	.content .brk-feature__photo {
		flex-basis: 170px;
		width: 170px;
		height: 170px;
	}
	.content .brk-feature__title {
		display: inline-block;
		text-align: left;
		font-size: 20px !important;
	}
	.content .brk-feature__text {
		text-align: left;
	}
}

/* テーマのリストマーカーを打ち消す */
.content ul.brk-feature {
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}
.content .brk-feature__item::before,
.content .brk-feature__item::after {
	content: none;
}

/* ===== トップページ 上部 ===== */
/* ヒーロー動画をカードの角丸に合わせる */
.content .video-bg {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}
/* 長文の読みやすい行長に制限 */
.content .brk-prose {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
	line-height: 2.05;
	word-break: auto-phrase;
	text-wrap: pretty;
}
/* 空き状況テーブル（中央揃え） */
.content .brk-table--center th,
.content .brk-table--center td {
	text-align: center;
}
.content .brk-table--center tbody td {
	font-size: 1.2em;
	font-weight: 700;
	color: #1b93b6;
}
.content .brk-note--center {
	text-align: center;
}
@media (max-width: 600px) {
	.content .brk-table--center th,
	.content .brk-table--center td {
		padding: 12px 6px;
	}
	.content .brk-table--center tbody td {
		font-size: 1.05em;
	}
}

/* 表：テーマの縞模様と詳細度負けを打ち消す */
.content .brk-table tbody tr td,
.content .brk-table tbody tr:nth-child(odd) td {
	background: #fff;
}
.content .brk-table tbody tr:nth-child(even) td {
	background: #f7fbfc;
}
.content .brk-table--center tbody td:last-child {
	color: #1b93b6;
}

/* ボタンを中央に置くラッパー */
.content .brk-btn-wrap {
	margin: 1.8em 0 0;
	text-align: center;
}

/* 理念カバー上の文字：語の途中で折り返さない */
.content .wp-block-cover .wp-block-cover__inner-container p {
	word-break: auto-phrase;
	text-wrap: pretty;
}
.brk-nb {
	white-space: nowrap;
}
@media (max-width: 600px) {
	.content .wp-block-cover .wp-block-cover__inner-container p {
		font-size: 16px !important;
		line-height: 1.85;
	}
}

/* ===== メニュー／検索パネルを軽く透過 ===== */
.menuBtn__content,
.searchBtn__content {
	background-color: rgba(255, 255, 255, .65);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

/* ===== ヘッダー・フッターの文字色をアイボリーに ===== */
.t-headerColor .siteTitle,
.t-headerColor .siteTitle a {
	color: #fcfaf5;
}
.t-headerColor .menuBtn__link,
.t-headerColor .searchBtn__link {
	color: #fcfaf5;
}
.t-headerColor .globalNavi::after,
.t-headerColor .globalNavi__list li a {
	color: rgba(252, 250, 245, .5);
}
.t-headerColor .globalNavi__list .current-menu-item > a,
.t-headerColor .globalNavi__list .current-menu-parent > a,
.t-headerColor .globalNavi__list .current_page_item > a,
.t-headerColor .globalNavi__list li a:hover {
	border-color: rgba(252, 250, 245, .9);
	color: rgba(252, 250, 245, .9);
}
@media only screen and (min-width: 992px) {
	.t-headerColor .searchBtn__link {
		color: rgba(252, 250, 245, .5);
	}
	.t-headerColor .searchBtn__link:hover {
		color: #fcfaf5;
	}
}
/* フッター */
.bottomFooter__list a,
.bottomFooter__copyright,
.bottomFooter__copyright a,
.bottomFooter__link {
	color: #fcfaf5;
}
/* Instagramアイコン */
.snsFooter__list .snsFooter__link {
	color: #fcfaf5;
}

/* 検索パネルの高さを中身に合わせる（画面いっぱいの余白を解消） */
.searchBtn__content {
	height: auto;
	max-height: calc(100% - 40px);
}
.searchBtn__scroll {
	height: auto;
	max-height: 100%;
	padding-bottom: 36px;
}

/* ===== スクロール表示アニメーション ===== */
/* JSが動いたときだけ隠す（JS無効でも必ず表示される） */
html.brk-anim .brk-reveal {
	opacity: 0;
	transform: translateY(16px);
	will-change: opacity, transform;
}
html.brk-anim .brk-reveal.is-shown {
	opacity: 1;
	transform: none;
	transition: opacity .8s cubic-bezier(.22, .61, .36, 1), transform .8s cubic-bezier(.22, .61, .36, 1);
}
/* ===== ホバーの反応 ===== */
.brk-job,
.brk-feature__item,
.brk-flow__body,
.content:has(.gmp_map_opts) .wp-block-media-text,
.content:has(.wp-block-gallery) .wp-block-media-text {
	transition: transform .35s ease, box-shadow .35s ease;
}
@media (hover: hover) {
	.brk-job:hover,
	.brk-feature__item:hover,
	.brk-flow__item:hover .brk-flow__body,
	.content:has(.gmp_map_opts) .wp-block-media-text:hover,
	.content:has(.wp-block-gallery) .wp-block-media-text:hover {
		transform: translateY(-3px);
		box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
	}
	/* 写真はゆっくり拡大（枠内で切り取る） */
	.brk-photoZoom {
		overflow: hidden;
	}
	.brk-photoZoom img,
	.brk-feature__photo,
	.content:has(.wp-block-gallery) .wp-block-media-text__media img {
		transition: transform .6s cubic-bezier(.22, .61, .36, 1);
	}
	.brk-feature__item:hover .brk-feature__photo,
	.content:has(.wp-block-gallery) .wp-block-media-text:hover .wp-block-media-text__media img,
	.brk-photoZoom:hover img {
		transform: scale(1.04);
	}
}
/* 動きを減らす設定の方には一切動かさない */
@media (prefers-reduced-motion: reduce) {
	html.brk-anim .brk-reveal,
	html.brk-anim .brk-reveal.is-shown {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.brk-job,
	.brk-feature__item,
	.brk-flow__body,
	.brk-feature__photo {
		transition: none;
	}
}

/* ===== フッターの住所 ===== */
/* ウィジェット帯を水色フッターと一体化 */
.l-footer .container.divider {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: #21aad3;
	border: 0;
	box-sizing: border-box;
}
.l-footer .widgetFooter,
.l-footer .widgetFooter__box {
	width: 100%;
	max-width: none;
	margin: 0;
	box-sizing: border-box;
}
.l-footer .widgetFooter {
	padding: 26px 15px 0;
}
.l-footer .widgetFooter__box {
	margin: 0;
}
.l-footer .widget-foot {
	margin: 0;
	padding: 0;
	background: none;
}
.brk-footAddr {
	margin: 0;
	color: #fcfaf5;
	font-size: .92em;
	line-height: 1.9;
	text-align: center;
}
/* 住所が入った分だけ下側の余白を調整 */
.l-footer .bottomFooter {
	padding-top: 30px;
}

/* 検索パネル：閉じている間は高さに関係なく確実に隠す */
.searchBtn__checkbox:not(:checked) ~ .searchBtn__content {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.searchBtn__checkbox:checked ~ .searchBtn__content {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transition: opacity .25s ease;
}
/* メニューパネルも同様に保険をかける */
.menuBtn__checkbox:not(:checked) ~ .menuBtn__content {
	visibility: hidden;
	pointer-events: none;
}
.menuBtn__checkbox:checked ~ .menuBtn__content {
	visibility: visible;
	pointer-events: auto;
}

/* スマホ：園紹介の長文を読みやすい行長に */
@media (max-width: 600px) {
	.content .brk-prose {
		font-size: 16px !important;
		line-height: 1.95;
		word-break: normal;
		text-wrap: wrap;
	}
}

/* ===== ヘッダーの MENU / SEARCH ボタン ===== */
.t-headerColor .menuBtn__link,
.t-headerColor .searchBtn__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 54px;
	padding: 0;
	color: #fcfaf5;
}
/* アイコンを塗りのボタンに */
.t-headerColor .menuBtn__link::before,
.t-headerColor .searchBtn__link::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #fcfaf5;
	color: #15768f;
	font-size: 20px;
	line-height: 1;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
	transition: background .25s ease, color .25s ease, transform .25s ease;
}
/* 下のラベル */
.t-headerColor .menuBtn__link::after,
.t-headerColor .searchBtn__link::after {
	color: #fcfaf5;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1;
}
@media (hover: hover) {
	.t-headerColor .menuBtn__link:hover::before,
	.t-headerColor .searchBtn__link:hover::before {
		background: #ffffff;
		color: #10627a;
		transform: translateY(-2px);
	}
}

/* 991px以下：横並びメニューを非表示（ハンバーガーに集約） */
@media only screen and (max-width: 991px) {
	.l-header .globalNavi {
		display: none;
	}
	/* ナビが消えた分、ロゴとボタンをヘッダー内で上下中央に収める */
	.l-header .container-header {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 60px;
	}
	.l-header .siteTitle {
		margin-bottom: 0;
		padding: 10px 0 0;
	}
}