/**
 * Static Page Styles
 *
 * 固定ページ（SMCについて、アクセス、お問い合わせ等）専用スタイル
 *
 * 構成:
 * 1. ページヘッダー（オレンジ背景）
 * 2. 本文コンテンツエリア
 * 3. タイポグラフィ（h2, h3, p）
 *
 * @package SMC_Japan_Astra_Child
 */

/* ==========================================================================
   Static Page - Base
   ========================================================================== */

/* 固定ページの親要素の背景色を統一 */
body.page #content.site-content {
	background-color: var(--d1-col-bg);
}

/* Astraテーマの.site-mainマージン・パディングを打ち消し */
main#primary.site-main.static-page {
	margin-top: 0 !important;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}

/* ==========================================================================
   Page Header
   ========================================================================== */

.page-header {
	background-color: var(--d1-col-main);
	height: 184px;
	display: flex;
	align-items: center;
}

.page-header .container {
	width: 100%;
	max-width: var(--d1-container-max-width);
	margin: 0 auto;
	padding: 0 72px;
	box-sizing: border-box;
}

.page-header__title {
	color: white;
	font-size: 34px;
	font-weight: 700;
	line-height: 54px;
	margin: 0;
	margin-left: 52px;
}

/* ==========================================================================
   Page Content
   ========================================================================== */

.page-content {
	padding: 80px 0 160px;
	background-color: var(--d1-col-bg);
}

.page-article {
	max-width: 800px;
	margin: 0 auto;
	box-sizing: border-box;
	/* 長い半角文字列（URL等）の折り返し */
	overflow-wrap: break-word;
	word-break: break-word;
}

/* ==========================================================================
   Typography - h1, h2
   ========================================================================== */

.page-article h1,
.page-article h2 {
	font-size: 30px;
	font-weight: 700;
	line-height: 48px;
	color: black;
	padding: 48px 0;
	box-sizing: border-box;
}

/* ==========================================================================
   Typography - h3
   ========================================================================== */

.page-article h3 {
	font-size: 24px;
	font-weight: 700;
	line-height: 40px;
	color: black;
	padding: 32px 0;
	box-sizing: border-box;
}

/* ==========================================================================
   Typography - h4
   ========================================================================== */

.page-article h4 {
	font-size: 24px;
	font-weight: 700;
	line-height: 32px;
	color: black;
	padding: 32px 0;
	box-sizing: border-box;
}

/* ==========================================================================
   Typography - Paragraphs
   ========================================================================== */

.page-article p {
	font-size: 18px;
	font-weight: 400;
	line-height: 30px;
	color: black;
	margin: 0 0 24px;
}

.page-article p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Typography - Links
   ========================================================================== */

.page-article a {
	color: var(--d1-col-main);
	text-decoration: underline;
}

.page-article a:hover {
	text-decoration: none;
}

/* ==========================================================================
   Typography - Lists
   ========================================================================== */

.page-article ul,
.page-article ol {
	font-size: 18px;
	line-height: 30px;
	color: black;
	margin: 0 0 24px;
	padding-left: 24px;
}

.page-article li {
	margin-bottom: 8px;
}

.page-article li:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Images
   ========================================================================== */

.page-article img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 24px 0;
}

.page-article figure {
	margin: 24px 0;
}

.page-article figcaption {
	font-size: 14px;
	color: var(--d1-col-text-light);
	margin-top: 8px;
	text-align: center;
}

/* ==========================================================================
   Tablet (921px以下)
   ========================================================================== */

@media (max-width: 921px) {
	.page-header .container {
		padding: 0 16px;
	}

	.page-header__title {
		font-size: 28px;
		line-height: 44px;
		margin-left: 0;
	}

	.page-content {
		padding: 48px 0 96px;
	}

	.page-article {
		padding: 0 16px;
	}
}

/* ==========================================================================
   Mobile (544px以下)
   ========================================================================== */

@media (max-width: 544px) {
	.page-header {
		height: 140px;
	}

	.page-header__title {
		font-size: 24px;
		line-height: 36px;
	}

	.page-content {
		padding: 32px 0 64px;
	}

	.page-article h1,
	.page-article h2 {
		font-size: 18px;
		font-weight: 700;
		line-height: 28px;
		padding: 24px 0;
	}

	.page-article h3 {
		font-size: 18px;
		font-weight: 700;
		line-height: 28px;
		padding: 16px 0;
	}

	.page-article h4 {
		font-size: 18px;
		font-weight: 700;
		line-height: 28px;
		padding: 16px 0;
	}

	.page-article p {
		font-size: 16px;
		line-height: 26px;
	}

	.page-article ul,
	.page-article ol {
		font-size: 16px;
		line-height: 26px;
	}
}

/* ==========================================================================
   Contact Form 7 Button Styles
   「もっと見る」ボタン (front-page.css) と同じスタイルを適用
   ========================================================================== */

/* 送信ボタンのラッパー（中央寄せ） */
.wpcf7-submit-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

/* スピナーを通常時は幅なしに（送信中のみ表示） */
.page-article .wpcf7-submit-wrapper .wpcf7-spinner {
	position: absolute;
}

/* 送信ボタン - ベース（PC） */
.page-article .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 8px 32px 8px 48px;
	background-color: var(--d1-col-main);
	color: var(--d1-col-bg);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 16px;
	line-height: 1;
	text-align: center;
	border: none;
	border-radius: 24px;
	cursor: pointer;
	transition: all 0.3s ease;
	will-change: transform;
	-webkit-appearance: none;
	appearance: none;
}

/* ホバー効果 */
.page-article .wpcf7-submit:hover,
.page-article .wpcf7-submit:active {
	opacity: 0.9;
	transform: scale(1.05);
	background-color: var(--d1-col-main);
	color: var(--d1-col-bg);
}

/* フォーカススタイル（アクセシビリティ対応） */
.page-article .wpcf7-submit:focus,
.page-article .wpcf7-submit:focus-visible {
	background-color: var(--d1-col-main);
	color: var(--d1-col-bg);
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* 送信中の状態 */
.page-article .wpcf7-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

/* ラジオボタン・チェックボックスの選択時の色 */
.page-article input[type="radio"]:checked,
.page-article input[type="checkbox"]:checked {
	accent-color: var(--d1-col-main);
}

/* Contact Form 7 - Mobile (544px以下) */
@media (max-width: 544px) {
	.page-article .wpcf7-submit {
		height: 32px;
		padding: 6px 21px 6px 32px;
		font-size: 12px;
		letter-spacing: 10px;
		border-radius: 16px;
	}
}

/* ==========================================================================
   CTA Contact Button
   固定ページの「同意して登録画面に進む」リンクボタン
   「もっと見る」ボタン (front-page.css) と同じスタイルを適用
   ========================================================================== */

/* CTAボタンのラッパー（中央寄せ） */
.btn-cta-contact-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

.page-article .btn-cta-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 8px 24px;
	background-color: var(--d1-col-main);
	color: var(--d1-col-bg);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	border: none;
	border-radius: 24px;
	cursor: pointer;
	transition: all 0.3s ease;
	will-change: transform;
}

.page-article .btn-cta-contact:hover,
.page-article .btn-cta-contact:active {
	opacity: 0.9;
	transform: scale(1.05);
	color: var(--d1-col-bg);
	text-decoration: none;
}

.page-article .btn-cta-contact:focus,
.page-article .btn-cta-contact:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	color: var(--d1-col-bg);
}

/* CTA Contact Button - Mobile (544px以下) */
@media (max-width: 544px) {
	.page-article .btn-cta-contact {
		height: 32px;
		padding: 6px 16px;
		font-size: 12px;
		border-radius: 16px;
	}
}
