/* .otpv-wrap（voiceページのLP断片）は自前のCSSを持つため、
   共通見出しの対象から除外している（2026-08-23 実測: 断片内のh3に1.8emの
   余白が乗ってカードが間延びした） */
/* ============================================================
   otp-site.css — サイト共通CSS（見出しの統一＋PC固定フッターの新バー）
   ------------------------------------------------------------
   置き場所: https://otasuke-plus.com/main/lp/otp-site.css
   読み込み: 共有PHP（/main/shortcode-functions.php）の⑮ブロックが
             OTP_SITE_STAGE の値に応じて enqueue する（'' で完全停止）
   ★ このファイルを上げ直したら、⑮の版番号（?v=）も必ず変える。
     変えないと閲覧者のブラウザが古いCSSを使い続ける（lp-pet.css で実際に起きた）

   【ここがサイト唯一の見出し定義】（2026-08-22 社長承認・二重管理の解消）
     それまで lp-pet.css の中に「通常版」と「!important版」の2箇所あった
     h2〜h5 の定義を、このファイル1本に集約した。lp-pet.css 側は撤去済み
     （drafts/impl/lp-pet.trimmed.css → 反映後は dist/lp-pet.css）。
     見出しの見た目を直すときは、このファイルだけを直す。

   戻し方: ⑮の OTP_SITE_STAGE を '' にする（1行）。それだけで
   このCSSは読み込まれなくなり、見た目は反映前に戻る。
   ※ lp-pet.css の trimmed 版を上げた後に戻す場合は、lp-pet.css も
     控えから戻すこと（手順は dist/ROLLOUT_css_footer.md）
   ============================================================ */

/* 見出し用のWebフォント（丸ゴシック）。実ファイルは 900 の1種類だけ
   （2026-08-12 に 700 を廃止。700 指定の箇所はブラウザが 900 で描く）。
   lp-pet.css にも同じ宣言があるが、URLが同一なのでダウンロードは1回。 */
@font-face {
	font-family: "Zen Maru Gothic";
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url("https://otasuke-plus.com/main/lp/zen-maru-900.woff2") format("woff2");
}

/* ============================================================
   A. 見出し（サイト全体で統一。値は lp-pet.css の !important 版そのまま）
   ------------------------------------------------------------
   スコープの根拠（テーマ mct を実測）:
     ・本文は .keni-main > .keni-section > .article-body の中に出る
       （mct/template-parts/content-page.php 31行目・content-post.php 同様）
     ・サイドバーは .keni-sub、フッターウィジェットは .keni-footer 配下
       なので、.keni-main .article-body に限定すればどちらにも波及しない
     ・トップページ（page_top.php）は .article-body を使わない独自構成
       （.tp-section）なので影響しない
     ・LPは「本文の中の .lp-pet」なので、この同じ規則が効く
   !important の理由（lp-pet.css 1638行の実測コメントと同じ）:
     mct-child/base.css が h2/h3/h4 に color:#fff!important＋濃色背景を
     素の要素セレクタで持っており、値の固定が要る
   ============================================================ */
.keni-main .article-body h2:not(.otpv-wrap *) {
	margin: 2.6em 0 1.2em !important;
	padding: 14px 22px !important;
	background: linear-gradient(135deg, #EF8212, #F6B26B) !important;
	border: none !important;
	border-radius: 18px !important;
	box-shadow: inset 0 0 0 2px rgba(255,255,255,0.5), 0 3px 0 #D9700B !important;
	text-align: center !important;
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif !important;
	font-size: 24px !important;
	font-weight: 900 !important;
	line-height: 1.45 !important;
	color: #ffffff !important;
}
.keni-main .article-body h2:not(.otpv-wrap *)::before,
.keni-main .article-body h2:not(.otpv-wrap *)::after { content: none !important; }

.keni-main .article-body h3:not(.otpv-wrap *) {
	margin: 1.8em 0 0.8em !important;
	padding: 0.3em 0.1em !important;
	background: none !important;
	border: none !important;
	border-bottom: 3px solid #F0C89B !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-align: left !important;
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: #35302A !important;
}
.keni-main .article-body h3:not(.otpv-wrap *)::before,
.keni-main .article-body h3:not(.otpv-wrap *)::after { content: none !important; }

.keni-main .article-body h4:not(.otpv-wrap *) {
	margin: 1.4em 0 0.6em !important;
	padding: 0.15em 0.6em !important;
	background: none !important;
	border: none !important;
	border-left: 4px solid #F08A3C !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-align: left !important;
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: #35302A !important;
}
.keni-main .article-body h4:not(.otpv-wrap *)::before,
.keni-main .article-body h4:not(.otpv-wrap *)::after { content: none !important; }

.keni-main .article-body h5:not(.otpv-wrap *) {
	margin: 1.4em 0 0.5em !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	text-align: left !important;
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: #EF8519 !important;   /* 旧 #B8560F。2026-08-11 オレンジ統一 */
}

/* スマホの縮小（lp-pet.css の実値どおり） */
@media (max-width: 767px) {
	.keni-main .article-body h2:not(.otpv-wrap *) { font-size: 22px !important; padding: 12px 14px !important; border-radius: 15px !important; }
}

/* ============================================================
   B. PC固定フッターの新バー（drafts/mock/footer_mock.html【新案】を移植）
   ------------------------------------------------------------
   仕組み:
     ・新バー #otp-footbar は共有PHP⑮が wp_footer で出力する
     ・旧バー #fixed-footer は PC幅でだけ非表示にする（HTMLは残す＝即戻せる）
       display:none に !important が要るのは、テーマの my-utility.js が
       インラインで style="display: block" を付けるため（実測）
     ・PC/SPの境界は 750px（mct-child/base.css 351/355行の実測値に合わせた）
     ・SPは現行のまま（#fixed-footer のSP表示・.footer_banner の2ボタン構成
       には触らない）。文字サイズだけ 19px に上げる（2026-08-22 社長指示）
     ・電話リンクの計測クラス lm-incoming-call は新バー側にも付けてある
       （PHP⑮のHTML）。外すと広告・計測のクリック集計が切れる
   ============================================================ */
#otp-footbar { display: none; }

@media (min-width: 751px) {
	#fixed-footer { display: none !important; }

	#otp-footbar {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 10;                 /* 旧バーと同じ値（base.css 359行） */
		display: flex;
		align-items: center;
		gap: 20px;
		/* 実高の目安: 中身の最大はボタン(10px+14px)×1.4+padding14px≒48px。
		   バー上下padding6px×2で計約60px（旧バー約70px以下・社長指示） */
		padding: 6px 20px;
		background: rgba(255,255,255,0.82);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		box-shadow: 0 -4px 16px rgba(0,0,0,0.08);
		box-sizing: border-box;
	}
	#otp-footbar * { box-sizing: border-box; }
	#otp-footbar .otp-fb-inner {
		max-width: 1200px;           /* 旧バーの .fixed-footer_container と同じ */
		margin: 0 auto;
		display: flex;
		align-items: center;
		gap: 20px;
		width: 100%;
	}
	#otp-footbar a { text-decoration: none; }
	#otp-footbar .otp-fb-logo img { width: 150px; height: auto; display: block; flex-shrink: 0; }
	#otp-footbar .otp-fb-badges {
		display: grid;
		grid-template-columns: repeat(2, auto);
		gap: 3px 6px;
		list-style: none;
		margin: 0;
		padding: 0;
	}
	#otp-footbar .otp-fb-badges li {
		font-size: 11px;
		color: #D9700B;
		background: #FFF7EF;
		border: 1.5px solid #EF8212;
		border-radius: 999px;
		/* 4つとも同じ高さに固定（2026-08-23 社長指摘: 実績多数だけ高さが違って見えた） */
		box-sizing: border-box;
		height: 22px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
		padding: 0 8px;
		white-space: nowrap;
		text-align: center;
		line-height: 1.5;
	}
	#otp-footbar .otp-fb-spacer { flex: 1; min-width: 12px; }
	#otp-footbar .otp-fb-tel { text-align: center; flex-shrink: 0; }
	#otp-footbar .otp-fb-tel-label {
		display: block;
		font-size: 10px;
		color: #7E7466;
		letter-spacing: 0.06em;
		line-height: 1.15;
	}
	#otp-footbar .otp-fb-tel-number {
		display: block;
		font-size: 22px;
		font-weight: 900;
		color: #35302A;
		letter-spacing: 0.02em;
		line-height: 1.15;
		white-space: nowrap;
	}
	#otp-footbar .otp-fb-tel-number::before { content: "\260E\00A0"; font-size: 18px; }
	#otp-footbar .otp-fb-btn {
		display: inline-block;
		background: linear-gradient(135deg, #EF8212, #F6B26B);
		border-radius: 14px;
		box-shadow: inset 0 0 0 2px rgba(255,255,255,0.5), 0 3px 0 #D9700B;
		color: #fff;
		font-weight: 700;
		font-size: 14px;
		padding: 7px 18px;
		line-height: 1.4;
		text-align: center;
		white-space: nowrap;
		flex-shrink: 0;
		transition: filter .15s, transform .15s, box-shadow .15s;
	}
	#otp-footbar .otp-fb-btn small { display: block; font-size: 10px; font-weight: 700; opacity: .95; }
	#otp-footbar .otp-fb-btn:hover {
		filter: brightness(1.06);
		transform: translateY(-1px);
		box-shadow: inset 0 0 0 2px rgba(255,255,255,0.5), 0 4px 0 #D9700B;
	}
}

@media (max-width: 750px) {
	/* SPは現行構成のまま。相談ボタンの文字だけ 16px→19px（2026-08-22 社長指示）。
	   .footer_banner の元の定義場所は未特定（子テーマCSS・カスタマイザーCSS・
	   共有PHPを実測して該当なし）のため、限定セレクタ＋!important で上書きする */
	.keni-footer-panel .footer_banner .white { font-size: 19px !important; }
}
