﻿.header {
			position: sticky;
			top: 0;
			z-index: 50;
			background: rgba(245, 242, 235, 0.96);
			border-bottom: 1px solid var(--line);
		}

		.header-inner {
			margin: 0 auto;
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 8px 24px;
			gap: 14px;
		}

		.logo {
			flex: 0 0 auto;
		}

		.logo img {
			height: 44px;
			width: auto;
		}

		.header-menu-toggle,
		.header-menu-overlay {
			display: none;
		}

		.header-links {
			display: flex;
			align-items: center;
			gap: 8px;
			margin-left: 40px;
		}

		.header-scroll-links {
			display: none;
			align-items: center;
			gap: 24px;
			margin-right: 24px;
		}

		.header.is-scrolled .header-scroll-links {
			display: flex;
		}

		.header-scroll-links a {
			font-size: 16px;
			line-height: 1;
			font-weight: 500;
			color: #5d5232;
			white-space: nowrap;
		}

		.header-links img {
			height: 44px;
			transition: transform 0.2s ease, filter 0.2s ease;
		}

		.header-links .header-cta-link img {
			width: 333px;
		}

		.header-links a:hover img {
			transform: translateY(-1px);
			filter: brightness(1.03);
		}

		.section {
			margin: 0 auto;
			padding: 20px 0;
		}

		.section.introduction-section,
		.section.solution-section,
		.section.example-section,
		.section.voice-section,
		.section.why-brainco-section,
		.section.how_to_use-section,
		.section.plan-section,
		.section.faq-section {
			display: flex;
			flex-direction: column;
			justify-content: center;
		}

		.section.introduction-section {
			height: 752px;
		}

		.section.solution-section {
			height: 743px;
		}

		.section.example-section {
			height: 1410px;
		}

		.section.voice-section {
			height: 773px;
		}

		.section.why-brainco-section {
			height: 765px;
		}

		.section.how_to_use-section {
			height: 914px;
		}

		.section.plan-section {
			height: auto;
			min-height: 1866px;
		}

		.section.faq-section {
			height: 836px;
		}

		main > .section + .section {
			margin-top: var(--section-gap);
		}

		.hero-section {
			padding-top: 0;
		}

		.hero-panel {
			position: relative;
			overflow: hidden;
			width: 100%;
			height: 640px;
			border-radius: 0 0 24px 24px;
			background:
				linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.34) 100%),
				url("../img/FV.png") center center / cover no-repeat;
		}

		.hero-copy {
			position: relative;
			z-index: 1;
			width: min(100%, 1440px);
			min-height: 640px;
			margin: 0 auto;
			padding: 96px 24px 84px;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			text-align: center;
			gap: 12px;
		}

		.hero-label {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 426px;
			height: 45px;
			padding: 0 28px;
			border-radius: 10px;
			background: #2e896b;
			color: #ffffff;
			font-weight: 500;
			font-size: 20px;
			line-height: 1;
			margin: 0;
		}

		.hero-heading {
			font-family: var(--font-kaku);
			font-size: 48px;
			font-weight: 500;
			line-height: 1.45;
			letter-spacing: 0.02em;
			color: #2e896b;
		}

		.hero-heading-kana {
			position: absolute;
			left: 50%;
			bottom: 100%;
			transform: translateX(-50%);
			margin-bottom: -12px;
			width: max-content;
			font-size: 16px;
			font-weight: 500;
			line-height: 1;
			letter-spacing: 0.08em;
			color: #2e896b;
			text-align: center;
		}

		.hero-description {
			margin: 40px 0;
			font-family: var(--font-kaku);
			font-size: 18px;
			font-weight: 500;
			line-height: 1.7;
			letter-spacing: 0.04em;
			color: #6b604f;
			text-shadow: 0 1px 0 rgba(255, 255, 255, 0.65);
		}

		.hero-heading-brand {
			white-space: nowrap;
			display: inline-block;
			position: relative;
		}

		.hero-cta {
			display: flex;
			justify-content: center;
			margin-top: 64px;
			position: relative;
			z-index: 2;
		}

		.hero-cta a {
			display: inline-flex;
			justify-content: center;
			width: 100%;
		}

		.hero-cta img {
			width: 564px;
			height: auto;
			margin-inline: auto;
		}

		.sp-breadcrumb {
			display: flex;
			align-items: center;
			gap: 8px;
			padding: 10px 24px;
			font-size: 14px;
			line-height: 1.4;
			font-weight: 500;
			color: #5f584c;
			background: #f3efe4;
		}

		.sp-breadcrumb a {
			color: inherit;
			text-decoration: underline;
			text-underline-offset: 2px;
		}

		

		.overview-section {
			width: 1200px;
			padding: 52px 0 36px;
		}

		.overview-title {
			display: flex;
			justify-content: center;
			margin-bottom: var(--title-content-gap);
		}

		.overview-title img {
			width: 411px;
			height: auto;
		}

		.overview-card {
			width: 1200px;
			min-height: 424px;
			margin: 0 auto;
			padding: 72px 120px 58px;
			background: url("../img/text-container.png") center center / 1200px 424px no-repeat;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			text-align: center;
		}

		.overview-heading {
			margin: 0;
			font-size: 40px;
			line-height: 1.7;
			font-weight: bold;
			letter-spacing: 0.02em;
			color: #2e9b7d;
		}

		.overview-description {
			margin: 32px 0 0;
			font-size: 18px;
			line-height: 1.75;
			font-weight: 700;
			letter-spacing: 0.02em;
			color: #6a655e;
		}
		.kadai-section {
			width: 1200px;
			padding: 44px 0 24px;
		}
		.kadai-summary {
			display: flex;
			justify-content: center;
		}
		.kadai-title {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 80px 0 0;
			font-size: 40px;
			line-height: 1.15;
			font-weight: 500;
			color: #5d5232;
		}

		.kadai-title-copy {
			display: inline;
		}

		.kadai-title-break {
			display: none;
		}
		.sp-title-break {
			display: none;
		}
		.kadai-brand {
			position: relative;
			display: inline-block;
			white-space: nowrap;
		}
		.kadai-mark {
			display: block;
			width: 24px;
			height: 48px;
			flex: none;
			object-fit: contain;
			margin-right: 20px;
		}
		.kadai-kana {
			position: absolute;
			left: 50%;
			bottom: 100%;
			transform: translateX(-50%);
			margin-bottom: -3px;
			width: max-content;
			font-size: 16px;
			font-weight: 500;
			color: #5d5232;
			line-height: 1;
			letter-spacing: 0.08em;
			text-align: center;
		}
		.kadai-grid-top,
		.kadai-grid-bottom {
			display: grid;
			justify-content: center;
		}
		.kadai-grid-top {
			grid-template-columns: repeat(4, 282px);
			gap: 18px;
		}
		.kadai-grid-bottom {
			grid-template-columns: repeat(3, 384px);
			gap: 18px;
			margin-top: 36px;
		}
		.kadai-card,
		.kadai-solution-card {
			display: block;
			width: 100%;
			height: auto;
		}
		.kadai-card {
			width: 282px;
		}
		.kadai-summary {
			margin-top: 120px;
		}
		.kadai-summary img {
			width: 835px;
			height: auto;
		}
		.kadai-solution-card {
			width: 384px;
		}

		.headline {
			display: flex;
			justify-content: center;
			margin-bottom: var(--title-content-gap);
		}

		.headline img {
			width: 300px;
		}

		.example-section {
			padding-top: 26px;
		}

		.example-title {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 12px;
			margin: 0;
			font-size: 40px;
			line-height: 1.15;
			font-weight: 500;
			color: #5d5232;
		}

		.example-title-mark {
			display: block;
			width: 50px;
			height: 64px;
			flex: none;
			object-fit: contain;
		}

		.dekirukoto-wrap {
			width: 1200px;
			margin: 64px auto;
			padding: 0;
		}

		.dekirukoto-cards {
			width: 1200px;
			display: flex;
			flex-direction: column;
			gap: 30px;
		}

		.example-feature {
			width: 1200px;
			display: grid;
			grid-template-columns: 528px 652px;
			gap: 18px;
			justify-content: center;
			align-items: center;
		}

		.example-feature.is-reverse {
			margin: 64px 0;
		}

		.example-feature.is-reverse .example-feature-image {
			order: 2;
			justify-self: end;
		}

		.example-feature.is-reverse .example-feature-text {
			order: 1;
		}

		.example-feature-image{
			width: 528px;
			height: 318px;
		}

		.example-feature-text {
			width: 652px;
			height: auto;
		}

		.example-feature-image {
			background: #ffffff;
			padding: 10px;
		}

		.example-feature-image img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		.example-feature-text {
			background: transparent;
			padding: 0;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
		}

		.example-feature-title {
			margin: 0;
			font-size: 24px;
			line-height: 1.3;
			font-weight: 500;
			color: #5d5232;
		}

		.example-feature-title.is-right {
			text-align: right;
		}

		.example-feature-title .accent {
			color: #2c9c7f;
		}

		.example-feature-description {
			margin: 20px 0 0;
			background: #ffffff;
			padding: 20px 22px;
			border-radius: 6px;
			font-size: 18px;
			line-height: 1.7;
			font-weight: 500;
			color: #34413e;
		}

		.example-reference-link {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			margin-top: 20px;
			font-size: 16px;
			line-height: 1.4;
			font-weight: 500;
			color: #2e896b;
			align-self: flex-end;
		}

		.example-reference-link img {
			width: 16px;
			height: 16px;
		}

		.achievement-section {
			width: 1200px;
			margin: 0 auto;
			padding: 24px 0 12px;
		}

		.achievement-stack {
			display: flex;
			flex-direction: column;
			align-items: center;
		}

		.achievement-title {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 12px;
			margin: 0;
			font-size: 40px;
			line-height: 1.15;
			font-weight: 500;
			color: #5d5232;
		}

		.achievement-title-mark {
			display: block;
			width: 50px;
			height: 64px;
			flex: none;
			object-fit: contain;
		}

		.achievement-subtitle,
		.achievement-rate-title {
			position: relative;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			font-size: 32px;
			line-height: 1.45;
			font-weight: 500;
			color: #2e896b;
			padding: 0 56px;
		}

		.achievement-subtitle {
			margin: 60px 0 0;
		}

		.achievement-rate-title {
			margin: 0 auto;
		}

		.achievement-subtitle::before,
		.achievement-subtitle::after,
		.achievement-rate-title::before,
		.achievement-rate-title::after {
			content: "";
			position: absolute;
			top: 50%;
			width: 72px;
			height: 2px;
			background: #8dcab3;
		}

		.achievement-subtitle::before,
		.achievement-rate-title::before {
			left: -24px;
		}

		.achievement-subtitle::after,
		.achievement-rate-title::after {
			right: -24px;
		}

		.achievement-cards {
			width: 1200px;
			display: grid;
			grid-template-columns: 676px 500px;
			gap: 24px;
			margin-top: 32px;
		}

		.achievement-cards-left {
			display: grid;
			grid-template-columns: repeat(2, 326px);
			grid-template-rows: repeat(2, 215px);
			gap: 24px;
		}

		.achievement-card,
		.achievement-card-large {
			background: #a8dcc9;
			border-radius: 20px;
			padding: 24px;
			color: #5d5232;
		}

		.achievement-card {
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
		}

		.achievement-card-wide {
			grid-column: 1 / 3;
		}

		.achievement-label,
		.achievement-rate-label {
			font-size: 24px;
			line-height: 1.4;
			font-weight: 500;
			color: #2e896b;
		}

		.achievement-value-line,
		.achievement-rate-value {
			display: inline-flex;
			align-items: flex-end;
			gap: 6px;
			margin-top: 10px;
			line-height: 1;
		}

		.achievement-value-main {
			font-size: 88px;
			line-height: 0.9;
			font-weight: 700;
			color: #5d5232;
		}

		.achievement-value-unit {
			font-size: 40px;
			line-height: 1;
			font-weight: 700;
			color: #5d5232;
		}

		.achievement-card-large {
			width: 500px;
			height: 454px;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
		}

		.achievement-rate-value {
			gap: 8px;
		}

		.achievement-rate-main {
			font-size: 100px;
			line-height: 0.9;
			font-weight: 700;
			color: #f1485c;
		}

		.achievement-rate-unit {
			font-size: 64px;
			line-height: 1;
			font-weight: 700;
			color: #5d5232;
		}

		.achievement-rate {
			margin-top: 120px;
			width: 1200px;
			display: flex;
			flex-direction: column;
			align-items: center;
		}

		.achievement-rate-bars {
			width: 960px;
			max-width: 100%;
			display: grid;
			gap: 24px;
			margin: 48px auto 0;
		}

		.achievement-rate-row {
			display: grid;
			grid-template-columns: 300px 1fr;
			align-items: center;
			gap: 24px;
		}

		.achievement-rate-row-label {
			font-size: 20px;
			line-height: 1.35;
			font-weight: 500;
			color: #2e896b;
			text-align: center;
		}

		.achievement-rate-bar {
			position: relative;
			height: 56px;
			border-radius: 0;
			overflow: hidden;
		}

		.achievement-rate-bar-fill {
			height: 100%;
			display: block;
			position: relative;
			background: #2e896b;
		}

		.achievement-rate-bar-value {
			position: absolute;
			right: 16px;
			top: 50%;
			transform: translateY(-50%);
			font-size: 24px;
			line-height: 1;
			font-weight: 700;
			color: #ffffff;
		}

		

		.grid-3 {
			display: grid;
			gap: 10px;
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.card {
			background: var(--card);
			border-radius: 14px;
			overflow: hidden;
		}

		.senmonka-block,
		.program-block,
		.kpi-block,
		.plan-section {
			width: 100%;
			max-width: 100%;
			margin: 0 auto;
		}

		.how_to_use-section {
			width: 100%;
			max-width: 100%;
			margin: 0 auto;
		}

		.why-brainco-section .senmonka-block,
		.why-brainco-section .program-block,
		.why-brainco-section .kpi-block,
		.why-brainco-section .kpi-slider-section {
			margin-top: var(--block-gap);
		}

		.senmonka-title-large,
		.senmonka-title-medium,
		.voice-title {
			display: flex;
			justify-content: center;
		}

		.senmonka-title-large {
			margin-bottom: var(--title-content-gap);
		}

		.senmonka-title-medium {
			margin-bottom: var(--title-content-gap);
		}

		.senmonka-title-large img {
			width: 571px;
			height: auto;
		}

		.senmonka-title-medium img {
			width: 480px;
			height: auto;
		}

		.senmonka-cards {
			width: 1180px;
			margin: 0 auto;
			display: grid;
			grid-template-columns: repeat(2, 580px);
			gap: 20px;
			justify-content: center;
			margin-top: 40px;
		}

		.senmonka-cards:has(> .senmonka-card:only-child) {
			grid-template-columns: 1fr;
			justify-items: center;
		}

		.senmonka-card {
			width: 580px;
		}

		.senmonka-card img {
			width: 100%;
			height: auto;
		}

		.program-carousel {
			position: relative;
			width: 100%;
			max-width: 1200px;
			margin: 0 auto;
			padding-inline: 64px;
		}

		.voice-section .program-carousel {
			max-width: none;
			width: 100%;
			margin-left: 0;
			margin-right: 0;
			padding-inline: clamp(24px, 4vw, 64px);
			overflow-x: clip;
		}

		.voice-section .program-block {
			width: 100%;
			max-width: 100%;
		}

		.program-viewport {
			width: 100%;
			overflow-x: auto;
			overflow-y: hidden;
			scroll-behavior: smooth;
			scrollbar-width: none;
			-ms-overflow-style: none;
		}

		.program-viewport::-webkit-scrollbar {
			display: none;
		}

		.program-track {
			display: flex;
			gap: 20px;
			width: max-content;
			margin-top: 40px;
		}

		.program-card {
			width: 400px;
			flex: 0 0 400px;
		}

		.program-card img {
			width: 400px;
			height: auto;
		}

		.voice-section .program-card {
			position: relative;
		}

		.voice-card-link {
			position: absolute;
			right: 18px;
			bottom: 14px;
			z-index: 1;
			display: inline-flex;
			line-height: 0;
		}

		.voice-card-link img {
			width: 191px;
			height: 36px;
			display: block;
		}

		.program-nav {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			width: 52px;
			height: 52px;
			border: 0;
			padding: 0;
			background: transparent;
			cursor: pointer;
			z-index: 2;
		}

		.program-nav img {
			width: 52px;
			height: 52px;
			display: block;
		}

		.program-nav.prev {
			left: 8px;
		}

		.program-nav.prev img {
			transform: scaleX(-1);
		}

		.program-nav.next {
			right: 8px;
		}

		.program-nav.is-hidden {
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
		}

		.kpi-slider-section {
			width: 100%;
			margin-left: 0;
			margin-right: 0;
			padding: 0;
		}

		.kpi-slider {
			width: 100%;
			overflow: hidden;
		}

		.kpi-slider-track {
			display: flex;
			width: max-content;
			animation: kpi-slider-marquee 54s linear infinite;
			will-change: transform;
		}

		.kpi-slider-group {
			display: flex;
			gap: 16px;
			padding-right: 16px;
		}

		.kpi-slide {
			width: 399px;
			flex: 0 0 399px;
		}

		.kpi-slide img {
			display: block;
			width: 399px;
			height: auto;
		}

		@keyframes kpi-slider-marquee {
			from {
				transform: translateX(0);
			}

			to {
				transform: translateX(-50%);
			}
		}

		.voice-title img {
			width: 352px;
		}

		.how_to_use-stack {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: var(--stack-gap);
		}

		.how_to_use-title img {
			width: 1051px;
			height: auto;
		}

		.how_to_use-step {
			margin-top: 64px;
		}
		
		.how_to_use-step img {
			width: 1200px;
			height: auto;
		}

		.plan-stack {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 0;
		}

		.plan-title img {
			width: 400px;
			height: auto;
		}

		.plan-title-sub {
			margin-top: var(--title-content-gap);
		}

		.plan-title-sub img {
			width: 288px;
			height: auto;
		}

		.plan-stack > p {
			margin: 12px 0 48px;
		}

		.plan-cards {
			width: 100%;
			display: flex;
			justify-content: center;
			gap: 22px;
			margin-top: 0;
		}

		.price-note-box {
			width: 960px;
			min-height: 168px;
			background: #fff4e8;
			border-radius: 6px;
			margin-top: 16px;
			margin-bottom: 64px;
			padding: 14px 28px;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-self: center;
			/* 縦中央寄せ */
		}

		.price-note-title {
			margin: 0;
			font-size: 18px;
			font-weight: bold;
			line-height: 1.35;
			color: #4a3f2f;
			text-align: left;
		}

		.price-note-list {
			margin: 8px 0 0;
			display: grid;
			gap: 4px;
		}

		.price-note-item {
			margin: 0;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.5;
			color: #5a5144;
			text-align: left;
		}

		.price-note-mark {
			color: #e3883f;
			font-weight: 700;
			margin-right: 6px;
		}

		.comparison-section {
			width: 1200px;
			margin: 0 auto;
			padding: 8px 0 10px;
		}

		.comparison-title {
			display: flex;
			justify-content: center;
			margin: 16px 0;
		}

		.comparison-title img {
			width: 480px;
			height: 38px;
		}

		.comparison-description {
			margin: 0 0 48px;
			font-size: 16px;
			line-height: 1.5;
			font-weight: 500;
			color: #564f45;
			text-align: center;
		}

		.comparison-table-wrap {
			width: 1200px;
			height: 505px;
			border: 1px solid #ebe7de;
			border-radius: 6px;
			overflow: hidden;
			background: #f4f4f4;
		}

		.comparison-table {
			width: 1200px;
			height: 505px;
			border-collapse: collapse;
			table-layout: fixed;
		}

		.comparison-table col:first-child {
			width: 200px;
		}

		.comparison-table col:nth-child(2),
		.comparison-table col:nth-child(3),
		.comparison-table col:nth-child(4) {
			width: 330.67px;
		}

		.comparison-table tr {
			height: 97px;
		}

		.comparison-table th,
		.comparison-table td {
			border: 1px solid #e2ddd4;
			padding: 8px 12px;
			background: #ffffff;
			vertical-align: middle;
		}

		.comparison-table thead th {
			background: #f2ebe1;
			font-size: 18px;
			line-height: 1.25;
			font-weight: 700;
		}

		.comparison-table thead th:first-child {
			background: #fff4e8;
		}

		.comparison-table thead th:nth-child(2),
		.comparison-table thead th:nth-child(3),
		.comparison-table thead th:nth-child(4),
		.comparison-table tbody th {
			background: #fff4e8;
		}

		.comparison-table thead th:nth-child(3) {
			background: #A8DCC9;
			color: #2f8c6d;
			border: 3px solid #2f8c6d;
		}

		.comparison-table tbody td:nth-child(3) {
			border: 3px solid #2f8c6d;
			background: #ffffff;
		}

		.comparison-table tbody tr:last-child td:nth-child(3) {
			border-bottom: 3px solid #2f8c6d;
			box-shadow: inset 0 -2px 0 #2f8c6d;
		}

		.comparison-table th:first-child,
		.comparison-table td:first-child {
			text-align: left;
			vertical-align: middle;
		}

		.comparison-table th:not(:first-child),
		.comparison-table td:not(:first-child) {
			text-align: center;
			vertical-align: middle;
		}

		.comparison-table .label-main {
			display: block;
			font-size: 16px;
			font-weight: bold;
			line-height: 1.35;
			color: #4f473b;
		}

		.comparison-table .label-sub {
			display: block;
			font-size: 14px;
			font-weight: 600;
			line-height: 1.4;
			color: #908677;
			margin-top: 4px;
		}

		.comparison-table .header-en {
			display: block;
			font-size: 14px;
			font-weight: bold;
			font-weight: 700;
			letter-spacing: 0.12em;
			line-height: 1.2;
			color: #9a9489;
			margin-bottom: 4px;
		}

		.comparison-table .header-main {
			display: block;
			font-size: 18px;
			font-weight: bold;
			line-height: 1.2;
			color: #4f473b;
		}

		.comparison-table thead th:nth-child(3) .header-en,
		.comparison-table thead th:nth-child(3) .header-main {
			color: #2f8c6d;
		}

		.comparison-table .value-main {
			display: block;
			font-size: 24px;
			font-weight: bold;
			line-height: 1.25;
			color: #485055;
		}

		.comparison-table .value-main.is-accent {
			color: #2f8c6d;
		}

		.comparison-table .value-sub {
			display: block;
			font-size: 14px;
			line-height: 1.35;
			color: #605a50;
			margin-top: 4px;
		}

		.comparison-table .value-note {
			display: block;
			font-size: 11px;
			line-height: 1.35;
			color: #8c8377;
			margin-top: 4px;
		}

		.comparison-table .symbol {
			display: block;
			font-size: 33px;
			font-weight: 700;
			line-height: 1;
			margin-bottom: 6px;
		}

		.comparison-table .symbol.ok {
			color: #2f8c6d;
		}

		.comparison-table .symbol.ng {
			color: #ea5c36;
		}

		.comparison-table .symbol.warn {
			color: #d6a233;
		}

		.comparison-table .cell-text {
			display: block;
			font-size: 13px;
			line-height: 1.35;
			color: #5a544a;
			font-weight: 600;
		}

		.step-section {
			width: 1200px;
			margin: 0 auto;
			padding: 8px 0 12px;
		}

		.step-section-stack {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 64px;
		}

		.step-section-title {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 12px;
			margin: 0;
			font-size: 40px;
			line-height: 1.15;
			font-weight: 500;
			color: #5d5232;
		}

		.step-section-title-mark {
			display: block;
			width: 64px;
			height: 64px;
			flex: none;
			object-fit: contain;
		}

		.step-section-image img {
			width: 1200px;
		}

		.step-section-button img {
			width: 390px;
			height: 94px;
		}

		.faq-title img {
			width: 440px;
			height: auto;
		}

		.qa {
			width: 960px;
			margin: 0 auto;
			display: grid;
			gap: 24px;
		}

		.qa-item {
			border-radius: 10px;
			border: 1px solid #ddd6c8;
			background: #fff;
			overflow: hidden;
			box-shadow: var(--shadow);
		}

		.qa-q {
			width: 100%;
			border: 0;
			background: transparent;
			font: inherit;
			text-align: left;
			padding: 8px 10px;
			display: flex;
			align-items: center;
			gap: 10px;
			cursor: pointer;
			color: #2f7a56;
			font-weight: 700;
			font-size: 18px;
		}

		.qa-q img,
		.qa-a img {
			width: 22px;
			height: 22px;
			flex: none;
		}

		.qa-a {
			margin: 0;
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 10px;
			padding: 0 12px;
			max-height: 0;
			overflow: hidden;
			transition: max-height 0.28s ease, padding 0.28s ease;
			font-size: 16px;
			color: #5f5648;
			line-height: 1.75;
		}

		.qa-item.open .qa-a {
			max-height: 180px;
			padding: 0 12px 12px;
		}

		.qa-button {
			display: flex;
			justify-content: center;
			margin-top: 50px;
		}

		.qa-button img {
			width: 279px;
			height: auto;
		}

		.contact-title {
			font-family: var(--font-kaku);
			font-size: 40px;
			line-height: 1.25;
			font-weight: 500;
			color: #5d5232;
			text-align: center;
			width: 100%;
		}

		.contact-cta,
		.final-cta {
			display: flex;
			justify-content: center;
		}

		.contact-cta {
			margin-top: 0;
		}

		.contact-form-block {
			width: 960px;
			height: auto;
			min-height: 920px;
			max-width: 100%;
			background: #F6F9F8;
			border-radius: 24px;
			padding: 38px 0 34px;
			display: flex;
			flex-direction: column;
			align-items: center;
		}

		.contact-form {
			width: 720px;
			max-width: calc(100% - 48px);
			display: grid;
			gap: 18px;
		}

		.contact-form-intro {
			margin-top: 20px;
			margin-bottom: 20px;
			font-size: 18px;
			font-weight: 500;
			line-height: 1.5;
			color: #2e896b;
			text-align: center;
		}

		.contact-form-intro p {
			margin: 0;
		}

		.contact-field-label {
			display: block;
			font-size: 14px;
			font-weight: 700;
			line-height: 1.35;
			color: #4f473b;
			margin-bottom: 8px;
		}

		.contact-field-label .required {
			color: #e40046;
			font-weight: 700;
			margin-left: 10px;
			font-size: 12px;
		}

		.contact-option-label .required {
			color: #e40046;
			font-weight: 700;
			margin-left: 10px;
			font-size: 12px;
		}

		.contact-extra-fields {
			display: grid;
			gap: 24px;
		}

		.contact-option-block {
			display: grid;
			gap: 10px;
		}

		.contact-option-label {
			margin: 0;
			font-size: 14px;
			font-weight: 700;
			line-height: 1.35;
			color: #4f473b;
		}

		.contact-choice-group {
			display: grid;
			gap: 14px;
		}

		.contact-checkbox-option,
		.contact-radio-option {
			display: inline-flex;
			align-items: center;
			gap: 10px;
			font-size: 16px;
			line-height: 1.35;
			color: #4f473b;
		}

		.contact-checkbox-option input[type="checkbox"],
		.contact-radio-option input[type="radio"] {
			width: 18px;
			height: 18px;
			margin: 0;
			flex: none;
		}

		.contact-checkbox-option {
			padding-left: 18px;
		}
		.contact-radio-option {
			padding-left: 18px;
		}

		.contact-textfield,
		.contact-textarea {
			width: 720px;
			max-width: 100%;
			border: 1px solid #c8c8c8;
			border-radius: 10px;
			background: #fff;
			padding: 0 18px;
			font-size: 16px;
			color: #4f473b;
			outline: none;
		}

		.contact-textfield {
			height: 48px;
			line-height: 48px;
		}

		.contact-textarea {
			height: 96px;
			padding-top: 16px;
			resize: vertical;
			line-height: 1.5;
		}

		.contact-textfield::placeholder,
		.contact-textarea::placeholder {
			color: #9aa0a0;
		}

		.contact-privacy {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin-top: 4px;
			color: #4f473b;
			font-size: 16px;
			font-weight: 600;
		}

		.contact-privacy input[type="checkbox"] {
			width: 20px;
			height: 20px;
		}

		.contact-privacy a {
			color: #2f8a67;
			text-decoration: underline;
			text-underline-offset: 2px;
		}

		.contact-submit {
			display: flex;
			justify-content: center;
			margin-top: 14px;
		}

		.contact-submit-btn {
			border: none;
			background: none;
			padding: 0;
			width: 129px;
			height: 44px;
			cursor: pointer;
			display: block;
			line-height: 0;
			transition: opacity 0.2s ease;
		}

		.contact-submit-btn img {
			width: 129px;
			height: 44px;
			object-fit: contain;
			display: block;
		}

		.contact-submit-btn:disabled {
			opacity: 0.35;
			cursor: not-allowed;
		}

		.footer {
			margin-top: 160px;
			background: #fff;
			padding: 16px 0 20px;
			text-align: center;
		}

		.footer-logo {
			width: 240px;
			margin: 0 auto 12px;
		}

		.footer-links {
			display: flex;
			justify-content: center;
			gap: 40px;
			font-size: 18px;
			color: #666;
		}
