
		html {
			scroll-behavior: smooth;
		}

		/* アンカーリンク：固定ヘッダー分のオフセット */
		/* PC：header__inner(約67px) + gnav(66px) = 133px + 余白20px */
		[id] {
			scroll-margin-top: 160px;
		}
		@media screen and (max-width: 767px) {
			/* SP：header__inner(約56px) + header__links(約56px) + 余白20px */
			[id] {
				scroll-margin-top: 130px;
			}
		}


		/* ========== ページMV ========== */
		.page-mv {
			text-align: center;
			padding: 4rem 0 3rem;
			background: url('/assets/img/common/page-mv-bg.jpg') center / cover no-repeat;
		}
		.page-mv__title {
			font-size: 2.375rem;
			font-weight: 700;
			line-height: 1.4;
		}
		.page-mv__subtitle {
			font-size: 1.25rem;
			font-weight: 700;
			margin-top: 0.75rem;
		}
		


		/* ========== ページ内タブ ========== */
		.page-tab {
			border-bottom: 1px solid #ddd;
		}
		.page-tab__inner {
			max-width: 860px;
			margin: 0 auto;
			padding: 0 25px;
		}
		.page-tab__items {
			display: flex;
			height: 60px;
		}
		.page-tab__item {
			flex: 1;
		}
		.page-tab__item a {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 100%;
			font-size: 1.25rem;
			font-weight: 700;
			border-bottom: 3px solid transparent;
			margin-bottom: -1px;
		}
		.page-tab__item.current a {
			color: #1C2086;
			border-bottom-color: #1C2086;
		}
		.page-tab__item a:hover { color: #1C2086; }
		


		/* ========== リード本文 ========== */
		/* ========== セクション背景 ========== */
		.bg-white { background: #fff; }
		.bg-light { background: #F0FAFF; }

		/* ========== title → コンテンツ間のスペース ========== */
		/* leadがない場合：コンテンツ要素にmargin-top */
		.company-table,
		.member-price-card,
		.service-feature__grid,
		.trust-grid,
		.access-section__block {
			margin-top: 60px;
			margin-top: 3.75rem;
		}
		@media screen and (max-width: 767px) {
			.company-table,
			.member-price-card,
			.service-feature__grid,
			.trust-grid,
			.access-section__block {
				margin-top: 1.25rem;
			}
		}

		/* lead → コンテンツ間 */
		.reason-nav,
		.hall-section__card,
		.p-plan-card,
		.document-section__sub-lead,
		.voice-section__cards,
		.procedure-section__sublead,
		.consult-method__grid,
		.member-benefit__highlight,
		.heartline-card,
		.kyosai-plan__card {
			margin-top: 40px;
			margin-top: 2.5rem;
		}
		@media screen and (max-width: 767px) {
			.reason-nav,
			.hall-section__card,
			.p-plan-card,
			.document-section__sub-lead,
			.voice-section__cards,
			.procedure-section__sublead,
			.consult-method__grid,
			.member-benefit__highlight,
			.heartline-card,
			.kyosai-plan__card {
				margin-top: 1.25rem;
			}
		}

		.page-intro {
			padding: 2.5rem 0;
			text-align: center;
		}
		.page-intro__text {
			font-size: 1.25rem;
			font-weight: 500;
			line-height: 2.2;
			color: #333;
		}

		/* ========== お悩み別ガイド ========== */
		.worry-guide { padding: 1rem 0 3rem; }
		.worry-guide__box {
			background: #fff;
			border: 10px solid #F0FAFF;
			border-radius: 0.75rem;
			padding: 2.25rem 2.5rem 2.75rem;
		}
		.worry-guide__title {
			text-align: center;
			font-size: 1.75rem;
			font-weight: 700;
			color: #29abe2;
			margin-bottom: 2rem;
		}
		.worry-guide__items {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 1rem;
			align-items: stretch;
		}
		.worry-guide__item {
			display: flex;
		}
		.worry-guide__item a {
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			width: 100%;
			height: auto;
			min-height: 4.25rem;
			background: #F5F5F5;
			border-radius: 0.5rem;
			font-weight: 700;
			font-size: 1.5rem;
			transition: background 0.2s, color 0.2s;
		}
		.worry-guide__item a:hover { background: #1C2086; color: #fff; }
		


		/* ========== 目次 ========== */
		.toc {
			background: #F0FAFF;
			border-radius: 0.75rem;
			padding: 2rem 2.5rem 2.5rem;
			margin: 2.5rem 0;
		}
		.toc__title {
			font-size: 1.5rem;
			font-weight: 700;
			color: #29abe2;
			padding-bottom: 0.75rem;
			border-bottom: 2px solid #29abe2;
			margin-bottom: 1.5rem;
		}
		.toc__items {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 1rem;
		}
		.toc__item {
			background: #fff;
			border-radius: 0.5rem;
			overflow: hidden;
		}
		.toc__item-number {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2.75rem;
			height: 2.75rem;
			border-radius: 50%;
			background: #F0FAFF;
			font-size: 1.625rem;
			font-weight: 700;
			color: #00A0E9;
			flex-shrink: 0;
		}
		.toc__item a {
			display: flex;
			align-items: center;
			gap: 1.25rem;
			width: 100%;
			padding: 1.375rem 1.75rem;
			color: #000;
			text-decoration: none;
			font-size: 1.25rem;
			font-weight: 500;
			transition: background 0.2s, color 0.2s;
		}
		.toc__item a:hover { opacity: 0.7; color: #1C2086; }
		


		/* ========== 事前相談バナー ========== */
		.consult-banner {
			display: flex;
			align-items: center;
			gap: 2.5rem;
			background: #f5f5f5;
			border-radius: 0.75rem;
			padding: 2.5rem 3rem;
			margin: 2.5rem 0 0;
		}
		.consult-banner__img {
			flex-shrink: 0;
			width: 18.75rem;
			height: 17.1875rem;
			border-radius: 0.5rem;
			overflow: hidden;
		}
		.consult-banner__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.consult-banner__body { flex: 1; max-width: 39.9375rem; }
		.consult-banner__title {
			font-size: 2.375rem;
			font-weight: 700;
			margin-bottom: 1rem;
		}
		.consult-banner__text {
			font-size: 1.125rem;
			font-weight: 500;
			line-height: 2;
			color: #333;
			margin-bottom: 1.5rem;
		}
		.consult-banner__btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			background: #CB4F4A;
			color: #fff;
			font-weight: 700;
			font-size: 1.5rem;
			width: 20.75rem;
			height: 4.6875rem;
			border-radius: 0.375rem;
			transition: opacity 0.2s;
		}
		.consult-banner__btn::after { content: " ›"; }
		.consult-banner__btn:hover { opacity: 0.85; }
		


		/* ========== ステップセクション ========== */
		.step-section {
			padding: 3rem 0;
		}
		.step-section__inner {
			background: #fff;
			border-radius: 0.75rem;
			padding: 2.5rem 3rem;
			margin-bottom: 1.5rem;
		}
		.step-section__header {
			padding-bottom: 1rem;
			border-bottom: 2px solid #29abe2;
			margin-bottom: 1.75rem;
		}
		.step-section__label {
			font-size: 1.75rem;
			font-weight: 700;
			color: #29abe2;
			display: block;
		}
		.step-section__title {
			font-size: 1.75rem;
			font-weight: 700;
			color: #29abe2;
		}
		/* 画像＋テキストの横並びレイアウト */
		.step-section__body {
			display: flex;
			flex-direction: column;
			gap: 1.5rem;
		}
		.step-section__text-img {
			display: flex;
			gap: 2.5rem;
			align-items: flex-start;
		}
		.step-section__texts {
			flex: 1;
			min-width: 0;
		}
		.step-section__img {
			flex-shrink: 0;
			width: 17.5rem;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.step-section__img img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
			aspect-ratio: 4 / 3;
		}
		.step-section__text {
			font-size: 1.125rem;
			line-height: 2;
			color: #444;
			margin-bottom: 1.75rem;
		}
		.step-section__point {
			background: #f5f5f5;
			border-radius: 0.5rem;
			padding: 1.375rem 1.75rem;
		}
		.step-section__point-title {
			font-size: 1.25rem;
			font-weight: 700;
			color: #e07b39;
			margin-bottom: 0.75rem;
		}
		.step-section__point-items { }
		.step-section__point-item {
			position: relative;
			padding-left: 1rem;
			font-size: 1.125rem;
			font-weight: 700;
			line-height: 1.9;
			color: #333;
		}
		.step-section__point-item::before {
			content: "・";
			position: absolute;
			left: 0;
			color: #333;
		}

		/* ========== 資料請求セクション ========== */
		.document-section .title { margin-bottom: 0.5rem; }
		.document-section .lead { margin-bottom: 1.25rem; }
		.document-section__sub-lead {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 1.5rem;
			text-align: center;
			color: #1C2086;
			font-weight: 700;
			font-size: 1.25rem;
			margin-bottom: 2.5rem;
			line-height: 1.9;
		}
		.document-section__sub-lead::before,
		.document-section__sub-lead::after {
			content: "";
			flex: 1;
			height: 2px;
			background: #1C2087;
		}
		.document-cards {
			display: grid;
			grid-template-columns: repeat(3, 22.25rem);
			justify-content: center;
			gap: 1.5rem;
			margin-bottom: 2.5rem;
		}
		.document-card {
			background: #fff;
			border-radius: 0.75rem;
			overflow: hidden;
			border: 1px solid #e0e0e0;
			height: 22.9375rem;
			padding: 1rem 1rem 0;
			display: flex;
			flex-direction: column;
		}
		.document-card__img {
			width: 100%;
			flex: 1;
			background: #ece8f5;
			overflow: hidden;
			border-radius: 0.375rem;
		}
		.document-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.document-card__body { padding: 1rem 0.5rem 1.25rem; text-align: center; }
		.document-card__title { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.75rem; color: #1C2087; }
		.document-card__text { font-size: 1.125rem; color: #444; line-height: 1.8; text-align: left; }
		.btn-center { text-align: center; margin-top: 2.5rem; }
		.btn-center--left { text-align: left; margin-top: 1.5rem; }
		.btn-center .btn {
			margin: 0 auto;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: auto;
			min-width: 20.75rem;
			height: 4.6875rem;
			font-size: 1.5rem;
			background: #1C2087;
			border-radius: 0.375rem;
			padding: 0 3rem;
			white-space: nowrap;
		}
		


		/* ========== お客様の声 ========== */
		.voice-section .lead { margin-bottom: 2.5rem; }
		.voice-section__cards {
			display: grid;
			grid-template-columns: repeat(3, 21.25rem);
			justify-content: center;
			gap: 1.5rem;
			margin-bottom: 2.5rem;
		}
		.voice-section__card {
			background: #FBF9F6;
			border-radius: 0.75rem;
			overflow: hidden;
			border: 1px solid #e0e0e0;
			height: 35.4375rem;
			padding: 1rem 1rem 0;
			display: flex;
			flex-direction: column;
		}
		.voice-section__card-img {
			width: 18.75rem;
			height: 12.5rem;
			background: #dce8f5;
			overflow: hidden;
			border-radius: 0.375rem;
			flex-shrink: 0;
		}
		.voice-section__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.voice-section__card-body { padding: 1rem 0.25rem 1.25rem; flex: 1; }
		.voice-section__card-tag {
			display: inline-flex;
			align-items: center;
			font-size: 1rem;
			font-weight: 700;
			padding: 0 0.75rem;
			height: 1.75rem;
			border-radius: 2rem;
			color: #fff;
			background: #2988B2;
			margin-bottom: 0.5rem;
		}
		.voice-section__card-tag.green { background: #2988B2; }
		.voice-section__card-tag.orange { background: #2988B2; }
		.voice-section__card-sub {
			font-size: 1rem;
			color: #989898;
			margin-bottom: 0.5rem;
		}
		.voice-section__card-title { font-size: 1.25rem; font-weight: 700; color: #E5700C; margin-bottom: 0.75rem; }
		.voice-section__card-text { font-size: 1.125rem; line-height: 1.9; color: #333; margin-bottom: 0.75rem; }
		.voice-section__card-date { font-size: 0.875rem; color: #bbb; }



		/* ========== 会館一覧バナー ========== */
		.hall-banner__box {
			position: relative;
			border-radius: 1.25rem;
			overflow: hidden;
			height: 40.75rem;
			max-width: 1100px;
			margin: 0 auto;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			text-align: center;
			padding: 2.5rem 2rem;
		}
		.hall-banner__bg {
			position: absolute;
			inset: 0;
			background: url('/assets/img/common/hall-banner-bg.jpg') center/cover no-repeat;
			z-index: 0;
		}
		.hall-banner__bg::after {
			content: "";
			position: absolute;
			inset: 0;
			background: rgba(255,255,255,0.45);
		}
		.hall-banner__content {
			position: relative;
			z-index: 1;
			width: 100%;
		}
		.hall-banner__title {
			font-size: 1.875rem;
			font-weight: 700;
			color: #222;
			margin-bottom: 2rem;
		}
		.hall-banner__badges {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 2rem;
			margin-bottom: 2rem;
			flex-wrap: wrap;
		}
		.hall-banner__badge {
			width: 10rem; height: 10rem;
			border-radius: 50%;
			display: flex; flex-direction: column;
			align-items: center; justify-content: center;
			font-weight: 700; font-size: 1rem;
			text-align: center; line-height: 1.6;
			color: #6b3a1f;
			padding: 0.75rem;
		}
		.hall-banner__badge.yellow { background: rgba(240, 210, 180, 0.7); }
		.hall-banner__badge.teal   { background: rgba(200, 210, 160, 0.75); border: 2px solid rgba(160,175,100,0.5); }
		.hall-banner__badge.pink   { background: rgba(240, 210, 200, 0.6); }
		.hall-banner__badge .num {
			font-size: 1.75rem;
			line-height: 1.2;
			display: block;
			color: #6b3a1f;
		}
		.hall-banner__sub {
			font-size: 1.0625rem;
			color: #444;
			margin-bottom: 1.75rem;
		}
		.hall-banner .btn { margin: 0 auto; }
		


		/* ========== プランカード ========== */
		.plan-section .lead { margin-bottom: 2rem; }
		.p-plan-card {
			background: #fff;
			border: 10px solid #F6E3CB;
			border-radius: 1rem;
			padding: 1.75rem 2rem;
			display: flex;
			gap: 2rem;
			align-items: flex-start;
			margin-bottom: 2rem;
		}
		.p-plan-card__img {
			flex-shrink: 0;
			width: 29.3125rem;
			height: 16.5625rem;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.p-plan-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.p-plan-card__body { flex: 1; }
		.p-plan-card__label { font-size: 1.25rem; color: #000000; margin-bottom: 0.25rem; }
		.p-plan-card__title { font-size: 2.375rem; font-weight: 700; color: #E5700C; margin-bottom: 1.5rem; text-align: left; }
		.p-plan-card__price-wrap {
			display: flex;
			align-items: flex-end;
			gap: 1.25rem;
			margin-bottom: 1.25rem;
		}
		.p-plan-card__price { font-family: 'Akshar', sans-serif; font-size: 5.5rem; font-weight: 600; color: #e74c3c; line-height: 1; }
		.p-plan-card__price-unit { font-family: 'Akshar', sans-serif; font-size: 1.125rem; font-weight: 600; color: #e74c3c; line-height: 1; padding-bottom: 0.3rem; }
		.p-plan-card__price-tax-wrap {
			display: flex;
			flex-direction: column;
			justify-content: flex-end;
			padding-bottom: 0.25rem;
			gap: 0.2rem;
		}
		.p-plan-card__price-tax-label { font-size: 1.125rem; color: #C1C1C1; line-height: 1; }
		.p-plan-card__price-tax { font-family: 'Akshar', sans-serif; font-size: 1.5rem; font-weight: 600; color: #C1C1C1; line-height: 1; }
		.p-plan-card__tags { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.875rem; }
		.p-plan-card__tag {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			height: 2.5rem;
			padding: 0 1rem;
			border-radius: 2rem;
			font-size: 1.125rem;
			font-weight: 700;
			background: #E5700C;
			color: #fff;
		}
		.p-plan-card__tag.inactive { background: #ccc; }
		.p-plan-card__note { font-size: 1rem; color: #aaa; margin-bottom: 1rem; }
		.p-plan-card__more {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			border: 1.5px solid #E5700C;
			color: #E5700C;
			font-weight: 700;
			font-size: 1.125rem;
			width: 8.875rem;
			height: 2.625rem;
			border-radius: 0.375rem;
			float: right;
			transition: background 0.2s, color 0.2s;
		}
		.p-plan-card__more::after { content: " ›"; }
		.p-plan-card__more:hover { background: #E5700C; color: #fff; }



		/* ========== 葬儀場セクション ========== */
		.hall-section .lead { margin-bottom: 2rem; }
		.hall-section__card {
			background: #FBFAF7;
			border-radius: 1rem;
			padding: 2rem 2.5rem;
			display: flex;
			gap: 40px;
			align-items: flex-start;
			margin-bottom: 2rem;
		}
		.hall-section__body { flex: 1; }
		.hall-section__point { margin-bottom: 1.5rem; }
		.hall-section__point-title { font-size: 1.75rem; font-weight: 700; color: #CB4F4A; margin-bottom: 0.625rem; }
		.hall-section__point-text { font-size: 1.25rem; line-height: 1.9; color: #000000; }
		.hall-section__imgs {
			flex-shrink: 0;
			width: 28.125rem;
			height: 18.375rem;
			border-radius: 20px;
			overflow: hidden;
		}
		.hall-section__imgs img { width: 100%; height: 100%; object-fit: cover; display: block; }



		/* ========== 選ばれる理由セクション ========== */
		.reason-section .lead { margin-bottom: 2rem; }
		.reason-nav {
			background: #fff;
			border: 1px solid #e0e0e0;
			border-radius: 1rem;
			padding: 2rem 2.5rem;
			margin-bottom: 2.5rem;
		}
		.reason-nav__items {
			display: grid;
			grid-template-columns: repeat(7, 1fr);
			gap: 1rem;
		}
		.reason-nav__item a {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 0.5rem;
			color: #333;
			font-size: 1.25rem;
			font-weight: 700;
			text-align: center;
		}
		.reason-nav__item a:hover { color: #E5700C; }
		.reason-nav__badge {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			background: #9e8060;
			color: #fff;
			font-size: 1.25rem;
			font-weight: 700;
			padding: 0.2rem 0.875rem;
			border-radius: 0.25rem;
		}
		.reason-detail {
			background: #fff;
			border: 1px solid #e0e0e0;
			border-radius: 1rem;
			padding: 2rem 2.5rem;
			margin-bottom: 1.5rem;
		}
		.reason-detail__header {
			padding-bottom: 0.875rem;
			border-bottom: 1.5px solid #c8a87a;
			margin-bottom: 1.5rem;
		}
		.reason-detail__title { font-size: 1.375rem; font-weight: 700; color: #A58672; }
		.reason-detail__content { display: flex; gap: 2rem; align-items: flex-start; }
		.reason-detail__body { flex: 1; }
		.reason-detail__text { font-size: 1.125rem; line-height: 2; color: #000000; margin-bottom: 1.25rem; }
		.reason-detail__btn {
			display: inline-flex;
			align-items: center;
			border: 1.5px solid #1C2086;
			color: #1C2086;
			font-weight: 700;
			font-size: 1rem;
			padding: 0.5rem 1.25rem;
			border-radius: 0.375rem;
			transition: background 0.2s, color 0.2s;
		}
		.reason-detail__btn::after { content: " ›"; }
		.reason-detail__btn:hover { background: #1C2086; color: #fff; }
		.reason-detail__img {
			flex-shrink: 0;
			width: 19rem;
			height: 12.5rem;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.reason-detail__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.reason-detail__img--circle {
			width: 15rem;
			height: 15rem;
			border-radius: 50%;
			overflow: hidden;
			background: none;
		}
		.reason-detail__img--circle img { width: 100%; height: auto; object-fit: unset; }
		


		/* ========== SP最適化 ========== */
		

		/* ========== 会社概要テーブル ========== */
		.company-section .title { margin-bottom: 2rem; }
		/* ========== フィロソフィーブロック ========== */
		.company-philosophy {
			display: flex;
			align-items: center;
			gap: 3rem;
			background: #fff;
			border-radius: 1rem;
			padding: 2rem 2.5rem;
		}
		.company-philosophy__body { flex: 1; }
		.company-philosophy__catch {
			font-size: 1.75rem;
			font-weight: 700;
			color: #1C2087;
			line-height: 1.7;
			margin-bottom: 1.5rem;
		}
		.company-philosophy__text {
			font-size: 1.125rem;
			line-height: 2;
			color: #444;
		}
		.company-philosophy__img {
			flex-shrink: 0;
			width: 22rem;
			border-radius: 0.75rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.company-philosophy__img img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
			aspect-ratio: 4 / 3;
		}
		@media screen and (max-width: 767px) {
			.company-philosophy { flex-direction: column; gap: 1.5rem; padding: 1.5rem 1.25rem; }
			.company-philosophy__catch { font-size: 1.25rem; }
			.company-philosophy__text { font-size: 1rem; }
			.company-philosophy__img { width: 100%; }
		}

		.company-table {
			width: 100%;
			border-collapse: separate;
			border-spacing: 0;
			border: 1px solid #C1C1C1;
			border-radius: 0.5rem;
			overflow: hidden;
			margin-bottom: 4rem;
		}
		.company-table tr { border-bottom: 1px solid #C1C1C1; }
		.company-table tr:last-child { border-bottom: none; }
		.company-table th { border-right: 1px solid #C1C1C1; border-bottom: 1px solid #C1C1C1; }
		.company-table tr:last-child th,
		.company-table tr:last-child td { border-bottom: none; }
		.company-table td { border-bottom: 1px solid #C1C1C1; }
		.company-table th {
			width: 200px;
			background: #F7F7F7;
			padding: 1.125rem 1.5rem;
			font-size: 1.25rem;
			font-weight: 700;
			color: #333;
			vertical-align: top;
			text-align: left;
			white-space: nowrap;
			border-right: 1px solid #C1C1C1;
			border-bottom: 1px solid #C1C1C1;
		}
		.company-table td {
			padding: 1.125rem 1.5rem;
			font-size: 1.25rem;
			font-weight: 500;
			color: #333;
			line-height: 1.8;
			border-bottom: 1px solid #C1C1C1;
		}
		.company-table td a { color: #29abe2; text-decoration: none; }
		.company-table td a:hover { text-decoration: underline; }
		a.external-link {
			color: #29abe2;
			text-decoration: none;
		}
		a.external-link:hover { text-decoration: underline; opacity: 0.7; }
		.external-link__icon {
			display: inline-block;
			width: 0.875rem;
			height: 0.875rem;
			margin-left: 0.375rem;
			vertical-align: middle;
			position: relative;
			top: -1px;
		}
		.company-table__map {
			width: 801px;
			height: 252px;
			border-radius: 0.375rem;
			overflow: hidden;
			margin-top: 0.75rem;
			background: #dce8f5;
		}
		.company-table__map iframe { width: 100%; height: 100%; border: none; display: block; }

		/* ========== 沿革タイムライン ========== */
		.history-section .lead { margin-bottom: 2.5rem; }

		.timeline {
			position: relative;
			display: flex;
			flex-direction: column;
			gap: 0;
		}
		/* 縦線：アイテムを繋ぐ */
		.timeline__item {
			display: grid;
			grid-template-columns: 5.5rem 2.5rem 1fr;
			align-items: stretch;
			gap: 0;
		}
		/* 年号セル */
		.timeline__year {
			display: flex;
			align-items: flex-start;
			justify-content: flex-end;
			padding: 1.25rem 0 1.25rem 0;
			font-size: 1.375rem;
			font-weight: 700;
			color: #2988B2;
			white-space: nowrap;
			padding-right: 0;
			line-height: 1.3;
		}
		/* 縦線＋ドット セル */
		.timeline__line {
			display: flex;
			flex-direction: column;
			align-items: center;
			padding: 0 0.75rem;
		}
		.timeline__dot {
			width: 14px;
			height: 14px;
			border-radius: 50%;
			background: #29abe2;
			flex-shrink: 0;
			margin-top: 1.45rem;
			position: relative;
			z-index: 1;
		}
		.timeline__line-bar {
			width: 2px;
			flex: 1;
			background: #29abe2;
			margin-top: 2px;
		}
		.timeline__item:last-child .timeline__line-bar {
			background: transparent;
		}
		/* コンテンツセル */
		.timeline__content {
			padding: 1rem 0 1.5rem 1rem;
			font-size: 1.125rem;
			line-height: 1.9;
		}
		.timeline__content-inner {
			background: #F7F7F7;
			border-radius: 0.5rem;
			padding: 1rem 1.25rem;
			display: flex;
			gap: 1.5rem;
			align-items: flex-start;
		}
		.timeline__content-body { flex: 1; }
		.timeline__month {
			font-weight: 700;
			color: #29abe2;
			margin-right: 0.375rem;
		}
		.timeline__img {
			flex-shrink: 0;
			width: 10rem;
			border-radius: 0.375rem;
			overflow: hidden;
		}
		.timeline__img img { width: 100%; height: auto; display: block; }

		


		/* ========== 手続きセクション ========== */
		.procedure-section__sublead {
			text-align: center;
			font-size: 1.25rem;
			color: #555;
			margin-bottom: 2rem;
		}
		.procedure-notice {
			font-size: 1rem;
			line-height: 2;
			color: #555;
			background: #fff;
			border-left: 4px solid #c8a87a;
			padding: 1rem 1.5rem;
			margin-bottom: 2.5rem;
			border-radius: 0 0.5rem 0.5rem 0;
		}

		/* ページ内ナビゲーション */
		.procedure-nav {
			background: #fff;
			border: 1px solid #e0e0e0;
			border-radius: 0.75rem;
			padding: 1.75rem 2rem 2rem;
			margin-bottom: 2.5rem;
		}
		.procedure-nav__title {
			font-size: 1.25rem;
			font-weight: 700;
			color: #A58672;
			padding-bottom: 0.75rem;
			border-bottom: 1.5px solid #c8a87a;
			margin-bottom: 1.25rem;
		}
		.procedure-nav__list {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 0.75rem;
		}
		.procedure-nav__item {}
		.procedure-nav__link {
			display: flex;
			align-items: center;
			gap: 0.875rem;
			background: #F0FAFF;
			border-radius: 0.5rem;
			padding: 0.875rem 1.25rem;
			transition: background 0.2s;
		}
		.procedure-nav__link:hover { background: #daeef9; }
		.procedure-nav__num {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2rem;
			height: 2rem;
			border-radius: 50%;
			background: #9e8060;
			color: #fff;
			font-size: 1rem;
			font-weight: 700;
			flex-shrink: 0;
		}
		.procedure-nav__text {
			font-size: 1.0625rem;
			font-weight: 700;
			color: #333;
		}

		/* ご確認ポイント内テキスト */
		.procedure-check__note {
			font-size: 1rem;
			font-weight: 700;
			color: #333;
			line-height: 1.8;
		}
		.procedure-imgs {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 356px));
			justify-content: center;
			gap: 1.25rem;
			margin-bottom: 3rem;
		}
		.procedure-imgs--2col {
			grid-template-columns: repeat(2, minmax(0, 356px));
		}
		.procedure-img-item {
			text-align: center;
			width: 100%;
			background: #fff;
			border-radius: 0.75rem;
			padding: 8px 8px 1rem;
		}
		.procedure-img-item__thumb {
			width: 100%;
			aspect-ratio: 16 / 9;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
			margin-bottom: 1rem;
		}
		.procedure-img-item__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.procedure-img-item__label {
			font-size: 1.25rem;
			font-weight: 700;
			color: #1C2087;
		}

		/* 番号付きステップ */
		.procedure-step {
			background: #fff;
			border: 1px solid #e0e0e0;
			border-radius: 1rem;
			padding: 2rem 2.5rem;
			margin-bottom: 1.5rem;
		}
		.procedure-step__header {
			display: flex;
			align-items: center;
			gap: 0.875rem;
			padding-bottom: 0.875rem;
			border-bottom: 1.5px solid #c8a87a;
			margin-bottom: 1.5rem;
		}
		.procedure-step__num {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2rem;
			height: 2rem;
			border-radius: 50%;
			background: #9e8060;
			color: #fff;
			font-size: 1rem;
			font-weight: 700;
			flex-shrink: 0;
		}
		.procedure-step__title {
			font-size: 1.75rem;
			font-weight: 700;
			color: #A58672;
		}
		.procedure-step__lead {
			font-size: 1.125rem;
			color: #555;
			margin-bottom: 1.5rem;
		}

		/* チェックリスト＋画像 */
		.procedure-check {
			display: flex;
			gap: 2rem;
			align-items: flex-start;
			background: #F7F7F7;
			border-radius: 0.75rem;
			padding: 1.5rem 2rem;
			margin-bottom: 1.5rem;
		}
		.procedure-check__body { flex: 1; }
		.procedure-check__title {
			font-size: 1.25rem;
			font-weight: 700;
			color: #E5700C;
			margin-bottom: 0.875rem;
		}
		.procedure-check__items { }
		.procedure-check__item {
			display: flex;
			align-items: center;
			gap: 0.625rem;
			font-size: 1.125rem;
			color: #333;
			font-weight: 700;
			margin-bottom: 0.5rem;
		}
		.procedure-check__item::before {
			content: "";
			width: 1rem;
			height: 1rem;
			border: 1.5px solid #bbb;
			border-radius: 0.2rem;
			flex-shrink: 0;
		}
		.procedure-check__img {
			flex-shrink: 0;
			width: 336px;
			height: 224px;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.procedure-check__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

		/* 手続きカード2列 */
		.procedure-cards {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 1rem;
		}
		.procedure-card {
			background: #fff;
			border: 1px solid #ddd;
			border-radius: 0.75rem;
			overflow: hidden;
		}
		.procedure-card__header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			background: #EAEBFF;
			height: 60px;
			padding: 0 1.5rem;
		}
		.procedure-card__category {
			font-size: 1.25rem;
			font-weight: 700;
			color: #1C2087;
		}
		.procedure-card__deadline {
			font-size: 0.875rem;
			font-weight: 700;
			color: #CB4F4A;
			background: #fff;
			border-radius: 32px;
			padding: 0.25rem 0.875rem;
			white-space: nowrap;
		}
		.procedure-card__deadline.blue { color: #CB4F4A; }
		.procedure-card__content-label {
			display: none;
		}
		.procedure-card__content-value {
			font-size: 1rem;
			font-weight: 700;
			color: #333;
			background: #f5f5f5;
			padding: 0.5rem 0.875rem;
			border-radius: 0.25rem;
			margin: 1.25rem 1.5rem 0.875rem;
			display: block;
		}
		.procedure-card__content-value::before {
			content: "手続き内容：";
			font-weight: 400;
			color: #000000;
			margin-right: 0.25rem;
		}
		.procedure-card__text {
			font-size: 0.9375rem;
			line-height: 1.9;
			color: #444;
			padding: 0 1.5rem 1.25rem;
		}

		/* 手続きカード3列フロー */
		.procedure-flow {
			display: grid;
			grid-template-columns: 1fr 1.5rem 1fr 1.5rem 1fr;
			align-items: stretch;
			gap: 0;
			margin-bottom: 1.5rem;
		}
		.procedure-flow__arrow {
			display: flex;
			align-items: flex-start;
			justify-content: center;
			padding-top: 1.5rem;
			color: #1C2086;
			font-size: 1.25rem;
		}
		.procedure-flow-card {
			background: #fff;
			border: 1px solid #ddd;
			border-radius: 0.75rem;
			overflow: hidden;
		}
		.procedure-flow-card__category {
			display: flex;
			align-items: center;
			justify-content: space-between;
			background: #EAEBFF;
			height: 60px;
			padding: 0 1.5rem;
			font-size: 1.25rem;
			font-weight: 700;
			color: #1C2087;
		}
		.procedure-flow-card__deadline {
			font-size: 0.875rem;
			font-weight: 700;
			color: #CB4F4A;
			background: #fff;
			border-radius: 32px;
			padding: 0.25rem 0.875rem;
			white-space: nowrap;
		}
		.procedure-flow-card__content-label {
			display: none;
		}
		.procedure-flow-card__content-value {
			font-size: 1rem;
			font-weight: 700;
			color: #333;
			background: #f5f5f5;
			padding: 0.5rem 0.875rem;
			border-radius: 0.25rem;
			margin: 1.25rem 1.5rem 0.875rem;
			display: block;
		}
		.procedure-flow-card__content-value::before {
			content: "手続き内容：";
			font-weight: 400;
			color: #000000;
			margin-right: 0.25rem;
		}
		.procedure-flow-card__text {
			font-size: 0.9375rem;
			line-height: 1.9;
			color: #444;
			padding: 0 1.5rem 0.75rem;
		}
		.procedure-flow-card__list {
			font-size: 0.9375rem;
			color: #1C2086;
			font-weight: 700;
			padding: 0 1.5rem 1.25rem;
		}
		.procedure-flow-card__list li::before { content: "・"; }

		/* サブカード（四十九日など） */
		.procedure-subcard {
			background: #fff;
			border: 1px solid #ddd;
			border-radius: 0.75rem;
			overflow: hidden;
			margin-bottom: 1rem;
		}
		.procedure-subcard__title {
			display: flex;
			align-items: center;
			background: #EAEBFF;
			height: 60px;
			padding: 0 1.5rem;
			font-size: 1.25rem;
			font-weight: 700;
			color: #1C2087;
		}
		.procedure-subcard__inner {
			padding: 1.25rem 1.5rem;
		}
		.procedure-subcard__name {
			font-size: 1rem;
			font-weight: 700;
			color: #333;
			margin-bottom: 0.5rem;
		}
		.procedure-subcard__text {
			font-size: 0.9375rem;
			line-height: 1.9;
			color: #444;
		}

		/* FAQ */
		.faq-section {
			background: #fff;
			border-radius: 0.75rem;
			padding: 1.5rem 2rem;
			margin-bottom: 1.5rem;
		}
		.faq-section__title {
			font-size: 1.75rem;
			font-weight: 700;
			color: #A58672;
			padding-bottom: 0.875rem;
			border-bottom: 2px solid #A58672;
			margin-bottom: 1.5rem;
		}
		.faq-item {
			background: #F7F7F7;
			border-radius: 0.75rem;
			margin-bottom: 1rem;
			overflow: hidden;
		}
		.faq-item.open {
			background: #F7F7F7;
			border: none;
		}
		.faq-item__question {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 1.375rem 1.75rem;
			cursor: pointer;
			gap: 1rem;
			background: #F7F7F7;
			border-radius: 0.75rem;
		}
		.faq-item__question-text {
			display: flex;
			align-items: center;
			gap: 1.25rem;
			font-size: 1.25rem;
			font-weight: 700;
		}
		.faq-item__question-text::before {
			content: "Q";
			font-size: 1.75rem;
			font-weight: 700;
			color: #707070;
			flex-shrink: 0;
		}
		.faq-item__icon {
			flex-shrink: 0;
			width: 1.5rem;
			height: 1.5rem;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 1.5rem;
			font-weight: 300;
			color: #333;
			line-height: 1;
		}
		.faq-item__answer {
			background: #fff;
			border-radius: 0.5rem;
			margin: 0 1.75rem 1.375rem;
			padding: 1.25rem 1.5rem;
			font-size: 1.125rem;
			line-height: 2;
			color: #333;
			display: none;
		}
		.faq-item.open .faq-item__answer { display: block; }

		

		/* ========== ご相談方法 ========== */
		.consult-method .lead { margin-bottom: 2.5rem; }
		.consult-method__grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 1.25rem;
			width: 100%;
		}
		.consult-method__card {
			background: #fafafa;
			border: 1px solid #e8e8e8;
			border-radius: 0.75rem;
			padding: 1.25rem 1.25rem 1.5rem;
			display: flex;
			flex-direction: column;
			min-width: 0;
		}
		.consult-method__card-title {
			font-size: 1.5rem;
			font-weight: 700;
			color: #e74c3c;
			margin-bottom: 0.75rem;
			text-align: center;
		}
		.consult-method__card-img {
			width: 100%;
			height: auto;
			aspect-ratio: 16 / 9;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
			margin-bottom: 0.875rem;
		}
		.consult-method__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.consult-method__card-text {
			font-size: 1.125rem;
			line-height: 1.9;
			color: #444;
			flex: 1;
			margin-bottom: 1rem;
		}
		.consult-method__card .btn {
			font-size: 1.125rem;
			height: 3rem;
			padding: 0 1rem;
			width: 100% !important;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		


		/* ========== 電話相談バナー ========== */
		.tel-banner__box {
			position: relative;
			border-radius: 1.25rem;
			overflow: hidden;
			padding: 3rem 3rem 2.5rem;
			max-width: 1100px;
			margin: 0 auto;
		}
		.tel-banner__bg {
			position: absolute;
			inset: 0;
			background: url('/assets/img/common/tel-banner-bg.jpg') center/cover no-repeat;
			z-index: 0;
		}
		.tel-banner__bg::after {
			content: "";
			position: absolute;
			inset: 0;
			background: rgba(230,243,255,0.75);
		}
		.tel-banner__content { position: relative; z-index: 1; }
		.tel-banner__meta {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 1rem;
			font-size: 1.25rem;
			font-weight: 700;
			color: #555;
			margin-bottom: 0.625rem;
		}
		.tel-banner__meta span { display: flex; align-items: center; gap: 0.375rem; }
		.tel-banner__meta .sep { color: #bbb; }
		.tel-banner__title {
			text-align: center;
			font-size: 1.75rem;
			font-weight: 700;
			color: #222;
			margin-bottom: 2rem;
		}
		.tel-banner__title .accent { color: #e74c3c; }
		.tel-banner__phones {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 1rem;
			margin-bottom: 1.75rem;
		}
		.tel-banner__phone {
			background: #fff;
			border-radius: 0.75rem;
			overflow: hidden;
			text-align: center;
		}
		.tel-banner__phone-area {
			background: #2988B2;
			color: #fff;
			font-size: 2rem;
			font-weight: 700;
			padding: 0.625rem 0;
		}
		.tel-banner__phone-num {
			font-size: 2.375rem;
			font-weight: 700;
			color: #2988B2;
			padding: 0.875rem 0.5rem;
			display: block;
			white-space: nowrap;
		}
		.tel-banner__footer {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 2rem;
			align-items: center;
		}
		.tel-banner__staff {
			display: flex;
			align-items: center;
			gap: 0.75rem;
			background: rgba(255,255,255,0.85);
			border-radius: 0.75rem;
			padding: 0.875rem 1.25rem;
		}
		.tel-banner__staff-img {
			width: 4rem;
			height: 4rem;
			border-radius: 50%;
			overflow: hidden;
			background: #dce8f5;
			flex-shrink: 0;
		}
		.tel-banner__staff-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.tel-banner__staff-text {
			font-size: 0.9375rem;
			font-weight: 700;
			color: #E5700C;
			line-height: 1.7;
		}
		/* .tel-banner__checks */
		.tel-banner__check-item {
			display: flex;
			align-items: flex-start;
			gap: 0.5rem;
			font-size: 0.9375rem;
			color: #333;
			margin-bottom: 0.5rem;
		}
		.tel-banner__check-item::before {
			content: "✓";
			color: #29abe2;
			font-weight: 700;
			flex-shrink: 0;
		}

		/* ========== 入会価格・特典 ========== */
		.member-section .title { margin-bottom: 2rem; }
		.member-price-card {
			display: flex;
			border-radius: 1rem;
			overflow: hidden;
			border: 1px solid #e8e8e8;
			margin-bottom: 3rem;
		}
		.member-price-card__img {
			width: 45%;
			flex-shrink: 0;
			background: #dce8f5;
		}
		.member-price-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.member-price-card__body {
			flex: 1;
			padding: 2rem 2.5rem;
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
		.member-price-card__price-row {
			display: flex;
			align-items: center;
			gap: 1rem;
			margin-bottom: 1.5rem;
		}
		.member-price-card__badge {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			background: #fff;
			border: 1.5px solid #e74c3c;
			color: #e74c3c;
			font-size: 0.9375rem;
			font-weight: 700;
			padding: 0.25rem 0.75rem;
			border-radius: 2rem;
			flex-shrink: 0;
		}
		.member-price-card__price {
			font-size: 3.25rem;
			font-weight: 700;
			color: #e74c3c;
			line-height: 1;
		}
		.member-price-card__price-tax {
			font-size: 0.875rem;
			color: #888;
		}
		.member-price-card__calculator {
			font-size: 2rem;
			margin-left: auto;
		}
		.member-price-card__points {
			display: flex;
			gap: 0;
			border: 1px solid #ddd;
			border-radius: 0.5rem;
			overflow: hidden;
		}
		.member-price-card__point {
			flex: 1;
			padding: 0.875rem 1rem;
			border-right: 1px solid #ddd;
			text-align: left;
		}
		.member-price-card__point:last-child { border-right: none; }
		.member-price-card__point-label {
			font-size: 0.875rem;
			color: #888;
			margin-bottom: 0.25rem;
		}
		.member-price-card__point-value {
			font-size: 1.0625rem;
			font-weight: 700;
			color: #e74c3c;
		}

		/* 会員特典 */
		.member-benefit .title { margin-bottom: 0.375rem; }
		.member-benefit .lead { margin-bottom: 1.5rem; }
		.member-benefit__highlight {
			border: 2px solid #E5700C;
			border-radius: 0.75rem;
			padding: 0.25rem 2rem 0.5rem;
			text-align: center;
			font-size: 1.75rem;
			font-weight: 700;
			color: #E5700C;
			margin-bottom: 0;
			position: relative;
			line-height: 1.4;
		}
		.member-benefit__highlight::after {
			content: "";
			position: absolute;
			bottom: -1.125rem;
			left: 50%;
			transform: translateX(-50%);
			width: 0;
			height: 0;
			border-left: 0.875rem solid transparent;
			border-right: 0.875rem solid transparent;
			border-top: 1rem solid #E5700C;
		}
		.member-benefit__highlight .num { font-size: 3.125rem; vertical-align: baseline; line-height: 1; }
		.member-benefit__grid {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 1.25rem;
			margin-top: 1.75rem;
			width: 100%;
		}
		.member-benefit__item {
			background: #FBFAF7;
			border-radius: 0.75rem;
			min-width: 0;
			padding: 1.25rem;
		}
		.member-benefit__item-header {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 0.5rem;
			margin-bottom: 0.75rem;
			position: relative;
			padding-left: 3.5rem;
		}
		.member-benefit__item-num {
			font-size: 4.1875rem;
			font-weight: 700;
			color: #D6CCAA;
			line-height: 1;
			position: absolute;
			left: 0;
		}
		.member-benefit__item-title {
			font-size: 1.5rem;
			font-weight: 700;
			color: #333;
			text-align: center;
			line-height: 1.5;
		}
		.member-benefit__item-sub {
			font-size: 1.125rem;
			color: #888;
		}
		.member-benefit__item-header > div {
			min-height: 4.5rem;
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
		.member-benefit__item-img {
			width: 100%;
			height: auto;
			aspect-ratio: 16 / 9;
			border-radius: 1.25rem;
			overflow: hidden;
			background: #dce8f5;
			margin-bottom: 0.625rem;
		}
		.member-benefit__item-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.member-benefit__item-note {
			font-size: 0.8125rem;
			margin-bottom: 0.25rem;
			text-align: center;
		}
		.member-benefit__item-discount {
			font-size: 1.25rem;
			font-weight: 700;
			color: #e74c3c;
			text-align: center;
		}
		.member-benefit__item-discount .num {
			font-size: 3.125rem;
		}
		.member-benefit__item-body {
			font-size: 1rem;
			line-height: 1.8;
		}
		.member-benefit__item-caution {
			font-size: 0.8125rem;
			text-align: right;
		}

		


		/* ========== お申し込みの流れ ========== */
		.apply-flow__box {
			background: #F7F7F7;
			border-radius: 1rem;
			padding: 2rem 2.5rem;
		}
		.apply-flow__header {
			padding-bottom: 0.875rem;
			border-bottom: 2px solid #1C2086;
			margin-bottom: 1.5rem;
		}
		.apply-flow__title {
			font-size: 1.75rem;
			font-weight: 700;
			color: #1C2086;
		}
		.apply-flow__tabs {
			display: flex;
			gap: 0.75rem;
			margin-bottom: 1.5rem;
			justify-content: center;
		}
		.apply-flow__tab {
			padding: 0.75rem 2.5rem;
			border-radius: 0.5rem;
			font-size: 1.375rem;
			font-weight: 700;
			cursor: pointer;
			border: 2px solid #1C2086;
			color: #1C2086;
			background: #fff;
			transition: background 0.2s, color 0.2s;
		}
		.apply-flow__tab.active { background: #1C2086; color: #fff; }
		.apply-flow__tab:not(.active) { border-color: #29abe2; color: #29abe2; }
		.apply-flow__steps {
			display: grid;
			grid-template-columns: 300px 1.5rem 300px 1.5rem 300px;
			align-items: stretch;
			gap: 0;
			justify-content: center;
		}
		.apply-flow__steps--form {
			display: grid;
			grid-template-columns: 300px 1.5rem 300px 1.5rem 300px;
			justify-content: center;
			align-items: stretch;
			gap: 0;
			row-gap: 1.25rem;
		}
		/* 2行目: 4・5を左（1〜3列目）に配置、--down矢印非表示 */
		.apply-flow__steps--form > :nth-child(6) { display: none; }
		.apply-flow__steps--form > :nth-child(7) { grid-column: 1; grid-row: 2; }
		.apply-flow__steps--form > :nth-child(8) { grid-column: 2; grid-row: 2; align-self: center; }
		.apply-flow__steps--form > :nth-child(9) { grid-column: 3; grid-row: 2; }
		.apply-flow__steps--form .apply-flow__arrow--down {
			display: none;
		}
		/* ボタン上書き（カード内の小さいボタン用） */
		.apply-flow__step-btn {
			width: 100%;
			font-size: 0.9375rem;
			padding: 0.625rem 2.5rem 0.625rem 0.5rem;
		}
		.apply-flow__arrow {
			display: flex;
			align-items: center;
			justify-content: center;
			align-self: center;
			color: #1C2086;
			font-size: 1rem;
			width: 16px;
			height: 35px;
		}
		.apply-flow__step {
			width: 300px;
			min-height: 320px;
			background: #fff;
			border-radius: 0.5rem;
			display: flex;
			flex-direction: column;
		}
		.apply-flow__step-header {
			background: #eef0fb;
			border-radius: 0.5rem 0.5rem 0 0;
			padding: 0.75rem 1rem;
			font-size: 1.25rem;
			font-weight: 700;
			color: #1C2086;
			text-align: center;
			flex-shrink: 0;
		}
		.apply-flow__step-img {
			width: 260px;
			height: 146px;
			border-radius: 1.25rem;
			overflow: hidden;
			background: #dce8f5;
			margin: 0.75rem auto 0.75rem;
			flex-shrink: 0;
		}
		.apply-flow__step-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.apply-flow__step-text {
			font-size: 1.125rem;
			line-height: 1.9;
			color: #444;
			padding: 0 1rem;
		}
		.apply-flow__step-btn-wrap {
			margin-top: auto;
			padding: 0.75rem 1rem 1rem;
		}
		}

		/* end SP */

		

		/* ========== 仮入会フォーム ========== */
		/* ========== 仮入会フォーム ========== */
		.form-section .lead { margin-bottom: 3.75rem; }
		.form-box {
			background: #fff;
			border-radius: 1rem;
			padding: 2.5rem 3rem;
			max-width: 53.75rem;
			margin-right: auto;
			margin-left: auto;
			margin-top: 3.75rem;
		}
		.form-field { margin-bottom: 1.5rem; }
		.form-label {
			display: flex;
			align-items: center;
			gap: 0.5rem;
			font-size: 1.125rem;
			font-weight: 700;
			color: #333;
			margin-bottom: 0.5rem;
		}
		.form-label__required {
			background: #e74c3c;
			color: #fff;
			font-size: 0.875rem;
			font-weight: 700;
			padding: 0.1rem 0.5rem;
			border-radius: 0.25rem;
		}
		.form-label__optional {
			background: #999;
			color: #fff;
			font-size: 0.875rem;
			font-weight: 700;
			padding: 0.1rem 0.5rem;
			border-radius: 0.25rem;
		}
		.form-input {
			width: 100%;
			border: none;
			background: #f2f2f2;
			border-radius: 0.375rem;
			padding: 0.875rem 1rem;
			font-size: 1.125rem;
			color: #333;
		}
		.form-input::placeholder { color: #bbb; }
		.form-input:focus { outline: 2px solid #29abe2; background: #fff; }
		.form-select {
			width: 100%;
			border: 1px solid #ddd;
			background: #fff;
			border-radius: 0.375rem;
			padding: 0.875rem 1rem;
			font-size: 1.125rem;
			color: #333;
			appearance: none;
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
			background-repeat: no-repeat;
			background-position: right 1rem center;
		}
		.form-textarea {
			width: 100%;
			border: 1px solid #ddd;
			border-radius: 0.375rem;
			padding: 0.875rem 1rem;
			font-size: 1.125rem;
			color: #333;
			min-height: 8rem;
			resize: vertical;
		}
		.form-textarea::placeholder { color: #bbb; }
		.form-radio-group, .form-check-group {
			display: flex;
			flex-direction: column;
			gap: 0.5rem;
		}
		.form-radio-group.inline, .form-check-group.inline {
			flex-direction: row;
			gap: 1.5rem;
		}
		.form-radio, .form-check {
			display: flex;
			align-items: center;
			gap: 0.5rem;
			font-size: 1rem;
			color: #333;
			cursor: pointer;
		}
		.form-check input[type="checkbox"] { display: none; }
		.form-check::before {
			content: "";
			display: inline-block;
			width: 1.125rem;
			height: 1.125rem;
			border: 2px solid #aaa;
			border-radius: 0.25rem;
			background: #fff;
			flex-shrink: 0;
		}
		.form-check input[type="checkbox"]:checked + span::before,
		.form-check:has(input[type="checkbox"]:checked)::before {
			background: #1C2086;
			border-color: #1C2086;
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
			background-size: 70%;
			background-repeat: no-repeat;
			background-position: center;
		}
		.form-postal {
			display: flex;
			align-items: center;
			gap: 0.5rem;
		}
		.form-postal__pre { font-size: 1rem; color: #555; }
		.form-postal__input { width: 5rem; }
		.form-postal__sep { color: #555; }
		.form-postal__input2 { width: 6rem; }
		.form-agree {
			text-align: center;
			margin-bottom: 1.5rem;
		}
		.form-agree__text {
			font-size: 0.9375rem;
			color: #333;
			margin-bottom: 0.75rem;
		}
		.form-agree__text a { color: #29abe2; text-decoration: underline; }
		.form-agree__check {
			display: inline-flex;
			align-items: center;
			gap: 0.5rem;
			font-size: 1rem;
			color: #333;
			cursor: pointer;
		}
		.form-agree__check input[type="checkbox"] { display: none; }
		.form-agree__check::before {
			content: "";
			display: inline-block;
			width: 1.125rem;
			height: 1.125rem;
			border: 2px solid #aaa;
			border-radius: 0.25rem;
			background: #fff;
			flex-shrink: 0;
		}
		.form-agree__check:has(input[type="checkbox"]:checked)::before {
			background: #1C2086;
			border-color: #1C2086;
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
			background-size: 70%;
			background-repeat: no-repeat;
			background-position: center;
		}
		.form-submit { text-align: center; }
		.form-submit .btn { margin: 0 auto; }

		/* ========== サービスの特徴 ========== */
		.service-feature .title { margin-bottom: 2rem; }
		.service-feature__grid {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 1.25rem;
			margin-bottom: 2rem;
		}
		.service-feature__card {
			display: flex;
			gap: 1rem;
			align-items: flex-start;
			border: 1px solid #e8e8e8;
			border-radius: 0.75rem;
			padding: 1.25rem;
		}
		.service-feature__card-img {
			flex-shrink: 0;
			width: 7.5rem;
			height: 7.5rem;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.service-feature__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.service-feature__card-body { flex: 1; }
		.service-feature__card-num {
			font-size: 2.25rem;
			font-weight: 700;
			color: #333;
			line-height: 1;
			margin-bottom: 0.25rem;
		}
		.service-feature__card-text {
			font-size: 1.375rem;
			line-height: 1.8;
			color: #333;
		}
		.service-feature__card-text .accent { color: #e74c3c; font-weight: 700; }
		.service-feature__notice {
			border: 1px solid #ddd;
			border-radius: 0.75rem;
			padding: 1.5rem 2rem;
			margin-bottom: 2rem;
			background: #fff;
		}
		.service-feature__notice-text {
			font-size: 1.125rem;
			color: #555;
			line-height: 1.9;
			margin-bottom: 1rem;
			padding-bottom: 1rem;
			border-bottom: 1px solid #ddd;
		}
		.service-feature__notice-info {
			font-size: 0.875rem;
			color: #555;
			line-height: 2;
		}

		/* 勧誘の方針 */
		.solicitation-policy {
			border: 1px solid #ddd;
			border-radius: 0.75rem;
			padding: 2rem 2.5rem;
			background: #F7F7F7;
		}
		.solicitation-policy__title {
			font-size: 1.75rem;
			font-weight: 700;
			color: #1C2086;
			padding-bottom: 0.75rem;
			border-bottom: 2px solid #1C2086;
			margin-bottom: 1.5rem;
		}
		.solicitation-policy__item { margin-bottom: 1.5rem; }
		.solicitation-policy__item-title {
			font-size: 1.125rem;
			font-weight: 700;
			color: #333;
			margin-bottom: 0.75rem;
		}
		.solicitation-policy__item-text {
			font-size: 1.125rem;
			line-height: 1.9;
			color: #555;
			padding-left: 1.5rem;
			margin-bottom: 0.5rem;
		}
		.solicitation-policy__link {
			display: block;
			color: #1C2087;
			font-size: 1.125rem;
			font-weight: 700;
			padding-left: 1.5rem;
			margin-bottom: 0.25rem;
			text-decoration: underline;
		}

		/* ========== ハートライン ========== */
		.heartline-section .title { margin-bottom: 2rem; }
		.heartline-card {
			display: flex;
			border: 1px solid #e8e8e8;
			border-radius: 1rem;
			background: #fff;
			margin-bottom: 2rem;
			height: 19.875rem;
			align-items: center;
		}
		.heartline-card__img {
			flex-shrink: 0;
			width: 33.125rem;
			height: 18.625rem;
			background: #dce8f5;
			border-radius: 1.25rem;
			overflow: hidden;
			margin: 0 1rem;
		}
		.heartline-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 1.25rem; }
		.heartline-card__body {
			flex: 1;
			padding: 2rem 2.5rem;
		}
		.heartline-card__logo {
			display: flex;
			align-items: center;
			gap: 0.5rem;
			margin-bottom: 1rem;
		}
		.heartline-card__body .btn {
			width: 14.75rem;
			height: auto;
			font-size: 1.5rem;
			padding: 1.1875rem 1.25rem 1.1875rem 0;
			margin: 1.5625rem 0 0;
			display: block;
			text-align: center;
			white-space: nowrap;
		}
		@media screen and (max-width: 767px) {
			.heartline-card__body .btn {
				width: 9.125rem;
				font-size: 1.125rem;
				margin-top: 0.9375rem;
				padding: 0.875rem 1.25rem 0.875rem 0;
				margin-left: auto;
				margin-right: auto;
			}
		}
		.heartline-card__logo-img {
			display: block;
			height: 2.5rem;
			width: auto;
			max-width: 100%;
		}
		.heartline-card__logo-icon { font-size: 2rem; }
		.heartline-card__logo-text {
			font-size: 1.75rem;
			font-weight: 700;
			color: #29abe2;
		}
		.heartline-card__text {
			font-size: 1.125rem;
			line-height: 1.9;
			color: #333;
			margin-bottom: 1rem;
		}
		.heartline-section__btn-wrapper { margin-bottom: 3rem; }

		/* 安心の理由 */
		.trust-grid {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 1.25rem;
		}
		.trust-card {
			display: flex;
			gap: 1rem;
			align-items: flex-start;
			background: #fff;
			border: 1px solid #e8e8e8;
			border-radius: 0.75rem;
			padding: 1.25rem;
		}
		.trust-card__img {
			flex-shrink: 0;
			width: 7.5rem;
			height: 7.5rem;
			border-radius: 1.25rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.trust-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.trust-card__title {
			font-size: 1.375rem;
			font-weight: 700;
			color: #CB4F4A;
			margin-bottom: 0.5rem;
		}
		.trust-card__text span {
			color: #CB4F4A;
		}
		.trust-card__text {
			font-size: 1.125rem;
			line-height: 1.8;
			color: #333;
		}
		.trust-card__text--note {
			padding-left: 1em;
			text-indent: -1em;
		}
		.trust-intro {
			display: grid;
			grid-template-columns: repeat(2, auto);
			justify-content: center;
			gap: 0.625rem;
			margin-bottom: 2.5rem;
		}
		.trust-intro__item {
			display: inline-block;
			font-size: 1.125rem;
			font-weight: 700;
			background: #fff;
			border-radius: 1.25rem;
			padding: 0.3125rem 0.75rem 0.3125rem 2rem;
			position: relative;
			color: #333;
		}
		.trust-intro__item::before {
			position: absolute;
			content: "";
			width: 1.25rem;
			height: 1.25rem;
			top: 50%;
			transform: translateY(-50%);
			left: 0.375rem;
			background: url(/assets/img/common/check-icon.png) no-repeat center/contain;
		}

		/* ========== 互助会プラン ========== */
		.kyosai-plan .title { margin-bottom: 2rem; }
		.kyosai-plan__card {
			background: #fff;
			border: 0.625rem solid #b8dff5;
			border-radius: 0.625rem;
			padding: 1.75rem 2rem;
			margin-bottom: 1.5rem;
		}
		.kyosai-plan__card-top {
			display: flex;
			gap: 2rem;
			align-items: flex-start;
			margin-bottom: 1.25rem;
		}
		.kyosai-plan__card-img {
			flex-shrink: 0;
			width: 24rem;
			height: 15rem;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.kyosai-plan__card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.kyosai-plan__card-body { flex: 1; }
		.kyosai-plan__card-label { font-size: 1.25rem; font-weight: 500; color: #666; margin-bottom: 0.25rem; }
		.kyosai-plan__card-title {
			font-size: 2.375rem;
			font-weight: 700;
			color: #29abe2;
			margin-bottom: 0.875rem;
		}
		.kyosai-plan__card-price-wrap {
			display: flex;
			align-items: baseline;
			gap: 1rem;
			margin-bottom: 1rem;
		}
		.kyosai-plan__card-price {
			font-family: 'Akshar', sans-serif;
			font-size: 5.5rem;
			font-weight: 600;
			color: #e74c3c;
			line-height: 1;
		}
		.kyosai-plan__card-price-unit { font-family: 'Akshar', sans-serif; font-size: 1.125rem; font-weight: 600; color: #e74c3c; line-height: 1; padding-bottom: 0.3rem; }
		.kyosai-plan__card-price-tax-wrap {
			display: flex;
			flex-direction: column;
			justify-content: flex-end;
			padding-bottom: 0.25rem;
			gap: 0.2rem;
		}
		.kyosai-plan__card-price-tax-label { font-size: 1.125rem; color: #C1C1C1; line-height: 1; }
		.kyosai-plan__card-price-tax { font-family: 'Akshar', sans-serif; font-size: 1.5rem; font-weight: 600; color: #C1C1C1; line-height: 1; }
		.kyosai-plan__card-regular {
			border: 1px solid #ddd;
			border-radius: 0.375rem;
			padding: 0.375rem 0.75rem;
			font-size: 0.875rem;
			color: #555;
			white-space: nowrap;
		}
		.kyosai-plan__card-regular span { font-weight: 700; }
		.kyosai-plan__card-tags {
			display: flex;
			gap: 0.5rem;
			flex-wrap: wrap;
		}
		.kyosai-plan__card-tag {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			height: 2rem;
			padding: 0 1rem;
			border-radius: 2rem;
			font-size: 0.9375rem;
			font-weight: 700;
			background: #29abe2;
			color: #fff;
		}
		.kyosai-plan__recommend {
			border-top: 1px solid #ddd;
			padding-top: 1.125rem;
		}
		.kyosai-plan__recommend-title {
			font-size: 1rem;
			font-weight: 700;
			color: #29abe2;
			margin-bottom: 0.75rem;
		}
		.kyosai-plan__recommend-items {
			display: flex;
			gap: 2rem;
			flex-wrap: wrap;
		}
		.kyosai-plan__recommend-item {
			display: flex;
			align-items: center;
			gap: 0.5rem;
			font-size: 1.125rem;
			font-weight: 700;
			color: #333;
		}
		.kyosai-plan__recommend-item::before {
			content: "✓";
			color: #29abe2;
			font-weight: 700;
		}

		

		/* ========== お客様の声 一覧ページ ========== */
		.voice-list-section .title { margin-bottom: 2rem; }

		/* レビューカード */
		.voice-list { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
		.voice-review-card {
			border: 1px solid #e0e0e0;
			border-radius: 0.75rem;
			padding: 1.5rem;
		}
		.voice-review-card__header {
			display: flex;
			gap: 1.25rem;
			align-items: flex-start;
			margin-bottom: 1.25rem;
		}
		.voice-review-card__img {
			flex-shrink: 0;
			width: 18.75rem;
			height: 12.5rem;
			border-radius: 0.5rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.voice-review-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.voice-review-card__meta { flex: 1; }
		.voice-review-card__date {
			font-size: 1.125rem;
			color: #888;
			margin-bottom: 0.375rem;
		}
		.voice-review-card__hall {
			font-size: 1.125rem;
			color: #333;
			margin-bottom: 0.75rem;
		}
		.voice-review-card__hall a { color: #29abe2; text-decoration: none; }
		.voice-review-card__hall a:hover { text-decoration: underline; }
		.voice-review-card__stars {
			display: flex;
			gap: 1.25rem;
			flex-wrap: wrap;
		}
		.voice-review-card__star-item {
			display: flex;
			flex-direction: column;
			gap: 0.2rem;
		}
		.voice-review-card__star-label {
			font-size: 0.8125rem;
			color: #666;
			white-space: nowrap;
		}
		.voice-review-card__star-icons { color: #f5a623; font-size: 1rem; white-space: nowrap; }
		.voice-review-card__text {
			font-size: 1.125rem;
			line-height: 1.9;
			color: #333;
			margin-bottom: 1rem;
		}
		.voice-review-card__more {
			text-align: right;
		}
		.voice-review-card__more a {
			color: #29abe2;
			font-size: 0.9375rem;
			font-weight: 700;
			text-decoration: underline;
			cursor: pointer;
		}

		/* 展開パネル（会館詳細） */
		.voice-review-card__expand {
			border-top: 1px solid #e0e0e0;
			padding-top: 1.5rem;
			margin-top: 1rem;
		}
		.voice-review-card__expand-title {
			font-size: 1.125rem;
			font-weight: 700;
			color: #333;
			padding-bottom: 0.75rem;
			border-bottom: 2px solid #333;
			margin-bottom: 1.25rem;
		}
		.voice-hall-card {
			display: flex;
			gap: 1.25rem;
			align-items: flex-start;
			margin-bottom: 1.25rem;
		}
		.voice-hall-card__img {
			flex-shrink: 0;
			width: 8.125rem;
			height: 5.5rem;
			border-radius: 0.375rem;
			overflow: hidden;
			background: #dce8f5;
		}
		.voice-hall-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.voice-hall-card__body { flex: 1; }
		.voice-hall-card__name {
			font-size: 1.125rem;
			font-weight: 700;
			color: #1C2086;
			margin-bottom: 0.375rem;
		}
		.voice-hall-card__address {
			font-size: 0.875rem;
			color: #555;
			margin-bottom: 0.375rem;
		}
		.voice-hall-card__tel {
			font-size: 0.9375rem;
			color: #e74c3c;
			font-weight: 700;
		}
		.voice-hall-card__tel::before {
			content: "";
			display: inline-block;
			width: 1em;
			height: 1em;
			background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e74c3c'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1-9.4 0-17-7.6-17-17 0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1L6.6 10.8z'/%3E%3C/svg%3E") no-repeat center / contain;
			vertical-align: -0.15em;
			margin-right: 0.25rem;
		}
		.voice-hall-facilities {
			display: flex;
			flex-wrap: wrap;
			gap: 0.625rem 1rem;
			margin-bottom: 1.25rem;
		}
		.voice-hall-facilities__item {
			display: flex;
			align-items: center;
			gap: 0.375rem;
			font-size: 0.875rem;
			font-weight: 700;
			color: #333;
		}
		.voice-hall-facilities__item::before {
			content: "✓";
			display: flex;
			align-items: center;
			justify-content: center;
			width: 1.125rem;
			height: 1.125rem;
			background: #29abe2;
			color: #fff;
			border-radius: 50%;
			font-size: 0.625rem;
			font-weight: 700;
			flex-shrink: 0;
		}
		.voice-hall-btns {
			display: flex;
			gap: 0.625rem;
			flex-wrap: nowrap;
			margin-bottom: 1rem;
			align-items: stretch;
		}
		.voice-hall-btns .btn {
			flex: 1;
			height: 3.75rem;
			font-size: 1.25rem;
			padding: 0 0.5rem;
			white-space: nowrap;
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			border-radius: 0.375rem;
		}
		.voice-hall-btns .btn-blue { background: #00A0E9; }
		.voice-hall-btns .btn-pink { background: #E85884; }
		.voice-review-card__close {
			text-align: right;
			font-size: 0.9375rem;
			color: #29abe2;
			cursor: pointer;
			text-decoration: underline;
			font-weight: 700;
		}
		.voice-review-card__close:hover { color: #1C2086; }

		/* ページネーション */
		.pagination {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 0.5rem;
			margin-top: 2rem;
		}
		.pagination__item {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2.75rem;
			height: 2.75rem;
			border: 1px solid #ddd;
			border-radius: 0.375rem;
			font-size: 1rem;
			color: #333;
			cursor: pointer;
			transition: background 0.15s;
		}
		.pagination__item:hover { background: #f0f0f0; }
		.pagination__item.active { background: #1C2086; color: #fff; border-color: #1C2086; font-weight: 700; }
		.pagination__item.dots { border: none; cursor: default; }
		.pagination__item.dots:hover { background: none; }

		/* ========== 各会場へのアクセス ========== */
		.access-section .title { margin-bottom: 2rem; }
		.access-section__group-title {
			font-size: 1.25rem;
			font-weight: 700;
			color: #1C2086;
			padding-left: 0.875rem;
			border-left: 4px solid #1C2086;
			margin-bottom: 1.25rem;
		}
		.access-section__block {
			background: #fff;
			border: 1px solid #e0e0e0;
			border-radius: 1rem;
			padding: 1.75rem 2rem;
			margin-bottom: 1.5rem;
		}
		.access-section__header {
			font-size: 1.25rem;
			font-weight: 700;
			color: #1C2086;
			padding-bottom: 0.75rem;
			border-bottom: 2px solid #1C2086;
			margin-bottom: 1.5rem;
		}
		.access-section__sub-header {
			font-size: 0.9375rem;
			color: #555;
			margin-bottom: 1.25rem;
		}
		.access-section__city-group { margin-bottom: 2rem; }
		.access-section__city-title {
			font-size: 1.125rem;
			font-weight: 700;
			color: #1C2086;
			padding-left: 0.75rem;
			border-left: 3px solid #1C2086;
			margin-bottom: 1rem;
		}
		.access-hall-grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 1rem;
		}
		.access-hall-card {
			background: #F0FAFF;
			border: 1px solid #dde8f5;
			border-radius: 0.75rem;
			padding: 1rem 1.125rem;
		}
		.access-hall-card__name {
			font-size: 0.9375rem;
			font-weight: 700;
			color: #1C2086;
			display: block;
			margin-bottom: 0.5rem;
		}
		.access-hall-card__name:hover { text-decoration: underline; }
		.access-hall-card__address {
			font-size: 0.875rem;
			color: #555;
			line-height: 1.7;
			margin-bottom: 0.75rem;
		}
		.access-hall-card__map-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 2.25rem;
			border: 1.5px solid #1C2086;
			border-radius: 0.375rem;
			color: #1C2086;
			font-size: 0.875rem;
			font-weight: 700;
			transition: background 0.15s, color 0.15s;
		}
		.access-hall-card__map-btn::after { content: " ›"; }
		.access-hall-card__map-btn:hover { background: #1C2086; color: #fff; }

		
		@media screen and (max-width: 767px) {

			.page-mv { padding: 1.5rem 0 1rem; }
			.page-mv__title { font-size: 1.5rem; }
			.page-mv__subtitle { font-size: 0.9375rem; }
		

			.page-tab__item a { font-size: 0.8125rem; }
		

			.worry-guide__items { grid-template-columns: repeat(2, 1fr); }
			.worry-guide__box { padding: 1.5rem 1rem; }
			.worry-guide__item a { width: 100%; height: auto; padding: 1.25rem 0.5rem; font-size: 1.125rem; }
		

			.toc__items { grid-template-columns: repeat(2, 1fr); }
		

			.consult-banner { flex-direction: column; gap: 1.25rem; padding: 1.5rem 1.25rem; }
			.consult-banner__img { width: 100%; }
			.consult-banner__title { font-size: 1.5rem; }
			.consult-banner__text { font-size: 1rem; }
		

			.document-cards { grid-template-columns: 1fr; }
			.document-section__sub-lead::before,
			.document-section__sub-lead::after { display: none; }
		

			.voice-section__cards { grid-template-columns: 1fr; }
			.voice-section__card { width: 100%; height: auto; }
			.voice-section__card-img { width: 100%; height: 12.5rem; }
		

			.hall-banner__box { height: auto; padding: 2rem 1.25rem; }
			.hall-banner__title { font-size: 1.25rem; }
			.hall-banner__badge { width: 7.5rem; height: 7.5rem; font-size: 0.875rem; }
			.hall-banner__badge .num { font-size: 1.375rem; }
		

			.p-plan-card { flex-direction: column; gap: 1.25rem; padding: 1.25rem; }
			.p-plan-card__img { width: 100%; height: 12rem; }
			.p-plan-card__price { font-size: 2.25rem; }
			.p-plan-card__title { font-size: 1.25rem; }
		

			.hall-section__card { flex-direction: column; gap: 1.25rem; padding: 1.25rem; }
			.hall-section__body { width: 100%; }
			.hall-section__point-text { max-width: 100%; }
			.hall-section__imgs { width: 100%; height: auto; aspect-ratio: 450 / 294; }
		

			.reason-nav__items { grid-template-columns: repeat(2, 1fr); }
			.reason-detail { padding: 1.25rem; }
			.reason-detail__content { flex-direction: column; }
			.reason-detail__img { width: 100%; height: 12rem; }
			.reason-detail__img--circle { width: 10rem; height: 10rem; order: -1; align-self: center; }
		


			/* リード本文 */
			.page-intro { padding: 1.5rem 0; }
			.page-intro__text { font-size: 1rem; line-height: 2; }

			/* お悩み別ガイド */
			.worry-guide { padding: 0.75rem 0 2rem; }
			.worry-guide__title { font-size: 1.25rem; }

			/* 目次 */
			.toc { padding: 1.25rem 1rem 1.5rem; margin: 1.5rem 0; }
			.toc__title { font-size: 1.125rem; }
			.toc__item { padding: 0; }
			.toc__item a { flex-direction: column; align-items: center; text-align: center; gap: 0.5rem; padding: 1rem 0.75rem; font-size: 0.9375rem; }
			.toc__item-number { font-size: 1.125rem; width: 2.25rem; height: 2.25rem; }

			/* 事前相談バナー */
			.consult-banner__img { width: 100%; height: 12rem; }
			.consult-banner__body { max-width: 100%; }
			.consult-banner__btn { width: 100%; height: 4rem; font-size: 1.125rem; }

			/* ステップセクション */
			.step-section__inner { padding: 1.5rem 1.25rem; }
			.step-section__label { font-size: 1.25rem; }
			.step-section__text-img { flex-direction: column-reverse; gap: 1.25rem; }
			.step-section__img { width: 100%; }
			.step-section__text { font-size: 1rem; }
			.step-section__point-title { font-size: 1.0625rem; }
			.step-section__point-item { font-size: 1rem; }

			/* 資料請求セクション */
			.document-cards { grid-template-columns: 1fr; justify-content: stretch; }
			.document-card { width: auto; height: auto; }
			.document-card__img { height: 12rem; }
			.btn-center .btn { width: 100%; height: 4rem; font-size: 1.125rem; }

			/* お客様の声 */
			.voice-section__cards { grid-template-columns: 1fr; justify-content: stretch; }
			.voice-section__card { width: auto; height: auto; padding-bottom: 1rem; }
			.voice-section__card-img { width: 100%; height: 12rem; }
			.voice-section__card-title { font-size: 1.0625rem; }
			.voice-section__card-text { font-size: 1rem; }

			/* 会館一覧バナー */
			.hall-banner__title { font-size: 1.25rem; }
			.hall-banner__badge { width: 7rem; height: 7rem; font-size: 0.8125rem; }
			.hall-banner__badge .num { font-size: 1.25rem; }

			/* プランカード */
			.p-plan-card__price-tax { font-size: 1.125rem; }
			.p-plan-card__tag { font-size: 0.9375rem; height: 2rem; padding: 0 0.75rem; }

			/* 葬儀場 */
			.hall-section__point-title { font-size: 1.25rem; }
			.hall-section__point-text { font-size: 1rem; }

			/* 選ばれる理由 */
			.reason-nav { padding: 1.25rem 1rem; }
			.reason-nav__badge { font-size: 1rem; }
			.reason-nav__item a { font-size: 1rem; }
			.reason-detail__title { font-size: 1.25rem; }
			.reason-detail__text { font-size: 1rem; }
		

			.company-table th { width: 6rem; padding: 0.875rem 0.75rem; font-size: 0.875rem; white-space: normal; }
			.company-table td { padding: 0.875rem 0.75rem; font-size: 0.875rem; }
			.company-table__map { width: 100%; }
			.timeline__item { grid-template-columns: 4rem 2rem 1fr; }
			.timeline__year { font-size: 1rem; padding-top: 1.1rem; }
			.timeline__dot { margin-top: 1.15rem; }
			.timeline__content { padding: 0.75rem 0 1.25rem 0.5rem; font-size: 1rem; }
			.timeline__content-inner { flex-direction: column; gap: 0.75rem; }
			.timeline__img { width: 100%; }
		

			/* 手続きセクション */
			.procedure-notice { font-size: 0.9375rem; padding: 0.875rem 1rem; }
			.procedure-nav { padding: 1.25rem 1rem 1.5rem; margin-bottom: 1.5rem; }
			.procedure-nav__list { grid-template-columns: 1fr; }
			.procedure-nav__text { font-size: 1rem; }
			.procedure-imgs { grid-template-columns: 1fr; justify-content: stretch; }
			.procedure-img-item { width: 100%; }
			.procedure-img-item__label { font-size: 1rem; }
			.procedure-check { flex-direction: column; }
			.procedure-check__img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
			.procedure-cards { grid-template-columns: 1fr; }
			.procedure-card__category { font-size: 1rem; }
			.procedure-card__deadline { font-size: 0.8125rem; }
			.procedure-flow { grid-template-columns: 1fr; }
			.procedure-flow__arrow { display: none; }
			.procedure-flow-card__category { font-size: 1rem; height: auto; min-height: 50px; flex-wrap: wrap; padding: 0.75rem 1rem; }
			.procedure-subcard__title { font-size: 1rem; height: auto; min-height: 50px; }
			.procedure-step { padding: 1.25rem; }
			.procedure-step__title { font-size: 1.125rem; }
			.procedure-step__lead { font-size: 1rem; }
			.faq-section { padding: 1rem 1.25rem; }
			.faq-section__title { font-size: 1.25rem; padding-bottom: 0.75rem; margin-bottom: 1rem; }
			.faq-item__question { padding: 1rem 1.25rem; }
			.faq-item__question-text { font-size: 1rem; gap: 0.75rem; }
			.faq-item__question-text::before { font-size: 1.25rem; }
			.faq-item__answer { margin: 0 1rem 1rem; font-size: 1rem; }
			.procedure-section__sublead { font-size: 1rem; }

			/* ご相談方法 */
			.consult-method__grid { grid-template-columns: 1fr; gap: 0.875rem; }
			.consult-method__card { padding: 1rem 1rem 1.25rem; }
			.consult-method__card-title { font-size: 1.25rem; margin-bottom: 0.5rem; }
			.consult-method__card-img { height: auto; aspect-ratio: 16/9; }
			.consult-method__card-text { font-size: 0.875rem; margin-bottom: 0.75rem; }
			.consult-method__card .btn { font-size: 0.875rem; height: 2.5rem; }

			/* 電話バナー */
			.tel-banner__box { padding: 1.5rem 1.25rem; border-radius: 0.75rem; }
			.tel-banner__meta { font-size: 0.875rem; gap: 0.5rem; flex-wrap: wrap; justify-content: center; }
			.tel-banner__title { font-size: 1.125rem; margin-bottom: 1.25rem; }
			.tel-banner__phones { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; margin-bottom: 1.25rem; }
			.tel-banner__phone-area { font-size: 1.125rem; padding: 0.5rem 0; }
			.tel-banner__phone-num { font-size: 1.25rem; padding: 0.5rem 0.25rem; white-space: normal; word-break: break-all; }
			.tel-banner__footer { grid-template-columns: 1fr; gap: 1rem; }
			.tel-banner__staff { padding: 0.75rem 1rem; }
			.tel-banner__check-item { font-size: 0.875rem; }

			/* 会員様特典 */
			.member-benefit__highlight { font-size: 1rem; padding: 0.625rem 1rem 0.375rem; }
			.member-benefit__highlight .num { font-size: 1.875rem; }
			.member-benefit__highlight::after { bottom: -0.875rem; }
			.member-benefit__grid { grid-template-columns: 1fr; gap: 1rem; }
			.member-benefit__item { padding: 1rem; }
			.member-benefit__item-header { gap: 0.375rem; justify-content: center; padding-left: 0; position: static; }
			.member-benefit__item-num { font-size: 2.5rem; position: static; }
			.member-benefit__item-title { font-size: 1.125rem; }
			.member-benefit__item-sub { font-size: 0.9375rem; }
			.member-benefit__item-header > div { min-height: 3rem; }
			.member-benefit__item-img { height: auto; aspect-ratio: 16/9; }
			.member-benefit__item-note { font-size: 0.8125rem; }
			.member-benefit__item-discount { font-size: 1rem; }
			.member-benefit__item-body { font-size: 0.9375rem; }
			.member-benefit__item-discount .num { font-size: 2.125rem; }
			.member-benefit__item-caution { font-size: 0.8125rem; }

			/* 会員価格カード */
			.member-price-card { flex-direction: column; }
			.member-price-card__img { width: 100%; height: 12rem; }
			.member-price-card__price { font-size: 2.25rem; }

			/* お申し込みの流れ */
			.apply-flow__steps { display: flex; flex-direction: column; gap: 1rem; }
			.apply-flow__step { width: 100%; height: auto; }
			.apply-flow__step-img { width: calc(100% - 1.5rem); height: auto; aspect-ratio: 16/9; margin: 0.75rem auto; }
			.apply-flow__step-text { padding: 0 0.75rem 0.75rem; }
			.apply-flow__steps--form .apply-flow__step { width: 100%; }
			.apply-flow__steps--form .apply-flow__step-img { width: calc(100% - 1.5rem); height: auto; aspect-ratio: 16/9; }
			.apply-flow__steps--form .apply-flow__step-header { font-size: 1.125rem; }
			.apply-flow__steps--form .apply-flow__step-text { font-size: 1rem; }
			.apply-flow__arrow { display: none; }
			.apply-flow__box { padding: 1.25rem; }
			.apply-flow__tab { padding: 0.625rem 1rem; font-size: 1rem; }
			.apply-flow__title { font-size: 1.375rem; }
		

			.form-box { padding: 1.5rem 1.25rem; margin-top: 1.25rem; }
			.service-feature__grid { grid-template-columns: 1fr; }
			.trust-grid { grid-template-columns: 1fr; }
			.trust-card__title { font-size: 1.125rem; }
			.trust-card__text { font-size: 0.9375rem; }
			.trust-intro { gap: 0.5rem; margin-bottom: 1.75rem; grid-template-columns: 1fr; justify-content: stretch; }
			.trust-intro__item { font-size: 0.9375rem; }
			.heartline-card { flex-direction: column; height: auto; }
			.heartline-card__img { width: calc(100% - 1.5rem); height: auto; aspect-ratio: 16/9; margin: 0.75rem auto 0; }
			.heartline-card__logo { justify-content: center; }
			.heartline-card__logo-img { height: 2rem; }
			.kyosai-plan__card-top { flex-direction: column; }
			.kyosai-plan__card-img { width: 100%; height: 12rem; }
			.kyosai-plan__card-title { font-size: 1.25rem; }
			.kyosai-plan__card-price { font-size: 2rem; }
		

			.voice-review-card__header { flex-direction: column; }
			.voice-review-card__img { width: 100%; height: 12rem; }
			.voice-review-card__stars { gap: 0.75rem; }
			.voice-review-card__date { font-size: 0.875rem; }
			.voice-review-card__hall { font-size: 0.875rem; }
			.voice-review-card__text { font-size: 0.9375rem; }
			.voice-hall-btns {
				flex-direction: column;
				align-items: center;
				gap: 0.625rem;
			}
			.voice-hall-btns .btn {
				flex: 0 0 auto;
				width: 100%;
				height: 3rem;
				font-size: 1rem;
				padding: 0 1.25rem;
				white-space: nowrap;
			}
			.access-hall-grid { grid-template-columns: repeat(2, 1fr); }
			.access-section__city-title { font-size: 1rem; }
		
		}

		/* ========== たまのやについて ========== */
		.about-content-card {
			background: #fff;
			border: 1px solid #e0e0e0;
			border-radius: 1rem;
			padding: 2rem 2.5rem;
		}
		.about-content-card__header {
			padding-bottom: 0.875rem;
			border-bottom: 1.5px solid #c8a87a;
			margin-bottom: 1.5rem;
		}
		.about-content-card__title {
			font-size: 1.375rem;
			font-weight: 700;
			color: #A58672;
		}
		.about-content {
			display: flex;
			gap: 2.5rem;
			align-items: flex-start;
			margin-top: 0;
		}
		.about-content__text {
			flex: 1;
		}
		.about-content__text p {
			font-size: 1.125rem;
			line-height: 2;
			margin-bottom: 1.25rem;
		}
		.about-content__text p:last-child { margin-bottom: 0; }
		.about-content__img {
			flex-shrink: 0;
			width: 22rem;
			border-radius: 0.75rem;
			overflow: hidden;
		}
		.about-content__img--logo { width: 16rem; margin: 0 auto 2.5rem; border-radius: 0; overflow: visible; }
		.about-content__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
		.about-content--imgs {
			justify-content: center;
		}

		/* ========== 葬儀ブランド ========== */
		.brand-card {
			background: #fff;
			border: 1px solid #e0e0e0;
			border-radius: 1rem;
			padding: 2rem 2.5rem;
			margin-top: 2rem;
		}
		.brand-card__header {
			border-bottom: 2px solid #F0FAFF;
			padding-bottom: 1rem;
			margin-bottom: 1.5rem;
		}
		.brand-card__title {
			font-size: 1.75rem;
			font-weight: 700;
			color: #1C2086;
		}
		.brand-card__subtitle {
			font-size: 1.25rem;
			font-weight: 700;
			color: #29abe2;
			margin-top: 0.375rem;
		}
		.brand-card__content {
			display: flex;
			gap: 2.5rem;
			align-items: flex-start;
		}
		.brand-card__text {
			flex: 1;
		}
		.brand-card__text p {
			font-size: 1rem;
			line-height: 2;
			margin-bottom: 1rem;
		}
		.brand-card__text p:last-child { margin-bottom: 0; }
		.brand-card__img {
			flex-shrink: 0;
			width: 20rem;
			border-radius: 0.5rem;
			overflow: hidden;
		}
		.brand-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

		/* ========== 会館一覧グリッド ========== */
		.about-hall-cards {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 1rem;
			margin-top: 2.5rem;
		}
		.about-hall-card__inner {
			display: flex;
			flex-direction: column;
			background: #fff;
			border-radius: 1.25rem;
			padding: 0.625rem 0.625rem 1.25rem;
			transition: opacity 0.2s;
			height: 100%;
		}
		.about-hall-card__inner:hover { opacity: 0.75; }
		.about-hall-card__img {
			padding-top: 66.6666666667%;
			position: relative;
		}
		.about-hall-card__img img {
			position: absolute;
			top: 0; left: 0;
			width: 100%; height: 100%;
			object-fit: cover;
			border-radius: 0.625rem;
		}
		.about-hall-card__body {
			flex: 1;
			margin-top: 1.25rem;
			padding: 0 1.25rem;
		}
		.about-hall-card__name {
			font-size: 1.125rem;
			font-weight: 700;
			color: #1C2086;
		}
		.about-hall-card__address {
			font-size: 1rem;
			font-weight: 700;
			margin-top: 0.625rem;
		}

		@media screen and (max-width: 767px) {
			.about-content-card { padding: 1.25rem; }
			.about-content-card__title { font-size: 1.125rem; }
			.about-content { flex-direction: column; gap: 1.25rem; }
			.about-content__img { width: 100%; order: -1; }
			.about-content__text p { font-size: 1rem; }

			.brand-card { padding: 1.25rem; margin-top: 1.25rem; }
			.brand-card__title { font-size: 1.375rem; }
			.brand-card__content { flex-direction: column; gap: 1rem; }
			.brand-card__img { width: 100%; order: -1; }
			.brand-card__text p { font-size: 0.875rem; }

			.about-hall-cards { grid-template-columns: repeat(1, 1fr); }
			.about-hall-card__body { padding: 0 0.625rem; }
			.about-hall-card__name { font-size: 1.25rem; }
			.about-hall-card__address { font-size: 1.125rem; margin-top: 0.3125rem; }
		}


		/* ========== 会館バッジ ========== */
		.hall-badges {
			display: flex;
			justify-content: center;
			align-items: center;
			margin-top: 2.5rem;
		}
		.hall-badge {
			width: 46.625rem;
			height: 13.125rem;
		}
		.hall-badge img {
			width: 100%;
			height: 100%;
			object-fit: contain;
			display: block;
		}
		.hall-badges__lead {
			text-align: center;
			font-size: 1.125rem;
			font-weight: 500;
			margin-top: 2rem;
		}

		@media screen and (max-width: 767px) {
			.hall-badges {
				margin-top: 1.5rem;
			}
			.hall-badge {
				width: 100%;
				height: auto;
				aspect-ratio: 746 / 210;
			}
			.hall-badges__lead {
				font-size: 1rem;
				margin-top: 1.25rem;
			}
		}

		/* ========== 会館フィルタータブ ========== */
		.hall-filter {
			margin-top: 2.5rem;
		}
		.hall-filter__area {
			text-align: center;
			display: flex;
			justify-content: center;
			gap: 0.75rem;
			flex-wrap: wrap;
		}
		.hall-filter__btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: 1.125rem;
			font-weight: 700;
			color: #1C2086;
			background: #fff;
			border: 2px solid #1C2086;
			border-radius: 0.5rem;
			padding: 0.625rem 1.5rem;
			cursor: pointer;
			transition: background 0.2s, color 0.2s;
			white-space: nowrap;
		}
		.hall-filter__btn:hover {
			background: #1C2086;
			color: #fff;
		}
		.hall-filter__btn.current {
			background: #1C2086;
			color: #fff;
		}

		@media screen and (max-width: 767px) {
			.hall-filter__area {
				gap: 0.5rem;
				justify-content: flex-start;
			}
			.hall-filter__btn {
				font-size: 1rem;
				padding: 0.5rem 1rem;
			}
		}

		/* ========== ユーティリティ：margin ========== */
		.mt5  { margin-top: 0.3125rem; }
		.mt10 { margin-top: 0.625rem; }
		.mt15 { margin-top: 0.9375rem; }
		.mt20 { margin-top: 1.25rem; }
		.mt25 { margin-top: 1.5625rem; }
		.mt30 { margin-top: 1.875rem; }

		.mb5  { margin-bottom: 0.3125rem; }
		.mb10 { margin-bottom: 0.625rem; }
		.mb15 { margin-bottom: 0.9375rem; }
		.mb20 { margin-bottom: 1.25rem; }
		.mb25 { margin-bottom: 1.5625rem; }
		.mb30 { margin-bottom: 1.875rem; }


		/* ========== 事前相談 電話番号グリッド ========== */
		.consult-phone__grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 0.75rem;
			margin: 0.875rem 0 0.875rem;
		}
		.consult-phone__item {
			display: flex;
			flex-direction: column;
			align-items: center;
			background: #fff;
			border-radius: 0.5rem;
			overflow: hidden;
			text-decoration: none;
			transition: opacity 0.2s;
		}
		.consult-phone__item:hover { opacity: 0.8; }
		.consult-phone__area {
			display: block;
			width: 100%;
			background: #2988B2;
			color: #fff;
			font-size: 1.375rem;
			font-weight: 700;
			text-align: center;
			padding: 0.375rem 0;
		}
		.consult-phone__num {
			display: block;
			color: #2988B2;
			font-size: 2rem;
			font-weight: 700;
			padding: 0.625rem 0.5rem;
			white-space: nowrap;
		}
		.consult-phone__note {
			font-size: 1.125rem;
			font-weight: 700;
			color: #555;
			text-align: center;
			margin-top: 0.25rem;
		}
		@media screen and (max-width: 767px) {
			.consult-phone__grid {
				grid-template-columns: repeat(2, 1fr);
			}
			.consult-phone__num {
				font-size: 1.375rem;
			}
		}

		.orange-title { color: #E5700C; }

		/* ========== 本文テキスト（中央・通常ウェイト） ========== */
		.section-text {
			font-size: 1.125rem;
			font-weight: 400;
			line-height: 2;
			color: #333;
			text-align: center;
		}
		@media screen and (max-width: 767px) {
			.section-text {
				font-size: 1rem;
				text-align: left;
			}
		}
