﻿/*
Theme Name: Mach Paint Theme
Theme URI: https://uchix-tochigi-toso.com/
Author: SaC株式会社
Description: マッハ塗装 小山西城南店用オリジナルテーマ
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mach-theme
Tags: painting, local-business, responsive
*/
/* =====================================================   目次   1.  カスタムプロパティ（CSS変数）   2.  リセット・ベース   3.  タイポグラフィ   4.  レイアウトユーティリティ   5.  ボタン   6.  ヘッダー   7.  ファーストビュー   8.  信頼バー   9.  選ばれる理由   10. 塗装メニュー   11. 施工の流れ   12. 施工事例   13. お客様の声   14. FAQ   15. ショールーム案内   16. CTA   17. フッター   18. レスポンシブ（768px / 1024px）   ===================================================== *//* ---------- 1. カスタムプロパティ ---------- */:root {	/* カラーパレット */	--clr-primary:       #1B4F8A;	--clr-primary-dark:  #0D3360;	--clr-primary-light: #EBF2FB;	--clr-accent:        #E8601A;	--clr-accent-dark:   #C44E0E;	--clr-accent-light:  #FEF0E9;	--clr-text:          #222222;	--clr-muted:         #777777;	--clr-border:        #E5E7EB;	--clr-bg:            #FFFFFF;	--clr-bg-alt:        #F7F8FA;	--clr-bg-dark:       #0F1E2D;	--clr-white:         #FFFFFF;	/* タイポグラフィ */	--font-base: 'Noto Sans JP', sans-serif;	/* レイアウト */	--container-max: 1200px;	--container-pad: 1.25rem;	--section-pad-y: 4rem;	/* デザイントークン */	--radius-sm: 4px;	--radius:    8px;	--radius-lg: 16px;	--shadow:    0 4px 20px rgba(0, 0, 0, 0.08);	--shadow-md: 0 8px 40px rgba(0, 0, 0, 0.14);	--transition: 0.3s ease;}/* ---------- 2. リセット・ベース ---------- */*, *::before, *::after {	box-sizing: border-box;	margin: 0;	padding: 0;}html {	scroll-behavior: smooth;	font-size: 16px;}body {	font-family: var(--font-base);	color: var(--clr-text);	background-color: var(--clr-bg);	line-height: 1.7;	-webkit-font-smoothing: antialiased;}img {	max-width: 100%;	height: auto;	display: block;}a {	color: var(--clr-primary);	text-decoration: none;	transition: color var(--transition);}a:hover { color: var(--clr-accent); }ul, ol { list-style: none; }/* ---------- 3. タイポグラフィ ---------- */h1 { font-size: clamp(1.75rem, 5vw, 3rem);    font-weight: 700; line-height: 1.25; }h2 { font-size: clamp(1.5rem, 4vw, 2.25rem);  font-weight: 700; line-height: 1.3;  }h3 { font-size: clamp(1.125rem, 3vw, 1.5rem); font-weight: 700; line-height: 1.4;  }h4 { font-size: 1.125rem; font-weight: 700; }p { margin-bottom: 1rem; }p:last-child { margin-bottom: 0; }/* ---------- 4. レイアウトユーティリティ ---------- */.screen-reader-text {	border: 0;	clip: rect(1px,1px,1px,1px);	clip-path: inset(50%);	height: 1px;	margin: -1px;	overflow: hidden;	padding: 0;	position: absolute;	width: 1px;	word-wrap: normal !important;}.screen-reader-text:focus {	background-color: #f1f1f1;	border-radius: 3px;	box-shadow: 0 0 2px 2px rgba(0,0,0,.6);	clip: auto !important;	clip-path: none;	color: #21759b;	display: block;	font-size: .875rem;	height: auto;	left: 5px;	line-height: normal;	padding: .875rem 1.5rem .875rem;	text-decoration: none;	top: 5px;	width: auto;	z-index: 100000;}.container {	width: 100%;	max-width: var(--container-max);	margin-inline: auto;	padding-inline: var(--container-pad);}.section {	padding-block: var(--section-pad-y);}.section--alt {	background-color: var(--clr-bg-alt);}.section-header {	text-align: center;	margin-bottom: 2.5rem;}.section-label {	display: inline-block;	font-size: 0.75rem;	font-weight: 700;	letter-spacing: 0.15em;	text-transform: uppercase;	color: var(--clr-accent);	margin-bottom: 0.5rem;}.section-title {	font-size: clamp(1.5rem, 4vw, 2.25rem);	color: var(--clr-primary-dark);	margin-bottom: 0.875rem;}.section-lead {	color: var(--clr-muted);	font-size: 0.95rem;	line-height: 1.8;	max-width: 600px;	margin-inline: auto;}.section-more {	text-align: center;	margin-top: 2rem;}/* ---------- 5. ボタン ---------- */.btn {	display: inline-flex;	align-items: center;	justify-content: center;	gap: 0.5rem;	padding: 0.875rem 2rem;	border-radius: var(--radius);	font-family: var(--font-base);	font-size: 1rem;	font-weight: 700;	line-height: 1;	cursor: pointer;	border: 2px solid transparent;	transition: all var(--transition);	text-decoration: none;	white-space: nowrap;}.btn-primary {	background-color: var(--clr-primary);	color: var(--clr-white);	border-color: var(--clr-primary);}.btn-primary:hover {	background-color: var(--clr-primary-dark);	border-color: var(--clr-primary-dark);	color: var(--clr-white);}.btn-accent {	background-color: var(--clr-accent);	color: var(--clr-white);	border-color: var(--clr-accent);}.btn-accent:hover {	background-color: var(--clr-accent-dark);	border-color: var(--clr-accent-dark);	color: var(--clr-white);}.btn-outline-white {	background-color: transparent;	color: var(--clr-white);	border-color: var(--clr-white);}.btn-outline-white:hover {	background-color: var(--clr-white);	color: var(--clr-primary);}.btn-lg {	padding: 1.125rem 2.5rem;	font-size: 1.05rem;}.btn-sm {	padding: 0.625rem 1.25rem;	font-size: 0.875rem;}/* ---------- 6. ヘッダー ---------- */.site-header {	position: relative;}/* 1段目: ロゴ ／ 右側グループ */.header-top {	background-color: var(--clr-white);	border-bottom: 1px solid var(--clr-border);	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);}.header-top-inner {	display: flex;	align-items: center;	justify-content: space-between;	height: 80px;}/* ロゴ（左端） */.header-logo { flex-shrink: 0; }.logo-link {	display: flex;	align-items: center;	line-height: 1;	text-decoration: none;}.logo-img {	height: 54px;	width: auto;	display: block;}/* 右側グループ: 電話番号 + バナー（タブレット以上で表示） */.header-right {	display: none;	align-items: center;	gap: 18px;}/* 電話番号（右寄せ） */.header-tel-block {	text-align: right;	white-space: nowrap;}.header-tel-label {	font-size: 0.7rem;	color: var(--clr-muted);	margin-bottom: 0.125rem;}.header-tel-number {	display: block;	font-size: 1.875rem;	font-weight: 900;	color: var(--clr-primary);	letter-spacing: 0.02em;	line-height: 1;	text-decoration: none;	transition: color var(--transition);}.header-tel-number:hover { color: var(--clr-accent); }/* アクションバナー2枚 */.header-action-banners {	display: flex;	align-items: center;	gap: 8px;	flex-shrink: 0;}.header-action-banner {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	text-decoration: none;	color: #fff;	border-radius: 6px;	padding: 6px 18px;	height: 56px;	min-width: 150px;	text-align: center;	line-height: 1.3;	transition: filter 0.2s ease;	font-weight: 700;	cursor: pointer;}.header-action-banner:hover {	filter: brightness(1.12);	color: #fff;}.header-action-banner--visit {	background: linear-gradient(150deg, #2da02d 0%, #1d7a1d 100%);	box-shadow: 0 3px 10px rgba(30,130,30,.35);}.header-action-banner--estimate {	background: linear-gradient(150deg, #d60000 0%, #a80000 100%);	box-shadow: 0 3px 10px rgba(200,0,0,.35);}.hab-sub {	font-size: 0.65rem;	font-weight: 500;	opacity: 0.92;	line-height: 1.2;	display: block;}.hab-main {	font-size: 0.875rem;	font-weight: 900;	line-height: 1.25;	letter-spacing: 0.03em;	display: block;}/* SP専用ヘッダーアクション: 電話ボタン + メニューボタン */.sp-header-actions {	display: flex;	align-items: center;	gap: 8px;	flex-shrink: 0;}/* SP電話ボタン */.sp-tel-btn {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	gap: 3px;	width: 52px;	height: 52px;	background: #fff;	color: #d60000;	border: 2px solid #d60000;	border-radius: 6px;	text-decoration: none;	flex-shrink: 0;}.sp-tel-btn-icon {	font-size: 1.25rem;	line-height: 1;}.sp-tel-btn-label {	font-size: 0.625rem;	font-weight: 700;	letter-spacing: 0.05em;	line-height: 1;}/* メニューボタン（ハンバーガー） */.hamburger {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	gap: 3px;	width: 52px;	height: 52px;	background: #d60000;	border: none;	border-radius: 6px;	cursor: pointer;	padding: 6px;	flex-shrink: 0;}.hamburger-lines {	display: flex;	flex-direction: column;	gap: 5px;	width: 22px;}.hamburger-lines span {	display: block;	width: 100%;	height: 2px;	background-color: #fff;	border-radius: 2px;	transition: all var(--transition);}.hamburger-label {	font-size: 0.625rem;	font-weight: 700;	color: #fff;	letter-spacing: 0.05em;	line-height: 1;}.hamburger.is-active .hamburger-lines span:nth-child(1) { transform: translateY(7px) rotate(45deg); }.hamburger.is-active .hamburger-lines span:nth-child(2) { opacity: 0; }.hamburger.is-active .hamburger-lines span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }/* 2段目: 赤グローバルナビ（タブレット以上で表示） */.header-gnav {	display: none;	background-color: #d60000;}.gnav-list {	display: flex;	list-style: none;	margin: 0;	padding: 0;}.gnav-list > li {	flex: 1;	border-left: 1px solid rgba(255, 255, 255, 0.35);	border-right: 1px solid rgba(0, 0, 0, 0.12);}.gnav-list > li:first-child { border-left: none; }.gnav-list > li:last-child  { border-right: none; }.gnav-list a {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	height: 76px;	padding: 0 0.5rem;	color: var(--clr-white);	font-size: 1rem;	font-weight: 700;	text-decoration: none;	line-height: 1.2;	text-align: center;	transition: background-color var(--transition);	white-space: nowrap;}.gnav-list a span {	display: block;	font-size: 0.75rem;	font-weight: 400;	letter-spacing: 0.06em;	opacity: 0.82;	margin-top: 2px;}.gnav-list a:hover,.gnav-list .current-menu-item a {	background-color: #a80000;	color: var(--clr-white);}/* モバイルナビドロワー */.mobile-nav {	display: none;	position: fixed;	top: 0;	left: 0;	right: 0;	bottom: 0;	background-color: var(--clr-white);	z-index: 999;}.mobile-nav.is-open { display: block; }
/* スクロール領域（閉じるボタンはこの外側にあるため常に画面内に固定される） */
.mobile-nav-panel {	height: 100%;	max-height: 100dvh;	overflow-y: auto;	overscroll-behavior: contain;	-webkit-overflow-scrolling: touch;	padding: 72px 0 calc(24px + env(safe-area-inset-bottom));}
/* 右上の閉じるボタン */.mobile-nav-close {	position: absolute;	top: calc(12px + env(safe-area-inset-top));	right: 16px;	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	gap: 2px;	width: 52px;	height: 52px;	background: #d60000;	color: #fff;	border: none;	border-radius: 6px;	cursor: pointer;	z-index: 10;	padding: 6px;	flex-shrink: 0;}.mobile-nav-close-icon {	font-size: 1.5rem;	font-weight: 900;	line-height: 1;}.mobile-nav-close-label {	font-size: 0.625rem;	font-weight: 700;	letter-spacing: 0.05em;	line-height: 1;}
/* ナビリスト: 1項目1行・白/薄グレー交互 */
.mobile-nav-list {	margin: 0 0 1.5rem;	padding: 0;	list-style: none;}
.mobile-nav-list li {	margin: 0;	border-bottom: 1px solid #e1e4e8;}
.mobile-nav-list li:nth-child(odd) {	background: #fff;}
.mobile-nav-list li:nth-child(even) {	background: #f5f6f7;}
.mobile-nav-list a {	display: flex;	align-items: center;	justify-content: space-between;	gap: 12px;	min-height: 56px;	padding: 14px 20px;	color: var(--clr-text);	font-size: 1.0625rem;	font-weight: 700;	line-height: 1.55;	text-decoration: none;	box-sizing: border-box;}
.mobile-nav-list a::after {	content: '\203A';	font-size: 1.25rem;	font-weight: 400;	color: #c3c8ce;	flex-shrink: 0;}
.mobile-nav-list a:active {	background-color: rgba(214,0,0,.06);}
.mobile-nav-list a[aria-current="page"] {	color: #d60000;}
.mobile-nav-list a:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: -3px;}
/* 電話発信CTA */.mobile-nav-tel {	margin-bottom: 1rem;	padding-inline: var(--container-pad);}.mobile-nav-tel-label {	font-size: 0.8125rem;	color: var(--clr-muted);	text-align: center;	line-height: 1.6;	margin-bottom: 0.75rem;}.mobile-nav-tel-btn {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	gap: 4px;	width: 100%;	min-height: 80px;	background: #d60000;	color: #fff;	border-radius: 10px;	text-decoration: none;	padding: 1rem;}.mobile-nav-tel-btn-icon {	font-size: 1.375rem;	line-height: 1;}.mobile-nav-tel-btn-number {	font-size: 1.875rem;	font-weight: 900;	letter-spacing: 0.02em;	line-height: 1;}.mobile-nav-tel-btn-sub {	font-size: 0.75rem;	font-weight: 700;	opacity: 0.9;}
/* 来店相談・見積相談ボタン: PCヘッダー右上（.header-action-banner）を再利用しつつ、SPは横幅・余白のみ調整 */
.mobile-nav-actions {	display: flex;	gap: 10px;	margin-top: 1rem;	margin-bottom: 1.5rem;	padding-inline: var(--container-pad);}
.mobile-nav-actions .header-action-banner {	flex: 1 1 0;	min-width: 0;	width: auto;	height: auto;	min-height: 48px;	padding: 10px 8px;}/* ---------- 7. ファーストビュー ---------- */.fv-slider {	overflow: hidden;	background-color: #f5f5f5;	position: relative;}.fv-slider-arrow {	position: absolute;	top: 50%;	transform: translateY(-50%);	z-index: 10;	width: 38px;	height: 38px;	border-radius: 50%;	border: none;	background: rgba(0, 0, 0, 0.42);	color: #fff;	font-size: 28px;	line-height: 1;	cursor: pointer;	display: flex;	align-items: center;	justify-content: center;	transition: background-color 0.2s ease;	padding: 0;}.fv-slider-arrow:hover {	background: rgba(214, 0, 0, 0.85);}/* スマホ: 画面端から少し内側 */.fv-slider-prev { left: 10px; }.fv-slider-next { right: 10px; }.fv-slider-dots {	display: flex;	justify-content: center;	align-items: center;	gap: 10px;	padding: 12px 0 16px;	background: #fff;}.fv-slider-dot {	width: 11px;	height: 11px;	border-radius: 50%;	border: none;	background: #c7c7c7;	cursor: pointer;	padding: 0;	transition: background-color 0.25s ease;}.fv-slider-dot.is-active { background: #111; }.fv-slider-dot:hover     { background: #d60000; }.fv-slider-track {	display: flex;	align-items: flex-start;	will-change: transform;	/* JSがtransformで位置制御 */}/* モバイル：1枚全幅表示 */.fv-slide {	flex: 0 0 100vw;}.fv-slide img {	width: 100%;	height: auto;	display: block;}/* PC/SP スライダー 表示切り替え */.fv-slider--sp,.fv-slider-dots--sp { display: none; }      /* PC では SP を非表示 */.fv-slide a {	display: block;	line-height: 0;                           /* a タグの余白を除去 */}.fv-slide a img { display: block; }/* ---------- 8. プロモーションバナーエリア ---------- */.top-promo-section {	background: linear-gradient(180deg, #fff 0%, #fff8e8 45%, #fff 100%);	padding: 20px 0 32px;}.top-promo-inner {	width: 96%;	max-width: 980px;	margin: 0 auto;}.promo-banner {	margin-bottom: 16px;	text-align: center;}.promo-banner:last-child {	margin-bottom: 0;}.promo-banner a,.banner-link {	display: block;	line-height: 0;	text-decoration: none;	transition: opacity 0.2s ease, transform 0.2s ease;}.promo-banner img,.banner-link img {	display: block;	width: 100%;	max-width: 900px;	height: auto;	margin: 0 auto;	border-radius: 4px;	transition: opacity var(--transition);}.promo-banner a:hover,.banner-link:hover {	opacity: 0.9;	transform: translateY(-2px);}@media (min-width: 768px) {	.top-promo-section {		padding: 18px 0 26px;	}	.top-promo-inner {		width: min(92%, 980px);	}	/* PCでバナー画像を少し小さく（高さ約88%） */	.promo-banner img {		max-width: 800px;	}}/* ---------- SP専用 問い合わせバナー（PCでは非表示） ---------- */.sp-contact-banner {	display: none;	background: linear-gradient(160deg, #d60000 0%, #a80000 100%);	padding: 1.25rem var(--container-pad) 1.5rem;	margin-bottom: 2.5rem;}.sp-contact-banner-inner {	max-width: 480px;	margin: 0 auto;	text-align: center;}.sp-contact-banner-headline {	font-size: 1rem;	font-weight: 900;	color: #fff200;	margin-bottom: 0.5rem;	letter-spacing: 0.03em;}.sp-contact-banner-desc {	font-size: 0.8125rem;	color: #fff;	line-height: 1.6;	margin-bottom: 0.875rem;}.sp-contact-tel-link {	display: flex;	align-items: center;	justify-content: center;	gap: 0.5rem;	background: #fff;	border-radius: 8px;	padding: 0.75rem 1rem;	text-decoration: none;	margin-bottom: 0.375rem;}.sp-contact-tel-icon {	font-size: 1.5rem;	color: #d60000;	line-height: 1;	flex-shrink: 0;}.sp-contact-tel-number {	font-size: 2rem;	font-weight: 900;	color: #d60000;	letter-spacing: 0.02em;	line-height: 1;}.sp-contact-tel-hours {	font-size: 0.75rem;	color: rgba(255, 255, 255, 0.88);	margin-bottom: 1rem;}.sp-contact-btns {	display: flex;	gap: 0.625rem;}.sp-contact-btn {	flex: 1;	display: block;	padding: 0.875rem 0.5rem;	border-radius: 6px;	font-size: 0.875rem;	font-weight: 700;	text-align: center;	text-decoration: none;	line-height: 1.35;}.sp-contact-btn--visit {	background: #fff200;	color: #333;}.sp-contact-btn--estimate {	background: #fff;	color: #d60000;}/* スマホ: SP専用バナーを表示 / PC用バナーを非表示 / ロゴ縮小 */@media (max-width: 767px) {	.sp-contact-banner  { display: block; }	.top-promo-section  { display: none; }	.logo-img           { width: clamp(110px, 38vw, 150px); height: auto; max-width: 100%; }
/* SPヘッダー: ロゴ・電話・ハンバーガーの3要素が画面幅を超えないようにする */
.header-top-inner { gap: 8px; }
.header-logo { flex-shrink: 1; min-width: 0; }
.logo-link { min-width: 0; }
/* 店舗名バッジはSP幅では常に画面外に収まらないため視覚的に非表示（読み上げ・クローラーには残す） */
.header-store-block {	position: absolute;	width: 1px;	height: 1px;	padding: 0;	margin: -1px;	overflow: hidden;	clip: rect(0,0,0,0);	white-space: nowrap;	border: 0;}
}/* ---------- 9. マッハ塗装が安い3つの理由 ---------- */.cheap-reasons-section {	background-color: #b30000;	background-image: linear-gradient(135deg, rgba(153,0,0,.70), rgba(224,20,20,.80)), url('assets/images/painting-scenery.jpg');	background-repeat: no-repeat, no-repeat;	background-position: center center, right center;	background-size: cover, cover;	padding: 36px 20px 48px;}.cheap-reasons-inner {	width: min(96%, 1100px);	margin: 0 auto;}/* セクション見出し */.cheap-reasons-title {	color: #fff;	text-align: center;	font-size: clamp(1.5rem, 5vw, 2.75rem);	font-weight: 900;	line-height: 1.3;	margin-bottom: 28px;	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);}.cheap-reasons-title .cr-highlight {	color: #ffea00;	font-size: 1.35em;	display: inline-block;	vertical-align: -0.08em;	line-height: 1;}/* 3カードグリッド */.cheap-reasons-grid {	display: grid;	grid-template-columns: 1fr;	gap: 16px;}.cheap-reason-card {	background: linear-gradient(175deg, #fff35a 0%, #fff8c0 100%);	border: 4px solid #fff;	border-radius: 12px;	padding: 24px 22px 22px;	display: flex;	flex-direction: column;	overflow: hidden;}.cheap-reason-number {	width: 54px;	height: 54px;	border-radius: 50%;	background: #d80000;	color: #fff;	font-size: 1.75rem;	font-weight: 900;	display: flex;	align-items: center;	justify-content: center;	border: 4px solid #fff;	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);	margin-bottom: 14px;}.cheap-reason-photo {	margin-top: 18px;	border-radius: 10px;	overflow: hidden;	height: 145px;	flex-shrink: 0;}.cheap-reason-photo img {	width: 100%;	height: 100%;	object-fit: cover;	object-position: center;	display: block;}
.cheap-reason-photo img[src*="reason-bulk-purchase"] {	object-position: center top;}.cheap-reason-card-title {	font-size: clamp(1.1rem, 3vw, 1.375rem);	font-weight: 900;	color: #111;	line-height: 1.4;	margin-bottom: 10px;}.cheap-reason-desc {	font-size: clamp(0.9rem, 2vw, 1.0625rem);	color: #222;	line-height: 1.8;	font-weight: 600;	flex-grow: 1;}/* ---- 安い理由 CTA ボタン ---- */.cheap-reasons-cta {	text-align: center;	margin-top: 2.5rem;	padding-bottom: 0.25rem;}.cheap-reasons-btn {	display: flex;	align-items: center;	justify-content: center;	gap: 0.5rem;	width: 90%;	margin: 0 auto;	background: #FFD900;	color: #d60000;	font-size: 1rem;	font-weight: 800;	padding: 1rem 1.5rem;	border-radius: 9999px;	text-decoration: none;	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);	letter-spacing: 0.02em;	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;}.cheap-reasons-btn:hover {	background: #d60000;	color: #fff;	transform: translateY(-3px);	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);}@media (min-width: 768px) {	.cheap-reasons-section { padding: 48px 32px 60px; }	.cheap-reasons-grid {		grid-template-columns: repeat(3, 1fr);		gap: 20px;	}	.cheap-reason-photo { height: 160px; }	.cheap-reasons-btn {		display: inline-flex;		width: auto;		margin: 0;		font-size: 1.0625rem;		padding: 0.9375rem 2.5rem;	}}/* ---------- 10. 99.8万円説明セクション ---------- */.price-breakdown-section {	background: #eaf4ff;	padding: 44px 0 56px;}.price-breakdown-inner {	width: min(94%, 1100px);	margin: 0 auto;	overflow: hidden;	border-radius: 8px;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);}/* 青い見出し帯 */.price-breakdown-title {	background: linear-gradient(90deg, #0052a8, #0074d9);	color: #fff;	text-align: center;	font-size: clamp(1.125rem, 3vw, 1.75rem);	font-weight: 900;	padding: 18px 20px;	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);	line-height: 1.35;	margin-bottom: 0;}.pbd-size-label {	display: inline-block;	background: rgba(255, 255, 255, 0.2);	border-radius: 4px;	padding: 2px 8px;	margin-right: 4px;	font-size: 0.8em;	font-weight: 900;}.price-highlight {	color: #ffea00;	font-size: 1.25em;}/* 5価格カードエリア */.price-items {	display: grid;	grid-template-columns: repeat(2, 1fr);	gap: 14px;	background: #eaf4ff;	padding: 24px 20px;}/* ＋マーク付きレイアウト（モバイル: 1列縦積み） */.price-items-with-plus {	grid-template-columns: 1fr;	gap: 0;}.price-plus {	color: #d60000;	font-size: 28px;	font-weight: 900;	text-align: center;	line-height: 1;	padding: 6px 0;	text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);}.price-item {	background: #fff;	border-radius: 8px;	text-align: center;	overflow: hidden;	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);	padding: 0;}.price-item-photo {	height: 90px;	overflow: hidden;}.price-item-photo img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}.price-item-body {	padding: 14px 10px 16px;}.price-item-name {	font-size: 1.0625rem;	font-weight: 900;	color: #003a70;	margin-bottom: 10px;}.price-item-price {	color: #e85c1a;	font-size: 1.875rem;	font-weight: 900;	line-height: 1.2;}.price-unit {	font-size: 0.875rem;	font-weight: 700;}.price-item-tax {	display: block;	margin-top: 4px;	font-size: 0.75rem;	color: #e85c1a;	font-weight: 700;	opacity: 0.85;}
/* CTAボタン（99.8万円セクション） */
.price-cta-wrap {	text-align: center;	padding: 40px 20px 44px;	background: transparent;}
.price-cta-btn {	display: inline-block;	background: linear-gradient(135deg,#e85c1a 0%,#d60000 100%);	color: #fff;	font-size: 1.0625rem;	font-weight: 900;	padding: 18px 32px;	border-radius: 50px;	text-decoration: none;	letter-spacing: 0.03em;	box-shadow: 0 6px 20px rgba(214,0,0,.3);	transition: transform .2s ease, box-shadow .2s ease;	width: min(400px, 90%);	text-align: center;}
.price-cta-btn:hover {	color: #fff;	transform: translateY(-3px);	box-shadow: 0 8px 26px rgba(214,0,0,.42);}
/* 価格CTAボタン PC/SP文言切り替え */
.price-cta-sp-text {	display: none;}
@media (max-width: 767px) {
.price-cta-pc-text {	display: none;}
.price-cta-sp-text {	display: inline;}
}
@media (min-width: 768px) {
.price-misc-note {	padding: 22px 40px 26px;	max-width: 600px;	margin: 0 auto 28px;}
.price-misc-total-num {	font-size: 2.75rem;}
.price-cta-btn {	font-size: 1.375rem;	padding: 20px 56px;	width: auto;	min-width: 420px;}
}
@media (min-width: 768px) {	.price-breakdown-section { padding: 52px 0 64px; }	.price-items {		grid-template-columns: repeat(5, 1fr);		gap: 14px;		padding: 28px 24px;	}	.price-items-with-plus {		grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;		gap: 8px;		align-items: center;	}	.price-plus {		font-size: 34px;		padding: 0 4px;	}	.price-item { padding: 0; }	.price-item-photo { height: 100px; }	.price-item-body { padding: 16px 10px 18px; }	.price-summary p {		font-size: 0.9375rem;		max-width: 640px;	}}
/* ---------- 11. 施工の流れ ---------- */.flow-section { background: #f7f8fa; }.flow-row {	display: flex;	flex-direction: column;	gap: 12px;	margin-bottom: 16px;}.flow-row:last-child { margin-bottom: 0; }.flow-arrow { display: none; }.flow-card {	background: #fff;	border: 2px solid #e8e8e8;	border-radius: 12px;	padding: 20px 20px 22px;	display: flex;	flex-direction: column;	gap: 4px;	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);}.flow-card--highlight {	border-color: var(--clr-primary);	background: #fff9f9;}.flow-step-badge {	display: flex;	align-items: baseline;	gap: 3px;	margin-bottom: 4px;}.flow-step-label {	font-size: 0.6rem;	font-weight: 700;	color: var(--clr-primary);	letter-spacing: 0.08em;}.flow-step-num {	font-size: 1.75rem;	font-weight: 900;	color: var(--clr-primary);	line-height: 1;}.flow-free-badge {	display: inline-block;	font-size: 0.7rem;	font-weight: 700;	background: #fff0f0;	color: var(--clr-primary);	border: 1px solid #ffc0c0;	padding: 0.2em 0.75em;	border-radius: 99px;	margin-bottom: 4px;	align-self: flex-start;}.flow-card-title {	font-size: 1rem;	font-weight: 700;	color: var(--clr-text);	margin-bottom: 4px;}.flow-card-desc {	font-size: 0.875rem;	color: var(--clr-muted);	line-height: 1.75;	flex: 1;}.flow-strength-note {	font-size: 0.75rem;	font-weight: 700;	color: var(--clr-primary);	background: #fff0f0;	border-radius: 6px;	padding: 6px 10px;	margin-top: 6px;}/* ---------- 12. 施工事例 ---------- */.works-section {	position: relative;	background-image:		linear-gradient(rgba(190, 0, 0, 0.86), rgba(158, 0, 0, 0.91)),		url('assets/images/works/works-bg-roof-paint.jpg');	background-size: cover;	background-position: center;	padding: 72px 0 84px;}.works-section::after {	content: "";	position: absolute;	right: 5%;	top: 58px;	width: 210px;	height: 155px;	background-image: url('assets/images/works/works-bg-paint-brush.jpg');	background-size: cover;	background-position: center;	border-radius: 16px;	opacity: 0.25;	transform: rotate(2deg);	pointer-events: none;	z-index: 0;}.works-container {	width: min(94%, 1180px);	margin: 0 auto;	position: relative;	z-index: 1;}/* ヘッダー */.works-section-header {	text-align: center;	margin-bottom: 48px;}.works-section-label {	font-size: 0.875rem;	font-weight: 700;	letter-spacing: 0.12em;	text-transform: uppercase;	color: rgba(255,255,255,0.7);	margin-bottom: 10px;}.works-section-title {	font-size: clamp(2rem, 4vw, 3rem);	font-weight: 900;	color: #fff;	line-height: 1.2;	margin-bottom: 14px;	text-shadow: 0 2px 6px rgba(0,0,0,0.25);}.works-count-highlight {	color: #ffd400;	text-shadow: 0 2px 10px rgba(0,0,0,0.3);}.works-section-desc {	font-size: clamp(0.9375rem, 1.5vw, 1.125rem);	color: rgba(255,255,255,0.88);	line-height: 1.8;}/* カードグリッド */.works-grid {	display: grid;	grid-template-columns: 1fr;	gap: 24px;	margin-bottom: 48px;	align-items: stretch;}
@media (min-width: 768px) {
	.works-grid { grid-auto-rows: 1fr; }
}
.works-card {	background: #fff;	border-radius: 16px;	overflow: hidden;	box-shadow: 0 8px 28px rgba(0,0,0,0.16);	transition: transform 0.22s ease, box-shadow 0.22s ease;	text-decoration: none;	color: inherit;	display: flex;	flex-direction: column;	height: 100%;}.works-card:hover {	transform: translateY(-4px);	box-shadow: 0 14px 36px rgba(0,0,0,0.22);	color: inherit;}/* 画像エリア */.works-card-media {	background: #f0f0f0;	padding: 14px 14px 12px;}.works-before-after {	display: grid;	grid-template-columns: 1fr auto 1fr;	gap: 10px;	align-items: center;}.works-photo-box {	position: relative;	background: #ddd;	border-radius: 8px;	overflow: hidden;	aspect-ratio: 4 / 3;	display: flex;	align-items: center;	justify-content: center;}.works-photo-box img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}.works-photo-empty {	font-size: 0.75rem;	color: #aaa;	text-align: center;	line-height: 1.7;}.works-photo-label {	position: absolute;	top: 6px;	left: 6px;	font-size: 0.6875rem;	font-weight: 900;	letter-spacing: 0.05em;	padding: 3px 8px;	border-radius: 4px;	z-index: 1;	line-height: 1.4;}.works-photo-label.before { background: #444; color: #fff; }.works-photo-label.after  { background: #f36c21; color: #fff; }.works-ba-arrow {	font-size: 1.125rem;	color: #bbb;	flex-shrink: 0;	line-height: 1;}/* カード情報 */.works-card-body {	padding: 18px 20px 22px;	display: flex;	flex-direction: column;	flex: 1;}.works-card-title {	font-size: 1.0625rem;	font-weight: 900;	color: #111;	margin-bottom: 10px;	line-height: 1.4;	display: -webkit-box;	-webkit-box-orient: vertical;	-webkit-line-clamp: 2;	overflow: hidden;	min-height: calc(1.4em * 2);}.works-meta {	display: flex;	flex-wrap: wrap;	align-items: flex-start;	gap: 6px 8px;	margin-bottom: 10px;	min-height: 56px;}.works-tag {	display: inline-flex;	align-items: center;	padding: 4px 10px;	border-radius: 999px;	font-size: 0.75rem;	font-weight: 700;	line-height: 1.4;}.works-tag.type     { background: #eaf4ff; color: #0052a8; }.works-tag.building { background: #f2f5f8; color: #445; }.works-price {	display: inline-block;	background: #f36c21;	color: #fff;	font-size: 0.875rem;	font-weight: 900;	padding: 4px 12px;	border-radius: 6px;	margin: 0;}
.works-card-price-slot {	min-height: 30px;	margin-bottom: 12px;}.works-card-text {	font-size: 0.875rem;	color: #444;	line-height: 1.85;	display: -webkit-box;	-webkit-box-orient: vertical;	-webkit-line-clamp: 3;	overflow: hidden;	min-height: calc(1.85em * 3);	margin-bottom: 0;}/* CTAエリア */.works-cta-wrap { text-align: center; }.works-more-button {	display: inline-flex;	justify-content: center;	align-items: center;	min-width: 280px;	padding: 16px 36px;	border-radius: 10px;	background: #ffd400;	color: #b50000;	font-size: clamp(1rem, 2.5vw, 1.25rem);	font-weight: 900;	text-decoration: none;	box-shadow: 0 6px 18px rgba(0,0,0,0.2);	transition: transform 0.2s ease, box-shadow 0.2s ease;}.works-more-button:hover {	transform: translateY(-2px);	box-shadow: 0 10px 26px rgba(0,0,0,0.28);	color: #b50000;}/* ---------- 13. Google口コミ ---------- */.google-reviews-section {	background: #fff;	padding-top: 4.5rem;	padding-bottom: 3.5rem;	overflow: hidden;}.google-rating-display {	display: flex;	align-items: center;	justify-content: center;	gap: 0.75rem;	margin-top: 1rem;	flex-wrap: wrap;}.google-rating-stars {	color: #f6a800;	font-size: 1.25rem;	letter-spacing: 0.06em;}.google-rating-score {	font-size: 1.125rem;	font-weight: 900;	color: #f6a800;}.google-rating-count {	font-size: 0.875rem;	color: var(--clr-muted);}/* マーキーコンテナ */.google-reviews-marquee {	overflow: hidden;	width: 100%;	padding: 8px 0 4px;}/* カードトラック（14枚横並び） */.google-reviews-track {	display: flex;	align-items: stretch;	gap: 20px;	width: max-content;	animation: googleReviewsScroll 55s linear infinite;}.google-reviews-marquee:hover .google-reviews-track {	animation-play-state: paused;}@keyframes googleReviewsScroll {	from { transform: translateX(0); }	to   { transform: translateX(var(--marquee-shift, -50%)); }}/* 口コミカード */.google-review-card {	width: 320px;	background: #fff;	border-radius: 16px;	padding: 22px 22px 18px;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.09);	border: 1px solid #ebebeb;	flex-shrink: 0;	display: flex;	flex-direction: column;}.google-review-stars {	color: #f6a800;	font-size: 1.125rem;	letter-spacing: 0.1em;	margin-bottom: 12px;}.google-review-text {	font-size: 0.875rem;	line-height: 1.9;	color: #222;	flex: 1;	margin-bottom: 16px;}.google-review-footer {	border-top: 1px solid #f0f0f0;	padding-top: 10px;}.google-review-author {	font-weight: 700;	font-size: 0.875rem;	color: #111;	margin-bottom: 2px;}.google-review-meta {	font-size: 0.775rem;	color: #888;}.google-review-label {	display: inline-block;	margin-top: 10px;	padding: 3px 10px;	border-radius: 999px;	background: #f3f4f6;	color: #555;	font-size: 0.7rem;	font-weight: 700;	letter-spacing: 0.02em;}
/* 口コミ出典ラベルのリンク化（見た目はバッジのまま。hover/focus-visibleのみリンクと分かる最小限の反応） */
.google-review-label--link {	text-decoration: none;	cursor: pointer;}
.google-review-label--link:hover,
.google-review-label--link:focus-visible {	background: #e5e7eb;	color: #333;}
/* 口コミセクション下部リンクエリア */
.google-reviews-more-wrap {	margin-top: 20px;	text-align: right;}
.google-reviews-more-note {	font-size: 0.875rem;	color: #444;	margin-bottom: 8px;}
.google-reviews-more-link {	display: inline-block;	font-size: 1rem;	font-weight: 700;	color: #1B4F8A;	text-decoration: none;	transition: color .2s;}
.google-reviews-more-link:hover {	color: #0D3360;	text-decoration: underline;}
@media (max-width: 767px) {
.google-reviews-more-wrap {	text-align: center;}
}
/* ---------- 14. FAQ ---------- */.faq-list {	max-width: 800px;	margin-inline: auto;}.faq-item {	border: 1px solid var(--clr-border);	border-radius: var(--radius);	margin-bottom: 0.75rem;	background: var(--clr-white);	overflow: hidden;}.faq-question {	width: 100%;	display: flex;	align-items: center;	gap: 1rem;	padding: 1.25rem;	background: none;	border: none;	cursor: pointer;	text-align: left;	font-family: var(--font-base);	font-size: 0.9375rem;	font-weight: 700;	color: var(--clr-text);	transition: background-color var(--transition);}.faq-question:hover { background-color: var(--clr-bg-alt); }.faq-q-badge {	flex-shrink: 0;	width: 32px;	height: 32px;	border-radius: 50%;	background-color: var(--clr-primary);	color: var(--clr-white);	display: flex;	align-items: center;	justify-content: center;	font-size: 0.8125rem;	font-weight: 900;}.faq-question-text { flex: 1; }/* アコーディオン開閉アイコン */.faq-icon {	flex-shrink: 0;	width: 22px;	height: 22px;	position: relative;}.faq-icon::before,.faq-icon::after {	content: '';	position: absolute;	background-color: var(--clr-muted);	border-radius: 2px;	top: 50%;	left: 50%;	transform: translate(-50%, -50%);	transition: transform var(--transition), opacity var(--transition);}.faq-icon::before {	width: 14px;	height: 2px;}.faq-icon::after {	width: 2px;	height: 14px;}.faq-item.is-open .faq-icon::after {	transform: translate(-50%, -50%) rotate(90deg);	opacity: 0;}.faq-answer {	display: none;	padding: 1.25rem 1.25rem 1.25rem 4.5rem;}.faq-answer p {	font-size: 0.9rem;	color: var(--clr-muted);	line-height: 1.85;}/* ---------- 15. ショールーム案内・アクセス共通 ---------- */
/* TOP: showroom-inner はブロックコンテナのみ */
.showroom-inner {	display: block;}
/* アクセスグリッド: TOPページ・会社概要ページ共通 */
.company-access-grid {	display: grid;	grid-template-columns: 1fr;	gap: 24px;}
.company-access-item {	margin-bottom: 48px;}
.company-access-item:last-child {	margin-bottom: 0;}
.company-access-name {	font-size: 1.125rem;	font-weight: 700;	color: #0052a8;	margin-bottom: 20px;	padding-bottom: 8px;	border-bottom: 2px solid #b8d8f0;}
/* カラム */
.company-access-col {	display: flex;	flex-direction: column;	gap: 14px;}
/* 店舗写真 */
.company-access-photo {	border-radius: 12px;	overflow: hidden;	line-height: 0;}
.company-access-photo-img {	width: 100%;	height: 280px;	object-fit: cover;	display: block;	border-radius: 12px;}
/* Googleマップ */
.company-access-map {	border-radius: 12px;	overflow: hidden;	background: #f5f5f5;	height: 280px;}
.company-access-map iframe {	width: 100%;	height: 100%;	border: 0;	display: block;}
/* 営業時間・定休日 */
.company-access-hours {	display: flex;	flex-direction: column;	gap: 6px;}
.company-access-hours-row {	display: flex;	align-items: baseline;	gap: 10px;	font-size: 0.9375rem;	line-height: 1.6;	margin: 0;}
.company-access-hours-label {	font-weight: 700;	color: #0052a8;	flex-shrink: 0;	min-width: 4.5em;	font-size: 0.875rem;	background: #eaf4ff;	padding: 1px 8px;	border-radius: 4px;}
.company-access-hours-value {	color: #222;	font-weight: 500;}
/* 住所・電話 */
.company-access-info {	display: flex;	flex-direction: column;	gap: 8px;}
.company-access-info-address {	font-size: 0.9375rem;	color: #333;	line-height: 1.75;	margin: 0;	font-weight: 500;}
.company-access-info-tel {	margin: 0;}
.company-access-info-tel a {	font-size: 1.25rem;	font-weight: 900;	color: #d60000;	text-decoration: none;}
.company-access-info-tel a:hover {	color: #b00000;}
/* ---- TOP: ショールーム案内（複数店舗対応）: 有効な店舗情報が無い場合の案内 ---- */
.showroom-unavailable {
	text-align: center;
	font-size: 1rem;
	line-height: 2;
	color: #222;
}
.showroom-unavailable a {
	color: #d60000;
	font-weight: 800;
	text-decoration: none;
}

/* ---- TOP: ショールーム案内（複数店舗対応）: PC用カードグリッド（2件以上） ---- */
.top-showroom-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 1.5rem;
}
.top-showroom-card {
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
}
.top-showroom-card__photo {
	aspect-ratio: 4 / 3;
	background: #f0f0f0;
	line-height: 0;
}
.top-showroom-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.top-showroom-card__body {
	padding: 1.25rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	flex: 1;
}
.top-showroom-card__name {
	font-size: 1.125rem;
	font-weight: 700;
	color: #0052a8;
	margin: 0;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #b8d8f0;
}
.top-showroom-card__info {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}
.top-showroom-card__row {
	display: flex;
	align-items: baseline;
	gap: 0.625rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin: 0;
	color: #333;
}
.top-showroom-card__label {
	font-weight: 700;
	color: #0052a8;
	flex-shrink: 0;
	font-size: 0.8125rem;
	background: #eaf4ff;
	padding: 1px 8px;
	border-radius: 4px;
}
.top-showroom-card__actions {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.625rem;
	padding-top: 0.5rem;
}
.top-showroom-card__tel {
	font-size: 1.125rem;
	font-weight: 900;
	color: #d60000;
	text-decoration: none;
}
.top-showroom-card__tel:hover { color: #b00000; }
.top-showroom-card__map-link {
	font-size: 0.875rem;
	font-weight: 700;
	color: #0052a8;
	text-decoration: none;
}
.top-showroom-card__map-link:hover { text-decoration: underline; }
.top-showroom-card__cta {
	display: inline-block;
	text-align: center;
	background: #d60000;
	color: #fff;
	font-weight: 700;
	font-size: 0.9375rem;
	padding: 0.75rem 1.375rem;
	border-radius: 9999px;
	text-decoration: none;
	transition: background 0.2s ease;
}
.top-showroom-card__cta:hover { background: #b00000; }
@media (max-width: 767px) {
	.top-showroom-grid { display: none; }
}
/* TOP: SP専用ショールームスライダー（PCでは非表示） */
.top-showroom-slider {	display: none;}
/* 旧showroom-map クラス（後方互換） */
.showroom-map {	border-radius: 16px;	overflow: hidden;	background: #f5f5f5;	height: 280px;}
.showroom-map iframe {	width: 100%;	height: 100%;	border: 0;	display: block;}
.showroom-info-list {	display: flex;	flex-direction: column;	gap: 1.125rem;}
.showroom-info-item {	display: flex;	gap: 1rem;	align-items: flex-start;}
.showroom-info-icon {	flex-shrink: 0;	width: 42px;	height: 42px;	border-radius: var(--radius);	background-color: var(--clr-primary-light);	display: flex;	align-items: center;	justify-content: center;	font-size: 1.125rem;}
.showroom-info-label {	font-size: 0.7rem;	font-weight: 700;	color: var(--clr-muted);	letter-spacing: 0.05em;	text-transform: uppercase;	margin-bottom: 0.125rem;}
.showroom-info-value {	font-size: 0.9375rem;	color: var(--clr-text);	font-weight: 500;}
/* PC: 2カラム横並び */
@media (min-width: 768px) {
.company-access-grid {	grid-template-columns: 1fr 1fr;	gap: 40px;	align-items: start;}
.company-access-photo-img {	height: 380px;}
.company-access-map {	height: 380px;}
.showroom-map {	height: 380px;}
}
/* スマホ: マップ高さ調整 */
@media (max-width: 767px) {
.company-access-map {	height: 260px;}
.showroom-map {	height: 260px;	min-height: 260px;}
.showroom-map iframe {	min-height: 260px;}
/* TOP: SP専用ショールームスライダー（PC版グリッドと入れ替え。会社概要ページのcompany-access-gridには影響しないよう#showroom内に限定） */
#showroom .company-access-grid {	display: none;}
.top-showroom-slider {	display: block;}
.top-showroom-slider-hint {	text-align: center;	font-size: .8125rem;	color: #1B4F8A;	font-weight: 700;	margin: 0 0 10px;}
.top-showroom-slider__track {	display: flex;	overflow-x: auto;	scroll-snap-type: x mandatory;	-webkit-overflow-scrolling: touch;	scroll-behavior: smooth;	-ms-overflow-style: none;	scrollbar-width: none;}
.top-showroom-slider__track::-webkit-scrollbar {	display: none;}
.top-showroom-slider__track:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: 2px;}
.top-showroom-slide {	flex: 0 0 100%;	min-width: 0;	scroll-snap-align: start;	box-sizing: border-box;	padding: 0 2px;}
.top-showroom-slide-photo {	border-radius: 12px;	overflow: hidden;	height: 200px;	margin-bottom: 14px;}
.top-showroom-slide-photo img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}
.top-showroom-slide-body {	background: #fff;	border-radius: 12px;	box-shadow: 0 4px 16px rgba(0,0,0,.08);	padding: 18px 18px 20px;}
.top-showroom-slide-name {	font-size: 1.0625rem;	font-weight: 900;	color: #0D3360;	margin: 0 0 10px;}
.top-showroom-slide-address {	font-size: .875rem;	color: #333;	line-height: 1.7;	margin: 0 0 10px;}
.top-showroom-slide-row {	display: flex;	align-items: baseline;	gap: 10px;	font-size: .875rem;	margin: 0 0 6px;}
.top-showroom-slide-label {	font-weight: 700;	color: #0052a8;	flex-shrink: 0;	min-width: 4.5em;	font-size: .8125rem;	background: #eaf4ff;	padding: 1px 8px;	border-radius: 4px;}
.top-showroom-slide-tel {	margin: 10px 0 0;}
.top-showroom-slide-tel a {	font-size: 1.125rem;	font-weight: 900;	color: #d60000;	text-decoration: none;}
.top-showroom-slide-links {	display: flex;	flex-direction: column;	gap: 10px;	margin-top: 14px;}
.top-showroom-slide-map-link {	font-size: .8125rem;	color: #1B4F8A;	font-weight: 700;	text-decoration: underline;	text-align: center;}
.top-showroom-slide-cta {	display: block;	text-align: center;	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	font-weight: 900;	font-size: .9375rem;	padding: 13px 16px;	border-radius: 50px;	text-decoration: none;}
.top-showroom-slider-dots {	display: flex;	justify-content: center;	align-items: center;	gap: 8px;	margin-top: 14px;}
.top-showroom-slider-dot {	width: 8px;	height: 8px;	border-radius: 50%;	background: #d0d5dd;	transition: background-color .2s ease, transform .2s ease;}
.top-showroom-slider-dot.is-active {	background: #d60000;	transform: scale(1.25);}
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
.top-showroom-slider__track {	scroll-behavior: auto;}
.top-showroom-slider-dot {	transition: none;}
}
/* ---------- 16. CTA ---------- */.cta-section {	background: linear-gradient(135deg, #d60000 0%, #b50000 100%);	padding-block: 4.5rem;}.cta-inner {	display: flex;	flex-direction: column;	align-items: center;	gap: 2.5rem;	text-align: center;}.cta-content { width: 100%; }.cta-section .section-label { color: rgba(255, 255, 255, 0.8); }.cta-section .section-title { color: var(--clr-white); }.cta-section .section-lead  { color: rgba(255, 255, 255, 0.82); }.cta-actions {	display: flex;	flex-direction: column;	align-items: center;	gap: 1.25rem;	margin-top: 2.25rem;}.cta-tel {	display: inline-flex;	flex-direction: column;	align-items: center;	text-decoration: none;}.cta-tel-label {	font-size: 0.75rem;	color: rgba(255, 255, 255, 0.78);	margin-bottom: 0.125rem;}.cta-tel-number {	font-size: clamp(1.875rem, 5vw, 2.5rem);	font-weight: 900;	color: var(--clr-white);	line-height: 1;	letter-spacing: 0.02em;}.cta-tel-hours {	font-size: 0.75rem;	color: rgba(255, 255, 255, 0.65);	margin-top: 0.25rem;}.cta-divider {	font-size: 0.875rem;	color: rgba(255, 255, 255, 0.5);}/* 社長写真エリア */.cta-president {	display: flex;	flex-direction: column;	align-items: center;	gap: 0.625rem;	flex-shrink: 0;}.cta-president-photo {	width: 150px;	aspect-ratio: 3 / 4;	border-radius: 12px;	overflow: hidden;	border: 3px solid rgba(255, 255, 255, 0.55);	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.28);}.cta-president-photo img {	width: 100%;	height: 100%;	object-fit: cover;	object-position: center top;	display: block;}.cta-president-role {	font-size: 0.75rem;	color: rgba(255, 255, 255, 0.82);	margin: 0;	letter-spacing: 0.03em;}.cta-president-name {	font-size: 1.125rem;	font-weight: 700;	color: #fff;	margin: 0;	letter-spacing: 0.05em;}/* ---------- 17. フッター ---------- */.site-footer {	background-color: #fff;	color: #444;	border-top: 4px solid #d60000;}.footer-main {	padding-block: 3rem;}.footer-inner {	display: grid;	grid-template-columns: 1fr;	gap: 2.5rem;	align-items: start;}.footer-brand-logo {	display: flex;	align-items: center;	margin-bottom: 0.875rem;}.footer-brand-logo img {	height: 44px;	width: auto;	display: block;}.footer-brand-address {	font-size: 0.8rem;	line-height: 1.85;	color: #666;	margin-bottom: 1rem;}.footer-brand-desc {	font-size: 0.85rem;	line-height: 2;	color: #444;	margin-bottom: 1.25rem;}/* PCのみ改行（スマホでは非表示にして自然折り返し） */.footer-br-pc { display: none; }.footer-brand-tel {	display: block;	font-size: 1.5rem;	font-weight: 900;	color: #d60000;	text-decoration: none;	margin-bottom: 0.25rem;	letter-spacing: 0.02em;}.footer-brand-hours {	font-size: 0.75rem;	color: #666;	margin-bottom: 0;}/* 小山市公式サイトロゴ */.footer-city-logo-wrap {	margin-top: 1.5rem;}.footer-city-logo-link {	transition: opacity var(--transition);}.footer-city-logo-link:hover {	opacity: 0.85;}.footer-city-logo-link:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: 2px;}.footer-city-logo-wrap {	display: flex;	flex-direction: column;	gap: 12px;	align-items: flex-start;}.footer-city-logo-link,.footer-city-logo-item {	display: flex;	align-items: center;	justify-content: center;	width: 190px;	height: 80px;	padding: 10px 14px;	background: #fff;	border: 1px solid #e3e6ea;	border-radius: 6px;	box-sizing: border-box;}.footer-city-logo-img {	width: auto;	height: auto;	max-width: 100%;	max-height: 100%;	display: block;	object-fit: contain;}
/* SP: 外部リンクバナーをグリッド化（横長ロゴが小さくなりすぎないよう375-767pxは3列、374px以下は2列。5件目以降は自動折り返し・PCは190x80pxの縦並びを維持） */
@media (max-width: 767px) {
.footer-city-logo-wrap {	display: grid;	grid-template-columns: repeat(3, minmax(0, 1fr));	gap: 8px;	width: 100%;	align-items: stretch;}
.footer-city-logo-link,
.footer-city-logo-item {	width: 100%;	min-width: 0;	height: auto;	aspect-ratio: 1 / 1;	padding: 6px;	box-sizing: border-box;}
.footer-city-logo-img {	width: 100%;	height: 100%;	max-width: 100%;	max-height: 100%;	object-fit: contain;}
}
@media (max-width: 374px) {
.footer-city-logo-wrap {	grid-template-columns: repeat(2, minmax(0, 1fr));}
}
.footer-nav-title {	font-size: 0.8125rem;	font-weight: 700;	color: #d60000;	margin-bottom: 1rem;	padding-bottom: 0.5rem;	border-bottom: 1px solid #eee;}/* サイト情報 2列ラッパー（モバイルは1列） */.footer-nav-cols {	display: grid;	grid-template-columns: 1fr;	gap: 1.125rem 0;}.footer-nav-list {	display: flex;	flex-direction: column;	gap: 1.125rem;	list-style: none;	margin: 0;	padding: 0;}.footer-nav-list a {	font-size: 0.875rem;	color: #444;	text-decoration: none;	transition: color var(--transition);}.footer-nav-list a:hover { color: #d60000; }
.footer-nav-text-full {	display: inline;}
.footer-nav-text-short {	display: none;}
/* SP: サイトマップを2列化（左右列は既存の2つの.footer-nav-listをそのまま利用） */
@media (max-width: 767px) {
.footer-nav-cols {	grid-template-columns: repeat(2, minmax(0, 1fr));	column-gap: 12px;	row-gap: 1.125rem;	align-items: start;}
.footer-nav-list {	min-width: 0;	gap: 0;}
.footer-nav-list a {	display: block;	font-size: 0.75rem;	line-height: 1.65;	word-break: keep-all;	padding-block: 0.8rem;}
.footer-nav-text-full {	display: none;}
.footer-nav-text-short {	display: inline;}
}
.footer-bottom {	border-top: 1px solid #eee;	padding-block: 1.25rem;	text-align: center;	font-size: 0.8rem;	color: #999;	background-color: #f9f9f9;}
/* SP: 固定フローティングバー（.floating-contact-bar 高さ58px）に著作権表示が隠れないよう下部余白を確保 */
@media (max-width: 767px) {
.footer-bottom {	padding-bottom: calc(1.25rem + 58px);}
}/* ---------- 18. レスポンシブ ---------- *//* タブレット（768px以上） */@media (min-width: 768px) {	:root {		--container-pad: 2rem;		--section-pad-y: 5rem;	}	/* ヘッダー2段表示切替 */	.header-right      { display: flex; }	.sp-header-actions { display: none; }	.header-gnav       { display: block; }	/* PC FV：76vw中央＋左右ピーク表示 */	.fv-slider-track {		align-items: stretch;		height: clamp(420px, 34vw, 560px);	}	.fv-slide {		flex: 0 0 76vw;		height: 100%;		opacity: 0.4;		transition: opacity 0.4s ease;	}	.fv-slide.is-active {		opacity: 1;	}	/* PC: 中央スライド（76vw）の端から20px内側に配置 */	.fv-slider-arrow {		width: 46px;		height: 46px;		font-size: 34px;	}	.fv-slider-prev { left:  calc((100% - 76vw) / 2 + 20px); }	.fv-slider-next { right: calc((100% - 76vw) / 2 + 20px); }	.fv-slide img {		width: 100%;		height: 100%;		object-fit: contain;		object-position: center center;	}	.works-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }	.showroom-inner {		grid-template-columns: 1fr 1fr;		align-items: start;	}	.cta-actions { flex-direction: row; justify-content: center; }	/* CTA: 2カラム（左コンテンツ＋右写真） */	.cta-inner {		flex-direction: row;		align-items: center;		justify-content: center;		gap: 3.5rem;		text-align: center;	}	.cta-president-photo {		width: 200px;	}	.footer-inner          { grid-template-columns: 5fr 4fr; gap: 4.5rem; }	.footer-br-pc          { display: inline; }	.footer-nav-cols       { grid-template-columns: 1fr 1fr; gap: 0 1.75rem; }}
/* タブレット（768〜1023px）: PC用フルヘッダー（電話ブロック＋CTA2つ＋グローバルナビ）が横幅に収まらないため、
   この幅ではSPと同じコンパクトヘッダー（ロゴ＋電話ボタン＋ハンバーガー）とハンバーガーメニューを使用する */
@media (min-width: 768px) and (max-width: 1023px) {
	.header-right      { display: none; }
	.sp-header-actions { display: flex; }
	.header-gnav       { display: none; }
}/* デスクトップ（1024px以上） */@media (min-width: 1024px) {	:root {		--section-pad-y: 6rem;	}	/* 施工の流れ: 3列×2行 */	.flow-row {		flex-direction: row;		align-items: stretch;		margin-bottom: 20px;	}	.flow-card { flex: 1; }	.flow-arrow {		display: flex;		align-items: center;		justify-content: center;		font-size: 2.25rem;		color: var(--clr-primary);		flex-shrink: 0;		width: 36px;		opacity: 0.4;	}}/* ショールームマップ: スマホ調整 */@media (max-width: 767px) {	.showroom-map {		height: 280px;		min-height: 280px;	}	.showroom-map iframe {		min-height: 280px;	}}/* FV スライダー: スマホでは SP を表示、PC を非表示 */@media (max-width: 767px) {	.fv-slider--pc,	.fv-slider-dots--pc { display: none; }	.fv-slider--sp       { display: block; }	.fv-slider-dots--sp  { display: flex; }}/* 施工事例: スマホ調整 */@media (max-width: 767px) {	.works-section {		padding: 52px 0 60px;		background-image:			linear-gradient(rgba(190, 0, 0, 0.92), rgba(158, 0, 0, 0.95)),			url('assets/images/works/works-bg-roof-paint.jpg');	}	.works-section::after { display: none; }	.works-more-button { min-width: 0; width: 100%; max-width: 400px; }}/* =====================================================   19. お問い合わせページ   ===================================================== *//* お問い合わせページFV */.contact-hero {	position: relative;	overflow: hidden;	background: linear-gradient(135deg, #d60000 0%, #8f0000 100%);	padding: 4rem 0 3.5rem;	text-align: center;	color: #fff;}.contact-hero::before {	content: '';	position: absolute;	top: -60px;	left: -80px;	width: 320px;	height: 320px;	border-radius: 50%;	background: rgba(255, 255, 255, 0.06);	pointer-events: none;}.contact-hero::after {	content: '';	position: absolute;	bottom: -80px;	right: -60px;	width: 280px;	height: 280px;	border-radius: 50%;	background: rgba(255, 255, 255, 0.06);	pointer-events: none;}.contact-hero-content {	position: relative;	z-index: 1;}.contact-hero-label {	display: block;	font-size: 0.75rem;	font-weight: 700;	letter-spacing: 0.2em;	color: rgba(255, 255, 255, 0.72);	margin-bottom: 0.625rem;}.contact-hero-title {	font-size: clamp(2rem, 5vw, 3rem);	font-weight: 900;	color: #fff;	line-height: 1.15;	margin-bottom: 1rem;}.contact-hero-desc {	font-size: 0.9375rem;	color: rgba(255, 255, 255, 0.85);	line-height: 1.85;	max-width: 580px;	margin: 0 auto;}.contact-hero-badges {	position: relative;	z-index: 1;	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 0.75rem;	margin-top: 2rem;}.contact-hero-badge {	display: inline-flex;	align-items: center;	background: rgba(255, 255, 255, 0.18);	border: 1px solid rgba(255, 255, 255, 0.45);	color: #fff;	font-size: 0.875rem;	font-weight: 700;	padding: 0.45rem 1.125rem;	border-radius: 100px;}/* パンくず */.page-breadcrumb {	background: #f7f8fa;	border-bottom: 1px solid #e8e8e8;	padding: 0.75rem 0;	font-size: 0.8125rem;	color: #888;}.page-breadcrumb-list {	display: flex;	align-items: center;	gap: 0.5rem;	list-style: none;	margin: 0;	padding: 0;	flex-wrap: wrap;}.page-breadcrumb-list li + li::before {	content: '›';	color: #bbb;}.page-breadcrumb-list a {	color: #555;	text-decoration: none;}.page-breadcrumb-list a:hover { color: #d60000; }/* お問い合わせをいただく方へ */.contact-intro-section {	background: #f7f8fa;	padding: 4rem 0;}.contact-intro-card {	background: #fff;	border-radius: 16px;	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);	padding: 2.25rem 2rem;	display: flex;	flex-direction: column;	gap: 2rem;	max-width: 860px;	margin: 0 auto;}.contact-intro-photo {	flex-shrink: 0;	text-align: center;}.contact-intro-photo img {	width: 150px;	aspect-ratio: 3 / 4;	object-fit: cover;	object-position: center top;	border-radius: 12px;	border: 3px solid #f0f0f0;	display: block;	margin: 0 auto 0.75rem;}.contact-intro-role {	font-size: 0.75rem;	color: #888;	margin-bottom: 2px;}.contact-intro-name {	font-size: 1rem;	font-weight: 700;	color: #222;}.contact-intro-message p {	font-size: 0.9375rem;	line-height: 2;	color: #333;	margin-bottom: 1rem;}.contact-intro-message p:last-child { margin-bottom: 0; }/* 無料相談バナー */.contact-free-banner {	display: block;	background: #d60000;	color: #fff;	text-align: center;	padding: 1.125rem 1.5rem;	border-radius: 10px;	font-size: clamp(1rem, 2.5vw, 1.25rem);	font-weight: 700;	letter-spacing: 0.02em;	margin: 1.75rem auto 0;	max-width: 860px;	box-shadow: 0 4px 16px rgba(214, 0, 0, 0.22);}.contact-free-banner strong {	font-weight: 900;	font-size: 1.1em;}/* 電話問い合わせ */.contact-tel-section {	background: #fff;	padding: 4rem 0;}.contact-tel-box {	max-width: 680px;	margin: 0 auto;	border: 3px solid #d60000;	border-radius: 16px;	padding: 2.5rem 1.75rem;	text-align: center;}.contact-tel-heading {	font-size: clamp(1.0625rem, 2.5vw, 1.375rem);	font-weight: 900;	color: #d60000;	margin-bottom: 1.25rem;}.contact-tel-number-link {	display: inline-flex;	align-items: center;	gap: 0.5rem;	font-size: clamp(2rem, 6vw, 3rem);	font-weight: 900;	color: #d60000;	text-decoration: none;	line-height: 1;	margin-bottom: 0.75rem;}.contact-tel-icon { font-size: 0.7em; }.contact-tel-meta {	font-size: 0.875rem;	color: #555;	margin-bottom: 1.5rem;	line-height: 1.8;}.contact-tel-btn {	display: inline-block;	background: #d60000;	color: #fff;	font-size: 1rem;	font-weight: 900;	padding: 13px 38px;	border-radius: 8px;	text-decoration: none;	transition: background-color 0.2s ease;}.contact-tel-btn:hover { background: #b50000; color: #fff; }/* フォームセクション */.contact-form-section {	background: #fff;	padding: 4.5rem 0;}/* 3STEP */.contact-steps {	display: flex;	align-items: center;	justify-content: center;	gap: 6px;	margin-bottom: 3rem;	flex-wrap: wrap;}.contact-step {	display: flex;	flex-direction: column;	align-items: center;	gap: 4px;	padding: 12px 20px;	border-radius: 8px;	background: #f0f0f0;	min-width: 130px;	flex: 1;	max-width: 200px;}.contact-step--active {	background: #d60000;}.contact-step-num {	font-size: 0.675rem;	font-weight: 700;	letter-spacing: 0.1em;	color: #888;}.contact-step--active .contact-step-num {	color: rgba(255, 255, 255, 0.85);}.contact-step-label {	font-size: 0.8125rem;	font-weight: 700;	color: #555;	text-align: center;}.contact-step--active .contact-step-label {	color: #fff;}.contact-step-arrow {	font-size: 1.5rem;	color: #ccc;	line-height: 1;	flex-shrink: 0;}/* フォーム */.contact-form-wrap {	max-width: 720px;	margin: 0 auto;}.contact-form {	display: flex;	flex-direction: column;	gap: 1.375rem;}.form-row {	display: flex;	flex-direction: column;	gap: 0.5rem;}.form-label {	font-size: 0.9375rem;	font-weight: 700;	color: #222;	display: flex;	align-items: center;	gap: 0.5rem;	flex-wrap: wrap;}.form-required {	display: inline-block;	font-size: 0.675rem;	font-weight: 700;	background: #d60000;	color: #fff;	padding: 2px 7px;	border-radius: 3px;	line-height: 1.5;	flex-shrink: 0;}.form-optional {	display: inline-block;	font-size: 0.675rem;	color: #888;	border: 1px solid #ccc;	padding: 1px 7px;	border-radius: 3px;	line-height: 1.5;	flex-shrink: 0;}.form-input,.form-select,.form-textarea {	width: 100%;	padding: 13px 14px;	border: 2px solid #e0e0e0;	border-radius: 8px;	font-size: 1rem;	font-family: var(--font-base);	color: #222;	background: #fff;	transition: border-color 0.2s ease, box-shadow 0.2s ease;	-webkit-appearance: none;	appearance: none;	box-sizing: border-box;}.form-input:focus,.form-select:focus,.form-textarea:focus {	outline: none;	border-color: #d60000;	box-shadow: 0 0 0 3px rgba(214, 0, 0, 0.1);}.form-select {	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");	background-repeat: no-repeat;	background-position: right 14px center;	padding-right: 40px;	cursor: pointer;}.form-textarea {	resize: vertical;	min-height: 140px;	line-height: 1.7;}.form-privacy {	display: flex;	align-items: flex-start;	gap: 0.625rem;	cursor: pointer;}.form-privacy input[type="checkbox"] {	width: 20px;	height: 20px;	flex-shrink: 0;	margin-top: 2px;	accent-color: #d60000;	cursor: pointer;}.form-privacy-text {	font-size: 0.9rem;	color: #333;	line-height: 1.75;}.form-privacy-text a {	color: #d60000;	text-decoration: underline;}.form-submit-wrap {	text-align: center;	margin-top: 0.5rem;}.form-submit-btn {	display: inline-block;	background: #d60000;	color: #fff;	font-size: 1.125rem;	font-weight: 900;	padding: 18px 64px;	border-radius: 10px;	border: none;	cursor: pointer;	font-family: var(--font-base);	transition: background-color 0.2s ease;	box-shadow: 0 4px 16px rgba(214, 0, 0, 0.28);	letter-spacing: 0.03em;}.form-submit-btn:hover { background: #b50000; }.contact-sales-note {	font-size: 0.8125rem;	color: #999;	text-align: center;	margin-top: 0.75rem;}/* 送信前の注意事項 */.contact-notes {	max-width: 720px;	margin: 2.5rem auto 0;	background: #f7f8fa;	border-radius: 12px;	padding: 1.75rem;	border-left: 4px solid #e0e0e0;}.contact-notes h3 {	font-size: 0.9375rem;	font-weight: 700;	color: #333;	margin-bottom: 1rem;	padding-bottom: 0.625rem;	border-bottom: 1px solid #e0e0e0;}.contact-notes ul {	list-style: none;	padding: 0;	margin: 0;	display: flex;	flex-direction: column;	gap: 0.5rem;}.contact-notes ul li {	font-size: 0.875rem;	color: #555;	line-height: 1.75;	padding-left: 1.125rem;	position: relative;}.contact-notes ul li::before {	content: '・';	position: absolute;	left: 0;	color: #d60000;}/* 店舗情報 */.contact-shop-section {	background: #f7f8fa;	padding: 4.5rem 0;}.contact-shop-inner {	display: grid;	grid-template-columns: 1fr;	gap: 2.5rem;	max-width: 960px;	margin: 0 auto;}.contact-shop-name {	font-size: clamp(1.25rem, 3vw, 1.625rem);	font-weight: 900;	color: #222;	margin-bottom: 1.5rem;	padding-bottom: 0.75rem;	border-bottom: 3px solid #d60000;}.contact-shop-table {	width: 100%;	border-collapse: collapse;	font-size: 0.9375rem;}.contact-shop-table th,.contact-shop-table td {	padding: 12px 0;	border-bottom: 1px solid #e8e8e8;	vertical-align: top;	line-height: 1.75;}.contact-shop-table th {	width: 5.5em;	color: #888;	font-weight: 600;	white-space: nowrap;	padding-right: 1rem;}.contact-shop-table td { color: #222; }.contact-shop-tel {	color: #d60000;	font-weight: 700;	text-decoration: none;}.contact-shop-tel:hover { text-decoration: underline; }.contact-shop-map {	border-radius: 16px;	overflow: hidden;	height: 320px;	background: #e8e8e8;}.contact-shop-map iframe {	width: 100%;	height: 100%;	border: 0;	display: block;}
/* レスポンシブ（768px+） */@media (min-width: 768px) {	.contact-intro-card {		flex-direction: row;		align-items: flex-start;		padding: 2.5rem;	}	.contact-intro-photo img { width: 180px; }	.contact-steps { flex-wrap: nowrap; }	.contact-step {		flex: 1;		max-width: none;	}	.contact-shop-inner {		grid-template-columns: 1fr 1fr;		align-items: start;	}	.contact-shop-map { height: 400px; }}/* =====================================================   20. プライバシーポリシーページ   ===================================================== */.privacy-content {	background: #f7f8fa;	padding: 4rem 0 5rem;}.privacy-inner {	max-width: 960px;	margin: 0 auto;	background: #fff;	border-radius: 16px;	padding: 2rem 1.5rem;	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);}.privacy-page-title {	font-size: clamp(1.375rem, 3vw, 1.75rem);	font-weight: 900;	color: #111;	margin-bottom: 1.5rem;	padding-bottom: 1.25rem;	border-bottom: 2px solid #e8e8e8;}.privacy-intro {	font-size: 0.9375rem;	color: #444;	line-height: 1.9;	margin-bottom: 2.5rem;	padding-bottom: 2rem;	border-bottom: 1px solid #efefef;}.privacy-section {	margin-bottom: 2rem;	padding-bottom: 2rem;	border-bottom: 1px solid #f0f0f0;}.privacy-section:last-of-type {	border-bottom: none;	margin-bottom: 0;	padding-bottom: 0;}.privacy-section h3 {	font-size: 1rem;	font-weight: 900;	color: #d60000;	margin-bottom: 0.875rem;	padding-left: 0.875rem;	border-left: 4px solid #d60000;	line-height: 1.5;}.privacy-section p {	font-size: 0.9375rem;	color: #444;	line-height: 1.9;	margin-bottom: 0.75rem;}.privacy-section p:last-child { margin-bottom: 0; }.privacy-section ol {	margin: 0.75rem 0 1rem 1.5rem;	padding: 0;}.privacy-section ol li {	font-size: 0.9375rem;	color: #444;	line-height: 1.9;	margin-bottom: 0.375rem;}.privacy-contact-box {	background: #f7f8fa;	border-radius: 12px;	padding: 1.25rem 1.5rem;	margin-top: 1rem;}.privacy-contact-box p {	font-size: 0.9375rem;	color: #444;	line-height: 1.75;	margin-bottom: 0.375rem;}.privacy-contact-box p:last-child { margin-bottom: 0; }.privacy-contact-box a {	color: #d60000;	text-decoration: none;}.privacy-contact-box a:hover { text-decoration: underline; }.privacy-updated {	font-size: 0.875rem;	color: #999;	text-align: right;	margin-top: 2.5rem;	padding-top: 1.5rem;	border-top: 1px solid #e8e8e8;}@media (min-width: 768px) {	.privacy-inner {		padding: 3rem 4rem;	}	.privacy-section h3 {		font-size: 1.0625rem;	}}/* =====================================================   21. 施工事例ページ   ===================================================== *//* 下層ページFV */.works-hero {	position: relative;	overflow: hidden;	background: linear-gradient(135deg, #d60000 0%, #8f0000 100%);	padding: 4rem 0 3.5rem;	text-align: center;	color: #fff;}.works-hero::before {	content: '';	position: absolute;	top: -60px;	left: -80px;	width: 320px;	height: 320px;	border-radius: 50%;	background: rgba(255, 255, 255, 0.06);	pointer-events: none;}.works-hero::after {	content: '';	position: absolute;	bottom: -80px;	right: -60px;	width: 280px;	height: 280px;	border-radius: 50%;	background: rgba(255, 255, 255, 0.06);	pointer-events: none;}.works-hero-content {	position: relative;	z-index: 1;}.works-hero-label {	display: block;	font-size: 0.75rem;	font-weight: 700;	letter-spacing: 0.2em;	color: rgba(255, 255, 255, 0.72);	margin-bottom: 0.625rem;}.works-hero-title {	font-size: clamp(2rem, 5vw, 3rem);	font-weight: 900;	color: #fff;	line-height: 1.15;	margin-bottom: 1rem;}.works-hero-desc {	font-size: 0.9375rem;	color: rgba(255, 255, 255, 0.85);	line-height: 1.85;	max-width: 580px;	margin: 0 auto;}/* 一覧セクション */.works-list-section {	padding: 4rem 0 5rem;	background: #f7f8fa;}/* フィルター共通ラベル */.works-filter-label {	font-size: 0.8125rem;	font-weight: 700;	color: #555;	margin-bottom: 0.625rem;}/* カテゴリー絞り込み */.works-filter-wrap {	margin-bottom: 1.25rem;}.works-filter-list {	display: flex;	flex-wrap: wrap;	gap: 8px;	list-style: none;	margin: 0;	padding: 0;}.works-filter-btn {	display: inline-block;	padding: 7px 16px;	border-radius: 999px;	font-size: 0.875rem;	font-weight: 700;	text-decoration: none;	border: 2px solid #ddd;	background: #fff;	color: #555;	transition: all 0.2s ease;	white-space: nowrap;}.works-filter-btn:hover {	border-color: #d60000;	color: #d60000;}.works-filter-btn.is-active {	background: #d60000;	border-color: #d60000;	color: #fff;}/* 地域絞り込み */.works-area-wrap {	margin-bottom: 2.5rem;}.works-area-list {	display: flex;	flex-wrap: wrap;	gap: 6px;	list-style: none;	margin: 0;	padding: 0;}.works-area-chip {	display: inline-block;	padding: 4px 12px;	border-radius: 4px;	font-size: 0.8125rem;	font-weight: 600;	text-decoration: none;	background: #eef0f2;	color: #444;	border: 1px solid #d4d8de;	transition: all 0.2s ease;	white-space: nowrap;}.works-area-chip:hover {	background: #d60000;	border-color: #d60000;	color: #fff;}
/* ---- 施工事例一覧: 絞り込み（工事内容・施工エリア） ---- */
.works-filter {	margin-bottom: 1.5rem;}
.works-filter-heading {	font-size: 1rem;	font-weight: 700;	color: #222;	margin-bottom: 0.75rem;}
.works-filter-row {	display: flex;	flex-wrap: wrap;	align-items: center;	gap: 0.75rem;	margin-bottom: 0.75rem;}
.works-filter-label {	font-size: 0.875rem;	font-weight: 700;	color: #0052a8;	flex-shrink: 0;	min-width: 5em;}
.works-filter-chips {	display: flex;	flex-wrap: wrap;	gap: 0.5rem;}
.works-filter-chip {	display: inline-flex;	align-items: center;	justify-content: center;	min-height: 44px;	padding: 0 1.125rem;	border-radius: 9999px;	font-size: 0.875rem;	font-weight: 700;	text-decoration: none;	background: #fff;	color: #445;	border: 1px solid #d4d8de;	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;}
.works-filter-chip:hover {	border-color: #0052a8;	color: #0052a8;}
.works-filter-chip.is-active {	background: #0052a8;	color: #fff;	border-color: #0052a8;}
.works-filter-count {	font-size: 0.9375rem;	font-weight: 700;	color: #333;	margin-bottom: 1.5rem;}
.works-empty-reset {	display: inline-block;	margin-top: 1rem;	color: #d60000;	font-weight: 700;	text-decoration: underline;}

/* ---- TOP: 施工事例セクション内「工事内容から探す」ナビ（赤背景上） ---- */
.works-top-filter-nav {	margin: 1.5rem 0 2rem;	text-align: center;}
.works-top-filter-heading {	font-size: 0.9375rem;	font-weight: 700;	color: #fff;	margin-bottom: 0.75rem;}
.works-top-filter-chips {	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 0.625rem;}
.works-top-filter-chip {	display: inline-flex;	align-items: center;	justify-content: center;	min-height: 44px;	padding: 0 1.125rem;	border-radius: 9999px;	font-size: 0.875rem;	font-weight: 700;	text-decoration: none;	background: #fff;	color: #d60000;	border: 1px solid #fff;	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;}
.works-top-filter-chip:hover {	background: #0052a8;	color: #fff;	border-color: #0052a8;}
.works-top-filter-chip--area {	font-size: 0.8125rem;	padding: 0 1rem;	white-space: nowrap;}
@media (max-width: 767px) {
	.works-filter-row { align-items: flex-start; }
	.works-filter-label { min-width: 100%; }
}/* カード：地域テキスト */.works-card-area {	font-size: 0.75rem;	color: #888;	margin-bottom: 4px;	line-height: 1.4;	min-height: calc(1.4em);}/* 詳細ボタン */.works-detail-btn {	display: block;	width: 100%;	margin-top: auto;	padding: 11px 0;	background: #d60000;	color: #fff;	font-size: 0.875rem;	font-weight: 700;	text-align: center;	text-decoration: none;	border-radius: 6px;	transition: background-color 0.2s ease;}.works-detail-btn:hover {	background: #b50000;	color: #fff;}.works-detail-btn:hover {	background: #b50000;	color: #fff;}/* ページネーション */.works-pagination {	display: flex;	justify-content: center;	margin-top: 2.5rem;}.works-pagination-list {	display: flex;	align-items: center;	gap: 6px;	list-style: none;	margin: 0;	padding: 0;	flex-wrap: wrap;	justify-content: center;}.works-pagination-btn {	display: flex;	align-items: center;	justify-content: center;	min-width: 40px;	height: 40px;	padding: 0 12px;	border-radius: 6px;	background: #fff;	border: 2px solid #e0e0e0;	color: #444;	font-size: 0.9375rem;	font-weight: 700;	text-decoration: none;	transition: all 0.2s ease;	white-space: nowrap;}.works-pagination-btn:hover {	border-color: #d60000;	color: #d60000;}.works-pagination-btn.is-active {	background: #d60000;	border-color: #d60000;	color: #fff;}.works-pagination-ellipsis {	display: flex;	align-items: center;	justify-content: center;	min-width: 40px;	height: 40px;	color: #aaa;	font-size: 1rem;}/* 下部CTA */.works-cta-section {	background: linear-gradient(135deg, #d60000 0%, #8f0000 100%);	padding: 4rem 0;	text-align: center;	color: #fff;}.works-cta-inner {	max-width: 680px;	margin: 0 auto;}.works-cta-title {	font-size: clamp(1.25rem, 3vw, 1.75rem);	font-weight: 900;	color: #fff;	margin-bottom: 1rem;}.works-cta-text {	font-size: 0.9375rem;	color: rgba(255, 255, 255, 0.9);	line-height: 1.85;	margin-bottom: 2rem;}.works-cta-btn {	display: inline-block;	padding: 1rem 2.5rem;	background: #fff;	color: #d60000;	font-size: 1.0625rem;	font-weight: 900;	border-radius: 10px;	text-decoration: none;	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);	transition: transform 0.2s ease, box-shadow 0.2s ease;}.works-cta-btn:hover {	transform: translateY(-2px);	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.26);	color: #b50000;}/* 施工事例ページ スマホ調整（768px未満）   works-grid の3列化は既存の @media (min-width:768px) ブロックで対応済み */@media (max-width: 767px) {	.works-hero {		padding: 3rem 0 2.5rem;	}	.works-list-section {		padding: 3rem 0 4rem;	}	.works-filter-btn {		font-size: 0.8125rem;		padding: 6px 13px;	}	.works-area-chip {		font-size: 0.75rem;	}	.works-cta-btn {		display: block;		max-width: 360px;		margin: 0 auto;	}}/* =====================================================   22. 施工事例 個別ページ（single-works.php）   ===================================================== *//* 詳細コンテンツ全体のラップ */.works-single-wrap {	background: #f7f8fa;	padding: 3rem 0 4rem;}/* BEFORE / AFTER 写真エリア */.works-single-photos {	margin-bottom: 3rem;}.works-single-ba {	display: grid;	grid-template-columns: 1fr auto 1fr;	gap: 16px;	align-items: center;}.works-single-photo-item {	display: flex;	flex-direction: column;	gap: 8px;}.works-single-photo-label {	display: inline-block;	font-size: 0.75rem;	font-weight: 900;	letter-spacing: 0.08em;	padding: 4px 12px;	border-radius: 4px;	text-align: center;	width: fit-content;}.works-single-photo-label.before { background: #444; color: #fff; }.works-single-photo-label.after  { background: #f36c21; color: #fff; }.works-single-photo-box {	background: #ddd;	border-radius: 10px;	overflow: hidden;	aspect-ratio: 4 / 3;}.works-single-photo-box img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}.works-single-photo-empty {	display: flex;	align-items: center;	justify-content: center;	height: 100%;}.works-single-photo-empty p {	font-size: 0.875rem;	color: #aaa;	margin: 0;}.works-single-ba-arrow {	font-size: 1.5rem;	color: #bbb;	flex-shrink: 0;	text-align: center;}/* 施工概要テーブル */.works-single-summary {	background: #fff;	border-radius: 12px;	padding: 2rem;	margin-bottom: 2rem;	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);}.works-single-summary-title {	font-size: 1.125rem;	font-weight: 900;	color: #222;	margin-bottom: 1.25rem;	padding-bottom: 0.75rem;	border-bottom: 3px solid #d60000;}.works-single-dl {	display: flex;	flex-direction: column;	gap: 0;}.works-single-dl-row {	display: flex;	gap: 1rem;	padding: 10px 0;	border-bottom: 1px solid #eee;	font-size: 0.9375rem;	line-height: 1.75;}.works-single-dl-row:last-child { border-bottom: none; }.works-single-dl-row dt {	flex-shrink: 0;	width: 7em;	font-weight: 700;	color: #666;}.works-single-dl-row dd {	color: #222;	flex: 1;}.works-single-price {	color: #f36c21;	font-weight: 900;	font-size: 1.05em;}/* 本文エリア */.works-single-content {	background: #fff;	border-radius: 12px;	padding: 2rem;	margin-bottom: 2rem;	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);}.works-single-content-title {	font-size: 1.125rem;	font-weight: 900;	color: #222;	margin-bottom: 1.25rem;	padding-bottom: 0.75rem;	border-bottom: 3px solid #d60000;}.works-single-body {	font-size: 0.9375rem;	line-height: 2;	color: #333;}.works-single-body p { margin-bottom: 1rem; }.works-single-body p:last-child { margin-bottom: 0; }/* お客様の声 */.works-single-voice {	background: #fff;	border-radius: 12px;	padding: 2rem;	margin-bottom: 2rem;	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);}.works-single-voice-title {	font-size: 1.125rem;	font-weight: 900;	color: #222;	margin-bottom: 1.25rem;	padding-bottom: 0.75rem;	border-bottom: 3px solid #d60000;}.works-single-voice-body {	background: #fafafa;	border-left: 4px solid #d60000;	border-radius: 0 8px 8px 0;	padding: 1.25rem 1.5rem;	margin: 0;}.works-single-voice-body p {	font-size: 0.9375rem;	color: #333;	line-height: 1.9;	margin: 0;}/* 一覧に戻るボタン */.works-single-back {	text-align: center;	margin-top: 2.5rem;}.works-single-back-btn {	display: inline-block;	padding: 12px 28px;	border: 2px solid #d60000;	border-radius: 8px;	color: #d60000;	font-size: 0.9375rem;	font-weight: 700;	text-decoration: none;	transition: all 0.2s ease;}.works-single-back-btn:hover {	background: #d60000;	color: #fff;}/* アーカイブ: 事例なし時 */.works-empty {	grid-column: 1 / -1;	text-align: center;	padding: 3rem 1rem;	background: #fff;	border-radius: 12px;}.works-empty p {	font-size: 1rem;	color: #777;	line-height: 1.8;	margin: 0;}/* paginate_links() の .page-numbers を works-pagination スタイルに合わせる */.works-pagination-list .page-numbers {	display: flex;	align-items: center;	justify-content: center;	min-width: 40px;	height: 40px;	padding: 0 12px;	border-radius: 6px;	background: #fff;	border: 2px solid #e0e0e0;	color: #444;	font-size: 0.9375rem;	font-weight: 700;	text-decoration: none;	transition: all 0.2s ease;	white-space: nowrap;}.works-pagination-list .page-numbers:hover {	border-color: #d60000;	color: #d60000;}.works-pagination-list .page-numbers.current {	background: #d60000;	border-color: #d60000;	color: #fff;}.works-pagination-list .page-numbers.dots {	border-color: transparent;	background: transparent;	cursor: default;}/* single-works.php スマホ調整 */@media (max-width: 767px) {	.works-single-ba {		grid-template-columns: 1fr;	}	.works-single-ba-arrow {		font-size: 2rem;		transform: rotate(90deg);		display: block;		text-align: center;	}	.works-single-summary,	.works-single-content,	.works-single-voice {		padding: 1.5rem;	}	.works-single-dl-row {		flex-direction: column;		gap: 4px;	}	.works-single-dl-row dt { width: auto; }}/* =====================================================   23. 施工事例 個別ページ詳細エリア（works-detail-*）   ===================================================== */.works-detail-section {	padding: 4rem 0 5rem;	background: #f7f8fa;}.works-detail-title {	text-align: center;	font-size: clamp(1.375rem, 3vw, 2rem);	font-weight: 900;	color: #222;	margin-bottom: 2.5rem;}/* BEFORE / AFTER 写真エリア */.works-detail-before-after {	display: grid;	grid-template-columns: 1fr auto 1fr;	gap: 24px;	align-items: center;	margin-bottom: 3rem;}/* 写真カード共通 */.works-detail-photo {	position: relative;	border-radius: 16px;	overflow: hidden;	border: 2px solid #e5e5e5;	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07);}/* BEFORE: 控えめグレー枠 */.works-detail-photo--before {	border-color: #e5e5e5;	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07);}/* AFTER: 赤枠・強調シャドウ */.works-detail-photo--after {	border-color: #d60000;	box-shadow: 0 12px 32px rgba(214, 0, 0, 0.18);}/* 写真 — 縦横比を崩さず表示 */.works-detail-photo img {	width: 100%;	height: 420px;	object-fit: cover;	object-position: center center;	display: block;}.works-label {	position: absolute;	top: 14px;	left: 14px;	z-index: 2;	color: #fff;	font-weight: 900;	padding: 6px 12px;	border-radius: 6px;	font-size: 0.875rem;	letter-spacing: 0.06em;}.works-label.before { background: #444; }.works-label.after  { background: #d60000; }.works-photo-placeholder {	display: flex;	align-items: center;	justify-content: center;	height: 420px;	font-size: 0.875rem;	color: #aaa;	background: #e8e8e8;}.works-detail-arrow {	font-size: 2rem;	font-weight: 900;	color: #e95513;	text-align: center;	flex-shrink: 0;}/* 施工概要 */.works-detail-summary {	background: #fff;	border-radius: 16px;	padding: 2rem;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);	margin-bottom: 2rem;}.works-detail-summary h3 {	font-size: 1.125rem;	font-weight: 900;	color: #222;	margin-bottom: 1.25rem;	padding-bottom: 0.75rem;	border-bottom: 3px solid #d60000;}.works-detail-summary dl {	display: grid;	grid-template-columns: 9em 1fr;	gap: 0;	font-size: 0.9375rem;	line-height: 1.75;}.works-detail-summary dt,.works-detail-summary dd {	padding: 10px 0;	border-bottom: 1px solid #f0f0f0;}.works-detail-summary dt {	font-weight: 700;	color: #555;}.works-detail-summary dd {	margin: 0;	color: #222;}.works-detail-summary .price {	color: #e95513;	font-weight: 900;	font-size: 1.125rem;}/* 共通カード（施工内容・お客様の声・担当者コメント） */.works-detail-content {	background: #fff;	border-radius: 16px;	padding: 2rem;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);	margin-bottom: 2rem;	font-size: 0.9375rem;	line-height: 1.9;	color: #333;}.works-detail-content-heading {	font-size: 1.125rem;	font-weight: 900;	color: #222;	margin-bottom: 1.25rem;	padding-bottom: 0.75rem;	border-bottom: 3px solid #d60000;}.works-detail-content p { margin-bottom: 1rem; }.works-detail-content p:last-child { margin-bottom: 0; }/* お客様の声 本文（左赤ライン） */.works-detail-voice-body {	background: #fafafa;	border-left: 4px solid #d60000;	border-radius: 0 8px 8px 0;	padding: 1rem 1.25rem;	margin: 0;	font-size: 0.9375rem;	color: #333;	line-height: 1.85;}/* 担当者コメント 本文（左赤ライン） */.works-detail-staff-body {	background: #fdf5f5;	border-left: 4px solid #d60000;	border-radius: 0 8px 8px 0;	padding: 1rem 1.25rem;	font-size: 0.9375rem;	color: #333;	line-height: 1.85;}/* ボタンエリア（.btn-primary / .btn-secondary は .works-detail-buttons 内にスコープ） */.works-detail-buttons {	display: flex;	justify-content: center;	gap: 16px;	flex-wrap: wrap;	margin-top: 2.5rem;}.works-detail-buttons .btn-primary,.works-detail-buttons .btn-secondary {	display: inline-flex;	align-items: center;	justify-content: center;	min-width: 240px;	padding: 15px 28px;	border-radius: 999px;	font-weight: 900;	font-size: 1rem;	text-decoration: none;	transition: all 0.2s ease;}.works-detail-buttons .btn-primary {	background: #d60000;	color: #fff;	border: 2px solid #d60000;}.works-detail-buttons .btn-primary:hover {	background: #b50000;	border-color: #b50000;	color: #fff;}.works-detail-buttons .btn-secondary {	background: #fff;	color: #333;	border: 2px solid #bbb;}.works-detail-buttons .btn-secondary:hover {	border-color: #d60000;	color: #d60000;}/* スマホ調整 */@media (max-width: 767px) {	.works-detail-section {		padding: 2.5rem 0 3.5rem;	}	.works-detail-before-after {		grid-template-columns: 1fr;		gap: 16px;	}	.works-detail-arrow {		transform: rotate(90deg);	}	.works-detail-photo img,	.works-photo-placeholder {		height: 260px;	}	.works-detail-summary dl {		grid-template-columns: 1fr;		gap: 0;	}	.works-detail-summary dt {		padding-bottom: 2px;		border-bottom: none;		font-size: 0.8125rem;		color: #888;	}	.works-detail-summary dd {		padding-top: 0;		padding-bottom: 12px;	}	.works-detail-buttons .btn-primary,	.works-detail-buttons .btn-secondary {		min-width: 0;		width: 100%;		max-width: 360px;	}}/* =====================================================   24. 会社概要ページ（page-company.php）   ===================================================== *//* ---- 代表メッセージ ---- */.company-message-inner {	display: grid;	grid-template-columns: 1fr 300px;	gap: 3.5rem;	align-items: start;}.company-message-heading {	font-size: clamp(1.25rem, 3vw, 1.75rem);	font-weight: 900;	color: #1a1a1a;	line-height: 1.55;	margin-bottom: 1.5rem;}.company-message-body {	font-size: 0.9375rem;	line-height: 2;	color: #444;	margin-bottom: 1.75rem;}.company-message-body p { margin-bottom: 1.1rem; }.company-message-body p:last-child { margin-bottom: 0; }.company-message-sig {	font-size: 0.9375rem;	color: #333;	line-height: 1.9;	padding-top: 1.25rem;	border-top: 1px solid #e5e5e5;}.company-message-photo-inner {	border-radius: 16px;	overflow: hidden;	background: #e0e0e0;	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);}.company-message-photo-inner img {	width: 100%;	height: 420px;	object-fit: cover;	object-position: center center;	display: block;	border-radius: 16px;}.company-message-photo-placeholder {	display: flex;	align-items: center;	justify-content: center;	width: 100%;	height: 420px;	color: #aaa;	font-size: 0.875rem;	border-radius: 16px;}.company-message-photo-caption {	text-align: center;	font-size: 0.875rem;	color: #666;	margin-top: 0.75rem;}/* ---- 会社概要テーブル ---- */.company-info-table-wrap {	max-width: 820px;	margin: 0 auto;	background: #fff;	border-radius: 16px;	overflow: hidden;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);}.company-info-table {	width: 100%;	border-collapse: collapse;	font-size: 0.9375rem;	line-height: 1.75;}.company-info-table th,.company-info-table td {	padding: 14px 22px;	border-bottom: 1px solid #f0f0f0;	vertical-align: top;	text-align: left;}.company-info-table tbody tr:last-child th,.company-info-table tbody tr:last-child td {	border-bottom: none;}.company-info-table th {	width: 9.5em;	background: #fdf5f5;	font-weight: 700;	color: #c00;	white-space: nowrap;}.company-info-table td { color: #222; }.company-info-tel {	color: #d60000;	font-weight: 700;	text-decoration: none;}.company-info-tel:hover { text-decoration: underline; color: #d60000; }/* ---- 大切にしていること ---- */.company-reasons-grid {	display: grid;	grid-template-columns: repeat(3, 1fr);	gap: 1.5rem;}.company-reason-card {	background: #fff;	border: 1px solid #e8e8e8;	border-top: 4px solid #d60000;	border-radius: 12px;	padding: 2rem 1.5rem;	text-align: center;	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);	transition: box-shadow var(--transition);}.company-reason-card:hover {	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.10);}.company-reason-icon {	font-size: 2.5rem;	line-height: 1;	margin-bottom: 1rem;}.company-reason-title {	font-size: 1.0625rem;	font-weight: 900;	color: #d60000;	margin-bottom: 0.875rem;}.company-reason-text {	font-size: 0.875rem;	color: #555;	line-height: 1.85;	margin: 0;}/* ---- 施工エリア ---- */.company-area-body {	max-width: 680px;	margin: 0 auto;	text-align: center;}.company-area-body > p {	font-size: 0.9375rem;	color: #555;	line-height: 1.9;	margin-bottom: 1.75rem;}.company-area-chips {	display: flex;	flex-wrap: wrap;	gap: 10px;	justify-content: center;}.company-area-chip {	display: inline-block;	padding: 8px 22px;	background: #fff;	border: 2px solid #d60000;	border-radius: 999px;	font-size: 0.875rem;	font-weight: 700;	color: #d60000;}/* ---- Googleマップ ---- */.company-map-wrap {	border-radius: 16px;	overflow: hidden;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);	line-height: 0;}.company-map-wrap iframe {	display: block;	width: 100%;	height: 420px;	border: 0;}/* ---- CTA 電話番号 ---- */.company-cta-tel {	margin-top: 1.25rem;	margin-bottom: 0;}.company-cta-tel a {	font-size: 1.625rem;	font-weight: 900;	color: #fff;	text-decoration: none;	letter-spacing: 0.05em;}.company-cta-tel a::before {	content: '☎ ';	font-size: 1.25rem;}.company-cta-tel a:hover {	opacity: 0.85;	color: #fff;}/* ---- スマホ対応 ---- */@media (max-width: 767px) {	.company-message-inner {		grid-template-columns: 1fr;		gap: 2rem;	}	.company-message-photo {		max-width: 240px;		margin: 0 auto;	}	/* テーブル: ラベル上・値下の縦積みに変換 */	.company-info-table,	.company-info-table tbody,	.company-info-table tr {		display: block;	}	.company-info-table tr {		border-bottom: 1px solid #f0f0f0;		padding: 4px 0;	}	.company-info-table tbody tr:last-child {		border-bottom: none;	}	.company-info-table th,	.company-info-table td {		display: block;		border-bottom: none;		padding: 4px 16px;		white-space: normal;		width: auto;	}	.company-info-table th {		background: transparent;		font-size: 0.8125rem;		color: #d60000;		padding-bottom: 2px;	}	.company-info-table td {		padding-top: 0;		padding-bottom: 10px;	}	.company-reasons-grid {		grid-template-columns: 1fr;		gap: 1rem;	}	.company-map-wrap iframe {		height: 280px;	}	.company-cta-tel a {		font-size: 1.375rem;	}}/* =====================================================   25. マッハ塗装が安い理由ページ（page-reason.php）   ===================================================== *//* ---- Hero ---- */.reason-hero {	background: linear-gradient(130deg, #bb0000 0%, #d60000 45%, #e63030 80%, #ee4444 100%);	color: #fff;	padding: 80px 0 64px;	position: relative;	overflow: hidden;}.reason-hero::before {	content: '';	position: absolute;	top: -20%;	right: 5%;	width: 480px;	height: 480px;	border-radius: 50%;	background: radial-gradient(circle, rgba(255, 214, 0, 0.22) 0%, transparent 65%);	pointer-events: none;}.reason-hero::after {	content: '';	position: absolute;	bottom: -10%;	left: -5%;	width: 320px;	height: 320px;	border-radius: 50%;	background: radial-gradient(circle, rgba(255, 255, 255, 0.06) 0%, transparent 70%);	pointer-events: none;}.reason-hero-inner {	display: grid;	grid-template-columns: 1fr 320px;	gap: 2.5rem;	align-items: center;}.reason-hero-label {	display: inline-block;	font-size: 0.75rem;	font-weight: 700;	letter-spacing: 0.14em;	color: #FFD600;	margin-bottom: 0.6rem;}.reason-hero-title {	font-size: clamp(2.375rem, 5vw, 3.75rem);	font-weight: 900;	line-height: 1.2;	margin: 0 0 1rem;	color: #fff;}.reason-hero-desc {	font-size: 1rem;	line-height: 1.85;	color: rgba(255, 255, 255, 0.86);	margin-bottom: 1.75rem;}.reason-badges {	display: flex;	flex-wrap: wrap;	gap: 0.5rem;}.reason-badge {	display: inline-block;	background: #FFD600;	color: #1a1a1a;	font-size: 0.8125rem;	font-weight: 700;	padding: 0.3em 0.9em;	border-radius: 999px;	letter-spacing: 0.04em;}/* ---- Hero: 装飾ビジュアル ---- */.reason-hero-visual {	position: relative;	display: flex;	align-items: center;	justify-content: center;	min-height: 280px;}.reason-hero-deco-circle {	position: absolute;	border-radius: 50%;	pointer-events: none;}.reason-hero-deco-circle--1 {	width: 280px;	height: 280px;	background: rgba(255, 214, 0, 0.15);	top: 50%;	left: 50%;	transform: translate(-50%, -50%);}.reason-hero-deco-circle--2 {	width: 220px;	height: 220px;	border: 2px solid rgba(255, 255, 255, 0.25);	top: 50%;	left: 50%;	transform: translate(-50%, -50%);}.reason-hero-price-card {	position: relative;	background: #fff;	border-radius: 16px;	padding: 1.5rem 1.75rem;	text-align: center;	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);	border-top: 4px solid #d60000;	min-width: 240px;	z-index: 1;}.reason-hero-price-label {	font-size: 0.75rem;	font-weight: 700;	color: #d60000;	letter-spacing: 0.05em;	margin: 0 0 0.5rem;}.reason-hero-price-num {	font-size: 2.75rem;	font-weight: 800;	color: #111;	line-height: 1;	margin: 0 0 1rem;}.reason-hero-price-num span {	font-size: 1.25rem;	font-weight: 700;	color: #333;}.reason-hero-price-list {	list-style: none;	margin: 0;	padding: 0.875rem 0 0;	text-align: left;	display: flex;	flex-direction: column;	gap: 0.375rem;	border-top: 1px solid #f0f0f0;}.reason-hero-price-list li {	font-size: 0.8125rem;	color: #333;	font-weight: 600;}/* ---- 比較表 ---- */.reason-compare-grid {	display: grid;	grid-template-columns: repeat(3, 1fr);	gap: 1.5rem;	margin-top: 2.5rem;	align-items: start;}.reason-compare-card {	background: #fff;	border-radius: 16px;	overflow: hidden;	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);	border: 2px solid #e5e5e5;	display: flex;	flex-direction: column;}.reason-compare-card--best {	border: 3px solid #d60000;	box-shadow: 0 8px 32px rgba(214, 0, 0, 0.2);	transform: translateY(-8px);}.reason-compare-head {	background: #d60000;	color: #fff;	padding: 1.5rem 1.25rem 1.25rem;	text-align: center;}.reason-compare-head--mid  { background: #555; }.reason-compare-head--high { background: #2a2a2a; }.reason-compare-badge {	display: inline-block;	background: #FFD600;	color: #9a0000;	font-size: 0.75rem;	font-weight: 800;	padding: 0.2em 0.9em;	border-radius: 999px;	margin-bottom: 0.6rem;	letter-spacing: 0.04em;}.reason-compare-company {	font-size: 1.0625rem;	font-weight: 700;	margin: 0 0 0.5rem;}.reason-compare-price-wrap {	margin: 0;	line-height: 1;}.reason-compare-price {	font-size: 2.5rem;	font-weight: 900;	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;}.reason-compare-unit {	font-size: 0.9375rem;	font-weight: 600;	margin-left: 0.1em;}.reason-compare-caption {	font-size: 0.75rem;	margin: 0.35rem 0 0;	opacity: 0.85;}.reason-compare-list {	list-style: none;	padding: 1.25rem 1.25rem 1.5rem;	margin: 0;	flex: 1;	display: flex;	flex-direction: column;	gap: 0.65rem;}.reason-compare-list li {	font-size: 0.9375rem;	padding-left: 1.6em;	position: relative;	line-height: 1.5;	color: #333;}.reason-compare-list li::before {	position: absolute;	left: 0;	font-weight: 800;	top: 0.05em;}.reason-compare-list li.good::before    { content: '✓'; color: #d60000; }.reason-compare-list li.quality::before { content: '★'; color: #FFD600; font-size: 0.85em; }.reason-compare-list li.cost::before    { content: '▲'; color: #aaa; }.reason-compare-list li.neutral::before { content: '－'; color: #ccc; }.reason-compare-emphasis {	margin-top: 2.5rem;	background: #fff5f5;	border: 2px solid #d60000;	border-radius: 12px;	padding: 1.25rem 2rem;	text-align: center;}.reason-compare-emphasis p {	margin: 0;	font-size: 1.125rem;	font-weight: 700;	color: #d60000;}.reason-compare-disclaimer {	margin-top: 1rem;	font-size: 0.8125rem;	color: #999;	text-align: center;}/* ---- 5つの理由 ---- */.reason-five-grid {	display: grid;	grid-template-columns: repeat(3, 1fr);	gap: 1.5rem;	margin-top: 2.5rem;}/* 5枚目は中央に */.reason-five-card:last-child:nth-child(3n+2) {	grid-column: 2;}.reason-five-card {	background: #fff;	border-radius: 16px;	overflow: hidden;	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);	border: 1px solid #f0f0f0;	display: flex;	flex-direction: column;}.reason-five-head {	position: relative;	aspect-ratio: 16 / 9;	overflow: hidden;	background: #f0f0f0;}.reason-five-head img {	width: 100%;	height: 100%;	object-fit: cover;	object-position: center;	display: block;}.reason-five-thumb {	width: 100%;	height: 100%;	display: flex;	align-items: center;	justify-content: center;}.reason-five-thumb img {	width: 100%;	height: 100%;	object-fit: cover;	object-position: center;	display: block;}/* PNG（イラスト系）ははみ出さずに全体を表示 */.reason-five-thumb img[src$=".png"] {	object-fit: contain;	padding: 0.75rem;	background: #fff8f0;}.reason-five-emoji {	font-size: 3.75rem;	display: flex;	align-items: center;	justify-content: center;	width: 100%;	height: 100%;	background: #fff8e1;}.reason-five-num {	position: absolute;	top: 10px;	left: 12px;	font-size: 1.625rem;	font-weight: 900;	color: #fff;	background: #d60000;	width: 44px;	height: 44px;	border-radius: 50%;	display: flex;	align-items: center;	justify-content: center;	font-family: 'Montserrat', sans-serif;	box-shadow: 0 2px 8px rgba(214, 0, 0, 0.4);	z-index: 1;}.reason-five-body {	padding: 1.25rem 1.25rem 1.5rem;	flex: 1;}.reason-five-title {	font-size: 1rem;	font-weight: 700;	color: #222;	margin: 0 0 0.5rem;	line-height: 1.5;}.reason-five-text {	font-size: 0.9375rem;	color: #555;	line-height: 1.75;	margin: 0;}/* ---- 品質の考え方 ---- */.reason-quality-inner {	display: grid;	grid-template-columns: 1fr 1fr;	gap: 3rem;	align-items: start;	margin-top: 2rem;}.reason-quality-text p {	font-size: 1rem;	line-height: 1.85;	color: #444;	margin-bottom: 1rem;}.reason-quality-checklist {	list-style: none;	padding: 0;	margin: 1rem 0 1.25rem;	display: flex;	flex-direction: column;	gap: 0.5rem;}.reason-quality-checklist li {	font-size: 0.9375rem;	font-weight: 600;	color: #333;	padding-left: 1.75em;	position: relative;	line-height: 1.55;}.reason-quality-checklist li::before {	content: '✓';	position: absolute;	left: 0;	color: #d60000;	font-weight: 800;}.reason-quality-emphasis {	background: #fff5f5;	border-left: 4px solid #d60000;	border-radius: 0 8px 8px 0;	padding: 1rem 1.25rem;	font-size: 0.9375rem;	line-height: 1.75;	color: #333;}.reason-quality-flow-wrap {	background: #fff;	border-radius: 16px;	padding: 1.5rem 1.5rem 1.75rem;	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);	border: 1px solid #f0f0f0;}.reason-quality-flow-label {	font-size: 0.8125rem;	font-weight: 700;	color: #d60000;	letter-spacing: 0.08em;	text-transform: uppercase;	margin: 0 0 1.25rem;}.reason-quality-steps {	display: flex;	flex-wrap: wrap;	align-items: center;	gap: 0.4rem;}.reason-quality-step {	flex: 1;	min-width: 70px;	background: #fafafa;	border: 2px solid #e5e5e5;	border-radius: 10px;	padding: 0.75rem 0.5rem;	text-align: center;}.reason-quality-step--last {	border-color: #d60000;	background: #fff5f5;}.reason-quality-step p {	margin: 0.35rem 0 0;	font-size: 0.8125rem;	font-weight: 600;	color: #333;	line-height: 1.4;}.reason-quality-step-num {	display: inline-flex;	align-items: center;	justify-content: center;	width: 1.875rem;	height: 1.875rem;	background: #d60000;	color: #fff;	border-radius: 50%;	font-size: 0.75rem;	font-weight: 700;}.reason-quality-step-num--last {	background: #d60000;}.reason-quality-arrow {	font-size: 1.25rem;	color: #d60000;	flex-shrink: 0;	font-weight: 700;	line-height: 1;}/* ---- お客様との約束 ---- */.reason-promise-grid {	display: grid;	grid-template-columns: repeat(6, 1fr);	gap: 1.25rem;	margin-top: 2.5rem;}.reason-promise-card {	background: #fff;	border-radius: 16px;	padding: 1.75rem 1.25rem 1.5rem;	text-align: center;	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);	border: 2px solid #e8eaed;	display: flex;	flex-direction: column;	align-items: center;	gap: 0.6rem;	transition: transform 0.2s ease, box-shadow 0.2s ease;}.reason-promise-card:nth-child(1) { grid-column: span 2; }.reason-promise-card:nth-child(2) { grid-column: span 2; }.reason-promise-card:nth-child(3) { grid-column: span 2; }.reason-promise-card:nth-child(4) { grid-column: 2 / span 2; }.reason-promise-card:nth-child(5) { grid-column: 4 / span 2; }.reason-promise-card:hover {	transform: translateY(-4px);	box-shadow: 0 8px 24px rgba(214, 0, 0, 0.12);	border-color: #d60000;}.reason-promise-icon {	display: flex;	align-items: center;	justify-content: center;	width: 68px;	height: 68px;	background: #f4f5f7;	border-radius: 50%;	border: 2px solid #e8eaed;	flex-shrink: 0;}.reason-promise-title {	font-size: 0.9375rem;	font-weight: 700;	color: #222;	line-height: 1.55;	white-space: pre-line;	margin: 0;}.reason-promise-text {	font-size: 0.875rem;	color: #444;	line-height: 1.7;	margin: 0;}/* ---- FAQ ---- */.reason-faq-list {	margin-top: 2rem;	display: flex;	flex-direction: column;	gap: 1.25rem;}.reason-faq-item {	background: #fff;	border-radius: 12px;	overflow: hidden;	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);	border: 1px solid #eee;}.reason-faq-q,.reason-faq-a {	display: flex;	align-items: flex-start;	gap: 1rem;	padding: 1.125rem 1.375rem;}.reason-faq-q {	background: #fdf3f3;	border-bottom: 1px solid #f5e0e0;}.reason-faq-a { background: #fff; }.reason-faq-q p,.reason-faq-a p {	margin: 0;	font-size: 0.9375rem;	line-height: 1.75;	color: #333;	flex: 1;	padding-top: 0.1rem;}.reason-faq-q p { font-weight: 600; }.reason-faq-mark {	display: inline-flex;	align-items: center;	justify-content: center;	width: 2rem;	height: 2rem;	border-radius: 50%;	font-size: 1.0625rem;	font-weight: 900;	flex-shrink: 0;	font-family: 'Montserrat', sans-serif;}.reason-faq-mark--q { background: #d60000; color: #fff; }.reason-faq-mark--a { background: #1B4F8A; color: #fff; }/* ---- レスポンシブ ---- */@media (max-width: 1023px) {	.reason-hero-inner {		grid-template-columns: 1fr;		text-align: center;	}	.reason-hero-visual {		justify-content: center;		margin-top: 1.5rem;	}	.reason-badges {		justify-content: center;	}	.reason-compare-grid {		grid-template-columns: 1fr;		max-width: 480px;		margin-left: auto;		margin-right: auto;	}	.reason-compare-card--best {		transform: none;	}	.reason-five-grid {		grid-template-columns: repeat(2, 1fr);	}	.reason-five-card:last-child:nth-child(3n+2) {		grid-column: auto;	}	.reason-quality-inner {		grid-template-columns: 1fr;		gap: 2rem;	}	.reason-promise-grid {		grid-template-columns: repeat(2, 1fr);	}	.reason-promise-card:nth-child(n)   { grid-column: auto; }}/* =====================================================   施工事例 関連ページ案内（archive-works / single-works 共通）   ===================================================== *//* 一覧ページ用セクション */.works-related-nav-section {	background: var(--clr-bg-alt);	padding-block: 3rem;}/* 2カラムグリッド */.works-related-nav-grid {	display: grid;	grid-template-columns: 1fr 1fr;	gap: 1.5rem;}/* カード本体 */.works-related-nav-card {	display: flex;	flex-direction: column;	background: #fff;	border: 1.5px solid rgba(214, 0, 0, 0.18);	border-top: 4px solid #d60000;	border-radius: var(--radius);	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);	padding: 1.75rem;}/* 小見出し（一覧ページのみ） */.works-related-nav-sub {	font-size: 0.75rem;	font-weight: 700;	color: #d60000;	letter-spacing: 0.06em;	margin-bottom: 0.5rem;}/* メイン見出し */.works-related-nav-title {	font-size: 1.05rem;	font-weight: 800;	color: #1a1a1a;	line-height: 1.55;	margin-bottom: 0.75rem;}/* 説明文（flex: 1 でボタンを底揃え） */.works-related-nav-desc {	font-size: 0.875rem;	color: #555;	line-height: 1.75;	flex: 1;	margin-bottom: 1.25rem;}/* CTAボタン */.works-related-nav-btn {	display: inline-block;	align-self: flex-start;	background: #d60000;	color: #fff;	font-weight: 700;	font-size: 0.875rem;	padding: 0.75rem 1.5rem;	border-radius: var(--radius-sm);	text-decoration: none;	transition: background var(--transition), transform var(--transition), box-shadow var(--transition);}.works-related-nav-btn:hover {	background: #a80000;	color: #fff;	transform: translateY(-2px);	box-shadow: 0 6px 20px rgba(214, 0, 0, 0.3);	text-decoration: none;}/* 詳細ページ内インライン版 */.works-related-nav-inline {	margin-top: 3rem;	padding-top: 2.5rem;	border-top: 1px solid var(--clr-border);}.works-related-nav-inline-heading {	font-size: 1.1rem;	font-weight: 800;	color: #1a1a1a;	margin-bottom: 0.4rem;}.works-related-nav-inline-sub {	font-size: 0.875rem;	color: #666;	margin-bottom: 1.5rem;}@media (max-width: 767px) {	.works-related-nav-grid {		grid-template-columns: 1fr;	}	.works-related-nav-btn {		width: 100%;		text-align: center;		align-self: stretch;	}}/* =====================================================   関連ページ案内バナー（page-reason / page-company 共通）   ===================================================== */.related-banner-section {	padding-block: 2.5rem;}.related-banner {	display: flex;	align-items: center;	gap: 2rem;	background: #fff;	border: 1.5px solid rgba(214, 0, 0, 0.2);	border-left: 5px solid #d60000;	border-radius: var(--radius);	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);	padding: 2rem 2.5rem;}.related-banner-text {	flex: 1;	min-width: 0;}.related-banner-sub {	font-size: 0.78rem;	font-weight: 700;	color: #d60000;	letter-spacing: 0.06em;	margin-bottom: 0.5rem;	text-transform: none;}.related-banner-title {	font-size: clamp(1rem, 2vw, 1.2rem);	font-weight: 800;	color: #1a1a1a;	line-height: 1.55;	margin-bottom: 0.65rem;}.related-banner-desc {	font-size: 0.875rem;	color: #555;	line-height: 1.75;}.related-banner-action {	flex-shrink: 0;}.related-banner-btn {	display: inline-block;	background: #d60000;	color: #fff;	font-weight: 700;	font-size: 0.9rem;	padding: 0.9rem 1.75rem;	border-radius: var(--radius-sm);	text-decoration: none;	white-space: nowrap;	transition: background var(--transition), transform var(--transition), box-shadow var(--transition);}.related-banner-btn:hover {	background: #a80000;	color: #fff;	transform: translateY(-2px);	box-shadow: 0 6px 20px rgba(214, 0, 0, 0.3);	text-decoration: none;}@media (max-width: 767px) {	.related-banner {		flex-direction: column;		align-items: stretch;		padding: 1.5rem;		gap: 1.25rem;	}	.related-banner-btn {		width: 100%;		text-align: center;		padding: 1rem;	}}@media (max-width: 767px) {	.reason-hero {		padding: 56px 0 48px;	}	.reason-hero-price-card {		min-width: 0;		width: 100%;		max-width: 300px;	}	.reason-hero-price-num {		font-size: 2.25rem;	}	.reason-five-grid {		grid-template-columns: 1fr;	}	.reason-quality-steps {		flex-direction: column;		align-items: stretch;	}	.reason-quality-arrow {		transform: rotate(90deg);		align-self: center;	}	.reason-promise-grid {		grid-template-columns: 1fr;	}	.reason-compare-card--best {		transform: none;	}}/* =====================================================   25. 初めての外壁塗装で不安な方へ（page-first-paint.php）   プレフィックス: fp-   ===================================================== *//* ---------- 共通ボタン・バッジ ---------- */.fp-btn-red {	display: inline-flex;	align-items: center;	justify-content: center;	background: #D90000;	color: #fff;	font-weight: 900;	border-radius: 8px;	text-decoration: none;	transition: background 0.25s, transform 0.2s, box-shadow 0.2s;	letter-spacing: 0.02em;	text-align: center;}.fp-btn-red:hover {	background: #a80000;	color: #fff;	transform: translateY(-2px);	box-shadow: 0 6px 20px rgba(217, 0, 0, 0.3);}.fp-btn-lg  { padding: 1.1rem 2.25rem; font-size: 1.1rem; }.fp-btn-xl  { padding: 1.25rem 3rem;   font-size: 1.2rem; }.fp-link-btn {	display: inline-block;	padding: 0.875rem 2rem;	border: 2px solid #D90000;	border-radius: 8px;	color: #D90000;	font-weight: 700;	font-size: 0.9375rem;	text-decoration: none;	transition: background 0.25s, color 0.25s;}.fp-link-btn:hover {	background: #D90000;	color: #fff;}.fp-badge {	display: inline-block;	background: #FFD500;	color: #222;	font-size: 0.875rem;	font-weight: 900;	padding: 0.45rem 1rem;	border-radius: 999px;	white-space: nowrap;}/* ---------- 電話ボタン共通 ---------- */.fp-tel-btn {	display: flex;	flex-direction: column;	align-items: center;	background: #fff;	border: 2.5px solid #D90000;	border-radius: 10px;	padding: 0.875rem 1.5rem;	text-decoration: none;	color: #D90000;	transition: background 0.2s;	gap: 2px;}.fp-tel-btn:hover { background: #fff5f5; color: #D90000; }.fp-tel-sub    { font-size: 0.8125rem; font-weight: 700; color: #555; }.fp-tel-number { font-size: 1.875rem; font-weight: 900; letter-spacing: 0.04em; line-height: 1; color: #D90000; }.fp-tel-hours  { font-size: 0.75rem; color: #777; }/* =====================================================   ヒーロー   ===================================================== */.fp-hero {	background: linear-gradient(135deg, #fff 0%, #FFF8E5 100%);	padding: 3.5rem 0 3rem;}.fp-hero-inner {	display: grid;	grid-template-columns: 1fr 1fr;	gap: 3rem;	align-items: center;}.fp-hero-eyebrow {	display: inline-block;	font-size: 0.875rem;	font-weight: 700;	color: #0D3360;	letter-spacing: 0.08em;	margin-bottom: 0.75rem;}.fp-hero-title {	font-size: clamp(2rem, 4.5vw, 3.25rem);	font-weight: 900;	color: #0D3360;	line-height: 1.2;	margin-bottom: 1.25rem;}.fp-hero-em {	font-style: normal;	color: #D90000;	background: linear-gradient(180deg, transparent 60%, #FFD500 60%);	padding-bottom: 2px;}.fp-hero-desc {	font-size: 1rem;	color: #444;	line-height: 1.85;	margin-bottom: 1.5rem;}.fp-hero-badges {	display: flex;	flex-wrap: wrap;	gap: 0.5rem;	margin-bottom: 1.75rem;}.fp-hero-cta {	display: flex;	flex-direction: column;	gap: 0.875rem;}.fp-hero-visual {	position: relative;}.fp-hero-img {	border-radius: 16px;	overflow: hidden;	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14);	aspect-ratio: 4 / 3;}.fp-hero-img img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}/* =====================================================   2. 初めての方の3つの不安   ===================================================== *//* 画像差し替え共通（PC/SP写真バナー） */.fp-image-figure {	margin: 0 auto;}.fp-image-picture {	display: block;	width: 100%;	border-radius: 12px;	box-shadow: 0 4px 20px rgba(0,0,0,.08);	overflow: hidden;}.fp-image-picture img {	display: block;	width: 100%;	height: auto;}/* =====================================================   3. 知ってほしいこと   ===================================================== */.fp-tips-grid {	display: grid;	grid-template-columns: repeat(3, 1fr);	gap: 1.5rem;	margin-bottom: 2rem;}.fp-tip-card {	background: #fff;	border-radius: 12px;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);	padding: 2rem 1.5rem;	border-left: 6px solid #D90000;	position: relative;}.fp-tip-num {	font-size: 2.5rem;	font-weight: 900;	color: #FFD500;	line-height: 1;	margin-bottom: 0.75rem;	font-family: 'Arial', sans-serif;}.fp-tip-title {	font-size: 1.1rem;	font-weight: 900;	color: #0D3360;	margin-bottom: 0.875rem;	line-height: 1.4;}.fp-tip-text {	font-size: 0.9375rem;	color: #444;	line-height: 1.8;	margin-bottom: 0;}.fp-tips-note {	background: #FFF8E5;	border: 2px solid #D90000;	border-radius: 10px;	padding: 1.25rem 1.75rem;}.fp-tips-note p {	font-size: 0.9375rem;	color: #333;	line-height: 1.85;	margin-bottom: 0;}/* =====================================================   4. 5つの理由   ===================================================== */.fp-reason-grid {	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 1.5rem;}/* PC: 3+2 配置 */.fp-reason-card {	flex: 0 0 calc(33.333% - 1rem);	min-width: 0;}.fp-reason-card {	background: #fff;	border-radius: 12px;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);	overflow: hidden;}.fp-reason-head {	position: relative;}.fp-reason-num {	position: absolute;	top: 8px;	left: 10px;	font-size: 2rem;	font-weight: 900;	color: rgba(255, 255, 255, 0.9);	line-height: 1;	z-index: 2;	text-shadow: 0 2px 6px rgba(0,0,0,0.4);	font-family: 'Arial', sans-serif;}.fp-reason-thumb {	width: 100%;	height: 160px;	background: #e0e0e0;	overflow: hidden;}.fp-reason-thumb img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}.fp-reason-body {	padding: 1.25rem;}.fp-reason-title {	font-size: 1rem;	font-weight: 900;	color: #0D3360;	margin-bottom: 0.5rem;	line-height: 1.45;}.fp-reason-text {	font-size: 0.875rem;	color: #555;	line-height: 1.75;	margin-bottom: 0;}/* =====================================================   5. 比較表   ===================================================== *//* PC: テーブル */.fp-compare-table-wrap {	overflow-x: auto;	margin-bottom: 1rem;	border-radius: 12px;	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);}.fp-compare-table {	width: 100%;	border-collapse: collapse;	font-size: 0.9375rem;}.fp-compare-table thead tr {	background: #0D3360;}.fp-compare-th-item,.fp-compare-th-general,.fp-compare-th-mach {	padding: 1rem 1.25rem;	text-align: center;	font-weight: 900;	color: #fff;}.fp-compare-th-item    { width: 25%; text-align: left; }.fp-compare-th-general { width: 37.5%; background: #444; }.fp-compare-th-mach    { width: 37.5%; background: #D90000; }.fp-compare-th-logo {	display: inline-block;	font-size: 1.05rem;}.fp-compare-table tbody tr {	border-bottom: 1px solid #eee;	background: #fff;}.fp-compare-table tbody tr:hover {	background: #fafafa;}.fp-compare-table tbody th {	padding: 1rem 1.25rem;	font-weight: 700;	color: #333;	background: #f7f8fa;	border-right: 1px solid #e5e7eb;	vertical-align: middle;}.fp-compare-td-general {	padding: 1rem 1.25rem;	color: #555;	vertical-align: middle;	text-align: center;}.fp-compare-td-mach {	padding: 1rem 1.25rem;	color: #222;	font-weight: 700;	vertical-align: middle;	text-align: center;	background: #fff8f8;}.fp-compare-check {	display: inline-block;	color: #D90000;	font-weight: 900;	font-size: 1.1rem;	margin-right: 4px;}/* SP: カード型比較 */.fp-compare-cards { display: none; }.fp-compare-card {	background: #fff;	border-radius: 10px;	box-shadow: 0 3px 14px rgba(0,0,0,0.08);	margin-bottom: 1rem;	overflow: hidden;}.fp-compare-card-item {	background: #0D3360;	color: #fff;	font-weight: 900;	font-size: 0.9375rem;	padding: 0.75rem 1rem;}.fp-compare-card-row {	display: flex;	gap: 0.75rem;	padding: 0.875rem 1rem;	align-items: flex-start;}.fp-compare-card-row--general {	background: #f5f5f5;	border-bottom: 1px solid #e8e8e8;}.fp-compare-card-row--mach {	background: #fff5f5;}.fp-compare-card-label {	flex-shrink: 0;	font-size: 0.75rem;	font-weight: 900;	padding: 3px 8px;	border-radius: 4px;	white-space: nowrap;}.fp-compare-card-row--general .fp-compare-card-label {	background: #777;	color: #fff;}.fp-compare-card-row--mach .fp-compare-card-label {	background: #D90000;	color: #fff;}.fp-compare-card-val {	font-size: 0.9375rem;	color: #333;	line-height: 1.6;}.fp-compare-card-row--mach .fp-compare-card-val {	font-weight: 700;	color: #222;}/* =====================================================   6. 見積もりの早さ   ===================================================== */.fp-estimate-inner {	display: grid;	grid-template-columns: 1fr 320px;	gap: 2.5rem;	align-items: start;	margin-bottom: 1.75rem;}.fp-estimate-flows {	display: flex;	flex-direction: column;	gap: 1.5rem;}.fp-estimate-flow {	border-radius: 10px;	padding: 1.25rem 1.5rem;}.fp-estimate-flow--general {	background: #f5f5f5;	border: 2px solid #ccc;}.fp-estimate-flow--mach {	background: #fff5f5;	border: 2px solid #D90000;}.fp-estimate-flow-label {	font-size: 0.875rem;	font-weight: 900;	margin-bottom: 0.75rem;	color: #555;}.fp-estimate-flow--mach .fp-estimate-flow-label {	color: #D90000;}.fp-estimate-flow-steps {	display: flex;	flex-wrap: wrap;	align-items: center;	gap: 0.375rem;	margin-bottom: 0.625rem;}.fp-est-step {	background: #fff;	border: 1px solid #ccc;	border-radius: 6px;	padding: 0.375rem 0.75rem;	font-size: 0.875rem;	font-weight: 700;	color: #333;	white-space: nowrap;}.fp-estimate-flow--mach .fp-est-step {	border-color: #D90000;	color: #D90000;}.fp-est-step--highlight {	background: #D90000 !important;	color: #fff !important;	border-color: #D90000 !important;}.fp-est-arrow {	font-size: 1rem;	color: #aaa;	flex-shrink: 0;}.fp-estimate-flow--mach .fp-est-arrow {	color: #D90000;}.fp-estimate-flow-note {	font-size: 0.8125rem;	color: #888;	margin-bottom: 0;}.fp-estimate-flow-note--mach {	color: #D90000;	font-weight: 700;}.fp-estimate-img {	border-radius: 12px;	overflow: hidden;	box-shadow: 0 6px 24px rgba(0,0,0,0.1);}.fp-estimate-img img {	width: 100%;	height: auto;	display: block;	object-fit: cover;}.fp-estimate-note {	background: #FFD500;	border-radius: 10px;	padding: 1.1rem 1.75rem;	text-align: center;}.fp-estimate-note p {	font-size: 1.05rem;	color: #222;	font-weight: 700;	margin-bottom: 0;}/* =====================================================   7. 施工品質   ===================================================== */.fp-quality-visual {	margin: 0 auto;}.fp-quality-link {	text-align: center;	margin-top: 2.5rem;}/* =====================================================   8. 施工事例   ===================================================== */.fp-works-grid {	display: grid;	grid-template-columns: repeat(3, 1fr);	gap: 1.5rem;}.fp-works-card {	background: #fff;	border-radius: 12px;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);	overflow: hidden;	text-decoration: none;	color: var(--clr-text);	display: block;	transition: transform 0.25s, box-shadow 0.25s;}.fp-works-card:hover {	transform: translateY(-4px);	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.13);}.fp-works-ba {	display: flex;	gap: 8px;	align-items: center;	padding: 10px 10px 0;}.fp-works-photo-box {	flex: 1;	position: relative;}.fp-works-photo-box img {	width: 100%;	height: 110px;	object-fit: cover;	border-radius: 6px;	display: block;}.fp-works-photo-empty {	width: 100%;	height: 110px;	background: #e8e8e8;	display: flex;	align-items: center;	justify-content: center;	border-radius: 6px;	font-size: 0.75rem;	color: #aaa;	margin: 0;}.fp-works-photo-label {	position: absolute;	top: 6px;	left: 6px;	font-size: 0.625rem;	font-weight: 900;	letter-spacing: 0.06em;	padding: 2px 7px;	border-radius: 3px;	z-index: 1;}.fp-works-label-before { background: #444; color: #fff; }.fp-works-label-after  { background: #D90000; color: #fff; }.fp-works-ba-arrow {	font-size: 1.25rem;	color: #ccc;	flex-shrink: 0;}.fp-works-card-body {	padding: 1rem 1.125rem;}.fp-works-card-title {	font-size: 0.9375rem;	font-weight: 700;	color: #222;	margin-bottom: 0.5rem;}.fp-works-meta {	display: flex;	flex-wrap: wrap;	gap: 4px;	margin-bottom: 0.5rem;}.fp-works-tag {	font-size: 0.75rem;	font-weight: 700;	padding: 2px 8px;	border-radius: 4px;}.fp-works-tag-type { background: #EBF2FB; color: #1B4F8A; }.fp-works-tag-bld  { background: #f7f8fa; color: #555; }.fp-works-price {	display: inline-block;	font-size: 1rem;	font-weight: 900;	color: #D90000;}/* =====================================================   9. 施工の流れ   ===================================================== *//* =====================================================   10. よくある質問   ===================================================== */.fp-faq-list {	max-width: 800px;	margin-inline: auto;}.fp-faq-item {	border-bottom: 1px solid #e5e7eb;}.fp-faq-question {	display: flex;	align-items: center;	width: 100%;	background: #fff5f5;	border: none;	text-align: left;	padding: 1.125rem 1.25rem;	cursor: pointer;	gap: 0.875rem;	font-family: var(--font-base);	font-size: 1rem;	font-weight: 700;	color: #222;	transition: background 0.2s;	line-height: 1.5;}.fp-faq-question:hover { background: #ffe8e8; }.fp-faq-item--open .fp-faq-question { background: #ffe8e8; }.fp-faq-q-mark {	flex-shrink: 0;	width: 32px;	height: 32px;	background: #D90000;	color: #fff;	border-radius: 50%;	display: flex;	align-items: center;	justify-content: center;	font-weight: 900;	font-size: 1rem;}.fp-faq-q-text { flex: 1; }.fp-faq-icon {	flex-shrink: 0;	width: 28px;	height: 28px;	background: #D90000;	color: #fff;	border-radius: 50%;	display: flex;	align-items: center;	justify-content: center;	font-size: 1.25rem;	font-weight: 900;	line-height: 1;	transition: background 0.2s;}.fp-faq-item--open .fp-faq-icon { background: #a80000; }.fp-faq-answer {	display: none; /* JS で fp-faq-item--open クラス付与時に表示 */	padding: 1.25rem 1.25rem 1.25rem 4.25rem;	background: #fff;}.fp-faq-item--open .fp-faq-answer {	display: flex;	gap: 0.875rem;	align-items: center;}.fp-faq-a-mark {	flex-shrink: 0;	width: 32px;	height: 32px;	background: #1B4F8A;	color: #fff;	border-radius: 50%;	display: flex;	align-items: center;	justify-content: center;	font-weight: 900;	font-size: 1rem;}.fp-faq-a-text {	font-size: 0.9375rem;	color: #444;	line-height: 1.85;	margin-bottom: 0;}/* =====================================================   11. 店舗情報   ===================================================== */.fp-store-inner {	display: grid;	grid-template-columns: 1fr 1fr;	gap: 3rem;	align-items: start;}
.fp-store-inner--no-photo {	grid-template-columns: 1fr;}.fp-store-img {	border-radius: 14px;	overflow: hidden;	box-shadow: 0 8px 30px rgba(0,0,0,0.12);	aspect-ratio: 4/3;}.fp-store-img img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}.fp-store-dl {	display: flex;	flex-direction: column;	gap: 0;	margin-bottom: 1.75rem;}.fp-store-row {	display: flex;	gap: 1rem;	padding: 0.75rem 0;	border-bottom: 1px solid #eee;	font-size: 0.9375rem;	line-height: 1.75;}.fp-store-row dt {	flex-shrink: 0;	width: 6em;	font-weight: 700;	color: #666;}.fp-store-row dd {	margin: 0;	color: #222;}.fp-store-tel {	color: #D90000;	font-weight: 900;	font-size: 1.25rem;	text-decoration: none;}.fp-store-tel:hover { text-decoration: underline; }.fp-store-btns {	display: flex;	flex-wrap: wrap;	gap: 0.875rem;}/* =====================================================   12. 最終CTA   ===================================================== */.fp-final-cta {	background: linear-gradient(135deg, #D90000 0%, #8f0000 100%);	padding: 4rem 0 3.5rem;	text-align: center;	color: #fff;	position: relative;	overflow: hidden;}.fp-final-cta::before {	content: '';	position: absolute;	top: -60px;	left: -80px;	width: 300px;	height: 300px;	border-radius: 50%;	background: rgba(255,255,255,0.05);	pointer-events: none;}.fp-final-cta::after {	content: '';	position: absolute;	bottom: -80px;	right: -60px;	width: 260px;	height: 260px;	border-radius: 50%;	background: rgba(255,255,255,0.05);	pointer-events: none;}.fp-final-cta-inner {	position: relative;	z-index: 1;}.fp-final-cta-title {	font-size: clamp(1.5rem, 4vw, 2.25rem);	font-weight: 900;	color: #fff;	line-height: 1.3;	margin-bottom: 1rem;}.fp-final-cta-copy {	font-size: clamp(1.125rem, 3vw, 1.5rem);	color: rgba(255,255,255,0.95);	line-height: 1.5;	margin-bottom: 1.5rem;}.fp-final-cta-copy strong {	color: #FFD500;}.fp-final-cta-badges {	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 0.5rem;	margin-bottom: 2rem;}.fp-cta-badge {	display: inline-flex;	align-items: center;	background: rgba(255,255,255,0.15);	border: 1.5px solid rgba(255,255,255,0.5);	color: #fff;	font-size: 0.875rem;	font-weight: 700;	padding: 0.4rem 1rem;	border-radius: 999px;}.fp-final-cta .fp-btn-red {	background: #fff;	color: #D90000;	box-shadow: 0 6px 24px rgba(0,0,0,0.2);}.fp-final-cta .fp-btn-red:hover {	background: #ffe8e8;	color: #D90000;	transform: translateY(-2px);	box-shadow: 0 10px 30px rgba(0,0,0,0.25);}.fp-final-cta-tel {	margin-top: 2rem;}.fp-final-tel-label {	font-size: 0.9375rem;	color: rgba(255,255,255,0.85);	margin-bottom: 0.375rem;}.fp-final-tel-number {	display: block;	font-size: clamp(2rem, 5vw, 2.75rem);	font-weight: 900;	color: #FFD500;	letter-spacing: 0.04em;	text-decoration: none;	line-height: 1.1;	transition: opacity 0.2s;}.fp-final-tel-number:hover { opacity: 0.85; color: #FFD500; }.fp-final-tel-hours {	font-size: 0.875rem;	color: rgba(255,255,255,0.8);	margin-top: 0.25rem;	margin-bottom: 0;}/* =====================================================   レスポンシブ（スマホ: max-width 767px）   ===================================================== */@media (max-width: 767px) {	/* ヒーロー: 縦並び（コピー → バッジ → CTA → 写真） */	.fp-hero-inner {		grid-template-columns: 1fr;		gap: 1.75rem;	}	.fp-hero-visual { order: 3; }	.fp-hero-content { order: 1; }	.fp-hero-title { font-size: 2rem; }	.fp-hero-em { font-size: inherit; }		/* 知ってほしいこと: 縦並び */	.fp-tips-grid {		grid-template-columns: 1fr;		gap: 1rem;	}	/* 5つの理由: 縦並び */	.fp-reason-card {		flex: 0 0 100%;	}	/* 比較表: PC非表示 → カード表示 */	.fp-compare-table-wrap { display: none; }	.fp-compare-cards      { display: block; }	/* 見積もり */	.fp-estimate-inner {		grid-template-columns: 1fr;		gap: 1.5rem;	}					/* 施工事例: 縦1列 */	.fp-works-grid {		grid-template-columns: 1fr;		gap: 1.25rem;	}				/* FAQ */	.fp-faq-question { font-size: 0.9375rem; }	.fp-faq-answer   { padding-left: 1.25rem; }	/* 店舗情報 */	.fp-store-inner {		grid-template-columns: 1fr;		gap: 1.75rem;	}	.fp-store-img { aspect-ratio: 16/9; }	.fp-store-btns { flex-direction: column; }	.fp-store-btns .fp-link-btn { text-align: center; }	/* 最終CTA */	.fp-final-cta { padding: 3rem 0 2.5rem; }	.fp-btn-xl    { padding: 1.125rem 2rem; font-size: 1.05rem; width: 100%; }}/* =====================================================   レスポンシブ（タブレット: 768px〜1023px）   ===================================================== */@media (min-width: 768px) and (max-width: 1023px) {	.fp-reason-card {		flex: 0 0 calc(50% - 0.75rem);	}	.fp-works-grid {		grid-template-columns: repeat(2, 1fr);	}	.fp-estimate-inner {		grid-template-columns: 1fr 240px;	}}/* =====================================================   26. 来店相談予約（page-showroom-reservation.php）   プレフィックス: sr-   ===================================================== *//* ---------- ページヒーロー: contact-hero 準拠（赤背景・中央揃え） ---------- */.sr-page-hero {	position: relative;	overflow: hidden;	background: linear-gradient(135deg, #d60000 0%, #8f0000 100%);	padding: 4rem 0 3.5rem;	text-align: center;	color: #fff;}.sr-page-hero::before {	content: '';	position: absolute;	top: -60px;	left: -80px;	width: 320px;	height: 320px;	border-radius: 50%;	background: rgba(255, 255, 255, 0.06);	pointer-events: none;}.sr-page-hero::after {	content: '';	position: absolute;	bottom: -80px;	right: -60px;	width: 280px;	height: 280px;	border-radius: 50%;	background: rgba(255, 255, 255, 0.06);	pointer-events: none;}.sr-page-hero-content {	position: relative;	z-index: 1;}.sr-page-hero-label {	display: block;	font-size: 0.75rem;	font-weight: 700;	letter-spacing: 0.2em;	color: rgba(255, 255, 255, 0.72);	margin-bottom: 0.625rem;}.sr-page-hero-title {	font-size: clamp(2rem, 5vw, 3rem);	font-weight: 900;	color: #fff;	line-height: 1.15;	margin-bottom: 1rem;}.sr-page-hero-desc {	font-size: 1rem;	color: rgba(255, 255, 255, 0.9);	line-height: 1.85;	max-width: 560px;	margin: 0 auto 0.5rem;}.sr-page-hero-sub {	font-size: 0.9375rem;	color: rgba(255, 255, 255, 0.75);	max-width: 480px;	margin: 0 auto;	line-height: 1.75;}.sr-page-hero-badges {	position: relative;	z-index: 1;	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 0.75rem;	margin-top: 2rem;}.sr-page-hero-badge {	display: inline-flex;	align-items: center;	background: rgba(255, 255, 255, 0.18);	border: 1px solid rgba(255, 255, 255, 0.45);	color: #fff;	font-size: 0.875rem;	font-weight: 700;	padding: 0.45rem 1.125rem;	border-radius: 100px;}/* ---------- 導入（イントロ）セクション ---------- */.sr-intro-inner {	display: grid;	grid-template-columns: 1fr 1fr;	gap: 3.5rem;	align-items: center;	max-width: 960px;	margin: 0 auto;}.sr-intro-text {	font-size: 1rem;	color: #444;	line-height: 1.85;}.sr-intro-text p {	margin: 0 0 1rem;}.sr-intro-text p:last-child {	margin-bottom: 0;}.sr-intro-emphasis {	margin-top: 1.5rem;	padding: 1rem 1.25rem;	background: #fff5f5;	border-left: 4px solid #d60000;	border-radius: 0 8px 8px 0;}.sr-intro-emphasis p {	font-size: 0.9375rem;	color: #333;	font-weight: 700;	margin: 0;	line-height: 1.65;}.sr-intro-img {	border-radius: 12px;	overflow: hidden;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);}.sr-intro-img img {	width: 100%;	height: auto;	aspect-ratio: 4/3;	object-fit: cover;	display: block;}/* ---------- 3つの安心（理由カード） ---------- */.sr-reason-grid {	display: grid;	grid-template-columns: repeat(3, 1fr);	gap: 1.75rem;	max-width: 960px;	margin: 0 auto;}.sr-reason-card {	background: #fff;	border-radius: 12px;	padding: 2rem 1.5rem;	text-align: center;	border: 1px solid #e8e8e8;	transition: box-shadow 0.25s;}.sr-reason-card:hover {	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);}.sr-reason-num {	display: flex;	align-items: center;	justify-content: center;	width: 48px;	height: 48px;	background: #d60000;	color: #fff;	font-size: 1.1rem;	font-weight: 900;	border-radius: 50%;	margin: 0 auto 1rem;	letter-spacing: 0.02em;}.sr-reason-icon {	margin-bottom: 0.875rem;}.sr-reason-title {	font-size: 1.0625rem;	font-weight: 900;	margin: 0 0 0.625rem;	color: #222;}.sr-reason-text {	font-size: 0.9375rem;	color: #555;	line-height: 1.75;	margin: 0;}/* ---------- できること / 正式見積もりについて ---------- */.sr-docan-grid {	display: grid;	grid-template-columns: 1fr 1fr;	gap: 2rem;	max-width: 960px;	margin: 0 auto;}.sr-docan-card {	border-radius: 12px;	padding: 2rem;}.sr-docan-card--can {	background: #fff;	border: 2px solid #e8e8e8;}.sr-docan-card--note {	background: #fff5f5;	border: 2px solid #ffd0d0;}.sr-docan-head {	margin-bottom: 1.25rem;}.sr-docan-badge {	display: inline-block;	font-size: 0.9375rem;	font-weight: 900;	padding: 0.5rem 1rem;	border-radius: 6px;}.sr-docan-badge--can {	background: #d60000;	color: #fff;}.sr-docan-badge--note {	background: #f5c6c6;	color: #7a0000;	font-size: 0.875rem;}.sr-docan-list {	list-style: none;	margin: 0;	padding: 0;}.sr-docan-list li {	font-size: 0.9375rem;	color: #333;	padding: 0.5rem 0;	border-bottom: 1px solid #f0f0f0;	display: flex;	gap: 0.5rem;	align-items: flex-start;	line-height: 1.6;}.sr-docan-list li::before {	content: '\2713';	color: #d60000;	font-weight: 900;	flex-shrink: 0;	margin-top: 0.05em;}.sr-docan-list li:last-child {	border-bottom: none;}.sr-docan-text {	font-size: 0.9375rem;	color: #444;	line-height: 1.8;	margin: 0 0 0.875rem;}.sr-docan-text:last-of-type {	margin-bottom: 0;}.sr-docan-emphasis {	margin-top: 1.25rem;	padding: 0.875rem 1rem;	background: rgba(214, 0, 0, 0.06);	border-left: 3px solid #d60000;	border-radius: 0 6px 6px 0;}.sr-docan-emphasis p {	font-size: 0.9375rem;	color: #333;	font-weight: 700;	margin: 0;}/* ---------- 来店相談の流れ ---------- */.sr-flow-steps {	display: flex;	align-items: stretch;	gap: 0.5rem;	max-width: 960px;	margin: 0 auto 2rem;}.sr-flow-item {	flex: 1;	text-align: center;	padding: 1.75rem 1rem;	background: #fff;	border-radius: 12px;	border: 1px solid #e8e8e8;	position: relative;	z-index: 1;}.sr-flow-badge {	display: flex;	flex-direction: column;	align-items: center;	gap: 0.2rem;	margin-bottom: 1rem;	position: relative;	z-index: 2;}.sr-flow-step-label {	font-size: 0.625rem;	font-weight: 900;	letter-spacing: 0.15em;	color: #d60000;	line-height: 1;}.sr-flow-step-num {	display: flex;	align-items: center;	justify-content: center;	width: 52px;	height: 52px;	background: #d60000;	color: #fff;	font-size: 1.25rem;	font-weight: 900;	border-radius: 50%;}.sr-flow-badge--muted .sr-flow-step-label { color: #999; }.sr-flow-badge--muted .sr-flow-step-num   { background: #ddd; color: #666; }.sr-flow-title {	font-size: 1rem;	font-weight: 900;	color: #222;	margin: 0 0 0.5rem;	line-height: 1.3;}.sr-flow-desc {	font-size: 0.875rem;	color: #555;	line-height: 1.7;	margin: 0;}.sr-flow-arrow {	display: flex;	align-items: center;	justify-content: center;	font-size: 1.5rem;	color: #d60000;	flex-shrink: 0;	padding: 0 0.125rem;}.sr-flow-note {	max-width: 640px;	margin: 0 auto;	text-align: center;	padding: 1.25rem 1.5rem;	background: #fff5f5;	border: 1px solid #ffd0d0;	border-radius: 8px;}.sr-flow-note p {	font-size: 1rem;	font-weight: 700;	color: #d60000;	margin: 0;}/* ---------- フォームセクション ---------- */.sr-form-wrap {	max-width: 720px;	margin: 0 auto;}.sr-datetime-row {	display: grid;	grid-template-columns: 1fr 1fr;	gap: 0.75rem;}
/* ---- ご希望の来店日時: 直下の日程調整・予約確定案内 ---- */
.sr-datetime-note {
	margin-top: 0.875rem;
	padding: 0.875rem 1rem;
	background: #f7f8fa;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
}
.sr-datetime-note p {
	font-size: 0.9375rem;
	color: #444;
	line-height: 1.7;
	margin: 0;
}
.sr-datetime-note p + p { margin-top: 0.375rem; }.sr-form-hint {	font-size: 0.8125rem;	color: #888;	margin: 0.25rem 0 0;}
/* ---- 予約店舗（複数店舗対応）: 1店舗時の表示専用ブロック ---- */
.sr-location-current {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	border: 2px solid #e0e0e0;
	border-radius: 12px;
	padding: 1rem;
	background: #fafafa;
}
.sr-location-current-photo {
	flex: 0 0 88px;
	width: 88px;
	height: 88px;
	border-radius: 8px;
	overflow: hidden;
}
.sr-location-current-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.sr-location-current-body { min-width: 0; }
.sr-location-current-name {
	font-size: 1.0625rem;
	font-weight: 800;
	color: #222;
	margin: 0 0 0.375rem;
}
.sr-location-current-meta {
	font-size: 0.875rem;
	color: #555;
	line-height: 1.7;
	margin: 0;
}

/* ---- ご希望の店舗（複数店舗対応）: 2店舗以上時のラジオカード選択 ---- */
.sr-location-select {
	border: none;
	padding: 0;
	margin: 0;
}
.sr-location-select.is-error .sr-location-card { border-color: #d90000; }
.sr-location-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 0.875rem;
	margin-top: 0.75rem;
}
.sr-location-card {
	position: relative;
	display: block;
	border: 2px solid #e0e0e0;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.sr-location-card:has(.sr-location-radio:checked) {
	border-color: #d60000;
	background: #fff5f5;
}
.sr-location-card:has(.sr-location-radio:focus-visible) {
	box-shadow: 0 0 0 3px rgba(214, 0, 0, 0.15);
}
.sr-location-radio {
	position: absolute;
	top: 1rem;
	left: 1rem;
	width: 18px;
	height: 18px;
	margin: 0;
}
.sr-location-card-inner {
	display: block;
	padding: 1rem 1rem 1rem 2.75rem;
	min-height: 44px;
}
.sr-location-card-photo {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 0.75rem;
	background: #f0f0f0;
}
.sr-location-card-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.sr-location-card-body { display: flex; flex-direction: column; gap: 0.25rem; }
.sr-location-card-name { font-size: 1rem; font-weight: 800; color: #222; }
.sr-location-card-meta { font-size: 0.8125rem; color: #555; line-height: 1.6; }
.sr-location-card-select {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: #d60000;
}
.sr-location-card-select--active { display: none; }
.sr-location-card:has(.sr-location-radio:checked) .sr-location-card-select--idle { display: none; }
.sr-location-card:has(.sr-location-radio:checked) .sr-location-card-select--active { display: inline-block; }
@media (min-width: 768px) {
	.sr-location-current-photo { flex-basis: 112px; width: 112px; height: 112px; }
}/* 送信完了 */.sr-form-success {	max-width: 640px;	margin: 0 auto 2rem;	text-align: center;	padding: 2.5rem 2rem;	background: #e6f4ea;	border: 2px solid #4caf50;	border-radius: 12px;}.sr-form-success-icon {	display: flex;	align-items: center;	justify-content: center;	width: 56px;	height: 56px;	background: #4caf50;	color: #fff;	font-size: 1.5rem;	border-radius: 50%;	margin: 0 auto 1.25rem;}.sr-form-success-title {	font-size: 1.25rem;	font-weight: 900;	color: #2e7d32;	margin: 0 0 0.75rem;}.sr-form-success-text {	font-size: 0.9375rem;	color: #444;	line-height: 1.75;	margin: 0 0 1rem;}.sr-form-success-tel {	font-size: 0.875rem;	color: #555;	margin: 0;}.sr-form-success-tel-link {	display: block;	font-size: 1.375rem;	font-weight: 900;	color: #d60000;	text-decoration: none;	margin-top: 0.25rem;}/* エラー */.sr-form-errors {	max-width: 720px;	margin: 0 auto 1.5rem;	padding: 1.25rem 1.5rem;	background: #fdecea;	border: 2px solid #e53935;	border-radius: 10px;	color: #b71c1c;}.sr-form-errors-title {	font-size: 1rem;	font-weight: 900;	margin: 0 0 0.5rem;}.sr-form-errors ul {	margin: 0;	padding-left: 1.25rem;}.sr-form-errors li {	font-size: 0.9375rem;	line-height: 1.65;}/* ---------- FAQ ---------- */.sr-faq-list {	max-width: 820px;	margin: 0 auto;	display: flex;	flex-direction: column;	gap: 0.5rem;}.sr-faq-item {	border: 1px solid #e8e8e8;	border-radius: 8px;	overflow: hidden;	background: #fff;}.sr-faq-question {	width: 100%;	background: #fff5f5;	border: none;	padding: 1.25rem 1.5rem;	display: flex;	align-items: center;	gap: 0.875rem;	cursor: pointer;	text-align: left;	transition: background 0.2s;}.sr-faq-question:hover {	background: #ffe8e8;}.sr-faq-q-mark {	flex-shrink: 0;	width: 30px;	height: 30px;	background: #d60000;	color: #fff;	border-radius: 50%;	display: flex;	align-items: center;	justify-content: center;	font-size: 0.875rem;	font-weight: 900;}.sr-faq-q-text {	font-size: 1rem;	font-weight: 700;	color: #222;	flex: 1;	line-height: 1.5;}.sr-faq-icon {	margin-left: auto;	flex-shrink: 0;	font-size: 1.25rem;	font-weight: 700;	color: #d60000;	line-height: 1;	width: 24px;	text-align: center;}.sr-faq-answer {	display: none;	gap: 0.875rem;	padding: 1rem 1.5rem 1.25rem;	align-items: center;}.sr-faq-item--open .sr-faq-answer {	display: flex;}.sr-faq-a-mark {	flex-shrink: 0;	width: 30px;	height: 30px;	background: #e8601a;	color: #fff;	border-radius: 50%;	display: flex;	align-items: center;	justify-content: center;	font-size: 0.875rem;	font-weight: 900;}.sr-faq-a-text {	font-size: 0.9375rem;	color: #444;	line-height: 1.75;	margin: 0.25rem 0 0;}/* ---------- 最終CTA ---------- */.sr-final-cta {	background: linear-gradient(135deg, #d60000 0%, #8f0000 100%);	padding: 5rem 0;	color: #fff;	text-align: center;}.sr-final-cta-inner {	max-width: 680px;	margin: 0 auto;}.sr-final-cta-title {	font-size: clamp(1.5rem, 4vw, 2.25rem);	font-weight: 900;	color: #fff;	line-height: 1.35;	margin: 0 0 1rem;}.sr-final-cta-text {	font-size: 1rem;	color: rgba(255, 255, 255, 0.85);	line-height: 1.8;	margin: 0 0 2.5rem;}.sr-btn-red {	display: inline-flex;	align-items: center;	justify-content: center;	background: #fff;	color: #d60000;	font-weight: 900;	border-radius: 8px;	text-decoration: none;	transition: transform 0.2s, box-shadow 0.2s;	text-align: center;}.sr-btn-red:hover {	transform: translateY(-2px);	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);	color: #d60000;}.sr-btn-lg  { padding: 1rem 2.25rem; font-size: 1.05rem; }.sr-btn-xl  { padding: 1.125rem 3rem; font-size: 1.125rem; }.sr-final-tel {	display: flex;	flex-direction: column;	align-items: center;	margin-top: 2rem;}.sr-final-tel-label {	font-size: 0.8125rem;	color: rgba(255, 255, 255, 0.75);	margin: 0 0 0.25rem;}.sr-final-tel-number {	display: block;	font-size: clamp(2rem, 5vw, 2.5rem);	font-weight: 900;	color: #fff;	text-decoration: none;	line-height: 1;	letter-spacing: 0.02em;	margin-bottom: 0.25rem;}.sr-final-tel-hours {	font-size: 0.8125rem;	color: rgba(255, 255, 255, 0.7);	margin: 0;}/* =====================================================   sr- レスポンシブ（モバイル: max-width 767px）   ===================================================== */@media (max-width: 767px) {	/* ページヒーロー */	.sr-page-hero { padding: 3rem 0 2.5rem; }	.sr-page-hero-badges { flex-direction: column; align-items: center; }	.sr-page-hero-badge  { width: 100%; max-width: 280px; justify-content: center; }	/* イントロ */	.sr-intro-inner { grid-template-columns: 1fr; gap: 1.75rem; }	.sr-intro-img   { order: -1; }	/* 3つの理由 */	.sr-reason-grid { grid-template-columns: 1fr; gap: 1.25rem; }	/* できること */	.sr-docan-grid { grid-template-columns: 1fr; }	/* 流れ */	.sr-flow-steps {		flex-direction: column;		gap: 0;		max-width: 480px;		margin-left: auto;		margin-right: auto;	}	.sr-flow-item:first-child  { border-radius: 12px 12px 0 0; }	.sr-flow-item:last-child   { border-radius: 0 0 12px 12px; }	.sr-flow-item              { border-radius: 0; border-bottom: none; }	.sr-flow-item:last-child   { border-bottom: 1px solid #e8e8e8; }	.sr-flow-arrow {		transform: none;		width: 100%;		height: 28px;		padding: 0;		font-size: 0;		background: #f7f8fa;		border-left: 1px solid #e8e8e8;		border-right: 1px solid #e8e8e8;		position: relative;		z-index: 0;		overflow: hidden;	}	.sr-flow-arrow::after {		content: '\2193';		font-size: 1.125rem;		color: #d60000;		position: absolute;		inset: 0;		display: flex;		align-items: center;		justify-content: center;	}	/* フォーム */	.sr-datetime-row { grid-template-columns: 1fr; }	/* CTA */	.sr-final-cta { padding: 3.5rem 0; }	.sr-btn-xl    { width: 100%; max-width: 360px; }}/* =====================================================   sr- レスポンシブ（タブレット: 768px〜1023px）   ===================================================== */@media (min-width: 768px) and (max-width: 1023px) {	.sr-reason-grid { grid-template-columns: 1fr 1fr; }	.sr-flow-steps  { gap: 0.375rem; }}/* =====================================================   25. マッハ通信（mach_blog）   ===================================================== *//* ---- タブフィルター ---- */.mach-blog-tabs-wrap {	margin-bottom: 2rem;}.mach-blog-tabs {	display: flex;	gap: 0.5rem;	flex-wrap: wrap;	list-style: none;	margin: 0;	padding: 0;}.mach-blog-tab a {	display: block;	padding: 0.45rem 1.1rem;	border: 2px solid #d60000;	border-radius: 4px;	font-size: 0.875rem;	font-weight: 700;	color: #d60000;	background: #fff;	text-decoration: none;	white-space: nowrap;	transition: background 0.18s, color 0.18s;}.mach-blog-tab a:hover,.mach-blog-tab.is-active a {	background: #d60000;	color: #fff;}/* ---- 記事一覧セクション ---- */.mach-blog-list-section {	padding: 3.5rem 0 5rem;	background: #f7f8fa;}/* ---- 記事カードグリッド ---- */.mach-blog-grid {	display: grid;	grid-template-columns: repeat(3, 1fr);	gap: 2rem;}/* ---- 記事カード ---- */.mach-blog-card {	background: #fff;	border-radius: 12px;	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);	overflow: hidden;	display: flex;	flex-direction: column;}.mach-blog-card-thumb {	width: 100%;	aspect-ratio: 16 / 9;	overflow: hidden;	background: #e8eaed;}.mach-blog-card-thumb a {	display: block;	width: 100%;	height: 100%;}.mach-blog-card-thumb img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;	transition: transform 0.25s ease;}.mach-blog-card:hover .mach-blog-card-thumb img {	transform: scale(1.03);}.mach-blog-card-thumb-empty {	width: 100%;	height: 100%;	display: flex;	align-items: center;	justify-content: center;	color: #bbb;	font-size: 0.8125rem;}.mach-blog-card-body {	padding: 1.25rem 1.5rem 1.5rem;	flex: 1;	display: flex;	flex-direction: column;}.mach-blog-card-meta {	display: flex;	align-items: center;	gap: 0.625rem;	margin-bottom: 0.625rem;	flex-wrap: wrap;}.mach-blog-card-cat {	display: inline-block;	font-size: 0.75rem;	font-weight: 700;	color: #d60000;	background: #fff0f0;	padding: 0.2em 0.7em;	border-radius: 3px;}.mach-blog-card-date {	font-size: 0.8125rem;	color: #888;}.mach-blog-card-title {	font-size: 1rem;	font-weight: 700;	color: #1a1a1a;	line-height: 1.6;	margin-bottom: 0.625rem;}.mach-blog-card-title a {	color: inherit;	text-decoration: none;}.mach-blog-card-title a:hover {	color: #d60000;}.mach-blog-card-excerpt {	font-size: 0.875rem;	color: #555;	line-height: 1.8;	margin-bottom: 1rem;	flex: 1;}.mach-blog-card-link {	display: inline-block;	font-size: 0.875rem;	font-weight: 700;	color: #d60000;	text-decoration: none;	margin-top: auto;}.mach-blog-card-link:hover {	text-decoration: underline;}/* ---- 記事なし ---- */.mach-blog-empty {	grid-column: 1 / -1;	text-align: center;	padding: 3rem;	background: #fff;	border-radius: 12px;	color: #777;	font-size: 1rem;}/* ---- 個別記事セクション ---- */.mach-blog-single-section {	padding: 3.5rem 0 5rem;	background: #f7f8fa;}.mach-blog-single-inner {	max-width: 800px;	margin: 0 auto;	background: #fff;	border-radius: 16px;	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);	overflow: hidden;}.mach-blog-single-header {	padding: 2rem 2.5rem 1.5rem;	border-bottom: 1px solid #f0f0f0;}.mach-blog-single-meta {	display: flex;	align-items: center;	gap: 0.75rem;	margin-bottom: 0.875rem;	flex-wrap: wrap;}.mach-blog-single-cat {	display: inline-block;	font-size: 0.8125rem;	font-weight: 700;	color: #d60000;	background: #fff0f0;	padding: 0.25em 0.75em;	border-radius: 3px;}.mach-blog-single-date {	font-size: 0.875rem;	color: #888;}.mach-blog-single-title {	font-size: clamp(1.25rem, 3.5vw, 1.625rem);	font-weight: 900;	color: #1a1a1a;	line-height: 1.5;	margin: 0;}.mach-blog-single-thumb {	width: 100%;	aspect-ratio: 16 / 9;	overflow: hidden;	background: #e8eaed;}.mach-blog-single-thumb img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}/* ---- 記事本文（エディター出力） ---- */.mach-blog-entry {	padding: 2.5rem;	font-size: 1rem;	line-height: 2;	color: #333;}.mach-blog-entry h2 {	font-size: 1.2rem;	font-weight: 900;	color: #1a1a1a;	line-height: 1.5;	margin: 2.5rem 0 1rem;	padding: 0.6rem 1rem;	border-left: 4px solid #d60000;	background: #fff5f5;	border-radius: 0 6px 6px 0;}.mach-blog-entry h3 {	font-size: 1.05rem;	font-weight: 700;	color: #1a1a1a;	line-height: 1.55;	margin: 2rem 0 0.75rem;	padding-bottom: 0.4rem;	border-bottom: 2px solid #e5e7eb;}.mach-blog-entry p {	margin-bottom: 1.25rem;}.mach-blog-entry ul,.mach-blog-entry ol {	margin: 0 0 1.25rem 1.5rem;	padding: 0;}.mach-blog-entry ul li,.mach-blog-entry ol li {	margin-bottom: 0.4rem;	line-height: 1.85;}.mach-blog-entry img {	max-width: 100%;	height: auto;	border-radius: 8px;	display: block;	margin: 1.5rem auto;}.mach-blog-entry strong,.mach-blog-entry b {	font-weight: 700;	color: #111;}.mach-blog-entry table {	width: 100%;	border-collapse: collapse;	margin-bottom: 1.5rem;	font-size: 0.9375rem;}.mach-blog-entry table th,.mach-blog-entry table td {	border: 1px solid #e0e0e0;	padding: 0.625rem 0.875rem;	text-align: left;	vertical-align: top;}.mach-blog-entry table th {	background: #f7f8fa;	font-weight: 700;	color: #444;}.mach-blog-entry blockquote {	margin: 1.5rem 0;	padding: 1rem 1.25rem;	border-left: 4px solid #d60000;	background: #fff5f5;	border-radius: 0 6px 6px 0;	color: #555;}/* ---- 個別記事フッター（ボタン） ---- */.mach-blog-single-footer {	padding: 2rem 2.5rem;	border-top: 1px solid #f0f0f0;}.mach-blog-single-buttons {	display: flex;	gap: 1rem;	flex-wrap: wrap;	justify-content: center;}.mach-blog-single-back-btn {	display: inline-block;	padding: 0.75rem 1.75rem;	border: 2px solid #d60000;	border-radius: 6px;	font-size: 0.9375rem;	font-weight: 700;	color: #d60000;	background: #fff;	text-decoration: none;	transition: background 0.18s, color 0.18s;}.mach-blog-single-back-btn:hover {	background: #d60000;	color: #fff;}.mach-blog-single-cta-btn {	display: inline-block;	padding: 0.75rem 1.75rem;	background: #d60000;	border: 2px solid #d60000;	border-radius: 6px;	font-size: 0.9375rem;	font-weight: 700;	color: #fff;	text-decoration: none;	transition: background 0.18s, border-color 0.18s;}.mach-blog-single-cta-btn:hover {	background: #a80000;	border-color: #a80000;}/* ---- レスポンシブ（タブレット: 1024px以下） ---- */@media (max-width: 1023px) {	.mach-blog-grid {		grid-template-columns: repeat(2, 1fr);	}}/* ---- レスポンシブ（スマホ: 767px以下） ---- */@media (max-width: 767px) {	/* タブ横スクロール */	.mach-blog-tabs {		flex-wrap: nowrap;		overflow-x: auto;		-webkit-overflow-scrolling: touch;		padding-bottom: 0.375rem;		scrollbar-width: none;	}	.mach-blog-tabs::-webkit-scrollbar {		display: none;	}	/* 一覧: 1カラム */	.mach-blog-grid {		grid-template-columns: 1fr;		gap: 1.5rem;	}	/* 個別記事のパディング縮小 */	.mach-blog-single-header,	.mach-blog-entry,	.mach-blog-single-footer {		padding: 1.5rem;	}	/* ボタン縦並び */	.mach-blog-single-buttons {		flex-direction: column;	}	.mach-blog-single-back-btn,	.mach-blog-single-cta-btn {		text-align: center;		width: 100%;		box-sizing: border-box;	}	/* 本文の表: 横スクロール対応 */	.mach-blog-entry table {		display: block;		overflow-x: auto;		-webkit-overflow-scrolling: touch;	}}/* =====================================================   27. TOPページ マッハ通信セクション（top-mach- プレフィックス）   ===================================================== *//* ---- タブフィルター ---- */.top-mach-tabs-wrap {	margin-bottom: 1.75rem;}.top-mach-tabs {	display: flex;	gap: 0.5rem;	flex-wrap: wrap;	list-style: none;	margin: 0;	padding: 0;	justify-content: center;}.top-mach-tab-btn {	display: block;	padding: 0.4rem 1rem;	border: 2px solid #d60000;	border-radius: 4px;	font-size: 0.875rem;	font-weight: 700;	color: #d60000;	background: #fff;	cursor: pointer;	white-space: nowrap;	transition: background 0.18s, color 0.18s;	font-family: inherit;}.top-mach-tab-btn:hover,.top-mach-tab.is-active .top-mach-tab-btn {	background: #d60000;	color: #fff;}/* ---- 記事リスト ---- */.top-mach-list {	display: flex;	flex-direction: column;	gap: 1.25rem;	margin-bottom: 2rem;}/* ---- 横長カード ---- */.top-mach-card {	display: flex;	background: #fff;	border: 1px solid #e5e7eb;	border-radius: 10px;	overflow: hidden;	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);	transition: box-shadow 0.2s;}.top-mach-card:hover {	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.11);}/* 画像エリア（幅・高さともに固定。テスト4カードの実測値を基準に統一し、
   画像の縦横比に関わらずカード高さが本文量に応じて決まるようにする） */.top-mach-card-thumb {	flex-shrink: 0;	width: 200px;	height: 166px;	overflow: hidden;	background: #e8eaed;}.top-mach-card-thumb a {	display: block;	width: 100%;	height: 100%;}.top-mach-card-thumb img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;	transition: transform 0.25s ease;}.top-mach-card:hover .top-mach-card-thumb img {	transform: scale(1.03);}.top-mach-card-no-img {	width: 100%;	height: 100%;	min-height: 90px;	display: flex;	align-items: center;	justify-content: center;	font-size: 0.75rem;	color: #bbb;}/* 本文エリア */.top-mach-card-body {	flex: 1;	padding: 1.25rem 1.5rem;	display: flex;	flex-direction: column;}.top-mach-card-meta {	display: flex;	align-items: center;	gap: 0.625rem;	margin-bottom: 0.5rem;	flex-wrap: wrap;}.top-mach-card-cat {	display: inline-block;	font-size: 0.75rem;	font-weight: 700;	color: #d60000;	background: #fff0f0;	padding: 0.18em 0.65em;	border-radius: 3px;}.top-mach-card-date {	font-size: 0.8125rem;	color: #888;}.top-mach-card-title {	font-size: 1rem;	font-weight: 700;	color: #1a1a1a;	line-height: 1.55;	margin-bottom: 0.5rem;}.top-mach-card-title a {	color: inherit;	text-decoration: none;}.top-mach-card-title a:hover {	color: #d60000;}.top-mach-card-excerpt {	font-size: 0.875rem;	color: #555;	line-height: 1.75;	margin-bottom: 0.75rem;	flex: 1;}.top-mach-card-link {	display: inline-block;	font-size: 0.875rem;	font-weight: 700;	color: #d60000;	text-decoration: none;	margin-top: auto;	align-self: flex-start;}.top-mach-card-link:hover {	text-decoration: underline;}/* ---- もっと見るボタン ---- */.top-mach-more {	text-align: center;}.top-mach-more-btn {	display: inline-block;	padding: 0.75rem 2.25rem;	background: #d60000;	color: #fff;	font-size: 0.9375rem;	font-weight: 700;	border-radius: 6px;	text-decoration: none;	transition: background 0.18s;}.top-mach-more-btn:hover {	background: #a80000;}/* ---- スマホ（767px以下） ---- */@media (max-width: 767px) {	/* タブ: 横スクロール */	.top-mach-tabs {		flex-wrap: nowrap;		justify-content: flex-start;		overflow-x: auto;		-webkit-overflow-scrolling: touch;		padding-bottom: 0.25rem;		scrollbar-width: none;	}	.top-mach-tabs::-webkit-scrollbar {		display: none;	}	/* カード: 横型維持、画像を小さく */	.top-mach-card {		align-items: stretch;	}	.top-mach-card-thumb {		width: 110px;		height: 91px;	}	.top-mach-card-body {		padding: 0.875rem 1rem;	}	/* 抜粋は非表示でコンパクトに */	.top-mach-card-excerpt {		display: none;	}	.top-mach-card-title {		font-size: 0.9375rem;		margin-bottom: 0.375rem;	}}/* =====================================================   28. セクション区切り線 .home-section-divider   ===================================================== *//* マッハ通信セクションのボトムパディングを除去し、区切り線が間隔を管理する */.top-mach-section {	padding-bottom: 0;}/* 区切り線コンテナ   padding-top : ボタン下〜線まで（約56px）   padding-bottom : 0（ショールーム側の section padding-top 4rem が担う）*/.home-section-divider {	padding: 3.5rem 1.25rem 0;	display: flex;	align-items: center;	justify-content: center;}/* 薄いグレーの横線 */.home-section-divider span {	position: relative;	display: block;	width: min(960px, 100%);	height: 1px;	background: #e0e2e6;}/* 中央の赤いアクセント線 */.home-section-divider span::before {	content: '';	position: absolute;	top: 50%;	left: 50%;	transform: translate(-50%, -50%);	width: 80px;	height: 3px;	background: #d60000;	border-radius: 2px;}/* スマホ（767px以下） */@media (max-width: 767px) {	.home-section-divider {		padding-top: 2.5rem;		padding-left: 1.25rem;		padding-right: 1.25rem;	}	.home-section-divider span::before {		width: 50px;	}}/* =====================================================   29. SP専用改行ユーティリティ / スマホボタン調整   ===================================================== *//* PC・タブレット（768px以上）では非表示 */.sp-only-break {	display: none;}/* スマホ（767px以下）：改行を有効にし、ボタンを block に切り替える */@media (max-width: 767px) {	.sp-only-break {		display: inline;	}	/* 「安い理由」ボタン：flex から block に変更して <br> を自然に機能させる */	.cheap-reasons-btn {		display: block;		text-align: center;		line-height: 1.75;	}}

/* ---------- FV下 案内ブロック（テキスト・バッジは全幅で非表示。H1はSEO保持のためscreen-reader-text、CTAボタンのみ表示） ---------- */
.fv-tagline-block {	background: linear-gradient(180deg,#fff9e6 0%,#fff 100%);	border-bottom: 4px solid #d60000;	box-shadow: 0 3px 12px rgba(214,0,0,.1);}
.fv-tagline-inner {	max-width: 1100px;	margin: 0 auto;	padding: 4px 16px;	display: flex;	flex-direction: column;	align-items: center;	gap: 0;}
.fv-tagline-main {	font-size: 0.9rem;	color: #333;	text-align: center;	margin: 0;	font-weight: 700;	line-height: 1.5;}
.fv-tagline-main strong {	color: #d60000;}
.fv-tagline-text-group {	display: flex;	flex-direction: column;	align-items: center;	gap: 6px;}
@media (min-width: 768px) {
.fv-tagline-inner {	flex-direction: row;	justify-content: center;	padding: 4px 24px;}
}

/* ---------- PC 問い合わせカード (マッハくん) ---------- */
.pc-contact-block {	position: relative;	border-radius: 16px;	border: 3px solid #0B3A6E;	overflow: hidden;	background: #fff;	box-shadow: 0 8px 28px rgba(0,0,0,.12);}
.pcb-mascot {	position: absolute;	right: 0;	top: 0;	width: 150px;	z-index: 3;	pointer-events: none;}
.pcb-mascot img {	width: 150px;	height: auto;	display: block;	filter: drop-shadow(0 2px 10px rgba(0,0,0,.18));}
.pcb-header {	background: linear-gradient(135deg,#003B73 0%,#0B3A6E 100%);	padding: 20px 180px 20px 24px;}
.pcb-header-text {	font-size: 1.625rem;	font-weight: 900;	color: #fff;	margin: 0;	text-align: center;	text-shadow: 0 1px 2px rgba(0,0,0,.3);	letter-spacing: 0.03em;}
.pcb-free-row {	background: #F3F8FF;	padding: 14px 180px 14px 24px;	display: flex;	align-items: center;	justify-content: center;	gap: 0 8px;	flex-wrap: wrap;	font-size: 1.625rem;	font-weight: 900;	border-bottom: 2px solid #c8dff5;}
.pcb-free-label {	color: #1B4F8A;}
.pcb-free-dot {	color: #bbb;	font-weight: 400;}
.pcb-free-text {	color: #d60000;	font-size: 2rem;	font-weight: 900;}
.pcb-main {	display: flex;	align-items: center;	justify-content: center;	gap: 20px;	padding: 18px 24px;	flex-wrap: wrap;	background: #fafcff;}
.pcb-tel-group {	display: flex;	align-items: center;	gap: 10px;}
.pcb-tel-block {	display: flex;	align-items: center;	gap: 6px;}
.pcb-tel-icon {	font-size: 2rem;	color: #d60000;}
.pcb-tel-number {	font-size: 2.25rem;	font-weight: 900;	color: #d60000;	text-decoration: none;	letter-spacing: 0.04em;	line-height: 1;	text-shadow: 0 1px 3px rgba(214,0,0,.15);}
.pcb-tel-number:hover {	color: #b00000;}
.pcb-tel-info {	font-size: 0.75rem;	color: #666;	line-height: 1.75;}
.pcb-tel-info p {	margin: 0;}
.pcb-tel-info-label {	font-weight: 700;	color: #333;	font-size: 0.8rem;}
.pcb-cta-btn {	display: inline-block;	position: relative;	overflow: hidden;	background: linear-gradient(135deg,#E8601A 0%,#d60000 100%);	color: #fff;	font-size: 1.1rem;	font-weight: 900;	padding: 16px 32px;	border-radius: 6px;	text-decoration: none;	text-align: center;	transition: opacity .28s ease, transform .28s ease, box-shadow .28s ease;	white-space: nowrap;	box-shadow: 0 4px 14px rgba(214,0,0,.35);	letter-spacing: 0.04em;}
.pcb-cta-btn::before {	content: '';	position: absolute;	top: 0;	left: -130%;	width: 60%;	height: 100%;	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.38) 50%, rgba(255,255,255,0) 100%);	transform: skewX(-18deg);	animation: pcbShine 3.6s ease-in-out infinite;	pointer-events: none;}
@keyframes pcbShine {	0%   { left: -130%; }	28%  { left:  130%; }	100% { left:  130%; }}
.pcb-cta-btn:hover {	opacity: 0.92;	color: #fff;	transform: translateY(-3px);	box-shadow: 0 8px 22px rgba(214,0,0,.45);}
.pcb-footer {	background: #FFF3D6;	padding: 14px 24px;	text-align: center;	border-top: 2px solid #FFD89A;}
.pcb-footer-text {	font-size: 1.375rem;	color: #5a3a00;	font-weight: 800;	margin: 0;	letter-spacing: 0.02em;}

/* =====================================================
   外壁塗装33万円〜ページ専用 CSS（wp33-* / wallpaint33-* クラス）
   page-wall-paint-33.php のみで使用。他ページには影響しない。
   ===================================================== */
/* ---- ヒーロー ---- */
.wp33-hero {	position: relative;	background: linear-gradient(rgba(10,52,107,.82),rgba(10,52,107,.82)),url('assets/images/works/works-bg-wall-roller.jpg') center/cover no-repeat;	padding: 80px 0 64px;	text-align: center;	color: #fff;}
.wp33-hero-inner {	max-width: 1080px;	margin: 0 auto;	padding: 0 24px;}
.wp33-hero-content {	max-width: 800px;	margin: 0 auto;}
.wp33-hero-label {	display: inline-block;	font-size: .75rem;	font-weight: 700;	letter-spacing: .15em;	color: rgba(255,255,255,.7);	margin-bottom: 14px;}
.wp33-hero-title {	font-size: clamp(2.25rem,8vw,3.75rem);	font-weight: 900;	color: #fff;	line-height: 1.1;	margin-bottom: 10px;	text-shadow: 0 2px 12px rgba(0,0,0,.4);}
.wp33-hero-num {	color: #ffea00;	font-size: 1.3em;}
.wp33-hero-unit {	font-size: .65em;}
.wp33-hero-toha {	font-size: .7em;	color: rgba(255,255,255,.9);}
.wp33-hero-tax-note {	font-size: .9rem;	color: rgba(255,255,255,.7);	margin-bottom: 18px;}
.wp33-hero-badge {	display: inline-block;	background: rgba(255,255,255,.15);	border: 1px solid rgba(255,255,255,.3);	border-radius: 10px;	padding: 10px 20px;	font-size: .9375rem;	color: #fff;	margin-bottom: 28px;	backdrop-filter: blur(4px);}
.wp33-hero-badge strong {	color: #ffea00;}
.wp33-hero-buttons {	display: flex;	flex-direction: column;	gap: 12px;	align-items: center;}
.wp33-btn {	display: inline-block;	font-size: 1rem;	font-weight: 700;	padding: 14px 36px;	border-radius: 50px;	text-decoration: none;	text-align: center;	transition: transform .2s,box-shadow .2s;	width: min(300px,90%);}
.wp33-btn--red {	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	box-shadow: 0 4px 14px rgba(214,0,0,.35);}
.wp33-btn--red:hover {	transform: translateY(-2px);	color: #fff;}
.wp33-btn--orange {	background: linear-gradient(135deg,#f08000,#e85c1a);	color: #fff;	box-shadow: 0 4px 14px rgba(232,92,26,.35);}
.wp33-btn--orange:hover {	transform: translateY(-2px);	color: #fff;}
.wp33-btn--tel {	background: rgba(255,255,255,.96);	color: #1B4F8A;	display: flex;	flex-direction: column;	align-items: center;	gap: 2px;	box-shadow: 0 4px 14px rgba(0,0,0,.2);}
.wp33-btn-tel-sub {	font-size: .75rem;	color: #666;}
.wp33-btn-tel-num {	font-size: 1.25rem;	font-weight: 900;	color: #d60000;}
/* ---- 誤解説明／価格変動条件（画像セクション共通） ---- */
.wp33-info-figure {	margin: 0 auto;}
.wp33-info-picture {	display: block;	width: 100%;	border-radius: var(--radius-lg);	box-shadow: var(--shadow);	overflow: hidden;}
.wp33-info-picture img {	display: block;	width: 100%;	height: 100%;	object-fit: cover;}
.wp33-mis-picture {	aspect-ratio: 1672 / 941;}
.wp33-cond-picture {	aspect-ratio: 1536 / 1024;}
@media (max-width: 767px) {
.wp33-mis-picture,
.wp33-cond-picture {	aspect-ratio: 1 / 1;}
}
.wp33-info-caption {	max-width: 680px;	margin: 14px auto 0;	text-align: center;	font-size: .8125rem;	color: #666;	line-height: 1.75;}
/* ---- パッケージガイド ---- */
.wallpaint33-package-guide {	background: #eaf4ff;	padding: 0 0 56px;}
.wp33-pkg-inner {	max-width: 1100px;	margin: 0 auto;}
.wp33-pkg-title {	background: linear-gradient(90deg,#0052a8,#1B4F8A);	color: #fff;	text-align: center;	font-size: clamp(1.125rem,3vw,1.625rem);	font-weight: 900;	padding: 22px 24px;	line-height: 1.4;	margin: 0;}
.wp33-pkg-title-sub {	display: block;	font-size: .75em;	opacity: .85;	margin-bottom: 6px;}
.wp33-pkg-price-hl {	color: #ffea00;}
.wp33-pkg-section {	background: #fff;	padding: 22px 18px;}
.wp33-pkg-items-label {	font-size: .875rem;	font-weight: 700;	color: #1B4F8A;	margin-bottom: 14px;	text-align: center;}
.wp33-pkg-items {	display: flex;	flex-direction: column;	gap: 0;	margin-bottom: 14px;}
.wp33-pkg-item {	border-radius: 12px;	overflow: hidden;	border: 2px solid #eaf4ff;	background: #fff;	box-shadow: 0 2px 10px rgba(0,82,168,.07);}
.wp33-pkg-item--wall {	border-color: #1B4F8A;}
.wp33-pkg-item-photo {	height: 120px;	overflow: hidden;}
.wp33-pkg-item-photo img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}
.wp33-pkg-item-body {	padding: 10px 12px;	text-align: center;}
.wp33-pkg-item-name {	font-size: .875rem;	font-weight: 800;	color: #0052a8;	margin-bottom: 4px;}
.wp33-pkg-item-price {	font-size: .9375rem;	font-weight: 700;	color: #333;	margin-bottom: 2px;}
.wp33-pkg-item--wall .wp33-pkg-item-price {	color: #d60000;}
.wp33-pkg-item-price strong {	font-size: 1.125rem;	color: #d60000;}
.wp33-pkg-item-tax {	font-size: .75rem;	color: #888;	margin: 0;}
.wp33-pkg-plus {	text-align: center;	padding: 6px 0;	font-size: 1.25rem;	font-weight: 900;	color: #1B4F8A;}
.wp33-pkg-items-etc {	font-size: .8125rem;	color: #555;	text-align: center;	margin-bottom: 14px;}
.wp33-pkg-summary {	background: #0D3360;	padding: 22px 20px;	text-align: center;}
.wp33-pkg-summary-label {	font-size: .875rem;	color: rgba(255,255,255,.8);	margin-bottom: 6px;}
.wp33-pkg-summary-price {	display: flex;	align-items: baseline;	justify-content: center;	gap: 4px;}
.wp33-pkg-summary-pretax {	font-size: 1rem;	color: rgba(255,255,255,.8);}
.wp33-pkg-summary-num {	font-size: clamp(2.5rem,8vw,3.5rem);	font-weight: 900;	color: #ffea00;	line-height: 1;}
.wp33-pkg-summary-unit {	font-size: 1.25rem;	color: #fff;	font-weight: 700;}
.wp33-pkg-body {	background: #fff;	padding: 22px 18px;}
.wp33-pkg-desc-text {	font-size: .9375rem;	color: #333;	line-height: 1.8;	margin-bottom: 12px;}
.wp33-pkg-notes {	list-style: none;	padding: 0;	margin-bottom: 22px;}
.wp33-pkg-notes li {	font-size: .8125rem;	color: #666;	line-height: 1.65;	margin-bottom: 4px;}
.wp33-pkg-cta {	text-align: center;}
.wp33-pkg-cta-btn {	display: inline-block;	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	font-size: 1.0625rem;	font-weight: 900;	padding: 16px 40px;	border-radius: 50px;	text-decoration: none;	box-shadow: 0 4px 16px rgba(214,0,0,.35);	transition: transform .2s,box-shadow .2s;}
.wp33-pkg-cta-btn:hover {	transform: translateY(-2px);	color: #fff;	box-shadow: 0 8px 24px rgba(214,0,0,.42);}
/* ---- なぜこの価格 ---- */
.wp33-why-grid {	display: grid;	grid-template-columns: 1fr;	gap: 20px;	margin-bottom: 40px;}
.wp33-why-card {	background: #fff;	border-radius: 12px;	overflow: hidden;	box-shadow: 0 4px 16px rgba(0,0,0,.07);}
.wp33-why-card-top {	padding: 22px 20px 14px;}
.wp33-why-num {	display: inline-block;	font-size: 2.25rem;	font-weight: 900;	color: #e8e8e8;	line-height: 1;	margin-bottom: 8px;}
.wp33-why-ctitle {	font-size: 1.125rem;	font-weight: 900;	color: #0052a8;	line-height: 1.4;	margin-bottom: 8px;}
.wp33-why-text {	font-size: .9375rem;	color: #555;	line-height: 1.7;	margin: 0;}
.wp33-why-photo {	line-height: 0;}
.wp33-why-photo img {	width: 100%;	height: 200px;	object-fit: cover;	display: block;}
.wp33-why-quality {	display: flex;	align-items: flex-start;	gap: 18px;	background: #fff;	border: 2px solid #1B4F8A;	border-radius: 12px;	padding: 20px 24px;	margin-bottom: 36px;}
.wp33-why-quality-icon {	flex-shrink: 0;	width: 44px;	height: 44px;	color: #1B4F8A;}
.wp33-why-quality-icon svg {	width: 44px;	height: 44px;	display: block;}
.wp33-why-quality-body {	display: flex;	flex-direction: column;}
.wp33-why-quality-main {	font-size: 1.0625rem;	font-weight: 900;	color: #1a1a1a;	margin: 0 0 6px;}
.wp33-why-quality-sub {	font-size: .875rem;	color: #555;	line-height: 1.7;	margin: 0;}
.wp33-why-more {	text-align: center;	margin-top: 40px;}
.wp33-why-more-btn {	display: inline-block;	background: #1B4F8A;	color: #fff;	font-size: 1rem;	font-weight: 700;	padding: 14px 40px;	border-radius: 50px;	text-decoration: none;	transition: opacity .2s;}
.wp33-why-more-btn:hover {	opacity: .85;	color: #fff;}
/* ---- 価格変動条件 ---- */
.wp33-cond-note {	font-size: .8125rem;	color: #666;	line-height: 1.65;	max-width: 720px;	margin: 20px auto 0;	text-align: center;}
/* ---- 安さの秘訣バナー ---- */
.wp33-lowcost-banner {	padding: 40px 0 4px;}
.wp33-lowcost-banner-img {	display: block;	width: 100%;	max-width: 900px;	margin: 0 auto;}
.wp33-lowcost-banner-img img {	display: block;	width: 100%;	height: auto;	border-radius: 12px;}
/* ---- 施工事例 ---- */
.wp33-case-inner {	background: #fff;	border-radius: 16px;	box-shadow: 0 4px 20px rgba(0,0,0,.08);	overflow: hidden;	margin-bottom: 24px;}
.wp33-case-photos {	display: grid;	grid-template-columns: 1fr;	gap: 16px;	padding: 18px 18px 0;}
.wp33-case-photo {	position: relative;	margin: 0;}
.wp33-case-photo-frame {	position: relative;	aspect-ratio: 1 / 1;	overflow: hidden;	border-radius: 10px;	background: #f3f4f6;}
.wp33-case-photo-frame img,
.wp33-case-photo-frame .wp33-no-photo {	width: 100%;	height: 100%;	object-fit: contain;	object-position: center center;	display: block;}
.wp33-ba-label {	display: inline-block;	position: static;	font-size: .75rem;	font-weight: 700;	padding: 3px 10px;	border-radius: 4px;	margin: 0 0 8px;}
.wp33-ba-label--before {	background: #1B4F8A;	color: #fff;}
.wp33-ba-label--after {	background: #e85c1a;	color: #fff;}
.wp33-case-arrow {	display: none;}
.wp33-case-info {	padding: 22px 18px;}
.wp33-case-location,
.wp33-case-type {	display: inline-block;	font-size: .8125rem;	background: #eaf4ff;	color: #0052a8;	padding: 3px 10px;	border-radius: 20px;	font-weight: 600;	margin-bottom: 6px;	margin-right: 4px;}
.wp33-case-price-label {	font-size: .875rem;	color: #555;	margin-top: 8px;	margin-bottom: 4px;}
.wp33-case-price {	font-size: 1.5rem;	font-weight: 900;	color: #d60000;	margin-bottom: 14px;}
.wp33-case-breakdown {	border-top: 1px solid #e5e7eb;	padding-top: 14px;}
.wp33-case-bd-note {	font-size: .8125rem;	color: #888;	margin-bottom: 8px;}
.wp33-case-dl {	margin: 0;}
.wp33-dl-row {	display: flex;	justify-content: space-between;	padding: 7px 0;	border-bottom: 1px solid #f3f4f6;	font-size: .9375rem;}
.wp33-dl-row dt {	color: #555;}
.wp33-dl-row dd {	font-weight: 700;	color: #333;}
.wp33-dl-row--wall dt,
.wp33-dl-row--wall dd {	color: #d60000;	font-weight: 900;}
.wp33-dl-row--total dt,
.wp33-dl-row--total dd {	color: #0D3360;	font-weight: 900;	font-size: 1.0625rem;}
.wp33-dl-row--sub {	font-size: .8125rem;}
.wp33-no-photo {	width: 100%;	height: 230px;	background: #eee;	display: flex;	align-items: center;	justify-content: center;	color: #aaa;	font-size: .875rem;}
.wp33-showcase-link {	text-align: center;	margin-top: 12px;}
.wp33-more-link {	display: inline-block;	color: #1B4F8A;	font-weight: 700;	text-decoration: underline;	font-size: .9375rem;}
.wp33-no-works {	text-align: center;	color: #888;}
/* ---- 最終CTA ---- */
.wp33-cta {	background: linear-gradient(135deg,#0D3360,#1B4F8A);	padding: 72px 0 80px;	text-align: center;	color: #fff;}
.wp33-cta-title {	font-size: clamp(1.75rem,4vw,2.25rem);	font-weight: 900;	color: #fff;	line-height: 1.3;	margin-bottom: 16px;}
.wp33-cta-text {	font-size: 1rem;	color: rgba(255,255,255,.85);	line-height: 1.7;	margin-bottom: 18px;}
.wp33-cta-tags {	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 8px;	margin-bottom: 26px;}
.wp33-cta-tag {	font-size: .8125rem;	background: rgba(255,255,255,.15);	color: #fff;	padding: 4px 14px;	border-radius: 50px;	font-weight: 700;}
.wp33-cta-buttons {	display: flex;	flex-direction: column;	gap: 12px;	align-items: center;}
.wp33-cta-btn {	display: inline-flex;	flex-direction: column;	align-items: center;	font-weight: 700;	padding: 14px 36px;	border-radius: 50px;	text-decoration: none;	font-size: 1rem;	transition: transform .2s,box-shadow .2s;	width: min(280px,90%);	text-align: center;}
.wp33-cta-btn--estimate {	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	box-shadow: 0 4px 14px rgba(214,0,0,.35);}
.wp33-cta-btn--estimate:hover {	transform: translateY(-2px);	color: #fff;}
.wp33-cta-btn--visit {	background: linear-gradient(135deg,#f08000,#e85c1a);	color: #fff;	box-shadow: 0 4px 14px rgba(232,92,26,.35);}
.wp33-cta-btn--visit:hover {	transform: translateY(-2px);	color: #fff;}
.wp33-cta-btn--tel {	background: rgba(255,255,255,.96);	color: #1B4F8A;	gap: 2px;}
.wp33-cta-tel-sub {	font-size: .75rem;	color: #666;	line-height: 1.05;}
.wp33-cta-tel-num {	font-size: 1.25rem;	font-weight: 900;	color: #d60000;	line-height: 1.05;}
/* ---- PC（768px+）---- */
@media (min-width: 768px) {
.wp33-hero {	padding: 120px 0 90px;}
.wp33-hero-buttons {	flex-direction: row;	justify-content: center;}
.wp33-btn {	width: auto;	min-width: 200px;}
.wp33-pkg-items {	display: grid;	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;	gap: 8px;	align-items: stretch;}
.wp33-pkg-plus {	padding: 0 8px;	font-size: 1.5rem;	display: flex;	align-items: center;	justify-content: center;}
.wp33-pkg-item-photo {	height: 140px;}
.wp33-pkg-section {	padding: 28px 32px;}
.wp33-pkg-body {	padding: 28px 32px;}
.wp33-why-grid {	grid-template-columns: repeat(3,1fr);	gap: 24px;}
.wp33-case-inner {	display: grid;	grid-template-columns: 1fr 1fr;}
.wp33-case-photos {	grid-template-columns: 1fr 1fr;	gap: 24px;	padding: 24px 24px 0;}
.wp33-case-arrow {	display: none;}
.wp33-cta {	padding: 90px 0 96px;}
.wp33-cta-buttons {	flex-direction: row;	justify-content: center;}
.wp33-cta-btn {	width: auto;	min-width: 180px;}
}

/* =====================================================
   シミュレーションページ専用 CSS（simv2-* クラス）
   page-simulation.php のみで使用。他ページには影響しない。
   ===================================================== */
/* ---- ヒーロー ---- */
.simv2-hero {	background: #fff;	padding: 56px 0 48px;	color: #fff;	border-bottom: 1px solid #e5e7eb;}
.simv2-hero-inner {	max-width: 1080px;	margin: 0 auto;	padding: 0 24px;	display: flex;	align-items: center;	justify-content: space-between;	gap: 40px;}
.simv2-hero-text {	flex: 1;	min-width: 0;}
.simv2-hero-catch {	display: inline-block;	font-size: 0.8125rem;	font-weight: 700;	color: #ffea00;	letter-spacing: 0.08em;	margin-bottom: 14px;	background: rgba(255,255,255,.12);	padding: 4px 16px;	border-radius: 50px;}
.simv2-hero-title {	font-size: clamp(1.75rem,4vw,2.75rem);	font-weight: 900;	color: #fff;	line-height: 1.25;	margin-bottom: 16px;}
.simv2-hero-title em {	font-style: normal;	color: #ffea00;}
.simv2-hero-lead {	font-size: 1rem;	color: rgba(255,255,255,.9);	line-height: 1.8;	margin: 0;}
.simv2-hero-lead strong {	color: #ffea00;}
.simv2-hero-icons {	flex-shrink: 0;	display: flex;	align-items: center;	justify-content: center;}
.simv2-hero-icon-wrap {	display: flex;	gap: 20px;	align-items: flex-end;}
.simv2-icon-house {	width: 160px;	height: auto;	display: block;}
.simv2-icon-calc {	width: 100px;	height: auto;	display: block;}
/* FVバナー画像（PC/SP切替・クリック不可） */
.simv2-hero-banner {	max-width: 1080px;	margin: 0 auto 0;}
.simv2-hero-banner img {	display: block;	width: 100%;	height: auto;}
/* ---- バッジバー ---- */
.simv2-badges-bar {	background: #fff;	border-bottom: 1px solid #e5e7eb;	padding: 14px 0;}
.simv2-badges {	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 8px 24px;	list-style: none;	max-width: 1080px;	margin: 0 auto;	padding: 0 24px;}
.simv2-badge {	font-size: 0.875rem;	color: #333;	line-height: 1.5;}
.simv2-badge strong {	color: #1B4F8A;}
/* ---- セクション共通 ---- */
.simv2-section {	padding: 52px 0;}
.simv2-section--input {	background: #f7f8fa;}
.simv2-section--result {	background: #fff;}
.simv2-section--form {	background: #f2f7ff;}
/* ---- ステップカード ---- */
.simv2-step-card {	max-width: 860px;	margin: 0 auto;	background: #fff;	border-radius: 18px;	box-shadow: 0 8px 28px rgba(0,0,0,.09);	padding: 26px 20px;}
.simv2-step-card--result {	border-top: 4px solid #1B4F8A;}
.simv2-step-card--form {	border-top: 4px solid #d60000;}
.simv2-step-header {	display: flex;	align-items: flex-start;	gap: 18px;	margin-bottom: 24px;}
.simv2-step-circle {	display: inline-flex;	align-items: center;	justify-content: center;	width: 48px;	height: 48px;	min-width: 48px;	border-radius: 50%;	background: #1B4F8A;	color: #fff;	font-size: 1.375rem;	font-weight: 900;	line-height: 1;	flex-shrink: 0;}
.simv2-step-circle--result {	background: #1B4F8A;}
.simv2-step-circle--form {	background: #d60000;}
.simv2-step-kana {	font-size: 0.6875rem;	color: #aaa;	letter-spacing: 0.06em;	margin-bottom: 4px;}
.simv2-step-title {	font-size: clamp(1.25rem,3vw,1.625rem);	font-weight: 900;	color: #0D3360;	line-height: 1.3;	margin-bottom: 6px;}
.simv2-step-sub {	font-size: 0.875rem;	color: #555;	margin: 0;}
.simv2-step-sub strong {	color: #d60000;}
/* ---- 坪入力 ---- */
.simv2-input-wrap {	padding-top: 4px;}
.simv2-input-row {	display: flex;	align-items: center;	gap: 12px;	margin-bottom: 10px;	flex-wrap: wrap;}
.simv2-input-label {	font-size: 1rem;	font-weight: 700;	color: #1B4F8A;	white-space: nowrap;}
.simv2-tsubo-input {	width: 120px;	height: 52px;	border: 2px solid #afd0ef;	border-radius: 10px;	padding: 0 14px;	font-size: 1.5rem;	font-weight: 700;	text-align: center;	color: #0D3360;	outline: none;	transition: border-color .2s;	-webkit-appearance: none;}
.simv2-tsubo-input:focus {	border-color: #1B4F8A;	box-shadow: 0 0 0 3px rgba(27,79,138,.15);}
.simv2-input-unit {	font-size: 1.125rem;	font-weight: 700;	color: #333;}
.simv2-input-hint {	font-size: 0.8125rem;	color: #888;	margin-bottom: 22px;}
.simv2-start-btn {	display: inline-flex;	align-items: center;	gap: 10px;	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	font-size: 1.125rem;	font-weight: 900;	padding: 15px 40px;	border: none;	border-radius: 50px;	cursor: pointer;	box-shadow: 0 4px 18px rgba(214,0,0,.35);	transition: transform .2s ease,box-shadow .2s ease;	letter-spacing: 0.04em;}
.simv2-start-btn:hover {	transform: translateY(-2px);	box-shadow: 0 8px 24px rgba(214,0,0,.42);}
.simv2-start-btn-icon {	font-size: 0.9em;}
.simv2-error {	color: #d60000;	font-size: 0.9rem;	font-weight: 700;	background: #fff0f0;	border-left: 4px solid #d60000;	padding: 10px 14px;	border-radius: 6px;	margin-top: 12px;}
/* ---- 個別見積もり ---- */
.simv2-individual-wrap {	padding: 36px 0;}
.simv2-individual-box {	max-width: 640px;	margin: 0 auto;	background: #fff;	border-radius: 16px;	border: 2px solid #b8d8f0;	padding: 28px 24px;	text-align: center;	box-shadow: 0 4px 16px rgba(0,0,0,.07);}
.simv2-individual-icon {	font-size: 2rem;	margin-bottom: 10px;}
.simv2-individual-title {	font-size: 1.25rem;	font-weight: 900;	color: #0D3360;	margin-bottom: 12px;}
.simv2-individual-text {	font-size: 0.9375rem;	color: #444;	line-height: 1.75;	margin-bottom: 24px;}
.simv2-individual-text strong {	color: #1B4F8A;}
.simv2-individual-btns {	display: flex;	gap: 12px;	justify-content: center;	flex-wrap: wrap;}
.simv2-btn {	display: inline-block;	font-size: 1rem;	font-weight: 700;	padding: 13px 28px;	border-radius: 50px;	text-decoration: none;	text-align: center;	transition: opacity .2s;}
.simv2-btn--red {	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	box-shadow: 0 4px 14px rgba(214,0,0,.3);}
.simv2-btn--green {	background: #1B4F8A;	color: #fff;	box-shadow: 0 4px 14px rgba(27,79,138,.25);}
.simv2-btn:hover {	opacity: .88;	color: #fff;}
/* ---- 結果カード ---- */
.simv2-compare-wrap {	display: grid;	grid-template-columns: 1fr auto 1fr auto 1fr;	gap: 0;	align-items: center;	margin-bottom: 24px;	background: #f2f7ff;	border-radius: 14px;	overflow: hidden;}
.simv2-compare-mach {	background: #0D3360;	padding: 22px 16px;	text-align: center;}
.simv2-compare-mach-label {	font-size: 0.875rem;	color: rgba(255,255,255,.8);	margin-bottom: 8px;}
.simv2-brand-chip {	display: inline-block;	background: #ffea00;	color: #222;	font-size: 0.75rem;	font-weight: 900;	padding: 2px 10px;	border-radius: 50px;	margin-right: 4px;}
.simv2-compare-mach-price {	display: flex;	align-items: baseline;	justify-content: center;	gap: 4px;	color: #ffea00;	font-weight: 900;	margin-bottom: 4px;}
.simv2-price-approx {	font-size: 1rem;}
.simv2-price-num {	font-size: clamp(1.75rem,5vw,2.5rem);	line-height: 1;}
.simv2-price-unit {	font-size: 1rem;}
.simv2-price-note {	font-size: 0.75rem;	color: rgba(255,255,255,.6);	margin: 0;}
.simv2-compare-vs {	padding: 0 16px;	font-size: 1.125rem;	font-weight: 900;	color: #888;}
.simv2-compare-market {	padding: 22px 16px;	text-align: center;}
.simv2-compare-market-label {	font-size: 0.875rem;	color: #666;	margin-bottom: 8px;}
.simv2-compare-market-price {	font-size: 1.375rem;	font-weight: 700;	color: #888;	margin-bottom: 4px;	line-height: 1;}
.simv2-market-unit {	font-size: 0.875rem;}
.simv2-saving-box {	background: #fff3e0;	border: 2px solid #e85c1a;	border-radius: 12px;	padding: 14px 18px;	text-align: center;	display: flex;	align-items: center;	justify-content: center;	gap: 8px;	flex-wrap: wrap;	margin-bottom: 18px;}
.simv2-saving-label {	font-size: 0.875rem;	font-weight: 700;	color: #e85c1a;	display: block;	width: 100%;}
.simv2-saving-num {	font-size: 1.75rem;	font-weight: 900;	color: #d60000;}
.simv2-saving-suffix {	font-size: 1rem;	font-weight: 700;	color: #d60000;}
.simv2-saving-badge {	font-size: 0.75rem;	background: #e85c1a;	color: #fff;	padding: 2px 8px;	border-radius: 50px;}
/* ハウスメーカー相場との比較ボックス（既存の配色を流用し区別しやすくする） */
.simv2-saving-box--house {	background: #eef4fb;	border-color: #1B4F8A;}
.simv2-saving-box--house .simv2-saving-label,
.simv2-saving-box--house .simv2-saving-num,
.simv2-saving-box--house .simv2-saving-suffix {	color: #0D3360;}
.simv2-saving-box--house .simv2-saving-badge {	background: #1B4F8A;}
.simv2-breakdown-link {	text-align: center;	margin-bottom: 18px;	font-size: 0.9375rem;	color: #333;}
.simv2-breakdown-link a {	color: #1B4F8A;	font-weight: 700;	text-decoration: underline;}
.simv2-sp-br {	display: none;}
.simv2-caution {	display: flex;	gap: 12px;	background: #fffbe6;	border: 1px solid #ffe08a;	border-radius: 10px;	padding: 14px 16px;	font-size: 0.8125rem;	color: #555;	line-height: 1.7;}
.simv2-caution-icon {	font-size: 1.125rem;	flex-shrink: 0;}
.simv2-caution-text {	display: flex;	flex-direction: column;	gap: 8px;}
.simv2-caution-text p {	margin: 0;}
/* ---- フォーム ---- */
.simv2-form-thanks {	text-align: center;	padding: 36px 20px;}
.simv2-form-thanks-icon {	font-size: 2.5rem;	color: #1B4F8A;	margin-bottom: 12px;}
.simv2-form-thanks h3 {	font-size: 1.25rem;	font-weight: 900;	color: #0D3360;	margin-bottom: 12px;}
.simv2-form-thanks-hours {	font-size: 0.8125rem;	color: #888;}
.simv2-form-desc {	background: #f2f7ff;	border-radius: 10px;	padding: 14px 18px;	margin-bottom: 22px;	font-size: 0.9375rem;	color: #333;	line-height: 1.75;}
.simv2-form-nosim {	background: #fffbe6;	border: 1px solid #ffe08a;	border-radius: 8px;	padding: 12px 16px;	margin-bottom: 18px;	font-size: 0.9rem;	color: #555;}
.simv2-form-summary {	background: #edf5ff;	border-radius: 12px;	padding: 16px 18px;	margin-bottom: 22px;}
.simv2-form-summary-label {	font-size: 0.875rem;	font-weight: 700;	color: #1B4F8A;	margin-bottom: 12px;}
.simv2-form-summary-grid {	display: grid;	grid-template-columns: 1fr 1fr;	gap: 10px;}
.simv2-form-summary-item {	display: flex;	flex-direction: column;	gap: 2px;}
.simv2-sum-key {	font-size: 0.75rem;	color: #666;}
.simv2-sum-val {	font-size: 0.9375rem;	font-weight: 700;	color: #0D3360;}
.simv2-sum-val--main {	color: #d60000;	font-size: 1.125rem;}
.simv2-sum-val--saving {	color: #e85c1a;}
.simv2-form-errors {	background: #fff0f0;	border: 1px solid #ffb0b0;	border-radius: 8px;	padding: 14px 18px;	margin-bottom: 18px;}
.simv2-form-errors ul {	list-style: disc inside;	margin: 0;	padding: 0;}
.simv2-form-errors li {	color: #d60000;	font-size: 0.9rem;	margin-bottom: 4px;}
.simv2-form-row {	margin-bottom: 20px;}
.simv2-form-label {	display: flex;	align-items: center;	flex-wrap: wrap;	gap: 6px;	font-size: 0.9375rem;	font-weight: 700;	color: #1a1a1a;	margin-bottom: 8px;}
.simv2-form-required {	display: inline-block;	background: #d60000;	color: #fff;	font-size: 0.6875rem;	font-weight: 700;	padding: 2px 7px;	border-radius: 4px;}
.simv2-form-optional {	display: inline-block;	background: #e5e7eb;	color: #666;	font-size: 0.6875rem;	font-weight: 700;	padding: 2px 7px;	border-radius: 4px;}
.simv2-form-hint {	font-size: 0.75rem;	color: #888;	font-weight: 400;}
.simv2-form-input,
.simv2-form-select {	width: 100%;	height: 50px;	border: 1.5px solid #ccd8e8;	border-radius: 10px;	padding: 0 14px;	font-size: 1rem;	color: #1a1a1a;	outline: none;	transition: border-color .2s,box-shadow .2s;	font-family: inherit;	background: #fff;	-webkit-appearance: none;}
.simv2-form-input:focus,
.simv2-form-select:focus {	border-color: #1B4F8A;	box-shadow: 0 0 0 3px rgba(27,79,138,.12);}
.simv2-form-textarea {	width: 100%;	min-height: 140px;	border: 1.5px solid #ccd8e8;	border-radius: 10px;	padding: 14px;	font-size: 1rem;	color: #1a1a1a;	outline: none;	resize: vertical;	transition: border-color .2s,box-shadow .2s;	font-family: inherit;	line-height: 1.7;}
.simv2-form-textarea:focus {	border-color: #1B4F8A;	box-shadow: 0 0 0 3px rgba(27,79,138,.12);}
.simv2-form-input-note {	font-size: 0.8125rem;	color: #888;	margin-top: 6px;}
.simv2-form-privacy {	display: flex;	align-items: flex-start;	gap: 10px;	cursor: pointer;}
.simv2-form-privacy input[type="checkbox"] {	margin-top: 3px;	width: 18px;	height: 18px;	flex-shrink: 0;	accent-color: #1B4F8A;}
.simv2-form-privacy-text {	font-size: 0.9375rem;	color: #333;	line-height: 1.6;}
.simv2-form-privacy-text a {	color: #1B4F8A;	text-decoration: underline;}
.simv2-form-submit-wrap {	text-align: center;	margin-top: 28px;}
.simv2-form-submit-btn {	display: inline-flex;	align-items: center;	gap: 10px;	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	font-size: 1.125rem;	font-weight: 900;	padding: 17px 48px;	border: none;	border-radius: 50px;	cursor: pointer;	box-shadow: 0 4px 18px rgba(214,0,0,.35);	transition: transform .2s ease,box-shadow .2s ease;	letter-spacing: 0.04em;}
.simv2-form-submit-btn:hover {	transform: translateY(-2px);	box-shadow: 0 8px 26px rgba(214,0,0,.42);	color: #fff;}
.simv2-form-submit-icon {	font-size: 1.1em;}
.simv2-form-sales-note {	font-size: 0.8125rem;	color: #888;	margin-top: 12px;}
.simv2-form-tel-option {	margin-top: 32px;	padding-top: 24px;	border-top: 1px solid #e5e7eb;	text-align: center;}
.simv2-form-tel-label {	font-size: 0.875rem;	color: #666;	margin-bottom: 8px;}
.simv2-form-tel-link {	display: inline-flex;	align-items: center;	gap: 8px;	font-size: 1.625rem;	font-weight: 900;	color: #d60000;	text-decoration: none;	letter-spacing: 0.04em;}
.simv2-form-tel-link:hover {	color: #a80000;}
.simv2-form-tel-hours {	font-size: 0.8125rem;	color: #888;	margin-top: 6px;}
/* ---- PC（768px+）---- */
@media (min-width: 768px) {
.simv2-section {	padding: 80px 0;}
.simv2-step-card {	padding: 40px 48px;}
.simv2-form-summary-grid {	grid-template-columns: repeat(5,1fr);}
.simv2-compare-mach {	padding: 28px 24px;}
.simv2-compare-market {	padding: 28px 24px;}
}
/* ---- スマホ（〜767px）---- */
@media (max-width: 767px) {
.simv2-hero {	padding: 44px 0 36px;}
.simv2-hero-inner {	flex-direction: column;	gap: 20px;}
.simv2-icon-house {	width: 110px;}
.simv2-icon-calc {	width: 70px;}
.simv2-hero-icon-wrap {	gap: 14px;}
.simv2-step-card {	padding: 22px 16px;	border-radius: 14px;}
.simv2-start-btn {	width: 100%;	justify-content: center;	font-size: 1rem;	padding: 15px 20px;}
.simv2-compare-wrap {	grid-template-columns: 1fr;}
.simv2-compare-vs {	padding: 8px 0;	text-align: center;}
.simv2-form-submit-btn {	width: 100%;	justify-content: center;	padding: 16px 20px;	font-size: 1rem;}
.simv2-individual-btns {	flex-direction: column;	align-items: center;}
.simv2-btn {	width: min(280px,100%);}
.simv2-sp-br {	display: inline;}
.simv2-form-summary-grid {	grid-template-columns: 1fr 1fr;}
}

/* =====================================================
   TOPページ 施工の流れ専用 CSS（top-flow-* クラス）
   fp-flow-* と同デザイン。他ページには影響しない。
   ===================================================== */
.top-flow-section {	background: #f7f8fa;}
.top-flow-visual {	display: block;	max-width: 1100px;	margin: 0 auto;	border-radius: 12px;	overflow: hidden;	box-shadow: 0 4px 20px rgba(0,0,0,.08);}
.top-flow-visual img {	display: block;	width: 100%;	height: auto;}

/* =====================================================
   99.8万円ページ専用 CSS（prc-* クラス）
   ===================================================== */

/* ---- ヒーロー ---- */
.prc-hero {	position: relative;	background-color: #0D3360;	background-size: cover;	background-position: center center;	background-repeat: no-repeat;	padding: 80px 0 64px;	text-align: center;	color: #fff;}
.prc-hero::before {	content: '';	position: absolute;	inset: 0;	background: rgba(10,52,107,0.78);	z-index: 0;}
.prc-hero-inner {	position: relative;	z-index: 1;	max-width: 1040px;	margin: 0 auto;	padding: 0 24px;}
.prc-hero-label {	display: inline-block;	font-size: 0.75rem;	font-weight: 700;	letter-spacing: 0.15em;	color: rgba(255,255,255,.7);	margin-bottom: 14px;}
.prc-hero-title {	font-size: clamp(1.75rem,5vw,2.75rem);	font-weight: 900;	color: #fff;	line-height: 1.25;	margin-bottom: 16px;	text-shadow: 0 2px 14px rgba(0,0,0,.55);}
.prc-price-yellow {	color: #ffea00;}
.prc-hero-sub {	font-size: 1.0625rem;	color: rgba(255,255,255,.9);	line-height: 1.7;	margin-bottom: 6px;}
.prc-hero-note {	font-size: 0.8rem;	color: rgba(255,255,255,.65);	margin-bottom: 28px;}
.prc-hero-price-box {	background: rgba(10,30,80,.45);	border: 1px solid rgba(255,255,255,.4);	border-radius: 16px;	padding: 20px 40px;	display: inline-block;	margin-bottom: 28px;	backdrop-filter: blur(8px);	box-shadow: 0 4px 28px rgba(0,0,0,.35);}
.prc-hero-price-main {	display: flex;	align-items: baseline;	justify-content: center;	gap: 4px;	margin: 0;}
.prc-price-label {	font-size: 1rem;	color: rgba(255,255,255,.8);}
.prc-price-num {	font-size: clamp(3rem,10vw,4.5rem);	font-weight: 900;	color: #ffea00;	line-height: 1;	text-shadow: 0 2px 12px rgba(0,0,0,.25);}
.prc-price-unit {	font-size: 1.375rem;	color: #fff;	font-weight: 700;}
.prc-hero-price-tax {	font-size: 0.8rem;	color: rgba(255,255,255,.65);	margin: 6px 0 0;}
.prc-hero-buttons {	display: flex;	flex-direction: column;	gap: 14px;	align-items: center;}
.prc-btn {	display: inline-block;	font-size: 1rem;	font-weight: 700;	padding: 14px 36px;	border-radius: 50px;	text-decoration: none;	text-align: center;	transition: transform .2s ease,box-shadow .2s ease;	width: min(320px,90%);}
.prc-btn--red {	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	box-shadow: 0 4px 14px rgba(214,0,0,.35);}
.prc-btn--red:hover {	transform: translateY(-2px);	color: #fff;}
.prc-btn--orange {	background: linear-gradient(135deg,#f08000,#e85c1a);	color: #fff;	box-shadow: 0 4px 14px rgba(232,92,26,.35);}
.prc-btn--orange:hover {	transform: translateY(-2px);	color: #fff;}
.prc-btn--tel {	background: rgba(255,255,255,.96);	color: #1B4F8A;	display: flex;	flex-direction: column;	align-items: center;	gap: 2px;	padding: 10px 36px;	box-shadow: 0 4px 16px rgba(0,0,0,.25);}
.prc-btn-tel-label {	font-size: 0.75rem;	color: #666;}
.prc-btn-tel-num {	font-size: 1.25rem;	font-weight: 900;	color: #d60000;}

/* ---- 含まれる内容 ---- */
.prc-items-grid {	display: grid;	grid-template-columns: repeat(2,1fr);	gap: 12px;	list-style: none;	margin: 0 0 40px;	padding: 0;}
.prc-item-card {	background: #fff;	border-radius: 14px;	border: 2px solid #afd0ef;	padding: 0;	text-align: center;	box-shadow: 0 4px 16px rgba(0,82,168,.09);	display: flex;	flex-direction: column;	align-items: stretch;	gap: 0;	overflow: hidden;	transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.prc-item-card:hover {	transform: translateY(-3px);	box-shadow: 0 10px 24px rgba(0,82,168,.18);	border-color: #1B4F8A;}
.prc-item-photo {	width: 100%;	height: 130px;	overflow: hidden;	line-height: 0;	flex-shrink: 0;}
.prc-item-photo img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;	transition: transform .35s ease;}
.prc-item-card:hover .prc-item-photo img {	transform: scale(1.05);}
.prc-item-name {	font-size: 0.9375rem;	font-weight: 800;	color: #0052a8;	padding: 11px 8px;	text-align: center;	line-height: 1.4;}
.prc-emphasis-row {	display: grid;	grid-template-columns: repeat(3,1fr);	gap: 12px;	margin-bottom: 36px;}
.prc-emphasis-box {	background: linear-gradient(160deg,#0D3360 0%,#1B4F8A 100%);	border-radius: 16px;	padding: 26px 12px;	text-align: center;	display: flex;	flex-direction: column;	gap: 6px;	box-shadow: 0 8px 24px rgba(13,51,96,.32);}
.prc-emphasis-main {	font-size: 1.25rem;	font-weight: 900;	color: #fff;}
.prc-emphasis-komi {	font-size: 1.875rem;	font-weight: 900;	color: #ffea00;	text-shadow: 0 2px 8px rgba(0,0,0,.2);}
.prc-section-note {	font-size: 0.8125rem;	color: #666;	line-height: 1.65;	text-align: center;	max-width: 820px;	margin: 32px auto 0;}

/* ---- 含まれる内容：背景・見出し強化（prc-includedスコープ） ---- */
.prc-included {	background: linear-gradient(180deg,#edf5ff 0%,#f5f9ff 50%,#ffffff 100%);}
.prc-included .section-header {	margin-bottom: 52px;}
.prc-included .section-label {	color: #1B4F8A;	background: rgba(27,79,138,.1);	padding: 4px 18px;	border-radius: 50px;}
.prc-included .section-title {	font-size: clamp(1.75rem,4.5vw,2.75rem);	line-height: 1.22;	color: #0D3360;	margin-bottom: 18px;}
.prc-included .section-lead {	font-size: 1.0625rem;	color: #444;}
.prc-inc-title-lead {	display: inline-block;	font-size: 0.52em;	font-weight: 700;	color: #fff;	background: #1B4F8A;	padding: 3px 12px;	border-radius: 4px;	letter-spacing: 0.06em;	margin-bottom: 0.35em;	vertical-align: middle;}
.prc-inc-title-price {	color: #d60000;	font-size: 1.08em;}
.prc-emphasis-intro {	text-align: center;	font-size: 1rem;	font-weight: 700;	color: #0D3360;	margin-bottom: 20px;	line-height: 1.6;}
.prc-emphasis-intro strong {	color: #d60000;}

/* ---- なぜこの価格？ ---- */
.prc-why-section {	background: #f7f8fa;	padding: 56px 0;}
.prc-why-header {	text-align: center;	margin-bottom: 44px;}
.prc-why-label {	font-size: 0.75rem;	letter-spacing: 0.15em;	color: #1B4F8A;	font-weight: 700;	margin-bottom: 10px;}
.prc-why-h2 {	font-size: clamp(1.5rem,4vw,2.25rem);	font-weight: 900;	color: #1a1a1a;	line-height: 1.3;	margin-bottom: 10px;}
.prc-why-hl {	color: #d60000;}
.prc-why-lead {	font-size: 1rem;	color: #555;	line-height: 1.7;	margin: 0;}
.prc-why-grid {	display: grid;	grid-template-columns: 1fr;	gap: 20px;	margin-bottom: 40px;}
.prc-why-card {	background: #fff;	border-radius: 12px;	overflow: hidden;	box-shadow: 0 4px 16px rgba(0,0,0,.07);}
.prc-why-card-top {	padding: 22px 20px 14px;}
.prc-why-num {	display: inline-block;	font-size: 2.25rem;	font-weight: 900;	color: #e8e8e8;	line-height: 1;	margin-bottom: 8px;}
.prc-why-ctitle {	font-size: 1.125rem;	font-weight: 900;	color: #0052a8;	line-height: 1.4;	margin-bottom: 8px;}
.prc-why-text {	font-size: 0.9375rem;	color: #555;	line-height: 1.7;	margin: 0;}
.prc-why-photo {	line-height: 0;}
.prc-why-photo img {	width: 100%;	height: 200px;	object-fit: cover;	display: block;}
.prc-why-quality {	display: flex;	align-items: center;	gap: 20px;	background: #fff;	border: 2px solid #1B4F8A;	border-radius: 12px;	padding: 20px 24px;	margin-bottom: 36px;}
.prc-why-quality-icon {	flex-shrink: 0;}
.prc-why-quality-main {	font-size: 1.0625rem;	font-weight: 900;	color: #1a1a1a;	margin: 0 0 6px;}
.prc-why-quality-sub {	font-size: 0.875rem;	color: #555;	line-height: 1.7;	margin: 0;}
.prc-why-quality-body {	display: flex;	flex-direction: column;}
.prc-why-more {	text-align: center;	margin-top: 40px;}
.prc-why-more-btn {	display: inline-block;	background: #1B4F8A;	color: #fff;	font-size: 1rem;	font-weight: 700;	padding: 14px 40px;	border-radius: 50px;	text-decoration: none;	transition: opacity .2s;}
.prc-why-more-btn:hover {	opacity: 0.85;	color: #fff;}

/* ---- 安心（REASSURANCE） ---- */
.prc-trust-grid {	display: grid;	grid-template-columns: 1fr;	gap: 16px;}
.prc-trust-card {	background: #fff;	border-radius: 12px;	border: 2px solid #eaf4ff;	padding: 24px 20px;	text-align: center;	box-shadow: 0 2px 8px rgba(0,0,0,.05);}
.prc-trust-icon {	margin-bottom: 12px;}
.prc-trust-title {	font-size: 1.0625rem;	font-weight: 700;	color: #0052a8;	margin-bottom: 8px;}
.prc-trust-text {	font-size: 0.9375rem;	color: #555;	line-height: 1.7;	margin: 0;}

/* ---- 後から高くなりませんか？ ---- */
.prc-cost-inner {	display: grid;	grid-template-columns: 1fr;	gap: 24px;	margin-bottom: 20px;}
.prc-cost-answer {	font-size: 1.0625rem;	font-weight: 700;	color: #1a1a1a;	margin-bottom: 12px;	line-height: 1.6;}
.prc-cost-text {	font-size: 0.9375rem;	color: #333;	line-height: 1.85;	margin-bottom: 14px;}
.prc-cost-promise {	background: #fff3e0;	border-left: 4px solid #e85c1a;	border-radius: 4px;	padding: 12px 16px;}
.prc-cost-promise-text {	font-size: 0.9375rem;	font-weight: 700;	color: #e85c1a;}
.prc-cost-exception-title {	font-size: 1rem;	font-weight: 700;	color: #0052a8;	margin-bottom: 10px;	padding-bottom: 6px;	border-bottom: 2px solid #b8d8f0;}
.prc-cost-list {	margin: 0 0 14px;	padding: 0;	list-style: none;}
.prc-cost-list--circle li {	padding-left: 1.4em;	position: relative;	font-size: 0.9375rem;	color: #333;	line-height: 1.7;	margin-bottom: 7px;}
.prc-cost-list--circle li::before {	content: "●";	position: absolute;	left: 0;	color: #0052a8;	font-size: 0.55rem;	top: 0.45em;}
.prc-cost-exception-bottom {	font-size: 0.875rem;	color: #0052a8;	font-weight: 600;	line-height: 1.7;	margin: 0;}
.prc-cost-section-note {	font-size: 0.75rem;	color: #777;	line-height: 1.65;	text-align: center;	max-width: 720px;	margin: 0 auto;}

/* ---- 施工事例 ---- */
.prc-works-grid {	display: grid;	grid-template-columns: 1fr;	gap: 24px;	margin-bottom: 40px;}
.prc-work-card {	background: #fff;	border-radius: 12px;	overflow: hidden;	box-shadow: 0 4px 16px rgba(0,0,0,.08);	text-decoration: none;	display: block;	transition: transform .2s ease,box-shadow .2s ease;}
.prc-work-card:hover {	transform: translateY(-3px);	box-shadow: 0 8px 24px rgba(0,0,0,.12);}
.prc-work-photos {	display: grid;	grid-template-columns: 1fr auto 1fr;	align-items: center;	gap: 6px;	padding: 10px;	background: #f7f8fa;}
.prc-work-photo {	position: relative;	border-radius: 8px;	overflow: hidden;	height: 180px;}
.prc-work-photo img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}
.prc-work-arrow {	font-size: 1.25rem;	color: #1B4F8A;	text-align: center;	flex-shrink: 0;}
.prc-ba-label {	position: absolute;	top: 6px;	left: 6px;	font-size: 0.675rem;	font-weight: 700;	padding: 2px 7px;	border-radius: 4px;	z-index: 1;}
.prc-ba-label--before {	background: #f0c0c0;	color: #900;}
.prc-ba-label--after {	background: #b8d8f0;	color: #003a70;}
.prc-work-body {	padding: 12px 14px;}
.prc-work-title {	font-size: 0.9375rem;	font-weight: 700;	color: #1a1a1a;	margin: 0 0 8px;}
.prc-work-meta {	display: flex;	flex-wrap: wrap;	gap: 6px;}
.prc-work-tag {	font-size: 0.75rem;	background: #eaf4ff;	color: #0052a8;	padding: 2px 10px;	border-radius: 20px;	font-weight: 600;}
.prc-work-price {	font-size: 0.875rem;	font-weight: 700;	color: #e85c1a;}
.prc-work-no-img {	width: 100%;	height: 100%;	background: #eee;	display: flex;	align-items: center;	justify-content: center;	font-size: 0.75rem;	color: #aaa;}
.prc-works-more {	text-align: center;}
.prc-works-more-btn {	display: inline-block;	border: 2px solid #1B4F8A;	color: #1B4F8A;	font-size: 0.9375rem;	font-weight: 700;	padding: 12px 36px;	border-radius: 50px;	text-decoration: none;	transition: background-color .2s,color .2s;}
.prc-works-more-btn:hover {	background: #1B4F8A;	color: #fff;}
.prc-works-empty {	text-align: center;	color: #888;	font-size: 0.9rem;}

/* ---- 最後のCTA ---- */
.prc-cta-section {	background: linear-gradient(135deg,#0D3360,#1B4F8A);	padding: 72px 0 80px;	text-align: center;	color: #fff;}
.prc-cta-inner {	max-width: 600px;	margin: 0 auto;	padding: 0 24px;}
.prc-cta-title {	font-size: clamp(1.75rem,5vw,2.5rem);	font-weight: 900;	color: #fff;	line-height: 1.3;	margin-bottom: 24px;}
.prc-cta-text {	font-size: 1rem;	color: rgba(255,255,255,.85);	line-height: 1.7;	margin-bottom: 36px;}
.prc-cta-buttons {	display: flex;	flex-direction: column;	gap: 14px;	align-items: center;}
.prc-cta-btn {	display: inline-flex;	flex-direction: column;	align-items: center;	font-weight: 700;	padding: 14px 36px;	border-radius: 50px;	text-decoration: none;	font-size: 1rem;	transition: transform .2s,box-shadow .2s;	width: min(280px,90%);	text-align: center;}
.prc-cta-btn--estimate {	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	box-shadow: 0 4px 14px rgba(214,0,0,.35);}
.prc-cta-btn--estimate:hover {	transform: translateY(-2px);	color: #fff;}
.prc-cta-btn--visit {	background: linear-gradient(135deg,#f08000,#e85c1a);	color: #fff;	box-shadow: 0 4px 14px rgba(232,92,26,.35);}
.prc-cta-btn--visit:hover {	transform: translateY(-2px);	color: #fff;}
.prc-cta-btn--tel {	background: #fff;	color: #1B4F8A;	gap: 2px;}
.prc-cta-tel-sub {	font-size: 0.75rem;	color: #666;	line-height: 1.05;}
.prc-cta-tel-num {	font-size: 1.25rem;	font-weight: 900;	color: #d60000;	line-height: 1.05;}

/* ---- セクション余白（グローバル .section の 64px を上書き） ---- */
.prc-included,
.prc-trust,
.prc-cost,
.prc-showcase,
.prc-faq {	padding: 56px 0;}
.prc-cta-section {	padding: 72px 0 80px;}

/* ---- PC レスポンシブ（768px以上） ---- */
@media (min-width: 768px) {
.prc-hero {	padding: 140px 0 100px;	min-height: 800px;	display: flex;	align-items: center;}
.prc-included,
.prc-trust,
.prc-cost,
.prc-showcase,
.prc-faq {	padding: 90px 0;}
.prc-why-section {	padding: 90px 0;}
.prc-cta-section {	padding: 96px 0 104px;}
.prc-why-header {	margin-bottom: 56px;}
.prc-why-grid {	margin-bottom: 52px;}
.prc-why-quality {	margin-bottom: 44px;}
.prc-why-more {	margin-top: 48px;}
.prc-works-grid {	margin-bottom: 52px;}
.prc-items-grid {	margin-bottom: 48px;}
.prc-emphasis-row {	margin-bottom: 44px;}
.prc-cta-buttons {	gap: 18px;}
.prc-hero-buttons {	gap: 16px;}
.prc-hero-buttons {	flex-direction: row;	justify-content: center;}
.prc-btn {	width: auto;	min-width: 180px;}
.prc-included .section-title {	font-size: 2.625rem;}
.prc-items-grid {	grid-template-columns: repeat(3,1fr);	gap: 16px;}
.prc-item-photo {	height: 172px;}
.prc-item-name {	font-size: 1rem;	padding: 13px 10px;}
.prc-emphasis-intro {	font-size: 1.1875rem;	margin-bottom: 24px;}
.prc-emphasis-box {	padding: 34px 16px;}
.prc-emphasis-main {	font-size: 1.5rem;}
.prc-emphasis-komi {	font-size: 2.25rem;}
.prc-why-grid {	grid-template-columns: repeat(3,1fr);	gap: 24px;}
.prc-why-photo img {	height: 200px;}
.prc-trust-grid {	grid-template-columns: repeat(3,1fr);	gap: 20px;}
.prc-cost-inner {	grid-template-columns: 1fr 1fr;	gap: 40px;}
.prc-works-grid {	grid-template-columns: repeat(3,1fr);	gap: 20px;}
.prc-work-photo {	height: 160px;}
.prc-cta-buttons {	flex-direction: row;	justify-content: center;}
.prc-cta-btn {	width: auto;	min-width: 150px;}
}

/* =====================================================
   フローティングコンタクトバー（fcb-*）
   PC: 非表示 / スマホ: 画面下部固定
   ===================================================== */
.floating-contact-bar {	display: none;}
/* モバイルメニュー表示中は固定フッターバーと重ならないよう視覚的に非表示（通常表示自体は変更しない） */
body.is-mobile-menu-open .floating-contact-bar {	visibility: hidden;	opacity: 0;	pointer-events: none;}
@media (max-width: 767px) {
.floating-contact-bar {	display: flex;	position: fixed;	bottom: 0;	left: 0;	right: 0;	z-index: 9000;	background: #fff;	box-shadow: 0 -2px 12px rgba(0,0,0,.18);	align-items: stretch;	height: 58px;}
.fcb-message {	display: none;}
.fcb-buttons {	display: flex;	flex: 1;	align-items: stretch;}
.fcb-phone {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	background: #d60000;	color: #fff;	text-decoration: none;	flex: 2;	gap: 1px;	padding: 4px 6px;	min-width: 0;}
.fcb-phone__icon {	font-size: 1.1rem;	line-height: 1;}
.fcb-phone__body {	line-height: 1;}
.fcb-phone__num {	font-size: 0.8rem;	font-weight: 900;	color: #fff;	white-space: nowrap;}
.fcb-phone__sp-label {	font-size: 0.6rem;	color: rgba(255,255,255,.85);}
.fcb-btn {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	text-decoration: none;	flex: 1;	padding: 4px 6px;	text-align: center;	min-width: 0;}
.fcb-btn__main {	font-size: 0.7rem;	font-weight: 700;	white-space: nowrap;}
.fcb-btn--visit {	background: #1B4F8A;	color: #fff;}
.fcb-btn--estimate {	background: #e85c1a;	color: #fff;}
.fcb-top {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	background: #f0f0f0;	border: none;	border-left: 1px solid #ddd;	cursor: pointer;	padding: 4px 10px;	flex-shrink: 0;	width: 50px;}
.fcb-top__arrow {	font-size: 1rem;	color: #555;	line-height: 1;}
.fcb-top__label {	font-size: 0.6rem;	color: #555;	margin-top: 2px;}
}

/* =====================================================
   PC専用フローティングCTA（fcb-pc-*）
   SP: 非表示 / PC: 画面下部中央 横並びバナー
   ===================================================== */
.fcb-pc {	display: none;}
@media (min-width: 1024px) {
.fcb-pc {	display: grid;	grid-template-columns: 1.2fr 1fr 1fr;	position: fixed;	left: 50%;	bottom: 0;	transform: translateX(-50%) translateY(100%);	width: min(calc(100% - 48px), 1080px);	z-index: 8900;	box-shadow: 0 -6px 20px rgba(0,0,0,.15);	border-radius: 12px 12px 0 0;	overflow: hidden;	opacity: 0;	pointer-events: none;	transition: opacity .3s ease, transform .3s ease;}
.fcb-pc--visible {	opacity: 1;	pointer-events: auto;	transform: translateX(-50%) translateY(0);}
.fcb-pc__btn {	display: flex;	align-items: center;	justify-content: center;	gap: 10px;	text-decoration: none;	padding: 14px 20px;	min-height: 64px;	font-size: 0.875rem;	font-weight: 700;	color: #fff;	line-height: 1.3;	transition: filter .2s;}
.fcb-pc__btn:hover {	filter: brightness(1.1);}
.fcb-pc__btn--tel {	background: #d60000;}
.fcb-pc__btn--visit {	background: #1B4F8A;}
.fcb-pc__btn--estimate {	background: #e85c1a;}
.fcb-pc__icon {	font-size: 1.3rem;	flex-shrink: 0;	line-height: 1;}
.fcb-pc__text {	display: flex;	flex-direction: column;}
.fcb-pc__sub {	font-size: 0.65rem;	font-weight: 400;	opacity: .85;}
.fcb-pc__num {	font-size: 1rem;	letter-spacing: 0.06em;	font-weight: 900;}
.fcb-pc__label {	font-size: 0.9rem;}
body {	padding-bottom: 68px;}
}

/* フローティングバー非表示ページ（contact / simulation / showroom-reservation）
   では出力自体を止めているため、予約していた下部余白も解消する */
body.is-contact,
body.is-simulation,
body.is-showroom-reservation {	padding-bottom: 0;}

/* =====================================================
   フッター内 複数店舗リスト（footer-stores-*）
   ===================================================== */
.footer-stores-list {	margin-top: 1.25rem;	border-top: 1px solid rgba(255,255,255,.15);	padding-top: 1rem;}
.footer-stores-title {	font-size: 0.75rem;	font-weight: 700;	color: #888;	letter-spacing: 0.08em;	text-transform: uppercase;	margin-bottom: 0.75rem;}
.footer-store-entry {	margin-bottom: 0.875rem;	padding-bottom: 0.875rem;	border-bottom: 1px solid #eee;}
.footer-store-entry:last-child {	margin-bottom: 0;	padding-bottom: 0;	border-bottom: none;}
.footer-store-entry-name {	font-size: 0.875rem;	font-weight: 700;	color: #222;	margin-bottom: 4px;}
.footer-store-entry-addr {	font-size: 0.75rem;	color: #666;	line-height: 1.6;	margin-bottom: 4px;}
.footer-store-entry-tel {	font-size: 0.8125rem;	margin-bottom: 0;}
.footer-store-entry-tel a {	color: #d60000;	font-weight: 700;	text-decoration: none;}
.footer-store-entry-tel a:hover {	color: #b00000;}

/* =====================================================
   グローバルナビ ドロップダウン（gnav-dropdown）
   JS により body 直下に移動して position:fixed で配置
   ===================================================== */
.gnav-has-dropdown { cursor: pointer; }
.gnav-dropdown {
	display: none;
	position: fixed;
	z-index: 9500;
	min-width: 180px;
	background: #fff;
	border-radius: 0 0 8px 8px;
	box-shadow: 0 8px 24px rgba(0,0,0,.18);
	list-style: none;
	margin: 0;
	padding: 8px 0;
	border-top: 3px solid #d60000;
}
.gnav-dropdown.is-dd-open { display: block; }
.gnav-dropdown li { margin: 0; padding: 0; }
.gnav-dropdown a {
	display: block;
	padding: 10px 20px;
	font-size: 0.9rem;
	font-weight: 600;
	color: #222;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .15s, color .15s;
}
.gnav-dropdown a:hover {
	background: #eaf4ff;
	color: #0052a8;
}

/* ==============================================
   「マッハ塗装が安い理由」FV 背景画像
   スコープ: .reason-page .reason-hero のみ
   他ページ・他セクションには影響しない
   ============================================== */
.reason-page .reason-hero {
	background:
		linear-gradient(130deg, rgba(187,0,0,0.90) 0%, rgba(214,0,0,0.86) 45%, rgba(230,48,48,0.84) 80%, rgba(238,68,68,0.82) 100%),
		url('assets/images/works/works-bg-wall-roller.jpg') center center / cover no-repeat;
}
@media (max-width: 767px) {
	.reason-page .reason-hero {
		background:
			linear-gradient(130deg, rgba(187,0,0,0.93) 0%, rgba(214,0,0,0.90) 45%, rgba(230,48,48,0.88) 80%, rgba(238,68,68,0.87) 100%),
			url('assets/images/works/works-bg-wall-roller.jpg') center top / cover no-repeat;
	}
}

/* =====================================================
   マッハ通信 記事詳細 AEO向け追加要素
   ===================================================== */

/* 更新日ラベル */
.mach-blog-single-modified {
	font-size: 0.8125rem;
	color: #999;
}

/* 記事の結論ボックス */
.mach-blog-conclusion {
	margin: 0 2.5rem 1.75rem;
	padding: 1rem 1.25rem;
	border-left: 4px solid #d60000;
	background: #fff5f5;
	border-radius: 0 6px 6px 0;
}
.mach-blog-conclusion-label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #d60000;
	margin: 0 0 0.5rem;
}
.mach-blog-conclusion-text {
	font-size: 0.9375rem;
	line-height: 1.85;
	color: #333;
	margin: 0;
}

/* この記事で分かること */
.mach-blog-points {
	margin: 0 2.5rem 1.75rem;
	padding: 1rem 1.25rem;
	background: #f7f8fa;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
}
.mach-blog-points-label {
	font-size: 0.875rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 0.625rem;
}
.mach-blog-points-list {
	margin: 0;
	padding: 0 0 0 1.25rem;
	list-style: disc;
}
.mach-blog-points-list li {
	font-size: 0.9375rem;
	line-height: 1.75;
	color: #333;
	margin-bottom: 0.3rem;
}

/* 関連価格・サービスページ */
.mach-blog-related-pages {
	margin: 0 2.5rem 1.75rem;
	padding: 1rem 1.25rem;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
}
.mach-blog-related-pages-label {
	font-size: 0.875rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 0.625rem;
}
.mach-blog-related-pages-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.mach-blog-related-pages-list a {
	display: inline-block;
	font-size: 0.875rem;
	color: #d60000;
	background: #fff0f0;
	border: 1px solid #ffd5d5;
	padding: 0.3em 0.85em;
	border-radius: 4px;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.mach-blog-related-pages-list a:hover {
	background: #d60000;
	color: #fff;
}

/* 関連施工事例 */
.mach-blog-related-works {
	margin: 0 2.5rem 1.75rem;
	padding: 1rem 1.25rem;
	background: #f7f8fa;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
}
.mach-blog-related-works-label {
	font-size: 0.875rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 0.75rem;
}
.mach-blog-related-works-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
}
.mach-blog-related-works-item a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	overflow: hidden;
	transition: box-shadow 0.15s;
}
.mach-blog-related-works-item a:hover {
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.mach-blog-related-works-item img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.mach-blog-related-works-title {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.45;
	padding: 0.5rem 0.625rem 0.25rem;
}
.mach-blog-related-works-area,
.mach-blog-related-works-price {
	font-size: 0.75rem;
	color: #666;
	padding: 0 0.625rem 0.5rem;
}
.mach-blog-related-works-price {
	color: #d60000;
	font-weight: 700;
}

@media (max-width: 767px) {
	.mach-blog-conclusion,
	.mach-blog-points,
	.mach-blog-related-pages,
	.mach-blog-related-works {
		margin-left: 1.25rem;
		margin-right: 1.25rem;
	}
	.mach-blog-related-works-list {
		grid-template-columns: 1fr;
	}
}
/* =====================================================
   スタッフ・職人紹介 一覧ページ
   ===================================================== */

.staff-archive-hero {
	background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
	padding: 3rem 0 2.5rem;
	text-align: center;
}
.staff-archive-hero__title {
	font-size: clamp(1.625rem, 4vw, 2.25rem);
	font-weight: 900;
	color: #fff;
	margin: 0 0 0.5rem;
	line-height: 1.3;
}
.staff-archive-hero__sub {
	font-size: 0.9375rem;
	color: rgba(255,255,255,0.75);
	margin: 0;
}

.staff-archive-section {
	padding: 3rem 0 4rem;
	background: #f7f8fa;
}

.staff-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.75rem;
}

.staff-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 14px rgba(0,0,0,0.07);
	display: flex;
	flex-direction: column;
}
.staff-card__photo {
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: #e8eaed;
}
.staff-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}
.staff-card__no-photo {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e8eaed;
}
.staff-card__no-photo-icon {
	font-size: 4rem;
	opacity: 0.4;
}
.staff-card__body {
	padding: 1.25rem 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	flex: 1;
}
.staff-card__role {
	font-size: 0.8125rem;
	color: #d60000;
	font-weight: 700;
	margin: 0;
}
.staff-card__name {
	font-size: 1.125rem;
	font-weight: 900;
	color: #1a1a1a;
	margin: 0;
	line-height: 1.3;
}
.staff-card__dept {
	font-size: 0.8125rem;
	color: #666;
	margin: 0;
}
.staff-card__specialty {
	font-size: 0.8125rem;
	color: #444;
	margin: 0;
}
.staff-card__one-word {
	font-size: 0.875rem;
	color: #333;
	font-style: italic;
	margin: 0.25rem 0 0;
	line-height: 1.6;
}
.staff-card__btn {
	display: inline-block;
	margin-top: auto;
	padding-top: 1rem;
	font-size: 0.875rem;
	font-weight: 700;
	color: #d60000;
	text-decoration: none;
	transition: color 0.15s;
}
.staff-card__btn:hover { color: #b50000; }
.staff-card__btn::after { content: " →"; }

.staff-archive-empty {
	text-align: center;
	color: #888;
	padding: 3rem 0;
}

.staff-archive-cta {
	background: #fff5f5;
	border-top: 1px solid #fdd;
	padding: 2.5rem 0;
	text-align: center;
}
.staff-archive-cta__text {
	font-size: 1rem;
	color: #333;
	margin: 0 0 1.25rem;
}
.staff-archive-cta__btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.875rem;
}
.staff-archive-cta__btn {
	display: inline-block;
	padding: 0.75rem 2rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.staff-archive-cta__btn--main {
	background: #d60000;
	color: #fff;
	border: 2px solid transparent;
}
.staff-archive-cta__btn--main:hover { background: #b50000; }
.staff-archive-cta__btn--tel {
	background: #fff;
	color: #d60000;
	border: 2px solid #d60000;
}
.staff-archive-cta__btn--tel:hover {
	background: #d60000;
	color: #fff;
}

/* =====================================================
   スタッフ・職人紹介 詳細ページ
   ===================================================== */

.staff-single-main { background: #f7f8fa; }

.staff-single-hero {
	background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
	padding: 2.5rem 0 2rem;
	text-align: center;
}
.staff-single-hero__label {
	font-size: 0.75rem;
	font-weight: 700;
	color: rgba(255,255,255,0.55);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.375rem;
}
.staff-single-hero__role {
	font-size: 0.875rem;
	color: #e87070;
	font-weight: 700;
	margin: 0 0 0.25rem;
}
.staff-single-hero__name {
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 900;
	color: #fff;
	margin: 0;
	line-height: 1.3;
}

.staff-single-section {
	padding: 3rem 0 4rem;
}

.staff-single-inner {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 2.5rem;
	align-items: start;
	margin-bottom: 2.5rem;
}
.staff-single-photo {
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: 10px;
	background: #e8eaed;
	box-shadow: 0 4px 18px rgba(0,0,0,0.1);
}
.staff-single-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}
.staff-single-no-photo {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 4rem;
	opacity: 0.35;
}
.staff-single-one-word {
	font-size: 0.875rem;
	color: #555;
	font-style: italic;
	text-align: center;
	margin: 0.875rem 0 0;
	line-height: 1.65;
}

.staff-single-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
	font-size: 0.9375rem;
}
.staff-single-table th,
.staff-single-table td {
	border: 1px solid #e5e7eb;
	padding: 0.625rem 0.875rem;
	text-align: left;
	vertical-align: top;
}
.staff-single-table th {
	background: #f7f8fa;
	font-weight: 700;
	color: #444;
	white-space: nowrap;
	width: 7em;
}

.staff-single-message {
	background: #fff5f5;
	border-left: 4px solid #d60000;
	border-radius: 0 8px 8px 0;
	padding: 1rem 1.25rem;
}
.staff-single-message__heading {
	font-size: 0.875rem;
	font-weight: 700;
	color: #d60000;
	margin: 0 0 0.5rem;
}
.staff-single-message__body {
	font-size: 0.9375rem;
	line-height: 1.9;
	color: #333;
}

.staff-single-content {
	margin-bottom: 2rem;
	background: #fff;
	border-radius: 10px;
	padding: 1.75rem 2rem;
	font-size: 0.9375rem;
	line-height: 2;
	color: #333;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

.staff-single-care {
	background: #fff;
	border-radius: 10px;
	padding: 1.75rem 2rem;
	margin-bottom: 2rem;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
.staff-single-care__title {
	font-size: 1.0625rem;
	font-weight: 900;
	color: #1a1a1a;
	margin: 0 0 1.25rem;
	padding-bottom: 0.625rem;
	border-bottom: 2px solid #e5e7eb;
}
.staff-single-care__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1rem;
}
.staff-single-care__item {
	background: #f7f8fa;
	border-radius: 8px;
	padding: 1rem 1.125rem;
}
.staff-single-care__label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #d60000;
	margin: 0 0 0.5rem;
}
.staff-single-care__text {
	font-size: 0.9rem;
	line-height: 1.8;
	color: #333;
	margin: 0;
}

.staff-single-related {
	background: #fff;
	border-radius: 10px;
	padding: 1.75rem 2rem;
	margin-bottom: 2rem;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
.staff-single-related__title {
	font-size: 1.0625rem;
	font-weight: 900;
	color: #1a1a1a;
	margin: 0 0 1.25rem;
	padding-bottom: 0.625rem;
	border-bottom: 2px solid #e5e7eb;
}

.staff-single-related__grid {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.875rem;
}
.staff-single-related__card a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	background: #f7f8fa;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.15s;
}
.staff-single-related__card a:hover {
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.staff-single-related__card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
.staff-single-related__card-title {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.45;
	padding: 0.5rem 0.625rem 0.25rem;
}
.staff-single-related__card-sub {
	font-size: 0.75rem;
	color: #666;
	padding: 0 0.625rem 0.25rem;
}
.staff-single-related__card-price {
	font-size: 0.75rem;
	color: #d60000;
	font-weight: 700;
	padding: 0 0.625rem 0.5rem;
}

.staff-single-related__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}
.staff-single-related__list-item a {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.75rem 0.875rem;
	text-decoration: none;
	border-radius: 6px;
	transition: background 0.12s;
}
.staff-single-related__list-item a:hover { background: #f7f8fa; }
.staff-single-related__cat {
	font-size: 0.75rem;
	font-weight: 700;
	color: #d60000;
	background: #fff0f0;
	border: 1px solid #ffd5d5;
	padding: 0.15em 0.5em;
	border-radius: 3px;
	white-space: nowrap;
	flex-shrink: 0;
}
.staff-single-related__date {
	font-size: 0.8125rem;
	color: #888;
	white-space: nowrap;
	flex-shrink: 0;
}
.staff-single-related__blog-title {
	font-size: 0.9375rem;
	color: #1a1a1a;
	line-height: 1.45;
}

.staff-single-back {
	text-align: center;
	margin-top: 0.5rem;
}
.staff-single-back__btn {
	display: inline-block;
	padding: 0.75rem 1.75rem;
	border: 2px solid #d60000;
	border-radius: 6px;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #d60000;
	text-decoration: none;
	background: #fff;
	transition: background 0.15s, color 0.15s;
}
.staff-single-back__btn:hover {
	background: #d60000;
	color: #fff;
}

.staff-single-cta {
	background: #fff5f5;
	border-top: 1px solid #fdd;
	padding: 2.5rem 0;
	text-align: center;
}
.staff-single-cta__text {
	font-size: 1rem;
	color: #333;
	margin: 0 0 1.25rem;
}
.staff-single-cta__btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.875rem;
}
.staff-single-cta__btn {
	display: inline-block;
	padding: 0.75rem 2rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.staff-single-cta__btn--main {
	background: #d60000;
	color: #fff;
	border: 2px solid transparent;
}
.staff-single-cta__btn--main:hover { background: #b50000; }
.staff-single-cta__btn--tel {
	background: #fff;
	color: #d60000;
	border: 2px solid #d60000;
}
.staff-single-cta__btn--tel:hover {
	background: #d60000;
	color: #fff;
}

@media (max-width: 767px) {
	.staff-single-inner {
		grid-template-columns: 1fr;
	}
	.staff-single-photo {
		max-width: 200px;
		margin: 0 auto;
	}
	.staff-single-content,
	.staff-single-care,
	.staff-single-related {
		padding: 1.25rem;
	}
	.staff-single-related__grid {
		grid-template-columns: 1fr;
	}
	.staff-card-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==============================================
   お客様の声（voice）スタイル
   voice-archive / voice-single 専用
   ============================================== */

/* --- アーカイブ: ヒーロー --- */
.voice-archive-hero {
	background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
	padding: 3rem 0 2.5rem;
	text-align: center;
}
.voice-archive-hero__title {
	color: #fff;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 700;
	margin: 0 0 0.5rem;
}
.voice-archive-hero__sub {
	color: #ccc;
	font-size: 0.9375rem;
	margin: 0;
}

/* --- アーカイブ: セクション --- */
.voice-archive-section {
	padding: 3rem 0 4rem;
}
.voice-archive-empty {
	text-align: center;
	color: #666;
	padding: 2rem 0;
}

/* --- アーカイブ: カードグリッド --- */
.voice-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.75rem;
}

/* --- アーカイブ: カード --- */
.voice-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s;
}
.voice-card:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.13);
}
.voice-card__body {
	padding: 1.25rem 1.375rem 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.voice-card__header {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.625rem;
	flex-wrap: wrap;
}
.voice-card__name {
	font-weight: 700;
	font-size: 1rem;
	color: #1a1a1a;
	margin: 0;
}
.voice-card__stars {
	color: #f5a623;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
}
.voice-card__meta {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-bottom: 0.75rem;
}
.voice-card__area,
.voice-card__work {
	font-size: 0.75rem;
	background: #f5f5f5;
	color: #555;
	padding: 2px 8px;
	border-radius: 2px;
}
.voice-card__text {
	font-size: 0.875rem;
	line-height: 1.7;
	color: #444;
	margin: 0 0 0.875rem;
	flex: 1;
}
.voice-card__work-link {
	margin-bottom: 0.75rem;
}
.voice-card__work-link a {
	font-size: 0.8125rem;
	color: #d60000;
	text-decoration: none;
	border-bottom: 1px dotted #d60000;
}
.voice-card__work-link a:hover {
	border-bottom-style: solid;
}
.voice-card__btn {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	background: #d60000;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	border-radius: 4px;
	text-decoration: none;
	text-align: center;
	transition: background 0.2s;
	align-self: flex-start;
	margin-top: auto;
}
.voice-card__btn:hover {
	background: #b30000;
	color: #fff;
}

/* --- アーカイブ: CTA --- */
.voice-archive-cta {
	background: #1a1a1a;
	padding: 2.5rem 0;
	text-align: center;
}
.voice-archive-cta__text {
	color: #eee;
	margin-bottom: 1.25rem;
	font-size: 1rem;
}
.voice-archive-cta__btns {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}
.voice-archive-cta__btn {
	padding: 0.75rem 2rem;
	border-radius: 4px;
	font-weight: 700;
	text-decoration: none;
	font-size: 1rem;
	transition: background 0.2s, color 0.2s;
}
.voice-archive-cta__btn--main {
	background: #d60000;
	color: #fff;
	border: 2px solid transparent;
}
.voice-archive-cta__btn--main:hover {
	background: #b30000;
	color: #fff;
}
.voice-archive-cta__btn--tel {
	background: #fff;
	color: #1a1a1a;
	border: 2px solid #fff;
}
.voice-archive-cta__btn--tel:hover {
	background: #eee;
	color: #1a1a1a;
}

/* --- 詳細: ヒーロー --- */
.voice-single-hero {
	background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
	padding: 3rem 0 2.5rem;
	text-align: center;
}
.voice-single-hero__label {
	color: #d60000;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.375rem;
}
.voice-single-hero__sub {
	color: #bbb;
	font-size: 0.9375rem;
	margin: 0 0 0.375rem;
}
.voice-single-hero__sep {
	margin: 0 0.25rem;
}
.voice-single-hero__name {
	color: #fff;
	font-size: clamp(1.375rem, 3vw, 2rem);
	font-weight: 700;
	margin: 0;
}

/* --- 詳細: セクション --- */
.voice-single-section {
	padding: 3rem 0 4rem;
}
.voice-single-inner {
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

/* --- 詳細: プロフィール --- */
.voice-single-profile {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	padding: 1.5rem;
}
.voice-single-profile__header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.875rem;
}
.voice-single-profile__name {
	font-size: 1.125rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0;
}
.voice-single-profile__stars {
	color: #f5a623;
	font-size: 1rem;
	letter-spacing: 0.05em;
}
.voice-single-profile__dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}
.voice-single-profile__row {
	display: grid;
	grid-template-columns: 7rem 1fr;
	gap: 0.5rem;
	font-size: 0.9rem;
}
.voice-single-profile__row dt {
	color: #666;
	font-weight: 600;
}
.voice-single-profile__row dd {
	margin: 0;
	color: #333;
}

/* --- 詳細: 口コミ本文 --- */
.voice-single-text {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	padding: 1.5rem;
}
.voice-single-text__label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #d60000;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 0.75rem;
}
.voice-single-text__body {
	font-size: 1rem;
	line-height: 1.85;
	color: #333;
}
.voice-single-text__google {
	margin: 1rem 0 0;
	font-size: 0.875rem;
}
.voice-single-text__google a {
	color: #0073aa;
	text-decoration: none;
}
.voice-single-text__google a:hover {
	text-decoration: underline;
}

/* --- 詳細: 不安・理由ブロック --- */
.voice-single-detail {
	background: #fff8f8;
	border-left: 4px solid #d60000;
	border-radius: 0 8px 8px 0;
	padding: 1.25rem 1.5rem;
}
.voice-single-detail__heading {
	font-size: 0.9375rem;
	font-weight: 700;
	color: #d60000;
	margin: 0 0 0.625rem;
}
.voice-single-detail__text {
	font-size: 0.9375rem;
	line-height: 1.75;
	color: #333;
	margin: 0;
}

/* --- 詳細: 各項目感想 --- */
.voice-single-comments {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	padding: 1.5rem;
}
.voice-single-comments__title {
	font-size: 1rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #d60000;
}
.voice-single-comments__dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}
.voice-single-comments__row {
	display: grid;
	grid-template-columns: 8rem 1fr;
	gap: 0.75rem;
	font-size: 0.9375rem;
}
.voice-single-comments__row dt {
	color: #666;
	font-weight: 600;
	padding-top: 0.125rem;
}
.voice-single-comments__row dd {
	margin: 0;
	color: #333;
	line-height: 1.7;
}

/* --- 詳細: 担当者コメント --- */
.voice-single-staff-comment {
	background: #f0f7ff;
	border-radius: 8px;
	padding: 1.25rem 1.5rem;
	border-left: 4px solid #0073aa;
}
.voice-single-staff-comment__label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #0073aa;
	margin: 0 0 0.625rem;
}
.voice-single-staff-comment__text {
	font-size: 0.9375rem;
	line-height: 1.75;
	color: #333;
	margin: 0;
}

/* --- 詳細: 関連施工事例 --- */
.voice-single-related {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	padding: 1.5rem;
}
.voice-single-related__title {
	font-size: 1rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #d60000;
}
.voice-single-related__grid {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.875rem;
}
.voice-single-related__card {
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
}
.voice-single-related__card a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	height: 100%;
}
.voice-single-related__card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.voice-single-related__card-title {
	font-size: 0.8125rem;
	font-weight: 600;
	color: #1a1a1a;
	padding: 0.5rem 0.625rem 0.25rem;
	line-height: 1.45;
}
.voice-single-related__card-sub {
	font-size: 0.75rem;
	color: #666;
	padding: 0 0.625rem 0.25rem;
}
.voice-single-related__card-price {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #d60000;
	padding: 0 0.625rem 0.625rem;
}
.voice-single-related__more {
	margin: 0;
	text-align: right;
}
.voice-single-related__more a {
	font-size: 0.875rem;
	color: #d60000;
	text-decoration: none;
	font-weight: 600;
}
.voice-single-related__more a:hover {
	text-decoration: underline;
}

/* --- 詳細: 内部リンク --- */
.voice-single-links {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}
.voice-single-links__btn {
	padding: 0.625rem 1.375rem;
	border-radius: 4px;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}
.voice-single-links__btn:not(.voice-single-links__btn--sub) {
	background: #f5f5f5;
	color: #333;
	border: 1px solid #ddd;
}
.voice-single-links__btn:not(.voice-single-links__btn--sub):hover {
	background: #eee;
	color: #333;
}
.voice-single-links__btn--sub {
	background: #d60000;
	color: #fff;
}
.voice-single-links__btn--sub:hover {
	background: #b30000;
	color: #fff;
}

/* --- 詳細: CTA --- */
.voice-single-cta {
	background: #1a1a1a;
	padding: 2.5rem 0;
	text-align: center;
}
.voice-single-cta__text {
	color: #eee;
	margin-bottom: 1.25rem;
	font-size: 1rem;
}
.voice-single-cta__btns {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}
.voice-single-cta__btn {
	padding: 0.75rem 2rem;
	border-radius: 4px;
	font-weight: 700;
	text-decoration: none;
	font-size: 1rem;
	transition: background 0.2s, color 0.2s;
}
.voice-single-cta__btn--main {
	background: #d60000;
	color: #fff;
	border: 2px solid transparent;
}
.voice-single-cta__btn--main:hover {
	background: #b30000;
	color: #fff;
}
.voice-single-cta__btn--tel {
	background: #fff;
	color: #1a1a1a;
	border: 2px solid #fff;
}
.voice-single-cta__btn--tel:hover {
	background: #eee;
	color: #1a1a1a;
}

/* --- レスポンシブ: お客様の声 --- */
@media (max-width: 767px) {
	.voice-card-grid {
		grid-template-columns: 1fr;
	}
	.voice-single-profile__row {
		grid-template-columns: 6rem 1fr;
	}
	.voice-single-comments__row {
		grid-template-columns: 1fr;
		gap: 0.25rem;
	}
	.voice-single-comments__row dt {
		color: #d60000;
		font-size: 0.875rem;
	}
	.voice-single-related__grid {
		grid-template-columns: 1fr;
	}
	.voice-single-links {
		flex-direction: column;
	}
	.voice-single-links__btn {
		text-align: center;
	}
}

/* ---- 相見積もり比較セクション (compare-section) ---- */
.compare-checklist {	list-style: none;	margin: 0 0 2rem;	padding: 0;	display: grid;	gap: 10px;}
.compare-checklist-item {	display: flex;	align-items: flex-start;	gap: 14px;	background: #fff;	border-radius: var(--radius);	padding: 14px 18px;	box-shadow: var(--shadow);}
.compare-checklist-item::before {	content: "\2714";	flex-shrink: 0;	color: var(--clr-primary);	font-size: 1.1rem;	font-weight: 900;	line-height: 1.5;	margin-top: 2px;}
.compare-item-title {	font-size: 0.9375rem;	font-weight: 700;	color: var(--clr-primary-dark);	margin-bottom: 4px;}
.compare-item-desc {	font-size: 0.8125rem;	color: var(--clr-muted);	line-height: 1.6;}
.compare-cta {	text-align: center;	margin-top: 2rem;}
@media (min-width: 768px) {
.compare-checklist {	grid-template-columns: repeat(2, 1fr);}
}

/* ---- 相見積もり強化版 (compare-section--strong) ---- */
/* アラートブロック：ネイビー背景 */
.compare-alert {	background: #0D3360;	border-radius: 10px;	padding: 24px 20px;	margin-bottom: 20px;	text-align: center;	position: relative;	overflow: hidden;}
.compare-alert::before {	content: '';	position: absolute;	top: 0;	left: 0;	right: 0;	height: 5px;	background: #d60000;}
.compare-alert-label {	display: inline-block;	background: #d60000;	color: #fff;	font-size: 0.8125rem;	font-weight: 700;	padding: 4px 18px;	border-radius: 50px;	margin-bottom: 12px;	letter-spacing: 0.04em;}
.compare-alert-heading {	font-size: clamp(1.25rem, 4vw, 1.875rem);	font-weight: 900;	color: #FFD400;	line-height: 1.45;	margin-bottom: 12px;}
.compare-alert-body {	font-size: 0.875rem;	color: rgba(255,255,255,.88);	line-height: 1.8;	max-width: 640px;	margin: 0 auto;}
/* ポイントバナー：黄色帯 */
.compare-point-banner {	display: flex;	flex-direction: column;	gap: 8px;	margin-bottom: 24px;}
.compare-point-banner-item {	display: flex;	align-items: center;	gap: 10px;	background: #FFD400;	color: #222;	font-weight: 700;	font-size: 0.9375rem;	padding: 12px 18px;	border-radius: 6px;}
.compare-point-banner-item::before {	content: '✓';	color: #d60000;	font-size: 1.1rem;	font-weight: 900;	flex-shrink: 0;}
/* チェックリスト見出し */
.compare-check-lead {	font-size: 0.9375rem;	font-weight: 700;	color: #0D3360;	border-left: 4px solid #d60000;	padding-left: 12px;	margin-bottom: 14px;}
/* チェックリスト：強化版上書き */
.compare-section--strong .compare-checklist {	margin-bottom: 0;}
.compare-section--strong .compare-checklist-item {	border-left: 4px solid #d60000;	border-radius: 6px;	padding: 13px 16px;}
.compare-section--strong .compare-checklist-item::before {	color: #d60000;}
/* CTAボタン */
.compare-section--strong .compare-cta {	margin-top: 2.5rem;}
.compare-cta-btn {	font-size: 1.0625rem;	padding: 16px 36px;	border-radius: 8px;	min-height: 52px;}
/* PC */
@media (min-width: 768px) {
.compare-alert {	padding: 30px 36px;}
.compare-point-banner {	flex-direction: row;	gap: 12px;}
.compare-point-banner-item {	flex: 1;	justify-content: center;	text-align: center;}
}

/* ---- fv-tagline CTAボタン（fv-tagline-block内） ---- */
.fv-tagline-cta {	display: flex;	flex-direction: column;	gap: 9px;	max-width: 1100px;	margin: 0 auto;	padding: 0 16px 18px;	width: 100%;}
.fv-tagline-cta-btn {	display: flex;	align-items: center;	justify-content: center;	padding: 13px 16px;	border-radius: 6px;	font-weight: 700;	font-size: 0.9375rem;	text-decoration: none;	line-height: 1.3;	min-height: 48px;	text-align: center;	transition: opacity .2s ease, transform .2s ease;}
.fv-tagline-cta-btn:hover {	opacity: .88;	transform: translateY(-1px);	color: inherit;}
.fv-tagline-cta-btn--plan {	background: linear-gradient(135deg,#e85c1a 0%,#d60000 100%);	color: #fff;	border: 2px solid transparent;}
.fv-tagline-cta-btn--tel {	background: #FFD400;	color: #222;	border: 2px solid transparent;}
.fv-tagline-cta-btn--contact {	background: #fff;	color: #d60000;	border: 2px solid #d60000;}
@media (min-width: 768px) {
.fv-tagline-cta {	flex-direction: row;	padding: 0 24px 20px;	gap: 10px;}
.fv-tagline-cta-btn {	flex: 1;	max-width: 320px;	font-size: 0.9rem;}
}

/* ---------- FV下ブロック スマホ最適化（max-width 767px） ---------- */
@media (max-width: 767px) {
.fv-tagline-inner {	padding: 4px 14px;}
/* CTA：メインフル幅 + サブ2列横並び */
.fv-tagline-cta {	flex-direction: row;	flex-wrap: wrap;	gap: 6px;	padding: 0 14px 10px;}
.fv-tagline-cta-btn--plan {	flex: 0 0 100%;	font-size: 0.9rem;	padding: 11px 16px;	min-height: 44px;}
.fv-tagline-cta-btn--tel,
.fv-tagline-cta-btn--contact {	display: none;}
}

/* ================================================================
   TOPページ デザインブラッシュアップ（既存セクションclass限定）
   ================================================================ */

/* ---- 価格内訳セクション（price-breakdown-section） ---- */
/* 外枠の影を深く・立体感を強化 */
.price-breakdown-inner {	box-shadow: 0 10px 40px rgba(0,82,168,.15), 0 2px 8px rgba(0,0,0,.06);}
/* 価格カードのホバーアニメーション */
.price-item {	transition: transform .2s ease, box-shadow .2s ease;}
.price-item:hover {	transform: translateY(-2px);	box-shadow: 0 8px 24px rgba(0,50,120,.14);}

/* ---- 安い理由セクション（cheap-reasons-section） ---- */
/* 上部に斜め区切りアクセント（top-promo→cheap-reasonsの視覚的切り替え） */
.cheap-reasons-section {	position: relative;	padding-top: 72px;}
.cheap-reasons-section::before {	content: '';	position: absolute;	top: 0;	left: 0;	right: 0;	height: 40px;	background: #fff;	clip-path: polygon(0 0,100% 0,0 30%);	pointer-events: none;	z-index: 0;}
.cheap-reasons-inner {	position: relative;	z-index: 1;}
/* 黄色カードの立体感強化 */
.cheap-reason-card {	box-shadow: 0 8px 28px rgba(0,0,0,.22), 0 2px 8px rgba(0,0,0,.10);	transition: transform .2s ease, box-shadow .2s ease;}
.cheap-reason-card:hover {	transform: translateY(-4px);	box-shadow: 0 14px 36px rgba(0,0,0,.30);}
/* 写真角丸を統一 */
.cheap-reason-photo,
.cheap-reason-photo img {	border-radius: 10px;}
@media (min-width: 768px) {
.cheap-reasons-section {	padding-top: 84px;}
}
/* SP: 斜めウェッジは狭幅だと急角度になり違和感が出るため非表示にし、
   背景写真はcoverでの縦方向の過度な拡大を避けて幅基準で自然な大きさに調整 */
@media (max-width: 767px) {
.cheap-reasons-section::before {	display: none;}
.cheap-reasons-section {	background-position: center center, right 30%;}
}

/* ---- 施工の流れ（top-flow-section） ---- */
/* 背景をやわらかいグラデーションに */
.top-flow-section {	background: linear-gradient(180deg,#eef2f7 0%,#f7f8fa 100%);}

/* ---- 施工事例（works-section） ---- */
/* カードの立体感をさらに強化 */
.works-card {	box-shadow: 0 10px 38px rgba(0,0,0,.22), 0 2px 8px rgba(0,0,0,.10);}
.works-card:hover {	transform: translateY(-6px);	box-shadow: 0 18px 48px rgba(0,0,0,.28);}

/* ---- お客様の声・Google口コミ（google-reviews-section / #voice） ---- */
/* 背景をやわらかいクリーム色グラデーションに */
.google-reviews-section {	background: linear-gradient(180deg,#fffdf5 0%,#fff 55%);}
/* 見出しに赤アクセントライン */
#voice .section-title {	position: relative;	padding-bottom: 14px;}
#voice .section-title::after {	content: '';	position: absolute;	bottom: 0;	left: 50%;	transform: translateX(-50%);	width: 44px;	height: 3px;	background: #d60000;	border-radius: 2px;}
/* 口コミカードの影を強化 */
.google-review-card {	box-shadow: 0 5px 22px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.05);}

/* ---- 相見積もり比較（compare-section--strong） ---- */
/* アラートブロックに影を追加 */
.compare-alert {	box-shadow: 0 8px 32px rgba(13,51,96,.28), 0 2px 8px rgba(0,0,0,.08);}
/* チェックリストカードのホバーアニメーション */
.compare-section--strong .compare-checklist-item {	transition: transform .18s ease, box-shadow .18s ease;}
.compare-section--strong .compare-checklist-item:hover {	transform: translateY(-2px);	box-shadow: 0 6px 20px rgba(0,0,0,.10);}

/* ---- FAQ（#faq）見出しアクセントライン ---- */
#faq .section-title {	position: relative;	padding-bottom: 14px;}
#faq .section-title::after {	content: '';	position: absolute;	bottom: 0;	left: 50%;	transform: translateX(-50%);	width: 44px;	height: 3px;	background: #d60000;	border-radius: 2px;}

/* ================================================================
   2026-06 軽微修正：価格内訳余白調整 ＆ 相見積もりアラート軽量化
   ================================================================ */

/* ---- 修正2: price-breakdown-section 余白を少し詰める ---- */
/* セクション上下余白（44→32, 56→44） */
.price-breakdown-section {	padding: 32px 0 44px;}
/* 価格カードグリッド内パディング（24→16, 20→16） */
.price-breakdown-section .price-items {	padding: 16px 16px;}
/* CTAラップ余白（カード直下にすぐCTAを置くため上を厚めに） */
.price-breakdown-section .price-cta-wrap {	padding: 28px 20px 32px;}
@media (min-width: 768px) {
/* PC：セクション上下余白（52→38, 64→48） */
.price-breakdown-section {	padding: 38px 0 48px;}
/* PC：カードグリッド内パディング（28→20, 24→20） */
.price-breakdown-section .price-items {	padding: 20px 20px;}
/* PC：CTAラップ余白 */
.price-breakdown-section .price-cta-wrap {	padding: 32px 20px 36px;}
}

/* ================================================================
   2026-07 追加修正：price-breakdown-section PC表示をさらに詰める
   （見出し・カード・合計ボックス padding。スマホは対象外）
   ================================================================ */
@media (min-width: 768px) {
/* 青い見出し帯の上下padding（18→13） */
.price-breakdown-section .price-breakdown-title {	padding: 13px 20px;}
/* カード画像の高さ（100→78） */
.price-breakdown-section .price-item-photo {	height: 78px;}
/* カード内padding（16 10 18 → 12 10 13） */
.price-breakdown-section .price-item-body {	padding: 12px 10px 13px;}
/* 項目名と金額の間隔（10→7） */
.price-breakdown-section .price-item-name {	margin-bottom: 7px;}
/* 合計金額ボックス自体の上下padding（22 40 26 → 16 40 19、他ページのprice-misc-noteには影響しないようscoped） */
.price-breakdown-section .price-misc-note {	padding: 16px 40px 19px;}
}

/* ---- 修正1: compare-alert 軽量化（濃紺全面背景→白地＋赤天帯） ---- */
/* 背景を白に変更（赤トップライン ::before は維持） */
.compare-alert {	background: #fff;	border: 1px solid var(--clr-border);	box-shadow: 0 4px 18px rgba(0,0,0,.10), 0 1px 4px rgba(0,0,0,.05);}
/* 見出しを濃紺テキストに（黄文字→紺テキスト） */
.compare-alert-heading {	color: #0D3360;}
/* 本文をダークグレーに（白文字→濃グレー） */
.compare-alert-body {	color: #555;}
/* フォーム共通 - インラインバリデーションエラー */
.contact-form .is-error,
.simv2-contact-form .is-error {	border-color: #d90000;	background-color: #fff7f7;}
.form-error-message {	display: block;	margin-top: 6px;	color: #d90000;	font-size: 0.9rem;	font-weight: 700;	line-height: 1.6;}
/* ---------- 追加: reasonページ 品質バナー / お約束バナー画像化 ---------- */
.reason-quality-banner,
.reason-promise-banner {	max-width: 960px;	margin: 0 auto;}
.reason-quality-banner img,
.reason-promise-banner img {	display: block;	width: 100%;	height: auto;	border-radius: 16px;	box-shadow: 0 4px 20px rgba(0,0,0,0.08);}
.reason-promise-picture {	display: block;}
/* ---------- 追加: reasonページ CTA 背景を職人写真＋半透明の赤に ---------- */
.works-cta-section.reason-final-cta {	position: relative;	background-size: cover;	background-position: center 15%;	background-repeat: no-repeat;	isolation: isolate;}
.works-cta-section.reason-final-cta::before {	content: "";	position: absolute;	inset: 0;	background: linear-gradient(135deg, rgba(214,0,0,0.78) 0%, rgba(143,0,0,0.82) 100%);	z-index: 0;}
.works-cta-section.reason-final-cta .works-cta-inner {	position: relative;	z-index: 1;}
.works-cta-section.reason-final-cta .works-cta-title,
.works-cta-section.reason-final-cta .works-cta-text {	text-shadow: 0 1px 4px rgba(0,0,0,0.45);}
@media (max-width: 600px) {
.works-cta-section.reason-final-cta {	background-position: center top;}
}

/* ================================================================
   2026-07 追加：トップページ「その見積もり、総額だけで比べていませんか？」画像化
   ================================================================ */
/* 上部「税込99.8万円〜」料金コンテンツ（.price-breakdown-inner: width:min(94%,1100px)）と
   PCでの左右端をほぼ揃える。.compare-alert-banner は .container（padding-inline あり）の内側にあるため、
   同じ 94%/1100px を viewport 基準（94vw）で再現しつつ、100% で自身の親幅を超えないようクランプする */
.compare-alert-banner {	width: min(94vw, 1100px, 100%);	margin: 0 auto 20px;	aspect-ratio: 1536 / 1024;	overflow: hidden;	border-radius: 12px;	box-shadow: 0 4px 20px rgba(0,0,0,0.08);}
.compare-alert-banner-link {	display: block;	width: 100%;	height: 100%;	text-decoration: none;	color: inherit;	transition: opacity 0.2s ease;}
.compare-alert-banner-link:hover {	opacity: 0.92;}
.compare-alert-banner-link:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: 2px;}
.compare-alert-banner picture,
.compare-alert-banner img {	display: block;	width: 100%;	height: 100%;	object-fit: cover;}
@media (max-width: 767px) {
.compare-alert-banner {	aspect-ratio: 1254 / 1254;}
}

/* =====================================================
   中古住宅を購入した方の外壁・屋根塗装ページ専用 CSS（uhp-* クラス）
   page-used-home-painting.php のみで使用。他ページには影響しない。
   ===================================================== */
/* ---- ヒーロー ---- */
.uhp-hero {	position: relative;	background: linear-gradient(rgba(13,51,96,.85),rgba(13,51,96,.85)),url('assets/images/works/works-bg-wall-roller.jpg') center/cover no-repeat;	padding: 64px 0 48px;	color: #fff;}
.uhp-hero-inner {	max-width: 900px;	margin: 0 auto;}
.uhp-hero-eyebrow {	display: inline-block;	font-size: .75rem;	font-weight: 700;	letter-spacing: .1em;	color: rgba(255,255,255,.75);	margin-bottom: 12px;}
.uhp-hero-title {	font-size: clamp(1.5rem,4.5vw,2.375rem);	font-weight: 900;	line-height: 1.4;	color: #fff;	margin-bottom: 16px;	text-shadow: 0 2px 10px rgba(0,0,0,.35);}
.uhp-hero-em {	color: #ffea00;	font-style: normal;}
.uhp-hero-desc {	font-size: .9375rem;	line-height: 1.85;	color: rgba(255,255,255,.92);	margin-bottom: 20px;}
.uhp-hero-badges {	display: flex;	flex-wrap: wrap;	gap: 8px;	margin-bottom: 24px;}
.uhp-badge {	display: inline-flex;	align-items: center;	gap: 4px;	font-size: .75rem;	font-weight: 700;	background: rgba(255,255,255,.14);	border: 1px solid rgba(255,255,255,.3);	border-radius: 50px;	padding: 6px 14px;	color: #fff;}
.uhp-hero-cta {	display: flex;	flex-direction: column;	gap: 12px;	align-items: center;}
.uhp-btn {	display: inline-block;	font-size: 1rem;	font-weight: 700;	padding: 14px 32px;	border-radius: 50px;	text-decoration: none;	text-align: center;	transition: transform .2s,box-shadow .2s;	width: min(320px,100%);}
.uhp-btn--red {	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	box-shadow: 0 4px 14px rgba(214,0,0,.35);}
.uhp-btn--red:hover {	transform: translateY(-2px);	color: #fff;}
.uhp-btn--orange {	background: linear-gradient(135deg,#f08000,#e85c1a);	color: #fff;	box-shadow: 0 4px 14px rgba(232,92,26,.35);}
.uhp-btn--orange:hover {	transform: translateY(-2px);	color: #fff;}
.uhp-btn--tel {	background: rgba(255,255,255,.96);	color: #1B4F8A;	display: flex;	flex-direction: column;	align-items: center;	gap: 2px;	box-shadow: 0 4px 14px rgba(0,0,0,.2);}
.uhp-btn-tel-sub {	font-size: .75rem;	color: #666;}
.uhp-btn-tel-num {	font-size: 1.25rem;	font-weight: 900;	color: #d60000;}
.uhp-btn-tel-hours {	font-size: .6875rem;	color: #777;}
.uhp-btn--xl {	padding: 18px 40px;	font-size: 1.125rem;}
/* ---- セクション画像（お悩み／7項目／メリット／直接相談／料金） ---- */
.uhp-img-figure {	margin: 0 0 0.5rem;}
.uhp-img-picture {	display: block;	width: 100%;	aspect-ratio: 1916 / 821;	border-radius: var(--radius-lg);	box-shadow: var(--shadow);	overflow: hidden;}
.uhp-img-picture img {	display: block;	width: 100%;	height: 100%;	object-fit: cover;}
@media (max-width: 767px) {
.uhp-img-picture {	aspect-ratio: 1 / 1;}
}
.uhp-img-caption {	max-width: 680px;	margin: 14px auto 0;	text-align: center;	font-size: .8125rem;	color: #777;	line-height: 1.75;}
.uhp-img-link {	display: block;	border-radius: var(--radius-lg);	box-shadow: var(--shadow);	overflow: hidden;	transition: opacity .2s ease, transform .2s ease;}
.uhp-img-link .uhp-img-picture {	border-radius: 0;	box-shadow: none;}
.uhp-img-link:hover {	opacity: .93;	transform: translateY(-2px);}
.uhp-img-link:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: 3px;}
.uhp-direct-consult {	background-color: var(--clr-primary-light);}
.uhp-price-link-btn {	display: flex;	align-items: center;	justify-content: center;	min-height: 56px;	padding: 12px 20px;	border-radius: var(--radius);	background: #fff;	border: 2px solid var(--clr-primary);	color: var(--clr-primary);	font-weight: 700;	font-size: .9375rem;	line-height: 1.4;	text-align: center;	text-decoration: none;	transition: background .2s ease, color .2s ease;}
.uhp-price-link-btn:hover {	background: var(--clr-primary);	color: #fff;}
/* ---- 予算の考え方 ---- */
.uhp-budget-formula {	display: flex;	flex-direction: column;	align-items: stretch;	gap: 10px;	max-width: 480px;	margin: 0 auto 24px;}
.uhp-budget-item {	background: #fff;	border: 2px solid #e0e9f5;	border-radius: 10px;	padding: 14px 18px;	text-align: center;	box-shadow: 0 2px 10px rgba(0,0,0,.05);}
.uhp-budget-item--hl {	border-color: #1B4F8A;	background: #eaf4ff;}
.uhp-budget-item--total {	border-color: #d60000;	background: #fff5f5;}
.uhp-budget-item-label {	font-size: .9375rem;	font-weight: 700;	color: #333;	margin: 0;}
.uhp-budget-item--total .uhp-budget-item-label {	color: #d60000;	font-size: 1.0625rem;}
.uhp-budget-plus,
.uhp-budget-equal {	text-align: center;	font-size: 1.5rem;	font-weight: 900;	color: #1B4F8A;}
.uhp-budget-note {	max-width: 640px;	margin: 0 auto;	text-align: center;	font-size: .875rem;	color: #666;	line-height: 1.8;}
/* ---- 外装7項目チェック ---- */
.uhp-check-note {	max-width: 680px;	margin: 20px auto 0;	text-align: center;	font-size: .8125rem;	color: #777;	line-height: 1.75;}
/* ---- 診断結果3段階 ---- */
.uhp-diag-grid {	display: grid;	grid-template-columns: 1fr;	gap: 20px;	margin-bottom: 28px;}
.uhp-diag-card {	background: #fff;	border-radius: 14px;	padding: 24px 22px;	box-shadow: 0 4px 20px rgba(0,0,0,.08);	border-top: 6px solid #ccc;}
.uhp-diag-card--a {	border-top-color: #d60000;}
.uhp-diag-card--b {	border-top-color: #e8601a;}
.uhp-diag-card--c {	border-top-color: #1B4F8A;}
.uhp-diag-badge {	display: inline-flex;	align-items: center;	justify-content: center;	width: 40px;	height: 40px;	border-radius: 50%;	font-size: 1.25rem;	font-weight: 900;	color: #fff;	margin-bottom: 12px;}
.uhp-diag-card--a .uhp-diag-badge {	background: #d60000;}
.uhp-diag-card--b .uhp-diag-badge {	background: #e8601a;}
.uhp-diag-card--c .uhp-diag-badge {	background: #1B4F8A;}
.uhp-diag-title {	font-size: 1.125rem;	font-weight: 900;	color: #0D3360;	line-height: 1.5;	margin-bottom: 14px;}
.uhp-diag-example-label {	font-size: .75rem;	font-weight: 700;	color: #999;	letter-spacing: .05em;	margin-bottom: 8px;}
.uhp-diag-example-list {	list-style: disc;	padding-left: 1.25em;	margin: 0;}
.uhp-diag-example-list li {	font-size: .875rem;	color: #444;	line-height: 1.75;	margin-bottom: 4px;}
.uhp-diag-honesty {	background: #fff3e0;	border-left: 4px solid #e85c1a;	border-radius: 4px;	padding: 16px 20px;	text-align: center;	max-width: 720px;	margin: 0 auto;}
.uhp-diag-honesty p {	font-size: .9375rem;	color: #a24a00;	line-height: 1.8;	margin: 0;}
/* ---- 中盤CTA ---- */
.uhp-mid-cta {	background: #0D3360;	padding: 32px 0;	text-align: center;}
.uhp-mid-cta-inner {	max-width: 560px;	margin: 0 auto;}
.uhp-mid-cta-text {	color: #fff;	font-size: 1rem;	font-weight: 700;	line-height: 1.7;	margin-bottom: 18px;}
/* ---- 料金セクション ---- */
.uhp-price-links {	display: flex;	flex-direction: column;	gap: 10px;}
.uhp-link-btn {	display: inline-block;	color: #1B4F8A;	font-weight: 700;	font-size: .9375rem;	text-decoration: underline;}
/* ---- 施工事例 ---- */
.uhp-works-grid {	display: grid;	grid-template-columns: 1fr;	gap: 20px;}
.uhp-works-card {	display: block;	background: #fff;	border-radius: 14px;	overflow: hidden;	box-shadow: 0 4px 18px rgba(0,0,0,.08);	text-decoration: none;	color: inherit;	transition: transform .2s,box-shadow .2s;}
.uhp-works-card:hover {	transform: translateY(-3px);	box-shadow: 0 8px 24px rgba(0,0,0,.14);	color: inherit;}
.uhp-works-card-media {	background: #f0f0f0;	padding: 10px;}
.uhp-works-ba {	display: grid;	grid-template-columns: 1fr auto 1fr;	gap: 8px;	align-items: center;}
.uhp-works-photo-box {	position: relative;	background: #ddd;	border-radius: 8px;	overflow: hidden;	aspect-ratio: 4/3;	display: flex;	align-items: center;	justify-content: center;}
.uhp-works-photo-box img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}
.uhp-works-photo-empty {	font-size: .6875rem;	color: #aaa;	text-align: center;}
.uhp-works-photo-label {	position: absolute;	top: 6px;	left: 6px;	font-size: .625rem;	font-weight: 900;	padding: 2px 7px;	border-radius: 4px;	z-index: 1;}
.uhp-works-label-before {	background: #444;	color: #fff;}
.uhp-works-label-after {	background: #e85c1a;	color: #fff;}
.uhp-works-ba-arrow {	font-size: 1rem;	color: #bbb;}
.uhp-works-card-body {	padding: 16px 18px 18px;}
.uhp-works-card-title {	font-size: 1rem;	font-weight: 900;	color: #111;	margin-bottom: 8px;}
.uhp-works-meta {	display: flex;	flex-wrap: wrap;	gap: 6px;	margin-bottom: 8px;}
.uhp-works-tag {	display: inline-block;	background: #eaf4ff;	color: #0052a8;	font-size: .75rem;	font-weight: 700;	padding: 3px 10px;	border-radius: 20px;}
.uhp-works-price {	display: inline-block;	background: #e85c1a;	color: #fff;	font-size: .8125rem;	font-weight: 900;	padding: 3px 10px;	border-radius: 6px;}
.uhp-works-empty {	text-align: center;	color: #888;}
/* ---- FAQ ---- */
.uhp-faq-list {	display: flex;	flex-direction: column;	gap: 12px;	max-width: 800px;	margin: 0 auto;}
.uhp-faq-item {	background: #fff;	border: 1px solid #e5e7eb;	border-radius: 10px;	overflow: hidden;}
.uhp-faq-question {	display: flex;	align-items: center;	gap: 12px;	width: 100%;	background: none;	border: none;	padding: 16px 18px;	text-align: left;	cursor: pointer;	font-family: var(--font-base);}
.uhp-faq-q-mark {	flex-shrink: 0;	display: inline-flex;	align-items: center;	justify-content: center;	width: 28px;	height: 28px;	border-radius: 50%;	background: #1B4F8A;	color: #fff;	font-weight: 900;	font-size: .875rem;}
.uhp-faq-q-text {	flex: 1;	font-size: .9375rem;	font-weight: 700;	color: #222;	line-height: 1.6;}
.uhp-faq-icon {	flex-shrink: 0;	font-size: 1.25rem;	color: #1B4F8A;	font-weight: 900;}
.uhp-faq-answer {	display: none;	padding: 0 18px;	align-items: center;	gap: 12px;}
.uhp-faq-item--open .uhp-faq-answer {	display: flex;	padding: 0 18px 18px;}
.uhp-faq-a-mark {	flex-shrink: 0;	display: inline-flex;	align-items: center;	justify-content: center;	width: 28px;	height: 28px;	border-radius: 50%;	background: #d60000;	color: #fff;	font-weight: 900;	font-size: .875rem;}
.uhp-faq-a-text {	font-size: .875rem;	color: #444;	line-height: 1.8;	margin: 0;}
/* ---- 最終CTA ---- */
.uhp-final-cta {	background: linear-gradient(135deg,#0D3360,#1B4F8A);	padding: 56px 0 64px;	text-align: center;	color: #fff;}
.uhp-final-cta-inner {	max-width: 640px;	margin: 0 auto;}
.uhp-final-cta-title {	font-size: clamp(1.5rem,4vw,2rem);	font-weight: 900;	color: #fff;	line-height: 1.45;	margin-bottom: 16px;}
.uhp-final-cta-copy {	font-size: .9375rem;	color: rgba(255,255,255,.88);	line-height: 1.8;	margin-bottom: 20px;}
.uhp-final-cta-badges {	display: flex;	flex-wrap: wrap;	justify-content: center;	gap: 8px;	margin-bottom: 26px;}
.uhp-cta-badge {	font-size: .8125rem;	background: rgba(255,255,255,.15);	color: #fff;	padding: 4px 14px;	border-radius: 50px;	font-weight: 700;}
.uhp-final-cta-tel {	margin-top: 22px;}
.uhp-final-tel-label {	font-size: .8125rem;	color: rgba(255,255,255,.8);	margin-bottom: 4px;}
.uhp-final-tel-number {	display: inline-block;	font-size: clamp(1.75rem,5vw,2.25rem);	font-weight: 900;	color: #fff;	letter-spacing: .02em;}
.uhp-final-tel-hours {	font-size: .75rem;	color: rgba(255,255,255,.7);}
.uhp-final-cta-links {	margin-top: 24px;	display: flex;	flex-direction: column;	gap: 8px;}
.uhp-final-cta-links a {	color: rgba(255,255,255,.85);	font-size: .8125rem;	text-decoration: underline;	display: inline-block;	padding: 11px 0;}
/* ---- PC（768px+）---- */
@media (min-width: 768px) {
.uhp-hero {	padding: 96px 0 72px;}
.uhp-hero-cta {	flex-direction: row;	justify-content: center;	align-items: stretch;}
.uhp-hero-cta .uhp-btn {	display: flex;	align-items: center;	justify-content: center;	box-sizing: border-box;}
.uhp-hero-cta .uhp-btn--tel {	flex-direction: column;}
.uhp-btn {	width: auto;	min-width: 220px;}
.uhp-budget-formula {	flex-direction: row;	align-items: center;	max-width: 100%;}
.uhp-budget-item {	flex: 1;}
.uhp-diag-grid {	grid-template-columns: repeat(3,1fr);}
.uhp-price-links {	flex-direction: row;	justify-content: center;	gap: 24px;}
.uhp-price-link-btn {	flex: 1;	max-width: 340px;}
.uhp-works-grid {	grid-template-columns: repeat(3,1fr);}
}

/* ================================================================
   2026-07 追加：TOP下部「問い合わせバナー」画像化（tsk-bcb- prefix）
   画像内の空白部分（実測座標）に電話番号／見積もりボタンを重ねて配置する。
   2026-07 再調整：はみ出し修正（実測ボーダー座標に厳密化＋内側余白）、
   PC画像上端の白い縁（画像内、約11px）をクロップ、背景を白系へ変更。
   ================================================================ */
.tsk-bcb-section {	background: var(--clr-bg-alt);	padding-block: 3.5rem;}
.tsk-bcb-banner {	position: relative;	width: min(94vw, 1100px, 100%);	margin: 0 auto;	aspect-ratio: 1692 / 919;	border-radius: 12px;	overflow: hidden;	box-shadow: 0 4px 16px rgba(0,0,0,0.10);}
.tsk-bcb-picture,
.tsk-bcb-picture img {	display: block;	width: 100%;	height: 100%;	object-fit: cover;	object-position: center bottom;}
.tsk-bcb-cta {	position: absolute;	display: flex;	align-items: center;	justify-content: center;	text-align: center;	left: 17.02%;	width: 28.43%;	top: 87.05%;	height: 6.86%;}
.tsk-bcb-cta--tel {	left: 61.76%;	width: 27.48%;}
.tsk-bcb-btn {	display: flex;	align-items: center;	justify-content: center;	width: 100%;	height: 100%;	background: linear-gradient(135deg,#E8601A 0%,#d60000 100%);	color: #fff;	font-weight: 800;	line-height: 1.2;	text-decoration: none;	border-radius: 8px;	box-shadow: 0 2px 6px rgba(214,0,0,.3);	padding: 0 6px;	font-size: clamp(0.55rem, 1.05vw, 0.9rem);	transition: opacity .2s ease, transform .2s ease;}
.tsk-bcb-btn:hover {	opacity: .92;	transform: translateY(-2px);}
.tsk-bcb-btn:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: 2px;}
.tsk-bcb-tel {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	width: 100%;	height: 100%;	text-decoration: none;	color: #b50000;	border-radius: 8px;}
.tsk-bcb-tel-number {	font-size: clamp(0.8rem, 1.5vw, 1.35rem);	font-weight: 900;	letter-spacing: 0.01em;	line-height: 1.05;}
.tsk-bcb-tel-hours {	font-size: clamp(0.4rem, 0.62vw, 0.62rem);	color: #444;	margin-top: 1px;	line-height: 1.15;}
.tsk-bcb-tel:hover .tsk-bcb-tel-number {	text-decoration: underline;}
.tsk-bcb-tel:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: 2px;}
@media (max-width: 767px) {
.tsk-bcb-banner {	aspect-ratio: 1254 / 1254;}
.tsk-bcb-cta {	left: 13.32%;	width: 30.70%;	top: 89.47%;	height: 6.70%;}
.tsk-bcb-cta--tel {	left: 64.75%;	width: 30.78%;}
.tsk-bcb-btn {	font-size: clamp(0.48rem, 2.0vw, 0.62rem);	border-radius: 6px;	line-height: 1.1;	padding: 0 3px;}
.tsk-bcb-tel-number {	font-size: clamp(0.65rem, 3.2vw, 0.9rem);	line-height: 1.0;}
.tsk-bcb-tel-hours {	font-size: clamp(0.36rem, 1.5vw, 0.46rem);	margin-top: 0;	line-height: 1.05;}
/* SP限定: WEBボタン・電話部分に控えめな光沢演出（常時点滅・拡大縮小は行わない） */
.tsk-bcb-btn,
.tsk-bcb-tel {	position: relative;	overflow: hidden;	isolation: isolate;}
.tsk-bcb-btn::after,
.tsk-bcb-tel::after {	content: '';	position: absolute;	inset-block: -45%;	width: 30%;	left: -50%;	transform: skewX(-20deg);	pointer-events: none;	animation: tsk-bcb-shine 7s ease-in-out infinite;}
.tsk-bcb-btn::after {	background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), rgba(255,255,255,.75), rgba(255,255,255,.15), transparent);}
.tsk-bcb-tel::after {	background: linear-gradient(90deg, transparent, rgba(255,183,3,.18), rgba(255,196,20,.6), rgba(255,183,3,.18), transparent);	animation-delay: 3.5s;}
}
@keyframes tsk-bcb-shine {
0%, 78% {	left: -50%;	opacity: 0;}
80% {	opacity: 1;}
94% {	left: 130%;	opacity: 1;}
100% {	left: 130%;	opacity: 0;}
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
.tsk-bcb-btn::after,
.tsk-bcb-tel::after {	animation: none;	display: none;}
}

/* ================================================================
   2026-07 追加：下層ページ下部「問い合わせCTA」共通背景画像（tsk-lower-cta- prefix）
   works-cta-section / prc-cta-section / wp33-cta / fp-final-cta / uhp-final-cta
   に共通で適用。既存の各セクション固有CSS（グラデーション背景等）は無変更のまま、
   背景画像＋暗めのオーバーレイを最前面のグラデーションの上に重ねて表示する。
   ※ page-reason.php の reason-final-cta は専用の背景画像を既に持つため対象外。
   ================================================================ */
.tsk-lower-cta-bg {	position: relative;	background-image: var(--tsk-cta-bg-pc);	background-size: cover;	background-position: center;	background-repeat: no-repeat;	isolation: isolate;}
.tsk-lower-cta-bg .tsk-lower-cta-overlay {	position: absolute;	inset: 0;	z-index: 0;	background: linear-gradient(135deg, rgba(8,8,12,.58) 0%, rgba(8,8,12,.74) 100%);	pointer-events: none;}
.tsk-lower-cta-bg > .container {	position: relative;	z-index: 1;}
@media (max-width: 767px) {
.tsk-lower-cta-bg {	background-image: var(--tsk-cta-bg-sp);}
}

/* 3つのCTA（無料見積／来店予約／電話）の高さ揃え：
   --tel だけ2行（ラベル＋電話番号）になり縦に長くなっていたため、
   3つとも同じ min-height で揃え、中央寄せにする。 */
.prc-cta-btn,
.wp33-cta-btn {	min-height: 64px;	justify-content: center;}

/* ================================================================
   2026-07 新規追加：ハウスメーカー比較ページ（hmc- prefix）
   page-house-maker-painting-cost.php 専用CSS。
   既存の .section / .section--alt / .container / .faq-* / .section-label
   等の共通コンポーネントを優先利用し、本ブロックはページ固有要素のみ。
   ================================================================ */

/* ---- FV ---- */
.hmc-hero {	position: relative;	background: linear-gradient(180deg,#eaf4ff 0%,#ffffff 65%);	padding: 40px 0 44px;	color: #222;	text-align: center;}
.hmc-hero-inner {	max-width: 860px;	margin: 0 auto;}

/* ---- 共通ボタン ---- */
.hmc-btn {	display: inline-block;	font-size: 1rem;	font-weight: 700;	padding: 14px 32px;	border-radius: 50px;	text-decoration: none;	text-align: center;	transition: transform .2s,box-shadow .2s;	width: min(340px,100%);}
.hmc-btn--red {	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	box-shadow: 0 4px 14px rgba(214,0,0,.35);}
.hmc-btn--red:hover {	transform: translateY(-2px);	color: #fff;}
.hmc-btn--orange {	background: linear-gradient(135deg,#f08000,#e85c1a);	color: #fff;	box-shadow: 0 4px 14px rgba(232,92,26,.35);}
.hmc-btn--orange:hover {	transform: translateY(-2px);	color: #fff;}
.hmc-btn--tel {	background: rgba(255,255,255,.96);	color: #1B4F8A;	display: flex;	flex-direction: column;	align-items: center;	gap: 2px;	box-shadow: 0 4px 14px rgba(0,0,0,.2);}
.hmc-btn-tel-sub {	font-size: .75rem;	color: #666;}
.hmc-btn-tel-num {	font-size: 1.25rem;	font-weight: 900;	color: #d60000;}
.hmc-btn--xl {	padding: 18px 40px;	font-size: 1.125rem;}
.hmc-btn:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: 3px;}

/* ---- セクション画像共通（よくある疑問／FV／価格差／発注経路／向いている場合） ---- */
.hmc-img-figure {	margin: 0 auto;}
.hmc-img-picture {	display: block;	width: 100%;	border-radius: var(--radius-lg);	box-shadow: var(--shadow);	overflow: hidden;}
.hmc-img-picture img {	display: block;	width: 100%;	height: 100%;	object-fit: cover;}
.hmc-img-caption {	max-width: 720px;	margin: 14px auto 0;	text-align: center;	font-size: .8125rem;	color: #777;	line-height: 1.75;}
.hmc-concerns-picture,
.hmc-price-factors-picture {	aspect-ratio: 1672 / 941;}
.hmc-flow-picture {	aspect-ratio: 1536 / 1024;}
.hmc-fit-picture {	aspect-ratio: 1657 / 949;}
.hmc-fv-visual {	margin: 0 auto;}
.hmc-fv-picture {	aspect-ratio: 1672 / 941;}
@media (max-width: 767px) {
.hmc-concerns-picture,
.hmc-price-factors-picture,
.hmc-flow-picture,
.hmc-fit-picture,
.hmc-fv-picture {	aspect-ratio: 1 / 1;}
}

/* ---- FV画像下 CTAグループ ---- */
.hmc-fv-cta-group {	margin-top: 28px;	display: flex;	flex-direction: column;	align-items: center;	gap: 14px;}
.hmc-fv-cta-row {	display: flex;	flex-direction: column;	gap: 14px;	width: 100%;	max-width: 400px;}
.hmc-fv-cta-btn.hmc-btn {	display: flex;	align-items: center;	justify-content: center;	width: 100%;	min-height: 64px;	padding: 12px 20px;	border-radius: 50px;	font-size: .9375rem;	line-height: 1.45;	box-sizing: border-box;}
.hmc-fv-cta-btn--phone.hmc-btn {	flex-direction: column;	gap: 2px;	max-width: 400px;	width: 100%;}
.hmc-fv-cta-btn--phone .hmc-btn-tel-sub {	font-size: .75rem;	color: #666;}
.hmc-fv-cta-btn--phone .hmc-btn-tel-num {	font-size: 1.1875rem;	font-weight: 900;	color: #d60000;}
.hmc-fv-cta-btn--multiline.hmc-btn {	flex-direction: column;	gap: 2px;}
@media (min-width: 768px) {
.hmc-fv-cta-row {	flex-direction: row;	justify-content: center;	gap: 16px;	max-width: 780px;}
.hmc-fv-cta-btn.hmc-btn {	flex: 1 1 0;	width: auto;	font-size: 1rem;}
.hmc-fv-cta-btn--phone.hmc-btn {	flex: 0 0 auto;	max-width: none;	width: 300px;}
}
.hmc-fv-note {	margin-top: 14px;	text-align: center;	font-size: .75rem;	color: #777;	line-height: 1.75;	max-width: 640px;	margin-inline: auto;}

/* ---- CTAボタン内の固定改行行（ハウスメーカー見積書比較ボタン） ---- */
.hmc-cta-btn-line {	display: block;	white-space: nowrap;}

/* ---- 価格差の理由 ---- */
.hmc-why-note {	max-width: 720px;	margin: 0 auto;	text-align: center;	font-size: .8125rem;	color: #777;	line-height: 1.75;}

/* ---- 発注経路 ---- */
.hmc-flow-desc {	text-align: center;	font-size: .875rem;	color: #444;	line-height: 1.85;	max-width: 760px;	margin: 20px auto 0;}

/* ---- 費用を抑えられる5つの理由 ---- */
.hmc-reasons-grid {	display: grid;	grid-template-columns: 1fr;	gap: 16px;}
.hmc-reason-card {	background: #fff;	border-radius: 12px;	padding: 20px 20px 22px;	box-shadow: 0 2px 10px rgba(0,0,0,.06);}
.hmc-reason-num {	display: inline-flex;	align-items: center;	justify-content: center;	width: 34px;	height: 34px;	border-radius: 50%;	background: linear-gradient(135deg,#e85c1a,#d60000);	color: #fff;	font-size: .875rem;	font-weight: 900;	margin-bottom: 10px;}
.hmc-reason-title {	font-size: 1rem;	font-weight: 900;	color: #0D3360;	margin-bottom: 8px;	line-height: 1.5;}
.hmc-reason-text {	font-size: .875rem;	color: #444;	line-height: 1.75;	margin: 0;}

/* ---- 比較表 ---- */
.hmc-compare-scroll {	overflow-x: auto;	-webkit-overflow-scrolling: touch;	width: 100%;	border-radius: 12px;	box-shadow: 0 2px 12px rgba(0,0,0,.06);}
.hmc-compare-scroll:focus-visible {	outline: 3px solid var(--clr-accent);	outline-offset: 2px;}
.hmc-compare-scroll-hint {	display: block;	text-align: center;	font-size: .8125rem;	color: #1B4F8A;	font-weight: 700;	margin: 0 0 10px;	letter-spacing: .02em;}
.hmc-compare-scroll-hint span {	color: #e85c1a;}
.hmc-compare-table {	width: 100%;	border-collapse: collapse;	background: #fff;	font-size: .875rem;}
.hmc-compare-table th,
.hmc-compare-table td {	padding: 14px 16px;	text-align: left;	border-bottom: 1px solid #eef0f3;	vertical-align: top;}
.hmc-compare-table thead th {	background: #0D3360;	color: #fff;	font-weight: 700;}
.hmc-compare-th-item {	width: 18%;}
.hmc-compare-table tbody th {	background: #f7f8fa;	font-weight: 700;	color: #333;	width: 18%;}
.hmc-compare-td-mach {	background: #f5f9ff;	color: #0D3360;	font-weight: 700;}
.hmc-compare-check {	color: #1B4F8A;	font-weight: 900;	margin-right: 4px;}
.hmc-compare-note {	margin-top: 16px;	text-align: center;	font-size: .8125rem;	color: #777;	line-height: 1.75;}

/* ---- ハウスメーカーが向いている場合 ---- */
.hmc-fit-conclusion {	max-width: 720px;	margin: 0 auto;	text-align: center;	font-size: .9375rem;	color: #0D3360;	font-weight: 700;	line-height: 1.85;}

/* ---- 見積書で比較する7項目 ---- */

/* ---- 見積書比較CTA（中間） ---- */
.hmc-estimate-cta-inner {	max-width: 720px;	margin: 0 auto;	text-align: center;}
.hmc-estimate-visual {	margin: 0 auto 24px;}
.hmc-estimate-picture {	display: block;	width: 100%;	border-radius: var(--radius-lg);	box-shadow: var(--shadow);	overflow: hidden;}
.hmc-estimate-picture img {	display: block;	width: 100%;	height: auto;}
.hmc-estimate-cta-row {	display: flex;	flex-direction: column;	gap: 14px;	width: 100%;}
.hmc-estimate-cta-btn.hmc-btn {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	width: 100%;	min-height: 84px;	gap: 2px;	box-sizing: border-box;}

/* ---- 料金・工事範囲 ---- */
.hmc-price-grid {	display: grid;	grid-template-columns: 1fr;	gap: 20px;	max-width: 860px;	margin: 0 auto;}
.hmc-price-card {	background: #fff;	border-radius: 16px;	padding: 26px 24px;	text-align: center;	box-shadow: 0 4px 16px rgba(0,0,0,.07);	border: 2px solid #eef0f3;}
.hmc-price-card--main {	border-color: #1B4F8A;	background: #f5f9ff;}
.hmc-price-card-title {	font-size: .9375rem;	font-weight: 700;	color: #555;	margin-bottom: 10px;}
.hmc-price-card-num {	font-size: clamp(1.75rem,5vw,2.25rem);	font-weight: 900;	color: #d60000;	margin-bottom: 4px;}
.hmc-price-card-num--main {	color: #0D3360;}
.hmc-price-card-tax {	font-size: .875rem;	font-weight: 700;	margin-right: 2px;}
.hmc-price-card-sub {	font-size: .8125rem;	color: #777;	margin-bottom: 16px;}
.hmc-price-card-list {	list-style: none;	padding: 0;	margin: 0 0 18px;	text-align: left;	max-width: 260px;	margin-inline: auto;}
.hmc-price-card-list li {	font-size: .8125rem;	color: #444;	line-height: 1.9;	padding-left: 1.2em;	position: relative;}
.hmc-price-card-list li::before {	content: "・";	position: absolute;	left: 0;}
.hmc-price-link {	display: inline-block;	color: #1B4F8A;	font-weight: 700;	font-size: .875rem;	text-decoration: underline;}
.hmc-price-note {	margin-top: 20px;	text-align: center;	font-size: .8125rem;	color: #777;	line-height: 1.75;	max-width: 760px;	margin-inline: auto;}

/* ---- 施工事例 ---- */
.hmc-works-grid {	display: grid;	grid-template-columns: 1fr;	gap: 20px;}
.hmc-works-card {	display: block;	background: #fff;	border-radius: 14px;	overflow: hidden;	box-shadow: 0 4px 16px rgba(0,0,0,.07);	text-decoration: none;	color: inherit;	transition: transform .2s,box-shadow .2s;}
.hmc-works-card:hover {	transform: translateY(-3px);	box-shadow: 0 8px 24px rgba(0,0,0,.1);}
.hmc-works-ba {	display: flex;	align-items: center;}
.hmc-works-photo-box {	position: relative;	flex: 1;	aspect-ratio: 4/3;	background: #f2f2f2;	overflow: hidden;}
.hmc-works-photo-box img {	width: 100%;	height: 100%;	object-fit: cover;	display: block;}
.hmc-works-photo-empty {	display: flex;	align-items: center;	justify-content: center;	height: 100%;	color: #aaa;	font-size: .75rem;	margin: 0;}
.hmc-works-photo-label {	position: absolute;	top: 6px;	left: 6px;	font-size: .625rem;	font-weight: 900;	color: #fff;	padding: 2px 8px;	border-radius: 4px;	z-index: 1;}
.hmc-works-label-before {	background: #6b7280;}
.hmc-works-label-after {	background: #d60000;}
.hmc-works-ba-arrow {	flex-shrink: 0;	width: 24px;	text-align: center;	color: #999;}
.hmc-works-card-body {	padding: 16px 18px 20px;}
.hmc-works-card-title {	font-size: 1rem;	font-weight: 700;	color: #222;	margin-bottom: 8px;	line-height: 1.5;}
.hmc-works-meta {	display: flex;	flex-wrap: wrap;	gap: 6px;	margin-bottom: 10px;}
.hmc-works-tag {	font-size: .6875rem;	font-weight: 700;	background: #eaf4ff;	color: #1B4F8A;	padding: 3px 10px;	border-radius: 50px;}
.hmc-works-dl {	margin: 0 0 10px;}
.hmc-works-dl-row {	display: flex;	gap: 8px;	font-size: .8125rem;	padding: 3px 0;	border-bottom: 1px dashed #eef0f3;}
.hmc-works-dl-row dt {	flex-shrink: 0;	width: 5em;	color: #999;	font-weight: 700;}
.hmc-works-dl-row dd {	margin: 0;	color: #333;}
.hmc-works-comment {	font-size: .8125rem;	color: #555;	line-height: 1.75;	background: #f7f8fa;	border-radius: 8px;	padding: 10px 12px;	margin: 0;}
.hmc-works-empty {	text-align: center;	color: #888;	font-size: .9375rem;}

/* ---- 最終CTA ---- */
.hmc-final-cta {	padding: 4rem 0;	text-align: center;	color: #fff;}
.hmc-final-cta-inner {	max-width: 640px;	margin: 0 auto;}
.hmc-final-cta-title {	font-size: clamp(1.375rem,3.5vw,1.875rem);	font-weight: 900;	color: #fff;	line-height: 1.5;	margin-bottom: 14px;}
.hmc-final-cta-copy {	font-size: .9375rem;	color: rgba(255,255,255,.88);	line-height: 1.8;	margin-bottom: 22px;}
.hmc-final-cta-buttons {	display: flex;	flex-direction: column;	align-items: center;	gap: 12px;}
.hmc-final-cta-tel {	margin-top: 22px;}
.hmc-final-tel-label {	font-size: .8125rem;	color: rgba(255,255,255,.8);	margin-bottom: 4px;}
.hmc-final-tel-number {	display: inline-block;	font-size: clamp(1.75rem,5vw,2.25rem);	font-weight: 900;	color: #fff;	letter-spacing: .02em;	text-decoration: none;}
.hmc-final-tel-hours {	font-size: .75rem;	color: rgba(255,255,255,.7);}
.hmc-final-cta-links {	margin-top: 24px;	display: flex;	flex-direction: column;	flex-wrap: wrap;	justify-content: center;	gap: 8px;}
.hmc-final-cta-links a {	color: rgba(255,255,255,.85);	font-size: .8125rem;	text-decoration: underline;	display: inline-block;	padding: 11px 0;}

/* ---- ハウスメーカー比較表：SP横スクロール（767px以下） ---- */
@media (max-width: 767px) {
.hmc-compare-table {	min-width: 720px;	border-collapse: separate;	border-spacing: 0;}
.hmc-compare-table th:first-child,
.hmc-compare-table td:first-child {	position: sticky;	left: 0;	z-index: 2;	background: #f7f8fa;	width: 132px;	min-width: 132px;	max-width: 132px;	box-shadow: 2px 0 4px rgba(0,0,0,.08);}
.hmc-compare-table thead th:first-child {	background: #0D3360;	z-index: 3;}
}

/* ---- タブレット・PC（768px+） ---- */
@media (min-width: 768px) {
.hmc-hero {	padding: 76px 0 60px;}
.hmc-btn {	width: auto;	min-width: 220px;}
.hmc-reasons-grid {	grid-template-columns: repeat(2,1fr);}
.hmc-compare-scroll-hint {	display: none;}
.hmc-estimate-cta-row {	flex-direction: row;	justify-content: center;	gap: 16px;}
.hmc-estimate-cta-btn.hmc-btn {	flex: 1 1 0;	width: auto;	min-height: 76px;}
.hmc-price-grid {	grid-template-columns: repeat(2,1fr);}
.hmc-works-grid {	grid-template-columns: repeat(3,1fr);}
.hmc-final-cta-buttons {	flex-direction: row;	justify-content: center;}
.hmc-final-cta-links {	flex-direction: row;}
}

/* ---- デスクトップ（1024px+） ---- */
@media (min-width: 1024px) {
.hmc-reasons-grid {	grid-template-columns: repeat(3,1fr);}
}

/* ---------- タブレット境界（768〜1023px）ヘッダー切替に伴う横あふれ対策 ---------- */
/* FV下 案内ブロック: テキスト・バッジのHTMLを削除したため、タブレット幅専用のレイアウト調整は不要になった */

/* =========================================================
   TOP中盤コンテンツ簡略化（スマホのみ）
   1. 99.8万円プラン: 外壁塗装・屋根塗装の2カードのみ表示
   2. マッハ塗装が安い6つの理由: 横スクロールスライド化
   3. 施工事例: 横スクロールスライド化（2件以上の場合のみ）
   ========================================================= */

/* ---- 1. 99.8万円プラン: スマホは外壁塗装・屋根塗装の2カードのみ ---- */
@media (max-width: 767px) {
	.price-items-with-plus .price-item--mobile-detail { display: none; }
	.price-items-with-plus { gap: 16px; }
	.price-items-with-plus .price-item-photo { height: 150px; }
	.price-items-with-plus .price-item-name  { font-size: 1.25rem; margin-bottom: 12px; }
	.price-items-with-plus .price-item-price { font-size: 2.375rem; }
	.price-items-with-plus .price-unit       { font-size: 1rem; }
	.price-items-with-plus .price-item-tax   { font-size: 0.8125rem; margin-top: 6px; }
}
.price-items-mobile-note { display: none; }
@media (max-width: 767px) {
	.price-items-mobile-note {
		display: block;
		margin: 14px 0 0;
		padding: 10px 16px;
		background: #fff;
		border: 1px solid #cfe0f5;
		border-radius: 8px;
		font-size: 0.8125rem;
		line-height: 1.6;
		color: #444;
		text-align: center;
	}
}

/* ---- 共通: スマホ横スライド用ドット（安い理由・施工事例で共用） ---- */
.tsk-mobile-dots { display: none; }
@media (max-width: 767px) {
	.tsk-mobile-dots {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 8px;
		margin-top: 14px;
	}
	.tsk-mobile-dot {
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: rgba(255,255,255,.55);
		padding: 0;
		border: none;
		flex-shrink: 0;
		transition: background-color .2s ease, transform .2s ease;
	}
	.tsk-mobile-dot.is-active { background: #d60000; transform: scale(1.25); }
	.works-slider-dots .tsk-mobile-dot { background: rgba(0,0,0,.18); }
	.works-slider-dots .tsk-mobile-dot.is-active { background: #d60000; }
}

/* ---- 2. マッハ塗装が安い6つの理由: スマホは横スクロールスライド ---- */
@media (max-width: 767px) {
	.cheap-reasons-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 14px;
		padding-bottom: 6px;
	}
	.cheap-reason-card {
		scroll-snap-align: start;
		flex: 0 0 86%;
		min-width: 0;
	}
}

/* ---- 3. 施工事例: 2件以上ある場合のみスマホで横スクロールスライド ---- */
@media (max-width: 767px) {
	.works-grid--slider {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 16px;
		padding-bottom: 6px;
		margin-bottom: 32px;
	}
	.works-grid--slider .works-card {
		scroll-snap-align: start;
		flex: 0 0 88%;
		min-width: 0;
	}
}

/* ---- 横スライドの動きを抑える（OSのモーション低減設定を尊重） ---- */
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
	.cheap-reasons-grid,
	.works-grid--slider {
		scroll-behavior: auto;
	}
	.tsk-mobile-dot {
		transition: none;
	}
}

/* ---- 施工事例カード: 1024px以上は3列固定（768〜1023pxの2列より優先させるため末尾に配置） ---- */
@media (min-width: 1024px) {
	.works-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
