/**
 * Miyashita Child Theme - custom.css
 * きもの宮下 — 老舗呉服店の洗練されたデザイン
 *
 * カラーパレット（6色）:
 *   墨 (Text):        #333333
 *   薄墨 (Sub text):  #666666
 *   白 (BG):          #ffffff
 *   絹 (Card/Border): #F5F2ED
 *   金 (Accent):      #DAA25A
 *   紺 (Navy):        #1B3A5C
 *   ※ LINE Green:     #06C755（ブランドカラー例外）
 */

/* ============================================
   A. ベースタイポグラフィ
   ============================================ */

body {
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 16px;
	line-height: 2.0;
	color: #333;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: 0.04em;
}

html {
	scroll-behavior: smooth;
}

/* ============================================
   B. 見出しスタイル（洗練和風）
   ============================================ */

.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-weight: 600;
	color: #333;
	margin-top: 1em;
	margin-bottom: 1.2em;
	font-size: clamp(1.5rem, 4vw, 2.1rem);
	letter-spacing: 0.08em;
}

h3.elementor-heading-title {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
	font-weight: 600;
	color: #333;
	border-left: 2px solid #DAA25A;
	padding-left: 0.8em;
	margin-top: 1.5em;
	margin-bottom: 0.8em;
	font-size: clamp(1.2rem, 3vw, 1.5rem);
	letter-spacing: 0.06em;
}

h1.elementor-heading-title {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
	color: #333;
	font-weight: 600;
	letter-spacing: 0.1em;
}

/* Elementorインラインスタイル上書き: 見出しサイズ・ウェイト統一 */
.elementor-widget-heading .elementor-heading-title[style*="font-size"] {
	font-size: inherit;
}
.elementor-widget-heading .elementor-heading-title[style*="font-weight"] {
	font-weight: inherit;
}
.elementor-widget-heading .elementor-heading-title[style*="letter-spacing"] {
	letter-spacing: inherit;
}

/* ============================================
   C. 商品・サービスカード
   ============================================ */

.product-card,
.service-card {
	background: #fff;
	border-radius: 2px;
	box-shadow: none;
	border: 1px solid #F5F2ED;
	padding: 2em;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
	overflow: hidden;
}

.product-card:hover,
.service-card:hover {
	opacity: 0.8;
}

.product-card img,
.service-card img {
	border-radius: 2px;
	object-fit: cover;
	width: 100%;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.product-card:hover img,
.service-card:hover img {
	opacity: 0.85;
}

.elementor-inner-section .elementor-column-wrap,
.elementor-inner-section .elementor-widget-wrap {
	border-radius: 2px;
}

/* ============================================
   D. フッター改善
   ============================================ */

footer .elementor-section .elementor-container,
.elementor-location-footer .elementor-container {
	align-items: stretch;
}

footer .elementor-section,
.elementor-location-footer .elementor-section {
	background-color: #F5F2ED;
}

footer .elementor-widget-text-editor,
.elementor-location-footer .elementor-widget-text-editor {
	font-size: 0.9rem;
	color: #666;
}

footer .elementor-widget-heading h2,
.elementor-location-footer .elementor-widget-heading h2 {
	font-size: 0.8rem;
	font-family: "Noto Sans JP", sans-serif;
	color: #666;
	letter-spacing: 0.15em;
}

/* ============================================
   E. お知らせバナー軽量化
   ============================================ */

.notification-banner,
.elementor-section:first-child .elementor-alert {
	padding: 0.5rem 1rem;
	font-size: 0.85rem;
	line-height: 1.6;
}

/* ============================================
   F. About セクション
   ============================================ */

.about-section .elementor-container {
	align-items: center;
}

.about-section .elementor-widget-image img {
	max-width: 200px;
	margin: 0 auto;
	display: block;
}

/* ============================================
   G. CTA ボタン（Grain & Mortar アニメーション）
   ============================================ */

/* --- Normal: 白背景用（金色テキスト → ホバーで藍色ボーダー描画） --- */
.elementor-widget-button .elementor-button,
.elementor-widget-button .elementor-button:visited,
.elementor-field-type-submit .elementor-button {
	position: relative;
	display: inline-flex;
	background-color: transparent;
	background-image: none;
	border: none;
	border-radius: 0;
	color: #DAA25A;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	padding: 0.875em 1.5em;
	cursor: pointer;
	transition: color 0.2s cubic-bezier(.2,.3,.25,.9);
	overflow: visible;
}

/* 下線（::after）: 常時80%幅金色 → ホバーで100%藍色 */
.elementor-widget-button .elementor-button::after,
.elementor-field-type-submit .elementor-button::after {
	content: '';
	display: block;
	position: absolute;
	width: 80%;
	height: 1px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background: #DAA25A;
	transition: width 0.2s cubic-bezier(.2,.3,.25,.9) 0.4s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* ::before 未使用 */
.elementor-widget-button .elementor-button::before,
.elementor-field-type-submit .elementor-button::before {
	display: none;
}

/* 左ボーダー: content-wrapper::before — 下から上へ成長 */
.elementor-widget-button .elementor-button .elementor-button-content-wrapper::before,
.elementor-field-type-submit .elementor-button .elementor-button-content-wrapper::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 1px;
	height: 100%;
	background: #DAA25A;
	transform: scale3d(1, 0, 1);
	transform-origin: bottom center;
	transition: transform 0.2s cubic-bezier(.2,.3,.25,.9) 0.2s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* 右ボーダー: content-wrapper::after — 下から上へ成長 */
.elementor-widget-button .elementor-button .elementor-button-content-wrapper::after,
.elementor-field-type-submit .elementor-button .elementor-button-content-wrapper::after {
	content: '';
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 1px;
	height: 100%;
	background: #DAA25A;
	transform: scale3d(1, 0, 1);
	transform-origin: bottom center;
	transition: transform 0.2s cubic-bezier(.2,.3,.25,.9) 0.2s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* 上ボーダー左半分: button-text::before — 左端から伸びる */
.elementor-widget-button .elementor-button .elementor-button-text::before,
.elementor-field-type-submit .elementor-button .elementor-button-text::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 1px;
	background: #DAA25A;
	transform: scale3d(0, 1, 1);
	transform-origin: left center;
	transition: transform 0.2s cubic-bezier(.2,.3,.25,.9) 0s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* 上ボーダー右半分: button-text::after — 右端から伸びる */
.elementor-widget-button .elementor-button .elementor-button-text::after,
.elementor-field-type-submit .elementor-button .elementor-button-text::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 1px;
	background: #DAA25A;
	transform: scale3d(0, 1, 1);
	transform-origin: right center;
	transition: transform 0.2s cubic-bezier(.2,.3,.25,.9) 0s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* ホバー: テキスト色 金色→藍色 */
.elementor-widget-button .elementor-button:hover,
.elementor-field-type-submit .elementor-button:hover {
	color: #1B3A5C;
	background-color: transparent;
	background-image: none;
	opacity: 1;
	transition: color 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* ホバー: 下線 80%→100% + 色変化（即時） */
.elementor-widget-button .elementor-button:hover::after,
.elementor-field-type-submit .elementor-button:hover::after {
	width: 100%;
	background: #1B3A5C;
	transition: width 0.2s cubic-bezier(.2,.3,.25,.9) 0s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* ホバー: 左右ボーダー成長（0.2s遅延） */
.elementor-widget-button .elementor-button:hover .elementor-button-content-wrapper::before,
.elementor-widget-button .elementor-button:hover .elementor-button-content-wrapper::after,
.elementor-field-type-submit .elementor-button:hover .elementor-button-content-wrapper::before,
.elementor-field-type-submit .elementor-button:hover .elementor-button-content-wrapper::after {
	transform: scale3d(1, 1, 1);
	background: #1B3A5C;
	transition: transform 0.2s cubic-bezier(.2,.3,.25,.9) 0.2s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* ホバー: 上ボーダー成長（0.4s遅延） */
.elementor-widget-button .elementor-button:hover .elementor-button-text::before,
.elementor-widget-button .elementor-button:hover .elementor-button-text::after,
.elementor-field-type-submit .elementor-button:hover .elementor-button-text::before,
.elementor-field-type-submit .elementor-button:hover .elementor-button-text::after {
	transform: scale3d(1, 1, 1);
	background: #1B3A5C;
	transition: transform 0.2s cubic-bezier(.2,.3,.25,.9) 0.4s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* ============================================
   H. リンク・アクセント
   ============================================ */

.elementor-widget-text-editor a,
.elementor-widget-theme-post-content a {
	color: #333;
	text-decoration: none;
	border-bottom: 1px solid #DAA25A;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.elementor-widget-text-editor a:hover,
.elementor-widget-theme-post-content a:hover {
	opacity: 0.6;
}

/* 画像ホバー: 繊細なopacity変化のみ */
.elementor-widget-image:not(.no-hover) img {
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.elementor-widget-image:not(.no-hover):hover img {
	opacity: 0.8;
}

/* ============================================
   I. テーブルスタイル（料金表等）
   ============================================ */

.elementor-widget-text-editor table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5em 0;
}

.elementor-widget-text-editor table th,
.elementor-widget-text-editor table td {
	padding: 0.8em 1em;
	border-bottom: 1px solid #F5F2ED;
	text-align: left;
}

.elementor-widget-text-editor table th {
	background-color: #F5F2ED;
	color: #333;
	font-weight: 500;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
}

.elementor-widget-text-editor table tr:nth-child(even) {
	background-color: #fff;
}

.elementor-widget-text-editor table tr:hover {
	background-color: #F5F2ED;
}

/* ============================================
   J. ナビゲーション（洗練）
   ============================================ */

.site-header .site-navigation a,
.elementor-nav-menu a {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.site-header .site-navigation a:hover,
.elementor-nav-menu a:hover {
	opacity: 0.5;
}

.site-header a[href^="tel:"] {
	color: #333;
	font-weight: 500;
}

/* ============================================
   K. セクション間の余白
   ============================================ */

.elementor-section {
	padding-top: 4.5rem;
	padding-bottom: 4.5rem;
}

.elementor-widget-divider .elementor-divider-separator {
	border-color: #F5F2ED;
}

/* ============================================
   L. モバイルレスポンシブ
   ============================================ */

.elementor-widget-image img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 1024px) {
	.elementor-section > .elementor-container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.elementor-section {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 16px;
		line-height: 1.9;
	}

	.site-header .site-header-inner {
		flex-direction: column;
		gap: 0.5rem;
		padding: 0.5rem;
	}

	.site-header a[href^="tel:"] {
		font-size: 0.9rem;
	}

	.elementor-section {
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}

	.elementor-section > .elementor-container {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.elementor-widget-heading h2.elementor-heading-title,
	.elementor-widget-heading .elementor-heading-title {
		font-size: 1.3rem;
		padding-bottom: 0.5em;
	}

	.product-card,
	.service-card {
		padding: 1.2em;
		margin-bottom: 1rem;
	}

	.elementor-widget-text-editor table {
		font-size: 0.85rem;
	}

	.elementor-widget-text-editor table th,
	.elementor-widget-text-editor table td {
		padding: 0.5em 0.6em;
	}

	footer .elementor-container,
	.elementor-location-footer .elementor-container {
		flex-direction: column;
	}

	.notification-banner {
		font-size: 0.8rem;
		padding: 0.4rem 0.8rem;
	}
}

@media (max-width: 375px) {
	body {
		font-size: 15px;
	}

	.elementor-widget-heading h2.elementor-heading-title {
		font-size: 1.2rem;
	}

	.elementor-section > .elementor-container {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}

/* ============================================
   M. ヘッダー（上品・ミニマル）
   ============================================ */

.elementor-location-header {
	border-bottom: 1px solid #F5F2ED;
	box-shadow: none;
}

.elementor-location-header .elementor-section {
	background-color: #fff;
	padding-top: 0.8rem;
	padding-bottom: 0.8rem;
}

.elementor-location-header .elementor-widget-theme-site-logo img {
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.elementor-location-header .elementor-widget-theme-site-logo:hover img {
	opacity: 0.7;
}

/* ナビメニュー: opacity hover のみ（下線アニメーション削除） */
.elementor-location-header .elementor-nav-menu a {
	font-size: 0.85rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.elementor-location-header .elementor-nav-menu a::after {
	display: none;
}

.elementor-location-header .elementor-nav-menu a:hover {
	opacity: 0.5;
}

/* ヘッダー電話エリア */
.elementor-location-header .elementor-widget-heading .elementor-heading-title {
	font-family: "Noto Sans JP", sans-serif;
}

/* 「お問い合わせ」ラベル */
.elementor-location-header [data-id="b8b4dba"] .elementor-heading-title {
	font-size: 0.65rem;
	color: #333;
	letter-spacing: 0.15em;
	margin-bottom: 0;
}

/* 電話番号 */
.elementor-location-header [data-id="6daa31a"] .elementor-heading-title {
	font-size: 1.4rem;
	font-weight: 500;
	color: #333;
	letter-spacing: 0.08em;
}

/* 営業時間 */
.elementor-location-header [data-id="2225334"] .elementor-heading-title {
	font-size: 0.65rem;
	color: #333;
}

/* LINEアイコン: 控えめ */
.elementor-location-header .elementor-widget-icon .elementor-icon {
	background-color: #06C755;
	border-radius: 50%;
	padding: 8px;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.elementor-location-header .elementor-widget-icon .elementor-icon:hover {
	opacity: 0.7;
}

.elementor-location-header .elementor-widget-icon .elementor-icon svg,
.elementor-location-header .elementor-widget-icon .elementor-icon i {
	color: #fff;
	fill: #fff;
}

/* ============================================
   N. フッター（格調高い・藍色）
   ============================================ */

/* フッター店舗情報: 藍色 */
.elementor-location-footer [data-id="3a113dd3"],
.elementor-location-footer [data-id="5f4b509"] {
	background-color: #1B3A5C;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.elementor-location-footer [data-id="3a113dd3"] .elementor-heading-title,
.elementor-location-footer [data-id="5f4b509"] .elementor-heading-title {
	color: #fff;
}

.elementor-location-footer [data-id="3a113dd3"] .elementor-widget-text-editor,
.elementor-location-footer [data-id="5f4b509"] .elementor-widget-text-editor,
.elementor-location-footer [data-id="3a113dd3"] .elementor-text-editor,
.elementor-location-footer [data-id="5f4b509"] .elementor-text-editor {
	color: #fff;
}

.elementor-location-footer [data-id="3a113dd3"] .elementor-widget-text-editor *,
.elementor-location-footer [data-id="5f4b509"] .elementor-widget-text-editor * {
	color: #fff;
}

/* フッター店舗名 */
.elementor-location-footer [data-id="3a113dd3"] .elementor-widget-heading:first-child .elementor-heading-title,
.elementor-location-footer [data-id="5f4b509"] .elementor-widget-heading:first-child .elementor-heading-title {
	font-family: "Noto Serif JP", serif;
	font-size: 1.1rem;
	font-weight: 400;
	padding-bottom: 0.6em;
	border-bottom: 1px solid #DAA25A;
	display: inline-block;
	margin-bottom: 1em;
	letter-spacing: 0.1em;
}

/* フッター電話番号 */
.elementor-location-footer [data-id="3a113dd3"] .elementor-icon-list-text,
.elementor-location-footer [data-id="5f4b509"] .elementor-icon-list-text {
	color: #fff;
	font-size: 1.15rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}

.elementor-location-footer [data-id="3a113dd3"] .elementor-icon-list-icon i,
.elementor-location-footer [data-id="5f4b509"] .elementor-icon-list-icon i,
.elementor-location-footer [data-id="3a113dd3"] .elementor-icon-list-icon svg,
.elementor-location-footer [data-id="5f4b509"] .elementor-icon-list-icon svg {
	color: #DAA25A;
	fill: #DAA25A;
}

/* フッター営業時間テキスト */
.elementor-location-footer [data-id="3a113dd3"] .elementor-widget-text-editor p,
.elementor-location-footer [data-id="5f4b509"] .elementor-widget-text-editor p {
	line-height: 1.8;
	font-size: 0.85rem;
}

/* フッターCTAボタン: Reverse スタイル（白テキスト・白ボーダーアニメーション） */
.elementor-location-footer .elementor-widget-button .elementor-button,
.elementor-location-footer .elementor-widget-button .elementor-button:visited,
.elementor-location-footer .elementor-widget-global .elementor-button,
.elementor-location-footer .elementor-widget-global .elementor-button:visited {
	background-color: transparent;
	background-image: none;
	border: none;
	color: #DAA25A;
	border-radius: 0;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	font-size: 0.8rem;
	padding: 0.875em 1.5em;
	transition: color 0.2s cubic-bezier(.2,.3,.25,.9);
	position: relative;
	overflow: visible;
}

/* Reverse: 下線（金色半透明 → ホバーで白） */
.elementor-location-footer .elementor-widget-button .elementor-button::after,
.elementor-location-footer .elementor-widget-global .elementor-button::after {
	background: #DAA25A;
	transition: width 0.2s cubic-bezier(.2,.3,.25,.9) 0.4s, background 0.2s cubic-bezier(.2,.3,.25,.9) 0s;
}

/* Reverse: 左右ボーダー色 */
.elementor-location-footer .elementor-widget-button .elementor-button .elementor-button-content-wrapper::before,
.elementor-location-footer .elementor-widget-button .elementor-button .elementor-button-content-wrapper::after,
.elementor-location-footer .elementor-widget-global .elementor-button .elementor-button-content-wrapper::before,
.elementor-location-footer .elementor-widget-global .elementor-button .elementor-button-content-wrapper::after {
	background: #DAA25A;
}

/* Reverse: 上ボーダー色 */
.elementor-location-footer .elementor-widget-button .elementor-button .elementor-button-text::before,
.elementor-location-footer .elementor-widget-button .elementor-button .elementor-button-text::after,
.elementor-location-footer .elementor-widget-global .elementor-button .elementor-button-text::before,
.elementor-location-footer .elementor-widget-global .elementor-button .elementor-button-text::after {
	background: #DAA25A;
}

/* Reverse: ホバー — テキスト白 */
.elementor-location-footer .elementor-widget-button .elementor-button:hover,
.elementor-location-footer .elementor-widget-global .elementor-button:hover {
	color: #fff;
	background-color: transparent;
	background-image: none;
	opacity: 1;
}

/* Reverse: ホバー — 下線白 */
.elementor-location-footer .elementor-widget-button .elementor-button:hover::after,
.elementor-location-footer .elementor-widget-global .elementor-button:hover::after {
	background: #fff;
}

/* Reverse: ホバー — 左右ボーダー白 */
.elementor-location-footer .elementor-widget-button .elementor-button:hover .elementor-button-content-wrapper::before,
.elementor-location-footer .elementor-widget-button .elementor-button:hover .elementor-button-content-wrapper::after,
.elementor-location-footer .elementor-widget-global .elementor-button:hover .elementor-button-content-wrapper::before,
.elementor-location-footer .elementor-widget-global .elementor-button:hover .elementor-button-content-wrapper::after {
	background: #fff;
}

/* Reverse: ホバー — 上ボーダー白 */
.elementor-location-footer .elementor-widget-button .elementor-button:hover .elementor-button-text::before,
.elementor-location-footer .elementor-widget-button .elementor-button:hover .elementor-button-text::after,
.elementor-location-footer .elementor-widget-global .elementor-button:hover .elementor-button-text::before,
.elementor-location-footer .elementor-widget-global .elementor-button:hover .elementor-button-text::after {
	background: #fff;
}

/* フッター区切り線 */
.elementor-location-footer [data-id="afa643d"] {
	background-color: #1B3A5C;
	padding-top: 0;
	padding-bottom: 0;
}

.elementor-location-footer [data-id="afa643d"] .elementor-divider-separator {
	border-color: #1B3A5C;
}

/* フッター著作権バー */
.elementor-location-footer [data-id="01f9147"] {
	background-color: #1B3A5C;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.elementor-location-footer [data-id="01f9147"] .elementor-heading-title {
	color: #fff;
	font-size: 0.7rem;
	letter-spacing: 0.15em;
}

/* フッターSNSアイコン */
.elementor-location-footer .elementor-social-icon {
	background-color: transparent;
	border: 1px solid #DAA25A;
	transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.elementor-location-footer .elementor-social-icon:hover {
	background-color: #1B3A5C;
	border-color: #fff;
	opacity: 0.7;
}

.elementor-location-footer .elementor-social-icon i,
.elementor-location-footer .elementor-social-icon svg {
	color: #fff;
	fill: #fff;
}

/* Google Maps */
.elementor-location-footer .elementor-widget-google_maps iframe {
	border-radius: 2px;
	border: 1px solid #1B3A5C;
}

/* ============================================
   O. モバイル追加
   ============================================ */

@media (max-width: 767px) {
	.elementor-location-header [data-id="6daa31a"] .elementor-heading-title {
		font-size: 1.2rem;
	}

	.elementor-location-footer [data-id="3a113dd3"],
	.elementor-location-footer [data-id="5f4b509"] {
		padding-top: 1.5rem;
		padding-bottom: 1.5rem;
	}
}

/* ============================================
   P. お問い合わせページ（上品・高級感）
   ============================================ */

/* ページタイトル「お問い合わせ」 */
.page-id-69 [data-id="7ae2c831"] .elementor-heading-title,
.page-id-69 .elementor-page-title .elementor-heading-title {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
	font-size: clamp(1.8rem, 5vw, 2.4rem);
	font-weight: 400;
	letter-spacing: 0.15em;
	color: #333;
}

/* セクション全体: 上品な余白 */
.page-id-69 [data-id="e1fc661"] {
	max-width: 800px;
	margin: 0 auto;
	padding-top: 3rem;
	padding-bottom: 4rem;
}

/* 区切り線: 渋金の細いライン */
.page-id-69 [data-id="2f14704b"] .elementor-divider-separator {
	border-color: #DAA25A;
	width: 60px;
	margin: 0 auto;
	border-width: 1px;
}

/* サブ見出し「お電話」「メール」 */
.page-id-69 [data-id="ef725f3"] .elementor-heading-title,
.page-id-69 [data-id="88b4ea3"] .elementor-heading-title {
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	color: #333;
	margin-top: 2em;
}

/* 電話番号: 洗練された表示 */
.page-id-69 [data-id="4117764b"] .elementor-heading-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.8rem, 5vw, 2.4rem);
	font-weight: 500;
	color: #333;
	letter-spacing: 0.08em;
}

/* 営業時間テキスト */
.page-id-69 [data-id="b8f1794"] {
}

.page-id-69 [data-id="b8f1794"] .elementor-text-editor {
	font-size: 0.9rem;
	color: #333;
	letter-spacing: 0.05em;
}

/* フォーム全体 */
.page-id-69 .elementor-widget-form {
	margin-top: 1.5em;
}

/* フォームラベル */
.page-id-69 .elementor-field-label {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.95rem;
	color: #333;
	letter-spacing: 0.1em;
	font-weight: 500;
	margin-bottom: 0.5em;
}

/* フォーム入力欄 */
.page-id-69 .elementor-field-textual {
	background-color: #fff;
	border: 1px solid #F5F2ED;
	border-radius: 0;
	padding: 14px 16px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	color: #333;
	transition: border-color 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.page-id-69 .elementor-field-textual:focus {
	border-color: #1B3A5C;
	outline: none;
	background-color: #fff;
}

.page-id-69 .elementor-field-textual::placeholder {
	color: #DAA25A;
	font-size: 0.8rem;
}

/* テキストエリア高さ */
.page-id-69 textarea.elementor-field-textual {
	min-height: 160px;
}

/* フォームグループ間の余白 */
.page-id-69 .elementor-field-group {
	margin-bottom: 1.2em;
}

/* 送信ボタン: レイアウト調整（アニメーションはSection Gで共通定義） */
.page-id-69 .elementor-field-type-submit .elementor-button,
.page-id-69 .e-form__buttons__wrapper .elementor-button {
	padding: 0.875em 2em;
	width: auto;
	min-width: 240px;
	max-width: 320px;
	margin: 1.5em auto 0;
	justify-content: center;
}

/* 送信ボタン wrapper をセンタリング */
.page-id-69 .elementor-field-type-submit,
.page-id-69 .e-form__buttons__wrapper {
	text-align: center;
}

/* フォーム下の余白 */
.page-id-69 .elementor-widget-form .elementor-form {
	padding-bottom: 1em;
}

/* モバイル調整 */
@media (max-width: 767px) {
	.page-id-69 [data-id="e1fc661"] {
		padding-top: 2rem;
		padding-bottom: 2.5rem;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.page-id-69 [data-id="4117764b"] .elementor-heading-title {
		font-size: 1.5rem;
	}

	.page-id-69 .elementor-field-label {
		font-size: 1rem;
	}

	.page-id-69 .elementor-field-textual {
		font-size: 1rem;
		padding: 12px 14px;
	}

	.page-id-69 .elementor-field-type-submit .elementor-button,
	.page-id-69 .e-form__buttons__wrapper .elementor-button {
		min-width: 200px;
		max-width: 100%;
	}
}
