@charset "utf-8";

/*
	* 顧客オリジナルスタイルシート
	* サイト全体に関するスタイル
	* ver1
	* Copyright (C) ●●など
	* 更新履歴
		└ 
*/
/* * {
	border: solid 1px #ccc;
} */

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	初期設定（不要なものは削除）
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	root設定（カラー、基準幅、ベースフォント適宜修正）
****************************************************************************************** */
:root {
	--black: #615759;
	/* --mainColor: #24bb00; */
	--mainColor: #FFA96E;
	--accentColor: #ff8f47;
	--nurseriesColor: #86E2D5;
	--heading-gradient: linear-gradient(299deg,
			rgba(66, 236, 255, 0.2) 0%,
			rgba(174, 245, 181, 0.2) 50%,
			rgba(255, 143, 71, 0.2) 100%);

	--heading-gradient-solid: linear-gradient(299deg,
			#42ecff 0%,
			#aef5b5 50%,
			#ff8f47 100%);

	--heading-color: #5c5555;

	/* 基準幅設定 */
	--vw-base: 1920;

	/* ベースフォント設定（数値のみ） */
	--fontSizeBase: 18;
	/* パソコン */
	--fontSizeBaseSp: 16;
	/* スマホ */

	/* ベースフォント設定（数値のみ） */
	--fontSizeBase: 18;
	/* パソコン */
	--fontSizeBaseSp: 16;
	/* スマホ */

	--fontSize10: calc(10 / var(--fontSizeBase) * 1rem);
	--fontSize11: calc(11 / var(--fontSizeBase) * 1rem);
	--fontSize12: calc(12 / var(--fontSizeBase) * 1rem);
	--fontSize13: calc(13 / var(--fontSizeBase) * 1rem);
	--fontSize14: calc(14 / var(--fontSizeBase) * 1rem);
	--fontSize15: calc(15 / var(--fontSizeBase) * 1rem);
	--fontSize16: calc(16 / var(--fontSizeBase) * 1rem);
	--fontSize17: calc(17 / var(--fontSizeBase) * 1rem);
	--fontSize18: calc(18 / var(--fontSizeBase) * 1rem);
	--fontSize19: calc(19 / var(--fontSizeBase) * 1rem);
	--fontSize20: calc(20 / var(--fontSizeBase) * 1rem);
	--fontSize21: calc(21 / var(--fontSizeBase) * 1rem);
	--fontSize22: calc(22 / var(--fontSizeBase) * 1rem);
	--fontSize23: calc(23 / var(--fontSizeBase) * 1rem);
	--fontSize24: calc(24 / var(--fontSizeBase) * 1rem);
	--fontSize25: calc(25 / var(--fontSizeBase) * 1rem);
	--fontSize26: calc(26 / var(--fontSizeBase) * 1rem);
	--fontSize27: calc(27 / var(--fontSizeBase) * 1rem);
	--fontSize28: calc(28 / var(--fontSizeBase) * 1rem);
	--fontSize29: calc(29 / var(--fontSizeBase) * 1rem);
	--fontSize30: calc(30 / var(--fontSizeBase) * 1rem);
	--fontSize31: calc(31 / var(--fontSizeBase) * 1rem);
	--fontSize32: calc(32 / var(--fontSizeBase) * 1rem);
	--fontSize33: calc(33 / var(--fontSizeBase) * 1rem);
	--fontSize34: calc(34 / var(--fontSizeBase) * 1rem);
	--fontSize35: calc(35 / var(--fontSizeBase) * 1rem);
	--fontSize36: calc(36 / var(--fontSizeBase) * 1rem);
	--fontSize37: calc(37 / var(--fontSizeBase) * 1rem);
	--fontSize38: calc(38 / var(--fontSizeBase) * 1rem);
	--fontSize39: calc(39 / var(--fontSizeBase) * 1rem);
	--fontSize40: calc(40 / var(--fontSizeBase) * 1rem);
	--fontSize41: calc(41 / var(--fontSizeBase) * 1rem);
	--fontSize42: calc(42 / var(--fontSizeBase) * 1rem);
	--fontSize43: calc(43 / var(--fontSizeBase) * 1rem);
	--fontSize44: calc(44 / var(--fontSizeBase) * 1rem);
	--fontSize45: calc(45 / var(--fontSizeBase) * 1rem);
	--fontSize46: calc(46 / var(--fontSizeBase) * 1rem);
	--fontSize47: calc(47 / var(--fontSizeBase) * 1rem);
	--fontSize48: calc(48 / var(--fontSizeBase) * 1rem);
	--fontSize49: calc(49 / var(--fontSizeBase) * 1rem);
	--fontSize50: calc(50 / var(--fontSizeBase) * 1rem);
}

@media screen and (max-width:576px) {
	:root {
		--fontSize10: calc(10 / var(--fontSizeBaseSp) * 1rem);
		--fontSize11: calc(11 / var(--fontSizeBaseSp) * 1rem);
		--fontSize12: calc(12 / var(--fontSizeBaseSp) * 1rem);
		--fontSize13: calc(13 / var(--fontSizeBaseSp) * 1rem);
		--fontSize14: calc(14 / var(--fontSizeBaseSp) * 1rem);
		--fontSize15: calc(15 / var(--fontSizeBaseSp) * 1rem);
		--fontSize16: calc(16 / var(--fontSizeBaseSp) * 1rem);
		--fontSize17: calc(17 / var(--fontSizeBaseSp) * 1rem);
		--fontSize18: calc(18 / var(--fontSizeBaseSp) * 1rem);
		--fontSize19: calc(19 / var(--fontSizeBaseSp) * 1rem);
		--fontSize20: calc(20 / var(--fontSizeBaseSp) * 1rem);
		--fontSize21: calc(21 / var(--fontSizeBaseSp) * 1rem);
		--fontSize22: calc(22 / var(--fontSizeBaseSp) * 1rem);
		--fontSize23: calc(23 / var(--fontSizeBaseSp) * 1rem);
		--fontSize24: calc(24 / var(--fontSizeBaseSp) * 1rem);
		--fontSize25: calc(25 / var(--fontSizeBaseSp) * 1rem);
		--fontSize26: calc(26 / var(--fontSizeBaseSp) * 1rem);
		--fontSize27: calc(27 / var(--fontSizeBaseSp) * 1rem);
		--fontSize28: calc(28 / var(--fontSizeBaseSp) * 1rem);
		--fontSize29: calc(29 / var(--fontSizeBaseSp) * 1rem);
		--fontSize30: calc(30 / var(--fontSizeBaseSp) * 1rem);
		--fontSize31: calc(31 / var(--fontSizeBaseSp) * 1rem);
		--fontSize32: calc(32 / var(--fontSizeBaseSp) * 1rem);
		--fontSize33: calc(33 / var(--fontSizeBaseSp) * 1rem);
		--fontSize34: calc(34 / var(--fontSizeBaseSp) * 1rem);
		--fontSize35: calc(35 / var(--fontSizeBaseSp) * 1rem);
		--fontSize36: calc(36 / var(--fontSizeBaseSp) * 1rem);
		--fontSize37: calc(37 / var(--fontSizeBaseSp) * 1rem);
		--fontSize38: calc(38 / var(--fontSizeBaseSp) * 1rem);
		--fontSize39: calc(39 / var(--fontSizeBaseSp) * 1rem);
		--fontSize40: calc(40 / var(--fontSizeBaseSp) * 1rem);
		--fontSize41: calc(41 / var(--fontSizeBaseSp) * 1rem);
		--fontSize42: calc(42 / var(--fontSizeBaseSp) * 1rem);
		--fontSize43: calc(43 / var(--fontSizeBaseSp) * 1rem);
		--fontSize44: calc(44 / var(--fontSizeBaseSp) * 1rem);
		--fontSize45: calc(45 / var(--fontSizeBaseSp) * 1rem);
		--fontSize46: calc(46 / var(--fontSizeBaseSp) * 1rem);
		--fontSize47: calc(47 / var(--fontSizeBaseSp) * 1rem);
		--fontSize48: calc(48 / var(--fontSizeBaseSp) * 1rem);
		--fontSize49: calc(49 / var(--fontSizeBaseSp) * 1rem);
		--fontSize50: calc(50 / var(--fontSizeBaseSp) * 1rem);
	}
}

/* ******************************************************************************************
	ベースフォント設定
****************************************************************************************** */
html {
	font-size: calc(var(--fontSizeBase) * 1px);
	/* px単位追加 */
}

@media screen and (max-width:576px) {
	html {
		font-size: calc(var(--fontSizeBaseSp) * 1px);
		/* px単位追加 */
	}
}

/* ******************************************************************************************
	フォントスタイル定義
****************************************************************************************** */
:root {
	--font-base: "Noto Sans JP", sans-serif;
	--font-design: "Sawarabi Gothic", sans-serif;
}

/* デザインフォントを使用する箇所 */
.font-design {
	font-family: var(--font-design);
}

/* ******************************************************************************************
   共通ボタンスタイル
****************************************************************************************** */

.bl_roundButton {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	width: fit-content;
	min-width: 300px;
	min-height: 72px;
	padding: 25px 25px 25px 25px;
	text-align: center;
	font-family: var(--font-base);
	font-size: var(--fontSize18);
	/* font-weight: 500; */
	line-height: 1.5;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #777;
	border-radius: 100vmax;
	transition: color 0.3s ease, background-color 0.3s ease;
	justify-content: center;
	font-weight: 500;
}

/* .bl_roundButton_text {
	text-align: center;
} */

/* 矢印 */
.bl_roundButton_arrow {
	position: relative;
	display: block;
	width: 30px;
	height: 12px;
	margin-left: 16px;
	transition: transform 0.3s ease;
}

/* 矢印の横線 */
.bl_roundButton_arrow::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 30px;
	height: 1px;
	content: "";
	background-color: var(--accentColor);
	transform: translateY(-50%);
}

/* 矢印の先端 */
.bl_roundButton_arrow::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 9px;
	height: 9px;
	content: "";
	border-top: 1px solid var(--accentColor);
	border-right: 1px solid var(--accentColor);
	transform: translateY(-50%) rotate(45deg);
}

.bl_roundButton:hover {
	background-color: var(--accentColor);
	color: #fff;
}

/* ホバー時に矢印を右へ移動 */
@media (hover: hover) {
	.bl_roundButton:hover .bl_roundButton_arrow {
		transform: translateX(6px);
	}

	.bl_roundButton:hover .bl_roundButton_arrow::before {
		background-color: #fff;
	}

	.bl_roundButton:hover .bl_roundButton_arrow::after {
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}
}

/* キーボード操作時 */
.bl_roundButton:focus-visible {
	outline: 2px solid var(--accentColor);
	outline-offset: 4px;
}

/* 動きを抑える設定への対応 */
@media (prefers-reduced-motion: reduce) {

	.bl_roundButton,
	.bl_roundButton_arrow {
		transition: none;
	}
}

@media screen and (max-width: 992px) {
	.bl_roundButton {
		min-height: 52px;
		font-size: var(--fontSize16);
	}

	/* .page-template-front-page section+section,
	.page-template-page-nurseries section+section {
		margin-top: 15%;
	} */
}

/* ******************************************************************************************
	body設定
****************************************************************************************** */
body {
	/* 文字色設定 */
	color: var(--black);
	/* 行間設定 */
	line-height: 1.5;
	/* 間隔設定 */
	letter-spacing: .56px;
	/* フォント設定 */
	font-family: var(--font-base);
	font-weight: 400;
	/* 背景設定 */
	background-color: var(--baseColor);
	/* デフォルト設定 */
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	word-break: break-word;
	overflow-wrap: break-word;
	/* フッター浮き上がり防止 */
	display: flex;
	/* フッター浮き上がり防止 */
	flex-direction: column;
	/* フッター浮き上がり防止 */
	min-height: 100vh;
	/* フッター浮き上がり防止 */
	position: relative;
	overflow-x: hidden;
}



/* ドロップダウンメニュー開時のオーバーレイ（PC: min-width 993px） */
@media screen and (min-width: 993px) {
	body.has-dropdown-open::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.3);
		z-index: 999;
		pointer-events: auto;
	}
}

@media screen and (max-width:576px) {
	/* body:not(.page-template-front-page) {
		padding-top: 60px;
	} */

	main {
		flex: 1;
		/* フッター浮き上がり防止（メインが余白を埋める） */
	}
}

/* ******************************************************************************************
	テキスト設定
****************************************************************************************** */
/* pの中にrubyがあれば余白をあける */
p:has(>ruby) {
	line-height: 2;
}

/* ******************************************************************************************
	画像設定
****************************************************************************************** */
img {
	vertical-align: bottom;
	/* 余白防止 */
	max-width: 100%;
	/* 画像のデフォルトサイズ */
	height: auto;
	object-fit: cover;
}

/* ******************************************************************************************
	フォーム設定（適宜設定）
****************************************************************************************** */
select {
	-webkit-appearance: auto;
	appearance: auto;
	/* デフォルトの矢印を表示 */
}

select:hover {
	cursor: pointer;
}

input {
	border: 1px solid rgb(0 0 0 / 20%);
}

[type="button"],
[type="reset"],
[type="submit"] {
	padding: 0 .5em;
	border: none;
	background-color: var(--mainColor);
	color: var(--black);
	cursor: pointer;
}

/* ******************************************************************************************
	リンク設定
****************************************************************************************** */
a {
	display: inline-block;
	color: var(--black);
	text-decoration: underline;
	text-underline-offset: .2rem;
	text-decoration-thickness: 1px;
	text-decoration-skip-ink: none;
}

a:hover,
a:focus {
	text-underline-offset: .2rem;
	/* opacity: .6; */
}

/* 色設定 */
/* a{
	color: #003399;
	text-decoration: underline;
	position: relative;
}
a:visited {
    color: #800080;
}
a:hover {
    color: #0000CC;
}
a:active {
    color: #FF0000;
} */
/* ******************************************************************************************
	フォーカス設定
****************************************************************************************** */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
	outline: 3px solid #000;
	outline-offset: 2px;
}

/* ******************************************************************************************
	リスト設定
****************************************************************************************** */
ol {
	list-style: decimal;
	/* リセットCSS打ち消し */
}

/* ******************************************************************************************
	電話番号設定（576px以下タップ有効化）
****************************************************************************************** */
/* タップ電話 */
a[href^="tel:"] {
	display: inline-block;
	text-decoration: none;
	pointer-events: none;
}

@media screen and (max-width:576px) {
	a[href^="tel:"] {
		text-decoration: underline;
		cursor: pointer;
		pointer-events: auto;
		/* フォントサイズを変更する場合適宜修正 */
		/* font-size: 1.2rem; */
	}
}

/* ******************************************************************************************
	サイト幅設定（適宜設定）
****************************************************************************************** */
.ly_inner {
	width: 100%;
	max-width: calc(1100px + 20px);
	/* 基準幅 + 両padding余白分 */
	margin-right: auto;
	margin-left: auto;
	padding-right: 10px;
	padding-left: 10px;
}

.front-page-inner,
.nurseries-page-inner {
	max-width: 90%;
	width: 1300px;
	margin: 0 auto;
}

.front-page-inner-wide,
.nurseries-page-inner-wide {
	width: 95%;
	max-width: 1700px;
	margin: 0 auto;
}

/* ******************************************************************************************
	サイト区切り設定（必要に応じて設定）
****************************************************************************************** */
.ly_section {
	/* padding-top: 3.5rem; */
	padding-bottom: 8rem;
}

/* ******************************************************************************************
	見出し設定
****************************************************************************************** */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	英語・日本語見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.el_englishJapaneseTitle {
	margin-bottom: 50px;
	padding: 10px 20px;
	text-align: center;
}

.el_englishJapaneseTitle_english {
	display: block;
	font-size: var(--fontSize40);
	font-family: "Times New Roman", Times, "serif";
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	カラーライン見出し
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.el_colorLineTitle {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	margin-bottom: 50px;
}

.el_colorLineTitle_title {
	position: relative;
	padding: 0 30px;
	/* 見出しと線の余白 */
	background-color: var(--white);
	font-weight: bold;
	font-size: var(--fontSize21);
	text-align: center;
	z-index: 2;
	font-size: var(--fontSize32);
}

.el_colorLineTitle_line {
	display: inline-block;
	position: relative;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 500px;
	height: 2px;
	opacity: .5;
	border-radius: var(--borderRadius3);
	background-color: var(--purple);
	z-index: 1;
}

.el_colorLineTitle_line::after,
.el_colorLineTitle_line::before {
	content: "";
	display: block;
	position: absolute;
	transform: translate(-50%, -50%);
	width: 500px;
	height: 2px;
}

.el_colorLineTitle_line::before {
	top: calc(50% - 8px);
	left: calc(50% + 10px);
	background-color: var(--pink);
}

.el_colorLineTitle_line::after {
	top: calc(50% + 8px);
	left: calc(50% + 20px);
	background-color: var(--green);
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	ヘッダー
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ******************************************************************************************
	グローバルメニュー
****************************************************************************************** */
.ly_header {
	width: 100%;
	/* height: 135px; */
	z-index: 1000;
	padding: 15px 20px 15px 20px;
	transition: background-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
}



/* ハンバーガーメニュー表示時（992px以下）は高さ縮小を無効、かつスクロール時のスタイルを制限 */
@media screen and (max-width: 992px) {
	.ly_header.is-scrolled {
		padding: 20px 40px;
		/* 高さを100pxに戻す（スクロール時は白背景・黒文字は維持） */
	}
}

.header_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* サイト名 */
.site-ttl {
	color: var(--black);
	font-weight: 600;
	font-size: clamp(1.25rem, 0.5388vw + 0.9159rem, 1.5625rem);
	text-decoration: none;
}

/* 白百合こども園、白百合いずみこども園サイトロゴ */
.site-logo.site-logo--sirayuri,
.site-logo.site-logo--izumi {
	width: auto;
	height: 197px;
}

/* 法人サイトサイトロゴ */
.site-logo.site-logo--corporate {
	width: 220px;
}

.bl_companyTitleArea .site-ttl img {
	filter: brightness(0) saturate(100%) invert(35%) sepia(8%) saturate(710%) hue-rotate(296deg) brightness(91%) contrast(88%);
}

@media (max-width: 992px) {

	.site-logo.site-logo--sirayuri,
	.site-logo.site-logo--izumi {
		height: clamp(75px, 10.37vw, 197px);
	}
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	全体
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.bl_gNavUnit {
	display: flex;
	justify-content: flex-end;
	gap: .5rem;
}

/* .bl_gNav_link_contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	padding: 16px 32px;
	color: #fff;
	background-color: var(--mainColor);
	text-decoration: none;
	transform: skewX(-20deg);
	transition: background-color 0.3s ease;
}

.bl_gNav_link_contact span {
	display: block;
	transform: skewX(15deg);
}

.bl_gNav_link_contact:hover {
	background-color: #245f45;
} */

.bl_gNav_link_contact {
	background: var(--mainColor);
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 240px;
	padding: 10px 25px;
	color: #fff;
	transition: 0.3s ease-in-out;
	/* clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%); */
	border-radius: 50vh;
}

.bl_gNav_link_contact:hover {
	background: #44bc28;
	color: #FFF;
}

/* 上部メニュー */
.bl_gNav_top_Unit {
	display: flex;
	justify-content: flex-end;
}

.bl_gNav_top_Unit .bl_gNav_link {
	font-size: var(--fontSize16);
}

@media screen and (max-width:992px) {
	.bl_gNav_area {
		position: fixed;
		top: 0;
		right: -100%;
		overflow: auto;
		transition: .4s;
		width: 100%;
		background-color: #16332df5;
		height: 100vh;
		visibility: hidden;
		padding: 0 20px 0px 20px;
		/* calc(ハンバーガーメニュー高さ分 + 余白) */
		z-index: 3;
	}

	.bl_gNav_top_Unit .bl_gNav_link {
		border-bottom: none;
	}

	.bl_gNav_top_Unit .bl_gNav_link {
		border-radius: 50vh;
		background-color: #ffffff;
		padding: 1rem;
		border: solid 1px;
	}

	.bl_gNav_top_Unit {
		display: flex;
		justify-content: flex-end;
		gap: 1rem;
		flex-direction: column;
	}

	.is_active .bl_gNav_area {
		right: 0;
		visibility: visible;
	}

	.bl_gNav.is_open {
		left: 0;
		transition: all .6s;
	}

	.bl_gNav {
		overflow-x: hidden;
		overflow-y: auto;
		transition: all .6s;
		width: 100%;
	}

	.bl_gNavUnit {
		display: block;
		margin-bottom: 2rem;
	}
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	個別
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ======================================================================
	グローバルメニューのリスト
====================================================================== */
/* .bl_gNav_item {
	position: relative;
} */

/* .bl_gNav_item+.bl_gNav_item::before {
	content: '';
	display: block;
	width: 1px;
	height: 15px;
	background-color: var(--black);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
} */

.bl_gNav_link {
	display: flex;
	height: stretch;
	justify-content: center;
	align-items: center;
	transition: all .3s;
	padding: 0.3rem 20px;
	font-size: 1.1rem;
	color: var(--black);
	font-weight: 500;
	letter-spacing: .56px;
	text-decoration: none;
	font-size: var(--fontSize22);
}

.bl_gNav_link:is(:hover, :focus) {
	opacity: 1;
}

.bl_gNav_link:hover {
	color: var(--accentColor);
	/* transition: .9s; */
}

.bl_gNavUnit.bl_gNav_top_Unit_cp .bl_gNav_item::after {
	content: none;
}

@media screen and (max-width:992px) {
	.bl_companyTitleArea {
		position: absolute;
		top: 15px;
		left: 15px;
	}
}

@media screen and (max-width:1200px) {
	.ly_header {
		padding: 20px 20px;
	}

	/* .ly_header.is-scrolled {
		padding: 8px 20px;
	} */

	.bl_gNav_link {
		padding: 0.3rem 1rem;
	}

	.site-ttl,
	.footer-logo-text {
		font-size: var(--fontSize20);
	}

}

@media screen and (min-width: 993px) and (max-width: 1200px) {
	.ly_recruit-header .bl_gNav_link {
		padding: 0.5rem;
		font-size: var(--fontSize14);
	}

}

@media screen and (max-width:576px) {

	.ly_header {
		padding: 14px 10px;
		height: 60px;
	}

	.ly_header.is-scrolled {
		padding: 14px 10px;
		height: 60px;
	}
}



/* ------------------------------------------------------------
	ホバーで表示される子リスト
------------------------------------------------------------ */
/* ------------------------------------------------------------
	子リスト（PC）
------------------------------------------------------------ */
@media screen and (min-width:993px) {

	/* ====================================
		メガメニュー本体
	==================================== */

	.bl_gNav_item_child {

		display: none;

		/* 親のナビ項目ではなく、ヘッダーと同じ画面幅を基準に中央配置する */
		position: fixed;
		top: 95px;
		left: 50%;
		transform: translateX(-50%);

		width: min(1400px, calc(100vw - 80px));

		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px;

		padding: 40px;

		background: #fff;

		border-radius: 16px;

		box-shadow: 0 30px 60px rgba(0, 0, 0, .12);

		z-index: 100;

		max-height: calc(100vh - 150px);
		/* ビューポート高さからヘッダー分を差し引く */
		overflow-y: auto;
		/* 縦スクロール有効化 */

	}

	.bl_gNav_item_child.is-open {

		display: grid;

		animation: megaMenuFade .25s ease;

	}

	@keyframes megaMenuFade {

		from {

			opacity: 0;
			transform: translate(-50%, 10px);

		}

		to {

			opacity: 1;
			transform: translate(-50%, 0);

		}

	}



	/* ====================================
		ヘッダー
	==================================== */

	.child-menu-header {

		grid-column: 1 / -1;

		padding: 0 0 28px;

		margin-bottom: 10px;

		border-bottom: 1px solid #ececec;

	}

	.child-menu-sub-header {

		grid-column: 1 / -1;

	}

	/* .child-menu-header::after {

		content: "";

		display: block;

		width: 48px;

		height: 3px;

		background: var(--mainColor);

		margin-top: 22px;

	} */

	.parent-title {

		font-size: var(--fontSize36);
		font-weight: 500;
		line-height: 1.2;
		letter-spacing: .05em;
		color: var(--black);

	}

	.parent-sub-title {

		font-size: var(--fontSize26);
		font-weight: 700;
		line-height: 1.2;
		letter-spacing: .05em;
		color: var(--black);

	}

	.parent-title_en {
		display: block;
		margin-top: 10px;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: .2em;
		color: var(--mainColor);
		/* font-family: "Poppins", sans-serif; */
		margin-bottom: 1rem;
	}

	p.parent-description {
		/* font-weight: 600; */
		color: var(--black);
	}


	/* ====================================
		カード
	==================================== */

	.bl_gNav_item_child>li:not(.child-menu-header) {

		display: block;

	}

	.bl_gNav_item_child>li>a {

		display: flex;

		flex-direction: column;

		height: 100%;

		border: 1px solid #e8e8e8;

		border-radius: 12px;

		overflow: hidden;

		background: #fff;

		text-decoration: none;

		transition: .3s;

	}

	.bl_gNav_item_child>li>a:hover {

		opacity: 1;

		transform: translateY(-6px);

		box-shadow: 0 18px 40px rgba(0, 0, 0, .08);

		border-color: transparent;

	}

	.bl_gNav_item_child img {

		width: 100%;

		height: 190px;

		object-fit: cover;

		transition: .35s;

	}

	.bl_gNav_item_child>li>a:hover img {

		transform: scale(1.05);

	}

	.menu-title {

		position: relative;

		padding: 22px 54px 22px 22px;

		font-size: 20px;

		font-weight: 500;

		line-height: 1.5;

		transition: .3s;

	}

	.bl_gNav_item_child>li>a:hover .menu-title {

		color: var(--mainColor);

	}

	.menu-title::after {

		content: "→";

		position: absolute;

		right: 22px;

		top: 50%;

		transform: translateY(-50%);

		font-size: 20px;

		transition: .3s;

	}

	.bl_gNav_item_child>li>a:hover .menu-title::after {

		right: 18px;

		color: var(--mainColor);

	}



	/* ====================================
		親メニュー
	==================================== */
	/* 
	.st_gNav_itemParent{

		position:relative;

	} */

	.st_gNav_itemParent>.bl_gNav_link {

		position: relative;

		padding-right: 34px;

	}

	/* ▼ */

	.st_gNav_itemParent>.bl_gNav_link::after {

		content: "";

		position: absolute;

		right: 12px;

		top: 48%;

		width: 8px;

		height: 8px;

		border-right: 2px solid var(--mainColor);

		border-bottom: 2px solid var(--mainColor);

		transform: translateY(-70%) rotate(45deg);

		transition: .25s;

	}

	.bl_gNavUnit_nurseries .st_gNav_itemParent>.bl_gNav_link::after {
		border-right: 2px solid #86E2D5;

		border-bottom: 2px solid #86E2D5;
	}

	/* 開いている */
	/* 
	.st_gNav_itemParent.is-current>.bl_gNav_link {

		color: var(--mainColor);

	} */

	.st_gNav_itemParent.is-current>.bl_gNav_link::after {

		transform: translateY(-30%) rotate(-135deg);

	}

	/* 下線 */
	/* 
	.st_gNav_itemParent::before{

		content:"";

		position:absolute;

		left:15px;

		right:15px;

		bottom:-18px;

		height:3px;

		background:var(--mainColor);

		transform:scaleX(0);

		transform-origin:center;

		transition:.25s;

	}

	.st_gNav_itemParent.is-current::before{

		transform:scaleX(1);

	} */

}


/*====================================
		カード
	====================================*/

.bl_gNav_item_child>li:not(.child-menu-header) {

	display: block;

}

.bl_gNav_item_child>li>a {

	display: flex;
	flex-direction: column;

	height: 100%;

	border-radius: 12px;

	background: #fff;

	overflow: hidden;

	border: 1px solid #e8e8e8;

	text-decoration: none;

	transition: .3s;

}

.bl_gNav_item_child>li>a:hover {

	opacity: 1;

	transform: translateY(-6px);

	box-shadow: 0 18px 40px rgba(0, 0, 0, .08);

	border-color: transparent;

}

.bl_gNav_item_child>li img {

	display: block;

	width: 100%;

	height: 180px;

	object-fit: cover;

	filter: brightness(1.08) saturate(.85);

	transition: .4s;

}

.bl_gNav_item_child>li>a:hover img {

	transform: scale(1.05);

}

.bl_gNav_item_child>li .menu-title {

	position: relative;

	padding: 22px 55px 22px 24px;

	font-size: 20px;

	font-weight: 500;

	line-height: 1.5;

	transition: .3s;

}

.bl_gNav_item_child>li>a:hover .menu-title {

	color: var(--mainColor);

}

.bl_gNav_item_child>li .menu-title::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-right: 2px solid var(--mainColor);
	border-bottom: 2px solid var(--mainColor);
	transform: translateY(-50%) rotate(-45deg);
	transition: .2s;
}

.bl_gNav_item_child>li>a:hover .menu-title::after {

	right: 18px;

	color: var(--mainColor);

}





@media screen and (max-width:992px) {
	.bl_gNav_item {
		width: 100%;
	}

	.bl_gNav_item+.bl_gNav_item::before {
		content: none;
	}

	.bl_gNav_link {
		position: relative;
		display: block;
		padding: 1rem;
		border-bottom: 1px solid #ccc;
	}

	.bl_gNav_item_child a,
	.child-menu-header {
		color: #fff;
		text-decoration: none;
	}

	.child-menu-header {
		display: none;
	}

	.bl_gNav_item_child a {
		padding: 5px 0 5px 1em;
		width: 100%;
	}

	ul.bl_gNav_item_child {
		margin-top: .75rem;
	}

	.bl_gNav_item.btn-contact {
		margin-left: 0;
		margin-top: 1rem;
	}

	.bl_gNav_item.btn-contact a {
		border-bottom: none;
	}

	/* ハンバーガーメニュー時のアイキャッチ画像を非表示 */
	.bl_gNav_item_child>li img {
		display: none;
	}

	.bl_gNav_link::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		width: 6px;
		height: 6px;
		border-right: 2px solid var(--mainColor);
		border-bottom: 2px solid var(--mainColor);
		transform: translateY(-50%) rotate(-45deg);
		transition: .2s;
	}

	.bl_gNavUnit_nurseries .bl_gNav_link::after {
		border-right-color: #86e2d5;
		border-bottom-color: #86e2d5;
	}

	.bl_gNav_link:hover::after,
	.bl_gNav_link:focus::after {
		right: 7px;
		transition: .2s;
	}
}

/* ============================================================
	ハンバーガーメニュー
============================================================ */
/* フォーカストラップ非表示 */
#js_focusTrapFirst,
#js_focusTrapEnd {
	display: none;
}

.el_trigger {
	display: none;
}

@media screen and (max-width:992px) {

	/* ハンバーガーメニューオープン時のみフォーカストラップ有効化 */
	.is_active #js_focusTrapFirst,
	.is_active #js_focusTrapEnd {
		display: block;
	}

	.el_trigger {
		display: block;
		position: fixed;
		top: 5px;
		right: 5px;
		transition: .2s;
		width: 60px;
		height: 60px;
		margin: 0;
		cursor: pointer;
		z-index: 1000;
		background-color: var(--mainColor);
		border-radius: 50vh;
	}

	.is_active .el_trigger .el_trigger_line {
		background-color: transparent;
	}

	.is_active .el_trigger .el_trigger_line::before {
		top: 0;
		transform: rotate(45deg);
		background-color: #fff;
	}

	.is_active .el_trigger .el_trigger_line::after {
		top: 0;
		transform: rotate(-45deg);
		background-color: #fff;
	}

	/* 
	.is_active .el_trigger .el_trigger_text::before {
		content: "閉じる";
	} */

	.el_trigger_line {
		display: block;
		position: absolute;
		top: 22px;
		left: 50%;
		transform: translateX(-50%);
		transition: .4s;
		width: 32px;
		height: 2px;
		border-radius: 5px;
		background-color: #fff;
	}

	.el_trigger_line::before,
	.el_trigger_line:after {
		content: "";
		display: block;
		position: absolute;
		transition: inherit;
		width: 100%;
		height: 100%;
		background-color: #fff;
	}

	.el_trigger_line::before {
		top: -10px;
	}

	.el_trigger_line:after {
		top: 10px;
	}

	/* スクロール時のハンバーガーメニュー線の色を黒に変更 */
	.ly_header.is-scrolled .el_trigger_line {
		background-color: #fff;
	}

	.ly_header.is-scrolled .el_trigger_line::before,
	.ly_header.is-scrolled .el_trigger_line:after {
		background-color: #fff;
	}

	/* トップページ */
	.home .el_trigger_line,
	.home .el_trigger_line::before,
	.home .el_trigger_line::after {
		background-color: #fff;
	}

	/* トップページ（スクロール後） */
	.home .ly_header.is-scrolled .el_trigger_line,
	.home .ly_header.is-scrolled .el_trigger_line::before,
	.home .ly_header.is-scrolled .el_trigger_line::after {
		background-color: #fff;
	}

	/* トップページ以外 */
	body:not(.home) .el_trigger_line,
	body:not(.home) .el_trigger_line::before,
	body:not(.home) .el_trigger_line::after {
		background-color: #fff;
	}
}

/* 576px以下でトップページ以外の固定ヘッダーではハンバーガーメニュー線を黒に */
@media screen and (max-width: 576px) {
	body:not(.home) .el_trigger_line {
		background-color: #fff;
	}

	body:not(.home) .el_trigger_line::before,
	body:not(.home) .el_trigger_line:after {
		background-color: #fff;
	}
}

.el_trigger_text {
	position: absolute;
	bottom: 7px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	text-align: center;
}

.el_trigger_text::before {
    content: "MENU";
    font-size: 11px;
    font-family: "Poppins", sans-serif;
    letter-spacing: 0;
    color: #fff;
    font-weight: 600;
}


/* ==========================================================
   スマホメニュー UI改善
========================================================== */
@media screen and (max-width:992px) {

	/*----------------------------
		メニュー全体
	----------------------------*/

	.bl_gNav_area {
		padding: 15px 24px 40px;
		background: #ffffffe0;
		backdrop-filter: blur(7px);
	}

	.bl_gNav {
		max-width: 90%;
		margin: 0 auto;
		display: flex;
		flex-direction: column-reverse;
	}

	/*----------------------------
		ヘッダー
	----------------------------*/

	.bl_gNav_header {
		margin-bottom: 30px;
		padding-top: 5rem;
		padding-bottom: 20px;
		/* border-bottom: 1px solid var(--black); */
	}

	/* .bl_gNav_header::after {

		content: "MENU";

		display: block;

		margin-top: 12px;

		font-size: 12px;

		letter-spacing: .3em;

		color: var(--black);

		font-family: "Poppins", sans-serif;

	} */

	/*----------------------------
		親メニュー
	----------------------------*/

	.bl_gNav_link {

		display: flex;

		align-items: center;

		justify-content: space-between;

		padding: 20px 0;

		font-size: 20px;

		font-weight: 500;

		letter-spacing: .08em;

		border-bottom: 1px solid #e7ded9;

	}

	.ly_recruit-header .bl_gNav_link {

		justify-content: flex-start;
	}

	#aria_navigation .site-ttl {
		color: #fff;
	}

	/*----------------------------
		子メニュー見出し
	----------------------------*/

	.child-menu-header {
		display: none;
		padding: 18px 0 12px;
		border: none;

	}

	.parent-title {

		font-size: 14px;

		font-weight: 700;

		color: var(--black);

	}

	.parent-title_en {

		display: block;

		margin-top: 6px;

		font-size: 11px;

		font-family: "Poppins", sans-serif;

		letter-spacing: .25em;

		color: var(--mainColor);

	}

	.parent-description {

		display: none;

	}

	/*----------------------------
		子メニュー
	----------------------------*/

	.bl_gNav_item_child {

		margin: 12px 0 24px;

	}

	.bl_gNav_item_child li {

		margin: 0;

	}

	.bl_gNav_item_child>li>a {

		position: relative;

		display: block;

		padding: 14px 0 14px 18px;

		color: #fff;

		font-size: 16px;

		font-weight: 500;

		border: none;

		background: none;

	}

	.bl_gNav_item_child a::before {

		content: "";

		position: absolute;

		left: 0;

		top: 50%;

		width: 6px;

		height: 6px;

		border-radius: 50%;

		background: var(--mainColor);

		transform: translateY(-50%);

	}

	.bl_gNavUnit_nurseries .bl_gNav_item_child a::before {
		background-color: #86e2d5;
	}

	.bl_gNav_item_child>li .menu-title {
		padding: 0;
		color: var(--black);
		font-size: 16px;
		font-weight: 500;
		display: block;
	}

	.bl_gNav_item_child>li .menu-title::after {
		color: var(--mainColor);
	}

	/*----------------------------
		画像非表示
	----------------------------*/

	.bl_gNav_item_child>li img {

		display: none;

	}

	/*----------------------------
		ENTRYボタン
	----------------------------*/

	.btn-contact {

		margin-top: 32px;

		border-radius: 8px;

	}

	.btn-contact .bl_gNav_link {

		justify-content: center;

		border: none;

		padding: 18px;

		font-size: 18px;

	}

	/*----------------------------
		閉じるボタン
	----------------------------*/

	.is_active .el_trigger_text::before {

		content: "CLOSE";

		font-size: 11px;

		font-family: "Poppins", sans-serif;

		letter-spacing: .15em;

		color: #fff;

	}

	.st_gNav_itemParent>.bl_gNav_link {

		position: relative;

		padding-right: 40px;

	}

	/* ＋ */

	.st_gNav_itemParent>.bl_gNav_link::after {

		content: "+";

		position: absolute;

		right: 8px;

		top: 50%;

		transform: translateY(-50%);

		border: none;

		width: auto;

		height: auto;

		font-size: 26px;

		font-weight: 300;

		color: var(--mainColor);

	}

	.bl_gNavUnit_nurseries .st_gNav_itemParent>.bl_gNav_link::after {
		color: #86e2d5;
	}

	/* 開いたら－ */

	.st_gNav_itemParent.is-open>.bl_gNav_link::after {

		content: "−";

	}

	/* 子メニュー */

	.st_gNav_item_child {

		display: none;

		margin: 0;

		padding: 0 0 15px;

	}

	.st_gNav_itemParent.is-open>.bl_gNav_item_child {

		display: block;

	}

	.st_gNav_itemParent.is-open>.bl_gNav_item_child {
		display: block !important;
	}

	.st_gNav_itemParent:not(.is-open)>.bl_gNav_item_child {
		display: none !important;
	}

}

/* ハンバーガーメニュー内のサイトタイトルを閉じた状態では非表示にする */
@media screen and (min-width: 992px) {
	.bl_gNav_header {
		display: none !important;
	}

	.is_active .bl_gNav_header {
		display: block !important;
	}
}

@media screen and (max-width: 576px) {

	.bl_gNav_link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 20px 0;
		font-size: var(--fontSize16);
		font-weight: 500;
		letter-spacing: .08em;
		border-bottom: 1px solid #e7ded9;
	}
}



/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	フッター
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* フッター
------------------------------------------ */
.site-footer {
	position: relative;
	z-index: 1;
	background-color: rgb(255 255 255 / 80%);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(13px);
}

.site-footer .bg_gradient {
	border-radius: 50px 50px 0 0;
}

.site-footer__inner {
	display: grid;
	grid-template-columns: minmax(280px, 0.85fr) minmax(580px, 1.3fr);
	width: 80%;
	max-width: 1700px;
	margin: 0 auto;
	margin-inline: auto;
	padding-block: 80px 20px;
}

/* 左側：法人情報
------------------------------------------ */
.site-footer__info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.site-footer__logo {
	margin-bottom: 1rem;
}

.site-footer__corporate,
.site-footer__name,
.site-footer__name-en,
.site-footer__address p,
.site-footer__copyright {
	margin: 0;
}

.site-footer__name {
	margin-top: 2px;
	letter-spacing: 0.04em;
}

.site-footer__name-en {
	margin-top: 4px;
	letter-spacing: 0.01em;
}

.site-footer__address {
	margin-top: 10px;
	font-style: normal;
	line-height: 1.75;
	/* font-weight: 500; */
}

.site-footer__address p+p {
	margin-top: 2px;
}

.site-footer__address a {
	color: inherit;
	text-decoration: none;
}

.site-footer__policy {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 28px;
	margin-top: 20px;
	font-size: var(--fontSize14);
}

.site-footer__policy a {
	color: inherit;
	text-underline-offset: 4px;
	transition: opacity 0.3s ease;
}

.site-footer__copyright {
	margin-top: auto;
	padding-top: 26px;
}

/* 右側
------------------------------------------ */
.site-footer__main {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* ナビゲーション
------------------------------------------ */
.site-footer__nav-list,
.site-footer__subnav {
	padding: 0;
	margin: 0;
	list-style: none;
}

.site-footer__nav-list {
	display: grid;
	grid-template-columns:
		minmax(max-content, 0.8fr) minmax(max-content, 1fr) minmax(max-content, 1.55fr) minmax(max-content, 0.8fr) minmax(max-content, 0.8fr);
	gap: 26px;
}

.site-footer__nav-item {
	font-weight: 500;
}

.site-footer__nav-item>a {
	display: inline-block;
	color: inherit;
	font-weight: 500;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.site-footer__subnav {
	margin-top: 8px;
    font-size: var(--fontSize16);
    font-weight: 400;
    line-height: 1.75;
}

.site-footer__subnav li+li {
	margin-top: 2px;
}

.site-footer__subnav a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

/* お問い合わせ
------------------------------------------ */
.site-footer__contact {
	width: 80%;
	padding: 2rem;
	margin: 0 auto;
	margin-top: 44px;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.95);
	border-radius: 17px;
	filter: drop-shadow(0 0 30px rgba(0, 0, 0, 0.05));
}

.site-footer__contact-text {
	margin: 0;
	line-height: 1.8;
	font-weight: 500;
}

.site-footer__contact-buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 18px;
	font-weight: 500;
}

.site-footer__contact-buttons .site-footer__contact-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 48px;
	padding: 25px;
	color: #5c5555;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #817979;
	border-radius: 100vmax;
	transition:
		color 0.3s ease,
		background-color 0.3s ease,
		border-color 0.3s ease;
}

.site-footer__contact-button___tel::before,
.site-footer__contact-button___mail::before {
	display: block;
	flex: 0 0 auto;
	height: 23px;
	content: "";
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: filter 0.3s ease;
}

.site-footer__contact-button___tel::before {
	width: 23px;
	background-image: url("../img/icon/tel.svg");
}

.site-footer__contact-button___mail::before {
	width: 28px;
	background-image: url("../img/icon/mail.svg");
}

.site-footer__contact-icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: #ff8f47;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.4;
	transition: stroke 0.3s ease;
}

/* ホバー
------------------------------------------ */
@media (hover: hover) {

	.site-footer__policy a:hover,
	.site-footer__nav-item a:hover {
		opacity: 0.6;
	}

	.site-footer__contact-button:hover {
		color: #fff;
		background-color: #ff8f47;
		border-color: #ff8f47;
	}

	.site-footer__contact-button___tel:hover::before,
	.site-footer__contact-button___mail:hover::before {
		filter: brightness(0) invert(1);
	}

	.site-footer__contact-button:hover .site-footer__contact-icon {
		stroke: #fff;
	}

}

/* フォーカス
------------------------------------------ */
.site-footer a:focus-visible {
	outline: 2px solid #ff8f47;
	outline-offset: 4px;
}

/* タブレット
------------------------------------------ */
@media screen and (max-width: 1100px) {

	.site-footer__inner {
		grid-template-columns: minmax(240px, 0.7fr) minmax(500px, 1.3fr);
		gap: 50px;
		width: min(calc(100% - 60px), 1000px);
	}

	.site-footer__nav-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 24px;
	}

	.site-footer__contact {
		margin-top: 36px;
	}

}

/* スマートフォン・小型タブレット
------------------------------------------ */
@media screen and (max-width: 767px) {

	.site-footer__inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	/*
	 * 2つのラッパーをレイアウト上なくし、
	 * 内部要素をsite-footer__innerのflex要素として扱う
	 */
	.site-footer__info,
	.site-footer__main {
		display: contents;
	}

	/* 1：サイトロゴ */
	.site-footer__logo {
		order: 1;
		width: 100%;
		margin-bottom: 0;
		/* text-align: center; */
	}

	.site-footer__logo a {
		display: inline-block;
	}

	.site-footer__logo img {
		display: block;
		width: min(100%, 180px);
		height: auto;
		margin-inline: auto;
		margin: 0;
	}

	/* 2：住所 */
	.site-footer__address {
		order: 2;
		width: 100%;
		margin-bottom: 0;
		/* text-align: center; */
	}

	/* 3：各園の見学・お問い合わせ */
	.site-footer__contact {
		order: 3;
		width: 100%;
		margin-bottom: 40px;
		text-align: center;
	}

	.site-footer__contact-buttons {
		justify-content: start;
	}

	/* 4：ナビゲーション */
	.site-footer__nav {
		order: 4;
		width: 100%;
		margin-bottom: 35px;
	}

	/* 5：プライバシー・サイトポリシー */
	.site-footer__policy {
		order: 5;
		display: flex;
		flex-wrap: wrap;
		justify-content: start;
		gap: 12px 22px;
		width: 100%;
		margin-bottom: 25px;
		text-align: center;
	}

	/* 6：コピーライト */
	.site-footer__copyright {
		order: 6;
		width: 100%;
		margin: 0;
		text-align: center;
	}

	.site-footer__contact-text {
		text-align: center;
		font-size: var(--fontSize14);
	}

	.site-footer__contact-buttons .site-footer__contact-button {
		padding: 15px;
	}
}



/* 幅が狭いスマートフォン
------------------------------------------ */
@media screen and (max-width: 480px) {

	.site-footer__nav-list {
		grid-template-columns: 1fr;
	}

	.site-footer__contact-buttons {
		grid-template-columns: 1fr;
		gap: 12px;
	}

}

/* 動きを抑える設定
------------------------------------------ */
@media (prefers-reduced-motion: reduce) {

	.site-footer a,
	.site-footer__contact-icon {
		transition: none;
	}

}

.bl_pageTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	opacity: 0;
	/* 初期は非表示 */
	pointer-events: none;
	/* 非表示時はクリック不可 */
	transition: opacity 0.3s ease;
	z-index: 1000;
	padding: 0;
	line-height: 0;
}

.bl_pageTop img {
	display: block;
	width: clamp(90px, 10vw, 100px);
	height: auto;
}

.bl_pageTop.js_showStyle {
	opacity: 1;
	/* 表示時はふわっと見える */
	pointer-events: auto;
	/* 表示時はクリック可能 */
}

/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	印刷用スタイル
//////////////////////////////////////////////////////////////////////////////////////////////////// */
@media print {
	body {
		/* 背景色反映のため */
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	レスポンシブ補完（1200px / 992px / 768px / 576px）
//////////////////////////////////////////////////////////////////////////////////////////////////// */
@media screen and (max-width: 1200px) {

	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	.ly_inner,
	.front-page-inner,
	.nurseries-page-inner,
	.front-page-inner-wide,
	.nurseries-page-inner-wide {
		min-width: 0;
	}
}

@media screen and (min-width: 993px) {
	.ly_header {
		position: relative;
		z-index: 1000;
	}

	.bl_gNav_item_child {
		z-index: 1001;
	}
}

@media screen and (min-width: 993px) and (max-width: 1200px) {
	.ly_header {
		padding-inline: 16px;
	}

	.header_inner {
		gap: 12px;
	}

	.bl_gNavUnit {
		gap: 0.25rem;
	}

	.bl_gNav_link {
		padding-inline: 0.5rem;
		font-size: clamp(0.875rem, 1.45vw, 1rem);
	}

	.st_gNav_itemParent>.bl_gNav_link {
		padding-right: 28px;
	}

	.st_gNav_itemParent>.bl_gNav_link::after {
		right: 9px;
	}

	.bl_gNav_link_contact {
		padding-inline: 16px;
	}
}

@media screen and (max-width: 992px) {

	.ly_header,
	.ly_header.is-scrolled {
		position: relative;
		height: 70px;
		padding: 0 60px 0 15px;
	}

	.header_inner {
		min-width: 0;
		height: 100%;
	}

	.bl_gNav_area {
		height: 100vh;
		height: 100dvh;
		overscroll-behavior: contain;
	}

	/* min-width:992pxの既存指定と境界が重なるため、992pxではモバイル側を優先する */
	.bl_gNav_header,
	.is_active .bl_gNav_header {
		display: block !important;
	}

	.bl_roundButton {
		width: fit-content;
		max-width: 100%;
		min-width: min(250px, 100%);
		padding: 16px 22px;
	}

	.site-footer__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
		width: min(calc(100% - 40px), 1000px);
	}

	.site-footer__contact {
		margin-right: auto;
		margin-left: 0;
	}
}

@media screen and (max-width: 768px) {
	/* .site-footer {
		border-radius: 30px 30px 0 0;
	} */

	.site-footer__inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: min(calc(100% - 30px), 720px);
		padding-top: 40px;
	}

	.site-footer__info,
	.site-footer__main {
		display: contents;
	}

	.site-footer__logo {
		order: 1;
	}

	.site-footer__address {
		order: 2;
		font-size: var(--fontSize14);
	}

	.site-footer__contact {
		order: 3;
		width: 100%;
		margin: 30px 0 40px;
	}

	.site-footer__nav {
		order: 4;
		width: 100%;
		margin-bottom: 35px;
	}

	.site-footer__policy {
		order: 5;
		width: 100%;
		margin-bottom: 25px;
	}

	.site-footer__copyright {
		order: 6;
		width: 100%;
		margin: 0;
		padding-top: 0;
		text-align: center;
	}
}

@media screen and (max-width: 576px) {
	.ly_inner {
		padding-right: 15px;
		padding-left: 15px;
	}

	.front-page-inner,
	.nurseries-page-inner,
	.front-page-inner-wide,
	.nurseries-page-inner-wide {
		width: calc(100% - 30px);
		max-width: none;
	}

	.bl_roundButton {
		grid-template-columns: minmax(0, 1fr) auto;
		margin: 0 auto;
		min-height: 50px;
		padding: 13px 18px;
	}

	.bl_roundButton_arrow {
		width: 24px;
		margin-left: 10px;
	}

	.bl_roundButton_arrow::before {
		width: 24px;
	}

	.site-footer__inner {
		width: calc(100% - 30px);
	}

	.site-footer__nav-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 18px;
	}

	.site-footer__contact {
		padding: 22px 18px;
	}

	.site-footer__contact-buttons {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.bl_pageTop {
		right: 10px;
		bottom: 10px;
		padding: 0;
	}
}

@media screen and (max-width: 480px) {
	.site-footer__nav-list {
		grid-template-columns: 1fr;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	メインビジュアル通過後のヘッダー追従
//////////////////////////////////////////////////////////////////////////////////////////////////// */
:root {
	--fixed-header-top: 0px;
	--fixed-header-height: 0px;
}

/* 固定時にヘッダーが通常フローから抜ける分の高さを保持する */
body.has-fixed-header {
	padding-top: var(--fixed-header-height);
}

body.has-fixed-header .ly_header.is-scrolled {
	position: fixed;
	top: var(--fixed-header-top);
	right: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	background-color: #ffffff87;
	backdrop-filter: blur(14px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

/* 園サイトは固定追従時だけ専用ロゴへ切り替える */
.site-logo.site-logo--scroll {
	display: none;
	width: auto;
	height: auto;
	max-width: min(45vw, 320px);
	max-height: 60px;
	object-fit: contain;
}

.bl_companyTitleArea .site-ttl .site-logo--scroll {
	filter: none;
}

body.has-fixed-header.header-type-sirayuri .ly_header.is-scrolled .site-logo--default,
body.has-fixed-header.header-type-izumi .ly_header.is-scrolled .site-logo--default {
	display: none;
}

body.has-fixed-header.header-type-sirayuri .ly_header.is-scrolled .site-logo--scroll,
body.has-fixed-header.header-type-izumi .ly_header.is-scrolled .site-logo--scroll {
	display: block;
}

@media screen and (max-width: 992px) {
	.site-logo.site-logo--scroll {
		max-width: min(70vw, 280px);
		max-height: 42px;
	}

	/* モバイルではスクロール追従を無効化し、通常フローへ戻す */
	body.has-fixed-header {
		padding-top: 0;
	}

	body.has-fixed-header .ly_header.is-scrolled {
		position: relative;
		top: auto;
		right: auto;
		left: auto;
		background-color: transparent;
		box-shadow: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	body.has-fixed-header.header-type-sirayuri .ly_header.is-scrolled .site-logo--default,
	body.has-fixed-header.header-type-izumi .ly_header.is-scrolled .site-logo--default {
		display: block;
	}

	body.has-fixed-header.header-type-sirayuri .ly_header.is-scrolled .site-logo--scroll,
	body.has-fixed-header.header-type-izumi .ly_header.is-scrolled .site-logo--scroll {
		display: none;
	}
}

/* 固定ヘッダー表示中はメガメニューをヘッダー直下へ配置する */
@media screen and (min-width: 993px) {
	body.has-fixed-header .bl_gNav_item_child {
		top: calc(var(--fixed-header-top) + var(--fixed-header-height));
		z-index: 1001;
		max-height: calc(100vh - var(--fixed-header-top) - var(--fixed-header-height) - 24px);
		max-height: calc(100dvh - var(--fixed-header-top) - var(--fixed-header-height) - 24px);
	}
}