/* 長沼学舎 カスタマイズ (2026-10-22) */
:root {
	--shz-green: #2f6b3d;
	--shz-green-weak: #e9f2ea;
	--shz-tint: #fdf6e7;
	--shz-line: #06c755;
	--shz-line-text: #03341a;
}

/* ヒーロー */
.shz-hero.wp-block-cover {
	min-height: 520px;
	padding: 0 !important;
	margin-top: 0;
}
.shz-hero .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, .72) 100%) !important;
	opacity: 1 !important;
}
.shz-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: 832px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 16px 28px;
	color: #fff;
}
.shz-hero .shz-hero__title {
	margin: 0 0 .4em;
	color: #fff;
	font-size: clamp(1.5rem, 1.1rem + 2vw, 2.4rem);
	line-height: 1.4;
	text-shadow: 0 1px 6px rgba(0, 0, 0, .45);
}
.shz-hero .shz-hero__lead {
	margin: 0 0 1em;
	font-size: .95rem;
	text-shadow: 0 1px 4px rgba(0, 0, 0, .5);
}
@media (max-width: 599px) {
	.shz-hero.wp-block-cover { min-height: 460px; }
	.shz-hero .shz-hero__title { font-size: 1.25rem; }
	.shz-hero .shz-hero__lead { font-size: .875rem; }
}

/* LINE・電話ボタン */
.shz-cta-buttons { gap: 10px; margin-top: 0; }
.shz-cta-buttons .wp-block-button__link {
	display: inline-block;
	min-width: 220px;
	padding: .8em 1.4em;
	border-radius: 8px;
	font-size: 1.05rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.shz-btn-line .wp-block-button__link { background: var(--shz-line); color: var(--shz-line-text); }
.shz-btn-tel .wp-block-button__link { background: var(--shz-green); color: #fff; }
.shz-hero .shz-btn-tel .wp-block-button__link { background: #fff; color: var(--shz-green); }
@media (max-width: 599px) {
	.shz-cta-buttons .wp-block-button { flex: 1 1 100%; }
	.shz-cta-buttons .wp-block-button__link { width: 100%; min-width: 0; }
}
.shz-cta-box .ystdtb-box__label-text { white-space: normal; }
.shz-cta-box .shz-cta-lead { color: var(--shz-green); font-weight: 700; }
.shz-cta-note { margin-top: .6em; font-size: .9rem; }
.shz-cta-small { font-size: .9rem; }
.shz-cta-box a, .shz-recaptcha-note a { color: #1a5a85; }

/* 3つの点 */
.shz-badges { gap: 8px; margin: 16px auto 0; max-width: 1040px; padding: 0 16px; }
.shz-badges > p {
	flex: 1 1 0;
	margin: 0;
	padding: .7em .4em;
	border-radius: 8px;
	background: var(--shz-green-weak);
	color: var(--shz-green);
	font-weight: 700;
	font-size: clamp(.8rem, .7rem + .5vw, 1.1rem);
	text-align: center;
	line-height: 1.4;
}

/* セクション */
.shz-sec { padding-top: 48px; padding-bottom: 48px; scroll-margin-top: 16px; }
.shz-sec--tint { background: var(--shz-tint); }
.shz-sec h2.wp-block-heading { margin-top: 0; color: var(--shz-green); font-size: 1.5rem; }
.shz-sec h3.wp-block-heading { color: var(--shz-green); font-size: 1.15rem; }
.shz-cards .wp-block-column {
	padding: 16px 18px;
	border: 1px solid #dfe8e0;
	border-radius: 10px;
	background: #fff;
}
.shz-cards h3.wp-block-heading { margin-top: 0; }
.shz-checks { padding-left: 1.4em; }
.shz-checks li { margin: .3em 0; font-weight: 700; }
.shz-points p { margin: 0 0 1.2em; }
.shz-points strong { color: var(--shz-green); font-size: 1.05rem; }

/* 料金 */
.shz-price table { border-collapse: collapse; width: 100%; background: #fff; }
.shz-price th, .shz-price td { padding: .8em 1em; border: 1px solid #ddd; text-align: left; }
.shz-price th { width: 34%; background: var(--shz-green-weak); color: var(--shz-green); white-space: nowrap; }
.shz-price strong { font-size: 1.15rem; }
.shz-note { margin-top: 1.5em; padding: 16px 18px; border-radius: 10px; background: #fff; }
.shz-note h3.wp-block-heading { margin-top: 0; }

/* 体験の流れ */
.shz-steps { counter-reset: shz; list-style: none; padding-left: 0; }
.shz-steps li { counter-increment: shz; position: relative; margin: 0 0 1em; padding-left: 2.6em; }
.shz-steps li::before {
	content: counter(shz);
	position: absolute; left: 0; top: .1em;
	width: 1.9em; height: 1.9em; border-radius: 50%;
	background: var(--shz-green); color: #fff; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}

/* 塾長 */
.shz-profile__photo img { border: 1px solid var(--shz-green); }
@media (max-width: 781px) {
	.shz-profile__photo { text-align: center; }
	.shz-profile__photo img { max-width: 220px; }
}
.shz-message summary { cursor: pointer; font-weight: 700; color: var(--shz-green); }


/* フォーム */
.wpcf7 .shz-form-place { margin: 0 0 1em; padding: 0; border: 0; }
.wpcf7 .shz-form-place legend { padding: 0; margin-bottom: .3em; }
.wpcf7 .wpcf7-radio .wpcf7-list-item { display: block; margin: .2em 0; }
.wpcf7 select { max-width: 100%; }
.shz-recaptcha-note { font-size: .8rem; color: #555; }

/* reCAPTCHA のバッジは隠し、フォームの下に注記を出す (Google が認める方法) */
.grecaptcha-badge { visibility: hidden; }

/* 小さすぎる文字 */
.singular-header__meta, .singular-date, .singular-date__item, .post-meta { font-size: 13px; }
.ystdb-balloon__name { font-size: 12px !important; }
.archive__meta, .archive__date, .archive__category, .archive__excerpt { font-size: 13px; }

/* スマホ下部のバー */
.shz-bar { display: none; }
@media (max-width: 768px) {
	.shz-bar {
		display: flex; gap: 6px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 9000;
		padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
		background: #fff;
		box-shadow: 0 -2px 8px rgba(0, 0, 0, .12);
	}
	.shz-bar a {
		flex: 1 1 0;
		padding: 12px 4px;
		border-radius: 8px;
		font-weight: 700;
		font-size: 15px;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
	}
	.shz-bar__line { background: var(--shz-line); color: var(--shz-line-text); }
	.shz-bar__tel { background: var(--shz-green); color: #fff; }
	.shz-bar__form { flex: 0 0 26% !important; border: 1px solid var(--shz-green); color: var(--shz-green); background: #fff; }
	body { padding-bottom: 72px; }
	#back-to-top { right: 12px !important; bottom: 84px !important; }
}
