@charset "utf-8";
/* ==========================================================================
   サイト共通（ヘッダー・フッター）
   Figma: 妙厳寺幼稚園 様 / PC 1440・SP 375
   ブレークポイント（既存に合わせて max-width）: 1199.98px ヘッダーをSP型に / 767.98px SP
   ========================================================================== */

:root {
	--color-text: #444;
	--color-orange: #ea9636;
	--color-green: #9acd31;
	--color-yellow: #ffe56d;
	--color-btn-pink-from: #ff98ae;
	--color-btn-pink-to: #f41073;
	--color-btn-lime-from: #bef54d;
	--color-btn-lime-to: #85be10;
	--color-heading: #800000;
	--color-beige: #f5f0dc;
	--color-border: #d3d3d3;
	--color-footer-line: #bebebe;
	--color-white: #fff;
	--color-cream: #fff9f0;
	--color-cta-bg: #f27013;
	--shadow-card: 0 4px 8px rgba(0, 0, 0, 0.15);
	--font-base: minmoji, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
	--font-cta: "Zen Kaku Gothic Antique", var(--font-base);
	--header-height: 90px;
	--header-height-sp: 57.47px;
	--admin-bar-height: 0px;
}

.admin-bar {
	--admin-bar-height: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar {
		--admin-bar-height: 46px;
	}
}

/* 親テーマの body,html{overflow-x:hidden} がスクロールコンテナを作り
   ヘッダーの sticky が効かないため clip に置き換える（非対応ブラウザは hidden のまま） */
html,
body {
	overflow-x: clip;
}

/* --------------------------------------------------------------------------
   l-header
   -------------------------------------------------------------------------- */
.l-header {
	position: sticky;
	top: var(--admin-bar-height);
	/* SPの追従ボタン(.p-fixed-reserve z-index:1000)より上にドロワーを出す */
	z-index: 1001;
	font-family: var(--font-base);
}

.l-header__bar {
	position: relative;
	display: flex;
	align-items: center;
	height: var(--header-height);
	/* 1440pxで左100・右50、1200pxで左右20まで縮める */
	padding: 0 clamp(20px, calc((100vw - 1200px) / 8 + 20px), 50px) 0 clamp(20px, calc((100vw - 1200px) / 3 + 20px), 100px);
	background-color: var(--color-white);
	border-radius: 0 0 20px 20px;
	transition: background-color 0.3s, border-radius 0.3s;
}

/* トップの最上部だけ背景を透過（スクロール時・メニュー展開時は白帯） */
.l-header--transparent:not(.is-scrolled) .l-header__bar:not(:has(.p-gnav__item--has-child:hover, .p-gnav__item--has-child.is-open)) {
	background-color: transparent;
}

/* メガメニュー展開中は帯とパネルをつなげる */
.l-header__bar:has(.p-gnav__item--mega:hover, .p-gnav__item--mega.is-open) {
	border-radius: 0;
}

.l-header__logo {
	flex-shrink: 0;
	width: 178px;
	margin: 0;
	line-height: 1;
}

.l-header__logo-link {
	display: block;
	transition: opacity 0.3s;
}

.l-header__logo-link:hover {
	opacity: 0.7;
}

.l-header__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.l-header__reserve {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 170px;
	height: 60px;
	margin-left: 30px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.03em;
	color: var(--color-white);
	text-decoration: none;
	background-color: var(--color-orange);
	border-radius: 30px;
	transition: opacity 0.3s;
}

.l-header__reserve:hover {
	color: var(--color-white);
	text-decoration: none;
	opacity: 0.8;
}

.l-header__reserve-icon {
	display: block;
	width: 25px;
	height: 22px;
}

.l-header__hamburger {
	display: none;
}

/* --------------------------------------------------------------------------
   p-gnav（PCグローバルナビ）
   -------------------------------------------------------------------------- */
.p-gnav {
	align-self: stretch;
	margin-left: auto;
}

.p-gnav__list {
	display: flex;
	gap: 25px;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-gnav__item {
	position: relative;
	display: flex;
	align-items: center;
}

/* メガメニューは帯全体を基準に配置する */
.p-gnav__item--mega {
	position: static;
}

.p-gnav__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 0;
	font-family: var(--font-base);
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.03em;
	color: var(--color-text);
	white-space: nowrap;
	text-decoration: none;
	background: none;
	border: none;
	cursor: pointer;
	transition: color 0.3s;
}

/* 展開ボタンは開いた状態のデザイン(59:*)どおり文字色を変えない */
a.p-gnav__link:hover,
a.p-gnav__link:focus-visible {
	color: var(--color-orange);
	text-decoration: none;
}

.p-gnav__arrow {
	display: block;
	width: 20px;
	height: 20px;
}

.p-gnav__arrow--open {
	display: none;
}

.p-gnav__item--has-child:hover .p-gnav__arrow,
.p-gnav__item--has-child.is-open .p-gnav__arrow {
	display: none;
}

.p-gnav__item--has-child:hover .p-gnav__arrow--open,
.p-gnav__item--has-child.is-open .p-gnav__arrow--open {
	display: block;
}

/* 小ドロップダウン（園での生活・入園案内） */
.p-gnav__dropdown {
	position: absolute;
	top: calc(100% + 5px);
	left: -18px;
	width: 215px;
	margin: 0;
	padding: 18px 0 21.4px 23px;
	list-style: none;
	background-color: var(--color-beige);
	border-radius: 20px;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s, visibility 0.2s;
}

/* 帯とドロップダウンの間(5px)でhoverが切れないようにする */
.p-gnav__dropdown::before {
	position: absolute;
	top: -5px;
	right: 0;
	left: 0;
	height: 5px;
	content: "";
}

.p-gnav__item--has-child:hover .p-gnav__dropdown,
.p-gnav__item--has-child.is-open .p-gnav__dropdown,
.p-gnav__item--has-child:hover .p-gnav__mega,
.p-gnav__item--has-child.is-open .p-gnav__mega {
	visibility: visible;
	opacity: 1;
}

.p-gnav__dropdown-link {
	display: block;
	font-size: 16px;
	font-weight: bold;
	line-height: 2.4;
	color: var(--color-text);
	white-space: nowrap;
	text-decoration: none;
	transition: color 0.3s;
}

.p-gnav__dropdown-link:hover {
	color: var(--color-orange);
	text-decoration: none;
}

/* メガメニュー（当園について） */
.p-gnav__mega {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	height: 250px;
	background-color: var(--color-white);
	border-radius: 0 0 20px 20px;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.2s, visibility 0.2s;
}

.p-gnav__mega-inner {
	display: flex;
	align-items: flex-start;
	gap: 31px;
	width: 1000px;
	margin: 0 auto;
	padding-top: 46px;
}

.p-gnav__mega-top {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-right: auto;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.03em;
	color: var(--color-orange);
	text-decoration: none;
	transition: opacity 0.3s;
}

.p-gnav__mega-top:hover {
	color: var(--color-orange);
	text-decoration: none;
	opacity: 0.7;
}

.p-gnav__mega-top-text {
	position: relative;
	display: block;
}

.p-gnav__mega-underline {
	position: absolute;
	top: 32px;
	left: 2px;
	display: block;
	width: 184.5px;
	height: 1px;
}

.p-gnav__mega-icon {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
}

.p-gnav__mega-circle {
	display: block;
	width: 40px;
	height: 40px;
}

.p-gnav__mega-arrow {
	position: absolute;
	top: 16.32px;
	left: 11.5px;
	display: block;
	width: 16px;
	height: 7.36px;
	transition: transform 0.3s;
}

/* ホバーで矢印を少し右へ */
.p-gnav__mega-top:hover .p-gnav__mega-arrow {
	transform: translateX(4px);
}

.p-gnav__mega-group {
	width: 279px;
	margin-top: 4px;
}

.p-gnav__mega-heading {
	height: 35px;
	margin: 0;
	padding: 3px 0 0 11px;
	font-size: 16px;
	font-weight: bold;
	line-height: 2;
	color: var(--color-orange);
	background-color: var(--color-beige);
}

.p-gnav__mega-list {
	margin: 7px 0 0;
	padding: 0 0 0 11px;
	list-style: none;
}

.p-gnav__mega-link {
	display: block;
	font-size: 16px;
	font-weight: bold;
	line-height: 2;
	color: var(--color-text);
	text-decoration: none;
	transition: color 0.3s;
}

.p-gnav__mega-link:hover {
	color: var(--color-orange);
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   p-drawer（SPメニュー 265:2。〜1199.98px のみ）
   -------------------------------------------------------------------------- */
.p-drawer {
	display: none;
}

/* ==========================================================================
   〜1199.98px：ヘッダーをSP型（ロゴ中央＋ハンバーガー）にする
   ========================================================================== */
@media screen and (max-width: 1199.98px) {
	.l-header__bar {
		justify-content: center;
		height: var(--header-height-sp);
		padding: 0 20px;
		border-radius: 0;
	}

	.l-header__logo {
		width: 129.11px;
	}

	.p-gnav,
	.l-header__bar > .l-header__reserve {
		display: none;
	}

	.l-header__hamburger {
		position: absolute;
		/* アイコン中心 y=29.75（126:601） - タップ領域44pxの半分 */
		top: 7.75px;
		right: 11.75px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		background: none;
		border: none;
		cursor: pointer;
	}

	.l-header__hamburger-icon {
		display: block;
		width: 27.5px;
		height: 10.5px;
	}

	.l-header__close-icon {
		position: relative;
		display: none;
		width: 27.5px;
		height: 27.5px;
	}

	.l-header__close-icon::before,
	.l-header__close-icon::after {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 2px;
		content: "";
		background-color: var(--color-orange);
	}

	.l-header__close-icon::before {
		transform: rotate(45deg);
	}

	.l-header__close-icon::after {
		transform: rotate(-45deg);
	}

	.l-header__hamburger[aria-expanded="true"] .l-header__hamburger-icon {
		display: none;
	}

	.l-header__hamburger[aria-expanded="true"] .l-header__close-icon {
		display: block;
	}

	/* ドロワー展開中は帯を白にする */
	.l-header.is-drawer-open .l-header__bar {
		background-color: var(--color-white);
	}

	/* 265:2: 白地。見出しの上端は画面の上端から90、閉じるボタンの下57 */
	.p-drawer:not([hidden]) {
		position: fixed;
		top: calc(var(--header-height-sp) + var(--admin-bar-height));
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		padding: calc(90px - var(--header-height-sp)) 20px 57px;
		overflow-y: auto;
		color: var(--color-text);
		background-color: var(--color-white);
		overscroll-behavior: contain;
	}

	/* グループの間30（フッターSPのナビと同じ作り） */
	.p-drawer__nav {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}

	/* 16px/lh1.6 #ea9636、点線（2px、4/6）は見出しの上端から34（中心） */
	.p-drawer__title {
		margin: 0;
		padding-bottom: 9.4px;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.6;
		color: var(--color-orange);
		background: url("../../img/footer/dash-line.svg") left bottom / 10px 2px repeat-x;
	}

	.p-drawer__title-link {
		display: inline-flex;
		gap: 7px;
		align-items: center;
		color: var(--color-orange);
		text-decoration: none;
		transition: opacity 0.3s;
	}

	.p-drawer__title-link:hover {
		color: var(--color-orange);
		text-decoration: none;
		opacity: 0.7;
	}

	.p-drawer__title-icon {
		position: relative;
		display: block;
		width: 20px;
		height: 20px;
	}

	.p-drawer__title-icon img {
		display: block;
		width: 20px;
		height: 20px;
	}

	/* 丸の上に重ね、ホバーで矢印だけ少し右へ */
	.p-drawer__title-icon .p-drawer__title-chevron {
		position: absolute;
		top: 0;
		left: 0;
		transition: transform 0.3s;
	}

	.p-drawer__title-link:hover .p-drawer__title-chevron {
		transform: translateX(2px);
	}

	/* 265:1739 / 265:1754: 161幅の2列、間12 */
	.p-drawer__subgroups {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	/* 265:1740: 点線の下20、#f5f0dc 高さ25、文字は左11 */
	.p-drawer__subtitle {
		margin: 20px 0 0;
		padding-left: 11px;
		font-size: 14px;
		font-weight: bold;
		line-height: 25px;
		background-color: var(--color-beige);
	}

	/* 見出しだけのグループは点線の下9から一覧 */
	.p-drawer__list {
		margin: 9px 0 0;
		padding: 0;
		list-style: none;
	}

	.p-drawer__subgroup .p-drawer__list {
		margin-top: 0;
	}

	/* 1行 45（44＋下線1px #bebebe）。サブ見出しの下は「>」4×8 を左11・文字を左21 */
	.p-drawer__link {
		display: block;
		padding: 10.8px 0 10.8px 21px;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.6;
		color: var(--color-text);
		text-decoration: none;
		background: url("../../img/footer/chevron.svg") 10.5px 50% / 5px 9px no-repeat;
		border-bottom: 1px solid var(--color-footer-line);
	}

	.p-drawer__link:hover {
		color: var(--color-orange);
		text-decoration: none;
	}

	/* サブ見出しのない一覧は2列（161幅・間13、縦に流す）、「>」を左1・文字を左11 */
	.p-drawer__group:not(.p-drawer__group--wide) .p-drawer__list {
		columns: 2;
		column-gap: 13px;
	}

	/* 採用情報は項目が長いので1列 */
	.p-drawer__group.p-drawer__group--single .p-drawer__list {
		columns: auto;
	}

	.p-drawer__group:not(.p-drawer__group--wide) .p-drawer__item {
		break-inside: avoid;
	}

	.p-drawer__group:not(.p-drawer__group--wide) .p-drawer__link {
		padding-left: 11px;
		background-position: 0.5px 50%;
	}

	/* 265:1799: 見出しだけのリンク（保護者の声など）は点線（中心）の下20 */
	.p-drawer__pages {
		display: flex;
		flex-direction: column;
		gap: 19px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	/* 265:1800: 最後の点線（中心）の下30、300×60。アイコン35×30と文字の間14、
	   アイコン＋文字の中心はボタン左から132.5（右の丸の分をずらす）。後に書いた .c-btn より優先させる */
	.p-drawer .p-drawer__reserve {
		gap: 14px;
		height: 60px;
		margin: -1px auto 0;
		padding-right: 35px;
	}

	.p-drawer__reserve-icon {
		display: block;
		width: 35px;
		height: 30px;
	}

	/* 265:1809: 見学予約の下10、300×60、白地＋枠2px。×15×15（線2px）と文字の間15.5、
	   ×＋文字の中心はボタン左から141.75 */
	.p-drawer__close {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 14.79px;
		box-sizing: border-box;
		width: 300px;
		height: 60px;
		margin: -20px auto 0;
		padding: 0 17.21px 0 0;
		font-family: var(--font-base);
		font-size: 16px;
		font-weight: bold;
		line-height: 1.8;
		letter-spacing: 0.03em;
		color: var(--color-orange);
		background-color: var(--color-white);
		border: 2px solid var(--color-orange);
		border-radius: 35px;
		cursor: pointer;
		transition: opacity 0.3s;
	}

	.p-drawer__close:hover {
		opacity: 0.8;
	}

	/* 線の太さの分（0.71）だけ15×15の外へはみ出す */
	.p-drawer__close-icon {
		display: block;
		width: 16.41px;
		height: 16.41px;
	}

	/* 背景を固定する（bodyで止めるとヘッダーのstickyが外れるためhtmlで止める） */
	/* スクロールバーが消えて幅が変わり、背景の折り返しがずれないよう、その幅（JSで計測）を余白にする */
	html.is-drawer-open {
		padding-right: var(--scrollbar-width, 0px);
		overflow: hidden;
	}
}

/* --------------------------------------------------------------------------
   c-btn（丸ボタン。19:1814 / 19:1693 / 126:605）
   -------------------------------------------------------------------------- */
.c-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 300px;
	height: 70px;
	/* 文字の中心はボタン左から143.5（右の丸の分をずらす） */
	padding-right: 13px;
	font-family: var(--font-base);
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 0.03em;
	color: var(--color-white);
	white-space: nowrap;
	text-decoration: none;
	background-color: var(--color-orange);
	border-radius: 35px;
	transition: opacity 0.3s;
}

.c-btn:hover {
	color: var(--color-white);
	text-decoration: none;
	opacity: 0.8;
}

.c-btn--green {
	background-color: var(--color-green);
}

.c-btn__icon {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
}

.c-btn__icon img {
	display: block;
	width: 40px;
	height: 40px;
}

.c-btn__icon .c-btn__arrow {
	position: absolute;
	top: 16.32px;
	left: 11.5px;
	width: 16px;
	height: 7.36px;
	transition: transform 0.3s;
}

/* ホバーで矢印を少し右へ */
.c-btn:hover .c-btn__arrow {
	transform: translateX(4px);
}

@media screen and (max-width: 767.98px) {
	.c-btn {
		height: 60px;
	}
}

/* 幅広（35:42: 364×70、文字はボタンの中央） */
.c-btn--wide {
	width: 364px;
	padding-right: 0;
}

@media screen and (max-width: 767.98px) {
	/* 126:1352: 335×60、文字の中心はボタンの中央から左へ4.5 */
	.c-btn--wide {
		width: 335px;
		max-width: calc(100% - 40px);
		padding-right: 9px;
	}
}

/* 枠線（19:2317 / 19:2322: 300×60、白地＋枠2px、文字 #444。PC・SP 共通で高さ60） */
.c-btn--outline {
	height: 60px;
	color: var(--color-text);
	background-color: var(--color-white);
	border: 2px solid var(--color-yellow);
}

.c-btn--outline:hover {
	color: var(--color-text);
}

.c-btn--outline.c-btn--green {
	background-color: var(--color-white);
	border-color: var(--color-green);
}

/* 枠の内側基準になるため、丸の位置（外側から右10）を枠の分だけ戻す */
.c-btn--outline .c-btn__icon {
	right: 8px;
}

/* グラデーション（19:2330 / 19:2335: 300×70・SP 60、白枠2px、影つき）
   文字は Figma どおり Zen Kaku Gothic Antique Black 18px（Google Fonts。functions.php でボタンの文字だけ読み込む） */
.c-btn--gradient {
	/* 文字の中心はボタン中央の9左 */
	padding-right: 18px;
	font-family: var(--font-cta);
	font-size: 18px;
	font-weight: 900;
	text-shadow: 0 3px 3px rgba(0, 0, 0, 0.25);
	border: 2px solid var(--color-white);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
}

.c-btn--gradient .c-btn__icon {
	right: 8px;
}

.c-btn--pink {
	background: linear-gradient(to bottom, var(--color-btn-pink-from) 19.712%, var(--color-btn-pink-to));
}

.c-btn--lime {
	background: linear-gradient(to bottom, var(--color-btn-lime-from) 5.769%, var(--color-btn-lime-to));
}

/* --------------------------------------------------------------------------
   l-footer（78:5010 / SP 127:1637。全ページ共通）
   -------------------------------------------------------------------------- */
.l-footer {
	/* ロゴ・見出しの上端は背景の上端から61、下の行の下端から21 */
	padding: 61px 0 21px;
	font-family: var(--font-base);
	color: var(--color-text);
	background-color: var(--color-white);
}

.l-footer a {
	color: var(--color-text);
	text-decoration: none;
}

.l-footer a:hover {
	color: var(--color-text);
	text-decoration: underline;
}

/* 左端 x100・右端 x1340（1240幅＋左右20） */
.l-footer__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
}

.l-footer__main {
	display: flex;
	justify-content: space-between;
}

.l-footer__logo {
	display: block;
	width: 250.66px;
}

.l-footer__logo img {
	display: block;
	width: 100%;
	height: auto;
}

/* 19:2462: ロゴの下27、14px/lh1.6 */
.l-footer__address {
	margin: 27px 0 0;
	font-size: 14px;
	font-style: normal;
	font-weight: bold;
	line-height: 1.6;
}

/* 78:5007: 住所の下34.8、104 / 104 / 122 × 71、間10 */
.l-footer__badges {
	display: flex;
	gap: 10px;
	margin: 34.8px 0 0;
	padding: 0;
	list-style: none;
}

.l-footer__badge {
	width: 104px;
	height: 71px;
}

.l-footer__badge--minmoji {
	width: 122px;
}

.l-footer__badge img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* x530〜1340: 250 × 3列、間30。2段目は1段目の下端から34 */
.l-footer__nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 250px));
	gap: 34px 30px;
	align-items: start;
}

.l-footer__group--wide {
	grid-column: span 2;
}

/* 16px/lh1.6 #ea9636、点線（2px、4/6）は見出しの上端から34（中心） */
.l-footer__title {
	margin: 0;
	padding-bottom: 9.4px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	color: var(--color-orange);
	background: url("../../img/footer/dash-line.svg") left bottom / 10px 2px repeat-x;
}

.l-footer .l-footer__title-link {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	color: var(--color-orange);
	transition: opacity 0.3s;
}

/* 文字色は変えず透過（.l-footer a:hover の色・下線を打ち消す） */
.l-footer .l-footer__title-link:hover {
	color: var(--color-orange);
	text-decoration: none;
	opacity: 0.7;
}

.l-footer__title-icon {
	position: relative;
	display: block;
	width: 20px;
	height: 20px;
}

.l-footer__title-icon img {
	display: block;
	width: 20px;
	height: 20px;
}

/* 丸の上に重ね、ホバーで矢印だけ少し右へ */
.l-footer__title-icon .l-footer__title-chevron {
	position: absolute;
	top: 0;
	left: 0;
	transition: transform 0.3s;
}

.l-footer__title-link:hover .l-footer__title-chevron {
	transform: translateX(2px);
}

.l-footer__subgroups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}

/* 40:610: 点線の下13、#f5f0dc 高さ25、文字は左11 */
.l-footer__subtitle {
	margin: 13px 0 0;
	padding-left: 11px;
	font-size: 14px;
	font-weight: bold;
	line-height: 25px;
	background-color: var(--color-beige);
}

/* 見出しだけのグループは点線の下9から一覧 */
.l-footer__list {
	margin: 9px 0 0;
	padding: 0;
	list-style: none;
}

.l-footer__subgroup .l-footer__list {
	margin-top: 0;
}

/* 1行 34（33＋下線1px #bebebe）。「>」4×8 は左11、文字は左25。折り返しても行間は広げない */
.l-footer__link {
	display: block;
	padding: 5.3px 0 5.3px 25px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	background: url("../../img/footer/chevron.svg") 10.5px 50% / 5px 9px no-repeat;
	border-bottom: 1px solid var(--color-footer-line);
}

/* 下の行: 最後の下線の下32。プライバシーポリシー等 14px / コピーライト 12px */
.l-footer__bottom {
	display: flex;
	align-items: flex-start;
	margin-top: 32px;
}

.l-footer__sub {
	display: flex;
	gap: 40px;
	margin: 3px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	font-weight: bold;
	line-height: 2;
}

.l-footer__copy {
	margin: 0 0 0 auto;
	font-size: 12px;
	font-weight: bold;
	line-height: 2;
}

.l-footer__copy small {
	font-size: inherit;
}

/* 〜1199.98px（デザインなし・estimated）: ロゴ・住所・バッジを上に、ナビを下に */
@media screen and (max-width: 1199.98px) {
	.l-footer__main {
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}

	.l-footer__info {
		text-align: center;
	}

	.l-footer__logo {
		margin: 0 auto;
	}

	.l-footer__nav {
		width: 100%;
		max-width: 810px;
	}
}

/* 〜767.98px：SP（ロゴ・住所 → ナビ → バッジ → 下の行を縦に並べる） */
@media screen and (max-width: 767.98px) {
	/* ロゴの上端は背景の上端から50。下は SP の追従ボタン(60)の分を足す */
	.l-footer {
		padding: 50px 0 calc(18px + 60px);
	}

	.l-footer__main {
		align-items: stretch;
		gap: 0;
	}

	.l-footer__info {
		display: contents;
	}

	/* 127:1641: 170.34×49.43、中央 */
	.l-footer__logo {
		order: 1;
		width: 170.34px;
	}

	/* 127:1640: ロゴの下25.6、中央 */
	.l-footer__address {
		order: 2;
		margin-top: 25.6px;
		text-align: center;
	}

	/* 当園についての見出しは住所の下26.8。グループの間30 */
	.l-footer__nav {
		display: flex;
		flex-direction: column;
		gap: 30px;
		align-items: stretch;
		order: 3;
		max-width: none;
		margin-top: 26.8px;
	}

	/* 127:1761: 最後の下線の下30、99 / 99 / 116 × 67、中央 */
	.l-footer__badges {
		order: 4;
		justify-content: center;
		margin-top: 30px;
	}

	.l-footer__badge {
		width: 99px;
		height: 67px;
	}

	.l-footer__badge--minmoji {
		width: 116px;
	}

	.l-footer__subgroups {
		gap: 12px;
	}

	/* 127:1681: 点線の下20 */
	.l-footer__subtitle {
		margin-top: 20px;
	}

	/* 1行 45（44＋下線）。サブ見出しの下の一覧は「>」を左11・文字を左21 */
	.l-footer__link {
		padding: 10.8px 0 10.8px 21px;
	}

	/* サブ見出しのない一覧は2列（縦に流す）、「>」を左1・文字を左11 */
	.l-footer__group:not(.l-footer__group--wide) .l-footer__list {
		columns: 2;
		column-gap: 12px;
	}

	/* 採用情報は項目が長いので1列 */
	.l-footer__group.l-footer__group--single .l-footer__list {
		columns: auto;
	}

	.l-footer__group:not(.l-footer__group--wide) .l-footer__item {
		break-inside: avoid;
	}

	.l-footer__group:not(.l-footer__group--wide) .l-footer__link {
		padding-left: 11px;
		background-position: 0.5px 50%;
	}

	/* バッジの下40に下の行、その下40にコピーライト */
	.l-footer__bottom {
		flex-direction: column;
		align-items: center;
		gap: 40px;
		margin-top: 40px;
	}

	.l-footer__sub {
		margin-top: 0;
	}

	.l-footer__copy {
		margin: 0;
	}
}

/* --------------------------------------------------------------------------
   p-fixed-reserve（SPの追従ボタン 196:3347。〜767.98px のみ）
   -------------------------------------------------------------------------- */
.p-fixed-reserve {
	display: none;
}

@media screen and (max-width: 767.98px) {
	/* 375×60（Figmaは70。ご要望で60に変更）、#ea9636、上と左右に白枠2px、上の角 r15、影 0 −3 8
	   iPhoneのホームバー分の余白（safe-area-inset-bottom）は足さない（ツールバーの出入りで高さが変わるため） */
	.p-fixed-reserve {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1000;
		display: flex;
		gap: 14px;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		height: 60px;
		/* アイコン＋文字（x62〜305）はバーの中央から4左 */
		padding: 0 8px 0 0;
		font-family: var(--font-base);
		font-size: 18px;
		font-weight: bold;
		line-height: 1.2;
		letter-spacing: 0.03em;
		color: var(--color-white);
		text-decoration: none;
		background-color: var(--color-orange);
		border: 2px solid var(--color-white);
		border-bottom: none;
		border-radius: 15px 15px 0 0;
		box-shadow: 0 -3px 8px rgba(0, 0, 0, 0.15);
	}

	.p-fixed-reserve:hover {
		color: var(--color-white);
		text-decoration: none;
	}

	.p-fixed-reserve__icon {
		display: block;
		flex-shrink: 0;
		width: 35px;
		height: 30px;
	}
}

/* --------------------------------------------------------------------------
   c-heading（水彩の背景つき見出し。40:713 ほか。トップ・下層で共通）
   -------------------------------------------------------------------------- */
.c-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 499px;
	height: 134px;
	margin: 0 auto;
	padding: 0;
	font-size: 34px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: var(--color-heading);
	background: url("../../img/common/heading-bg.webp") center / 100% 100% no-repeat;
	border: none;
}

/* --------------------------------------------------------------------------
   c-more-link（「〜について詳しく見る」。トップ 19:1693 周辺 / 当園について 130:3905）
   文字＋下線＋「>」。下線は文字より左3・右1広く、文字の下1.1
   -------------------------------------------------------------------------- */
.c-more-link {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.03em;
	color: var(--color-orange);
	text-decoration: none;
	transition: opacity 0.3s;
}

.c-more-link:hover {
	color: var(--color-orange);
	text-decoration: none;
	opacity: 0.8;
}

.c-more-link__text {
	padding: 0 1px 1.1px 3px;
	border-bottom: 1px solid var(--color-orange);
}

.c-more-link::after {
	width: 5.2px;
	height: 9px;
	margin: 7px 0 0 9px;
	background: url("../../img/common/link-chevron.svg") 0 0 / 100% 100% no-repeat;
	content: "";
}

/* --------------------------------------------------------------------------
   c-page-hero（下層ページのタイトル帯。当園について 127:3689 / SP 228:1630）
   写真は帯の範囲に切り抜き済み・色（#ffe9d0 60%）を重ねた画像（Figma 127:3689 / 228:1630 の書き出し）。下端の波はマスク
   -------------------------------------------------------------------------- */
.c-page-hero {
	position: relative;
	height: 351.39px;
	/* PCはヘッダーの下に潜らせる（SPはヘッダーの下から） */
	margin-top: calc(-1 * var(--header-height));
	-webkit-mask: url("../../img/common/page-hero-mask.svg") center / 100% 100% no-repeat;
	mask: url("../../img/common/page-hero-mask.svg") center / 100% 100% no-repeat;
}

.c-page-hero__bg img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-page-hero__title {
	position: absolute;
	top: 183px;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 42px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: var(--color-heading);
	text-align: center;
	background: none;
	border: none;
	isolation: isolate;
}

/* 背後の白いぼかし: Figma は同じ文字（白・線 #fff 4 外側）にレイヤーぼかし 6（127:3464 / 228:1642）
   文字は h1 の data-text から複製（読み上げない）。線は 2倍の太さを文字の下に描いて外側 4 にし、ぼかし 6 は CSS の blur(3px) */
.c-page-hero__title::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	color: var(--color-white);
	content: attr(data-text) / "";
	-webkit-text-stroke: 8px var(--color-white);
	paint-order: stroke fill;
	filter: blur(3px);
}

/* --------------------------------------------------------------------------
   c-breadcrumb（127:3627 / SP 228:1636）
   -------------------------------------------------------------------------- */
.c-breadcrumb {
	width: min(1240px, calc(100% - 40px));
	margin: 19.61px auto 0;
}

.c-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 11px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-breadcrumb__item {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.08em;
	color: var(--color-text);
}

/* 区切りの「>」6×11（SVGは線幅ぶり外にはみ出す 7.08×11.74） */
.c-breadcrumb__item + .c-breadcrumb__item::before {
	flex-shrink: 0;
	width: 7.08px;
	height: 11.74px;
	margin: -0.37px -0.74px -0.37px -0.34px;
	content: "";
	background: url("../../img/common/breadcrumb-arrow.svg") center / contain no-repeat;
}

.c-breadcrumb__link {
	color: inherit;
	text-decoration: none;
}

.c-breadcrumb__link:hover {
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   c-anchor-nav（ページ内リンク。127:3652 / SP 228:1646）
   -------------------------------------------------------------------------- */
.c-anchor-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-anchor-nav__item {
	width: 230px;
	margin: 0;
}

.c-anchor-nav__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 60px;
	padding: 0 36px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 0.03em;
	color: var(--color-text);
	text-decoration: none;
	background-color: var(--color-white);
	border: 2px solid var(--color-orange);
	border-radius: 10px;
	box-shadow: var(--shadow-card);
	transition: opacity 0.3s;
}

.c-anchor-nav__link::after {
	position: absolute;
	top: 18px;
	right: 14px;
	width: 20px;
	height: 20px;
	content: "";
	background: url("../../img/common/icon-circle-down.svg") center / contain no-repeat;
}

.c-anchor-nav__link:hover {
	color: var(--color-text);
	opacity: 0.7;
}

/* 別ページへのリンク（当園の情報 128:3815 / SP 230:2276）: 矢印が右向き */
.c-anchor-nav--page .c-anchor-nav__link::after {
	background-image: url("../../img/common/icon-circle-right.svg");
}

/* 〜1199.98px: ヘッダーがSP型（高さ57.47）になる */
@media screen and (max-width: 1199.98px) {
	.c-page-hero {
		margin-top: calc(-1 * var(--header-height-sp));
	}
}

@media screen and (max-width: 767.98px) {
	.c-heading {
		width: 335px;
		max-width: calc(100% - 40px);
		height: 90px;
		font-size: 22px;
	}

	.c-page-hero {
		height: 140px;
		margin-top: 0;
		-webkit-mask-image: url("../../img/common/page-hero-mask-sp.svg");
		mask-image: url("../../img/common/page-hero-mask-sp.svg");
	}

	/* SP: 帯の上端から45 */
	.c-page-hero__title {
		top: 45px;
		font-size: 28px;
	}

	.c-breadcrumb {
		margin-top: 15px;
	}

	.c-breadcrumb__item {
		font-size: 14px;
	}

	.c-anchor-nav {
		width: 336px;
		max-width: calc(100% - 38px);
		margin: 0 auto;
	}

	.c-anchor-nav__item {
		width: calc((100% - 10px) / 2);
	}

	/* 右の丸矢印ぶり空けて中央寄せ。長い文字（ご家庭との連携）は::beforeが縮んで左へ寄る */
	.c-anchor-nav__link {
		padding: 0 33px 0 8px;
		font-size: 14px;
		/* Figma は折り返さない（whitespace-nowrap）。minmoji は字幅が広いため明示する */
		white-space: nowrap;
	}

	.c-anchor-nav__link::before {
		flex: 0 1 25px;
		content: "";
	}

	.c-anchor-nav__link::after {
		right: 11px;
	}

	/* 162×50 の2列（横の間 11・縦の間 5）。最後の行は左から */
	.c-anchor-nav--page {
		justify-content: flex-start;
		gap: 5px 11px;
		width: 335px;
		max-width: calc(100% - 40px);
	}

	.c-anchor-nav--page .c-anchor-nav__item {
		width: calc((100% - 11px) / 2);
	}

	/* 文字は箱の中央（右の矢印の分だけ左右を空ける）
	   375 では1行。それより狭い幅（デザインなし）は矢印に重ならないよう折り返す */
	.c-anchor-nav--page .c-anchor-nav__link {
		height: auto;
		min-height: 50px;
		padding: 0 24px;
		text-align: center;
		white-space: normal;
		/* 折り返すのは wbr の位置（語の途中で折らない） */
		word-break: keep-all;
	}

	.c-anchor-nav--page .c-anchor-nav__link::before {
		content: none;
	}

	/* 矢印 16（Figma の外形の右 10・上 17 → 枠線 2 の内側から 8・15。上下中央） */
	.c-anchor-nav--page .c-anchor-nav__link::after {
		top: calc(50% - 8px);
		right: 8px;
		width: 16px;
		height: 16px;
	}
}

/* --------------------------------------------------------------------------
   c-cta 無料見学受付中（トップ s10 / 当園について。template-parts/cta.php）
   背景 19:1594 #f27013 ＋ テクスチャ 35:63 不透明度60%、上の角 r80
   -------------------------------------------------------------------------- */

/* 旗の配置の比率: --u = 1440基準の1px（最大1px）。SPは375基準。親を container にしたページは cqw で計算 */
.c-cta {
	--u: min(1px, calc(100vw / 1440));
	position: relative;
	isolation: isolate;
	overflow: hidden;
	/* 見出しの画像は背景の上端から86、ボタンの下端から背景の下端まで90 */
	padding: 86px 0 90px;
	text-align: center;
	background-color: var(--color-cta-bg);
	border-radius: 80px 80px 0 0;
}

@supports (container-type: inline-size) {
	.c-cta {
		--u: min(1px, calc(100cqw / 1440));
	}
}

/* テクスチャ 1600×1082: 1440 で x−60・y−213、SP で x−593（中央基準。% は (枠 − 画像) の幅に対する割合） */
.c-cta::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background: url("../../img/common/cta-texture.webp") calc(50% + 20px) -213px / 1600px 1082px no-repeat;
	opacity: 0.6;
}

.c-cta__deco {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	/* 旗(19:2350)は Figma で乗算。z-index で重なりの文脈ができるため、旗ではなくこの層ごと背景に乗算する */
	mix-blend-mode: multiply;
}

/* 旗 19:2350 / 35:67（回転あり。metadata の y は描画と違うためカンプから特定: 背景の上端から64、左右127） */
.c-cta__flags {
	position: absolute;
	top: calc(64 * var(--u));
	left: calc(127 * var(--u));
	width: calc(373.5 * var(--u));
	height: auto;
}

.c-cta__flags--right {
	right: calc(127 * var(--u));
	left: auto;
	transform: scaleX(-1);
}

/* 19:1997（panda bakery → 画像）。画像は影・縁取りを含む 414×84.5 */
.c-cta__title {
	margin: 0;
	padding: 0;
	line-height: 1;
	background: none;
	border: none;
}

.c-cta__title img {
	display: block;
	width: 414px;
	height: auto;
	margin: 0 auto;
}

/* 点線（19:2327: 2px、4/6、幅318）は見出しの画像の下端から−2 */
.c-cta__title::after {
	display: block;
	width: 320px;
	height: 2px;
	margin: -2px auto 0;
	content: "";
	background: url("../../img/common/dash-line-white.svg") left top / 10px 2px repeat-x;
}

.c-cta__text {
	margin: 29px 0 0;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 0.03em;
	color: var(--color-white);
}

.c-cta__btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin-top: 50.4px;
}

/* 〜767.98px：SP（127:1629、上の角 r40） */
@media screen and (max-width: 767.98px) {
	/* 見出しの画像は背景の上端から100、ボタンの下端から背景の下端まで70 */
	.c-cta {
		--u: calc(100vw / 375);
		padding: 100px 0 70px;
		border-radius: 40px 40px 0 0;
	}

	@supports (container-type: inline-size) {
		.c-cta {
			--u: calc(100cqw / 375);
		}
	}

	/* 旗: PC の画像を0.367倍、背景の上端から37、左右20 */
	.c-cta__flags {
		top: calc(37 * var(--u));
		left: calc(20 * var(--u));
		width: calc(137 * var(--u));
	}

	.c-cta__flags--right {
		right: calc(20 * var(--u));
		left: auto;
	}

	/* 40px（PC の 2/3）→ 276×57 */
	.c-cta__title img {
		width: 276px;
	}

	/* 127:1505: 幅335、見出しの画像の下端から12 */
	.c-cta__title::after {
		width: 337px;
		margin-top: 12px;
	}

	.c-cta__text {
		margin-top: 19px;
	}

	.c-cta__btns {
		flex-direction: column;
		align-items: center;
		gap: 10px;
		margin-top: 21px;
	}
}

/* --------------------------------------------------------------------------
   utility
   -------------------------------------------------------------------------- */
.u-sp-only {
	display: none;
}

@media screen and (max-width: 767.98px) {
	.u-sp-only {
		display: inline;
	}

	.u-pc-only {
		display: none;
	}
}

/* 本文中のテキストリンク（旧インラインstyle color:#2a72c9 をクラス化 2026-10-01） */
.mk-text-link {
    color: #2a72c9;
}

/* ===== 教育内容カード（体・知・徳）理念・教育内容ページ共通 2026-10-01 Figma「カード_PC/SP」 ===== */
.p-edu-cards { background: #fff9f0; padding: 20px 20px 80px; }
.p-edu-cards .heading16 { margin-bottom: 40px; }
.p-edu-cards__list { display: flex; justify-content: center; gap: 23px; max-width: 1000px; margin: 0 auto; padding: 0; list-style: none; }
.p-edu-cards__item { width: 318px; margin: 0; padding: 0; list-style: none; }
.p-edu-cards__item::before { content: none; }
.p-edu-cards__link { position: relative; display: block; padding-top: 17px; color: inherit; text-decoration: none; transition: transform .3s ease; }
.p-edu-cards__link:hover { transform: translateY(-8px); text-decoration: none; }
.p-edu-cards__label { position: absolute; top: 0; left: 50%; z-index: 2; transform: translateX(-50%); width: 201px; height: 45px; border-radius: 30px; background: #ea9636; color: #fff; font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif; font-weight: 700; font-size: 20px; line-height: 45px; letter-spacing: .03em; text-align: center; }
.p-edu-cards__item--chi .p-edu-cards__label { background: #ffe56d; color: #444; }
.p-edu-cards__visual { position: relative; display: block; }
.p-edu-cards__photo { display: block; width: 100%; height: auto; }
.p-edu-cards__char { position: absolute; left: 50.9%; top: 84.2%; transform: translate(-50%, -50%); height: auto; }
.p-edu-cards__item--tai .p-edu-cards__char { width: 44px; }
.p-edu-cards__item--chi .p-edu-cards__char { width: 40.5px; }
.p-edu-cards__item--toku .p-edu-cards__char { width: 42px; }
@media (max-width: 767px) {
    .p-edu-cards { padding: 10px 20px 60px; }
    .p-edu-cards .heading16 { margin-bottom: 20px; }
    .p-edu-cards__list { flex-direction: column; align-items: center; gap: 20px; }
    .p-edu-cards__item { width: 100%; max-width: 335px; }
}

/* ===== 当園の情報（p-about-info）理念ページでも使うため kindergarten.css から共通化 2026-10-01 ===== */
.p-about-info { padding: 100px 20px; }
.p-about-info__title { margin: 0; padding: 0; font-size: 34px; font-weight: bold; line-height: 1.2; letter-spacing: 0.08em; text-align: center; color: var(--color-text); background: none; border: none; }
.p-about-info__title::after { display: block; width: 166px; height: 33px; margin: 15.2px auto 0; content: ""; background: url("../../img/common/heading-line.svg") center / contain no-repeat; }
.p-about-info__nav { margin-top: 34px; }
@media screen and (max-width: 767.98px) {
    .p-about-info { padding: 50px 0; }
    .p-about-info__title { font-size: 24px; }
    .p-about-info__title::after { width: 110.97px; height: 22.06px; margin-top: 7.64px; }
    .p-about-info__nav { margin-top: 19.5px; }
}

/* SPの見出し（heading16）の太さ調整 2026-10-01
   見出し書体 minmoji は通常ウェイトのみのため、太字はブラウザの疑似ボールドになり、端末・文字サイズで太さが変わる（特にiPhone Safariで太く見える）。
   SPは疑似ボールドをやめ、細い縁取りでPC（36px太字）と同じ見え方の太さに揃える */
@media screen and (max-width: 767.98px) {
    .heading16 { font-weight: normal; -webkit-text-stroke: 0.4px currentColor; }
}

/* 写真の拡大表示（js/common.js・2026-10-06） */
.c-image-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(0, 0, 0, 0.75);
}
.c-image-modal[hidden] {
	display: none;
}
.c-image-modal__inner {
	position: relative;
	max-width: min(1000px, 100%);
}
.c-image-modal__img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 96px);
	width: auto;
	height: auto;
	margin: 0 auto;
}
.c-image-modal__close {
	position: absolute;
	top: -44px;
	right: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--color-white);
	color: var(--color-text);
	font-size: 26px;
	line-height: 40px;
	cursor: pointer;
}
body.is-image-modal-open {
	overflow: hidden;
}

/* PCナビに「採用情報」を足した分（2026-10-06 先方FB4）、1200〜1380pxでロゴと重ならないよう間隔と文字を詰める */
@media screen and (min-width: 1200px) and (max-width: 1379.98px) {
	.p-gnav__list {
		gap: clamp(12px, calc((100vw - 1200px) / 8 + 12px), 25px);
	}
	.p-gnav__link {
		font-size: 15px;
	}
}

/* ===== 下層ヘッダー画像をページごとのテーマ写真に（2026-10-06 先方FB2）
   style.css の .sub-img-2 は当園について配下・保護者の声の7ページで同じ写真だったため、ページIDで上書きする ===== */
.page-id-5370 .sub-img { background-image: url("../../img/sub/sub-philosophy-pc.jpg?v=20261006e"); background-position: center center; }
.page-id-5512 .sub-img { background-image: url("../../img/sub/sub-overview.jpg?v=20261006e"); background-position: center 75%; }
.page-id-5565 .sub-img { background-image: url("../../img/sub/sub-access.jpg?v=20261006e"); background-position: center 60%; }
.page-id-5597 .sub-img { background-image: url("../../img/sub/sub-voice.jpg?v=20261006e"); background-position: center 55%; }
/* 体づくり：泥んこ遊びの手元の写真（2026-10-07 先方FB。横井様が手と足の2案から手を選択） */
.page-id-5533 .sub-img { background-image: url("../../img/sub/sub-education-physical.jpg?v=20261007f"); background-size: cover; background-position: center 50%; }
/* 採用情報（/recruitment/）は園舎の写真だったため、子どもの写真に（2026-10-07 先方FB） */
.page-id-75 .sub-img { background-image: url("../../img/sub/sub-recruitment-pc.jpg?v=20261007c"); background-position: center 50%; }
.page-id-5531 .sub-img { background-image: url("../../img/sub/sub-education-language.jpg?v=20261006e"); background-position: center 70%; }
.page-id-5532 .sub-img { background-image: url("../../img/sub/sub-education-buddhism.jpg?v=20261006e"); background-size: 130% auto; background-position: 55% 80%; }
/* 理念のPCは帯に顔が収まるよう左に桜を広げた専用画像（sub-philosophy-pc.jpg）。SPは元の写真
   SPは見出しが中央の顔に重なるため、写真を拡大して顔を見出しの上へずらす（2026-10-06） */
@media screen and (max-width: 767.98px) {
	.page-id-5531 .sub-img { background-size: 140% auto; background-position: 50% 95%; }
	/* SP：採用情報はPC（女の子2人）だと見出しが顔にかかるため、登園の写真にする */
	.page-id-5533 .sub-img { background-size: cover; background-position: center 50%; }
	.page-id-75 .sub-img { background-image: url("../../img/sub/sub-recruitment.jpg?v=20261007a"); background-size: 150% auto; background-position: 42% 0%; }
	.page-id-5532 .sub-img { background-size: 130% auto; background-position: 55% 80%; }
	.page-id-5370 .sub-img { background-image: url("../../img/sub/sub-philosophy.jpg?v=20261006e"); background-position: 50% 30%; }
}

/* 1600px以上の広い画面は帯に映る縦の範囲が狭くなり頭・顔が切れるため、位置を上げる（2026-10-07） */
@media screen and (min-width: 1600px) {
	.page-id-5533 .sub-img { background-size: cover; background-position: center 50%; }
	.page-id-75 .sub-img { background-position: center 42%; }
}

/* ドロップダウンの幅を文字に合わせて広げる（「採用に関するよくあるご質問」が215pxの枠からはみ出していた。2026-10-07） */
.p-gnav__dropdown { width: max-content; min-width: 215px; padding-right: 23px; }

/* ==========================================================================
   保護者専用ボタン（2026-10-14 案2：ロゴ・見学予約・ナビを詰めて配置）
   ========================================================================== */
.l-header__members {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	height: 40px;
	margin-left: 20px;
	padding: 0 16px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.03em;
	color: var(--color-text);
	text-decoration: none;
	white-space: nowrap;
	background: var(--color-white);
	border: 1.5px solid var(--color-text);
	border-radius: 20px;
	transition: opacity 0.3s;
}

.l-header__members:hover {
	color: var(--color-text);
	text-decoration: none;
	opacity: 0.7;
}

@media screen and (max-width: 1199.98px) {
	.l-header__bar > .l-header__members {
		display: none;
	}
}

@media screen and (min-width: 1200px) {
	.l-header__logo {
		width: 150px;
	}

	.l-header__reserve {
		width: 136px;
		height: 50px;
		font-size: 16px;
		gap: 7px;
	}

	.l-header__reserve-icon {
		width: 21px;
		height: 19px;
	}

	.l-header__members {
		height: 36px;
		padding: 0 12px;
		font-size: 13px;
		margin-left: 14px;
	}

	.l-header__members + .l-header__reserve {
		margin-left: 8px;
	}
}

@media screen and (min-width: 1200px) and (max-width: 1379.98px) {
	.p-gnav__list {
		gap: clamp(10px, calc((100vw - 1200px) / 8 + 10px), 25px);
	}

	.p-gnav__link {
		font-size: 14px;
	}
}

/* 保護者専用ページ（SPドロワー内。見学予約ボタンの上） */
.p-drawer__members {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	max-width: 100%;
	height: 48px;
	margin: 0 auto 10px;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.03em;
	color: var(--color-text);
	text-decoration: none;
	background: var(--color-white);
	border: 1.5px solid var(--color-text);
	border-radius: 24px;
	transition: opacity 0.3s;
}

.p-drawer__members:hover {
	color: var(--color-text);
	text-decoration: none;
	opacity: 0.7;
}
