/* =============================================================================
   Contact & Privacy Policy pages — page-id-19, page-id-2902
   Loaded conditionally via functions.php (is_page)
   ============================================================================= */

/* =============================================================================
   Contact page — page-id-19
   ============================================================================= */

/* ── ページ全体のベース ── */
.page-id-19 .p-page__content {
	max-width: 680px;
	margin-inline: auto;
	padding: 3rem 1.5rem 5rem;
	color: #e7e5e4;
}

/* ── イントロ文 ── */
.page-id-19 .p-page__content > p {
	font-size: clamp(0.85rem, 2vw, 0.95rem);
	line-height: 2;
	letter-spacing: 0.08em;
	color: #b5b0aa;
	margin-bottom: 0.5rem;
}

/* ── 営業時間ブロック ── */
.page-id-19 .eigyoujikan {
	border: 1px solid #3a3530;
	border-radius: 2px;
	padding: 1.75rem 2rem;
	margin: 2rem 0 2.5rem;
	background: rgba(255,255,255,0.03);
}

.page-id-19 .eigyoujikan p {
	font-size: 0.9rem;
	line-height: 2;
	letter-spacing: 0.1em;
	color: #c9c3bc;
	margin-bottom: 0;
}

.page-id-19 .eigyoujikan p:not(:last-child) {
	margin-bottom: 0.75rem;
}

/* ── プライバシーポリシー文 ── */
.page-id-19 .p-page__content > p + p,
.page-id-19 .p-page__content .eigyoujikan + p {
	font-size: 0.78rem;
	color: #7a746e;
	line-height: 1.9;
	margin-bottom: 2.5rem;
}

.page-id-19 .p-page__content a {
	color: #c9a227;
	text-underline-offset: 3px;
}

.page-id-19 .p-page__content a:hover {
	color: #e8bf4a;
}

/* ── h2 見出し（お問い合わせフォーム）── */
.page-id-19 .wp-block-heading {
	font-size: clamp(1rem, 3vw, 1.15rem);
	letter-spacing: 0.2em;
	text-align: center;
	padding: 0.9em 1.5em;
	margin-bottom: 2.5rem;
	background: #1a1714 !important;
	color: #e7e5e4 !important;
	border-top: 1px solid #c9a227;
	border-bottom: 1px solid #c9a227;
}

/* ── CF7 フォーム全体 ── */
.page-id-19 .wpcf7 {
	font-family: 'Shippori Mincho', serif;
}

.page-id-19 .wpcf7 form {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* ── フォーム行（p タグ） ── */
.page-id-19 .wpcf7 form > p {
	margin-bottom: 0 !important;
	padding: 1.1rem 0;
	border-bottom: 1px solid #2e2a27;
	font-size: 0.88rem;
	letter-spacing: 0.1em;
	color: #c9c3bc;
	line-height: 1.6;
}

.page-id-19 .wpcf7 form > p:first-of-type {
	border-top: 1px solid #2e2a27;
}

/* 必須マーク */
.page-id-19 .wpcf7 .text-danger {
	color: #c9a227;
	font-size: 0.75rem;
	margin-left: 0.4em;
}

/* ── テキスト入力・メール・電話 ── */
.page-id-19 .wpcf7 input[type="text"],
.page-id-19 .wpcf7 input[type="email"],
.page-id-19 .wpcf7 input[type="tel"] {
	width: 100%;
	margin-top: 0.5rem;
	background: transparent;
	border: none;
	border-bottom: 1px solid #4a4540;
	border-radius: 0;
	padding: 0.5rem 0.25rem;
	font-family: 'Shippori Mincho', serif;
	font-size: 0.95rem;
	letter-spacing: 0.08em;
	color: #e7e5e4;
	outline: none;
	transition: border-color 0.25s ease;
}

.page-id-19 .wpcf7 input[type="text"]:focus,
.page-id-19 .wpcf7 input[type="email"]:focus,
.page-id-19 .wpcf7 input[type="tel"]:focus {
	border-bottom-color: #c9a227;
}

.page-id-19 .wpcf7 input[type="text"]::placeholder,
.page-id-19 .wpcf7 input[type="email"]::placeholder,
.page-id-19 .wpcf7 input[type="tel"]::placeholder {
	color: #4a4540;
}

/* ── テキストエリア ── */
.page-id-19 .wpcf7 textarea {
	width: 100%;
	margin-top: 0.5rem;
	background: rgba(255,255,255,0.02);
	border: 1px solid #3a3530;
	border-radius: 2px;
	padding: 0.75rem;
	font-family: 'Shippori Mincho', serif;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	color: #e7e5e4;
	resize: vertical;
	min-height: 160px;
	outline: none;
	transition: border-color 0.25s ease;
	line-height: 1.8;
}

.page-id-19 .wpcf7 textarea:focus {
	border-color: #c9a227;
	background: rgba(201, 162, 39, 0.03);
}

.page-id-19 .wpcf7 textarea::placeholder {
	color: #4a4540;
}

/* ── 確認チェックボックス ── */
.page-id-19 .wpcf7 .wpcf7-checkbox {
	margin-top: 0.5rem;
	display: block;
}

.page-id-19 .wpcf7 .wpcf7-list-item {
	margin: 0;
}

.page-id-19 .wpcf7 input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin-right: 0.5em;
	accent-color: #c9a227;
	cursor: pointer;
}

.page-id-19 .wpcf7 .wpcf7-list-item-label {
	font-size: 0.88rem;
	color: #c9c3bc;
	cursor: pointer;
}

/* ── 送信ボタン行 ── */
.page-id-19 .wpcf7 .center {
	text-align: center;
	margin-top: 2.5rem;
	border: none !important;
}

.page-id-19 .wpcf7 input[type="submit"],
.page-id-19 .wpcf7 .wpcf7-submit {
	display: inline-block;
	width: auto;
	min-width: 220px;
	padding: 0.9em 3em;
	background: transparent;
	border: 1px solid #c9a227;
	border-radius: 1px;
	color: #c9a227;
	font-family: 'Shippori Mincho', serif;
	font-size: 0.95rem;
	letter-spacing: 0.25em;
	cursor: pointer;
	transition: background 0.3s ease, color 0.3s ease;
	position: relative;
}

.page-id-19 .wpcf7 input[type="submit"]:hover,
.page-id-19 .wpcf7 .wpcf7-submit:hover {
	background: #c9a227;
	color: #0e0c0a;
}

/* ── reCAPTCHA 注記 ── */
.page-id-19 .wpcf7 form > p:last-of-type {
	font-size: 0.72rem;
	color: #4a4540;
	text-align: center;
	border: none !important;
	margin-top: 1rem;
	padding-bottom: 0;
}

.page-id-19 .wpcf7 form > p:last-of-type a {
	color: #6a6460;
}

/* ── バリデーションエラー ── */
.page-id-19 .wpcf7 .wpcf7-not-valid-tip {
	font-size: 0.78rem;
	color: #e07070;
	margin-top: 0.3rem;
	letter-spacing: 0.05em;
}

.page-id-19 .wpcf7 input.wpcf7-not-valid,
.page-id-19 .wpcf7 textarea.wpcf7-not-valid {
	border-color: #e07070 !important;
}

/* ── 送信結果メッセージ ── */
.page-id-19 .wpcf7 .wpcf7-response-output {
	margin-top: 1.5rem;
	padding: 0.8rem 1.2rem;
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-align: center;
	border-radius: 2px;
}

.page-id-19 .wpcf7 .wpcf7-mail-sent-ok {
	border-color: #c9a227 !important;
	color: #c9a227 !important;
	background: rgba(201, 162, 39, 0.06);
}

.page-id-19 .wpcf7 .wpcf7-mail-sent-ng,
.page-id-19 .wpcf7 .wpcf7-aborted {
	border-color: #e07070 !important;
	color: #e07070 !important;
	background: rgba(224, 112, 112, 0.06);
}

/* ── スピナー（送信中） ── */
.page-id-19 .wpcf7-spinner {
	margin-left: 0.75rem;
}

/* ── モバイル調整 ── */
@media (max-width: 640px) {
	.page-id-19 .p-page__content {
		padding: 2rem 1.25rem 4rem;
	}

	.page-id-19 .eigyoujikan {
		padding: 1.25rem 1.25rem;
	}

	.page-id-19 .wpcf7 input[type="submit"] {
		width: 100%;
	}
}

/* =============================================================================
   Privacy policy page — page-id-2902
   ============================================================================= */

/* ── ページ全体のベース ── */
.page-id-2902 .p-page__content {
	max-width: 760px;
	margin-inline: auto;
	padding: 3.5rem 1.5rem 6rem;
	color: #c9c3bc;
}

/* ── h2 見出し ── */
.page-id-2902 .p-page__content h2.wp-block-heading {
	font-size: clamp(0.95rem, 2.5vw, 1.05rem);
	font-weight: 500;
	letter-spacing: 0.18em;
	color: #e7e5e4;
	margin-top: 3rem;
	margin-bottom: 1rem;
	padding-bottom: 0.6em;
	border-bottom: 1px solid #3a3530;
	position: relative;
}

.page-id-2902 .p-page__content h2.wp-block-heading::before {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 2.5em;
	height: 1px;
	background: #c9a227;
}

/* 最初の h2 は上マージンなし */
.page-id-2902 .p-page__content h2.wp-block-heading:first-child {
	margin-top: 0;
}

/* ── h3 見出し ── */
.page-id-2902 .p-page__content h3.wp-block-heading {
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	color: #d4cec8;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
	padding-left: 0.85em;
	border-left: 2px solid #c9a227;
}

/* ── 本文段落 ── */
.page-id-2902 .p-page__content p {
	font-size: clamp(0.82rem, 2vw, 0.9rem);
	line-height: 2;
	letter-spacing: 0.06em;
	color: #9e9690;
	margin-bottom: 1rem;
}

/* ── リンク ── */
.page-id-2902 .p-page__content a {
	color: #c9a227;
	text-underline-offset: 3px;
	word-break: break-all;
}

.page-id-2902 .p-page__content a:hover {
	color: #e8bf4a;
}

/* ── 強調 ── */
.page-id-2902 .p-page__content strong {
	color: #c9c3bc;
	font-weight: 500;
}

/* ── ol / ul リスト ── */
.page-id-2902 .p-page__content ol.wp-block-list,
.page-id-2902 .p-page__content ul.wp-block-list {
	margin: 0.75rem 0 1.25rem;
	padding-left: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.page-id-2902 .p-page__content ol.wp-block-list {
	counter-reset: priv-counter;
}

/* ol の各 li */
.page-id-2902 .p-page__content ol.wp-block-list li {
	counter-increment: priv-counter;
	padding: 0.7em 0 0.7em 2.5em;
	border-bottom: 1px solid #1e1c1a;
	font-size: 0.87rem;
	letter-spacing: 0.06em;
	color: #9e9690;
	line-height: 1.8;
	position: relative;
}

.page-id-2902 .p-page__content ol.wp-block-list li:first-child {
	border-top: 1px solid #1e1c1a;
}

.page-id-2902 .p-page__content ol.wp-block-list li::before {
	content: counter(priv-counter, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0.65em;
	font-size: 0.72rem;
	color: #c9a227;
	letter-spacing: 0.05em;
	line-height: 1;
}

/* ul の各 li */
.page-id-2902 .p-page__content ul.wp-block-list li {
	padding: 0.6em 0 0.6em 1.6em;
	border-bottom: 1px solid #1e1c1a;
	font-size: 0.87rem;
	letter-spacing: 0.06em;
	color: #9e9690;
	line-height: 1.8;
	position: relative;
}

.page-id-2902 .p-page__content ul.wp-block-list li:first-child {
	border-top: 1px solid #1e1c1a;
}

.page-id-2902 .p-page__content ul.wp-block-list li::before {
	content: '—';
	position: absolute;
	left: 0;
	top: 0.65em;
	font-size: 0.7rem;
	color: #c9a227;
	line-height: 1;
}

/* ── モバイル調整 ── */
@media (max-width: 640px) {
	.page-id-2902 .p-page__content {
		padding: 2rem 1.25rem 4rem;
	}

	.page-id-2902 .p-page__content h2.wp-block-heading {
		margin-top: 2.25rem;
	}
}
