/* ============================================================
   Flower Hanamura - Custom Styles
   theme.json で表現できない細部の調整
   ============================================================ */

/* リンクの下線・トランジション */
a {
	transition: color 0.2s ease, opacity 0.2s ease;
}

/* ナビゲーションホバー */
.wp-block-navigation .wp-block-navigation-item__content {
	transition: opacity 0.2s ease;
}
.wp-block-navigation .wp-block-navigation-item__content:hover {
	opacity: 0.55;
}

/* ボタンのトランジション */
.wp-block-button__link {
	transition: background-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}

/* アウトラインボタン（モノトーン） */
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--dark-gray);
	color: var(--wp--preset--color--dark-gray);
	background-color: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--dark-gray);
	color: var(--wp--preset--color--off-white);
}

/* 投稿コンテンツ内の段落 */
.entry-content p,
.wp-block-post-content p {
	margin-bottom: 1.5em;
}

/* セパレーター（細く控えめに） */
.wp-block-separator {
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
	margin: 0;
}

/* 画像のキャプション */
.wp-block-image figcaption {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 0.85rem;
	color: var(--wp--preset--color--gray);
	letter-spacing: 0.05em;
	text-align: center;
	margin-top: 0.75em;
}

/* 検索フォーム */
.wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--light-gray);
}
.wp-block-search__input {
	background: transparent;
	border: none;
	font-family: var(--wp--preset--font-family--shippori-mincho);
}
.wp-block-search__button {
	background-color: var(--wp--preset--color--dark-gray);
	color: var(--wp--preset--color--off-white);
	border: none;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	letter-spacing: 0.1em;
	font-size: 0.9rem;
}

/* ページネーション */
.wp-block-query-pagination {
	gap: 0.75rem;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 0.95rem;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--gray);
	text-decoration: none;
	padding: 0.25rem 0.5rem;
}
.wp-block-query-pagination .current,
.wp-block-query-pagination a:hover {
	color: var(--wp--preset--color--dark-gray);
	border-bottom: 1px solid var(--wp--preset--color--dark-gray);
}

/* ナビゲーションリンク（前後の記事） */
.wp-block-post-navigation-link a {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--gray);
}
.wp-block-post-navigation-link a:hover {
	color: var(--wp--preset--color--dark-gray);
}

/* モバイル調整 */
@media (max-width: 768px) {
	body {
		font-size: 0.95rem;
	}
}

/* ============================================================
   レスポンシブ対応（モバイル幅 768px 以下）
   各ページの DL/DT グリッド・Step リスト・2カラム columns を縦並びに
   ============================================================ */

/* TOC（目次） — モバイルで「View →」を控えめに */
@media (max-width: 600px) {
	.eio-fh-toc li {
		gap: 0.9rem !important;
	}
	.eio-fh-toc li > span:last-child {
		display: none;
	}
}

/* Store Info DL（About/Funeral/Lasting 共通） */
.eio-fh-store-info {
	margin: 0 auto;
}
@media (max-width: 768px) {
	.eio-fh-store-info {
		grid-template-columns: 1fr !important;
		row-gap: 0.2rem !important;
		column-gap: 0 !important;
	}
	.eio-fh-store-info dt {
		padding-top: 1.4rem !important;
		padding-bottom: 0.3rem !important;
	}
	.eio-fh-store-info dt:first-of-type {
		padding-top: 0 !important;
	}
	.eio-fh-store-info dd {
		padding-bottom: 0.4rem !important;
	}
}

/* ご注文の流れ Step リスト */
@media (max-width: 768px) {
	.eio-fh-steps li {
		grid-template-columns: 1fr !important;
		gap: 0.8rem !important;
	}
	.eio-fh-steps li > span:first-child {
		padding-top: 0 !important;
	}
}

/* 価格テーブル — モバイルでフォント縮小 */
@media (max-width: 600px) {
	.eio-fh-price th,
	.eio-fh-price td {
		padding: 0.9rem 0.5rem !important;
		font-size: 0.82rem !important;
		letter-spacing: 0.05em !important;
	}
	.eio-fh-price th {
		letter-spacing: 0.15em !important;
	}
}

/* 2カラム columns（Concept等）— flex-basis を上書きしてモバイル100%化 */
@media (max-width: 768px) {
	.wp-block-columns.are-vertically-aligned-center .wp-block-column[style*="flex-basis"] {
		flex-basis: 100% !important;
	}
}

/* セクション内のフルブリードCoverのminHeightをモバイルで調整 */
@media (max-width: 600px) {
	.wp-block-cover {
		min-height: 420px !important;
	}
	.wp-block-cover[style*="480px"],
	.wp-block-cover[style*="520px"] {
		min-height: 420px !important;
	}
}

/* 商品写真の左右余白（funeral） */
@media (max-width: 600px) {
	.wp-block-columns .wp-block-column figure img[style*="max-width:300px"],
	.wp-block-columns .wp-block-column figure img[style*="max-width:246px"] {
		max-width: 90% !important;
	}
}

/* 立て札画像（funeral） — モバイルで余白縮小 */
@media (max-width: 600px) {
	.wp-block-group[style*="padding-top:var(--wp--preset--spacing--50)"][style*="padding-left:var(--wp--preset--spacing--50)"] {
		padding-left: var(--wp--preset--spacing--30) !important;
		padding-right: var(--wp--preset--spacing--30) !important;
		padding-top: var(--wp--preset--spacing--40) !important;
		padding-bottom: var(--wp--preset--spacing--40) !important;
	}
}

/* ヒーローH1のフォントサイズをモバイルで詰める */
@media (max-width: 600px) {
	.wp-block-cover h1.wp-block-heading {
		letter-spacing: 0.15em !important;
		line-height: 1.7 !important;
	}
}

/* Notice/Tipsボックスのpaddingをモバイルで縮小 */
@media (max-width: 600px) {
	.wp-block-group[style*="border-color:#e7e5df"] {
		padding-left: var(--wp--preset--spacing--30) !important;
		padding-right: var(--wp--preset--spacing--30) !important;
	}
}

/* Servicesセクション 2カラム — モバイル1列 */
@media (max-width: 600px) {
	.wp-block-columns:not(.are-vertically-aligned-center) {
		gap: var(--wp--preset--spacing--40) !important;
	}
}

/* ============================================================
   Legal / Long Content（プライバシーポリシー・特商法など）
   post_content を larbre風タイポグラフィで表示
   ============================================================ */

.eio-fh-legal-content .wp-block-post-content > * {
	margin-bottom: 1.6em;
}

.eio-fh-legal-content h2 {
	font-family: var(--wp--preset--font-family--shippori-mincho) !important;
	font-size: clamp(1.05rem, 1.8vw, 1.25rem) !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	color: var(--wp--preset--color--dark-gray) !important;
	margin-top: 3em !important;
	margin-bottom: 1.4em !important;
	padding-bottom: 0.8em;
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
	line-height: 1.8 !important;
}

.eio-fh-legal-content h3 {
	font-family: var(--wp--preset--font-family--shippori-mincho) !important;
	font-size: clamp(1rem, 1.5vw, 1.1rem) !important;
	font-weight: 500 !important;
	letter-spacing: 0.15em !important;
	color: var(--wp--preset--color--dark-gray) !important;
	margin-top: 2.5em !important;
	margin-bottom: 1.2em !important;
}

.eio-fh-legal-content p {
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.95rem;
	letter-spacing: 0.08em;
	line-height: 2.2;
	color: var(--wp--preset--color--dark-gray);
}

.eio-fh-legal-content ol,
.eio-fh-legal-content ul {
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.93rem;
	letter-spacing: 0.06em;
	line-height: 2.1;
	color: var(--wp--preset--color--dark-gray);
	padding-left: 1.4em;
}
.eio-fh-legal-content ol li,
.eio-fh-legal-content ul li {
	margin-bottom: 0.6em;
}
.eio-fh-legal-content ol ul {
	margin-top: 0.6em;
	padding-left: 1.2em;
}

/* テーブル（特商法の事業者情報・送料表） */
.eio-fh-legal-content table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.92rem;
	letter-spacing: 0.06em;
	line-height: 1.9;
	color: var(--wp--preset--color--dark-gray);
	margin: 1.5em 0;
}
.eio-fh-legal-content table td,
.eio-fh-legal-content table th {
	padding: 1.1rem 1.2rem;
	border-bottom: 1px solid var(--wp--preset--color--light-gray);
	vertical-align: top;
}
.eio-fh-legal-content table tr td:first-child {
	background: var(--wp--preset--color--off-white);
	font-weight: 500;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--gray);
	font-size: 0.85rem;
	width: 30%;
	white-space: nowrap;
}
.eio-fh-legal-content table tr:first-child td {
	border-top: 1px solid var(--wp--preset--color--dark-gray);
}
.eio-fh-legal-content .wp-block-table figure,
.eio-fh-legal-content figure.wp-block-table {
	margin: 0;
}
.eio-fh-legal-content .is-style-stripes tr:nth-child(odd) td:not(:first-child) {
	background: transparent;
}

/* 強調・色テキスト調整（特商法のvivid-redをdark-grayに） */
.eio-fh-legal-content .has-vivid-red-color {
	color: var(--wp--preset--color--gray) !important;
}
.eio-fh-legal-content strong {
	font-weight: 500;
	color: var(--wp--preset--color--dark-gray);
}

/* モバイル: テーブルを縦並びに */
@media (max-width: 600px) {
	.eio-fh-legal-content table tr td:first-child {
		width: 100%;
		display: block;
		padding-bottom: 0.4rem;
		border-bottom: none;
	}
	.eio-fh-legal-content table tr td:not(:first-child) {
		display: block;
		padding-top: 0.4rem;
	}
}

/* ============================================================
   ヘッダー Instagram リンク
   ============================================================ */
.eio-fh-ig-link {
	text-decoration: none !important;
}
.eio-fh-ig-link:hover {
	opacity: 0.55;
	color: var(--wp--preset--color--dark-gray) !important;
}
.eio-fh-ig-link svg {
	display: block;
}
@media (max-width: 600px) {
	.eio-fh-ig-link svg {
		width: 20px;
		height: 20px;
	}
}

/* ============================================================
   Contact Form 7（larbre風カスタマイズ）
   旧テーマ用のdl/dt/dd構造を新テーマ用に整形
   ============================================================ */
.wpcf7 {
	font-family: var(--wp--preset--font-family--shippori-mincho);
}
.wpcf7 .form-list {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}
.wpcf7 .form-group {
	display: block;
	margin: 0 0 1.8rem;
}
.wpcf7 .form-label {
	display: block;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--dark-gray);
	margin: 0 0 0.6rem;
}
/* CF7はラベル内に <p> をラップするため inline 化して横並びに */
.wpcf7 .form-label > p {
	display: inline;
	margin: 0;
	padding: 0;
}
.wpcf7 .form-label.required > p::after,
.wpcf7 .form-label.required:not(:has(p))::after {
	content: "*";
	color: #b75050;
	margin-left: 0.4rem;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 0.95em;
	font-weight: 400;
}
.wpcf7 .form-content {
	display: block;
	margin: 0;
}
.wpcf7 .form-content > p {
	margin: 0;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--dark-gray);
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--light-gray);
	border-radius: 0;
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}
.wpcf7 textarea {
	min-height: 180px;
	line-height: 1.9;
	resize: vertical;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--dark-gray);
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: var(--wp--preset--color--gray);
	letter-spacing: 0.05em;
	opacity: 0.7;
}

/* acceptance（同意チェックボックス） */
.wpcf7 .wpcf7-acceptance {
	display: block;
	margin: 1.5rem 0;
}
.wpcf7 .wpcf7-list-item {
	margin: 0;
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
}
.wpcf7 .wpcf7-list-item-label {
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.88rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--dark-gray);
	line-height: 1.8;
}
.wpcf7 input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 0.25rem;
	accent-color: var(--wp--preset--color--dark-gray);
	cursor: pointer;
}

/* 送信ボタン */
.wpcf7 .button {
	text-align: center;
	margin-top: 2.5rem;
}
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
	display: inline-block;
	padding: 1.1rem 3.4rem;
	background: var(--wp--preset--color--dark-gray);
	color: var(--wp--preset--color--off-white);
	border: 1px solid var(--wp--preset--color--dark-gray);
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	cursor: pointer;
	border-radius: 0;
	transition: background 0.25s ease, color 0.25s ease;
	-webkit-appearance: none;
	appearance: none;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
	background: var(--wp--preset--color--off-white);
	color: var(--wp--preset--color--dark-gray);
}

/* バリデーション・送信結果メッセージ */
.wpcf7 .wpcf7-not-valid-tip {
	display: block;
	margin: 0.4rem 0 0;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.82rem;
	letter-spacing: 0.06em;
	color: #b75050;
}
.wpcf7 .wpcf7-response-output {
	margin: 1.5rem 0 0;
	padding: 1rem 1.2rem;
	border: 1px solid var(--wp--preset--color--light-gray);
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.9rem;
	letter-spacing: 0.06em;
	line-height: 1.9;
	color: var(--wp--preset--color--dark-gray);
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--wp--preset--color--dark-gray);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: #b75050;
	color: #b75050;
}

/* モバイル */
@media (max-width: 600px) {
	.wpcf7 input[type="text"],
	.wpcf7 input[type="email"],
	.wpcf7 input[type="tel"],
	.wpcf7 textarea {
		font-size: 1rem; /* iOS拡大防止16px以上 */
	}
	.wpcf7 input[type="submit"] {
		width: 100%;
		padding: 1rem 2rem;
	}
}

/* ============================================================
   ヘッダー Online Store ボタン
   ============================================================ */
.eio-fh-store-btn:hover {
	background: #faf9f6 !important;
	color: #3a3a38 !important;
}
@media (max-width: 768px) {
	.eio-fh-store-btn {
		font-size: 0.78rem !important;
		padding: 0.5rem 0.9rem !important;
		letter-spacing: 0.12em !important;
	}
}
@media (max-width: 600px) {
	.eio-fh-store-btn {
		padding: 0.45rem 0.75rem !important;
	}
	.eio-fh-store-btn svg {
		display: none;
	}
}

/* デスクトップは元のまま、モバイル時に右側要素を整理 */
@media (max-width: 600px) {
	/* Online Storeボタンはモバイル非表示（ハンバーガー内に表示） */
	.eio-fh-store-btn {
		display: none !important;
	}
	/* ロゴをやや小さく */
	header .wp-block-site-logo img {
		max-width: 140px !important;
		height: auto !important;
	}
	/* ヘッダーのpaddingを詰める */
	header.wp-block-group {
		padding-left: var(--wp--preset--spacing--30) !important;
		padding-right: var(--wp--preset--spacing--30) !important;
	}
	/* 右側のgap詰め */
	header .wp-block-group[style*="blockGap:1.6rem"] {
		gap: 0.8rem !important;
	}
}

/* デスクトップ navigation内のOnline Storeリンクを黒バッジ風に
   core nav の .wp-block-navigation-item__content.wp-block-navigation-item__content{color:inherit}（specificity 0,3,0,0）
   を確実に上回るため、__content クラスもセレクタに含めて span にも明示指定する */
.wp-block-navigation a.wp-block-navigation-item__content[href="https://hanamura.shopselect.net/"],
.wp-block-navigation a[href="https://hanamura.shopselect.net/"] {
	background-color: var(--wp--preset--color--dark-gray) !important;
	color: var(--wp--preset--color--off-white) !important;
	padding: 0.5rem 1rem !important;
	font-size: 0.82rem;
	letter-spacing: 0.18em;
	transition: background-color 0.25s ease, color 0.25s ease;
}
.wp-block-navigation a.wp-block-navigation-item__content[href="https://hanamura.shopselect.net/"] .wp-block-navigation-item__label,
.wp-block-navigation a[href="https://hanamura.shopselect.net/"] .wp-block-navigation-item__label {
	color: var(--wp--preset--color--off-white) !important;
}
.wp-block-navigation a.wp-block-navigation-item__content[href="https://hanamura.shopselect.net/"]:hover,
.wp-block-navigation a[href="https://hanamura.shopselect.net/"]:hover {
	background-color: var(--wp--preset--color--off-white) !important;
	color: var(--wp--preset--color--dark-gray) !important;
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--dark-gray);
}
.wp-block-navigation a.wp-block-navigation-item__content[href="https://hanamura.shopselect.net/"]:hover .wp-block-navigation-item__label,
.wp-block-navigation a[href="https://hanamura.shopselect.net/"]:hover .wp-block-navigation-item__label {
	color: var(--wp--preset--color--dark-gray) !important;
}

/* モバイル (768px以下) */
@media (max-width: 768px) {
	header .wp-block-site-logo a,
	header .wp-block-site-logo img.custom-logo {
		max-width: 130px !important;
		width: 130px !important;
		height: auto !important;
	}
	header.wp-block-group {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	/* navigation本体のフォント詰める */
	header nav.wp-block-navigation .wp-block-navigation-item__content {
		font-size: 0.78rem !important;
		letter-spacing: 0.05em !important;
		padding: 0.3rem 0.4rem !important;
	}
	/* navigation gap詰める */
	header nav.wp-block-navigation .wp-block-navigation__container {
		gap: 0.6rem !important;
	}
	header .wp-block-group.is-content-justification-right {
		gap: 0.7rem !important;
	}
	/* Online Storeバッジもモバイルサイズに */
	header .wp-block-navigation a[href="https://hanamura.shopselect.net/"] {
		padding: 0.35rem 0.6rem !important;
		font-size: 0.7rem !important;
		letter-spacing: 0.08em !important;
	}
}

/* ============================================================
   ヘッダー（デスクトップ）
   ============================================================ */

/* ヘッダー追尾（sticky） — テンプレートパート本体に適用
   z-index は ローディング(99999) / モバイルメニュー(9999) / ハンバーガー(9998) より低く、
   通常コンテンツより上に来る値に設定 */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}

.eio-fh-header {
	background: rgba(250, 249, 246, 0.92);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	backdrop-filter: saturate(160%) blur(10px);
	position: relative;
	z-index: 100;
	transition: box-shadow 0.25s ease, background-color 0.25s ease;
}
/* スクロール中の「浮き」表現 — sticky が機能している間は常に薄影。
   ブラウザがsticky非対応でも違和感が出ないよう、relative時にも適用OK */
.eio-fh-header {
	box-shadow: 0 1px 0 rgba(26, 26, 26, 0.04), 0 4px 14px rgba(26, 26, 26, 0.04);
}
.eio-fh-header .wp-block-site-logo {
	margin: 0 !important;
}
.eio-fh-header .wp-block-site-logo img {
	display: block;
	height: auto;
}
.eio-fh-desktop-nav {
	align-items: center;
	gap: 24px;
}
.eio-fh-desktop-nav .wp-block-navigation__container {
	gap: 28px !important;
}
.eio-fh-desktop-nav .wp-block-navigation a {
	color: #1a1a1a !important;
	text-decoration: none;
	letter-spacing: 0.18em;
	font-size: 0.92rem;
}
.eio-fh-desktop-nav .wp-block-navigation a:hover {
	opacity: 0.55;
}
.eio-fh-desktop-nav__ig {
	color: #1a1a1a;
	display: inline-flex;
	align-items: center;
	transition: opacity 0.2s ease;
}
.eio-fh-desktop-nav__ig:hover { opacity: 0.55; }

/* フッターのSNSアイコン */
.eio-fh-footer-sns {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 22px;
}
.eio-fh-footer-sns__icon {
	color: #1a1a1a;
	display: inline-flex;
	align-items: center;
	transition: opacity 0.2s ease;
}
.eio-fh-footer-sns__icon:hover { opacity: 0.55; }

/* ============================================================
   ハンバーガーボタン（モバイルのみ表示・body 直下に出力）
   ============================================================ */
.eio-fh-hamburger {
	display: none;
	position: fixed;
	top: 16px;
	right: 16px;
	z-index: 9998;
	width: 44px;
	height: 44px;
	background: rgba(255,255,255,0.92);
	border: 1px solid rgba(26,26,26,0.12);
	border-radius: 50%;
	cursor: pointer;
	padding: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.eio-fh-hamburger span {
	display: block;
	width: 20px;
	height: 1px;
	background: #1a1a1a;
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.eio-fh-hamburger[aria-expanded="true"] span:nth-child(1) {
	transform: translateY(3.5px) rotate(45deg);
}
.eio-fh-hamburger[aria-expanded="true"] span:nth-child(2) {
	transform: translateY(-3.5px) rotate(-45deg);
}

@media (max-width: 768px) {
	.eio-fh-hamburger {
		display: inline-flex !important;
	}
	/* モバイルでは右側のデスクトップナビ非表示 */
	.eio-fh-desktop-nav {
		display: none !important;
	}
	.eio-fh-header {
		padding-top: 18px !important;
		padding-bottom: 18px !important;
		padding-left: 20px !important;
		padding-right: 64px !important; /* ハンバーガー分のスペース */
	}
	.eio-fh-header .wp-block-site-logo img {
		max-width: 140px !important;
		width: auto;
	}
}

/* ============================================================
   モバイルメニューオーバーレイ
   ============================================================ */
.eio-fh-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: #1a1a1a;
	color: #faf9f6;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 32px;
	gap: 32px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}
.eio-fh-mobile-menu.is-open {
	opacity: 1;
	visibility: visible;
}
body.eio-fh-menu-open {
	overflow: hidden;
}
.eio-fh-mobile-menu__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
	background: transparent;
	border: 0;
	color: #faf9f6;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: opacity 0.2s ease;
}
.eio-fh-mobile-menu__close:hover { opacity: 0.7; }

.eio-fh-mobile-menu__brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.eio-fh-mobile-menu__title {
	font-family: 'Cormorant Garamond', 'Shippori Mincho B1', serif;
	font-weight: 300;
	font-size: 2.1rem;
	letter-spacing: 0.32em;
	padding-left: 0.32em;
	color: #faf9f6;
}
.eio-fh-mobile-menu__sub {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-weight: 300;
	font-size: 0.85rem;
	letter-spacing: 0.2em;
	color: rgba(250, 249, 246, 0.7);
}

.eio-fh-mobile-menu__nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
}
.eio-fh-mobile-menu__nav a {
	color: #faf9f6;
	text-decoration: none;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 300;
	font-size: 1.6rem;
	letter-spacing: 0.32em;
	padding-left: 0.32em;
	transition: opacity 0.2s ease;
}
.eio-fh-mobile-menu__nav a:hover { opacity: 0.6; }

.eio-fh-mobile-menu__icons {
	display: flex;
	gap: 18px;
	margin-top: 12px;
}
.eio-fh-mobile-menu__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(250,249,246,0.35);
	border-radius: 50%;
	color: #faf9f6;
	transition: background 0.2s ease, color 0.2s ease;
}
.eio-fh-mobile-menu__icon:hover {
	background: #faf9f6;
	color: #1a1a1a;
}

@media (prefers-reduced-motion: reduce) {
	.eio-fh-mobile-menu, .eio-fh-mobile-menu__icon {
		transition: opacity 0.2s ease !important;
	}
}

/* ============================================================
   共通コンポーネント
   ============================================================ */

/* View More 系の CTA テキストリンク（複数パターンで共通） */
.eio-fh-view-more {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 0.9rem;
	letter-spacing: 0.25em;
	text-align: center;
}
.eio-fh-view-more a {
	color: var(--wp--preset--color--dark-gray);
}

/* スマホ: 枠線＋十分なタップ領域でボタンと認識しやすく
   （詳細度を確保するため .wp-site-blocks .eio-fh-view-more 起点で書き、
   グローバルの a:where(...) 下線ルールも上書きする） */
@media (max-width: 600px) {
	.wp-site-blocks .eio-fh-view-more {
		margin-top: 0.8rem;
	}
	.wp-site-blocks .eio-fh-view-more a {
		display: inline-block;
		min-width: 220px;
		min-height: 48px;
		box-sizing: border-box;
		padding: 14px 28px;
		border: 1px solid var(--wp--preset--color--dark-gray);
		font-size: 0.95rem;
		letter-spacing: 0.22em;
		line-height: 1.4;
		color: var(--wp--preset--color--dark-gray);
		background-color: transparent;
		text-decoration: none !important;
		text-decoration-line: none !important;
		text-underline-offset: 0 !important;
		transition: background-color 0.2s ease, color 0.2s ease;
	}
	.wp-site-blocks .eio-fh-view-more a:hover,
	.wp-site-blocks .eio-fh-view-more a:active {
		background-color: var(--wp--preset--color--dark-gray);
		color: var(--wp--preset--color--off-white);
		text-decoration: none !important;
	}
}

/* スマホ: News View All（outlineボタン）もタップ領域とコントラストを強化 */
@media (max-width: 600px) {
	.wp-site-blocks .wp-block-button.is-style-outline .wp-block-button__link {
		min-height: 48px;
		padding: 14px 32px;
		font-size: 0.95rem;
		letter-spacing: 0.2em;
		border-width: 1px;
	}
}

/* ページヒーロー（about/funeral/lasting/contact/news/business-law/privacy-policy 共通）
   Cover ブロックに併用する補助クラス。実体のスタイル（dimRatio/minHeight/padding 等）は
   ブロック側のインライン属性で出力されるが、補助レイアウト調整はここで行う */
.eio-fh-page-hero {
	/* スマホ調整は下部の v2 セクションを参照 */
}
.eio-fh-page-hero .eio-fh-page-hero__label {
	font-family: var(--wp--preset--font-family--cormorant);
	font-weight: 300;
	letter-spacing: 0.5em;
	color: var(--wp--preset--color--white);
	text-align: center;
}
.eio-fh-page-hero .eio-fh-page-hero__title {
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.9;
	color: var(--wp--preset--color--white);
	text-align: center;
}

/* Contact ページのお問い合わせメソッドカード（METHOD 01/02/03 共通） */
.eio-fh-contact-card {
	border: 1px solid var(--wp--preset--color--light-gray);
	padding: 2.4rem 2rem;
	text-align: center;
	background: #ffffff;
}
.eio-fh-contact-card__label {
	margin: 0 0 0.4rem;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: 0.78rem;
	letter-spacing: 0.45em;
	color: var(--wp--preset--color--gray);
}
.eio-fh-contact-card__title {
	margin: 0 0 1.8rem;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: clamp(1.1rem, 1.8vw, 1.25rem);
	font-weight: 500;
	letter-spacing: 0.22em;
	color: var(--wp--preset--color--dark-gray);
}
.eio-fh-contact-card__primary {
	margin: 0;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--dark-gray);
	font-weight: 300;
	line-height: 1.2;
}
.eio-fh-contact-card__primary--lg { font-size: clamp(1.6rem, 4vw, 2.2rem); }
.eio-fh-contact-card__primary--md { font-size: clamp(1.6rem, 4vw, 2.2rem); }
.eio-fh-contact-card__primary a { color: inherit; text-decoration: none; }
/* 電話番号(METHOD01・--lg)はリンク視認性ルールの下線を無効化＝下線なし */
.eio-fh-contact-card__primary--lg a { text-decoration: none !important; }
.eio-fh-contact-card__note {
	margin: 1.4rem 0 0;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.9rem;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--dark-gray);
	line-height: 2;
}
.eio-fh-contact-card__sub {
	margin: 1.6rem 0 0;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.88rem;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--dark-gray);
	line-height: 1.9;
}
.eio-fh-contact-card__download {
	display: inline-block;
	padding: 0.95rem 1.8rem;
	margin-top: 1.2rem;
	background: var(--wp--preset--color--dark-gray);
	color: #ffffff !important;
	text-decoration: none !important;
	font-family: var(--wp--preset--font-family--shippori-mincho);
	font-size: 0.88rem;
	letter-spacing: 0.18em;
	transition: opacity 0.2s ease;
}
.eio-fh-contact-card__download:hover { opacity: 0.75; }

/* Contact カード 3つのレスポンシブグリッド */
.eio-fh-cta-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.2rem;
}
@media (min-width: 768px) {
	.eio-fh-cta-grid {
		grid-template-columns: 1fr 1fr;
	}
	.eio-fh-cta-grid > .eio-fh-contact-card:nth-child(3) {
		grid-column: 1 / -1;
	}
}

/* ============================================================
   Instagram フィード（トップページ）
   PC6列 / SP3列の正方形サムネイル
   ============================================================ */
.eio-fh-instagram__grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 0.5rem;
}
.eio-fh-instagram__item {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f3f2ee;
}
.eio-fh-instagram__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.4s ease, transform 0.6s ease;
}
.eio-fh-instagram__item:hover img {
	opacity: 0.82;
	transform: scale(1.04);
}
@media (max-width: 600px) {
	.eio-fh-instagram__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 0.35rem;
	}
}

/* ============================================================
   トップページのヘッダー高さ揃え
   ------------------------------------------------------------
   front-page には #eio-fh-loading が wp-site-blocks の first-child
   として出力され、header が 2 番目要素になる結果、
   グローバルスタイル :where(.wp-site-blocks) > * { margin-block-start: var(--wp--preset--spacing--40) }
   が header に適用されてしまい、他ページ（header が first-child）と
   ヘッダー高さに差が出る。loading 要素自体は position: fixed のため
   フローからの除外を CSS 強制し、header/main の margin-block-start も 0 に。
   ============================================================ */
.eio-fh-loading {
	margin: 0 !important;
}
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > main {
	margin-block-start: 0 !important;
}

/* ============================================================
   テキストリンクの視認性 — 本文中のリンクには下線を付ける
   （ナビ・ボタン・ロゴ・画像リンクは除外）
   ============================================================ */
.wp-site-blocks a:where(:not(.wp-element-button):not(.wp-block-navigation-item__content):not(.eio-fh-desktop-nav__ig):not(.eio-fh-mobile-menu__icon):not(.eio-fh-footer-sns__icon):not(.eio-fh-mobile-menu__nav a):not(.wp-block-site-logo a)) {
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(58, 58, 56, 0.45);
	transition: text-decoration-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.wp-site-blocks a:where(:not(.wp-element-button):not(.wp-block-navigation-item__content):not(.eio-fh-desktop-nav__ig):not(.eio-fh-mobile-menu__icon):not(.eio-fh-footer-sns__icon):not(.eio-fh-mobile-menu__nav a):not(.wp-block-site-logo a)):hover {
	text-decoration-color: var(--wp--preset--color--dark-gray);
}

/* 画像をラップする <a>（figure 内・post-featured-image・loadingロゴ等）は下線除外 */
.wp-site-blocks figure a,
.wp-site-blocks .wp-block-post-featured-image a,
.wp-site-blocks .wp-block-image a,
.wp-site-blocks .wp-block-cover a:not(.wp-element-button):where(.wp-block-cover__image-background, .wp-block-cover__background) {
	text-decoration: none !important;
}

/* 投稿タイトルリンク（News一覧・関連リンク）は下線控えめ・hoverで強調 */
.wp-block-post-title a {
	text-decoration: none !important;
}
.wp-block-post-title a:hover {
	text-decoration: underline !important;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}

/* Cover内（暗背景）のテキストリンク（hanamura.shopselect.net 等）は明色下線 */
.wp-block-cover .wp-block-cover__inner-container a:where(:not(.wp-element-button)) {
	text-decoration-color: rgba(255, 255, 255, 0.5);
}
.wp-block-cover .wp-block-cover__inner-container a:where(:not(.wp-element-button)):hover {
	text-decoration-color: #ffffff;
}

/* Footer ナビゲーション — 下線なし（自然な並びリンクのため） */
footer.wp-block-group .wp-block-navigation a,
footer.wp-block-group .wp-block-navigation-item__content {
	text-decoration: none !important;
}
footer.wp-block-group .wp-block-navigation a:hover,
footer.wp-block-group .wp-block-navigation-item__content:hover {
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

/* フッターナビ — ハンバーガーオーバーレイを常に無効化、横並びを強制 */
footer.wp-block-group .wp-block-navigation__responsive-container-open,
footer.wp-block-group .wp-block-navigation__responsive-container-close {
	display: none !important;
}
footer.wp-block-group .wp-block-navigation__responsive-container {
	display: block !important;
	position: static !important;
	background-color: transparent !important;
	color: inherit !important;
	padding: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}
footer.wp-block-group .wp-block-navigation__container {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	background: transparent !important;
}
footer.wp-block-group .wp-block-navigation .wp-block-navigation-item {
	display: inline-flex !important;
}
@media (max-width: 600px) {
	footer.wp-block-group .wp-block-navigation__container {
		justify-content: center !important;
		gap: 1rem 1.2rem !important;
	}
	footer.wp-block-group .wp-block-navigation-item__content {
		font-size: 0.82rem !important;
		letter-spacing: 0.06em !important;
	}
}

/* ============================================================
   レスポンシブ調整 v2 — スマホ全体最適化
   ============================================================ */

/* ----- PC装飾用 <br> をスマホで非表示（テキストを自然な流れに） ----- */
@media (max-width: 600px) {
	br.eio-fh-br-pc {
		display: none;
	}
}

/* ----- セクション全体の上下paddingをスマホで詰める ----- */
@media (max-width: 600px) {
	section.wp-block-group[style*="padding-top:var(--wp--preset--spacing--70)"],
	section.wp-block-group[style*="padding-bottom:var(--wp--preset--spacing--70)"] {
		padding-top: var(--wp--preset--spacing--50) !important;
		padding-bottom: var(--wp--preset--spacing--50) !important;
	}
	/* front-page News セクション (spacing|60) */
	main > .wp-block-group[style*="padding-top:var(--wp--preset--spacing--60)"][style*="padding-bottom:var(--wp--preset--spacing--60)"] {
		padding-top: var(--wp--preset--spacing--50) !important;
		padding-bottom: var(--wp--preset--spacing--50) !important;
	}
}

/* ----- 見出しのletter-spacingをスマホで詰める（折返し回避） ----- */
@media (max-width: 600px) {
	/* 中央寄せの英字見出し (Cormorant系) のletter-spacingを縮小 */
	h2.has-text-align-center[style*="letter-spacing:0.3em"],
	h2.has-text-align-center[style*="letter-spacing:0.2em"],
	h2.has-text-align-center[style*="letter-spacing:0.35em"] {
		letter-spacing: 0.18em !important;
	}
	h3.has-text-align-center[style*="letter-spacing:0.3em"] {
		letter-spacing: 0.18em !important;
	}
	h4.wp-block-heading[style*="letter-spacing:0.18em"],
	h4.wp-block-heading[style*="letter-spacing:0.16em"] {
		letter-spacing: 0.1em !important;
	}
	/* h1/h2のline-heightをスマホで詰める */
	h1.wp-block-heading[style*="line-height:1.9"],
	h2.wp-block-heading[style*="line-height:1.9"] {
		line-height: 1.6 !important;
	}
	h3.wp-block-heading[style*="line-height:1.9"] {
		line-height: 1.7 !important;
	}
	/* h1.heading のフォントサイズを下限調整 */
	.wp-block-cover h1.wp-block-heading[style*="clamp(1.5rem"] {
		font-size: clamp(1.35rem, 5.5vw, 2.2rem) !important;
	}
}

/* ----- 段落 letter-spacing/line-heightをスマホで調整 ----- */
@media (max-width: 600px) {
	/* 装飾的に letter-spacing が大きい本文段落を緩める */
	p[style*="letter-spacing:0.18em"][style*="line-height:2.2"] {
		letter-spacing: 0.1em !important;
		line-height: 2 !important;
	}
	p[style*="letter-spacing:0.12em"][style*="line-height:2.3"] {
		letter-spacing: 0.08em !important;
		line-height: 2 !important;
	}
	p[style*="line-height:2.4"] {
		line-height: 2.05 !important;
	}
	p[style*="line-height:2.3"]:not([style*="letter-spacing:0.12em"]) {
		line-height: 2 !important;
	}
}

/* ----- ヒーロー（hero.php）— min-height をスマホで短く ----- */
@media (max-width: 600px) {
	.wp-block-cover.alignfull[style*="min-height:75vh"] {
		min-height: 62vh !important;
	}
	.wp-block-cover.alignfull[style*="min-height:75vh"] img.wp-block-cover__image-background {
		object-position: center center;
	}
	/* hero ロゴをやや小さく */
	.eio-fh-hero-logo img {
		width: min(280px, 70vw) !important;
	}
}

/* ----- ページヒーロー（about/funeral/lasting/contact等のcover）minHeight調整 ----- */
@media (max-width: 600px) {
	.wp-block-cover.alignfull[style*="min-height:480px"],
	.wp-block-cover.alignfull[style*="min-height:520px"],
	.wp-block-cover.alignfull[style*="min-height:460px"],
	.wp-block-cover.alignfull[style*="min-height: 460px"],
	.wp-block-cover[style*="min-height:480px"],
	.wp-block-cover[style*="min-height:520px"],
	.wp-block-cover[style*="min-height:460px"],
	.wp-block-cover[style*="min-height: 460px"] {
		min-height: 360px !important;
	}
	/* online-store の Cover 440px もスマホで短縮 */
	.wp-block-cover.alignfull[style*="min-height:440px"] {
		min-height: 350px !important;
	}
}

/* ----- Concept / About の縦長画像をスマホでは横長気味に ----- */
@media (max-width: 768px) {
	.eio-fh-concept-image img,
	section .wp-block-columns .wp-block-column figure img[style*="aspect-ratio:3/4"],
	section .wp-block-columns .wp-block-column figure img[style*="aspect-ratio: 3/4"] {
		aspect-ratio: 4/5 !important;
	}
}
@media (max-width: 600px) {
	.eio-fh-concept-image img,
	section .wp-block-columns .wp-block-column figure img[style*="aspect-ratio:3/4"],
	section .wp-block-columns .wp-block-column figure img[style*="aspect-ratio: 3/4"] {
		aspect-ratio: 5/4 !important;
		max-height: 56vh;
		object-fit: cover;
	}
}

/* ----- Services/Contents 2-3カラム columns のスマホ詰め ----- */
@media (max-width: 768px) {
	/* 2-3カラムのblockGapを縦並び時に詰める */
	main > section.wp-block-group .wp-block-columns:not(.are-vertically-aligned-center) {
		gap: var(--wp--preset--spacing--40) !important;
	}
}
@media (max-width: 600px) {
	/* services/contents の各カード末尾と次カードの距離を確保 */
	main > section.wp-block-group .wp-block-columns:not(.are-vertically-aligned-center) > .wp-block-column + .wp-block-column {
		margin-top: var(--wp--preset--spacing--40);
	}
	/* services/contents 画像 aspect-ratio をスマホで横長気味に */
	main > section.wp-block-group .wp-block-columns .wp-block-column figure img[style*="aspect-ratio:4/3"] {
		aspect-ratio: 16/10 !important;
	}
	main > section.wp-block-group .wp-block-columns .wp-block-column figure img[style*="aspect-ratio:5/3"] {
		aspect-ratio: 16/10 !important;
		object-position: center center !important;
	}
}

/* ----- access 2カラム — Googleマップ aspect-ratio スマホ調整 ----- */
@media (max-width: 768px) {
	section.wp-block-group .wp-block-columns.are-vertically-aligned-top .wp-block-column[style*="flex-basis"] {
		flex-basis: 100% !important;
	}
}
@media (max-width: 600px) {
	/* マップ縦比を控えめに（4/3→16/10） */
	section.wp-block-group .wp-block-columns iframe + p,
	section.wp-block-group .wp-block-columns div[style*="aspect-ratio:4/3"] {
		aspect-ratio: 16/11 !important;
	}
	/* マップ + テキストの上下マージンを詰める */
	section.wp-block-group .wp-block-columns.are-vertically-aligned-top {
		gap: var(--wp--preset--spacing--40) !important;
	}
}

/* ----- Footer サイトロゴ＋ナビをスマホで縦並びに ----- */
@media (max-width: 600px) {
	footer.wp-block-group > .wp-block-group {
		flex-direction: column !important;
		align-items: center !important;
		gap: var(--wp--preset--spacing--40) !important;
	}
	footer.wp-block-group .wp-block-navigation {
		justify-content: center !important;
	}
	footer.wp-block-group .wp-block-navigation__container {
		justify-content: center !important;
		gap: 1rem !important;
	}
	footer.wp-block-group .wp-block-site-logo img {
		max-width: 110px !important;
		height: auto;
	}
	footer.wp-block-group {
		padding-left: var(--wp--preset--spacing--40) !important;
		padding-right: var(--wp--preset--spacing--40) !important;
		padding-top: var(--wp--preset--spacing--50) !important;
		padding-bottom: var(--wp--preset--spacing--30) !important;
	}
}

/* ----- News リスト (front-page) — 日付＋タイトル横並びをスマホで縦に ----- */
@media (max-width: 600px) {
	main > .wp-block-group .wp-block-query .wp-block-group[style*="border-bottom-color:#e7e5df"] {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.3rem !important;
	}
	main > .wp-block-group .wp-block-query .wp-block-post-date {
		margin: 0 !important;
	}
	main > .wp-block-group .wp-block-query .wp-block-post-title {
		margin: 0 !important;
		font-size: 0.95rem !important;
		line-height: 1.7 !important;
	}
}

/* ----- contact フォーム周辺パディング ----- */
@media (max-width: 600px) {
	.wpcf7 {
		padding-left: 0;
		padding-right: 0;
	}
	.wpcf7 .form-group {
		margin-bottom: 1.4rem;
	}
	.wpcf7 .form-label {
		font-size: 0.85rem;
		margin-bottom: 0.5rem;
	}
}

/* ----- Cover の inner-container 横はみ出し抑制（スマホ） ----- */
@media (max-width: 600px) {
	.wp-block-cover__inner-container {
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	/* online-store CTAボタン padding を詰める */
	.wp-block-cover .wp-block-buttons .wp-block-button__link {
		padding-left: 1.6rem !important;
		padding-right: 1.6rem !important;
		font-size: 0.88rem !important;
		letter-spacing: 0.15em !important;
	}
}

/* ----- 見出しブロックの上下マージンをスマホで縮小 ----- */
@media (max-width: 600px) {
	.wp-block-spacer[style*="--wp--preset--spacing--60"] {
		height: var(--wp--preset--spacing--50) !important;
	}
	.wp-block-spacer[style*="--wp--preset--spacing--70"] {
		height: var(--wp--preset--spacing--60) !important;
	}
}

/* ============================================================
   安定クラスベースのレイアウト規則（v3）
   inline style 属性マッチに依存しない、テンプレート側で
   付与した安定クラスを基準にしたルール。
   既存の [style*=...] セレクタは後方互換のため温存。
   ============================================================ */

/* lasting セクションの大画像（5/2 横長） */
.eio-fh-section-img {
	max-width: 880px;
	width: 100%;
	aspect-ratio: 5 / 2;
	object-fit: cover;
	object-position: left center;
	display: inline-block;
}
@media (max-width: 600px) {
	.eio-fh-section-img {
		aspect-ratio: 16 / 10 !important;
		object-position: center center !important;
	}
}

/* funeral 商品画像（縦長・横長） */
.eio-fh-product-img {
	max-width: 300px;
	width: 100%;
	height: auto;
	display: inline-block;
}
@media (max-width: 600px) {
	.eio-fh-product-img {
		max-width: 90% !important;
	}
}

/* funeral 立て札サンプル */
.eio-fh-sonae-img {
	max-width: 668px;
	width: 100%;
	height: auto;
	display: inline-block;
}

/* ページヒーロー（about/funeral/lasting/contact/news/business-law/privacy-policy 共通） */
.eio-fh-page-hero {
	/* min-height はブロックの style 属性で確定 — クラスはモバイル調整の安定アンカー */
}
@media (max-width: 600px) {
	/* min-height inline指定（460/480/520px等）に依存していた縮小処理を、クラスで確実に効かせる */
	.wp-block-cover.eio-fh-page-hero {
		min-height: 360px !important;
	}
}

