/*
 * ひろせ建築 サイト追加（2026-10-24 株式会社FUTSU）
 * 読み込み元: wp-content/mu-plugins/hiroken-fx.php
 */

/* ---------- 追従CTA（PC：ヘッダー右／スマホ・タブレット：画面下） ---------- */
.fx-cta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
	margin-right: 32px;
}
.fx-cta a,
.fx-ctabar a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-weight: 600;
	letter-spacing: .12em;
	line-height: 1;
	text-decoration: none;
	transition: opacity .2s;
}
.fx-cta a {
	height: 44px;
	padding: 0 22px;
	font-size: 15px;
	border: 1px solid #4e4e4e;
	white-space: nowrap;
}
.fx-cta a:hover,
.fx-ctabar a:hover {
	opacity: .8;
}
.fx-cta a:focus-visible,
.fx-ctabar a:focus-visible,
.fx-footer a:focus-visible {
	outline: 2px solid #0369a1;
	outline-offset: 2px;
}
.fx-footer a:focus-visible {
	outline-color: #fff;
}
.fx-cta .fx-ev,
.fx-ctabar .fx-ev {
	background: #fff;
	color: #333;
}
.fx-cta .fx-ct,
.fx-ctabar .fx-ct {
	background: #4e4e4e;
	color: #fff;
}
.fx-ctabar {
	display: none;
}
/* 1025〜1450px：子テーマはスクロール後のヘッダー全体を opacity:.7 にするため、中のCTAまで透ける。
   背景だけを半透明にして、ロゴ・CTA・メニューボタンは不透明のままにする。
   メニューを開いた時（.sc20_back）は子テーマどおり白一色のまま */
@media (min-width: 1025px) and (max-width: 1450px) {
	.header--xs.sc20:not(.sc20_back) {
		opacity: 1 !important;
		background-color: rgba(255, 255, 255, .7) !important;
	}
}
/* 1451px以上：子テーマはヘッダーを別物（.header--md）に切り替え、CTAを置く空きが無いので右下に縦並びで固定 */
@media (min-width: 1451px) {
	.fx-ctabar {
		display: flex;
		flex-direction: column;
		gap: 8px;
		position: fixed;
		right: 24px;
		bottom: 24px;
		z-index: 9990;
	}
	.fx-ctabar a {
		height: 48px;
		padding: 0 22px;
		font-size: 15px;
		border: 1px solid #4e4e4e;
	}
	/* 濃い灰色の区画（施工事例・お問い合わせ）の上でも形が分かるように白で縁取る */
	.fx-ctabar .fx-ct {
		border-color: #fff;
	}
	/* ヘッダーに元の「お問い合わせ」ボタンがあるページ（会社全体・リフォーム側）は、右下は「イベント情報」だけ（2026-10-24 市岡さん決定） */
	.fx-ctabar.fx-has-header-contact .fx-ct {
		display: none;
	}
	/* お問い合わせフォームの reCAPTCHA の表示を、右下のボタンの上に逃がす */
	.grecaptcha-badge {
		bottom: 140px !important;
	}
}
@media (max-width: 1024px) {
	.fx-cta {
		display: none;
	}
	.fx-ctabar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9990;
		padding-bottom: env(safe-area-inset-bottom, 0px);
		background: #fff;
		border-top: 1px solid #d9d9d9;
	}
	.fx-ctabar a {
		flex: 1 1 50%;
		height: 56px;
		font-size: 15px;
	}
	body {
		padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
	}
	/* メニューを開いている間は隠す（メニューの最後の項目に重ならないように） */
	body:has(#menu.opennav) .fx-ctabar {
		display: none;
	}
	.grecaptcha-badge {
		bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
	}
}

/* ---------- 新築トップ（ページID 114）：ファーストビュー ---------- */
.elementor-114 .elementor-element-8bdffb7 {
	position: relative;
}
/* 写真の上の暗幕：文字の後ろを濃く、周りは薄く（白い壁の写真でも白文字が 4.5:1 以上になる濃さ。2026-10-24 実測） */
.elementor-114 .elementor-element-8bdffb7::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 72% 62% at 50% 50%, rgba(20, 20, 20, .70) 0%, rgba(20, 20, 20, .58) 50%, rgba(20, 20, 20, .30) 100%);
	pointer-events: none;
	z-index: 1;
}
/* position は変えない（非表示中のイベント告知は absolute 配置のため） */
.elementor-114 .elementor-element-8bdffb7 > .elementor-element {
	z-index: 2;
}
/* PC：タグライン（h1）・英文（ブランド名の行は 2026-10-25 横山さん指示で削除） */
.elementor-114 .elementor-element-1dfe1b8 .elementor-heading-title,
.elementor-114 .elementor-element-a7f3c21 .elementor-heading-title {
	text-shadow: none !important;
}
.elementor-114 .elementor-element-1dfe1b8 .elementor-heading-title {
	margin: 0 !important;
	font-family: "Zen Old Mincho", serif !important;
	font-size: 50px !important;
	font-weight: 600 !important;
	letter-spacing: .14em !important;
	line-height: 1.65 !important;
	color: #fff !important;
}
.elementor-114 .elementor-element-a7f3c21 .elementor-heading-title {
	margin: 26px 0 0 !important;
	font-family: "Zen Old Mincho", serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	letter-spacing: .16em !important;
	line-height: 1.6 !important;
	color: #fff !important;
}
/* スマホ：同じ2行をテキストで */
.elementor-114 .elementor-element-18c2bdb p {
	margin: 0;
	font-family: "Zen Old Mincho", serif !important;
	color: #fff !important;
	text-align: center;
}
.elementor-114 .elementor-element-18c2bdb .fx-fv-tag {
	font-size: 27px !important;
	font-weight: 600 !important;
	letter-spacing: .1em !important;
	line-height: 1.7 !important;
}
.elementor-114 .elementor-element-18c2bdb .fx-fv-en {
	margin-top: 18px;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: .16em !important;
	line-height: 1.6 !important;
}

/* ---------- 新築トップ：コンセプト ---------- */
.elementor-114 .elementor-element-9d9185f .elementor-heading-title {
	margin: 0 0 26px !important;
	font-family: "Zen Old Mincho", serif !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	letter-spacing: .1em !important;
	line-height: 1.7 !important;
	color: #333 !important;
	word-break: auto-phrase;
}
/* 文節を途中で折らない（auto-phrase が効かないブラウザ向け） */
.elementor-114 .elementor-element-9d9185f .fx-nw {
	display: inline-block;
}
.elementor-114 .elementor-element-ae9484c p {
	margin: 0 0 1.1em;
	font-family: "Zen Old Mincho", serif !important;
	font-size: 16px !important;
	letter-spacing: .06em !important;
	line-height: 2 !important;
	color: #333 !important;
	word-break: auto-phrase;
}
@media (max-width: 767px) {
	.elementor-114 .elementor-element-9d9185f .elementor-heading-title {
		font-size: 18px !important;
		text-align: center;
	}
	.elementor-114 .elementor-element-9d9185f .elementor-heading-title br {
		display: none;
	}
	.elementor-114 .elementor-element-ae9484c p {
		font-size: 15px !important;
		letter-spacing: .04em !important;
	}
}

/* ---------- 全ページ共通フッター ---------- */
#site-footer {
	display: none !important;
}
.fx-footer {
	background: #333;
	color: #e6e6e6;
	font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
	letter-spacing: .06em;
}
.fx-footer a {
	color: #e6e6e6;
	text-decoration: none;
}
.fx-footer a:hover {
	opacity: .75;
}
.fx-footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 72px 40px 48px;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr);
	gap: 56px;
}
.fx-footer p,
.fx-footer dl,
.fx-footer dd,
.fx-footer ul {
	margin: 0;
}
.fx-footer-name {
	margin-bottom: 6px !important;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: .14em;
	color: #fff;
}
.fx-footer-sub {
	margin-bottom: 22px !important;
	font-size: 14px;
	color: #b5b5b5;
}
.fx-footer dl {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px 16px;
	font-size: 14px;
	line-height: 1.7;
}
.fx-footer dt {
	color: #b5b5b5;
	font-weight: 400;
	white-space: nowrap;
}
.fx-footer dd a[href^="tel:"] {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: -12px 0;
}
.fx-footer-sns {
	margin-top: 22px;
}
.fx-footer-sns a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	font-size: 14px;
	border: 1px solid #777;
}
.fx-footer-nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}
.fx-footer-nav-head {
	margin-bottom: 14px !important;
	padding-bottom: 10px;
	border-bottom: 1px solid #555;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .12em;
	color: #fff;
}
.fx-footer-nav ul {
	list-style: none;
	padding: 0;
}
.fx-footer-nav li {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.5;
}
/* 新築（ロセホーム）のフッター：名前の下の補足行が無いぶん余白を取り、メニューは1組だけなので段組みで並べる */
.fx-footer--new .fx-footer-name {
	margin-bottom: 22px !important;
}
/* 新築のフッターのロゴ：ヘッダーと同じ画像（灰色）を白にして、ヘッダーと同じ大きさで出す（2026-10-26） */
.fx-footer-logo {
	line-height: 0;
}
.fx-footer-logo img {
	display: block;
	width: 252px;
	max-width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
}
@media (max-width: 767px) {
	.fx-footer-logo img {
		width: 216px;
	}
}
.fx-footer--new .fx-footer-nav {
	grid-template-columns: minmax(0, 1fr);
}
.fx-footer--new .fx-footer-nav ul {
	columns: 3;
	column-gap: 32px;
}
.fx-footer--new .fx-footer-nav li {
	break-inside: avoid;
}
.fx-footer-copy {
	padding: 20px 40px;
	border-top: 1px solid #4a4a4a;
	text-align: center;
	font-size: 14px;
	color: #b5b5b5;
	letter-spacing: .08em;
}
@media (max-width: 1024px) {
	.fx-footer-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
		padding: 56px 24px 36px;
	}
	.fx-footer-nav-head {
		margin-bottom: 4px !important;
	}
	.fx-footer-nav li {
		margin: 0;
		break-inside: avoid;
	}
	.fx-footer-nav li a {
		display: block;
		padding: 12px 0;
	}
}
@media (max-width: 767px) {
	.fx-footer-inner {
		padding: 48px 20px 28px;
	}
	.fx-footer-name {
		font-size: 19px;
	}
	.fx-footer-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}
	.fx-footer-nav > div:last-child {
		grid-column: 1 / -1;
	}
	.fx-footer-nav > div:last-child ul {
		columns: 2;
		column-gap: 20px;
	}
	.fx-footer-copy {
		padding: 20px;
	}
}

/* 旧フッター（Happy Addons テンプレート）のうち ADDRESS・SITE MAP・コピーライト。同じ情報は上の共通フッターにある。
   ACCESS MAP（Googleマップ）の区画そのものは残す */
.elementor-672 .elementor-element-64861ed ~ .elementor-element,
.elementor-678 .elementor-element-2bddd8c ~ .elementor-element,
.elementor-743 .elementor-element-e2f58af ~ .elementor-element,
.elementor-866 .elementor-element-35cff72 ~ .elementor-element {
	display: none !important;
}

/* ---------- 表示崩れの修正 ---------- */
/* テンプレート678で表示するページ：本文側にもヘッダーが入っていて二重になる。本文側を隠す */
.elementor-678 .elementor-widget-ha-post-content .header--xs,
.elementor-678 .elementor-widget-ha-post-content #header {
	display: none !important;
}
/* 新築の施工事例：ページ下部に重複したヘッダー・見出し・パンくず */
.elementor-1497 .elementor-element-2b40e995,
.elementor-1497 .elementor-element-2f04671,
.elementor-1497 .elementor-element-3cea2e40,
.elementor-1497 .elementor-element-1d9def63,
.elementor-1497 .elementor-element-31c08441 {
	display: none !important;
}
