/**
 * レスポンシブスタイル
 * ブレークポイント: 734px / 1068px / 1440px（design-rules準拠）
 */

/* ========================================
   Large: 1069px - 1440px
   ======================================== */
@media (max-width: 1440px) {
	:root {
		--text-hero: 64px;
		--text-section-title: 40px;
	}
}

/* ========================================
   Medium: 735px - 1068px（タブレット）
   ======================================== */
@media (max-width: 1068px) {
	:root {
		--text-hero: 56px;
		--text-section-title: 36px;
		--text-subtitle: 24px;
		--text-callout: 21px;
		--section-padding: var(--section-padding-tablet);
	}

	.ao-section {
		padding-top: var(--section-padding-tablet);
		padding-bottom: var(--section-padding-tablet);
	}

	/* カード: 2カラム維持 */
	.ao-cards {
		grid-template-columns: repeat(2, 1fr);
	}

	/* 3枚目のカードは全幅 */
	.ao-cards > .ao-card:nth-child(3) {
		grid-column: 1 / -1;
		max-width: 50%;
		margin: 0 auto;
	}

	/* フッター: 2カラムに */
	.ao-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.ao-footer__nav {
		grid-column: 1 / -1;
	}

	/* プロフィール */
	.ao-profile {
		gap: var(--spacing-md);
		padding: var(--spacing-md);
	}

	.ao-profile__placeholder,
	.ao-profile__photo {
		width: 150px;
		height: 150px;
	}

	/* お悩みセクション画像 */
	.ao-problem__image {
		flex: 0 0 280px;
	}

	/* Elementorセクションパディング上書き */
	.elementor-section {
		padding-top: var(--section-padding-tablet);
		padding-bottom: var(--section-padding-tablet);
	}
}

/* ========================================
   Small: 0px - 734px（モバイル）
   ======================================== */
@media (max-width: 734px) {
	:root {
		--text-hero: 36px;
		--text-section-title: 28px;
		--text-subtitle: 21px;
		--text-callout: 19px;
		--text-body-large: 17px;
		--container-padding: 20px;
	}

	.ao-section {
		padding-top: var(--section-padding-mobile);
		padding-bottom: var(--section-padding-mobile);
	}

	/* ヘッダー: ハンバーガーメニュー */
	.ao-header__menu-toggle {
		display: flex;
	}

	.ao-header__nav {
		display: none;
		position: absolute;
		top: 64px;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		background-color: var(--color-bg);
		padding: var(--spacing-md);
		box-shadow: var(--shadow-md);
		gap: var(--spacing-sm);
	}

	.ao-header__nav.is-open {
		display: flex;
	}

	.ao-header__menu {
		flex-direction: column;
		gap: 0;
	}

	.ao-header__menu li a {
		display: block;
		padding: var(--spacing-sm) 0;
		font-size: var(--text-body);
		border-bottom: 1px solid var(--color-bg-alt);
	}

	.ao-btn--header {
		text-align: center;
		font-size: var(--text-body);
		padding: 14px 20px;
	}

	/* カード: 1カラム */
	.ao-cards {
		grid-template-columns: 1fr;
	}

	.ao-cards > .ao-card:nth-child(3) {
		max-width: 100%;
	}

	/* 実績: 1カラム */
	.ao-proof__achievements {
		grid-template-columns: 1fr;
	}

	/* サービス: 1カラム */
	.ao-services {
		grid-template-columns: 1fr;
	}

	/* プロフィール: 縦並び */
	.ao-profile {
		flex-direction: column;
		text-align: center;
	}

	.ao-profile__placeholder,
	.ao-profile__photo {
		width: 160px;
		height: 160px;
	}

	/* お悩みセクション: 縦並び */
	.ao-problem__layout {
		flex-direction: column;
	}

	.ao-problem__image {
		flex: none;
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}

	/* サービスビジュアル */
	.ao-service__visual {
		max-height: 250px;
	}

	/* CTA: ボタン縦並び */
	.ao-cta__actions {
		flex-direction: column;
		align-items: center;
	}

	.ao-btn--large {
		width: 100%;
		max-width: 320px;
	}

	/* フッター: 1カラム */
	.ao-footer__inner {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
		text-align: center;
	}

	.ao-footer__nav {
		grid-column: auto;
	}

	.ao-footer__menu {
		align-items: center;
	}

	/* Hero */
	.ao-hero {
		min-height: 80vh;
	}

	/* チェックリスト */
	.ao-checklist__item {
		font-size: var(--text-body);
		padding-left: 40px;
	}

	/* FAQ */
	.ao-faq__question {
		font-size: var(--text-body);
		padding: var(--spacing-sm);
	}

	.ao-faq__answer {
		padding: 0 var(--spacing-sm) var(--spacing-sm);
	}

	/* Elementorセクションパディング上書き */
	.elementor-section {
		padding-top: var(--section-padding-mobile);
		padding-bottom: var(--section-padding-mobile);
	}
}
