﻿@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: 木の実幼稚園 — SWELL 子テーマ
    Version: 1.8.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ========================================
   木の実幼稚園 — デザイントークン
   （参考: モダン幼稚園サイト — 写真主導・明るい・活気）
   ======================================== */
:root {
	--konomi-green: #5fad4a;
	--konomi-green-dark: #3f7a1c;
	--konomi-green-light: #eaf6df;
	--konomi-orange: #e8873a;
	--konomi-orange-dark: #c96a1e;
	--konomi-pink: #ff8fab;
	--konomi-yellow: #f6d35a;
	--konomi-sky: #d9f1f8;
	--konomi-cream: #fff7eb;
	--konomi-beige: #fff7e6;
	--konomi-brown: #2d2004;
	--konomi-text: #3a342e;
	--konomi-radius: 28px;
	--konomi-radius-sm: 16px;
	--konomi-shadow: 0 14px 34px rgba(45, 32, 4, 0.08);
	--konomi-font-display: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
	--konomi-font-body: "Noto Sans JP", sans-serif;
}

.konomi-kindergarten {
	--color_main: var(--konomi-green);
	--color_htag: var(--konomi-green-dark);
	--color_main_thin: rgba(94, 160, 46, 0.08);
	color: var(--konomi-text);
	background-color: var(--konomi-cream);
	font-family: var(--konomi-font-body);
}

.konomi-kindergarten .l-header,
.konomi-kindergarten .l-footer {
	font-family: var(--konomi-font-body);
}

.konomi-kindergarten h1,
.konomi-kindergarten h2,
.konomi-kindergarten h3,
.konomi-kindergarten .c-pageTitle,
.konomi-kindergarten .p-mainVisual__title,
.konomi-kindergarten .c-headLogo__text {
	font-family: var(--konomi-font-display);
	font-weight: 800;
	letter-spacing: 0.02em;
}

/* ========================================
   トップ：ブログ型UIを抑えて「園サイト」に
   ======================================== */
.home.konomi-kindergarten .l-content,
.front-page.konomi-kindergarten .l-content {
	max-width: 1120px;
}

.home.konomi-kindergarten.-sidebar-on .l-content,
.front-page.konomi-kindergarten.-sidebar-on .l-content,
.home.konomi-kindergarten .l-mainContent,
.front-page.konomi-kindergarten .l-mainContent {
	width: 100%;
	max-width: 100%;
}

.home.konomi-kindergarten .l-sidebar,
.front-page.konomi-kindergarten .l-sidebar {
	display: none !important;
}

/* RSS・検索バー（ヘッダー下の濃色帯）をトップでは控えめに */
.home.konomi-kindergarten .c-gnavBtns,
.front-page.konomi-kindergarten .c-gnavBtns,
.home.konomi-kindergarten .p-headerInfo,
.front-page.konomi-kindergarten .p-headerInfo {
	display: none !important;
}

/* SWELL 見出し帯を完全オフ＋細い下線だけ（トップのみ。固定ページは別組） */
.home.konomi-kindergarten .post_content h2.wp-block-heading,
.front-page.konomi-kindergarten .post_content h2.wp-block-heading,
.home.konomi-kindergarten .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.front-page.konomi-kindergarten .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.home.konomi-kindergarten .post_content h2,
.front-page.konomi-kindergarten .post_content h2 {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	color: var(--konomi-green-dark) !important;
	border: none !important;
	border-top: none !important;
	border-bottom: none !important;
	border-radius: 0 !important;
	padding: 0.25rem 0 0.5rem !important;
	margin: 0 auto 1rem !important;
	text-align: center !important;
	font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
	box-shadow: none !important;
	position: relative;
}

.home.konomi-kindergarten .post_content h2.wp-block-heading::before,
.front-page.konomi-kindergarten .post_content h2.wp-block-heading::before,
.home.konomi-kindergarten .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before,
.front-page.konomi-kindergarten .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before,
.home.konomi-kindergarten .post_content h2::before,
.front-page.konomi-kindergarten .post_content h2::before {
	content: none !important;
	display: none !important;
	border: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
}

.home.konomi-kindergarten .post_content h2.wp-block-heading::after,
.front-page.konomi-kindergarten .post_content h2.wp-block-heading::after,
.home.konomi-kindergarten .post_content h2::after,
.front-page.konomi-kindergarten .post_content h2::after,
.home.konomi-kindergarten .konomi-section h2::after,
.front-page.konomi-kindergarten .konomi-section h2::after {
	content: "" !important;
	display: block !important;
	position: static !important;
	width: 3rem !important;
	height: 4px !important;
	margin: 0.75rem auto 0 !important;
	border: none !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, var(--konomi-green), var(--konomi-orange)) !important;
	pointer-events: none;
}

/* CTA内の見出しは白文字のまま・下線なし */
.konomi-kindergarten .konomi-cta-band h2,
.konomi-kindergarten .konomi-cta-band .konomi-cta-band__title,
.konomi-kindergarten .konomi-cta-band h2.wp-block-heading {
	color: #fff !important;
	background: none !important;
}

.konomi-kindergarten .konomi-cta-band h2::after,
.konomi-kindergarten .konomi-cta-band .konomi-cta-band__title::after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* トップを記事幅900pxから解放してフル幅感に */
.home.konomi-kindergarten,
.front-page.konomi-kindergarten {
	--article_size: 1100px;
	--color_main: #5ea02e !important;
	--color_htag: #3f7a1c !important;
	--color_bg: #fffdf8 !important;
}

.home.konomi-kindergarten .l-content,
.front-page.konomi-kindergarten .l-content {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.home.konomi-kindergarten .l-mainContent__inner,
.front-page.konomi-kindergarten .l-mainContent__inner {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}

.home.konomi-kindergarten .post_content,
.front-page.konomi-kindergarten .post_content {
	max-width: 100%;
}

/* ヒーローを画面幅いっぱい・大きく */
.konomi-hero {
	position: relative;
	overflow: hidden;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	min-height: clamp(26rem, 72vh, 40rem);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(3.5rem, 9vw, 6.5rem) 1.5rem;
	text-align: center;
	background:
		radial-gradient(ellipse at 75% 15%, rgba(255, 255, 255, 0.65), transparent 48%),
		radial-gradient(circle at 12% 80%, rgba(240, 138, 42, 0.18), transparent 42%),
		linear-gradient(145deg, #c8eb9a 0%, #fff8e8 42%, #ffd9a8 100%);
	border-radius: 0;
	animation: konomi-hero-in 0.8s ease both;
}

@keyframes konomi-hero-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.konomi-section {
	padding: clamp(3rem, 7vw, 5rem) clamp(1rem, 4vw, 2rem);
}

.konomi-section--cream {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: linear-gradient(180deg, #fffdf8 0%, #eef8e6 100%);
}

.konomi-section--cream > .wp-block-group__inner-container,
.konomi-section--cream > :where(.wp-block-group__inner-container),
.konomi-hero > .wp-block-group__inner-container,
.home .konomi-section--cream,
.home .konomi-hero {
	box-sizing: border-box;
}

.home.konomi-kindergarten .konomi-section--cream .wp-block-columns,
.home.konomi-kindergarten .konomi-section--cream .konomi-section__lead,
.home.konomi-kindergarten .konomi-section--cream h2,
.front-page.konomi-kindergarten .konomi-section--cream .wp-block-columns,
.front-page.konomi-kindergarten .konomi-section--cream .konomi-section__lead,
.front-page.konomi-kindergarten .konomi-section--cream h2 {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.home.konomi-kindergarten .p-postListWrap,
.front-page.konomi-kindergarten .p-postListWrap {
	max-width: 1100px;
	margin: 2rem auto;
	padding: 0 1rem;
}

.home.konomi-kindergarten .konomi-section:not(.konomi-section--cream),
.front-page.konomi-kindergarten .konomi-section:not(.konomi-section--cream) {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.konomi-topbar {
	background: linear-gradient(90deg, #fff3e0 0%, #e8f6d8 50%, #dff3ff 100%);
	color: var(--konomi-brown);
	font-size: 0.8125rem;
	line-height: 1.4;
	border-bottom: 2px dashed rgba(94, 160, 46, 0.25);
}

.konomi-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0.5rem 1rem;
}

.konomi-topbar__label {
	margin: 0;
	font-weight: 700;
	color: var(--konomi-green-dark);
}

.konomi-topbar__emoji {
	color: var(--konomi-orange);
}

.konomi-topbar__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}

.konomi-topbar__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.95rem;
	border-radius: 999px;
	background: #fff;
	color: var(--konomi-green-dark);
	text-decoration: none;
	font-weight: 700;
	box-shadow: 0 4px 12px rgba(94, 160, 46, 0.12);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.konomi-topbar__link:hover,
.konomi-topbar__link:focus-visible {
	color: var(--konomi-green-dark);
	transform: translateY(-2px);
	box-shadow: 0 8px 16px rgba(94, 160, 46, 0.18);
}

.konomi-topbar__link--accent {
	background: var(--konomi-orange);
	color: #fff;
}

.konomi-topbar__link--accent:hover,
.konomi-topbar__link--accent:focus-visible {
	background: var(--konomi-orange-dark);
	color: #fff;
}

@media (max-width: 767px) {
	.konomi-topbar__inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
		padding: 0.5rem 0.75rem;
	}

	.konomi-topbar__actions {
		justify-content: center;
	}
}

/* ========================================
   スマホ固定 CTA
   ======================================== */
.konomi-mobile-cta {
	display: none;
}

@media (max-width: 767px) {
	.konomi-kindergarten {
		padding-bottom: 4.25rem;
	}

	.konomi-mobile-cta {
		display: grid;
		grid-template-columns: 1fr 1fr;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9998;
		box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.12);
	}

	.konomi-mobile-cta__btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.35rem;
		min-height: 3.25rem;
		padding: 0.75rem 0.5rem;
		font-size: 0.875rem;
		font-weight: 700;
		text-decoration: none;
		color: #fff;
	}

	.konomi-mobile-cta__btn--tel {
		background: var(--konomi-green);
	}

	.konomi-mobile-cta__btn--contact {
		background: var(--konomi-orange);
	}
}

/* ========================================
   共通：カード・画像・ボタン
   ======================================== */
.konomi-kindergarten .p-postList__item,
.konomi-kindergarten .wp-block-image img,
.konomi-kindergarten .p-postThumb__img {
	border-radius: var(--konomi-radius-sm);
}

.konomi-kindergarten .p-postList__item {
	overflow: hidden;
	background: #fff;
	box-shadow: var(--konomi-shadow);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.konomi-kindergarten .p-postList__item:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(62, 90, 40, 0.14);
}

.konomi-kindergarten .c-categoryList__link,
.konomi-kindergarten .p-postList .c-postThumb__cat {
	border-radius: 999px;
	background: var(--konomi-green) !important;
}

.konomi-kindergarten .swell-block-button__link,
.konomi-kindergarten .c-btn,
.konomi-kindergarten .wp-block-button__link {
	border-radius: 999px !important;
	font-weight: 700;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.konomi-kindergarten .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(62, 90, 40, 0.2);
}

/* ========================================
   ヒーロー（写真置き場つき・フル幅感）
   ======================================== */
.konomi-section {
	padding: clamp(2.75rem, 6vw, 4.5rem) 1rem;
}

.konomi-section--cream {
	background: var(--konomi-cream);
}

.konomi-section--green-light {
	background: var(--konomi-green-light);
}

.konomi-section--sky {
	background: var(--konomi-sky);
}

.konomi-eyebrow {
	display: inline-block;
	margin: 0 0 0.5rem;
	padding: 0.2rem 0.75rem;
	border-radius: 999px;
	background: rgba(94, 160, 46, 0.12);
	color: var(--konomi-green-dark);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.konomi-section__lead {
	max-width: 40rem;
	margin: 0 auto 1.75rem;
	text-align: center;
	line-height: 1.9;
	color: var(--konomi-brown);
}

/* ヒーロー装飾（フル幅定義は上部。ここは装飾のみ） */
.konomi-hero::before {
	content: "";
	position: absolute;
	inset: auto -10% -30% auto;
	width: min(42vw, 22rem);
	height: min(42vw, 22rem);
	border-radius: 50%;
	background: rgba(240, 138, 42, 0.12);
	pointer-events: none;
}

.konomi-hero::after {
	content: "";
	position: absolute;
	inset: -15% auto auto -8%;
	width: min(36vw, 16rem);
	height: min(36vw, 16rem);
	border-radius: 50%;
	background: rgba(94, 160, 46, 0.14);
	pointer-events: none;
}

.konomi-hero > * {
	position: relative;
	z-index: 1;
}

.konomi-hero__title {
	margin: 0.35rem 0 0.85rem;
	font-size: clamp(2.25rem, 6vw, 3.6rem);
	line-height: 1.25;
	color: var(--konomi-green-dark);
	text-shadow: 0 2px 0 rgba(255, 255, 255, 0.5);
}

.konomi-hero__subtitle {
	margin: 0 auto 1.75rem;
	max-width: 36rem;
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	line-height: 1.9;
	color: var(--konomi-brown);
}

.konomi-hero .wp-block-buttons {
	gap: 0.75rem;
	justify-content: center;
}

.konomi-hero .wp-block-button__link {
	min-width: 10rem;
	padding: 0.85rem 1.5rem !important;
}

/* ========================================
   3つの魅力カード
   ======================================== */
.konomi-feature-card {
	height: 100%;
	padding: 1.75rem 1.35rem;
	background: #fff;
	border-radius: var(--konomi-radius);
	box-shadow: var(--konomi-shadow);
	text-align: center;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.konomi-feature-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(62, 90, 40, 0.14);
}

.konomi-feature-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.75rem;
	height: 3.75rem;
	margin-bottom: 0.85rem;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--konomi-green-light), #fff);
	font-size: 1.6rem;
	line-height: 1;
	box-shadow: inset 0 0 0 2px rgba(94, 160, 46, 0.15);
}

.konomi-feature-card__title {
	margin: 0 0 0.5rem;
	font-size: 1.15rem;
	color: var(--konomi-green-dark);
}

.konomi-feature-card__text {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.85;
	color: var(--konomi-text);
}

/* ========================================
   入園 CTA
   ======================================== */
.konomi-cta-band {
	padding: clamp(2.25rem, 5vw, 3.5rem) 1.5rem;
	text-align: center;
	color: #fff;
	background:
		radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.18), transparent 40%),
		linear-gradient(135deg, var(--konomi-green) 0%, var(--konomi-green-dark) 100%);
	border-radius: var(--konomi-radius);
	box-shadow: var(--konomi-shadow);
}

.konomi-cta-band__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.35rem, 3.2vw, 1.9rem);
	color: #fff !important;
}

.konomi-cta-band__title::after {
	display: none !important;
}

.konomi-cta-band__text {
	margin: 0 0 1.35rem;
	line-height: 1.85;
	opacity: 0.96;
}

.konomi-cta-band .wp-block-button__link {
	background: #fff !important;
	color: var(--konomi-green-dark) !important;
}

.konomi-cta-band .is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: #fff !important;
	border: 2px solid rgba(255, 255, 255, 0.85) !important;
}

/* ========================================
   フッター連絡先
   ======================================== */
.konomi-footer-info {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.875rem;
	line-height: 1.8;
}

.konomi-footer-info a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* トップ本文の余白を広げる */
.home.konomi-kindergarten .post_content > .wp-block-group,
.front-page.konomi-kindergarten .post_content > .wp-block-group {
	margin-block: 0;
}

.home.konomi-kindergarten .l-mainContent__inner,
.front-page.konomi-kindergarten .l-mainContent__inner {
	padding-top: 0;
}

/* ========================================
   写真カバーヒーロー（参考サイト寄り）
   ======================================== */
.home.konomi-kindergarten .konomi-cover-hero,
.front-page.konomi-kindergarten .konomi-cover-hero,
.konomi-cover-hero.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	border-radius: 0 !important;
}

.konomi-cover-hero .wp-block-cover__inner-container {
	max-width: 44rem;
	padding: 2rem 1.25rem;
	text-align: center;
}

.konomi-cover-hero__title {
	margin: 0.4rem 0 0.9rem !important;
	color: #fff !important;
	font-size: clamp(2.2rem, 6vw, 3.8rem) !important;
	line-height: 1.25 !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.konomi-cover-hero__title::after,
.konomi-cover-hero__title::before {
	display: none !important;
	content: none !important;
}

.konomi-cover-hero__lead {
	margin: 0 auto 1.75rem;
	max-width: 32rem;
	color: rgba(255, 255, 255, 0.95);
	font-size: clamp(1rem, 2.2vw, 1.15rem);
	line-height: 1.9;
}

.konomi-eyebrow--on-dark {
	background: rgba(255, 255, 255, 0.18) !important;
	color: #fff !important;
}

.konomi-cover-hero .is-style-outline .wp-block-button__link {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.9) !important;
	background: transparent !important;
}

/* ========================================
   4つの導線カード（みづほ・所沢文化寄り）
   ======================================== */
.konomi-gateway {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-top: clamp(2rem, 5vw, 3.5rem) !important;
	padding-bottom: clamp(2rem, 5vw, 3.5rem) !important;
	background: #fff;
}

.konomi-gateway .wp-block-columns {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	gap: 1rem !important;
	padding: 0 1rem;
}

.konomi-gate-card {
	height: 100%;
	padding: 1.5rem 1.25rem 1.35rem;
	border-radius: var(--konomi-radius);
	background: linear-gradient(165deg, #fff 0%, var(--konomi-green-light) 100%);
	box-shadow: var(--konomi-shadow);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.konomi-gate-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 34px rgba(62, 90, 40, 0.16);
}

.konomi-gate-card__en {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--konomi-orange);
}

.konomi-gate-card__title {
	margin: 0 0 0.4rem !important;
	font-size: 1.2rem !important;
	border: none !important;
	padding: 0 !important;
	background: none !important;
}

.konomi-gate-card__title::before,
.konomi-gate-card__title::after {
	display: none !important;
	content: none !important;
}

.konomi-gate-card__title a {
	color: var(--konomi-green-dark);
	text-decoration: none;
}

.konomi-gate-card__title a:hover {
	color: var(--konomi-orange);
}

.konomi-gate-card__text {
	margin: 0;
	font-size: 0.875rem;
	color: var(--konomi-brown);
	line-height: 1.6;
}

/* ========================================
   NEWS セクション・ブログ感を弱める
   ======================================== */
.home.konomi-kindergarten .p-postListWrap,
.front-page.konomi-kindergarten .p-postListWrap {
	max-width: 1100px;
	margin: 0 auto 2.5rem;
	padding: 0 1rem 1rem;
}

.home.konomi-kindergarten .p-postList__body .p-postList__excerpt,
.front-page.konomi-kindergarten .p-postList__body .p-postList__excerpt,
.home.konomi-kindergarten .p-postList__body iframe,
.front-page.konomi-kindergarten .p-postList__body iframe {
	display: none !important;
}

.home.konomi-kindergarten .p-postList__title,
.front-page.konomi-kindergarten .p-postList__title {
	font-size: 0.98rem !important;
	line-height: 1.45;
}

.konomi-news-head {
	padding-bottom: 0.5rem !important;
}

/* ヘッダー：長いサイト名を少し抑える */
.home.konomi-kindergarten .c-headLogo__text,
.front-page.konomi-kindergarten .c-headLogo__text,
.home.konomi-kindergarten #head_logo,
.front-page.konomi-kindergarten #head_logo {
	font-size: clamp(0.95rem, 1.6vw, 1.15rem);
	line-height: 1.35;
}

.home.konomi-kindergarten .l-header,
.front-page.konomi-kindergarten .l-header {
	box-shadow: 0 1px 0 rgba(62, 90, 40, 0.08);
}

@media (max-width: 781px) {
	.konomi-gateway .wp-block-columns {
		flex-direction: column;
	}
}

/* ============================================================
   DECOR LAYER — イラスト・曲線・アニメーション
   ============================================================ */

/* 100vw 要素による横スクロールを抑える。
   sticky ヘッダーを壊さないよう #body_wrap には掛けない。 */
html,
body {
	overflow-x: hidden;
}

/* --- 英字ラベルを中央に --- */
.konomi-kindergarten .konomi-eyebrow {
	display: block !important;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 0.75rem !important;
	padding: 0.3rem 1rem !important;
	background: rgba(94, 160, 46, 0.12);
	color: var(--konomi-green-dark);
	border-radius: 999px;
	font-size: 0.72rem;
	letter-spacing: 0.18em;
}

.konomi-kindergarten .konomi-eyebrow--on-dark {
	background: rgba(255, 255, 255, 0.2) !important;
	color: #fff !important;
}

/* --- ヒーローを確実にフル幅 --- */
.home.konomi-kindergarten .post_content .alignfull,
.front-page.konomi-kindergarten .post_content .alignfull,
.konomi-kindergarten .konomi-cover-hero {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-radius: 0 !important;
}

/* ヒーロー：点々装飾は背景に、波は下端に（要素内なので切れない） */
.konomi-cover-hero {
	overflow: hidden !important;
}

.konomi-cover-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image:
		radial-gradient(circle at 12% 22%, rgba(255, 255, 255, 0.16) 0 10px, transparent 11px),
		radial-gradient(circle at 88% 18%, rgba(255, 255, 255, 0.12) 0 16px, transparent 17px),
		radial-gradient(circle at 78% 72%, rgba(240, 138, 42, 0.18) 0 22px, transparent 23px);
	animation: konomi-float 9s ease-in-out infinite alternate;
}

.konomi-cover-hero::after {
	content: "";
	position: absolute;
	left: -4%;
	right: -4%;
	bottom: -3px;
	height: clamp(64px, 10vw, 110px);
	z-index: 4;
	pointer-events: none;
	/* 丸みのある雲のような下端（かくかくしない） */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23fff7eb' d='M0 120 V70 Q60 20 120 70 T240 70 T360 70 T480 70 T600 70 T720 70 T840 70 T960 70 T1080 70 T1200 70 T1320 70 T1440 70 V120 Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

@keyframes konomi-float {
	from { transform: translateY(-6px); }
	to   { transform: translateY(6px); }
}

.konomi-cover-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
}

/* --- セクション境界の波（要素の内側に描画） --- */
.konomi-gateway,
.konomi-section--cream,
.konomi-news-head,
.konomi-scenery {
	position: relative;
	overflow: visible;
}

/* 導線カード帯の下端 → クリーム色の波 */
.konomi-gateway::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: clamp(40px, 6vw, 72px);
	z-index: 2;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath fill='%23eef8e6' d='M0,40 C200,85 400,15 600,50 C800,85 1000,20 1200,48 C1320,66 1380,40 1440,52 L1440,100 L0,100 Z'/%3E%3C/svg%3E");
}

/* クリーム帯の下端 → 白の波（お知らせへ） */
.konomi-section--cream {
	padding-bottom: clamp(3.5rem, 8vw, 5.5rem) !important;
	background-color: #eef8e6;
	background-image:
		radial-gradient(rgba(94, 160, 46, 0.14) 1.5px, transparent 1.6px),
		linear-gradient(180deg, #fffdf8 0%, #eef8e6 100%);
	background-size: 22px 22px, auto;
	background-position: 0 0, 0 0;
}

.konomi-section--cream::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: clamp(40px, 6vw, 72px);
	z-index: 2;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0,36 C220,90 440,12 660,48 C880,84 1100,18 1320,50 C1380,60 1410,44 1440,52 L1440,100 L0,100 Z'/%3E%3C/svg%3E");
}

/* --- 導線カードにアイコン --- */
.konomi-gate-card {
	position: relative;
	padding-top: 4.75rem !important;
	overflow: hidden;
}

.konomi-gate-card::before {
	content: "";
	position: absolute;
	top: 1.25rem;
	left: 1.25rem;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1.5rem 1.5rem;
	box-shadow: 0 4px 12px rgba(62, 90, 40, 0.14);
}

.konomi-gate-card::after {
	content: "";
	position: absolute;
	right: -1.75rem;
	bottom: -1.75rem;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	background: rgba(94, 160, 46, 0.1);
	transition: transform 0.3s ease;
}

.konomi-gate-card:hover::after {
	transform: scale(1.25);
}

.konomi-gateway .wp-block-column:nth-child(1) .konomi-gate-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235ea02e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.5 19 2c1 2 2 4.2 2 8 0 5.5-4.8 10-10 10Z'/%3E%3Cpath d='M2 21c0-3 1.9-5.4 5.1-6C9.5 14.5 12 13 13 12'/%3E%3C/svg%3E");
}

.konomi-gateway .wp-block-column:nth-child(2) .konomi-gate-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f08a2a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 4h3a2 2 0 0 1 2 2v14'/%3E%3Cpath d='M2 20h20'/%3E%3Cpath d='M10 12v.01'/%3E%3Cpath d='M13 4.6v16.1a1 1 0 0 1-1.2 1L5.5 20.5a1 1 0 0 1-.5-.9V4.6a1 1 0 0 1 .8-1l6-1.5a1 1 0 0 1 1.2 1Z'/%3E%3C/svg%3E");
}

.konomi-gateway .wp-block-column:nth-child(3) .konomi-gate-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0a020' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M6.3 17.7l-1.4 1.4M19.1 4.9l-1.4 1.4'/%3E%3C/svg%3E");
}

.konomi-gateway .wp-block-column:nth-child(4) .konomi-gate-card::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a90c4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-9 5.7a2 2 0 0 1-2 0L2 7'/%3E%3C/svg%3E");
}

.konomi-gate-card__en,
.konomi-gate-card__title,
.konomi-gate-card__text {
	position: relative;
	z-index: 1;
}

/* --- 魅力カードに番号バッジ --- */
.konomi-feature-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(94, 160, 46, 0.12);
}

.konomi-feature-card::before {
	position: absolute;
	top: 0.75rem;
	left: 1rem;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1;
	color: rgba(94, 160, 46, 0.14);
	pointer-events: none;
}

.konomi-section--cream .wp-block-column:nth-child(1) .konomi-feature-card::before { content: "01"; }
.konomi-section--cream .wp-block-column:nth-child(2) .konomi-feature-card::before { content: "02"; }
.konomi-section--cream .wp-block-column:nth-child(3) .konomi-feature-card::before { content: "03"; }

.konomi-feature-card__icon {
	position: relative;
	z-index: 1;
	box-shadow: inset 0 0 0 2px rgba(94, 160, 46, 0.18), 0 6px 16px rgba(62, 90, 40, 0.1);
}

/* --- 写真を後から入れるためのスロット --- */
.konomi-photo-slot {
	display: grid;
	place-items: center;
	min-height: 12rem;
	border-radius: var(--konomi-radius);
	border: 2px dashed rgba(94, 160, 46, 0.35);
	background: rgba(94, 160, 46, 0.05);
	color: var(--konomi-green-dark);
	font-size: 0.85rem;
}

.konomi-photo-slot img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--konomi-radius);
}

/* --- お知らせカードを洗練 --- */
.home.konomi-kindergarten .p-postList.-type-card .p-postList__item,
.front-page.konomi-kindergarten .p-postList.-type-card .p-postList__item {
	border: 1px solid rgba(94, 160, 46, 0.12);
	border-radius: var(--konomi-radius);
}

.home.konomi-kindergarten .c-postThumb__cat,
.front-page.konomi-kindergarten .c-postThumb__cat {
	font-size: 0.7rem;
	letter-spacing: 0.04em;
}

/* --- CTA を柔らかい形に --- */
.konomi-cta-band {
	position: relative;
	overflow: hidden;
	border-radius: 28px;
}

.konomi-cta-band::before,
.konomi-cta-band::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.konomi-cta-band::before {
	width: 14rem;
	height: 14rem;
	top: -6rem;
	right: -4rem;
	background: rgba(255, 255, 255, 0.1);
}

.konomi-cta-band::after {
	width: 9rem;
	height: 9rem;
	bottom: -4rem;
	left: -2rem;
	background: rgba(240, 138, 42, 0.22);
}

.konomi-cta-band > * {
	position: relative;
	z-index: 1;
}

/* --- 読み込み時のふわっと表示 --- */
@media (prefers-reduced-motion: no-preference) {
	.home.konomi-kindergarten .konomi-gateway,
	.home.konomi-kindergarten .konomi-section--cream,
	.home.konomi-kindergarten .konomi-news-head,
	.home.konomi-kindergarten .p-postListWrap {
		animation: konomi-rise 0.7s ease both;
	}

	.home.konomi-kindergarten .konomi-section--cream { animation-delay: 0.05s; }
	.home.konomi-kindergarten .konomi-news-head { animation-delay: 0.1s; }
	.home.konomi-kindergarten .p-postListWrap { animation-delay: 0.15s; }
}

@keyframes konomi-rise {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ============================================================
   v1.6 — かわいい統一デザイン（ヘッダー / 世界観 / ヒーロー動き）
   ============================================================ */

/* --- ヘッダー：企業っぽさを消す --- */
.konomi-kindergarten .l-header {
	background: #fff !important;
	border-bottom: none !important;
	box-shadow: 0 8px 24px rgba(90, 70, 40, 0.06) !important;
}

.konomi-kindergarten .l-header__inner,
.konomi-kindergarten .l-header__barInner {
	padding-top: 0.65rem !important;
	padding-bottom: 0.65rem !important;
}

.konomi-kindergarten .l-header__logo {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.konomi-kindergarten .l-header__logo a {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	text-decoration: none;
}

.konomi-kindergarten .l-header__logo a::before {
	content: "";
	flex: 0 0 auto;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: #fff url("assets/img/acorn-mark.svg") center / 78% no-repeat;
	box-shadow: 0 4px 14px rgba(94, 160, 46, 0.2);
	border: 2px solid rgba(94, 160, 46, 0.2);
}

.konomi-kindergarten .c-headLogo__text,
.konomi-kindergarten #head_logo {
	font-family: var(--konomi-font-display) !important;
	font-size: clamp(0.95rem, 1.7vw, 1.2rem) !important;
	line-height: 1.35 !important;
	color: var(--konomi-green-dark) !important;
	font-weight: 800 !important;
}

/* グローバルナビをピル型に */
.konomi-kindergarten #gnav .menu-item > a,
.konomi-kindergarten .c-gnav .menu-item > a {
	font-family: var(--konomi-font-display) !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	color: var(--konomi-brown) !important;
	padding: 0.45rem 0.9rem !important;
	border-radius: 999px !important;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.konomi-kindergarten #gnav .menu-item > a:hover,
.konomi-kindergarten #gnav .current-menu-item > a,
.konomi-kindergarten #gnav .current_page_item > a {
	background: var(--konomi-green-light) !important;
	color: var(--konomi-green-dark) !important;
	transform: translateY(-1px);
}

/* --- ヒーロー：ゆっくりズーム（スライド切替ではない） --- */
.konomi-cover-hero .wp-block-cover__image-background,
.konomi-cover-hero img.wp-block-cover__image-background {
	animation: konomi-kenburns 18s ease-in-out infinite alternate;
	will-change: transform;
}

@keyframes konomi-kenburns {
	from { transform: scale(1); }
	to   { transform: scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
	.konomi-cover-hero .wp-block-cover__image-background {
		animation: none;
	}
}

.konomi-cover-hero__title {
	font-family: var(--konomi-font-display) !important;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

.konomi-cover-hero .wp-block-button__link {
	border-radius: 999px !important;
	font-family: var(--konomi-font-display) !important;
	font-weight: 800 !important;
}

/* --- 世界観セクション（イラストの居場所） --- */
.konomi-world {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin: 0;
	left: 50%;
	transform: translateX(-50%);
	padding: clamp(2.5rem, 6vw, 4rem) 1rem clamp(3rem, 7vw, 4.5rem);
	background:
		radial-gradient(circle at 12% 20%, rgba(255, 143, 171, 0.12), transparent 40%),
		radial-gradient(circle at 88% 30%, rgba(247, 196, 81, 0.18), transparent 42%),
		linear-gradient(180deg, #fff9f0 0%, #e8f6fb 48%, #e8f5d4 100%);
	overflow: hidden;
}

.konomi-world__inner {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
}

.konomi-world__art {
	position: relative;
	border-radius: 32px;
	overflow: hidden;
	background: #dff5c4;
	box-shadow: var(--konomi-shadow);
	border: 4px solid #fff;
	transform: rotate(-1.2deg);
}

.konomi-world__art::after {
	content: "";
	position: absolute;
	inset: auto 8% -10px 8%;
	height: 18px;
	border-radius: 50%;
	background: rgba(90, 70, 40, 0.12);
	filter: blur(6px);
	z-index: -1;
}

.konomi-world__art svg {
	display: block;
	width: 100%;
	height: auto;
}

.konomi-world__copy {
	text-align: left;
	padding: 0.5rem 0.25rem;
}

.konomi-world__copy .konomi-eyebrow {
	margin: 0 0 0.75rem !important;
	background: rgba(255, 143, 171, 0.15) !important;
	color: #d45a7a !important;
}

.konomi-world__copy h2 {
	font-family: var(--konomi-font-display) !important;
	font-size: clamp(1.55rem, 3.2vw, 2.15rem) !important;
	line-height: 1.35 !important;
	color: var(--konomi-green-dark) !important;
	margin: 0 0 1rem !important;
	text-align: left !important;
	background: none !important;
}

.konomi-world__copy h2::after {
	margin-left: 0 !important;
	margin-right: auto !important;
}

.konomi-world__lead {
	margin: 0 0 1.35rem;
	font-size: 1.02rem;
	line-height: 1.85;
	color: var(--konomi-text);
}

.konomi-world__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.5rem;
	border-radius: 999px;
	background: var(--konomi-green);
	color: #fff !important;
	font-family: var(--konomi-font-display);
	font-weight: 800;
	text-decoration: none !important;
	box-shadow: 0 8px 18px rgba(94, 160, 46, 0.28);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.konomi-world__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 22px rgba(94, 160, 46, 0.34);
	color: #fff !important;
}

/* CTA 上の旧緑グラデは解除 */
.konomi-section--cta {
	background: transparent !important;
	padding-top: clamp(2rem, 5vw, 3rem) !important;
}

.konomi-scenery {
	display: none !important;
}

/* 導線カードも少し丸く・柔らかく */
.konomi-gate-card {
	border-radius: 28px !important;
	border: 2px solid rgba(94, 160, 46, 0.1) !important;
	background: #fff !important;
}

.konomi-feature-card {
	border-radius: 28px !important;
}

.konomi-cta-band {
	border-radius: 32px !important;
	background: linear-gradient(135deg, #5ea02e 0%, #7ec455 55%, #f08a2a 160%) !important;
}

@media (max-width: 900px) {
	.konomi-world__inner {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.konomi-world__copy {
		text-align: center;
	}

	.konomi-world__copy .konomi-eyebrow {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.konomi-world__copy h2 {
		text-align: center !important;
	}

	.konomi-world__copy h2::after {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.konomi-world__art {
		transform: rotate(0deg);
		max-width: 560px;
		margin: 0 auto;
	}

	.konomi-kindergarten .l-header__logo a::before {
		width: 2.2rem;
		height: 2.2rem;
	}
}

@media (max-width: 781px) {
	.konomi-gate-card {
		padding-top: 1.25rem !important;
		padding-left: 5rem !important;
		min-height: 5.5rem;
	}

	.konomi-gate-card::before {
		top: 50%;
		left: 1.25rem;
		transform: translateY(-50%);
	}

	.konomi-gateway::after,
	.konomi-section--cream::after,
	.konomi-cover-hero::after {
		height: 48px;
	}
}

/* ============================================================
   v1.7 — 天照風ヘッダー / 特色 / カット / フッター
   ============================================================ */

/* トップバーはやわらかく薄く */
.konomi-topbar {
	background: transparent !important;
	border-bottom: none !important;
	position: relative;
	z-index: 31;
}

.konomi-topbar__inner {
	max-width: 1120px;
	margin: 0.35rem auto 0;
	padding: 0.35rem 1rem;
	border-radius: 999px;
	background: rgba(255, 247, 235, 0.92);
	border: 1px solid rgba(232, 135, 58, 0.18);
	backdrop-filter: blur(8px);
}

/* ヘッダーを浮いた丸カプセルに（てんしょう幼稚園風） */
.konomi-kindergarten .l-header {
	position: sticky !important;
	top: 0.5rem !important;
	z-index: 30 !important;
	width: min(1120px, calc(100% - 1.5rem)) !important;
	margin: 0.35rem auto 0.85rem !important;
	padding: 0.35rem 0.75rem !important;
	background: rgba(255, 255, 255, 0.92) !important;
	border: 2px solid rgba(95, 173, 74, 0.18) !important;
	border-radius: 999px !important;
	box-shadow: 0 12px 32px rgba(45, 32, 4, 0.08) !important;
	backdrop-filter: blur(10px);
}

.konomi-kindergarten .l-header__inner,
.konomi-kindergarten .l-header__bar,
.konomi-kindergarten .l-header__barInner {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0.5rem !important;
	padding-right: 0.5rem !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
}

.konomi-kindergarten #gnav .menu-item > a {
	border-radius: 999px !important;
}

.konomi-world__btn--ghost {
	background: #fff !important;
	color: var(--konomi-green-dark) !important;
	border: 2px solid rgba(95, 173, 74, 0.35);
	box-shadow: none !important;
	margin-left: 0.5rem;
}

.konomi-world__btn--ghost:hover {
	background: var(--konomi-green-light) !important;
	color: var(--konomi-green-dark) !important;
}

.konomi-world__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

/* ちりばめカット */
.konomi-floating-cuts {
	position: relative;
	height: 0;
	pointer-events: none;
	z-index: 3;
}

.konomi-cut {
	position: absolute;
	display: block;
	filter: drop-shadow(0 6px 10px rgba(45, 32, 4, 0.1));
	animation: konomi-bob 5.5s ease-in-out infinite alternate;
}

.konomi-cut--leaf { left: 4%; top: 1.5rem; width: 3.2rem; }
.konomi-cut--flower { right: 6%; top: 0.5rem; width: 2.8rem; animation-delay: 0.6s; }
.konomi-cut--sun { left: 18%; top: -0.5rem; width: 3rem; animation-delay: 1.1s; opacity: 0.9; }
.konomi-cut--acorn { right: 18%; top: 1.8rem; width: 2.6rem; animation-delay: 0.3s; }
.konomi-cut--cloud { left: 42%; top: -0.2rem; width: 4.5rem; opacity: 0.85; animation-delay: 0.9s; }

@keyframes konomi-bob {
	from { transform: translateY(0) rotate(-4deg); }
	to   { transform: translateY(10px) rotate(4deg); }
}

/* 保育目標 3本柱 */
.konomi-pillars {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	left: 50%;
	transform: translateX(-50%);
	padding: clamp(2.5rem, 6vw, 4rem) 1rem;
	text-align: center;
	background:
		radial-gradient(circle at 10% 20%, rgba(255, 143, 171, 0.14), transparent 36%),
		radial-gradient(circle at 90% 10%, rgba(246, 211, 90, 0.2), transparent 40%),
		linear-gradient(180deg, #fff7eb 0%, #ffffff 100%);
}

.konomi-pillars .konomi-eyebrow {
	margin-left: auto !important;
	margin-right: auto !important;
}

.konomi-pillars h2 {
	margin-bottom: 0.75rem !important;
}

.konomi-pillars .konomi-section__lead {
	max-width: 40rem;
	margin: 0 auto 1.75rem;
	line-height: 1.8;
	color: var(--konomi-text);
}

.konomi-pillars__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	max-width: 1100px;
	margin: 0 auto 1.5rem;
	text-align: left;
}

.konomi-pillar {
	position: relative;
	padding: 1.4rem 1.25rem 1.35rem;
	border-radius: 28px;
	background: #fff;
	box-shadow: var(--konomi-shadow);
	border: 2px solid transparent;
	overflow: hidden;
}

.konomi-pillar::before {
	content: "";
	position: absolute;
	inset: auto -1rem -1rem auto;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	opacity: 0.35;
}

.konomi-pillar--blue { border-color: rgba(74, 160, 220, 0.25); }
.konomi-pillar--blue::before { background: #7ec8f0; }
.konomi-pillar--yellow { border-color: rgba(235, 200, 2, 0.35); }
.konomi-pillar--yellow::before { background: #f6d35a; }
.konomi-pillar--pink { border-color: rgba(235, 84, 152, 0.25); }
.konomi-pillar--pink::before { background: #ff8fab; }

.konomi-pillar__label {
	display: inline-block;
	font-family: var(--konomi-font-display);
	font-weight: 800;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	color: #fff;
	background: var(--konomi-green);
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	margin-bottom: 0.65rem;
}

.konomi-pillar--blue .konomi-pillar__label { background: #2ba4f0; }
.konomi-pillar--yellow .konomi-pillar__label { background: #e0b000; }
.konomi-pillar--pink .konomi-pillar__label { background: #eb5498; }

.konomi-pillar h3 {
	font-family: var(--konomi-font-display);
	font-size: 1.25rem;
	margin: 0 0 0.55rem;
	color: var(--konomi-brown);
}

.konomi-pillar p {
	margin: 0;
	line-height: 1.7;
	font-size: 0.95rem;
	color: var(--konomi-text);
}

.konomi-pillars__more {
	margin: 0;
	font-size: 0.95rem;
}

.konomi-pillars__more a {
	color: var(--konomi-green-dark);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* フッターブランド帯 */
.konomi-footer-brand {
	position: relative;
	overflow: hidden;
	padding: clamp(2.5rem, 6vw, 4rem) 1rem 2.25rem;
	background:
		linear-gradient(180deg, #dff3ff 0%, #eaf6df 45%, #fff3d6 100%);
	border-radius: 40px 40px 0 0;
	margin-top: 1rem;
}

.konomi-footer-brand__deco {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.konomi-footer-brand .konomi-cut--cloud-a { left: 6%; top: 1.2rem; width: 5rem; }
.konomi-footer-brand .konomi-cut--sun-a { right: 8%; top: 0.8rem; width: 3.2rem; }
.konomi-footer-brand .konomi-cut--flower-a { left: 22%; bottom: 1rem; width: 2.6rem; }
.konomi-footer-brand .konomi-cut--acorn-a { right: 24%; bottom: 1.2rem; width: 2.5rem; }

.konomi-footer-brand__inner {
	position: relative;
	z-index: 1;
	max-width: 920px;
	margin: 0 auto;
	text-align: center;
}

.konomi-footer-brand__logo {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1rem;
	padding: 0.65rem 1.1rem;
	background: rgba(255, 255, 255, 0.85);
	border-radius: 999px;
	box-shadow: var(--konomi-shadow);
}

.konomi-footer-brand__eyebrow {
	margin: 0;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	font-weight: 700;
	color: var(--konomi-orange);
}

.konomi-footer-brand__name {
	margin: 0.1rem 0 0;
	font-family: var(--konomi-font-display);
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--konomi-green-dark);
}

.konomi-footer-brand__lead {
	margin: 0 auto 1.1rem;
	max-width: 28rem;
	font-family: var(--konomi-font-display);
	font-size: clamp(1.05rem, 2.4vw, 1.25rem);
	font-weight: 700;
	line-height: 1.6;
	color: var(--konomi-brown);
}

.konomi-footer-brand__meta {
	margin: 0;
	padding: 1rem 1.25rem;
	display: inline-block;
	background: rgba(255, 255, 255, 0.78);
	border-radius: 24px;
	border: 2px dashed rgba(95, 173, 74, 0.28);
}

.konomi-footer-brand__meta p {
	margin: 0.2rem 0;
	font-size: 0.92rem;
	line-height: 1.6;
}

.konomi-footer-brand__meta a {
	color: var(--konomi-green-dark);
	font-weight: 700;
	text-decoration: none;
}

.konomi-footer-brand__meta a:hover {
	text-decoration: underline;
}

/* SWELLフッター本体をやわらかく */
.konomi-kindergarten .l-footer {
	background: #2d2004 !important;
	color: rgba(255, 247, 235, 0.88) !important;
	border-radius: 0 !important;
	padding-top: 1.5rem !important;
}

.konomi-kindergarten .l-footer a {
	color: #fff7eb !important;
}

.konomi-kindergarten .l-footer__nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem 0.85rem;
	max-width: 960px;
	margin: 0 auto 1rem;
	padding: 0 1rem;
}

.konomi-kindergarten .l-footer__nav > .menu-item > a {
	display: inline-block;
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 0.85rem;
}

.konomi-kindergarten .l-footer__nav .sub-menu {
	display: none;
}

.konomi-kindergarten .konomi-footer-info {
	text-align: center;
	opacity: 0.8;
	font-size: 0.85rem;
}

@media (max-width: 900px) {
	.konomi-pillars__grid {
		grid-template-columns: 1fr;
	}

	.konomi-kindergarten .l-header {
		width: calc(100% - 1rem) !important;
		border-radius: 28px !important;
		top: 0.35rem !important;
	}

	.konomi-floating-cuts {
		display: none;
	}

	.konomi-world__cta {
		justify-content: center;
	}
}

@media (max-width: 781px) {
	.konomi-topbar {
		display: none;
	}
}

/* ============================================================
   v1.8 — てんしょう幼稚園に寄せるヘッダー＆ヒーロー
   （全幅企業型をやめ、余白＋丸いカード構成へ）
   ============================================================ */

/* ページ全体の余白・クリーム */
.home.konomi-kindergarten,
.front-page.konomi-kindergarten {
	background: var(--konomi-beige) !important;
}

.home.konomi-kindergarten #body_wrap,
.front-page.konomi-kindergarten #body_wrap {
	background: var(--konomi-beige) !important;
}

/* SWELLの企業っぽいヘッダーバー（RSS・キャッチ）を消す */
.konomi-kindergarten .l-header__bar,
.konomi-kindergarten .c-catchphrase,
.konomi-kindergarten .c-iconList,
.konomi-kindergarten .c-gnavBtns,
.konomi-kindergarten .p-headerInfo {
	display: none !important;
}

/* トップバーもフローティングに統合するため非表示（PC） */
.home.konomi-kindergarten .konomi-topbar,
.front-page.konomi-kindergarten .konomi-topbar {
	display: none !important;
}

/* 全幅ヘッダー：トップではヒーロー上に透過で重ねる */
.konomi-kindergarten .l-header {
	position: sticky !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 100 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0.4rem 0 !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: 0 6px 20px rgba(45, 32, 4, 0.07) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: background 0.3s ease, box-shadow 0.3s ease;
}

/* トップページはヒーローに重ねて透過（スクロールで白へ） */
.home.konomi-kindergarten .l-header,
.front-page.konomi-kindergarten .l-header {
	position: absolute !important;
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.home.konomi-kindergarten .l-header.is-konomi-stuck,
.front-page.konomi-kindergarten .l-header.is-konomi-stuck {
	position: fixed !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 6px 20px rgba(45, 32, 4, 0.08) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	animation: konomi-header-drop 0.35s ease both;
}

@keyframes konomi-header-drop {
	from { transform: translateY(-100%); }
	to   { transform: translateY(0); }
}

.konomi-kindergarten .l-header::before {
	content: none !important;
}

.konomi-kindergarten .l-header__inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	width: min(1240px, calc(100% - 2.5rem)) !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 0.35rem 0 !important;
	background: transparent !important;
}

/* ヒーロー上に重なる間は白文字 */
.home.konomi-kindergarten .l-header:not(.is-konomi-stuck) .l-header__logo a::after,
.front-page.konomi-kindergarten .l-header:not(.is-konomi-stuck) .l-header__logo a::after,
.home.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .menu-item > a,
.front-page.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .menu-item > a {
	color: #fff !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.home.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .menu-item > a:hover,
.front-page.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .menu-item > a:hover {
	background: rgba(255, 255, 255, 0.22) !important;
	color: #fff !important;
}

.konomi-kindergarten .l-header__logo {
	flex: 0 0 auto;
}

.konomi-kindergarten .l-header__logo a,
.konomi-kindergarten .c-headLogo__link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.55rem !important;
	font-family: var(--konomi-font-display) !important;
	font-size: 0 !important; /* 長い公式名を隠し、::afterで差し替え */
	font-weight: 800 !important;
	color: var(--konomi-brown) !important;
	letter-spacing: 0.04em !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
}

.konomi-kindergarten .l-header__logo a::before,
.konomi-kindergarten .c-headLogo__link::before {
	content: "" !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	border-radius: 50% !important;
	background: #fff url("assets/img/acorn-mark.svg") center / 78% no-repeat !important;
	box-shadow: 0 4px 12px rgba(95, 173, 74, 0.22) !important;
	border: 2px solid rgba(95, 173, 74, 0.2) !important;
	flex: 0 0 auto;
}

.konomi-kindergarten .l-header__logo a::after,
.konomi-kindergarten .c-headLogo__link::after {
	content: "木の実幼稚園" !important;
	font-size: 1.15rem !important;
	font-family: var(--konomi-font-display) !important;
	font-weight: 800 !important;
	color: var(--konomi-brown) !important;
	letter-spacing: 0.04em;
}

/* ナビを少なめ・丸く */
.konomi-kindergarten #gnav {
	flex: 1 1 auto;
	display: flex !important;
	justify-content: flex-end !important;
}

.konomi-kindergarten #gnav .c-gnav {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-end !important;
	gap: 0.15rem !important;
	margin: 0 !important;
	padding: 0 !important;
}

.konomi-kindergarten #gnav .menu-item > a,
.konomi-kindergarten #gnav .menu-item > a .ttl {
	font-family: var(--konomi-font-display) !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	color: var(--konomi-brown) !important;
	padding: 0.55rem 0.85rem !important;
	border-radius: 999px !important;
	background: transparent !important;
}

.konomi-kindergarten #gnav .menu-item > a:hover,
.konomi-kindergarten #gnav .current-menu-item > a,
.konomi-kindergarten #gnav .current_page_item > a {
	background: #fff3d6 !important;
	color: var(--konomi-orange-dark) !important;
}

/* サブメニューはヘッダーを圧迫するのでPCでも控えめ */
.konomi-kindergarten #gnav .menu-item-has-children > .sub-menu {
	border-radius: 20px !important;
	overflow: hidden;
	box-shadow: var(--konomi-shadow) !important;
	border: 2px solid #fff !important;
}

/* ========== ヒーロー：全幅・下端だけ大きく丸めるアレンジ ========== */
.home.konomi-kindergarten .post_content > .konomi-cover-hero,
.front-page.konomi-kindergarten .post_content > .konomi-cover-hero,
.home.konomi-kindergarten .konomi-cover-hero.alignfull,
.front-page.konomi-kindergarten .konomi-cover-hero.alignfull,
.konomi-kindergarten .konomi-cover-hero {
	position: relative !important;
	left: 50% !important;
	right: auto !important;
	transform: translateX(-50%) !important;
	width: 100vw !important;
	max-width: 100vw !important;
	min-height: clamp(32rem, 88vh, 46rem) !important;
	margin: 0 0 clamp(2rem, 5vw, 3.5rem) !important;
	padding-top: clamp(4rem, 8vw, 6rem) !important;
	/* 参考サイトの直線的な処理ではなく、下端を大きなアーチに */
	border-radius: 0 0 clamp(48px, 9vw, 120px) clamp(48px, 9vw, 120px) !important;
	overflow: hidden !important;
	border: none !important;
	box-shadow: 0 20px 44px rgba(45, 32, 4, 0.12) !important;
}

/* ヘッダーがabsoluteなので本文を上に詰める */
.home.konomi-kindergarten .l-mainContent__inner,
.front-page.konomi-kindergarten .l-mainContent__inner {
	padding-top: 0 !important;
}

/* 波線の下端はやめて、アーチの丸みだけでつなぐ */
.konomi-cover-hero::after {
	display: none !important;
	content: none !important;
}

/* 光の粒はやわらかく残す */
.konomi-cover-hero::before {
	display: block !important;
	content: "" !important;
}

/* ヒーロー周りの装飾カット */
.home.konomi-kindergarten .post_content,
.front-page.konomi-kindergarten .post_content {
	position: relative;
}

.home.konomi-kindergarten .post_content::before,
.front-page.konomi-kindergarten .post_content::before {
	content: "";
	position: absolute;
	z-index: 5;
	pointer-events: none;
	width: 4.5rem;
	height: 4.5rem;
	top: 7.5rem;
	left: max(1rem, calc(50% - 600px));
	background: url("assets/img/cut-sun.svg") center / contain no-repeat;
	animation: konomi-bob 6s ease-in-out infinite alternate;
	opacity: 0.9;
}

.home.konomi-kindergarten .post_content::after,
.front-page.konomi-kindergarten .post_content::after {
	content: "";
	position: absolute;
	z-index: 5;
	pointer-events: none;
	width: 5rem;
	height: 3.5rem;
	top: 9rem;
	right: max(1rem, calc(50% - 600px));
	background: url("assets/img/cut-cloud.svg") center / contain no-repeat;
	animation: konomi-bob 5s ease-in-out infinite alternate;
	animation-delay: 0.8s;
	opacity: 0.9;
}

.konomi-cover-hero__title {
	font-size: clamp(2rem, 5vw, 3.1rem) !important;
	line-height: 1.25 !important;
	letter-spacing: 0.06em !important;
}

.konomi-cover-hero .wp-block-button__link {
	min-width: 10rem;
	padding: 0.9rem 1.4rem !important;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.konomi-cover-hero .is-style-outline .wp-block-button__link {
	background: rgba(255, 255, 255, 0.92) !important;
	color: var(--konomi-brown) !important;
	border: none !important;
}

/* ヒーロー下の導線はカード群を少し上げて重ね感 */
.home.konomi-kindergarten .konomi-gateway,
.front-page.konomi-kindergarten .konomi-gateway {
	margin-top: -1.5rem !important;
	position: relative;
	z-index: 2;
	background: transparent !important;
}

.home.konomi-kindergarten .konomi-gateway::before,
.home.konomi-kindergarten .konomi-gateway::after,
.front-page.konomi-kindergarten .konomi-gateway::before,
.front-page.konomi-kindergarten .konomi-gateway::after {
	display: none !important;
}

@media (max-width: 900px) {
	.konomi-kindergarten .l-header__inner {
		width: calc(100% - 1.25rem) !important;
	}

	.home.konomi-kindergarten .konomi-cover-hero,
	.front-page.konomi-kindergarten .konomi-cover-hero,
	.konomi-kindergarten .konomi-cover-hero {
		min-height: 78vh !important;
		border-radius: 0 0 clamp(32px, 10vw, 64px) clamp(32px, 10vw, 64px) !important;
		padding-top: 4.5rem !important;
	}

	.home.konomi-kindergarten .post_content::before,
	.home.konomi-kindergarten .post_content::after,
	.front-page.konomi-kindergarten .post_content::before,
	.front-page.konomi-kindergarten .post_content::after {
		display: none;
	}
}

/* ============================================================
   v1.9 — イラストメニュー & スカラップ切り抜きヒーロー
   ============================================================ */

/* ---------- ヘッダー：もこもこの下端 ---------- */
.konomi-kindergarten .l-header {
	overflow: visible !important;
}

.konomi-kindergarten .l-header::after {
	content: "" !important;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -13px;
	height: 14px;
	background: radial-gradient(circle at 14px 0, rgba(255, 255, 255, 0.96) 13px, transparent 14px) repeat-x;
	background-size: 28px 14px;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

/* トップのヒーロー重なり中はもこもこを隠す */
.home.konomi-kindergarten .l-header:not(.is-konomi-stuck)::after,
.front-page.konomi-kindergarten .l-header:not(.is-konomi-stuck)::after {
	opacity: 0;
}

/* ---------- ロゴをもっと大きくポップに ---------- */
.konomi-kindergarten .l-header__logo a::before,
.konomi-kindergarten .c-headLogo__link::before {
	width: 3.1rem !important;
	height: 3.1rem !important;
	border: 3px solid #ffd45a !important;
	box-shadow: 0 6px 0 rgba(226, 168, 46, 0.35) !important;
	transition: transform 0.25s ease;
}

.konomi-kindergarten .l-header__logo a:hover::before {
	transform: rotate(-12deg) scale(1.06);
}

.konomi-kindergarten .l-header__logo a::after,
.konomi-kindergarten .c-headLogo__link::after {
	font-size: clamp(1.15rem, 1.6vw, 1.45rem) !important;
	letter-spacing: 0.08em !important;
}

/* ---------- グローバルナビ：イラスト＋2段組み ---------- */
.konomi-kindergarten #gnav .c-gnav {
	align-items: flex-end !important;
	gap: 0.2rem !important;
	flex-wrap: nowrap !important;
}

.konomi-kindergarten #gnav .konomi-nav__item > a {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.22rem !important;
	padding: 0.4rem 0.7rem 0.5rem !important;
	border-radius: 22px !important;
	line-height: 1.15 !important;
	transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.22s ease;
}

.konomi-kindergarten #gnav .konomi-nav__item > a::before,
.konomi-kindergarten #gnav .konomi-nav__item > a::after {
	content: none !important;
}

.konomi-kindergarten #gnav .konomi-nav__icon {
	display: block;
	width: 2.45rem;
	height: 2.45rem;
	border-radius: 50%;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 72%;
	box-shadow: 0 4px 0 rgba(45, 32, 4, 0.12);
	transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.konomi-kindergarten #gnav .konomi-nav__item--about .konomi-nav__icon { background-image: url("assets/img/nav-about.svg"); background-color: #fff6da; }
.konomi-kindergarten #gnav .konomi-nav__item--life  .konomi-nav__icon { background-image: url("assets/img/nav-life.svg");  background-color: #ffe8ef; }
.konomi-kindergarten #gnav .konomi-nav__item--words .konomi-nav__icon { background-image: url("assets/img/nav-words.svg"); background-color: #eee9ff; }
.konomi-kindergarten #gnav .konomi-nav__item--news  .konomi-nav__icon { background-image: url("assets/img/nav-news.svg");  background-color: #e4f4ff; }
.konomi-kindergarten #gnav .konomi-nav__item--yard  .konomi-nav__icon { background-image: url("assets/img/nav-yard.svg");  background-color: #e8f8dc; }

.konomi-kindergarten #gnav .konomi-nav__item .ttl {
	font-family: var(--konomi-font-display) !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	padding: 0 !important;
	background: none !important;
}

.konomi-kindergarten #gnav .konomi-nav__en {
	font-size: 0.52rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: var(--konomi-green);
	opacity: 0.75;
}

.konomi-kindergarten #gnav .konomi-nav__item > a:hover {
	background: rgba(255, 255, 255, 0.55) !important;
	transform: translateY(-3px);
}

.konomi-kindergarten #gnav .konomi-nav__item > a:hover .konomi-nav__icon {
	transform: translateY(-3px) rotate(-8deg);
}

/* ヒーロー重なり時：白抜き文字＋アイコンは白丸のまま */
.home.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .konomi-nav__item .ttl,
.front-page.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .konomi-nav__item .ttl {
	color: #fff !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.home.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .konomi-nav__en,
.front-page.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .konomi-nav__en {
	color: #ffe9a8;
	opacity: 0.95;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* ---------- ヘッダーCTA：ぷっくりボタン ---------- */
.konomi-kindergarten #gnav .konomi-nav-cta {
	margin-left: 0.45rem;
	align-self: center;
}

.konomi-kindergarten #gnav .konomi-nav-cta > a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.3rem !important;
	padding: 0.72rem 1.15rem !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #ffa63d, #f3841c) !important;
	color: #fff !important;
	font-family: var(--konomi-font-display) !important;
	font-size: 0.88rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.06em !important;
	text-shadow: none !important;
	box-shadow: 0 5px 0 #d16d10, 0 12px 20px rgba(209, 109, 16, 0.28) !important;
	transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.konomi-kindergarten #gnav .konomi-nav-cta > a .ttl {
	color: #fff !important;
	background: none !important;
	padding: 0 !important;
	font-size: inherit !important;
}

.konomi-kindergarten #gnav .konomi-nav-cta--sub > a {
	background: linear-gradient(180deg, #7cc94a, #5ea02e) !important;
	box-shadow: 0 5px 0 #4b8324, 0 12px 20px rgba(75, 131, 36, 0.26) !important;
}

/* SWELL側の a:hover 背景に負けないよう明示的に上書き */
.konomi-kindergarten .l-header #gnav .konomi-nav-cta > a:hover,
.home.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .konomi-nav-cta > a:hover {
	background: linear-gradient(180deg, #ffa63d, #f3841c) !important;
	color: #fff !important;
	transform: translateY(3px);
	box-shadow: 0 2px 0 #d16d10, 0 6px 12px rgba(209, 109, 16, 0.24) !important;
}

.konomi-kindergarten .l-header #gnav .konomi-nav-cta--sub > a:hover,
.home.konomi-kindergarten .l-header:not(.is-konomi-stuck) #gnav .konomi-nav-cta--sub > a:hover {
	background: linear-gradient(180deg, #7cc94a, #5ea02e) !important;
	box-shadow: 0 2px 0 #4b8324, 0 6px 12px rgba(75, 131, 36, 0.22) !important;
}

/* ---------- ヒーロー：下端をスカラップ（もこもこ）で切り抜き ---------- */
.konomi-kindergarten .konomi-cover-hero {
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
	padding-bottom: clamp(5rem, 9vw, 7rem) !important;
	-webkit-mask-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 60'%3E%3Cpath d='M0 0 A60 60 0 0 1 120 0 Z' fill='%23000'/%3E%3C/svg%3E"),
		linear-gradient(#000, #000);
	mask-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 60'%3E%3Cpath d='M0 0 A60 60 0 0 1 120 0 Z' fill='%23000'/%3E%3C/svg%3E"),
		linear-gradient(#000, #000);
	-webkit-mask-size: 120px 60px, 100% calc(100% - 59px);
	mask-size: 120px 60px, 100% calc(100% - 59px);
	-webkit-mask-position: bottom left, top left;
	mask-position: bottom left, top left;
	-webkit-mask-repeat: repeat-x, no-repeat;
	mask-repeat: repeat-x, no-repeat;
}

/* ヒーロー直後は重ならないよう少し余白を戻す */
.home.konomi-kindergarten .konomi-gateway,
.front-page.konomi-kindergarten .konomi-gateway {
	margin-top: 0 !important;
}

/* ---------- ヒーロー内のポップイラスト ---------- */
.konomi-hero-pops {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	overflow: hidden;
}

.konomi-hero-pops__item {
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.18));
	animation: konomi-bob 5s ease-in-out infinite alternate;
}

.konomi-hero-pops__item--sun {
	width: clamp(4rem, 8vw, 7rem);
	height: clamp(4rem, 8vw, 7rem);
	top: 16%;
	left: 5%;
	background-image: url("assets/img/cut-sun.svg");
	animation-duration: 7s;
}

.konomi-hero-pops__item--cloud {
	width: clamp(5rem, 11vw, 9rem);
	height: clamp(3rem, 7vw, 5.5rem);
	top: 12%;
	right: 6%;
	background-image: url("assets/img/cut-cloud.svg");
	animation-duration: 6s;
	animation-delay: 0.6s;
}

.konomi-hero-pops__item--star {
	width: clamp(2rem, 3.4vw, 3rem);
	height: clamp(2rem, 3.4vw, 3rem);
	top: 30%;
	right: 18%;
	background-image: url("assets/img/cut-star.svg");
	animation: konomi-twinkle 3.2s ease-in-out infinite;
}

.konomi-hero-pops__item--ball {
	width: clamp(2.6rem, 4.6vw, 4rem);
	height: clamp(2.6rem, 4.6vw, 4rem);
	bottom: 20%;
	left: 12%;
	background-image: url("assets/img/cut-ball.svg");
	animation: konomi-roll 4.5s ease-in-out infinite alternate;
}

.konomi-hero-pops__item--acorn {
	width: clamp(2.2rem, 3.6vw, 3.2rem);
	height: clamp(2.2rem, 3.6vw, 3.2rem);
	bottom: 26%;
	right: 9%;
	background-image: url("assets/img/cut-acorn.svg");
	animation-duration: 5.5s;
	animation-delay: 0.3s;
}

.konomi-hero-pops__item--leaf {
	width: clamp(2.2rem, 3.6vw, 3.2rem);
	height: clamp(2.2rem, 3.6vw, 3.2rem);
	top: 44%;
	left: 3%;
	background-image: url("assets/img/cut-leaf.svg");
	animation-duration: 6.5s;
	animation-delay: 1s;
}

.konomi-hero-pops__item--flower {
	width: clamp(2.4rem, 4vw, 3.4rem);
	height: clamp(2.4rem, 4vw, 3.4rem);
	top: 24%;
	left: 22%;
	background-image: url("assets/img/cut-flower.svg");
	animation-duration: 5.8s;
	animation-delay: 1.4s;
	opacity: 0.95;
}

/* 芝生のイラストで写真とセクションをつなぐ */
.konomi-hero-pops__grass {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: clamp(5rem, 11vw, 9rem);
	background: url("assets/img/hero-grass.svg") bottom center / 100% 100% no-repeat;
}

@keyframes konomi-twinkle {
	0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.9; }
	50%      { transform: scale(1.18) rotate(14deg); opacity: 1; }
}

@keyframes konomi-roll {
	from { transform: translateX(0) rotate(0deg); }
	to   { transform: translateX(2.5rem) rotate(200deg); }
}

/* ---------- ヒーローのコピー：手書き風バッジ ---------- */
.konomi-cover-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
}

.konomi-kindergarten .konomi-eyebrow--on-dark {
	display: inline-block !important;
	padding: 0.4rem 1.1rem !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--konomi-orange-dark) !important;
	font-family: var(--konomi-font-display) !important;
	font-weight: 800 !important;
	letter-spacing: 0.16em !important;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
	transform: rotate(-2deg);
}

.konomi-cover-hero__title {
	font-size: clamp(2.1rem, 5.6vw, 3.6rem) !important;
	text-shadow: 0 4px 18px rgba(0, 0, 0, 0.35) !important;
}

.konomi-cover-hero__lead {
	display: inline-block;
	padding: 0.6rem 1.2rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}

/* ---------- タブレット以下：ナビは畳む ---------- */
@media (max-width: 1200px) {
	.konomi-kindergarten #gnav .konomi-nav__en {
		display: none;
	}
	.konomi-kindergarten #gnav .konomi-nav__icon {
		width: 2.1rem;
		height: 2.1rem;
	}
	.konomi-kindergarten #gnav .konomi-nav-cta--sub {
		display: none !important;
	}
}

@media (max-width: 900px) {
	.konomi-kindergarten .konomi-cover-hero {
		-webkit-mask-size: 72px 36px, 100% calc(100% - 35px);
		mask-size: 72px 36px, 100% calc(100% - 35px);
		padding-bottom: 4rem !important;
	}

	.konomi-hero-pops__item--flower,
	.konomi-hero-pops__item--leaf,
	.konomi-hero-pops__item--star {
		display: none;
	}

	.konomi-hero-pops__item--sun { top: 12%; left: 4%; }
	.konomi-hero-pops__item--cloud { top: 9%; right: 4%; }

	.konomi-kindergarten .l-header__logo a::before,
	.konomi-kindergarten .c-headLogo__link::before {
		width: 2.6rem !important;
		height: 2.6rem !important;
	}
}

/* ============================================================
   v2.0 — 独自ヘッダー（SWELLヘッダーは無効化）＋ヒーロー下端イラスト
   ============================================================ */

/* SWELL の既存ヘッダー・旧トップバーは全て停止 */
#header.l-header,
.l-header,
.konomi-topbar,
.l-fixHeader {
	display: none !important;
}

.knm-hd,
.knm-hd *,
.knm-rail,
.knm-rail * {
	box-sizing: border-box;
}

/* ---------- ヘッダー本体 ---------- */
.knm-hd {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	font-family: var(--konomi-font-display, "M PLUS Rounded 1c", sans-serif);
}

/* ---------- 上段：園の情報バー ---------- */
.knm-hd__info {
	background: linear-gradient(90deg, #ffd45a, #ffb14e 45%, #8fd45f);
	color: #5b3f18;
}

.knm-hd__info-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: min(1280px, calc(100% - 2.5rem));
	margin: 0 auto;
	padding: 0.3rem 0;
}

.knm-hd__tag {
	margin: 0;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.knm-hd__tel {
	font-size: 0.9rem;
	font-weight: 800;
	color: #5b3f18;
	text-decoration: none;
	letter-spacing: 0.04em;
}

.knm-hd__tel::before {
	content: "TEL ";
	font-size: 0.66rem;
	opacity: 0.7;
}

/* ---------- 下段：ロゴ＋メニュー ---------- */
.knm-hd__main {
	position: relative;
	background: #fff;
	box-shadow: 0 4px 18px rgba(45, 32, 4, 0.06);
}

/* ヘッダー下端をもこもこに */
.knm-hd__main::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -15px;
	height: 16px;
	background: radial-gradient(circle at 16px 0, #fff 15px, transparent 16px) repeat-x;
	background-size: 32px 16px;
	pointer-events: none;
}

.knm-hd__inner {
	display: flex;
	align-items: center;
	gap: clamp(0.5rem, 1.5vw, 1.4rem);
	width: min(1280px, calc(100% - 2rem));
	margin: 0 auto;
	padding: 0.5rem 0;
}

/* ---------- ロゴ ---------- */
.knm-logo {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	flex: 0 0 auto;
	text-decoration: none;
	margin-right: auto;
}

.knm-logo__mark {
	width: 3.3rem;
	height: 3.3rem;
	padding: 0.3rem;
	border-radius: 50%;
	background: #fff8e2;
	border: 3px solid #ffd45a;
	box-shadow: 0 4px 0 rgba(226, 168, 46, 0.35);
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.knm-logo:hover .knm-logo__mark {
	transform: rotate(-14deg) scale(1.05);
}

.knm-logo__text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.knm-logo__ja {
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	font-weight: 800;
	color: #6b4a1e;
	letter-spacing: 0.06em;
}

.knm-logo__en {
	font-size: 0.52rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	color: #8fbf5c;
}

/* ---------- グローバルメニュー（イラスト付き） ---------- */
.knm-nav__list {
	display: flex;
	align-items: flex-end;
	gap: 0.1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.knm-nav__item {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

.knm-nav__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.18rem;
	padding: 0.35rem 0.62rem 0.4rem;
	border-radius: 20px;
	text-decoration: none;
	line-height: 1.1;
	transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.22s ease;
}

.knm-nav__icon {
	display: block;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 74%;
	box-shadow: 0 3px 0 rgba(45, 32, 4, 0.1);
}

.knm-nav__item--about .knm-nav__icon { background-color: #fff2cf; background-image: url("assets/img/nav-about.svg"); }
.knm-nav__item--words .knm-nav__icon { background-color: #ece6ff; background-image: url("assets/img/nav-words.svg"); }
.knm-nav__item--life  .knm-nav__icon { background-color: #ffe4ec; background-image: url("assets/img/nav-life.svg"); }
.knm-nav__item--news  .knm-nav__icon { background-color: #dff0ff; background-image: url("assets/img/nav-news.svg"); }
.knm-nav__item--entry .knm-nav__icon { background-color: #e4f7d4; background-image: url("assets/img/nav-yard.svg"); }

.knm-nav__ja {
	font-size: 0.8rem;
	font-weight: 800;
	color: #6b4a1e;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.knm-nav__en {
	font-size: 0.5rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: #9ac96f;
}

.knm-nav__item--about:hover .knm-nav__link { background: #fff8e6; }
.knm-nav__item--words:hover .knm-nav__link { background: #f4f0ff; }
.knm-nav__item--life:hover  .knm-nav__link { background: #fff0f5; }
.knm-nav__item--news:hover  .knm-nav__link { background: #edf7ff; }
.knm-nav__item--entry:hover .knm-nav__link { background: #f1fbe6; }

.knm-nav__item:hover .knm-nav__link { transform: translateY(-3px); }
.knm-nav__item:hover .knm-nav__icon { transform: rotate(-10deg) scale(1.08); }

.knm-nav__icon { transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1); }

/* サブメニュー */
.knm-nav__sub {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	transform: translate(-50%, 8px);
	min-width: 13rem;
	margin: 0;
	padding: 0.5rem;
	list-style: none;
	background: #fff;
	border: 3px solid #ffe6a8;
	border-radius: 20px;
	box-shadow: 0 14px 30px rgba(45, 32, 4, 0.14);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.knm-nav__item.has-sub:hover .knm-nav__sub,
.knm-nav__item.has-sub:focus-within .knm-nav__sub {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.knm-nav__sub::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	border: 8px solid transparent;
	border-bottom-color: #ffe6a8;
}

.knm-nav__sub li { margin: 0; list-style: none; }

.knm-nav__sub a {
	display: block;
	padding: 0.5rem 0.8rem;
	border-radius: 12px;
	font-size: 0.82rem;
	font-weight: 700;
	color: #6b4a1e;
	text-decoration: none;
	white-space: nowrap;
}

.knm-nav__sub a::before {
	content: "";
	display: inline-block;
	width: 0.5rem;
	height: 0.5rem;
	margin-right: 0.45rem;
	border-radius: 50%;
	background: #ffc94d;
	vertical-align: middle;
}

.knm-nav__sub a:hover { background: #fff6dd; }

/* ---------- ヘッダー右のCTA ---------- */
.knm-hd__btn {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 1.05rem;
	border-radius: 999px;
	background: linear-gradient(180deg, #ffa63d, #f3841c);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.04em;
	box-shadow: 0 5px 0 #d16d10, 0 12px 20px rgba(209, 109, 16, 0.24);
	transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.knm-hd__btn:hover {
	color: #fff;
	transform: translateY(3px);
	box-shadow: 0 2px 0 #d16d10, 0 6px 12px rgba(209, 109, 16, 0.2);
}

/* ---------- ハンバーガー ---------- */
.knm-burger {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 3.2rem;
	height: 3.2rem;
	padding: 0;
	border: 3px solid #ffd45a;
	border-radius: 18px;
	background: #fff8e2;
	cursor: pointer;
}

.knm-burger span {
	display: block;
	width: 1.35rem;
	height: 3px;
	border-radius: 3px;
	background: #6b4a1e;
}

.knm-burger em {
	font-size: 0.44rem;
	font-weight: 800;
	font-style: normal;
	letter-spacing: 0.1em;
	color: #6b4a1e;
}

/* ---------- Instagram サイドレール ---------- */
.knm-rail {
	position: fixed;
	top: 42vh;
	left: 0;
	z-index: 900;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	pointer-events: none;
}

.knm-rail__link {
	pointer-events: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
	padding: 0.9rem 0.55rem 1.1rem;
	border-radius: 0 24px 24px 0;
	background: linear-gradient(160deg, #f9ce5b, #ee5c8f 45%, #9a5ce0);
	box-shadow: 0 10px 24px rgba(120, 60, 140, 0.28);
	text-decoration: none;
	transition: transform 0.2s ease;
}

.knm-rail__link:hover { transform: translateX(5px); }

.knm-rail__icon {
	width: 1.6rem;
	height: 1.6rem;
	background: url("assets/img/icon-insta.svg") center / contain no-repeat;
}

.knm-rail__text {
	writing-mode: vertical-rl;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	color: #fff;
}

.knm-rail__line {
	pointer-events: none;
	width: 3px;
	height: 5rem;
	border-radius: 3px;
	background: linear-gradient(#ffd45a, transparent);
}

/* ---------- ヒーロー：マスクをやめてイラストで下端をつくる ---------- */
.konomi-kindergarten .konomi-cover-hero {
	-webkit-mask-image: none !important;
	mask-image: none !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	min-height: clamp(30rem, 82vh, 44rem) !important;
	padding-top: clamp(1.5rem, 4vw, 3rem) !important;
	padding-bottom: clamp(7rem, 13vw, 12rem) !important;
	margin-bottom: 0 !important;
	box-shadow: none !important;
}

.konomi-hero-edge {
	position: absolute;
	left: -1px;
	right: -1px;
	bottom: -1px;
	z-index: 4;
	height: clamp(6rem, 15vw, 12rem);
	background: url("assets/img/hero-bottom.svg") bottom center / 100% 100% no-repeat;
	pointer-events: none;
}

.konomi-hero-pops__grass { display: none; }

/* 浮遊イラストは端に寄せて主役の写真を邪魔しない */
.konomi-hero-pops__item--ball   { bottom: 30%; }
.konomi-hero-pops__item--acorn  { bottom: 34%; }

/* ---------- レスポンシブ ---------- */
@media (max-width: 1180px) {
	.knm-nav__en { display: none; }
	.knm-nav__link { padding: 0.3rem 0.45rem 0.35rem; }
	.knm-nav__ja { font-size: 0.74rem; }
	.knm-nav__icon { width: 1.85rem; height: 1.85rem; }
}

@media (max-width: 1000px) {
	.knm-nav,
	.knm-hd__btn { display: none; }
	.knm-burger { display: flex; }
	.knm-rail { display: none; }
	.knm-hd__tag { font-size: 0.64rem; }

	.konomi-kindergarten .konomi-cover-hero {
		min-height: 74vh !important;
		padding-bottom: 6rem !important;
	}

	.konomi-hero-edge {
		height: 5.5rem;
		background-size: 200% 100%;
		background-position: bottom left;
	}
}

@media (max-width: 600px) {
	.knm-logo__mark { width: 2.7rem; height: 2.7rem; }
	.knm-logo__ja { font-size: 1rem; }
	.knm-hd__info-inner { width: calc(100% - 1.5rem); }
}

/* ============================================================
   v2.1 — 追従ヘッダー・可読性・ポップさの強化
   ============================================================ */

/* ---------- ① スクロール追従（sticky は overflow-x:hidden で無効なので fixed） ---------- */
.knm-hd {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	transition: box-shadow 0.25s ease;
}

.knm-hd__spacer {
	height: 132px;
}

/* スクロール後は情報バーを畳んでコンパクトに */
.knm-hd__info {
	overflow: hidden;
	max-height: 3rem;
	transition: max-height 0.3s ease, opacity 0.25s ease;
}

.knm-hd.is-scrolled .knm-hd__info {
	max-height: 0;
	opacity: 0;
}

.knm-hd.is-scrolled .knm-hd__main {
	box-shadow: 0 8px 26px rgba(45, 32, 4, 0.14);
}

.knm-hd.is-scrolled .knm-hd__inner {
	padding: 0.25rem 0;
}

.knm-hd.is-scrolled .knm-logo__mark {
	width: 2.6rem;
	height: 2.6rem;
}

.knm-hd.is-scrolled .knm-logo__en {
	display: none;
}

/* ---------- ② 文字を大きく・太さを落として読みやすく ---------- */
.knm-hd,
.knm-rail {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.knm-hd__tag {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.knm-hd__tel {
	font-size: 1rem;
	font-weight: 700;
}

.knm-logo__ja {
	font-size: clamp(1.2rem, 1.7vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.04em;
}

.knm-logo__en {
	font-size: 0.6rem;
	letter-spacing: 0.14em;
	color: #7fb84c;
}

.knm-nav__ja {
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.knm-nav__en {
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #7a5f30;
	opacity: 0.72;
}

.knm-nav__sub a {
	font-size: 0.92rem;
	font-weight: 600;
}

.knm-hd__btn {
	font-size: 0.88rem;
	font-weight: 700;
}

/* ---------- ③ メニューを「押せるカラフルなボタン」に ---------- */
.knm-nav__list {
	gap: 0.35rem;
	align-items: center;
}

.knm-nav__link {
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	column-gap: 0.45rem;
	padding: 0.42rem 0.95rem 0.42rem 0.5rem;
	border-radius: 999px;
	border: 3px solid #fff;
	transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.knm-nav__icon {
	grid-row: 1 / 3;
	width: 2.15rem;
	height: 2.15rem;
	background-color: #fff !important;
	box-shadow: none;
}

.knm-nav__ja { grid-column: 2; grid-row: 1; }
.knm-nav__en { grid-column: 2; grid-row: 2; }

.knm-nav__item--about .knm-nav__link { background: #ffe6a3; box-shadow: 0 5px 0 #e5be4f; }
.knm-nav__item--words .knm-nav__link { background: #ddd3ff; box-shadow: 0 5px 0 #ab99ef; }
.knm-nav__item--life  .knm-nav__link { background: #ffd3e2; box-shadow: 0 5px 0 #f09ab8; }
.knm-nav__item--news  .knm-nav__link { background: #cbe8ff; box-shadow: 0 5px 0 #8dc6ee; }
.knm-nav__item--entry .knm-nav__link { background: #d6f4bb; box-shadow: 0 5px 0 #9ed470; }

/* 手作り感のある微妙な傾き */
.knm-nav__item:nth-child(odd)  .knm-nav__link { transform: rotate(-1.5deg); }
.knm-nav__item:nth-child(even) .knm-nav__link { transform: rotate(1.5deg); }

/* ホバーは「押し込む」動き */
.knm-nav__item:hover .knm-nav__link,
.knm-nav__item--about:hover .knm-nav__link,
.knm-nav__item--words:hover .knm-nav__link,
.knm-nav__item--life:hover  .knm-nav__link,
.knm-nav__item--news:hover  .knm-nav__link,
.knm-nav__item--entry:hover .knm-nav__link {
	transform: translateY(4px) rotate(0deg);
	box-shadow: 0 1px 0 rgba(45, 32, 4, 0.18);
}

.knm-nav__item--about:hover .knm-nav__link { background: #ffdb7d; }
.knm-nav__item--words:hover .knm-nav__link { background: #ccbeff; }
.knm-nav__item--life:hover  .knm-nav__link { background: #ffbdd3; }
.knm-nav__item--news:hover  .knm-nav__link { background: #b2ddff; }
.knm-nav__item--entry:hover .knm-nav__link { background: #c4ee9e; }

.knm-nav__item:hover .knm-nav__icon {
	animation: knm-wiggle 0.5s ease-in-out;
}

@keyframes knm-wiggle {
	0%, 100% { transform: rotate(0deg); }
	25%      { transform: rotate(-14deg) scale(1.1); }
	75%      { transform: rotate(14deg) scale(1.1); }
}

/* サブメニューの位置をボタンの下に合わせる */
.knm-nav__sub { top: calc(100% + 16px); }

/* ---------- 情報バー：水玉でポップに ---------- */
.knm-hd__info {
	background-image:
		radial-gradient(circle at 10px 10px, rgba(255, 255, 255, 0.5) 3px, transparent 3.5px),
		linear-gradient(90deg, #ffd45a, #ffb14e 45%, #8fd45f);
	background-size: 26px 26px, auto;
}

/* ---------- ヘッダー下端：カラフルなもこもこ ---------- */
.knm-hd__main::after {
	bottom: -17px;
	height: 18px;
	background:
		radial-gradient(circle at 18px 0, #fff 17px, transparent 17.5px) repeat-x;
	background-size: 36px 18px;
	filter: drop-shadow(0 3px 2px rgba(45, 32, 4, 0.06));
}

/* ---------- ヒーロー：募集中バッジ ---------- */
.konomi-hero-badge {
	position: absolute;
	z-index: 6;
	top: clamp(1.5rem, 6vh, 4rem);
	right: clamp(1rem, 5vw, 5rem);
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(7rem, 11vw, 9.5rem);
	height: clamp(7rem, 11vw, 9.5rem);
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #fff3c4, #ffcf4d 70%);
	box-shadow: 0 12px 26px rgba(45, 32, 4, 0.3);
	text-decoration: none;
	animation: konomi-bob 4s ease-in-out infinite alternate;
}

.konomi-hero-badge__ring {
	position: absolute;
	inset: 8%;
	border-radius: 50%;
	border: 3px dashed rgba(107, 74, 30, 0.55);
	animation: knm-spin 18s linear infinite;
}

@keyframes knm-spin {
	to { transform: rotate(360deg); }
}

.konomi-hero-badge__in {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.1rem;
	color: #6b4a1e;
	line-height: 1.2;
	text-align: center;
}

.konomi-hero-badge__in small { font-size: 0.66rem; font-weight: 700; }
.konomi-hero-badge__in strong { font-size: clamp(0.95rem, 1.5vw, 1.2rem); font-weight: 800; letter-spacing: 0.02em; }
.konomi-hero-badge__in em { font-size: 0.58rem; font-style: normal; font-weight: 700; opacity: 0.75; }

.konomi-hero-badge:hover { transform: scale(1.06) rotate(-4deg); }

/* ---------- ヒーロー：見出しに白フチをつけて写真から浮かせる ---------- */
.konomi-cover-hero__title {
	font-weight: 800 !important;
	text-shadow:
		0 0 12px rgba(0, 0, 0, 0.45),
		3px 3px 0 rgba(107, 74, 30, 0.35) !important;
}

/* ---------- ヒーロー：スクロール誘導 ---------- */
.konomi-hero-scroll {
	position: absolute;
	z-index: 6;
	left: 50%;
	bottom: clamp(7rem, 15vw, 12.5rem);
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.6rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	color: #fff;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
	pointer-events: none;
}

.konomi-hero-scroll i {
	display: block;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	position: relative;
	animation: knm-drop 1.6s ease-in-out infinite;
}

.konomi-hero-scroll i::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 44%;
	width: 0.55rem;
	height: 0.55rem;
	border-right: 3px solid #6b4a1e;
	border-bottom: 3px solid #6b4a1e;
	transform: translate(-50%, -50%) rotate(45deg);
}

@keyframes knm-drop {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(8px); }
}

/* ---------- ヒーローの浮遊イラストに個性を ---------- */
.konomi-hero-pops__item--sun {
	animation: knm-spin 26s linear infinite;
}

.konomi-hero-pops__item--cloud {
	animation: knm-drift 14s ease-in-out infinite alternate;
}

@keyframes knm-drift {
	from { transform: translateX(0); }
	to   { transform: translateX(-3.5rem); }
}

/* ---------- レスポンシブ調整 ---------- */
@media (max-width: 1240px) {
	.knm-nav__en { display: none; }
	.knm-nav__link { grid-template-rows: auto; padding: 0.42rem 0.8rem 0.42rem 0.45rem; }
	.knm-nav__icon { grid-row: 1; }
	.knm-nav__ja { font-size: 0.9rem; }
}

@media (max-width: 1080px) {
	.knm-nav__ja { display: none; }
	.knm-nav__link { padding: 0.4rem; border-radius: 50%; }
	.knm-nav__icon { width: 2rem; height: 2rem; }
}

@media (max-width: 1000px) {
	.knm-hd__spacer { height: 104px; }
	.konomi-hero-badge { width: 6.5rem; height: 6.5rem; }
	.konomi-hero-scroll { display: none; }
}

@media (max-width: 600px) {
	.knm-hd__spacer { height: 92px; }
	.knm-hd__tag { font-size: 0.68rem; }
	.knm-hd__tel { font-size: 0.88rem; }
}

/* 固定ヘッダー(z-index:1000)よりスマホメニューを前面に */
.p-spMenu {
	z-index: 1200 !important;
}

/* ============================================================
   v2.2 — 文字のにじみ解消・情報バー復帰・下端を曲線に
   ============================================================ */

/* text-rendering はにじみの原因になるため使わない */
.knm-hd,
.knm-rail {
	text-rendering: auto;
}

/* ---------- ③ 上部の情報バーはスクロールしても消さない ---------- */
.knm-hd__info {
	overflow: visible;
	max-height: none;
}

.knm-hd.is-scrolled .knm-hd__info {
	max-height: none;
	opacity: 1;
}

.knm-hd.is-scrolled .knm-hd__info-inner {
	padding: 0.15rem 0;
}

/* ---------- ① サブメニュー：transform をやめて文字を鮮明に ---------- */
.knm-nav__sub {
	left: 0;
	transform: none !important;
	top: calc(100% + 18px);
	transition: opacity 0.16s ease, visibility 0.16s;
}

.knm-nav__item.has-sub:hover .knm-nav__sub,
.knm-nav__item.has-sub:focus-within .knm-nav__sub {
	transform: none !important;
}

.knm-nav__sub::before {
	left: 2.4rem;
	transform: none;
}

/* 右端の項目だけ右揃えにして画面外に出さない */
.knm-nav__item:last-child .knm-nav__sub {
	left: auto;
	right: 0;
}

.knm-nav__item:last-child .knm-nav__sub::before {
	left: auto;
	right: 2.4rem;
}

/* ---------- ② 資料請求ボタン：flex 中央寄せをやめて半端な位置をなくす ---------- */
.knm-hd__btn {
	display: block;
	align-self: center;
	padding: 0.55rem 1.2rem;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

.knm-hd__btn-ja {
	display: block;
}

/* ---------- ④ ヘッダー下端：半円の連続をやめて一本の曲線に ---------- */
.knm-hd__main::after {
	left: 0;
	right: 0;
	bottom: -71px;
	height: 72px;
	background: url("assets/img/header-wave.svg") top left / 100% 100% no-repeat;
	filter: drop-shadow(0 6px 10px rgba(45, 32, 4, 0.1));
}

/* 曲線が本文にかぶらないよう、トップ以外は余白を足す */
.konomi-kindergarten:not(.home):not(.front-page) .l-mainContent__inner {
	padding-top: 3.5rem !important;
}

@media (max-width: 1000px) {
	.knm-hd__main::after {
		bottom: -43px;
		height: 44px;
	}
}

/* Windows のサブピクセル描画を殺すと白抜き文字が痩せて汚くなるため解除 */
.knm-hd,
.knm-hd *,
.knm-rail,
.knm-rail * {
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}

/* オレンジのグラデ上の白文字は描画が荒れるのでベタ塗りに */
.knm-hd__btn {
	background: #ef7f14;
}

.knm-hd__btn:hover {
	background: #ff9526;
}

/* ============================================================
   v2.3 — ヘッダー下の余白除去・ヒーロー下端の調整
   ============================================================ */

/* トップは本文エリアの上余白を全て消して、曲線が写真に直接かかるようにする */
.home.konomi-kindergarten #content,
.home.konomi-kindergarten .l-content,
.home.konomi-kindergarten .l-mainContent,
.home.konomi-kindergarten .l-mainContent__inner,
.front-page.konomi-kindergarten #content,
.front-page.konomi-kindergarten .l-content,
.front-page.konomi-kindergarten .l-mainContent,
.front-page.konomi-kindergarten .l-mainContent__inner {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.home.konomi-kindergarten .post_content > .konomi-cover-hero:first-child,
.front-page.konomi-kindergarten .post_content > .konomi-cover-hero:first-child {
	margin-top: 0 !important;
}

/* ヒーロー下端のイラストは写真を隠しすぎない高さに */
.konomi-hero-edge {
	height: clamp(5rem, 11vw, 9.5rem);
}

.konomi-kindergarten .konomi-cover-hero {
	padding-bottom: clamp(6rem, 11vw, 9.5rem) !important;
}

/* スクロール誘導はボタンと重ならないよう草の上へ */
.konomi-hero-scroll {
	bottom: clamp(5rem, 9vw, 7.5rem);
}

/* 曲線(::after)がサブメニューより手前に描画されるのを防ぐ */
.knm-hd__main::after {
	z-index: 1;
}

.knm-nav__sub {
	z-index: 5;
}

/* ============================================================
   v2.4 — 情報バーを常盤幼稚園寄りに整理 / ジャギー文字の解消
   ============================================================ */

/* ヘッダー本文は Noto Sans JP（丸ゴシックは小サイズで輪郭が荒れる） */
.knm-hd,
.knm-hd__tag,
.knm-hd__tel,
.knm-hd__tel-num,
.knm-hd__tel-label,
.knm-nav__ja,
.knm-nav__en,
.knm-nav__sub a,
.knm-hd__btn,
.knm-logo__ja,
.knm-logo__en {
	font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
	-webkit-font-smoothing: auto !important;
	-moz-osx-font-smoothing: auto !important;
	text-rendering: auto !important;
	font-synthesis: none;
	transform: none !important;
}

/* ---------- ① 情報バー：クリーム地・電話を大きく ---------- */
.knm-hd__info,
.knm-hd.is-scrolled .knm-hd__info {
	background: #f6f0e4 !important;
	background-image: none !important;
	color: #4a3a22;
	border-bottom: 1px solid #eadfc8;
	max-height: none !important;
	opacity: 1 !important;
	overflow: visible !important;
}

.knm-hd__info-inner,
.knm-hd.is-scrolled .knm-hd__info-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 0.45rem 0 !important;
}

.knm-hd__tag {
	margin: 0;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	color: #6a5a3e;
	line-height: 1.5;
}

.knm-hd__tel {
	display: flex !important;
	align-items: baseline;
	gap: 0.7rem;
	color: #3d2e14 !important;
	text-decoration: none;
	white-space: nowrap;
}

.knm-hd__tel::before {
	content: none !important;
}

.knm-hd__tel-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #8a7040;
}

.knm-hd__tel-num {
	font-size: 1.28rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	color: #3d2e14;
}

.knm-hd__tel:hover .knm-hd__tel-num {
	color: #5fad4a;
}

/* ---------- ② 回転・半ピクセル移動をやめて文字を鮮明に ---------- */
.knm-nav__item:nth-child(odd) .knm-nav__link,
.knm-nav__item:nth-child(even) .knm-nav__link,
.knm-nav__item:hover .knm-nav__link,
.knm-nav__item--about:hover .knm-nav__link,
.knm-nav__item--words:hover .knm-nav__link,
.knm-nav__item--life:hover .knm-nav__link,
.knm-nav__item--news:hover .knm-nav__link,
.knm-nav__item--entry:hover .knm-nav__link {
	transform: none !important;
}

.knm-nav__link {
	transition: box-shadow 0.16s ease, background 0.16s ease !important;
}

.knm-nav__item:hover .knm-nav__link {
	box-shadow: 0 2px 0 rgba(45, 32, 4, 0.16) !important;
}

.knm-nav__ja {
	font-size: 0.86rem !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.3;
}

.knm-nav__en {
	font-size: 0.62rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em !important;
}

.knm-nav__sub,
.knm-nav__item.has-sub:hover .knm-nav__sub,
.knm-nav__item.has-sub:focus-within .knm-nav__sub {
	transform: none !important;
	transition: opacity 0.16s ease, visibility 0.16s !important;
}

.knm-nav__sub a {
	font-size: 0.88rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.55;
}

/* 資料請求：1行・ベタ塗り・十分なサイズ */
.knm-hd__btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 2.7rem;
	padding: 0.55rem 1.15rem !important;
	border-radius: 999px !important;
	background: #ef7f14 !important;
	color: #fff !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
	box-shadow: 0 3px 0 #c8640a !important;
	transform: none !important;
}

.knm-hd__btn:hover {
	background: #ff9526 !important;
	transform: none !important;
	color: #fff !important;
}

/* ============================================================
   v2.5 — 電話を目立たせる / 園章差し替え / アイコンだけ傾けて遊びを残す
   ============================================================ */

.knm-hd__tel {
	padding: 0.28rem 0.85rem 0.32rem 0.9rem;
	border-radius: 999px;
	background: #fff;
	border: 2px solid #5fad4a;
	box-shadow: 0 3px 0 #4a8d38;
}

.knm-hd__tel-label {
	font-size: 0.68rem !important;
	color: #5fad4a !important;
}

.knm-hd__tel-num {
	font-size: 1.42rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.03em !important;
	color: #2f5c1c !important;
}

.knm-hd__tel:hover {
	background: #f3fbea;
}

.knm-hd__tel:hover .knm-hd__tel-num {
	color: #2f5c1c !important;
}

/* 園章：円の中に収めて、どんぐりと同じ位置で差し替え */
.knm-logo__mark {
	width: 3.6rem !important;
	height: 3.6rem !important;
	padding: 0.22rem !important;
	object-fit: contain;
	background: #fff !important;
	border: 3px solid #5fad4a !important;
	box-shadow: 0 4px 0 rgba(95, 173, 74, 0.35) !important;
	border-radius: 50% !important;
}

.knm-hd.is-scrolled .knm-logo__mark {
	width: 3rem !important;
	height: 3rem !important;
}

.konomi-footer-brand__logo img {
	width: 3.4rem;
	height: 3.4rem;
	object-fit: contain;
	padding: 0.2rem;
	border-radius: 50%;
	background: #fff;
	border: 3px solid #5fad4a;
}

/* 文字は傾けない。アイコンだけわずかに傾けて遊びを出す */
.knm-nav__item:nth-child(odd) .knm-nav__icon {
	transform: rotate(-8deg);
}
.knm-nav__item:nth-child(even) .knm-nav__icon {
	transform: rotate(8deg);
}
.knm-nav__item:hover .knm-nav__icon {
	transform: rotate(0deg) scale(1.08);
}

/* ヒーロー内の白ボタンも同じ書体に */
.konomi-cover-hero .wp-block-button__link {
	font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
	-webkit-font-smoothing: auto !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
}

/* ============================================================
   v2.6 — 情報バーの連絡先を常盤幼稚園型の破線ボックスへ
   ============================================================ */

.knm-hd__tel {
	display: none !important;
}

.knm-hd__contact {
	display: flex;
	align-items: center;
	gap: 0.85rem 1.1rem;
	padding: 0.35rem 1rem 0.4rem 1.05rem;
	border: 1.5px dashed #6b4a1e;
	border-radius: 18px;
	background: transparent;
	color: #4a3418;
	white-space: nowrap;
}

.knm-hd__contact a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: #4a3418;
	text-decoration: none;
	font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	-webkit-font-smoothing: auto;
	transform: none !important;
}

.knm-hd__contact-head {
	font-size: 0.82rem;
	font-weight: 700;
}

.knm-hd__contact-head::after {
	content: ">";
	margin-left: 0.35rem;
	font-weight: 500;
	opacity: 0.7;
}

.knm-hd__contact-num {
	font-size: 1.22rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
}

.knm-hd__contact-mail {
	font-size: 0.8rem;
	font-weight: 700;
}

.knm-hd__ico {
	display: inline-block;
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 50%;
	background: #5a3f1c center / 58% no-repeat;
	flex: 0 0 auto;
}

.knm-hd__ico--tel {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.2 1.2.4 2.5.6 3.8.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.6.6 3.8.1.4 0 .8-.3 1.1L6.6 10.8z'/%3E%3C/svg%3E");
}

.knm-hd__ico--mail {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5L4 8V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

.knm-hd__contact a:hover {
	color: #5fad4a;
}

@media (max-width: 1100px) {
	.knm-hd__contact-mail span {
		display: none;
	}
}

@media (max-width: 780px) {
	.knm-hd__contact-mail {
		display: none;
	}
	.knm-hd__contact-head {
		display: none;
	}
	.knm-hd__contact {
		padding: 0.25rem 0.7rem;
		gap: 0.5rem;
	}
	.knm-hd__contact-num {
		font-size: 1.05rem;
	}
}

/* ============================================================
   v2.7 — ヘッダー曲線を走る送迎バス
   ============================================================ */

.knm-hd {
	overflow: visible !important;
}

.knm-hd__main {
	overflow: visible !important;
	/* 景観帯上の白い紙面はナビの裏へ隠し、山・木がナビ下端から見えるようにする */
	padding-bottom: calc(var(--knm-band-h) * 0.74 - var(--knm-band-drop)) !important;
	background: #fff !important;
	box-shadow: none !important;
}

.knm-hd.is-scrolled .knm-hd__main {
	box-shadow: none !important;
}

/* バスの走行ライン。景観帯の背景画像とまったく同じ大きさ・位置に重ねる */
.knm-hd__wave {
	position: absolute;
	left: 0;
	right: 0;
	top: auto;
	bottom: calc(-1 * var(--knm-band-drop));
	height: var(--knm-band-h);
	z-index: 3;
	pointer-events: none;
	overflow: visible;
}

.knm-hd__inner {
	position: relative;
	z-index: 5;
	padding-bottom: 0;
}

.knm-hd__main::after {
	display: none !important;
	content: none !important;
	background: none !important;
}

.knm-hd__wave-svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	shape-rendering: geometricPrecision;
}

.knm-bus {
	position: absolute;
	left: 0;
	top: 0;
	/* 景観帯の大きさに合わせて拡縮する（帯の高さのおよそ 1/3） */
	width: clamp(30px, 3vw, 62px);
	height: auto;
	aspect-ratio: 7 / 4;
	transform-origin: 0 0;
	will-change: transform;
	z-index: 4;
	filter: drop-shadow(0 3px 2px rgba(45, 32, 4, 0.18));
}

.knm-bus svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.knm-bus__body,
.knm-bus__stripe {
	transition: fill 0.45s ease;
}

@media (prefers-reduced-motion: reduce) {
	.knm-bus {
		will-change: auto;
	}
}

/* ------------------------------------------------------------
   景観帯（原画 scape-original.png を実寸比のまま敷く）
   77 / 1024 = 7.5195vw、19 / 1024 = 1.855vw（波の最上点までの高さ）
   ------------------------------------------------------------ */
:root {
	--knm-band-h: 7.5195vw;
	--knm-band-drop: 2.05vw;
	--knm-hero-band-h: 9.082vw;
}

/* 白いヘッダーの下端に沿わせる景観帯。波線より下は透過していて、
   そこから下はヒーロー写真がそのまま見える＝写真が波形に切り抜かれる */
.knm-scape--hd {
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(-1 * var(--knm-band-drop));
	height: var(--knm-band-h);
	min-height: 34px;
	z-index: 2;
	pointer-events: none;
	background: url("assets/img/scape-header.png?v=2200") no-repeat center bottom;
	background-image: image-set(
		url("assets/img/scape-header.webp?v=2200") type("image/webp"),
		url("assets/img/scape-header.png?v=2200") type("image/png")
	);
	background-size: 100% auto;
	image-rendering: auto;
}

.knm-logo,
.knm-nav,
.knm-hd__btn {
	position: relative;
	z-index: 6;
}

/* 写真はウェーブのすぐ下から。余白でヒーローを圧迫しない */
.home.konomi-kindergarten .post_content > .konomi-cover-hero:first-child,
.front-page.konomi-kindergarten .post_content > .konomi-cover-hero:first-child {
	margin-top: -28px !important;
	padding-top: calc(var(--knm-band-h) + 3.4rem) !important;
}

/* 100vw + left:50% の二重ずらしで左右が欠け、角丸が帯を切るのをやめる */
.home.konomi-kindergarten .post_content > .konomi-cover-hero,
.front-page.konomi-kindergarten .post_content > .konomi-cover-hero,
.home.konomi-kindergarten .konomi-cover-hero.alignfull,
.front-page.konomi-kindergarten .konomi-cover-hero.alignfull,
.home.konomi-kindergarten .konomi-cover-hero,
.front-page.konomi-kindergarten .konomi-cover-hero,
.konomi-kindergarten .konomi-cover-hero {
	left: 0 !important;
	right: auto !important;
	transform: none !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-bottom: 0 !important;
	overflow: hidden !important;
	background-color: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	-webkit-mask: none !important;
	mask: none !important;
}

.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__background,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__background,
.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__image-background,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__image-background,
.home.konomi-kindergarten .konomi-cover-hero::before,
.front-page.konomi-kindergarten .konomi-cover-hero::before {
	inset: 0 !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	overflow: visible !important;
	border-radius: 0 !important;
}

/* 上の白い波と同じく、下端は灰色ラインで写真を切り抜く */
.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__background,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__background,
.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__image-background,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__image-background {
	-webkit-mask-image:
		linear-gradient(#000, #000),
		url("assets/img/scape-hero-clip.svg?v=2250") !important;
	mask-image:
		linear-gradient(#000, #000),
		url("assets/img/scape-hero-clip.svg?v=2250") !important;
	-webkit-mask-size:
		100% calc(100% - var(--knm-hero-band-h) + 1px),
		100% var(--knm-hero-band-h) !important;
	mask-size:
		100% calc(100% - var(--knm-hero-band-h) + 1px),
		100% var(--knm-hero-band-h) !important;
	-webkit-mask-position: top, bottom !important;
	mask-position: top, bottom !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-composite: source-over !important;
	mask-composite: add !important;
	-webkit-clip-path: none !important;
	clip-path: none !important;
}

.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__image-background,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__image-background {
	animation: none !important;
	transform: none !important;
}

/* 点々・ドーナツ状の古い装飾は使わない */
.home.konomi-kindergarten .konomi-cover-hero::before,
.front-page.konomi-kindergarten .konomi-cover-hero::before,
.konomi-cover-hero::before {
	display: none !important;
	content: none !important;
	background: none !important;
}

/* 原画の薄い灰色ラインより上が透過した1枚絵。
   写真の下端はそのラインどおりに切り抜かれて見える */
.konomi-hero-edge {
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	height: var(--knm-hero-band-h) !important;
	min-height: 52px !important;
	background-color: transparent !important;
	background-image: url("assets/img/scape-hero.png?v=2250") !important;
	background-image: image-set(
		url("assets/img/scape-hero.webp?v=2250") type("image/webp"),
		url("assets/img/scape-hero.png?v=2250") type("image/png")
	) !important;
	background-repeat: no-repeat !important;
	background-position: center bottom !important;
	background-size: 100% 100% !important;
}

.home.konomi-kindergarten .konomi-cover-hero,
.front-page.konomi-kindergarten .konomi-cover-hero {
	padding-bottom: calc(var(--knm-hero-band-h) + 2.4rem) !important;
}

/* SCROLL は下の景観帯にかからない位置へ */
.konomi-hero-scroll {
	bottom: calc(var(--knm-hero-band-h) + 0.6rem) !important;
	z-index: 5;
}

@media (max-width: 1000px) {
	.konomi-hero-edge {
		background-size: 100% 100% !important;
		background-position: center bottom !important;
	}
}

@media (max-width: 900px) {
	.home.konomi-kindergarten .konomi-cover-hero,
	.front-page.konomi-kindergarten .konomi-cover-hero,
	.konomi-kindergarten .konomi-cover-hero {
		border-radius: 0 !important;
	}
}

/* ============================================================
   ヒーロー：浮かぶ装飾カット（添付のスプライトから切り出し）
   顔・見出し・園児募集バッジを避け、四隅と空きに軽く置く
   ============================================================ */
.konomi-hero-pops {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	overflow: hidden;
}

.konomi-hero-pops__item {
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	filter: drop-shadow(0 4px 8px rgba(45, 32, 4, 0.12));
	will-change: transform;
	animation: knm-pop-float 6.5s ease-in-out infinite alternate;
}

@keyframes knm-pop-float {
	from { transform: translate3d(0, 0, 0) rotate(-5deg); }
	to   { transform: translate3d(10px, 12px, 0) rotate(6deg); }
}

@keyframes knm-pop-drift {
	from { transform: translate3d(0, 0, 0) rotate(-12deg); }
	to   { transform: translate3d(16px, -14px, 0) rotate(10deg); }
}

@keyframes knm-pop-twinkle {
	0%, 100% { opacity: 0.7; transform: scale(1) rotate(0deg); }
	50%      { opacity: 1; transform: scale(1.18) rotate(14deg); }
}

@keyframes knm-pop-bubble {
	from { transform: translate3d(0, 8px, 0) scale(0.94); opacity: 0.7; }
	to   { transform: translate3d(-6px, -10px, 0) scale(1.06); opacity: 1; }
}

/* 左上：雲・虹・シャボン玉 */
.konomi-hero-pops__item--rainbow-a {
	top: 7%;
	left: 3%;
	width: clamp(5.2rem, 9vw, 8.2rem);
	height: clamp(3.6rem, 6vw, 5.6rem);
	background-image: url("assets/img/pops/rainbow-a.png");
	animation-duration: 7.2s;
}
.konomi-hero-pops__item--cloud-a {
	top: 3%;
	left: 14%;
	width: clamp(4.4rem, 8vw, 7.2rem);
	height: clamp(2.2rem, 4vw, 3.6rem);
	background-image: url("assets/img/pops/cloud-a.png");
	animation-duration: 8s;
	animation-delay: 0.4s;
	opacity: 0.92;
}
.konomi-hero-pops__item--bubble-a {
	top: 18%;
	left: 5%;
	width: clamp(1.8rem, 3.2vw, 2.8rem);
	height: clamp(1.8rem, 3.2vw, 2.8rem);
	background-image: url("assets/img/pops/bubble-a.png");
	animation: knm-pop-bubble 5.4s ease-in-out infinite alternate;
}

/* 右上：雲・虹・シャボン玉（募集バッジの左に寄せる） */
.konomi-hero-pops__item--rainbow-b {
	top: 10%;
	right: 16%;
	width: clamp(4.4rem, 7.5vw, 6.8rem);
	height: clamp(3.2rem, 5.4vw, 5rem);
	background-image: url("assets/img/pops/rainbow-b.png");
	animation-duration: 6.8s;
	animation-delay: 0.8s;
}
.konomi-hero-pops__item--cloud-b {
	top: 4%;
	right: 28%;
	width: clamp(4.8rem, 8.5vw, 7.6rem);
	height: clamp(2.4rem, 4.4vw, 4rem);
	background-image: url("assets/img/pops/cloud-b.png");
	animation-duration: 7.6s;
	animation-delay: 1.1s;
	opacity: 0.9;
}
.konomi-hero-pops__item--bubble-b {
	top: 22%;
	right: 12%;
	width: clamp(1.4rem, 2.4vw, 2.2rem);
	height: clamp(1.4rem, 2.4vw, 2.2rem);
	background-image: url("assets/img/pops/bubble-b.png");
	animation: knm-pop-bubble 6s ease-in-out infinite alternate;
	animation-delay: 0.6s;
}

/* 上部の空き：星・花・葉・紙飛行機 */
.konomi-hero-pops__item--star-a {
	top: 16%;
	left: 24%;
	width: clamp(1.3rem, 2.2vw, 2rem);
	height: clamp(1.3rem, 2.2vw, 2rem);
	background-image: url("assets/img/pops/star-a.png");
	animation: knm-pop-twinkle 3.4s ease-in-out infinite;
}
.konomi-hero-pops__item--flower-a {
	top: 12%;
	left: 32%;
	width: clamp(1.6rem, 2.8vw, 2.4rem);
	height: clamp(1.6rem, 2.8vw, 2.4rem);
	background-image: url("assets/img/pops/flower-a.png");
	animation-duration: 5.8s;
	animation-delay: 0.5s;
}
.konomi-hero-pops__item--leaf-a {
	top: 20%;
	right: 34%;
	width: clamp(1.5rem, 2.6vw, 2.2rem);
	height: clamp(1.8rem, 3vw, 2.6rem);
	background-image: url("assets/img/pops/leaf-a.png");
	animation-duration: 6.4s;
	animation-delay: 1.3s;
}
.konomi-hero-pops__item--plane-a {
	top: 8%;
	left: 40%;
	width: clamp(2.4rem, 4.2vw, 3.6rem);
	height: clamp(1.8rem, 3.2vw, 2.8rem);
	background-image: url("assets/img/pops/plane-a.png");
	animation: knm-pop-drift 7.4s ease-in-out infinite alternate;
}
.konomi-hero-pops__item--cloud-c {
	top: 2%;
	left: 52%;
	width: clamp(4rem, 7vw, 6.2rem);
	height: clamp(2rem, 3.6vw, 3.2rem);
	background-image: url("assets/img/pops/cloud-c.png");
	animation-duration: 8.4s;
	animation-delay: 0.2s;
	opacity: 0.88;
}
.konomi-hero-pops__item--flower-b {
	top: 15%;
	right: 24%;
	width: clamp(1.5rem, 2.6vw, 2.2rem);
	height: clamp(1.5rem, 2.6vw, 2.2rem);
	background-image: url("assets/img/pops/flower-b.png");
	animation-duration: 5.2s;
	animation-delay: 1.6s;
}
.konomi-hero-pops__item--plane-b {
	top: 24%;
	left: 18%;
	width: clamp(2.2rem, 3.8vw, 3.2rem);
	height: clamp(1.6rem, 2.8vw, 2.4rem);
	background-image: url("assets/img/pops/plane-b.png");
	animation: knm-pop-drift 8s ease-in-out infinite alternate;
	animation-delay: 1s;
}
.konomi-hero-pops__item--leaf-b {
	top: 28%;
	right: 6%;
	width: clamp(1.6rem, 2.8vw, 2.4rem);
	height: clamp(1.6rem, 2.8vw, 2.4rem);
	background-image: url("assets/img/pops/leaf-b.png");
	animation-duration: 6.9s;
	animation-delay: 0.7s;
}

/* 顔・見出しを避けた端：風船・音符 */
.konomi-hero-pops__item--balloons {
	top: 38%;
	left: 2.5%;
	width: clamp(3.2rem, 5.6vw, 5rem);
	height: clamp(2.8rem, 5vw, 4.4rem);
	background-image: url("assets/img/pops/balloons.png");
	animation-duration: 7s;
	animation-delay: 0.3s;
}
.konomi-hero-pops__item--note-a {
	top: 42%;
	right: 5%;
	width: clamp(1.4rem, 2.4vw, 2.1rem);
	height: clamp(1.5rem, 2.6vw, 2.3rem);
	background-image: url("assets/img/pops/note-a.png");
	animation-duration: 5.6s;
	animation-delay: 1.4s;
}

/* 端や角：小さな星ときらめき・シャボン */
.konomi-hero-pops__item--bubble-c {
	bottom: 32%;
	left: 8%;
	width: clamp(2rem, 3.4vw, 3rem);
	height: clamp(2rem, 3.4vw, 3rem);
	background-image: url("assets/img/pops/bubble-c.png");
	animation: knm-pop-bubble 6.6s ease-in-out infinite alternate;
	animation-delay: 1.2s;
}
.konomi-hero-pops__item--star-b {
	bottom: 28%;
	right: 9%;
	width: clamp(1.1rem, 1.8vw, 1.6rem);
	height: clamp(1.1rem, 1.8vw, 1.6rem);
	background-image: url("assets/img/pops/star-a.png");
	animation: knm-pop-twinkle 2.8s ease-in-out infinite;
	animation-delay: 0.9s;
}

@media (max-width: 900px) {
	.konomi-hero-pops__item--cloud-c,
	.konomi-hero-pops__item--plane-b,
	.konomi-hero-pops__item--flower-b,
	.konomi-hero-pops__item--note-a,
	.konomi-hero-pops__item--leaf-b {
		display: none;
	}
	.konomi-hero-pops__item--rainbow-b { right: 22%; top: 14%; }
	.konomi-hero-pops__item--balloons { top: 48%; }
}

@media (prefers-reduced-motion: reduce) {
	.konomi-hero-pops__item {
		animation: none !important;
	}
}

/* ============================================================
   ヒーローを明るく / キャッチコピーは沈ませない
   直下の4カード・導入ブロックに視覚的な重みを足す
   ============================================================ */

.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__background.has-background-dim,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__background.has-background-dim {
	opacity: 1 !important;
	background-color: transparent !important;
	background-image: linear-gradient(
		180deg,
		rgba(18, 12, 6, 0.04) 0%,
		rgba(18, 12, 6, 0.08) 42%,
		rgba(18, 12, 6, 0.16) 100%
	) !important;
}

.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__inner-container,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__inner-container {
	isolation: isolate;
}

.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__inner-container::before,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__inner-container::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 46%;
	z-index: 0;
	width: min(46rem, 94vw);
	height: 17.5rem;
	transform: translate(-50%, -54%);
	pointer-events: none;
	background: radial-gradient(
		ellipse at center,
		rgba(16, 10, 4, 0.34) 0%,
		rgba(16, 10, 4, 0.14) 44%,
		transparent 72%
	);
}

.home.konomi-kindergarten .konomi-cover-hero .wp-block-cover__inner-container > *,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-cover__inner-container > * {
	position: relative;
	z-index: 1;
}

.home.konomi-kindergarten .konomi-cover-hero__title,
.front-page.konomi-kindergarten .konomi-cover-hero__title {
	text-shadow:
		0 1px 1px rgba(0, 0, 0, 0.45),
		0 2px 16px rgba(0, 0, 0, 0.55),
		0 10px 28px rgba(0, 0, 0, 0.38) !important;
}

.home.konomi-kindergarten .konomi-cover-hero__lead,
.front-page.konomi-kindergarten .konomi-cover-hero__lead {
	color: #fff !important;
	background: rgba(16, 12, 6, 0.42) !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

.home.konomi-kindergarten .konomi-cover-hero .wp-block-button__link,
.front-page.konomi-kindergarten .konomi-cover-hero .wp-block-button__link {
	box-shadow: 0 8px 20px rgba(20, 14, 6, 0.22);
}

/* --- 4つの案内カード：色面・余白・ホバーで重みを出す --- */
.home.konomi-kindergarten .konomi-gateway,
.front-page.konomi-kindergarten .konomi-gateway {
	padding-top: clamp(1.1rem, 2.4vw, 1.8rem) !important;
	padding-bottom: clamp(2.4rem, 5vw, 3.6rem) !important;
	background:
		radial-gradient(circle at 12% 0%, rgba(246, 211, 90, 0.28), transparent 38%),
		radial-gradient(circle at 88% 8%, rgba(255, 143, 171, 0.18), transparent 36%),
		linear-gradient(180deg, #fff4e0 0%, #fffaf3 42%, #eef8e4 100%) !important;
}

.home.konomi-kindergarten .konomi-gateway__head,
.front-page.konomi-kindergarten .konomi-gateway__head {
	max-width: 1180px;
	margin: 0 auto 1.35rem;
	padding: 0 1.15rem;
	text-align: center;
}

.home.konomi-kindergarten .konomi-gateway__head .konomi-eyebrow,
.front-page.konomi-kindergarten .konomi-gateway__head .konomi-eyebrow {
	margin: 0 auto 0.55rem !important;
}

.home.konomi-kindergarten .konomi-gateway__title,
.front-page.konomi-kindergarten .konomi-gateway__title {
	margin: 0 0 0.45rem !important;
	font-family: var(--konomi-font-display) !important;
	font-size: clamp(1.55rem, 3.2vw, 2.15rem) !important;
	line-height: 1.35 !important;
	color: var(--konomi-green-dark) !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
}

.home.konomi-kindergarten .konomi-gateway__lead,
.front-page.konomi-kindergarten .konomi-gateway__lead {
	margin: 0 auto;
	max-width: 36rem;
	font-size: 0.98rem;
	line-height: 1.75;
	color: var(--konomi-brown);
}

.home.konomi-kindergarten .konomi-gateway .wp-block-columns,
.front-page.konomi-kindergarten .konomi-gateway .wp-block-columns {
	max-width: 1180px;
	gap: 1.05rem !important;
}

.home.konomi-kindergarten .konomi-gate-card,
.front-page.konomi-kindergarten .konomi-gate-card {
	min-height: 14rem;
	padding: 1.7rem 1.45rem 1.55rem !important;
	padding-top: 5.5rem !important;
	border: 3px solid #fff !important;
	box-shadow: 0 18px 36px rgba(45, 32, 4, 0.13) !important;
}

.home.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(1) .konomi-gate-card,
.front-page.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(1) .konomi-gate-card {
	background: linear-gradient(180deg, #fffdf3 0%, #ffd56a 100%) !important;
	transform: rotate(-1.1deg);
}

.home.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(2) .konomi-gate-card,
.front-page.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(2) .konomi-gate-card {
	background: linear-gradient(180deg, #fff8fb 0%, #ffb7cc 100%) !important;
	transform: rotate(1deg);
}

.home.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(3) .konomi-gate-card,
.front-page.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(3) .konomi-gate-card {
	background: linear-gradient(180deg, #f7fff0 0%, #bfe98a 100%) !important;
	transform: rotate(-0.7deg);
}

.home.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(4) .konomi-gate-card,
.front-page.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(4) .konomi-gate-card {
	background: linear-gradient(180deg, #f5fbff 0%, #9fd4ff 100%) !important;
	transform: rotate(1.15deg);
}

.home.konomi-kindergarten .konomi-gate-card:hover,
.front-page.konomi-kindergarten .konomi-gate-card:hover {
	transform: translateY(-8px) rotate(0deg) !important;
	box-shadow: 0 22px 40px rgba(45, 32, 4, 0.16) !important;
}

.home.konomi-kindergarten .konomi-gate-card::before,
.front-page.konomi-kindergarten .konomi-gate-card::before {
	width: 3.45rem;
	height: 3.45rem;
	top: 1.35rem;
	background-size: 1.7rem 1.7rem;
	border: 3px solid #fff;
}

.home.konomi-kindergarten .konomi-gate-card__en,
.front-page.konomi-kindergarten .konomi-gate-card__en {
	font-size: 0.78rem;
	letter-spacing: 0.16em;
}

.home.konomi-kindergarten .konomi-gate-card__title,
.front-page.konomi-kindergarten .konomi-gate-card__title {
	font-size: 1.38rem !important;
	letter-spacing: 0.04em;
}

.home.konomi-kindergarten .konomi-gate-card__title a::after,
.front-page.konomi-kindergarten .konomi-gate-card__title a::after {
	content: "→";
	display: inline-block;
	margin-left: 0.28em;
	font-size: 0.85em;
	transition: transform 0.2s ease;
}

.home.konomi-kindergarten .konomi-gate-card:hover .konomi-gate-card__title a::after,
.front-page.konomi-kindergarten .konomi-gate-card:hover .konomi-gate-card__title a::after {
	transform: translateX(4px);
}

.home.konomi-kindergarten .konomi-gate-card__text,
.front-page.konomi-kindergarten .konomi-gate-card__text {
	font-size: 0.92rem;
}

/* --- 導入ブロック（園庭）をカード状にして視線を止める --- */
.home.konomi-kindergarten .konomi-world,
.front-page.konomi-kindergarten .konomi-world {
	margin-top: -0.6rem;
	padding: clamp(2.2rem, 4.8vw, 3.6rem) 1.15rem clamp(3rem, 6.5vw, 4.8rem) !important;
}

.home.konomi-kindergarten .konomi-world__inner,
.front-page.konomi-kindergarten .konomi-world__inner {
	padding: clamp(1.1rem, 2.4vw, 1.7rem);
	background: rgba(255, 255, 255, 0.55);
	border: 3px solid #fff;
	border-radius: 36px;
	box-shadow: 0 20px 42px rgba(45, 32, 4, 0.1);
}

.home.konomi-kindergarten .konomi-world__copy,
.front-page.konomi-kindergarten .konomi-world__copy {
	background: rgba(255, 255, 255, 0.92);
	border: 3px solid #fff;
	border-radius: 28px;
	padding: 1.85rem 1.65rem 1.6rem;
	box-shadow: 0 16px 34px rgba(45, 32, 4, 0.1);
}

.home.konomi-kindergarten .konomi-world__copy h2,
.front-page.konomi-kindergarten .konomi-world__copy h2 {
	font-size: clamp(1.7rem, 3.6vw, 2.45rem) !important;
}

.home.konomi-kindergarten .konomi-world__lead,
.front-page.konomi-kindergarten .konomi-world__lead {
	font-size: 1.05rem;
	line-height: 1.95;
}

.home.konomi-kindergarten .konomi-world__art,
.front-page.konomi-kindergarten .konomi-world__art {
	border-width: 6px;
	box-shadow: 0 18px 36px rgba(45, 32, 4, 0.12);
}

.home.konomi-kindergarten .konomi-world__btn,
.front-page.konomi-kindergarten .konomi-world__btn {
	padding: 0.85rem 1.35rem;
	font-weight: 800;
}

@media (max-width: 900px) {
	.home.konomi-kindergarten .konomi-gate-card,
	.front-page.konomi-kindergarten .konomi-gate-card,
	.home.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(n) .konomi-gate-card,
	.front-page.konomi-kindergarten .konomi-gateway .wp-block-column:nth-child(n) .konomi-gate-card {
		transform: none;
		min-height: 0;
	}

	.home.konomi-kindergarten .konomi-world__copy,
	.front-page.konomi-kindergarten .konomi-world__copy {
		text-align: center;
	}
}

/* ============================================================
   SWELL のスライド写真を、いまのヒーロー内でフェード切替
   ============================================================ */
.home.konomi-kindergarten #main_visual,
.front-page.konomi-kindergarten #main_visual {
	display: none !important;
}

.home.konomi-kindergarten .konomi-cover-hero--slides > .wp-block-cover__image-background,
.front-page.konomi-kindergarten .konomi-cover-hero--slides > .wp-block-cover__image-background {
	display: none !important;
}

.home.konomi-kindergarten .konomi-hero-slides,
.front-page.konomi-kindergarten .konomi-hero-slides {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	-webkit-mask-image:
		linear-gradient(#000, #000),
		url("assets/img/scape-hero-clip.svg?v=2250");
	mask-image:
		linear-gradient(#000, #000),
		url("assets/img/scape-hero-clip.svg?v=2250");
	-webkit-mask-size:
		100% calc(100% - var(--knm-hero-band-h) + 1px),
		100% var(--knm-hero-band-h);
	mask-size:
		100% calc(100% - var(--knm-hero-band-h) + 1px),
		100% var(--knm-hero-band-h);
	-webkit-mask-position: top, bottom;
	mask-position: top, bottom;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-composite: source-over;
	mask-composite: add;
}

.home.konomi-kindergarten .konomi-hero-slides__item,
.front-page.konomi-kindergarten .konomi-hero-slides__item {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity var(--knm-slide-speed, 1.5s) ease;
	pointer-events: none;
}

.home.konomi-kindergarten .konomi-hero-slides__item.is-active,
.front-page.konomi-kindergarten .konomi-hero-slides__item.is-active {
	opacity: 1;
	z-index: 1;
}

.home.konomi-kindergarten .konomi-hero-slides img,
.front-page.konomi-kindergarten .konomi-hero-slides img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.home.konomi-kindergarten .konomi-cover-hero,
.front-page.konomi-kindergarten .konomi-cover-hero {
	padding-bottom: calc(var(--knm-hero-band-h) + 5.8rem) !important;
}

.home.konomi-kindergarten .konomi-hero-slides__nav,
.front-page.konomi-kindergarten .konomi-hero-slides__nav {
	position: absolute;
	left: 50%;
	bottom: calc(var(--knm-hero-band-h) + 3.95rem);
	z-index: 4;
	display: flex;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	list-style: none;
	transform: translateX(-50%);
}

.home.konomi-kindergarten .konomi-hero-scroll,
.front-page.konomi-kindergarten .konomi-hero-scroll {
	bottom: calc(var(--knm-hero-band-h) + 0.55rem) !important;
	z-index: 5;
	pointer-events: auto;
	text-decoration: none;
	color: #fff;
	cursor: pointer;
}

.home.konomi-kindergarten #konomi-guide,
.front-page.konomi-kindergarten #konomi-guide {
	scroll-margin-top: 6rem;
}

@media (max-width: 1000px) {
	.home.konomi-kindergarten .konomi-hero-scroll,
	.front-page.konomi-kindergarten .konomi-hero-scroll {
		display: flex;
	}

	.home.konomi-kindergarten .konomi-cover-hero,
	.front-page.konomi-kindergarten .konomi-cover-hero {
		padding-bottom: calc(var(--knm-hero-band-h) + 5rem) !important;
	}

	.home.konomi-kindergarten .konomi-hero-slides__nav,
	.front-page.konomi-kindergarten .konomi-hero-slides__nav {
		bottom: calc(var(--knm-hero-band-h) + 3.5rem);
	}
}

.home.konomi-kindergarten .konomi-hero-slides__dot,
.front-page.konomi-kindergarten .konomi-hero-slides__dot {
	display: block;
	width: 0.72rem;
	height: 0.72rem;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
	cursor: pointer;
}

.home.konomi-kindergarten .konomi-hero-slides__dot.is-active,
.front-page.konomi-kindergarten .konomi-hero-slides__dot.is-active {
	background: #fff;
}

@media (prefers-reduced-motion: reduce) {
	.home.konomi-kindergarten .konomi-hero-slides__item,
	.front-page.konomi-kindergarten .konomi-hero-slides__item {
		transition: none;
	}
}

/* ============================================================
   v2.29 — 6項目ナビ / 右端固定お問い合わせ・アクセス
   ============================================================ */
.knm-hd__btn {
	display: none !important;
}

.knm-hd__inner {
	width: min(1280px, calc(100% - 2rem));
	gap: clamp(0.5rem, 1.5vw, 1.4rem);
}

.knm-nav {
	flex: 0 0 auto;
}

.knm-nav__list {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	gap: 0.4rem;
	align-items: stretch;
}

.knm-nav__item {
	min-width: 0;
}

.knm-nav__link {
	width: 100%;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto 1fr;
	justify-items: start;
	align-items: center;
	column-gap: 0.45rem;
	padding: 0.52rem 0.9rem 0.52rem 0.52rem !important;
}

.knm-nav__icon {
	width: 2.35rem !important;
	height: 2.35rem !important;
}

.knm-nav__ja {
	font-size: 0.9rem !important;
	line-height: 1.3;
	text-align: left;
	white-space: nowrap;
}

.knm-nav__en {
	font-size: 0.64rem !important;
	letter-spacing: 0.08em !important;
	text-align: left;
}

.knm-nav__item--news .knm-nav__icon { background-image: url("assets/img/nav-news.svg"); }
.knm-nav__item--about .knm-nav__icon { background-image: url("assets/img/nav-about.svg"); }
.knm-nav__item--admission .knm-nav__icon { background-image: url("assets/img/nav-yard.svg"); }
.knm-nav__item--preschool .knm-nav__icon { background-image: url("assets/img/nav-life.svg"); }
.knm-nav__item--instagram .knm-nav__icon { background-image: url("assets/img/nav-insta.svg"); }
.knm-nav__item--qa .knm-nav__icon { background-image: url("assets/img/nav-qa.svg"); }

.knm-nav__item--news .knm-nav__link { background: #cbe8ff; box-shadow: 0 5px 0 #8dc6ee; }
.knm-nav__item--about .knm-nav__link { background: #ffe6a3; box-shadow: 0 5px 0 #e5be4f; }
.knm-nav__item--admission .knm-nav__link { background: #d6f4bb; box-shadow: 0 5px 0 #9ed470; }
.knm-nav__item--preschool .knm-nav__link { background: #ffd3e2; box-shadow: 0 5px 0 #f09ab8; }
.knm-nav__item--instagram .knm-nav__link { background: #edd7ff; box-shadow: 0 5px 0 #c79be8; }
.knm-nav__item--qa .knm-nav__link { background: #ffe0c2; box-shadow: 0 5px 0 #e5a05c; }

.knm-nav__item--news:hover .knm-nav__link { background: #b2ddff; }
.knm-nav__item--about:hover .knm-nav__link { background: #ffdb7d; }
.knm-nav__item--admission:hover .knm-nav__link { background: #c4ee9e; }
.knm-nav__item--preschool:hover .knm-nav__link { background: #ffbdd3; }
.knm-nav__item--instagram:hover .knm-nav__link { background: #e0c2ff; }
.knm-nav__item--qa:hover .knm-nav__link { background: #ffd1a3; }

.knm-nav__sub {
	min-width: 16.5rem;
}

/* 右端固定（参考：montessori-macs.com） */
.knm-float {
	position: fixed;
	right: -1px;
	bottom: 0;
	z-index: 980;
	display: flex;
	flex-direction: column;
	width: 50px;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.knm-float__item {
	pointer-events: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 50px;
	min-height: 180px;
	margin: 0 0 10px;
	padding: 20px 16px;
	border-radius: 14px 0 0 14px;
	text-decoration: none;
	transition: filter 0.16s ease;
}

.knm-float__item--mail {
	background: #b0d9ff;
	color: #222;
}

.knm-float__item--access {
	background: #ff6da8;
	color: #fff;
}

.knm-float__item:hover {
	filter: brightness(1.06);
}

.knm-float__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin: 0 0 5px;
	flex: 0 0 auto;
}

.knm-float__icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

.knm-float__text {
	writing-mode: vertical-rl;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1;
	color: inherit;
}

html.knm-at-footer .knm-float,
.knm-sp-open .knm-float {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/* ページトップはフッター到達時だけ出す（アクセスと重ねない） */
.p-fixBtnWrap {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: none !important;
	z-index: 981 !important;
	right: 12px !important;
	bottom: 24px !important;
}

html.knm-at-footer .p-fixBtnWrap {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

/* スマホメニュー（6項目＋下層） */
.knm-sp {
	position: fixed;
	inset: 0;
	z-index: 12000;
	display: none;
	padding: 5.5rem 1.25rem 2rem;
	overflow: auto;
	background: linear-gradient(180deg, #fff8e8 0%, #fff 38%, #f4fbe8 100%);
}

html.knm-sp-open .knm-sp {
	display: block;
}

html.knm-sp-open {
	overflow: hidden;
}

.knm-sp__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.knm-sp__link {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.85rem 0.35rem;
	border-bottom: 1px solid rgba(107, 74, 30, 0.1);
	color: #6b4a1e;
	font-size: 1.02rem;
	font-weight: 700;
	text-decoration: none;
}

.knm-sp__icon {
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	background: #fff center / 70% no-repeat;
	box-shadow: 0 0 0 3px #ffe6a8;
}

.knm-sp__item--news .knm-sp__icon { background-image: url("assets/img/nav-news.svg"); }
.knm-sp__item--about .knm-sp__icon { background-image: url("assets/img/nav-about.svg"); }
.knm-sp__item--admission .knm-sp__icon { background-image: url("assets/img/nav-yard.svg"); }
.knm-sp__item--preschool .knm-sp__icon { background-image: url("assets/img/nav-life.svg"); }
.knm-sp__item--instagram .knm-sp__icon { background-image: url("assets/img/nav-insta.svg"); }
.knm-sp__item--qa .knm-sp__icon { background-image: url("assets/img/nav-qa.svg"); }

.knm-sp__sub {
	margin: 0 0 0.4rem 2.5rem;
	padding: 0;
	list-style: none;
}

.knm-sp__sub a {
	display: block;
	padding: 0.45rem 0;
	color: #6b4a1e;
	font-size: 0.9rem;
	font-weight: 500;
	text-decoration: none;
}

.knm-sp__extra {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1.4rem;
}

.knm-sp__extra a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1rem;
	border-radius: 999px;
	background: #fff;
	border: 2px solid #ffe6a8;
	color: #6b4a1e;
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
}

.knm-page {
	padding: 1.5rem 0 3.5rem;
}

.knm-page__lead {
	max-width: 38rem;
	margin: 0 auto 1.5rem;
	font-size: 0.95rem;
	line-height: 1.95;
	color: #6b4a1e;
	text-align: center;
}

.konomi-kindergarten.page .l-mainContent,
.konomi-kindergarten.page-template-default .l-mainContent {
	width: 100%;
	max-width: 100%;
	background: linear-gradient(180deg, #fffaf3 0%, #fff 42%);
}

.page.konomi-kindergarten.-sidebar-on .l-content,
.page.konomi-kindergarten .l-content {
	width: 100%;
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0 !important;
}

.page.konomi-kindergarten .l-sidebar {
	display: none !important;
}

/* ========================================
   固定ページ組版（参考: たまだいら小学校 /about）
   本文 16px / 400 / 行間 1.5 / 字間 2.2px / #696969
   見出し 500。書体は筑紫A丸ゴシック Std M の近い代替として Zen Maru Gothic
   ======================================== */
html:has(#body_wrap.page:not(.home):not(.front-page)),
html:has(#body_wrap.page:not(.home):not(.front-page)) body,
html:has(#body_wrap.knm-dayori),
html:has(#body_wrap.knm-dayori) body {
	--color_bg: #fff;
	background-color: #fff;
}

.page.konomi-kindergarten:not(.home):not(.front-page) {
	--knm-page-font: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;
	--knm-page-ink: #696969;
	--color_bg: #fff;
	--article_size: 920px;
	background-color: #fff;
}

.page.konomi-kindergarten:not(.home):not(.front-page) #body_wrap,
.page.konomi-kindergarten:not(.home):not(.front-page) .l-content,
.page.konomi-kindergarten:not(.home):not(.front-page) .l-mainContent,
.page.konomi-kindergarten:not(.home):not(.front-page) .l-mainContent__inner {
	background-color: #fff;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .l-mainContent,
.page.konomi-kindergarten:not(.home):not(.front-page) .l-mainContent__inner,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content,
.page.konomi-kindergarten:not(.home):not(.front-page) .c-pageTitle,
.page.konomi-kindergarten:not(.home):not(.front-page) .c-pageTitle__ttl,
.page.konomi-kindergarten:not(.home):not(.front-page) .p-articleHead,
.page.konomi-kindergarten:not(.home):not(.front-page) .p-breadcrumb,
.page.konomi-kindergarten:not(.home):not(.front-page) .p-breadcrumb a,
.page.konomi-kindergarten:not(.home):not(.front-page) .knm-page,
.page.konomi-kindergarten:not(.home):not(.front-page) .knm-page__lead {
	font-family: var(--knm-page-font);
	color: var(--knm-page-ink);
	font-feature-settings: "palt" 1;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .l-mainContent__inner {
	padding-top: 2.5rem;
	padding-bottom: 1.5rem;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .p-breadcrumb,
.page.konomi-kindergarten:not(.home):not(.front-page) .c-pageTitle,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content {
	max-width: 57.5rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1375em;
	color: var(--knm-page-ink);
}

.page.konomi-kindergarten:not(.home):not(.front-page) .c-pageTitle,
.page.konomi-kindergarten:not(.home):not(.front-page) .c-pageTitle[data-style] {
	border: none !important;
	border-bottom: none !important;
	padding-bottom: 0.15em;
	margin-bottom: 1.75em;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .c-pageTitle__inner {
	border: none !important;
	border-bottom: none !important;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .c-pageTitle,
.page.konomi-kindergarten:not(.home):not(.front-page) .c-pageTitle__ttl,
.page.konomi-kindergarten:not(.home):not(.front-page) .p-articleHead h1,
.page.konomi-kindergarten:not(.home):not(.front-page) h1.c-pageTitle__ttl {
	font-family: var(--knm-page-font) !important;
	font-size: 28px !important;
	font-weight: 500 !important;
	line-height: 1.9 !important;
	letter-spacing: 0.1em !important;
	color: var(--knm-page-ink) !important;
	text-align: left;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .p-breadcrumb {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.5;
	color: #8a8a8a;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p,
.page.konomi-kindergarten:not(.home):not(.front-page) .knm-page__lead {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1375em;
	color: var(--knm-page-ink);
	margin: 0 0 1.5em;
	text-align: left;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .knm-page {
	padding: 0 0 0.4rem;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p.knm-page__lead,
.page.konomi-kindergarten:not(.home):not(.front-page) .knm-page__lead {
	max-width: none;
	margin: 0 0 2em;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.165em;
	color: var(--knm-page-ink);
	text-align: left;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h2,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h2.wp-block-heading {
	font-family: var(--knm-page-font) !important;
	font-size: 28px !important;
	font-weight: 500 !important;
	line-height: 1.9 !important;
	letter-spacing: 0.1em !important;
	color: var(--knm-page-ink) !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	padding: 1.75em 0 0.6em !important;
	margin: 0 0 0.4em !important;
	text-align: left !important;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h2::before,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h2::after,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h2.wp-block-heading::before,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h2.wp-block-heading::after {
	content: none !important;
	display: none !important;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.wp-block-heading {
	font-family: var(--knm-page-font) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 1.9 !important;
	letter-spacing: 0.165em !important;
	color: var(--knm-page-ink) !important;
	background: none !important;
	border: none !important;
	padding: 1.4em 0 0.4em !important;
	margin: 0 0 0.3em !important;
	text-align: left !important;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content li {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1375em;
	color: var(--knm-page-ink);
}

html:has(.knm-admission) {
	scroll-padding-top: 16rem;
}

.knm-admission .knm-sec,
.knm-admission .knm-form-block,
.knm-admission .knm-toc {
	scroll-margin-top: 16rem;
}

.knm-admission .knm-sec {
	padding-bottom: 0.5rem;
}

.page-admission.konomi-kindergarten .l-mainContent__inner {
	padding-right: 4.5rem;
}

html:has(.knm-admission) .p-breadcrumb,
html:has(.knm-admission) .c-pageTitle,
html:has(.knm-admission) .post_content,
.page-admission.konomi-kindergarten .p-breadcrumb,
.page-admission.konomi-kindergarten .c-pageTitle,
.page-admission.konomi-kindergarten .post_content {
	max-width: 57.5rem;
}

/* 入園案内：横全幅タイトル写真＋その下に小さなパンくず */
.knm-pagehero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	height: clamp(200px, 30vw, 360px);
	overflow: hidden;
	background: #f3eee6;
}

.knm-pagehero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	filter: saturate(0.92) brightness(1.02);
}

/* ヘッダー下端の白い曲線に写真上部を沿わせる。
   景観帯と同じ画像を上に重ね、不透明な波の部分だけ写真を抜く。 */
html:has(.knm-pagehero) .knm-pagehero {
	margin-top: calc(-1 * var(--knm-band-drop));
}

html:has(.knm-pagehero) .knm-hd__main {
	background: linear-gradient(
		to bottom,
		#fff 0,
		#fff calc(100% - var(--knm-band-drop)),
		transparent 100%
	) !important;
}

html:has(.knm-pagehero) .knm-pagehero__img {
	-webkit-mask-image:
		linear-gradient(#000, #000),
		url("assets/img/scape-header.png?v=2200");
	mask-image:
		linear-gradient(#000, #000),
		url("assets/img/scape-header.png?v=2200");
	-webkit-mask-size:
		100% 100%,
		100% var(--knm-band-h);
	mask-size:
		100% 100%,
		100% var(--knm-band-h);
	-webkit-mask-position:
		center,
		center calc(-1 * (var(--knm-band-h) - var(--knm-band-drop)));
	mask-position:
		center,
		center calc(-1 * (var(--knm-band-h) - var(--knm-band-drop)));
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-composite: destination-out;
	mask-composite: exclude;
}

.knm-pagehero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, rgba(70, 52, 32, 0.26) 0%, rgba(255, 248, 240, 0.06) 72%);
	pointer-events: none;
}

.knm-pagehero__ttl {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0 1rem;
	color: #fff;
	text-align: center;
	text-shadow: 0 1px 8px rgba(45, 32, 4, 0.35);
}

.knm-pagehero__en {
	font-family: var(--konomi-font-display);
	font-size: clamp(0.85rem, 1.6vw, 1.05rem);
	font-weight: 500;
	letter-spacing: 0.42em;
	line-height: 1.4;
	text-indent: 0.42em;
	opacity: 0.92;
}

.knm-pagehero__ja {
	display: block;
	margin-top: 0.35rem;
	font-family: var(--knm-page-font, "Zen Maru Gothic", sans-serif);
	font-size: clamp(1.6rem, 3.2vw, 2.2rem);
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1.5;
	text-indent: 0.22em;
}

html:has(.knm-pagehero) .l-mainContent .c-pageTitle,
html:has(.knm-pagehero) .p-articleThumb,
html:has(.knm-pagehero) .p-articleHead {
	display: none !important;
}

html:has(.knm-pagehero) #body_wrap .l-mainContent__inner {
	padding-top: 0.15rem !important;
}

/* パンくず直下の空き（SWELLの .l-content 4em）を、タイトル写真つきページで揃える */
html:has(.knm-pagehero) #content.l-content {
	padding-top: 0.45rem !important;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-page > h2:first-child,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-page > .knm-sec:first-child > h2:first-child,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-page > .knm-page__lead + .knm-sec > h2:first-child,
.knm-from-editor.knm-page > .wp-block-group__inner-container > .knm-sec:first-child > .wp-block-group__inner-container > h2:first-child {
	padding-top: 0.35em !important;
	margin-bottom: 0.55em !important;
}

.knm-from-editor.knm-page > .wp-block-group__inner-container > #policy > .wp-block-group__inner-container > h2:first-child {
	padding-top: 0.6em !important;
}

html:has(.knm-pagehero) .knm-page > .knm-page__lead:first-child,
html:has(.knm-pagehero) .knm-page > .wp-block-group__inner-container > .knm-page__lead:first-child,
html:has(.knm-pagehero) .knm-page > .knm-dayori-single__meta:first-child {
	padding-top: 0.35em;
}

html:has(.knm-pagehero) .p-breadcrumb,
html:has(.knm-pagehero) .p-breadcrumb.-bg-on {
	width: 100%;
	max-width: 57.5rem;
	margin: 0.55rem auto 0;
	padding: 0.15rem 1rem 0;
	box-sizing: border-box;
	text-align: left;
	background: none !important;
	box-shadow: none !important;
	border: none !important;
}

html:has(.knm-pagehero) .p-breadcrumb__list,
html:has(.knm-pagehero) .p-breadcrumb .l-container {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	justify-content: flex-start;
	text-align: left;
	background: none !important;
}

html:has(.knm-pagehero) .p-breadcrumb,
html:has(.knm-pagehero) .p-breadcrumb a,
html:has(.knm-pagehero) .p-breadcrumb .p-breadcrumb__text {
	font-family: var(--knm-page-font, "Zen Maru Gothic", sans-serif);
	font-size: 11px !important;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.6;
	color: #9a9a9a;
}

html:has(.knm-pagehero) .p-breadcrumb a:hover {
	color: #6b6b6b;
}

.knm-toc {
	background: #fbf8f2;
	border: 1px solid rgba(105, 105, 105, 0.12);
	border-radius: 18px;
	padding: 1.35rem 1.6rem 1.15rem;
	margin: 0 0 2.75rem;
}

.knm-toc__label {
	margin: 0 0 0.65em;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1.8;
	color: #8a8a8a;
}

.knm-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: knm-toc;
}

.knm-toc__list li {
	counter-increment: knm-toc;
	margin: 0;
	border-bottom: 1px solid rgba(105, 105, 105, 0.08);
}

.knm-toc__list li:last-child {
	border-bottom: none;
}

.knm-toc__list a {
	display: grid;
	grid-template-columns: 2em 1fr;
	align-items: baseline;
	gap: 0.55em;
	padding: 0.55em 0;
	color: var(--knm-page-ink, #696969);
	text-decoration: none;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.8;
}

.knm-toc__list a::before {
	content: counter(knm-toc, decimal-leading-zero);
	flex: 0 0 auto;
	font-size: 12px;
	letter-spacing: 0.08em;
	color: #8a8a8a;
}

.knm-toc__list a:hover {
	color: #5a7a45;
}

.knm-tocback {
	margin: 1.1em 0 0;
	font-size: 13px;
	letter-spacing: 0.12em;
}

.knm-tocback a {
	color: #8a8a8a;
	text-decoration: none;
}

.knm-tocback a:hover {
	color: #5a7a45;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-sec:last-child .knm-tocback,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p.knm-tocback:last-child {
	margin-bottom: 0;
}

.knm-sheet-wrap {
	overflow-x: auto;
	margin: 0 0 1.5em;
	-webkit-overflow-scrolling: touch;
}

.knm-sheet {
	width: 100%;
	min-width: 36rem;
	border-collapse: collapse;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.8;
	color: var(--knm-page-ink, #696969);
}

.knm-sheet--pair {
	min-width: 0;
}

.knm-photos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	margin: 1.75rem 0 0;
}

.knm-photos--pair {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1.35rem;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-photos + p {
	margin-top: 1.6rem;
}

.knm-photos__item {
	margin: 0;
	border-radius: 18px;
	overflow: hidden;
	background: #f7f4ee;
	box-shadow: 0 8px 20px rgba(45, 32, 4, 0.07);
}

.knm-photos__item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	filter: saturate(0.92) brightness(1.03);
}

.knm-dotline {
	display: block;
	height: 5px;
	margin: 0.2rem 0 0.15rem;
	border: 0;
	background-color: transparent;
	background-image: radial-gradient(circle, #d4c9b8 1.15px, transparent 1.2px);
	background-size: 9px 5px;
	background-repeat: repeat-x;
	background-position: 0 50%;
}

.knm-english-pe #english .knm-photos__note {
	margin-bottom: 1.15rem;
}

.knm-english-pe #pe > h2:first-child,
.knm-english-pe #pe > .wp-block-group__inner-container > h2:first-child {
	padding-top: 1.15em !important;
}

.knm-extra > .knm-sec:first-of-type > h2:first-child,
.knm-extra #sports-club > h2:first-child,
.knm-extra #sports-club > .wp-block-group__inner-container > h2:first-child {
	padding-top: 1.15em !important;
}

.knm-extra .knm-sheet-wrap {
	margin-bottom: 1.15em;
}

.knm-extra #talent .knm-photos__note {
	margin-bottom: 1.15rem;
}

.knm-photos__note {
	margin: 0.55rem 0 2rem;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.7;
	color: #9a9084;
	text-align: right;
}

@media (max-width: 640px) {
	.knm-photos {
		grid-template-columns: 1fr;
		gap: 0.7rem;
	}

	.knm-photos--pair {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.knm-faq {
	display: grid;
	gap: 0.85rem;
	margin: 0.4rem 0 0.2rem;
}

.knm-faq__item {
	margin: 0;
	padding: 1.15rem 1.3rem 1.2rem;
	border-radius: 18px;
	border: 1px solid rgba(105, 105, 105, 0.1);
	background: #fbf8f2;
}

.knm-faq__qwrap,
.knm-faq__item h3,
.knm-faq__awrap {
	display: grid;
	grid-template-columns: 1.85em 1fr;
	gap: 0.75em;
	align-items: start;
}

.knm-faq__qwrap {
	margin: 0 0 0.7em;
	font-family: var(--knm-page-font, inherit);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.8;
	color: #5a5a5a;
	background: none;
	border: none;
	padding: 0;
	text-align: left;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.knm-faq__qwrap,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-faq__item h3,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-faq__item h3.wp-block-heading {
	font-size: 17px !important;
	font-weight: 500 !important;
	line-height: 1.8 !important;
	letter-spacing: 0.08em !important;
	color: #5a5a5a !important;
	padding: 0 !important;
	margin: 0 0 0.7em !important;
	background: none !important;
}

.knm-faq__awrap {
	padding-top: 0.75em;
	border-top: 1px dashed rgba(105, 105, 105, 0.16);
}

.knm-faq__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.85em;
	height: 1.85em;
	margin-top: 0.12em;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.knm-faq__mark--q {
	background: #e8f3dc;
	color: #4a7a32;
}

.knm-faq__mark--a {
	background: #fff4e4;
	color: #c96a1e;
}

.knm-faq__text {
	min-width: 0;
}

.knm-faq__body {
	min-width: 0;
}

.knm-faq__body p {
	margin: 0 0 0.55em;
}

.knm-faq__body p:last-child {
	margin-bottom: 0;
}

.knm-faq__body a {
	color: #5a7a45;
}

.knm-insta__account {
	margin: 0 0 1.6rem;
	letter-spacing: 0.08em;
}

.knm-insta__account a {
	color: #5a7a45;
	text-decoration: none;
}

.knm-insta__account a:hover {
	text-decoration: underline;
}

.knm-insta__cut {
	margin: 0.2rem 0 1.35rem;
}

.knm-insta__cut img {
	display: block;
	width: 100%;
	height: auto;
	cursor: zoom-in;
}

.knm-insta #instagram-feed p:not(.knm-actions) {
	padding-top: 0.75rem;
}

#instagram-feed {
	position: relative;
}

.knm-insta-slider {
	margin: 0.35rem 0 0.85rem;
	padding: 1.05rem 0.7rem 0.85rem;
	border-radius: 20px;
	border: 1px solid rgba(105, 105, 105, 0.1);
	background: #fbf8f2;
}

.knm-insta .knm-insta-slider {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0 1.4rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-sizing: border-box;
}

.knm-insta .knm-insta-slider::before,
.knm-insta .knm-insta-slider::after {
	content: "";
	display: block;
	height: 8px;
	margin: 0.95rem 0.35rem;
	background-image: radial-gradient(circle, #e7b7c6 1.7px, transparent 1.85px);
	background-size: 14px 8px;
	background-repeat: repeat-x;
	background-position: center left;
}

.knm-insta-slider__frame {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.knm-insta-slider__clip {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	outline: none;
	border-radius: 16px;
}

.knm-insta-slider__clip:focus-visible {
	outline: 2px solid rgba(122, 170, 90, 0.45);
	outline-offset: 3px;
}

.knm-insta-slider__track {
	display: flex;
	align-items: stretch;
	gap: 0.7rem;
	will-change: transform;
}

.knm-insta-slider__slide {
	position: relative;
	display: block;
	margin: 0;
	border-radius: 16px;
	overflow: hidden;
	background: #efe8db;
	box-shadow: 0 8px 18px rgba(45, 32, 4, 0.07);
	text-decoration: none;
}

.knm-insta-slider__photo {
	display: block;
	overflow: hidden;
	border-radius: inherit;
	background: #efe8db;
}

.knm-insta-slider__slide img,
.knm-insta-slider__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	filter: saturate(0.92) brightness(1.03);
}

.knm-insta .knm-insta-slider__frame {
	position: relative;
}

.knm-insta .knm-insta-slider__track {
	gap: 1.15rem;
}

.knm-insta .knm-insta-slider__slide {
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.knm-insta .knm-insta-slider__photo {
	border-radius: 0;
	background: #f3f0ea;
}

.knm-insta .knm-insta-slider__photo img {
	filter: none;
}

.knm-insta-slider__cap {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	margin: 0.55rem 0.05rem 0;
	color: #696969;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: 0.04em;
}

.knm-insta .knm-insta-slider__cap {
	min-height: 4.9em;
}

.knm-insta .knm-insta-slider__arrow {
	position: absolute;
	top: 28%;
}

.knm-insta .knm-insta-slider__arrow--prev {
	left: 0.15rem;
}

.knm-insta .knm-insta-slider__arrow--next {
	right: 0.15rem;
}

.knm-insta .knm-insta-slider__dots {
	display: none;
}

.knm-insta-slider__arrow {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.55rem;
	height: 2.55rem;
	padding: 0;
	border: 1px solid rgba(122, 170, 90, 0.28);
	border-radius: 50%;
	background: #fff;
	color: #7aaa5a;
	box-shadow: 0 4px 12px rgba(45, 32, 4, 0.08);
	cursor: pointer;
	z-index: 2;
}

.knm-insta-slider__arrow:hover,
.knm-insta-slider__arrow:focus-visible {
	background: #7aaa5a;
	border-color: #7aaa5a;
	color: #fff;
}

.knm-insta-slider.is-single .knm-insta-slider__arrow {
	visibility: hidden;
}

.knm-insta-slider__arrow svg {
	width: 1.05rem;
	height: 1.05rem;
	display: block;
}

.knm-insta-slider__dots {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.42rem;
	margin: 0.85rem 0 0;
	padding: 0;
	list-style: none;
}

.knm-insta-slider__dot {
	display: block;
	width: 0.52rem;
	height: 0.52rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #d7d0c3;
	cursor: pointer;
	transition: width 0.28s ease, background 0.28s ease;
}

.knm-insta-slider__dot.is-active {
	width: 1.15rem;
	background: #7aaa5a;
}

.knm-insta__feed--source {
	position: absolute;
	left: 0;
	top: 0;
	width: 240px;
	height: 240px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

.knm-insta__pending-note {
	margin: 0 0 1.15rem;
	font-size: 15px;
	letter-spacing: 0.06em;
	line-height: 1.8;
}

@media (max-width: 640px) {
	.knm-insta-slider {
		padding: 0.85rem 0.45rem 0.7rem;
	}

	.knm-insta-slider__arrow {
		width: 2.1rem;
		height: 2.1rem;
	}

	.knm-insta-slider__track {
		gap: 0.5rem;
	}
}

/* このみだより：固定ページと同じ白い組版＋お知らせカード */
#body_wrap.knm-dayori {
	--knm-page-font: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;
	--knm-page-ink: #696969;
	--color_bg: #fff;
	--article_size: 920px;
	background-color: #fff;
}

#body_wrap.knm-dayori,
#body_wrap.knm-dayori .l-content,
#body_wrap.knm-dayori .l-mainContent,
#body_wrap.knm-dayori .l-mainContent__inner,
#body_wrap.knm-dayori .post_content {
	background-color: #fff;
	font-family: var(--knm-page-font);
	color: var(--knm-page-ink);
	font-feature-settings: "palt" 1;
}

#body_wrap.knm-dayori .l-sidebar,
#body_wrap.knm-dayori .widget_search,
#body_wrap.knm-dayori .p-searchForm {
	display: none !important;
}

#body_wrap.knm-dayori .l-content {
	width: 100%;
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0 !important;
}

#body_wrap.knm-dayori .l-mainContent,
#body_wrap.knm-dayori .l-mainContent__inner,
#body_wrap.knm-dayori .post_content,
#body_wrap.knm-dayori .p-breadcrumb {
	max-width: 57.5rem;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

#body_wrap.knm-dayori .l-mainContent__inner {
	padding-top: 0.15rem;
	padding-bottom: 1.5rem;
}

#body_wrap.knm-dayori .post_content {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1375em;
}

#body_wrap.knm-dayori .post_content p {
	margin: 0 0 1.5em;
}

#body_wrap.knm-dayori .knm-page {
	padding: 0 0 2rem;
}

#body_wrap.knm-dayori .knm-page__lead {
	max-width: none;
	margin: 0 0 2em;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.165em;
	color: var(--knm-page-ink);
	text-align: left;
}

#body_wrap.knm-dayori .c-pagination:not(:has(a)) {
	display: none;
}

#body_wrap.knm-dayori .c-pagination {
	display: flex;
	justify-content: center;
	gap: 0.45rem;
	margin: 2rem 0 0;
}

#body_wrap.knm-dayori .c-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.2rem;
	height: 2.2rem;
	padding: 0 0.45rem;
	border-radius: 999px;
	border: 1px solid rgba(105, 105, 105, 0.14);
	background: #fff;
	color: #696969;
	font-family: var(--knm-page-font);
	font-size: 14px;
	letter-spacing: 0.06em;
	text-decoration: none;
}

#body_wrap.knm-dayori .c-pagination .page-numbers.current {
	background: #7aaa5a;
	border-color: #7aaa5a;
	color: #fff;
}

.knm-insta-slider--band {
	margin: 0 0 0.85rem;
	padding: 0.85rem 0.55rem 0.7rem;
}

.knm-dayori-insta .knm-insta-slider__slide,
.knm-dayori-insta .knm-insta-slider__photo,
.knm-dayori-insta .knm-insta-slider__cap {
	background: #fbf8f2;
	box-shadow: none;
}

.knm-dayori-insta,
.knm-dayori-list {
	position: relative;
	margin: 0 0 2.4rem;
}

.knm-dayori-insta__kicker,
.knm-dayori-list__kicker {
	margin: 0 0 0.75rem;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1.8;
	color: #8a8a8a;
}

.knm-dayori-insta__actions {
	margin-top: 0.2rem;
}

.knm-dayori-cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.9rem;
}

.knm-dayori-card {
	margin: 0;
	border-radius: 18px;
	border: 1px solid rgba(105, 105, 105, 0.1);
	background: #fbf8f2;
	overflow: hidden;
}

.knm-dayori-card__link {
	display: grid;
	grid-template-columns: 1fr;
	text-decoration: none;
	color: inherit;
}

.knm-dayori-card.has-thumb .knm-dayori-card__link {
	grid-template-columns: 10.5rem 1fr;
}

.knm-dayori-card__thumb {
	display: block;
	background: #efe8db;
	min-height: 100%;
}

.knm-dayori-card__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 1;
	filter: saturate(0.92) brightness(1.03);
}

.knm-dayori-card__body {
	display: block;
	padding: 1.05rem 1.2rem 1.1rem;
}

.knm-dayori-card__meta {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin-bottom: 0.4rem;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: #8a8a8a;
}

.knm-dayori-card__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.08em 0.55em 0.12em;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(122, 170, 90, 0.28);
	color: #5a7a45;
	font-size: 11px;
	letter-spacing: 0.08em;
}

.knm-dayori-card__title {
	display: block;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.08em;
	color: #696969;
}

.knm-dayori-card__excerpt {
	display: block;
	margin-top: 0.45rem;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.08em;
	color: #7a7a7a;
}

.knm-dayori-card:hover {
	border-color: rgba(122, 170, 90, 0.28);
	box-shadow: 0 8px 18px rgba(45, 32, 4, 0.06);
}

.knm-dayori-card:hover .knm-dayori-card__title {
	color: #5a7a45;
}

@media (max-width: 640px) {
	.knm-dayori-card.has-thumb .knm-dayori-card__link {
		grid-template-columns: 1fr;
	}

	.knm-dayori-card__thumb img {
		aspect-ratio: 16 / 9;
	}
}

.knm-pagehero--entry .knm-pagehero__ja {
	max-width: 18.5em;
	font-size: clamp(1.2rem, 2.5vw, 1.85rem);
	letter-spacing: 0.12em;
	text-indent: 0.12em;
	line-height: 1.55;
}

.knm-dayori-single__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin: 0 0 1.35rem;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: #8a8a8a;
}

.knm-dayori-single__body {
	margin: 0 0 2rem;
}

.knm-dayori-single__body img {
	max-width: 100%;
	height: auto;
	border-radius: 14px;
}

.knm-dayori-single__body a {
	color: #5a7a45;
}

.knm-dayori-single .post_content h2,
.knm-dayori-single .post_content h2.wp-block-heading {
	font-family: var(--knm-page-font) !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 1.9 !important;
	letter-spacing: 0.1em !important;
	color: var(--knm-page-ink) !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	padding: 1.5em 0 0.5em !important;
	margin: 0 0 0.4em !important;
}

.knm-dayori-single .post_content h2::before,
.knm-dayori-single .post_content h2::after {
	content: none !important;
	display: none !important;
}

.knm-dayori-single__ig {
	margin: 0 0 2rem;
	padding: 1.2rem 1.3rem 1.1rem;
	border-radius: 18px;
	border: 1px solid rgba(105, 105, 105, 0.1);
	background: #fbf8f2;
}

.knm-dayori-single__ig p {
	margin: 0 0 1rem;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.knm-dayori-single__ig .knm-actions {
	margin: 0;
	justify-content: flex-start;
}

.knm-dayori-single__back {
	margin-top: 0.4rem;
}

.knm-sheet th,
.knm-sheet td {
	border-bottom: 1px solid rgba(105, 105, 105, 0.12);
	padding: 0.85em 0.95em;
	text-align: left;
	vertical-align: top;
}

.knm-sheet th {
	width: 9.5em;
	font-weight: 500;
	background: #f7f4ee;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.knm-sheet thead th {
	width: auto;
	background: #f7f4ee;
	color: var(--knm-page-ink, #696969);
}

.knm-sheet__num {
	white-space: nowrap;
	font-weight: 500;
}

.knm-sheet__note {
	display: block;
	margin-top: 0.35em;
	font-size: 13px;
	letter-spacing: 0.08em;
	color: #8a8a8a;
}

.knm-merits {
	list-style: none;
	margin: 0 0 1.5em;
	padding: 0;
}

.knm-merits li {
	margin: 0 0 0.7em;
	padding: 0;
}

.knm-steps {
	list-style: none;
	margin: 0 0 1.6em;
	padding: 0;
	counter-reset: knm-step;
}

.knm-steps li {
	counter-increment: knm-step;
	position: relative;
	margin: 0 0 1.1em;
	padding: 1em 1.1em 1em 3.4em;
	background: #fbf8f2;
	border-radius: 14px;
}

.knm-steps li::before {
	content: counter(knm-step);
	position: absolute;
	left: 1rem;
	top: 1.05em;
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	background: #e7f0dc;
	color: #5a7a45;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.6em;
	text-align: center;
}

.knm-steps strong {
	display: block;
	margin: 0 0 0.35em;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.knm-steps p {
	margin: 0;
}

.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-steps p {
	margin: 0;
}

.knm-admission .knm-sec:first-of-type h2,
.knm-contact .knm-sec:first-of-type h2 {
	padding-top: 0.2em !important;
}

.knm-contact .knm-form-block {
	margin-top: 0.35em;
}

.knm-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.7rem 0.8rem;
	margin: 0 0 0.4em;
}

.knm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45em;
	padding: 0.7em 1.45em;
	border-radius: 999px;
	border: 1px solid #c5d9b4;
	background: #f7fbf3;
	color: #5a7a45;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.6;
	text-decoration: none;
}

.knm-btn__ico {
	display: inline-block;
	width: 1.45em;
	height: 1.45em;
	flex: 0 0 auto;
	border-radius: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 58%;
	transition: transform 0.2s ease;
}

.knm-btn:hover .knm-btn__ico {
	transform: rotate(-10deg) scale(1.08);
}

.knm-btn__ico--tel {
	background-color: #f4ead2;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%236b8f4e' d='M6.7 10.7c1.4 2.7 3.8 5 6.6 6.4l2.1-2.1c.3-.3.8-.4 1.2-.3 1.2.4 2.4.6 3.7.6.5 0 .9.4.9.9V20c0 .5-.4.9-.9.9C10.7 20.9 3.1 13.3 3.1 4c0-.5.4-.9.9-.9H7.5c.5 0 .9.4.9.9 0 1.3.2 2.5.6 3.7.1.4 0 .8-.3 1.1l-2 2z'/%3E%3C/svg%3E");
}

.knm-btn__ico--form {
	background-color: #fff;
	background-size: 62%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='3.2' width='14' height='17.6' rx='3' fill='%23fff' stroke='%235a7a45' stroke-width='1.7'/%3E%3Crect x='8.2' y='2' width='7.6' height='3.2' rx='1.5' fill='%23a8c98a'/%3E%3Cpath d='M8.4 10.2h7.2M8.4 13.4h7.2M8.4 16.6h4.6' fill='none' stroke='%235a7a45' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

.knm-btn:has(.knm-btn__ico) {
	padding-left: 1.1em;
	padding-right: 1.4em;
}

.knm-btn:hover {
	background: #eef6e6;
	color: #4a6a38;
}

.knm-btn--ghost {
	background: #fff;
	border-color: rgba(105, 105, 105, 0.22);
	color: #696969;
}

.knm-btn--ghost:hover {
	background: #fbf8f2;
	color: #696969;
}

.knm-btn--solid {
	background: #7aaa5a;
	border-color: #7aaa5a;
	color: #fff;
}

.knm-btn--solid:hover {
	background: #68964c;
	border-color: #68964c;
	color: #fff;
}

.knm-form-block {
	position: relative;
	margin: 1.6em 0 0.4em;
	padding: 1.55rem 1.65rem 1.4rem;
	background: #f6faf3;
	border: 1px solid #dce8d0;
	border-radius: 22px;
}

.knm-form-block::before {
	content: "";
	position: absolute;
	top: 0;
	left: 1.5rem;
	right: 1.5rem;
	height: 3px;
	border-radius: 0 0 4px 4px;
	background: #c5d9b4;
}

.knm-form-block--paper {
	background: #fbf8f2;
	border-color: #eadfce;
}

.knm-form-block--paper::before {
	background: #e4d4b8;
}

.knm-form-block h3 {
	margin: 0.15em 0 0.7em;
	padding: 0 0 0.7em;
	border-bottom: 1px dashed #c5d9b4;
	color: #5a7a45;
	font-size: 1.05em;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.knm-form-block h3::before,
.knm-form-block h3::after {
	content: none;
	display: none;
}

.knm-form-block__lead,
.knm-form-block__note {
	margin: 0 0 1.2em;
	font-size: 15px;
	letter-spacing: 0.06em;
	line-height: 1.9;
	color: #696969;
}

.knm-form__row {
	display: grid;
	grid-template-columns: 11.5em minmax(0, 1fr);
	gap: 0.55em 1.1em;
	align-items: start;
	margin: 0 0 0.15em;
	padding: 0.85em 0;
	border-bottom: 1px solid rgba(105, 105, 105, 0.1);
}

.knm-form__label {
	padding-top: 0.45em;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.7;
	color: #5a5a5a;
}

.knm-form__req {
	display: inline-block;
	margin-left: 0.4em;
	padding: 0.05em 0.4em;
	border-radius: 3px;
	background: #c45c5c;
	color: #fff;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.12em;
	vertical-align: middle;
}

.knm-form__field input[type="text"],
.knm-form__field input[type="email"],
.knm-form__field input[type="tel"],
.knm-form__field select,
.knm-form__field textarea {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0.65em 0.8em;
	border: 1px solid rgba(105, 105, 105, 0.22);
	border-radius: 6px;
	background: #fff;
	color: #696969;
	font-size: 15px;
	letter-spacing: 0.06em;
	line-height: 1.7;
	box-shadow: none;
}

.knm-form__field textarea {
	min-height: 5.5em;
	resize: vertical;
}

.knm-form__field .wpcf7-list-item {
	margin: 0 1.1em 0.35em 0;
}

.knm-admission .knm-form__submit,
.knm-form .knm-form__submit {
	display: flex;
	justify-content: flex-end;
	margin: 1.4em 0 0;
	text-align: right;
}

.knm-form__submit input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 11em;
	padding: 0.7em 1.8em;
	border: 1px solid #7aaa5a;
	border-radius: 999px;
	background: #7aaa5a;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.18em;
	cursor: pointer;
}

.knm-form__submit input[type="submit"]:hover {
	background: #68964c;
	border-color: #68964c;
}

.knm-form__hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.knm-cal {
	margin: 0.4em 0 1em;
	overflow: hidden;
	border: 1px solid rgba(105, 105, 105, 0.12);
	border-radius: 16px;
	background: #fff;
}

.knm-cal iframe {
	display: block;
	width: 100%;
	height: 640px;
	border: 0;
}

.knm-map {
	margin: 1.35rem 0 1.7rem;
	overflow: hidden;
	border: 1px solid rgba(105, 105, 105, 0.12);
	border-radius: 18px;
	background: #fff;
}

.knm-map iframe {
	display: block;
	width: 100%;
	height: 22.5rem;
	border: 0;
}

.knm-map figcaption {
	margin: 0;
	padding: 0.5rem 0.95rem 0.65rem;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.7;
	color: #9a9084;
	text-align: right;
	background: #fff;
}

.knm-map figcaption a {
	color: #7a9080;
	text-decoration: none;
	border-bottom: 1px dotted rgba(122, 144, 128, 0.45);
}

.knm-map figcaption a:hover {
	color: #5a7a45;
	border-bottom-color: #5a7a45;
}

.knm-access .knm-sheet-wrap {
	margin-bottom: 1.25em;
}

@media (max-width: 720px) {
	.knm-form-block {
		padding: 1.2rem 1.05rem 1.1rem;
	}

	.knm-form-block::before {
		left: 1.05rem;
		right: 1.05rem;
	}

	.knm-form__row {
		grid-template-columns: 1fr;
		gap: 0.35em;
	}

	.knm-form__label {
		padding-top: 0;
	}

	.knm-cal iframe {
		height: 520px;
	}

	.knm-map iframe {
		height: 16.5rem;
	}
}

@media (max-width: 640px) {
	.knm-sheet {
		min-width: 32rem;
	}

	.knm-sheet--pair {
		min-width: 0;
	}

	.knm-sheet--pair tr {
		display: block;
		margin: 0 0 0.9em;
		border: 1px solid rgba(105, 105, 105, 0.12);
		border-radius: 12px;
		overflow: hidden;
	}

	.knm-sheet--pair th,
	.knm-sheet--pair td {
		display: block;
		width: 100%;
		border-bottom: none;
	}

	.knm-sheet--pair th {
		padding-bottom: 0.35em;
	}

	.knm-btn {
		width: 100%;
	}
}

.konomi-mobile-cta {
	display: none !important;
}

@media (max-width: 1180px) {
	.knm-nav__en {
		display: none !important;
	}

	.knm-nav__ja {
		grid-row: 1 / 3;
		align-self: center;
	}
}

@media (max-width: 1200px) {
	.knm-nav {
		display: none !important;
	}

	.knm-burger {
		display: flex !important;
	}

	.knm-float {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		gap: 4px;
		pointer-events: none;
	}

	.knm-float__item {
		flex: 1 1 50%;
		flex-direction: row;
		width: auto;
		min-height: 0;
		margin: 0;
		padding: 1.1rem 0.75rem calc(1.05rem + env(safe-area-inset-bottom, 0px));
		gap: 0.45rem;
		border-radius: 22px 22px 0 0;
	}

	.knm-float__icon {
		margin: 0;
		width: 1.25rem;
		height: 1.25rem;
	}

	.knm-float__icon svg {
		width: 1.25rem;
		height: 1.25rem;
	}

	.knm-float__text {
		writing-mode: horizontal-tb;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.08em;
		line-height: 1.2;
	}

	html.knm-at-footer .knm-float {
		opacity: 1;
		visibility: visible;
	}

	html.knm-sp-open .knm-float,
	html.knm-at-footer.knm-sp-open .knm-float {
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	html.knm-at-footer .p-fixBtnWrap {
		bottom: calc(4.4rem + env(safe-area-inset-bottom, 0px)) !important;
	}

	body {
		padding-bottom: calc(3.6rem + env(safe-area-inset-bottom, 0px));
	}

	.knm-hd__info,
	.knm-hd.is-scrolled .knm-hd__info {
		display: none !important;
	}
}

html.knm-sp-open .knm-burger span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

html.knm-sp-open .knm-burger span:nth-child(2) {
	opacity: 0;
}

html.knm-sp-open .knm-burger span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.knm-hub {
	margin: 2rem 0 0.4rem;
}

.knm-hub__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.knm-hub__card {
	display: grid;
	align-content: start;
	gap: 0.35rem;
	min-height: 100%;
	padding: 1.15rem 1.2rem 1.25rem;
	border-radius: 18px;
	border: 1px solid rgba(105, 105, 105, 0.1);
	background: #fbf8f2;
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.knm-hub__card:hover {
	transform: translateY(-2px);
	border-color: rgba(122, 170, 90, 0.35);
	box-shadow: 0 10px 22px rgba(45, 32, 4, 0.07);
}

.knm-hub__en {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	color: #9a9084;
}

.knm-hub__title {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.7;
	color: #5a5348;
}

.knm-hub__lead {
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.75;
	color: #8a8a8a;
}

.knm-wish {
	display: grid;
	gap: 0.85rem;
	margin: 0.4rem 0 0.2rem;
}

.knm-wish__item {
	margin: 0;
	padding: 1.15rem 1.3rem 1.2rem;
	border-radius: 18px;
	background: #fbf8f2;
	border: 1px solid rgba(105, 105, 105, 0.08);
}

.knm-wish__item h3,
.knm-day__body h3 {
	margin: 0 0 0.45em !important;
	padding: 0 !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.7 !important;
	color: #5a5348 !important;
	background: none !important;
	border: none !important;
}

.knm-wish__item h3::before,
.knm-wish__item h3::after,
.knm-day__body h3::before,
.knm-day__body h3::after {
	content: none !important;
	display: none !important;
}

.knm-wish__item p,
.knm-wish__item .knm-actions {
	margin-bottom: 0;
}

.knm-wish__item p + p {
	margin-top: 0.75em;
}

.knm-wish__item .knm-actions {
	margin-top: 0.85rem;
	justify-content: flex-start;
}

.knm-diagram,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-diagram {
	display: grid;
	grid-template-columns: minmax(0, 21.5rem) minmax(0, 1fr);
	align-items: center;
	gap: 0.4rem 1.2rem;
	margin: 1.7rem 0 1.55rem;
}

.knm-diagram__fig {
	display: block;
	width: 100%;
	max-width: 21.5rem;
	height: auto;
}

.knm-diagram__fig text {
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.06em;
	fill: #5a5348;
}

.knm-diagram--kanji,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-diagram--kanji {
	grid-template-columns: minmax(0, 24rem) minmax(0, 1fr);
}

.knm-diagram--kanji .knm-diagram__fig {
	max-width: 24rem;
}

.knm-diagram__copy,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p.knm-diagram__copy {
	margin: 0;
	max-width: 22rem;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.1375em;
	line-height: 1.8;
	color: #696969;
}

.knm-about__wide--story img {
	aspect-ratio: 16 / 7;
	object-position: center 40%;
}

.knm-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.55rem;
	margin: 0.9rem 0 0;
	padding: 0;
	list-style: none;
}

.knm-chips li {
	padding: 0.35em 0.85em;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(197, 217, 180, 0.7);
	font-size: 13px;
	letter-spacing: 0.06em;
	line-height: 1.6;
	color: #5a7a45;
}

.knm-goods,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-goods {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1.05rem;
	margin: 0.95rem 0 0;
	padding: 0;
	list-style: none;
}

.knm-goods li,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-goods li {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.6;
	color: #c45c5c;
}

.knm-goods__icon {
	width: 1.45em;
	height: 1.45em;
	flex: 0 0 auto;
}

.knm-name {
	display: inline-block;
	margin: 0 0 0 0.35em;
	padding: 0.12em 0.7em 0.18em;
	border: 1px solid rgba(105, 105, 105, 0.22);
	border-radius: 6px;
	background: #fff;
	letter-spacing: 0.14em;
	color: #5a5348;
}

.knm-wish__item--attend {
	padding: 0 0 0.4rem;
	background: transparent;
	border: none;
	border-radius: 0;
}

.knm-about__gap,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p.knm-about__gap {
	margin-top: 1.35rem;
}

.knm-flow,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-flow {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem 0.7rem;
	margin: 1.15rem 0 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.knm-flow li,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-flow li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}

.knm-flow__act {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.6;
	color: #5a5348;
}

.knm-flow__arrow {
	width: 1.5em;
	height: 1.5em;
	display: block;
}

.knm-flow__out {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.28rem;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.6;
	color: #c45c5c;
}

.knm-day {
	margin: 1.4rem 0 0.4rem;
	padding: 0;
	list-style: none;
}

.knm-day__item {
	display: grid;
	grid-template-columns: 8.2rem 1fr;
	gap: 1rem 1.4rem;
	padding: 1.05rem 0 1.2rem;
	border-bottom: 1px solid rgba(105, 105, 105, 0.08);
}

.knm-day__item:last-child {
	border-bottom: none;
}

.knm-day__time {
	display: block;
	padding-top: 0.15em;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: #7aaa5a;
}

.knm-day__time--soft {
	color: #9a9084;
	font-weight: 400;
}

.knm-day__body h3 {
	margin: 0 0 0.35em !important;
}

.knm-day__body p,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-day__body p {
	margin: 0;
}

.knm-day__body p + p,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-day__body p + p {
	margin-top: 0.55em;
}

.knm-day__voice,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-day__voice {
	font-weight: 500;
	color: #5a5348;
}

.knm-day__photo {
	grid-column: 1 / -1;
	margin: 0.45rem 0 0.1rem;
	border-radius: 18px;
	overflow: hidden;
	background: #f7f4ee;
	box-shadow: 0 8px 20px rgba(45, 32, 4, 0.07);
}

.knm-day__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	filter: saturate(0.92) brightness(1.03);
}

.knm-life {
	display: grid;
	gap: 0;
	margin: 0.35rem 0 0.2rem;
}

.knm-life__row {
	display: grid;
	grid-template-columns: minmax(12.5rem, 40%) minmax(0, 1fr);
	gap: 1.2rem 2.5rem;
	align-items: center;
	padding: 1.05rem 0 1.35rem;
}

.knm-life__row.is-text .knm-life__copy {
	grid-column: 2;
}

.knm-life__row::after {
	content: "";
	grid-column: 1 / -1;
	height: 5px;
	margin: 0.15rem 0 0;
	background-image: radial-gradient(circle, #d4c9b8 1.15px, transparent 1.2px);
	background-size: 9px 5px;
	background-repeat: repeat-x;
	background-position: center;
}

.knm-life__row:last-child::after {
	content: none;
	display: none;
}

.knm-life__photo {
	margin: 0;
	border-radius: 8px;
	overflow: hidden;
	background: #f4efe6;
	box-shadow: 0 8px 22px rgba(45, 32, 4, 0.08);
}

.knm-life__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.94) brightness(1.02);
}

.knm-life__copy {
	min-width: 0;
	display: grid;
	gap: 1.2rem;
	align-content: center;
}

.knm-life__row.is-pair {
	align-items: center;
}

.knm-life__time,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-life__time {
	margin: 0 0 0.2em;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.6;
	color: #7aaa5a;
}

.knm-life__copy h3,
.knm-life .knm-day__body h3 {
	margin: 0 0 0.4em !important;
}

.knm-life .knm-day__body p,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-life .knm-day__body p {
	margin: 0;
}

.knm-life .knm-day__body p + p,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-life .knm-day__body p + p {
	margin-top: 0.55em;
}

.knm-season {
	margin: 0 0 2.1rem;
}

.knm-season__en {
	margin: 0 0 0.15em;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.2em;
	color: #9a9084;
}

.knm-season__name,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.knm-season__name,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-season h3,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-season h3.wp-block-heading {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 0.95rem !important;
	padding: 0.52em 1.15em !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.28em !important;
	color: #fff !important;
	background: #e8c8d4 !important;
	border: none !important;
	border-radius: 2px;
}

.knm-season__name--spring,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.knm-season__name--spring,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content #spring h3.wp-block-heading {
	background: #e9c5d0 !important;
}

.knm-season__name--summer,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.knm-season__name--summer,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content #summer h3.wp-block-heading {
	background: #a3d4c9 !important;
}

.knm-season__name--autumn,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.knm-season__name--autumn,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content #autumn h3.wp-block-heading {
	background: #f3c4a3 !important;
}

.knm-season__name--winter,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.knm-season__name--winter,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content #winter h3.wp-block-heading {
	background: #b3d8e4 !important;
}

.knm-season__name::before,
.knm-season__name::after,
.knm-season h3::before,
.knm-season h3::after,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.knm-season__name::before,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content h3.knm-season__name::after,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-season h3::before,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-season h3::after {
	content: none !important;
	display: none !important;
}

.knm-season .knm-sheet-wrap {
	margin-bottom: 0;
}

.knm-season .knm-photos {
	margin-top: 1.15rem;
}

.knm-about__jump,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p.knm-about__jump {
	margin: 0.15rem 0 1.5rem;
	padding: 0 0 0.85rem;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.85;
	color: #5a5348;
	text-align: center;
	background-image: radial-gradient(circle, #c9bba8 1.1px, transparent 1.2px);
	background-size: 8px 5px;
	background-repeat: repeat-x;
	background-position: center bottom;
}

.knm-about__bold,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p.knm-about__bold {
	font-weight: 700;
	color: #5a5348;
}

.knm-about__back,
.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p.knm-about__back {
	margin-top: 2.8rem;
	margin-bottom: 0;
	justify-content: flex-start;
}

.knm-wish--media {
	gap: 2.1rem;
}

.knm-wish--media .knm-wish__item p + p:not(.knm-actions) {
	margin-top: 0;
}

.knm-wish__item--media {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(12.5rem, 40%);
	gap: 1.4rem 2.5rem;
	align-items: center;
	padding: 0 0 1.85rem;
	background: transparent;
	border: none;
	border-radius: 0;
}

.knm-wish__item--media::after {
	content: "";
	grid-column: 1 / -1;
	order: 3;
	height: 5px;
	margin: 0.1rem 0 0;
	background-image: radial-gradient(circle, #d4c9b8 1.15px, transparent 1.2px);
	background-size: 9px 5px;
	background-repeat: repeat-x;
	background-position: center;
}

.knm-wish--nodash .knm-wish__item--media {
	padding-bottom: 0.35rem;
}

.knm-wish--nodash .knm-wish__item--media::after {
	content: none;
	display: none;
}

.knm-wish--media .knm-wish__item--media:nth-child(odd) .knm-wish__photo {
	order: 2;
}

.knm-wish--media .knm-wish__item--media:nth-child(even) {
	grid-template-columns: minmax(12.5rem, 40%) minmax(0, 1fr);
}

.knm-wish--media .knm-wish__item--media:nth-child(even) .knm-wish__photo {
	order: 0;
}

.knm-wish__photo,
.knm-about__wide {
	margin: 0;
	border-radius: 8px;
	overflow: hidden;
	background: #f4efe6;
	border: none;
	box-shadow: 0 8px 22px rgba(45, 32, 4, 0.08);
}

.knm-wish__photo img,
.knm-about__wide img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.94) brightness(1.02);
}

.knm-about__wide {
	margin: 1.15rem 0 1.35rem;
	border-radius: 18px;
}

.knm-about__wide img {
	aspect-ratio: 16 / 4 !important;
	object-fit: cover !important;
	object-position: center 32%;
}

.knm-about__wide.knm-about__photo img {
	aspect-ratio: 3 / 2 !important;
	object-position: center;
}

.knm-about__wide.knm-about__photo + .knm-about__wide.knm-about__photo {
	margin-top: 0.85rem;
}

.knm-about__pair.wp-block-columns {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.85rem;
	margin: 1.15rem 0 1.35rem;
}

.knm-about__pair > .wp-block-column {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.knm-about__pair .knm-about__wide,
.knm-about__pair .knm-about__wide + .knm-about__wide {
	margin: 0;
}

.knm-wish__copy {
	min-width: 0;
}

.knm-from-editor .wp-block-group__inner-container {
	display: contents;
}

.knm-from-editor .wp-block-image.knm-wish__photo,
.knm-from-editor .wp-block-image.knm-about__wide {
	width: 100%;
	max-width: none;
}

.knm-from-editor .knm-about__wide img,
.knm-from-editor .knm-wish__photo img {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
}

.knm-from-editor .knm-wish__item:not(.knm-wish__item--media) p {
	margin-bottom: 1.5em !important;
}

.knm-from-editor .wp-block-image.knm-photos__item,
.knm-from-editor .wp-block-image.knm-life__photo,
.knm-from-editor .wp-block-image.knm-wish__photo,
.knm-from-editor .wp-block-image.knm-about__wide,
.knm-from-editor .wp-block-image.knm-about__photo,
.knm-from-editor .wp-block-image.knm-insta__cut,
.knm-from-editor .wp-block-image.knm-top-gate__fig,
.knm-from-editor .wp-block-image.knm-diagram__fig,
.knm-from-editor .knm-top-air .wp-block-image {
	margin: 0;
}

.knm-from-editor .knm-photos__item img,
.knm-from-editor .knm-life__photo img,
.knm-from-editor .knm-insta__cut img {
	width: 100%;
	height: auto;
}

.knm-from-editor .knm-top-gate__fig,
.knm-from-editor .knm-top-air figure {
	position: relative;
}

.knm-from-editor .knm-top-gate__fig > a,
.knm-from-editor .knm-top-air figure > a {
	position: absolute;
	inset: 0;
	display: block;
}

.knm-from-editor .knm-top-gate__fig img,
.knm-from-editor .knm-top-air figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.knm-from-editor p.knm-hub__card,
.knm-from-editor p.knm-top-gate__panel,
.knm-from-editor .knm-top-air > p {
	margin: 0;
}

.knm-from-editor p.knm-hub__card > a {
	display: contents;
	color: inherit;
	text-decoration: none;
}

.knm-from-editor .knm-page > .wp-block-group__inner-container > .knm-sec:first-child > .wp-block-group__inner-container > h2:first-child,
.knm-from-editor.knm-page > .wp-block-group__inner-container > .knm-page__lead + .knm-sec > .wp-block-group__inner-container > h2:first-child {
	padding-top: 0.35em !important;
	margin-bottom: 0.55em !important;
}

.knm-page .knm-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7em 1.45em;
	border-radius: 999px;
	border: 1px solid #c5d9b4;
	background: #f7fbf3;
	color: #5a7a45;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.6;
	text-decoration: none;
}

.knm-reveal:not(.is-in),
html.knm-motion .knm-page .knm-page__lead:not(.is-in),
html.knm-motion .knm-page > p:not(.is-in),
html.knm-motion .knm-page > .knm-dayori-single__meta:not(.is-in),
html.knm-motion .knm-sec > h2:not(.is-in),
html.knm-motion .knm-sec > p:not(.is-in),
html.knm-motion .knm-sec > figure:not(.is-in),
html.knm-motion .knm-about__pair:not(.is-in),
html.knm-motion .knm-sec > .knm-diagram:not(.is-in),
html.knm-motion .knm-sec > ul:not(.is-in),
html.knm-motion .knm-wish__item:not(.is-in),
html.knm-motion .knm-hub__list > li:not(.is-in),
html.knm-motion .knm-day__item:not(.is-in),
html.knm-motion .knm-life__row:not(.is-in),
html.knm-motion .knm-sheet-wrap:not(.is-in),
html.knm-motion .knm-season:not(.is-in),
html.knm-motion .knm-photos:not(.is-in),
html.knm-motion .knm-photos__note:not(.is-in),
html.knm-motion .knm-page > .knm-actions:not(.is-in),
html.knm-motion .knm-faq__item:not(.is-in),
html.knm-motion .knm-insta__cut:not(.is-in),
html.knm-motion .knm-insta-slider:not(.is-in),
html.knm-motion .knm-dayori-insta:not(.is-in),
html.knm-motion .knm-dayori-card:not(.is-in),
html.knm-motion .knm-dayori-single__ig:not(.is-in),
html.knm-motion .knm-dayori-single__body:not(.is-in) {
	opacity: 0;
	transform: translate3d(0, 1.7rem, 0);
}

html.knm-motion .knm-season .knm-sheet-wrap,
html.knm-motion .knm-season .knm-photos,
html.knm-motion .knm-season .knm-sheet-wrap:not(.is-in),
html.knm-motion .knm-season .knm-photos:not(.is-in),
html.knm-motion .knm-dayori-insta.is-in .knm-insta-slider,
html.knm-motion .knm-dayori-insta.is-in .knm-insta-slider:not(.is-in),
html.knm-motion .knm-top__insta.is-in .knm-insta-slider,
html.knm-motion .knm-top__insta.is-in .knm-insta-slider:not(.is-in) {
	opacity: 1;
	transform: none;
}

.knm-reveal,
html.knm-motion .knm-page .knm-page__lead,
html.knm-motion .knm-page > p,
html.knm-motion .knm-page > .knm-dayori-single__meta,
html.knm-motion .knm-sec > h2,
html.knm-motion .knm-sec > p,
html.knm-motion .knm-sec > figure,
html.knm-motion .knm-about__pair,
html.knm-motion .knm-sec > .knm-diagram,
html.knm-motion .knm-sec > ul,
html.knm-motion .knm-wish__item,
html.knm-motion .knm-hub__list > li,
html.knm-motion .knm-day__item,
html.knm-motion .knm-life__row,
html.knm-motion .knm-sheet-wrap,
html.knm-motion .knm-season,
html.knm-motion .knm-photos,
html.knm-motion .knm-photos__note,
html.knm-motion .knm-page > .knm-actions,
html.knm-motion .knm-faq__item,
html.knm-motion .knm-insta__cut,
html.knm-motion .knm-insta-slider,
html.knm-motion .knm-dayori-insta,
html.knm-motion .knm-dayori-card,
html.knm-motion .knm-dayori-single__ig,
html.knm-motion .knm-dayori-single__body {
	transition: opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1), transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
}

.knm-reveal.is-in,
html.knm-motion .is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.knm-reveal,
	html.knm-motion .knm-page .knm-page__lead,
	html.knm-motion .knm-page > p,
	html.knm-motion .knm-page > .knm-dayori-single__meta,
	html.knm-motion .knm-sec > h2,
	html.knm-motion .knm-sec > p,
	html.knm-motion .knm-sec > figure,
	html.knm-motion .knm-about__pair,
	html.knm-motion .knm-sec > .knm-diagram,
	html.knm-motion .knm-sec > ul,
	html.knm-motion .knm-wish__item,
	html.knm-motion .knm-hub__list > li,
	html.knm-motion .knm-day__item,
	html.knm-motion .knm-life__row,
	html.knm-motion .knm-sheet-wrap,
	html.knm-motion .knm-season,
	html.knm-motion .knm-photos,
	html.knm-motion .knm-photos__note,
	html.knm-motion .knm-page > .knm-actions,
	html.knm-motion .knm-faq__item,
	html.knm-motion .knm-insta__cut,
	html.knm-motion .knm-insta-slider,
	html.knm-motion .knm-dayori-insta,
	html.knm-motion .knm-dayori-card,
	html.knm-motion .knm-dayori-single__ig,
	html.knm-motion .knm-dayori-single__body {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

@media (max-width: 820px) {
	.knm-hub__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.knm-wish__item--media,
	.knm-wish--media .knm-wish__item--media:nth-child(even) {
		grid-template-columns: 1fr;
		gap: 0.85rem;
		padding: 0;
	}

	.knm-wish--media .knm-wish__item--media:nth-child(odd) .knm-wish__photo,
	.knm-wish--media .knm-wish__item--media:nth-child(even) .knm-wish__photo {
		order: 0;
	}

	.knm-about__wide img {
		aspect-ratio: 16 / 5;
		object-position: center 32%;
	}

	.knm-about__pair.wp-block-columns {
		flex-wrap: wrap;
	}

	.knm-about__pair > .wp-block-column {
		flex-basis: 100%;
	}

	.knm-about__wide--story img {
		aspect-ratio: 16 / 8;
		object-position: center 40%;
	}

	.knm-life__row,
	.knm-life__row.is-text {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		padding: 0.85rem 0 1.1rem;
	}

	.knm-life__row.is-text .knm-life__copy {
		grid-column: 1;
	}

	.knm-diagram,
	.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-diagram {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 0.7rem;
		text-align: center;
	}

	.knm-diagram__fig {
		max-width: 18.5rem;
	}

	.knm-diagram__copy,
	.page.konomi-kindergarten:not(.home):not(.front-page) .post_content p.knm-diagram__copy {
		max-width: 28rem;
	}
}

@media (max-width: 640px) {
	.knm-hub__list {
		grid-template-columns: 1fr;
	}

	.knm-day__item {
		grid-template-columns: 1fr;
		gap: 0.25rem;
	}

	.knm-flow,
	.page.konomi-kindergarten:not(.home):not(.front-page) .post_content .knm-flow {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

/* ============================================================
   フッター：白サイトマップ＋丘（さわらび幼稚園の空気）
   ============================================================ */
#body_wrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

#content.l-content {
	flex: 1 1 auto;
}

.knm-ft {
	position: relative;
	width: 100%;
	margin-top: 0;
	background: #f7f4ea;
	color: #7a7268;
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;
	overflow: hidden;
}

.knm-ft__edge {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 4;
	height: 8px;
	pointer-events: none;
	background-image: radial-gradient(circle, #d4c9b8 1.2px, transparent 1.35px);
	background-size: 10px 8px;
	background-repeat: repeat-x;
	background-position: center;
}

.knm-ft__scene {
	position: relative;
}

.knm-ft__ground {
	position: relative;
}

.knm-ft__art,
.knm-ft__art img {
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
}

.knm-ft__art img {
	object-fit: cover;
	object-position: center bottom;
}

.knm-ft__body {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: none;
	margin: 0;
	padding: clamp(1.2rem, 2vw, 2.1rem) clamp(1.4rem, 4vw, 3.4rem) 0;
}

.knm-ft__map {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.85rem 1.85rem;
	flex-wrap: wrap;
	width: 100%;
	max-width: 72rem;
}

.knm-ft__col {
	flex: 0 1 auto;
	min-width: 0;
}

.knm-ft__head {
	display: flex;
	align-items: center;
	gap: 0.42rem;
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-decoration: none;
	color: inherit;
	white-space: nowrap;
}

.knm-ft__head .knm-ft__ico {
	width: 1.55rem;
	height: 1.55rem;
}

a.knm-ft__head:hover .knm-ft__label {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.knm-ft__dot {
	flex: 0 0 auto;
	width: 0.62rem;
	height: 0.62rem;
	border-radius: 50%;
	background: #e5be4f;
}

.knm-ft__col--news .knm-ft__dot { background: #7eb8e8; }
.knm-ft__col--about .knm-ft__dot { background: #e5be4f; }
.knm-ft__col--clubs .knm-ft__dot { background: #7ec8c0; }
.knm-ft__col--admission .knm-ft__dot { background: #9ed470; }
.knm-ft__col--preschool .knm-ft__dot { background: #f09ab8; }
.knm-ft__col--instagram .knm-ft__dot { background: #c79be8; }
.knm-ft__col--qa .knm-ft__dot { background: #e5a05c; }

.knm-ft__col--news .knm-ft__head { color: #5a9bc8; }
.knm-ft__col--about .knm-ft__head { color: #c9a33e; }
.knm-ft__col--clubs .knm-ft__head { color: #5eaea0; }
.knm-ft__col--admission .knm-ft__head { color: #6aaa40; }
.knm-ft__col--preschool .knm-ft__head { color: #e08aaa; }
.knm-ft__col--instagram .knm-ft__head { color: #b07ad4; }
.knm-ft__col--qa .knm-ft__head { color: #d08a48; }

.knm-ft__ico {
	flex: 0 0 auto;
	display: block;
	line-height: 0;
}

.knm-ft__ico svg {
	display: block;
	width: 100%;
	height: 100%;
}

.knm-ft__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.knm-ft__list li {
	margin: 0 0 0.42rem;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	word-break: keep-all;
	line-break: strict;
}

.knm-ft__list a {
	display: flex;
	align-items: flex-start;
	gap: 0.38rem;
	color: #8a8278;
	text-decoration: none;
	word-break: keep-all;
}

.knm-ft__list .knm-ft__ico {
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.12rem;
}

.knm-ft__list a:hover {
	color: #5f574e;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.knm-ft__credit {
	position: absolute;
	left: 50%;
	top: 46%;
	z-index: 2;
	transform: translate(-50%, -8%);
	width: min(34rem, calc(100% - 3rem));
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.94);
	border: 2px dotted #c3d39a;
	border-radius: 1.4rem;
	text-align: center;
	padding: 1.15rem 1.7rem 1rem;
	color: #4a4540;
}

.knm-ft__credit-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0 0 0.55rem;
	text-align: left;
}

.knm-ft__credit-brand img {
	width: 3.4rem;
	height: 3.4rem;
	object-fit: contain;
}

.knm-ft__credit-org {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	color: #7a7268;
	line-height: 1.4;
}

.knm-ft__credit-name {
	margin: 0.04rem 0 0;
	font-family: var(--konomi-font-display, "M PLUS Rounded 1c", sans-serif);
	font-size: clamp(1.35rem, 2.4vw, 1.7rem);
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.2;
	color: #3a342e;
}

.knm-ft__credit-addr,
.knm-ft__credit-tel {
	margin: 0.08rem 0;
	font-size: 13px;
	letter-spacing: 0.05em;
	line-height: 1.65;
}

.knm-ft__credit-tel a {
	color: inherit;
	text-decoration: none;
	font-weight: 700;
}

.knm-ft__credit-tel a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.knm-ft__credit-copy {
	margin: 0.7rem 0 0;
	font-size: 11px;
	letter-spacing: 0.08em;
	color: #9a9288;
}

/* SWELL本体の暗いフッターは使わない */
.konomi-kindergarten .l-footer,
.konomi-kindergarten #fix_bottom_menu {
	display: none !important;
}

@media (min-width: 1200px) {
	.knm-ft__art img {
		aspect-ratio: 2400 / 680;
		object-fit: cover;
		object-position: center bottom;
	}

	.knm-ft__body {
		top: 8%;
		padding-top: 0;
	}

	.knm-ft__credit {
		top: 21%;
		transform: translate(-50%, -8%);
	}
}

@media (max-width: 1199px) {
	.knm-ft {
		padding-bottom: calc(3.6rem + env(safe-area-inset-bottom, 0px));
		background: #fff;
	}

	.knm-ft__body {
		position: relative;
		top: auto;
		order: 1;
		padding: 1.7rem 1.35rem 0.85rem;
		background: #fff;
	}

	.knm-ft__scene {
		display: flex;
		flex-direction: column;
	}

	.knm-ft__ground {
		order: 2;
	}

	.knm-ft__map {
		display: grid;
		grid-template-columns: repeat(3, max-content);
		justify-content: center;
		align-self: stretch;
		gap: 1.05rem 1.6rem;
		max-width: none;
	}

	.knm-ft__col {
		flex: none;
	}

	.knm-ft__head {
		font-size: 16px;
	}

	.knm-ft__credit {
		top: 28%;
		transform: translate(-50%, -12%);
		width: calc(100% - 1.2rem);
		background: transparent;
		border: none;
		border-radius: 0;
		padding: 0.1rem 0.35rem;
		color: #3a342e;
		text-shadow: 0 0 8px rgba(255, 255, 255, 0.95), 0 0 16px rgba(255, 255, 255, 0.8);
	}

	.knm-ft__credit-brand {
		gap: 0.4rem;
		margin-bottom: 0.18rem;
	}

	.knm-ft__credit-brand img {
		width: 2rem;
		height: 2rem;
	}

	.knm-ft__credit-org {
		font-size: 10px;
		letter-spacing: 0.1em;
	}

	.knm-ft__credit-name {
		font-size: 1.08rem;
		letter-spacing: 0.06em;
	}

	.knm-ft__credit-addr,
	.knm-ft__credit-tel {
		font-size: 11px;
		letter-spacing: 0.03em;
		line-height: 1.45;
	}

	.knm-ft__credit-copy {
		margin-top: 0.22rem;
		font-size: 8px;
		letter-spacing: 0.04em;
		white-space: nowrap;
	}
}

@media (max-width: 700px) {
	.knm-ft__body {
		padding: 1.45rem 1.15rem 0.55rem;
	}

	.knm-ft__map {
		grid-template-columns: repeat(2, max-content);
		justify-content: space-evenly;
		gap: 0.9rem 1.2rem;
	}

	.knm-ft__head {
		font-size: 15px;
	}
}

/* ============================================================
   トップ：ヒーロー下〜フッター上（たまだいら＋MACS）
   ============================================================ */
.home.konomi-kindergarten,
.front-page.konomi-kindergarten,
.home.konomi-kindergarten #body_wrap,
.front-page.konomi-kindergarten #body_wrap {
	background: #fff !important;
	--color_bg: #fff;
}

.home.konomi-kindergarten .l-content,
.front-page.konomi-kindergarten .l-content,
.home.konomi-kindergarten .l-mainContent,
.front-page.konomi-kindergarten .l-mainContent,
.home.konomi-kindergarten .l-mainContent__inner,
.front-page.konomi-kindergarten .l-mainContent__inner,
.home.konomi-kindergarten .post_content,
.front-page.konomi-kindergarten .post_content {
	background: #fff;
}

.home.konomi-kindergarten #content.l-content,
.front-page.konomi-kindergarten #content.l-content {
	margin-bottom: 0 !important;
}

.home.konomi-kindergarten .l-mainContent__inner,
.front-page.konomi-kindergarten .l-mainContent__inner {
	padding-bottom: 0;
}

.home.konomi-kindergarten .post_content > .konomi-gateway,
.front-page.konomi-kindergarten .post_content > .konomi-gateway,
.home.konomi-kindergarten .konomi-section--cream,
.front-page.konomi-kindergarten .konomi-section--cream,
.home.konomi-kindergarten .konomi-news-head,
.front-page.konomi-kindergarten .konomi-news-head,
.home.konomi-kindergarten .p-postListWrap,
.front-page.konomi-kindergarten .p-postListWrap,
.home.konomi-kindergarten .konomi-section--cta,
.front-page.konomi-kindergarten .konomi-section--cta,
.home.konomi-kindergarten .konomi-world,
.front-page.konomi-kindergarten .konomi-world,
.home.konomi-kindergarten .konomi-pillars,
.front-page.konomi-kindergarten .konomi-pillars,
.home.konomi-kindergarten .konomi-floating-cuts,
.front-page.konomi-kindergarten .konomi-floating-cuts,
.home.konomi-kindergarten .konomi-scenery,
.front-page.konomi-kindergarten .konomi-scenery {
	display: none !important;
}

.knm-top {
	--knm-page-font: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;
	--knm-page-ink: #696969;
	max-width: 64rem;
	margin: 0 auto;
	padding: 0 1.25rem 2.6rem;
	font-family: var(--knm-page-font);
	color: var(--knm-page-ink);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1375em;
	font-feature-settings: "palt" 1;
}

#knm-top {
	scroll-margin-top: 5.8rem;
}

.home.konomi-kindergarten .post_content .knm-top h2,
.home.konomi-kindergarten .post_content .knm-top h2.wp-block-heading,
.front-page.konomi-kindergarten .post_content .knm-top h2,
.front-page.konomi-kindergarten .post_content .knm-top h2.wp-block-heading {
	margin: 0 auto 1.35rem !important;
	padding: 0 !important;
	color: #5c5346 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	text-align: center !important;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	line-height: 1.5 !important;
}

.home.konomi-kindergarten .post_content .knm-top h2::before,
.home.konomi-kindergarten .post_content .knm-top h2.wp-block-heading::before,
.front-page.konomi-kindergarten .post_content .knm-top h2::before,
.front-page.konomi-kindergarten .post_content .knm-top h2.wp-block-heading::before {
	content: none !important;
	display: none !important;
}

.home.konomi-kindergarten .post_content .knm-top h2::after,
.home.konomi-kindergarten .post_content .knm-top h2.wp-block-heading::after,
.front-page.konomi-kindergarten .post_content .knm-top h2::after,
.front-page.konomi-kindergarten .post_content .knm-top h2.wp-block-heading::after {
	content: "" !important;
	display: block !important;
	position: static !important;
	width: 0.42rem !important;
	height: 0.42rem !important;
	margin: 0.55rem auto 0 !important;
	border: none !important;
	border-radius: 50% !important;
	background: #e7b7c6 !important;
	pointer-events: none;
}

.knm-top p {
	margin: 0 0 1.1em;
}

.knm-actions--center {
	justify-content: center;
}

.knm-top__words {
	max-width: 36rem;
	margin: 0 auto;
	padding: clamp(2.8rem, 7vw, 5.2rem) 0.4rem clamp(2.4rem, 5.5vw, 3.8rem);
	text-align: center;
}

figure.knm-top__mark {
	display: block;
	width: 8.75rem;
	max-width: 46%;
	height: auto;
	margin: 0 auto 0.15rem;
}

.knm-top figure.knm-top__mark img,
img.knm-top__mark {
	display: block;
	width: 8.75rem;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 0;
	filter: drop-shadow(0 12px 14px rgba(176, 122, 48, 0.16));
	transform-origin: 50% 82%;
	animation: knm-konomin-float 5.2s ease-in-out infinite;
}

@keyframes knm-konomin-float {
	0%,
	100% {
		transform: translateY(0) rotate(-1.5deg);
	}
	50% {
		transform: translateY(-10px) rotate(1.5deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.knm-top figure.knm-top__mark img,
	img.knm-top__mark {
		animation: none;
	}
}

.knm-top__words p {
	margin: 0;
	font-size: clamp(15px, 1.7vw, 17px);
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 2;
	color: #5c5346;
}

.knm-top__gates {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.15rem;
	margin: 0 0 clamp(2.8rem, 6vw, 4.2rem);
}

.knm-top__air {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.15rem 1.2rem;
	margin: 0 0 clamp(3.2rem, 7vw, 4.8rem);
}

.knm-top-gate {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 1.15rem;
	margin: 0;
	background: #fff;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 8px 22px rgba(105, 105, 105, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.knm-top-gate:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 28px rgba(105, 105, 105, 0.12);
	color: inherit;
}

.knm-top-gate--entry {
	outline: 3px solid #eef6e4;
	outline-offset: 0;
}

.knm-top-gate--kids {
	outline: 3px solid #f8e8ef;
	outline-offset: 0;
}

.knm-top-gate--about {
	outline: 3px solid #f6edd8;
	outline-offset: 0;
}

.knm-top-gate__fig {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 0;
	background: #efe8db;
}

.knm-top-gate__fig img,
.knm-top-air figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.92) brightness(1.03);
}

.konomi-kindergarten .knm-top-gate__fig img,
.knm-from-editor .knm-top-gate__fig img {
	border-radius: 0;
}

.knm-top-gate__panel {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.28rem;
	padding: 1.05rem 1.1rem 1.15rem;
	min-height: 5.6rem;
}

.knm-top-gate--entry .knm-top-gate__panel { background: #eef6e4; }
.knm-top-gate--kids .knm-top-gate__panel { background: #f8e8ef; }
.knm-top-gate--about .knm-top-gate__panel { background: #f6edd8; }

.knm-top-gate__title {
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.5;
}

.knm-top-gate--entry .knm-top-gate__title { color: #5a8a38; }
.knm-top-gate--kids .knm-top-gate__title { color: #c06a88; }
.knm-top-gate--about .knm-top-gate__title { color: #a88830; }

.knm-top-gate__lead {
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1.7;
	color: #8a8a8a;
}

.knm-top-air {
	display: block;
	text-align: center;
	text-decoration: none;
	color: inherit;
}

.knm-top-air:hover {
	color: inherit;
}

.knm-top-air figure {
	margin: 0 0 0.7rem;
	overflow: hidden;
	border-radius: 1.05rem;
	aspect-ratio: 4 / 3;
	background: #efe8db;
}

.knm-top__air .knm-top-air:first-child {
	grid-column: 1 / -1;
}

.knm-top__air .knm-top-air figure {
	outline: 2px dotted #e7b7c6;
	outline-offset: 4px;
}

.knm-top__air .knm-top-air:first-child figure {
	position: relative;
	aspect-ratio: 16 / 9;
	margin-bottom: 1.3rem;
	border-radius: 1.25rem;
}

.knm-top__air .knm-top-air:first-child span,
.knm-top__air .knm-top-air:first-child p {
	margin: 0;
	text-align: center;
}

.knm-top__air .knm-top-air:not(:first-child):hover figure img {
	transform: scale(1.03);
}

.knm-top-air figure img {
	transition: transform 0.35s ease;
}

@media (min-width: 901px) {
	.knm-top__air .knm-top-air:first-child figure img,
	.knm-from-editor .knm-top__air .knm-top-air:first-child figure img {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: cover;
		object-position: center center;
		transform: scale(1.08);
		transform-origin: center center;
		opacity: 0;
		transition: none;
	}

	.knm-top__air .knm-top-air:first-child figure img:first-of-type,
	.knm-from-editor .knm-top__air .knm-top-air:first-child figure img:first-of-type {
		opacity: 1;
	}
}

.knm-top__air .knm-top-air p {
	text-align: center;
}

.knm-top__air .knm-top-air a {
	color: inherit;
	text-decoration: none;
}

.knm-top__air .knm-top-air p a {
	display: inline-block;
}

.knm-top-air span {
	display: inline-block;
	justify-self: center;
	width: auto;
	padding: 0.38rem 0.95rem;
	border-radius: 999px;
	text-align: center;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;
	color: #fff;
}

.knm-top__air .knm-top-air:nth-child(1) span {
	background: #5cb85c;
}

.knm-top__air .knm-top-air:nth-child(2) span {
	background: #f08ab0;
}

.knm-top__air .knm-top-air:nth-child(3) span {
	background: #e2b143;
}

.knm-from-editor .knm-top__air .knm-top-air:not(:first-child) figure.wp-block-image,
.knm-top__air .knm-top-air:not(:first-child) figure {
	margin-bottom: 1.3rem;
}

.knm-top__news,
.knm-top__insta,
.knm-top__cta {
	margin: 0 auto clamp(2.6rem, 5.5vw, 3.8rem);
	max-width: 57.5rem;
}

.knm-top__news {
	max-width: none;
}

.knm-news-slider {
	position: relative;
	margin-bottom: 1.15rem;
}

.knm-top__news .knm-dayori-cards {
	display: flex;
	gap: 1rem;
	margin: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.knm-top__news .knm-dayori-cards::-webkit-scrollbar {
	display: none;
}

.knm-top__news .knm-dayori-card {
	flex: 0 0 calc((100% - 2rem) / 3);
	scroll-snap-align: start;
	background: #fff;
	border-color: rgba(105, 105, 105, 0.08);
	box-shadow: 0 10px 24px rgba(105, 105, 105, 0.06);
}

.knm-news-slider.is-scrollable .knm-dayori-card {
	flex-basis: calc((100% - 2rem) / 3.28);
}

.knm-top__news .knm-dayori-card.has-thumb .knm-dayori-card__link {
	display: flex;
	flex-direction: column;
	grid-template-columns: none;
	height: 100%;
}

.knm-top__news .knm-dayori-card__thumb {
	display: block;
	min-height: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.knm-top__news .knm-dayori-card__thumb img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.knm-top__news .knm-dayori-card__body {
	padding: 0.75rem 0.85rem 0.95rem;
}

.knm-top__news .knm-dayori-card__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.65;
	letter-spacing: 0.06em;
}

.knm-top__news .knm-dayori-card__excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin-top: 0.3rem;
	font-size: 13px;
}

.knm-news-slider__btn {
	position: absolute;
	top: 34%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 2.35rem;
	height: 2.35rem;
	padding: 0;
	border: 1px solid rgba(105, 105, 105, 0.14);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 6px 16px rgba(105, 105, 105, 0.12);
	cursor: pointer;
}

.knm-news-slider__btn--prev { left: -0.15rem; }
.knm-news-slider__btn--next { right: -0.15rem; }

.knm-news-slider__btn span {
	display: block;
	width: 0.45rem;
	height: 0.45rem;
	border-top: 2px solid #8a8a8a;
	border-right: 2px solid #8a8a8a;
}

.knm-news-slider__btn--prev span {
	transform: rotate(-135deg);
	margin-left: 0.18rem;
}

.knm-news-slider__btn--next span {
	transform: rotate(45deg);
	margin-right: 0.18rem;
}

.knm-news-slider__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.knm-news-slider.is-static .knm-news-slider__btn {
	display: none;
}

.knm-top__empty {
	text-align: center;
	color: #8a8a8a;
}

.knm-top__insta {
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 1.8rem 1.25rem 1.7rem;
	text-align: center;
	background:
		radial-gradient(ellipse at 12% 0%, rgba(255, 236, 214, 0.85), transparent 46%),
		radial-gradient(ellipse at 92% 110%, rgba(214, 230, 196, 0.9), transparent 44%),
		#f6f3ec;
}

.knm-insta-banner {
	display: block;
	max-width: 52rem;
	margin: 0 auto;
	padding: 0.7rem;
	background: #fffdf8;
	border: 3px dotted #e7b7c6;
	border-radius: 1.75rem;
	box-shadow: 0 12px 28px rgba(176, 122, 48, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.knm-insta-banner:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px rgba(176, 122, 48, 0.12);
}

.knm-insta-banner img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1.2rem;
}

.knm-top__insta .knm-insta-slider--top {
	width: 100vw;
	max-width: 100vw;
	margin-top: 1.7rem;
	margin-bottom: 0.15rem;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0 1.4rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-sizing: border-box;
}

.knm-top__insta .knm-insta-slider__frame {
	position: relative;
}

.knm-top__insta .knm-insta-slider__clip {
	border-radius: 0;
}

.knm-top__insta .knm-insta-slider__track {
	gap: 1.15rem;
}

.knm-top__insta .knm-insta-slider__slide {
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.knm-top__insta .knm-insta-slider__photo {
	border-radius: 16px;
	overflow: hidden;
	background: transparent;
}

.knm-top__insta .knm-insta-slider__photo img {
	border-radius: 16px;
	filter: none;
}

.knm-top__insta .knm-insta-slider__cap {
	-webkit-line-clamp: 2;
	margin: 15px 0 0;
	color: #222;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.06em;
	min-height: calc(1.6em * 2);
}

.knm-top__insta .knm-insta-slider__arrow {
	position: absolute;
	top: 28%;
}

.knm-top__insta .knm-insta-slider__arrow--prev {
	left: 0.15rem;
}

.knm-top__insta .knm-insta-slider__arrow--next {
	right: 0.15rem;
}

.knm-top__insta .knm-insta-slider__dots {
	display: none;
}

.knm-top__insta p {
	margin: 0 auto 1.15em;
	max-width: 32rem;
}

.knm-top__cta {
	margin-top: clamp(2.4rem, 5vw, 3.4rem);
	margin-bottom: 0.8rem;
}

.knm-top__cta .knm-form-block {
	margin: 0;
	padding: 2.15rem 1.9rem 1.9rem;
	text-align: center;
	background: #fff;
	box-shadow: 0 16px 36px rgba(105, 105, 105, 0.07);
}

.home.konomi-kindergarten .post_content .knm-top .knm-form-block h2,
.front-page.konomi-kindergarten .post_content .knm-top .knm-form-block h2 {
	margin: 0.15em auto 0.85em !important;
	padding: 0 !important;
	border: none !important;
	color: #5c5346 !important;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
}

.knm-top__cta .knm-form-block p {
	margin: 0 0 1.1em;
}

.knm-top__cta .knm-actions {
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.knm-top__gates,
	.knm-top__air {
		grid-template-columns: 1fr;
		max-width: 26rem;
		margin-left: auto;
		margin-right: auto;
	}

	.knm-top-gate {
		flex-direction: row;
		min-height: 7.2rem;
	}

	.knm-top-gate__fig {
		flex: 0 0 42%;
		aspect-ratio: auto;
		min-height: 7.2rem;
	}

	.knm-top-gate__panel {
		flex: 1 1 auto;
		justify-content: center;
		min-height: 0;
		padding: 0.9rem 1rem;
	}

	.knm-top-air {
		display: grid;
		grid-template-columns: 42% 1fr;
		align-items: center;
		gap: 0.9rem;
		text-align: left;
	}

	.knm-top-air figure {
		margin: 0;
		aspect-ratio: 4 / 3;
	}

	.knm-top-air p,
	.knm-top-air span {
		text-align: left;
		justify-self: start;
	}

	.knm-top__air .knm-top-air:first-child {
		display: block;
		text-align: center;
	}

	.knm-top__air .knm-top-air:first-child figure {
		aspect-ratio: 16 / 9;
		margin: 0 0 1.15rem;
	}

	.knm-top__air .knm-top-air:first-child span,
	.knm-top__air .knm-top-air:first-child p {
		text-align: center;
		justify-self: center;
	}

	.knm-top__air .knm-top-air:first-child figure img {
		position: static;
		top: auto;
		height: 100%;
		opacity: 1;
		animation: none;
	}

	.knm-top__air .knm-top-air:first-child figure img + img {
		display: none;
	}

	.knm-top__news {
		max-width: 26rem;
	}

	.knm-top__news .knm-dayori-card,
	.knm-news-slider.is-scrollable .knm-dayori-card {
		flex-basis: calc(100% - 2.4rem);
	}

	.knm-top .knm-dayori-card.has-thumb .knm-dayori-card__link {
		grid-template-columns: 6.8rem 1fr;
	}

	.knm-top__news .knm-dayori-card.has-thumb .knm-dayori-card__link {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
	}
}

@media (max-width: 700px) {
	.knm-top {
		padding: 0 1.05rem 2.2rem;
	}

	.knm-top__words {
		padding-top: 2.2rem;
		padding-bottom: 2rem;
	}

	.knm-top__cta .knm-btn {
		width: 100%;
	}
}

.knm-chat {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 1100;
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;
}

.knm-chat__open {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0.28rem 0.85rem 0.28rem 0.28rem;
	border: 3px solid #f3c3d4;
	border-radius: 999px;
	background: #fffdf8;
	box-shadow: 0 8px 18px rgba(120, 80, 70, 0.16);
	color: #6b4a1e;
	font: inherit;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	cursor: pointer;
}

.knm-chat__open img,
.knm-chat__head img {
	width: 3.1rem;
	height: 3.1rem;
	object-fit: contain;
}

.knm-chat__panel {
	position: absolute;
	left: 0;
	bottom: 4.4rem;
	display: none;
	flex-direction: column;
	width: min(22rem, calc(100vw - 5.2rem));
	max-height: min(32rem, calc(100vh - 7rem));
	overflow: hidden;
	border: 3px solid #f3c3d4;
	border-radius: 1.2rem;
	background: #fffdf8;
	box-shadow: 0 12px 28px rgba(120, 80, 70, 0.18);
}

.knm-chat__head {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.45rem 0.7rem;
	background: #fff1f5;
}

.knm-chat__head p {
	margin: 0;
	color: #6b4a1e;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.knm-chat__head img {
	width: 2.6rem;
	height: 2.6rem;
}

.knm-chat.is-open .knm-chat__panel {
	display: flex;
}

.knm-chat__close {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	margin-left: auto;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #a06a78;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.knm-chat__log {
	flex: 1 1 auto;
	overflow: auto;
	padding: 0.8rem 0.85rem 0.4rem;
}

.knm-chat__msg {
	margin: 0 0 0.7rem;
	padding: 0.65rem 0.75rem;
	border-radius: 0.9rem;
	font-size: 0.92rem;
	line-height: 1.7;
	letter-spacing: 0.04em;
}

.knm-chat__msg p {
	margin: 0;
}

.knm-chat__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.knm-chat__caret {
	display: inline-block;
	width: 0.12em;
	height: 1em;
	margin-left: 0.08em;
	background: #f3a0bc;
	vertical-align: text-bottom;
	animation: knm-chat-caret 0.9s steps(1) infinite;
}

@keyframes knm-chat-caret {
	50% {
		opacity: 0;
	}
}

.knm-chat__msg a {
	display: block;
	margin-top: 0.35rem;
	color: #8a5a6a;
	font-weight: 700;
	line-height: 1.6;
}

.knm-chat__msg--bot {
	background: #fff;
	border: 1px solid #f6e3ea;
	color: #5c5346;
}

.knm-chat__msg--me {
	margin-left: 1.4rem;
	background: #eef6e4;
	color: #4d5a40;
}

.knm-chat__form {
	display: flex;
	gap: 0.4rem;
	padding: 0.35rem 0.75rem 0.2rem;
}

.knm-chat__form input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.55rem 0.7rem;
	border: 1px solid #f0d5df;
	border-radius: 999px;
	background: #fff;
	color: #5c5346;
	font: inherit;
	font-size: 0.9rem;
}

.knm-chat__form button {
	padding: 0.5rem 0.85rem;
	border: 0;
	border-radius: 999px;
	background: #f08ab0;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.knm-chat__note {
	margin: 0;
	padding: 0.35rem 0.85rem 0.7rem;
	color: #9a8b80;
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	line-height: 1.5;
}

html.knm-sp-open .knm-chat {
	display: none;
}

@media (max-width: 1200px) {
	.knm-chat {
		left: 10px;
		bottom: calc(4.8rem + env(safe-area-inset-bottom, 0px));
	}

	.knm-chat__panel {
		width: min(22rem, calc(100vw - 1.4rem));
		max-height: min(28rem, calc(100vh - 11rem));
	}
}

@media (max-width: 700px) {
	.knm-chat {
		left: 10px;
		bottom: calc(4.8rem + env(safe-area-inset-bottom, 0px));
	}

	.knm-chat__open span {
		display: none;
	}

	.knm-chat__open {
		padding: 0.15rem;
	}
}

/* 拡大写真は固定ヘッダーの下から始め、端のボタンより手前に出す */
.lum-lightbox {
	z-index: 1300 !important;
	top: 13.25rem !important;
}

.lum-lightbox-inner {
	top: 0.6rem !important;
	right: 1.4rem !important;
	bottom: 0.8rem !important;
	left: 1.4rem !important;
}

@media (max-width: 600px) {
	.lum-lightbox {
		top: 7.25rem !important;
	}
}

.lum-lightbox-inner img,
.lum-lightbox-image-wrapper {
	max-width: 100% !important;
	max-height: 100% !important;
}

.lum-close-button {
	top: 0.35rem;
	right: 0.35rem;
	z-index: 2;
	opacity: 0.85;
}



