﻿.header {
			position: sticky;
			top: 0;
			z-index: 50;
			background: rgba(255, 255, 255, 0.85);
			backdrop-filter: blur(5px);
			-webkit-backdrop-filter: blur(5px);
			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;
		}

		.logo .logo-scrolled {
			display: none;
		}

		.header-menu-toggle,
		.header-menu-overlay {
			display: none;
		}

		.header-links {
			display: flex;
			align-items: center;
			gap: 8px;
		}

		.header-links img {
			height: 44px;
			transition: transform 0.2s ease, filter 0.2s ease;
		}

		.header-links a:first-child img {
			width: 333px;
		}

		/* .header-links a:last-child img {
			width: 398px;
		} */

		.header-links a:hover img {
			transform: translateY(-1px);
			filter: brightness(1.03);
		}

		.section {
			margin: 0 auto;
			padding: 20px 0;
		}

		main .section[id] {
			scroll-margin-top: 32px;
		}

		.section.introduction-section,
		.section.solution-section,
		.section.function-section,
		.section.voice-section,
		.section.why-brainco-section,
		.section.how_to_use-section,
		.section.plan-section,
		.section.faq-section {
			display: flex;
			flex-direction: column;
		}

		.section.introduction-section {
			height: 752px;
		}

		.section.solution-section {
			height: 1187px;
		}

		.section.function-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: 24px;
		}

		.hero-label {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: fit-content;
			min-width: 215px;
			height: 40px;
			padding: 8px 16px;
			border-radius: 8px;
			background: #ff9327;
			color: #ffffff;
			font-weight: 500;
			font-size: 24px;
			line-height: 1;
			letter-spacing: 2.4px;
			white-space: nowrap;
			margin: 0;
		}

		.hero-heading {
			margin: 0;
			font-family: var(--font-kaku);
			font-size: 48px;
			font-weight: 500;
			line-height: 1.6;
			letter-spacing: 0;
			color: #5d5232;
		}

		.hero-heading-sp {
			display: none;
		}

		.hero-heading-kana {
			display: block;
			position: absolute;
			left: 50%;
			bottom: 100%;
			transform: translateX(-50%);
			margin-bottom: 2px;
			font-size: 20px;
			font-weight: 500;
			line-height: 1;
			letter-spacing: 0.02em;
			color: #5d5232;
			white-space: nowrap;
		}

		.hero-heading-pc .hero-heading-kana {
			bottom: calc(100% - 12px);
		}

		.hero-description {
			margin: 0;
			font-family: var(--font-kaku);
			font-size: 18px;
			font-weight: 500;
			line-height: 1.8;
			letter-spacing: 0.06em;
			color: #5d5232;
		}

		.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;
			text-decoration: none;
		}

		.hero-cta-btn {
			display: none;
		}

		.hero-cta img {
			width: 564px;
			height: 98px;
			margin-inline: auto;
		}

		.hero-cta-pc-group {
			display: none;
		}

		

		.overview-section {
			width: 1200px;
			padding: 52px 0 36px;
		}

		.overview-title {
			display: flex;
			justify-content: center;
			margin-bottom: var(--title-content-gap);
		}

		.overview-title .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.overview-title .sp-section-title-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
		}

		.overview-title .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
		}

		.overview-title .sp-section-title-brand {
			display: inline-block;
			position: relative;
			white-space: nowrap;
		}

		.overview-title .sp-section-title-kana {
			position: absolute;
			left: 50%;
			bottom: 100%;
			transform: translateX(-50%);
			margin-bottom: -2px;
			font-size: 16px;
			font-weight: 500;
			line-height: 1;
			letter-spacing: 0.08em;
			color: #5d5232;
			white-space: nowrap;
		}

		.overview-title img {
			width: 411px;
			height: auto;
		}

		.overview-title > img {
			display: none;
		}

		.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: 550;
			letter-spacing: 0.02em;
			color: #2e9b7d;
		}

		.overview-text-sp {
			display: none;
		}

		.overview-description {
			margin: 32px 0 0;
			font-size: 18px;
			line-height: 1.75;
			font-weight: 500;
			letter-spacing: 0.02em;
			color: #6a655e;
		}
		.kadai-section {
			width: 1200px;
			padding: 44px 0 24px;
		}
		.kadai-title,
		.kadai-summary {
			display: flex;
			justify-content: center;
		}

		.sp-section-title {
			display: none;
		}
		.kadai-title {
			margin-bottom: var(--title-content-gap);
		}
		.kadai-title .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.kadai-title .sp-section-title-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
		}

		.kadai-title .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
		}

		.kadai-title-break {
			display: none;
		}

		.section-title-wrap .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.section-title-wrap .sp-section-title-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
		}

		.section-title-wrap .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
		}

		.section-title-wrap .sp-section-title-brand {
			display: inline-block;
			position: relative;
			white-space: nowrap;
		}

		.section-title-wrap .sp-section-title-kana {
			position: absolute;
			left: 50%;
			bottom: 100%;
			transform: translateX(-50%);
			margin-bottom: -2px;
			font-size: 16px;
			font-weight: 500;
			line-height: 1;
			letter-spacing: 0.08em;
			color: #5d5232;
			white-space: nowrap;
		}

		.function-title-break {
			display: none;
		}

		.kadai-title img {
			width: 760px;
			height: auto;
		}
		.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: 60px;
		}
			.kpi-slider-section {
				width: 1440px;
				max-width: 100%;
				height: 458px;
				min-height: 458px;
				padding: 0;
				margin: 0 auto;
				background: #FAF7EE;
				overflow: hidden;
			}
			.kpi-slider {
				width: 2418px;
				height: 298px;
				margin: 80px auto 0 !important;
				overflow: hidden;
				background: #FAF7EE;
			}
			.kpi-slider-track,
			.kpi-slider-group {
				height: 298px;
			}
			.kpi-slider-group {
				gap: 16px;
				padding-right: 16px;
				align-items: flex-start;
				background: #FAF7EE;
			}
			.kpi-slide {
				width: 399px;
				height: 298px;
				flex: 0 0 399px;
				box-sizing: border-box;
				border-radius: 0;
				background: #FAF7EE;
				overflow: hidden;
			}
			.kpi-slider-group .kpi-slide:nth-child(odd) {
				padding: 0 12px 48px;
			}
			.kpi-slider-group .kpi-slide:nth-child(even) {
				padding: 48px 12px 0;
			}
			.kpi-slide img {
				display: block;
				width: 375px;
				height: 250px;
				object-fit: cover;
				border-radius: 0;
			}
		.kadai-card {
			display: block;
			width: 100%;
			height: auto;
		}
		.kadai-card {
			width: 282px;
		}
		.kadai-card-item {
			display: flex;
			flex-direction: column;
			justify-content: center;
			width: 282px;
			height: 174px;
			padding: 24px;
			background: #FAF7EE;
			border-radius: 12px;
			box-sizing: border-box;
		}
		.kadai-card-head {
			display: flex;
			align-items: center;
			gap: 12px;
			margin-bottom: 8px;
		}
		.kadai-card-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
			flex-shrink: 0;
		}
		.kadai-card-title {
			margin: 0;
			font-size: 24px;
			font-weight: 700;
			line-height: 1.3;
			letter-spacing: 0.02em;
			color: #2e896b;
		}
		.kadai-card-copy {
			margin: 0;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.6;
			color: #34413e;
		}
		.kadai-summary {
			margin-top: 120px;
		}
		.kadai-summary-pc {
			width: fit-content;
			margin: 0 auto;
			color: #5d5232;
		}
		.kadai-summary-lead,
		.kadai-summary-message {
			margin: 0;
			font-weight: 500;
			white-space: nowrap;
		}
		.kadai-summary-lead {
			margin-left: -22px;
			font-size: 24px;
			line-height: 1.2;
			transform: rotate(-6deg);
			transform-origin: left bottom;
		}
		.kadai-summary-message {
			margin-top: 8px;
			font-size: 32px;
			line-height: 1.2;
		}
		.kadai-summary-brand,
		.kadai-summary-solution {
			font-size: 56px;
			color: #2e896b;
		}
		.kadai-summary-solution {
			font-weight: 700;
		}
		.kadai-summary-brand {
			position: relative;
			display: inline-block;
		}
		.kadai-summary-kana {
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			font-size: 18px;
			font-weight: 500;
			line-height: 1;
			color: #2e896b;
			white-space: nowrap;
		}
		.kadai-summary-message .kadai-summary-kana {
			bottom: calc(100% - 14px);
		}
		.kadai-summary-space {
			font-size: 32px;
		}
		.kadai-summary-sp {
			display: none;
		}
		.kadai-solution-card {
			position: relative;
			width: 384px;
			padding: 18px 15px 15px;
			box-sizing: border-box;
			border: 1px solid #2e896b;
			border-radius: 8px;
			background: #ffffff;
		}

		.kadai-solution-number {
			position: absolute;
			top: -30px;
			left: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 48px;
			height: 48px;
			border-radius: 50%;
			background: #2e896b;
			color: #ffffff;
			font-size: 32px;
			font-weight: 500;
			line-height: 48px;
			text-align: center;
		}

		.kadai-solution-title {
			margin: 0;
			font-size: 24px;
			font-weight: 700;
			line-height: 1.35;
			color: #2e896b;
		}

		.kadai-solution-copy {
			margin: 14px 0 0;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.7;
			color: #34413e;
		}

		.kadai-solution-image {
			display: block;
			width: 352px;
			height: 160px;
			position: absolute;
			left: 15px;
			bottom: 10px;
			margin-top: 0;
			background-repeat: no-repeat;
			background-size: 384px 411px;
			background-position: -16px -235px;
		}

		.headline {
			display: flex;
			justify-content: center;
			margin-bottom: var(--title-content-gap);
		}

		.headline img {
			width: 300px;
		}

		.function-section .headline img {
			width: 531px;
		}

		.section-title-wrap > img {
			display: none;
		}

		.function-section {
			padding-top: 26px;
		}

		.function-section .section-title-wrap .sp-section-title {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 12px;
			margin: 0;
			padding: 0;
		}

		.function-section .section-title-wrap .sp-section-title-icon {
			display: block;
			width: 48px;
			height: 48px;
			flex: 0 0 40px;
			object-fit: contain;
			margin: 8px 7.5px 8px 8.5px;
		}

		.function-section .section-title-wrap .sp-section-title-text {
			margin: 0;
			padding: 0;
		}

		.function-section,
		.function-feature-title,
		.function-feature-description {
			font-family: var(--font-kaku);
		}

		.dekirukoto-wrap {
			width: 1200px;
			margin: 0 auto;
			padding: 0;
		}

		.dekirukoto-cards {
				width: 1200px;
			display: flex;
			flex-direction: column;
			gap: 30px;
		}

		.function-feature {
			width: 1200px;
			display: grid;
			grid-template-columns: 528px 652px;
			gap: 18px;
			justify-content: center;
			align-items: center;
		}

		.function-feature.is-reverse {
			margin: 64px 0;
		}

		.function-feature.is-reverse .function-feature-image {
			order: 2;
			justify-self: end;
		}

		.function-feature.is-reverse .function-feature-text {
			order: 1;
		}

		.function-feature-image{
			width: 528px;
			height: 318px;
		}

		.function-feature-text {
			width: 652px;
			height: auto;
		}

		.function-feature-image {
			background: #ffffff;
			padding: 10px;
		}

		.function-feature-image img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		.function-feature-text {
			background: transparent;
			padding: 0;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
		}

		.function-feature-title {
			margin: 0;
			font-size: 24px;
			line-height: 1.3;
			font-weight: 500;
			color: #5d5232;
		}

		.function-feature-title .accent {
			color: #2c9c7f;
			font-weight: 500;
			font-size: 24px;
		}

		.function-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;
		}

		

		.grid-3 {
			display: grid;
			gap: 10px;
		}

		.grid-3 {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.card {
			background: #FAF7EE;
			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;
		}

		.voice-title .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.voice-title .sp-section-title-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
		}

		.voice-title .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
			white-space: nowrap;
		}

		.voice-title > img {
			display: none;
		}

		.senmonka-title-large .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.senmonka-title-large .sp-section-title-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
		}

		.senmonka-title-large .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
			white-space: nowrap;
		}

		.senmonka-title-large .sp-section-title-brand {
			display: inline-block;
			position: relative;
			white-space: nowrap;
		}

		.senmonka-title-large .sp-section-title-kana {
			position: absolute;
			left: 50%;
			bottom: 100%;
			transform: translateX(-50%);
			margin-bottom: -2px;
			font-size: 16px;
			font-weight: 500;
			line-height: 1;
			letter-spacing: 0.08em;
			color: #5d5232;
			white-space: nowrap;
		}

		.senmonka-title-break {
			display: none;
		}

		.senmonka-title-large {
			margin-bottom: var(--title-content-gap);
		}

		.senmonka-title-medium {
			display: flex;
			align-items: center;
			gap: 20px;
			width: fit-content;
			margin-bottom: var(--title-content-gap);
			margin-left: auto;
			margin-right: auto;
		}

		.senmonka-title-medium::before,
		.senmonka-title-medium::after {
			content: "";
			display: block;
			width: 80px;
			height: 4px;
			flex: 0 0 80px;
			background: #8dcab3;
		}

		.senmonka-title-medium-text {
			font-size: 32px;
			line-height: 1.45;
			font-weight: 500;
			color: #2e896b;
			white-space: nowrap;
		}

		.senmonka-title-large img {
			width: 571px;
			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;
			height: 351px;
			padding: 16px;
			box-sizing: border-box;
			display: flex;
			align-items: flex-start;
			gap: 16px;
			background: #ffffff;
			border: 1px solid #e7e5df;
			border-radius: 12px;
		}

		.senmonka-card-pc-only {
			display: none;
		}

		.senmonka-card-image-wrap {
			flex: 0 0 124px;
			display: flex;
			justify-content: flex-start;
			align-items: flex-start;
			padding: 16px 0 0;
		}

		.senmonka-card-photo {
			display: block;
			width: 124px;
			height: 124px;
			object-fit: cover;
			border-radius: 50%;
		}

		.senmonka-card-body {
			flex: 1;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			padding-top: 16px;
			gap: 8px;
		}

		.senmonka-card-title {
			margin: 0;
			font-size: 20px;
			font-weight: 700;
			line-height: 1.5;
			letter-spacing: 0.02em;
			color: #5d5232;
		}

		.senmonka-card-specialty {
			margin: 0;
			font-size: 18px;
			font-weight: 700;
			line-height: 1.5;
			color: #2e896b;
		}

		.senmonka-card-specialty + .senmonka-card-copy {
			margin-top: 12px;
			padding-top: 12px;
			border-top: 1px solid #d9d9d9;
		}

		.senmonka-card-copy {
			margin: 0;
			font-size: 16px;
			line-height: 1.7;
			letter-spacing: 0.02em;
			color: #34413e;
		}

		.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-card-structured {
			display: none;
		}

		.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-text-button {
			display: none;
		}

		.voice-youtube-cta-text {
			display: none;
		}

		.how-to-use-cta-text {
			display: none;
		}

		.step-contact-cta-text {
			display: none;
		}

		.step-contact-cta-pc-group {
			display: none;
		}

		.contact-submit-text {
			display: none;
		}

		.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-title > img {
			display: none;
		}

		.how_to_use-title {
			display: flex;
			justify-content: center;
		}

		.how_to_use-title .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.how_to_use-title .sp-section-title-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
		}

		.how_to_use-title .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
		}

		.how_to_use-title .sp-section-title-brand {
			display: inline-block;
			position: relative;
			white-space: nowrap;
		}

		.how_to_use-title .sp-section-title-kana {
			position: absolute;
			left: 50%;
			bottom: 100%;
			transform: translateX(-50%);
			margin-bottom: -2px;
			font-size: 16px;
			font-weight: 500;
			line-height: 1;
			letter-spacing: 0.08em;
			color: #5d5232;
			white-space: nowrap;
		}

		.how_to_use-title-break {
			display: none;
		}

		.how_to_use-note {
			margin: 24px 0 0;
			font-size: 20px;
			line-height: 1.5;
			font-weight: 500;
			color: #34413e;
			text-align: center;
		}

		.how_to_use-note-break {
			display: none;
		}

		.how_to_use-step {
			width: 100%;
			margin-top: 64px;
		}

		.how_to_use-steps {
			position: relative;
			width: min(100%, 1200px);
			margin: 0 auto;
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 24px;
		}

		.how_to_use-steps-line {
			position: absolute;
			top: -12px;
			left: 16%;
			right: 16%;
			height: 3px;
			background: #a8dcc9;
		}

		.how_to_use-step-card {
			position: relative;
			width: 100%;
			max-width: 384px;
			min-height: 381px;
			margin: 0 auto;
			padding: 30px 16px 180px;
			box-sizing: border-box;
			background: #ffffff;
		}

		.how_to_use-step-number {
			position: absolute;
			top: -36px;
			left: 50%;
			transform: translateX(-50%);
			z-index: 1;
			width: 48px;
			height: 48px;
			border-radius: 50%;
			background: #2e896b;
			color: #ffffff;
			font-size: 32px;
			font-weight: 500;
			line-height: 48px;
			text-align: center;
		}

		.how_to_use-step-title {
			margin: 0;
			font-size: 24px;
			font-weight: 700;
			line-height: 1.35;
			color: #2e896b;
		}

		.how_to_use-step-copy {
			margin: 14px 0 0;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.7;
			color: #34413e;
		}

		.how_to_use-step-image {
			position: absolute;
			left: 50%;
			bottom: 10px;
			transform: translateX(-50%);
			display: block;
			width: calc(100% - 32px);
			max-width: 352px;
			height: 160px;
			object-fit: cover;
		}

		.plan-stack {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 0;
		}

		.plan-title .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.plan-title .sp-section-title-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
		}

		.plan-title .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
			white-space: nowrap;
		}

		.plan-title img {
			width: 400px;
			height: auto;
		}

		.plan-title-sub {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 20px;
			margin-top: var(--title-content-gap);
		}

		.plan-title-sub::before,
		.plan-title-sub::after {
			content: "";
			display: block;
			width: 80px;
			height: 4px;
			flex: 0 0 80px;
			background: #8dcab3;
		}

		.plan-title-sub-text {
			font-size: 32px;
			line-height: 1.45;
			font-weight: 500;
			color: #2e896b;
			white-space: nowrap;
		}

		.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: 100%;
			max-width: 1200px;
			margin: 0 auto;
			padding: 8px 24px 10px;
		}

		.comparison-title {
			display: inline-flex;
			align-items: center;
			gap: 20px;
			justify-content: center;
			margin: 16px 0;
		}

		.comparison-title::before,
		.comparison-title::after {
			content: "";
			display: block;
			width: 80px;
			height: 4px;
			flex: 0 0 80px;
			background: #8dcab3;
		}

		.comparison-title-text {
			font-size: 32px;
			line-height: 1.45;
			font-weight: 500;
			color: #2e896b;
			white-space: nowrap;
		}

		.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: 100%;
			max-width: 1200px;
			margin: 0 auto;
			height: auto;
			border: 1px solid #ebe7de;
			border-radius: 6px;
			overflow: hidden;
			background: #f4f4f4;
		}

		.comparison-table {
			width: 100%;
			max-width: 1200px;
			margin: 0 auto;
			height: auto;
			border-collapse: collapse;
			table-layout: fixed;
		}

		.comparison-table col:first-child {
			width: 16%;
		}

		.comparison-table col:nth-child(2),
		.comparison-table col:nth-child(3),
		.comparison-table col:nth-child(4) {
			width: 28%;
		}

		.comparison-table tr {
			height: 94px;
		}

		.comparison-table thead tr {
			height: 97px;
		}

		.comparison-table tbody tr:first-child {
			height: 118px;
		}

		.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: 500;
			line-height: 1.4;
			color: #908677;
			margin-top: 4px;
		}

		.comparison-table .header-en {
			display: block;
			font-size: 14px;
			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: 500;
			line-height: 1.25;
			color: #485055;
		}

		.comparison-table .value-main.is-accent {
			color: #2f8c6d;
			font-weight: 700;
		}

		.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: 500;
		}

		.step-section {
			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;
			justify-content: center;
		}

		.step-section-title .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.step-section-title .sp-section-title-icon {
			display: block;
			width: 64px;
			height: 64px;
			object-fit: contain;
		}

		.step-section-title .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
			white-space: nowrap;
		}

		.step-title-break {
			display: none;
		}

		.step-section-title > img {
			width: 680px;
			height: 64px;
		}

		.step-section-image {
			width: 100%;
		}

		.onboarding-steps {
			position: relative;
			width: min(100%, 1200px);
			margin: 0 auto;
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 24px;
		}

		.onboarding-steps-line {
			position: absolute;
			top: -12px;
			left: 16%;
			right: 16%;
			height: 3px;
			background: #a8dcc9;
		}

		.onboarding-step-card {
			position: relative;
			width: 100%;
			max-width: 384px;
			min-height: 381px;
			margin: 0 auto;
			padding: 30px 16px 180px;
			box-sizing: border-box;
			background: #ffffff;
		}

		.onboarding-step-number {
			position: absolute;
			top: -36px;
			left: 50%;
			transform: translateX(-50%);
			z-index: 1;
			width: 48px;
			height: 48px;
			border-radius: 50%;
			background: #2e896b;
			color: #ffffff;
			font-size: 32px;
			font-weight: 500;
			line-height: 48px;
			text-align: center;
		}

		.onboarding-step-title {
			margin: 0;
			font-size: 24px;
			font-weight: 700;
			line-height: 1.35;
			color: #2e896b;
		}

		.onboarding-step-copy {
			margin: 14px 0 0;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.7;
			color: #34413e;
		}

		.onboarding-step-image {
			position: absolute;
			left: 50%;
			bottom: 10px;
			transform: translateX(-50%);
			display: block;
			width: calc(100% - 32px);
			max-width: 352px;
			height: 160px;
			object-fit: cover;
		}

		.step-section-button img {
			width: 390px;
			height: 94px;
		}

		.faq-title img {
			width: 440px;
			height: auto;
		}

		.faq-title .sp-section-title {
			display: grid;
			grid-template-columns: 64px auto;
			align-items: center;
			justify-content: center;
			gap: 10px;
			margin: 0;
		}

		.faq-title .sp-section-title-icon {
			display: block;
			width: auto;
			height: auto;
			justify-self: center;
		}

		.faq-title .sp-section-title-icon img {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: contain;
		}

		.faq-title .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
		}

		.qa {
			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: #5d5232;
			font-weight: 700;
			font-size: 18px;
		}

		.qa-q-button {
			display: none;
			cursor: pointer;
		}

		.qa-q-static {
			cursor: default;
		}

		.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 12px;
			max-height: none;
			overflow: visible;
			font-size: 16px;
			color: #34413d;
			line-height: 1.75;
		}

		.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-title .sp-section-title {
			display: grid;
			grid-template-columns: auto;
			margin: 0;
		}

		.contact-title .sp-section-title-text {
			font-size: 40px;
			font-weight: 500;
			line-height: 1.25;
			letter-spacing: 0.02em;
			color: #5d5232;
			text-align: center;
			white-space: nowrap;
		}

		.contact-title-break {
			display: none;
		}

		.contact-cta,
		.final-cta {
			display: flex;
			justify-content: center;
		}

		.contact-cta {
			margin-top: 0;
		}

		.final-cta {
			margin-top: 40px;
		}

		.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-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;
		}

		.contact-cta img {
			width: 300px;
		}

		.final-cta img {
			width: 350px;
		}

		.interview-cta img {
			width: 311px;
		}

		.footer {
			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;
		}

		/* LP2 desktop layout (1440px canvas). Mobile styles remain in fac-responsive-768.css. */
		@media (min-width: 769px) {
			:root {
				--page-bg: #FAF7EE;
				--paper: #FAF7EE;
			}

			.page {
				background: #FAF7EE;
			}

			.header {
				position: fixed;
				top: 0;
				left: 0;
				right: 0;
				z-index: 100;
				background: transparent;
				backdrop-filter: none;
				-webkit-backdrop-filter: none;
				border-bottom: 0;
				transition: all 0.3s ease;
			}

			.header-inner {
				height: 88px;
				padding: 32px 40px 0;
				max-width: 1440px;
				box-sizing: border-box;
				transition: all 0.3s ease;
			}

			.logo img {
				width: 153px;
				height: 56px;
				object-fit: contain;
				transition: all 0.3s ease;
			}

			.header-links {
				display: flex;
				align-items: center;
				gap: 16px;
			}

			.header-btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: 8px;
				padding: 12px 32px;
				border-radius: 999px;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 700;
				line-height: 1.24;
				letter-spacing: 0.32px;
				text-decoration: none;
				white-space: nowrap;
				box-sizing: border-box;
				transition: transform 0.2s ease, filter 0.2s ease;
			}

			.header-btn:hover {
				transform: translateY(-1px);
				filter: brightness(1.05);
			}

			.header-btn-orange {
				background: #ff9327;
				color: #ffffff;
			}

			.header-btn-green {
				background: #2e896b;
				color: #ffffff;
			}

			.header-btn-icon {
				width: 16px;
				height: 16px;
				flex-shrink: 0;
			}

			.header-pc-nav {
				display: none;
				align-items: center;
				justify-content: center;
				gap: 40px;
				background: #ffffff;
				border-radius: 999px;
				padding: 4px 40px;
				margin: 0 auto 12px;
				width: fit-content;
				box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
				transition: all 0.3s ease;
			}

			.header-pc-nav a {
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.32px;
				color: #5d5232;
				text-decoration: none;
				white-space: nowrap;
				transition: color 0.2s ease;
			}

			.header-pc-nav a:hover {
				color: #2e896b;
			}

			.header.is-scrolled {
				display: flex;
				flex-direction: column;
				align-items: stretch;
				justify-content: center;
				gap: 12px;
				padding: 16px 40px 12px;
				box-sizing: border-box;
				background: rgba(255, 255, 255, 0.85);
				backdrop-filter: blur(5px);
				-webkit-backdrop-filter: blur(5px);
			}

			.header.is-scrolled .header-inner {
				width: 100%;
				height: 48px;
				max-width: none;
				margin: 0;
				padding: 0;
			}

			.header.is-scrolled .logo img {
				width: 125px;
				height: 48px;
			}

			.header.is-scrolled .header-pc-nav {
				display: flex;
				align-items: flex-end;
				width: 100%;
				max-width: none;
				gap: 40px;
				padding: 4px 40px;
				margin: 0;
				box-sizing: border-box;
				box-shadow: none;
			}

			main > .section + .section {
				margin-top: 0;
			}

			.hero-panel,
			.hero-copy {
				height: 569px;
				min-height: 569px;
			}

			.hero-copy {
				padding: 200px 120px 120px;
				gap: 24px;
				justify-content: center;
			}

			.hero-label {
				width: fit-content;
				min-width: 215px;
				height: 40px;
				padding: 8px 16px;
				border-radius: 8px;
				background: #ff9327;
				font-size: 24px;
				letter-spacing: 2.4px;
				white-space: nowrap;
			}

			.hero-heading {
				font-size: 48px;
				line-height: 1.6;
				letter-spacing: 0;
				color: #5d5232;
				margin: 0;
			}

			.hero-heading-kana {
				font-size: 20px;
				letter-spacing: 0.02em;
				color: #5d5232;
			}

			.hero-description {
				font-size: 18px;
				line-height: 1.8;
				letter-spacing: 0.06em;
				color: #5d5232;
				margin: 16px 0 0;
				text-shadow: none;
			}

			.hero-cta {
				align-items: center;
				flex-direction: column;
				margin-top: 64px;
			}

			.hero-cta-pc-group {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 24px;
				width: 422px;
			}

			.hero-cta .hero-cta-sp-link {
				display: none;
			}

			.hero-cta-sp-img {
				display: none;
			}

			.hero-cta-primary {
				width: 100%;
				padding-bottom: 8px;
				box-sizing: border-box;
			}

			.hero-cta-btn {
				display: inline-flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				width: 100%;
				height: 86px;
				padding: 24px 48px;
				box-sizing: border-box;
				background: #ff9327;
				border-radius: 999px;
				box-shadow: 0 8px 0 #ea7c0e;
				text-decoration: none;
				transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
			}

			.hero-cta a:hover .hero-cta-btn {
				transform: translateY(-2px);
				box-shadow: 0 10px 0 #ea7c0e;
				filter: brightness(1.03);
			}

			.hero-cta-brand {
				position: relative;
				display: inline-block;
			}

			.hero-cta-ruby {
				position: absolute;
				top: -12px;
				left: 50%;
				transform: translateX(-50%);
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.32px;
				color: #ffffff;
				text-align: center;
				white-space: nowrap;
			}

			.hero-cta-text {
				padding-top: 12px;
				font-family: var(--font-kaku);
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.64px;
				color: #ffffff;
				text-align: center;
				white-space: nowrap;
			}

			.hero-cta-secondary,
			.step-contact-cta-secondary {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: 8px;
				width: 227px;
				height: 44px;
				padding: 12px 32px;
				box-sizing: border-box;
				border: 1px solid #2e896b;
				border-radius: 999px;
				background: transparent;
				color: #2e896b;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 1.25;
				letter-spacing: 0.02em;
				text-decoration: none;
				white-space: nowrap;
				transition: background-color 0.2s ease;
			}

			.hero-cta-secondary:hover,
			.step-contact-cta-secondary:hover {
				background: #e8f2ee;
			}

			.hero-cta .hero-cta-secondary-icon,
			.step-section-button .step-contact-cta-secondary-icon {
				width: 16px;
				height: 16px;
				margin: 0;
				flex-shrink: 0;
			}

			.overview-section {
				width: 1440px;
				max-width: 100%;
				box-sizing: border-box;
				min-height: 752px;
				padding: 120px 120px 80px;
				margin: 0 auto;
			}

			.section.overview-section {
				margin-top: 0;
			}

			main > .section.hero-section + .section.overview-section {
				margin-top: 0;
			}

			.overview-title {
				margin-bottom: 64px;
			}

			.overview-card {
				width: 1200px;
				max-width: 100%;
				box-sizing: border-box;
				margin: 0 auto;
				padding: 40px;
				border-radius: 24px;
				background: linear-gradient(90deg, #fdf1ec 0%, #e0f6f4 100%);
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				text-align: center;
				gap: 40px;
				min-height: auto;
			}

			.overview-heading {
				font-size: 40px;
				font-weight: 700;
				line-height: 2.0;
				letter-spacing: 0;
				color: #2e896b;
				margin: 0;
				text-align: center;
			}

			.overview-description {
				font-size: 18px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0.06em;
				color: #5d5232;
				margin: 0;
				text-align: center;
			}

			.solution-section {
				width: 1440px;
				max-width: 100%;
				box-sizing: border-box;
				min-height: 1187px;
				padding: 120px 120px 80px;
				margin: 0 auto;
				justify-content: flex-start;
			}

			.function-section,
			.voice-section,
			.why-brainco-section,
			.how_to_use-section,
			.plan-section,
			.faq-section {
				justify-content: flex-start;
				padding-top: 120px;
				padding-bottom: 80px;
			}

			.kadai-title {
				margin-bottom: 64px;
			}

			.kadai-grid-top {
				width: 1200px;
				max-width: 100%;
				display: grid;
				grid-template-columns: repeat(4, 282px);
				gap: 24px;
				margin: 0 auto;
			}

			.kadai-card-item {
				width: 282px;
				height: 174px;
				padding: 12px 16px 16px;
				border: 1px solid #2e896b;
				border-radius: 8px;
				background: #ffffff;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
			}

			.kadai-card-head {
				display: flex;
				align-items: center;
				gap: 8px;
				margin-bottom: 12px;
			}

			.kadai-card-icon {
				width: 64px;
				height: 64px;
				border-radius: 999px;
				background: #a8dcc9;
				object-fit: contain;
				flex-shrink: 0;
			}

			.kadai-card-title {
				font-size: 24px;
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0;
				color: #2e896b;
				margin: 0;
			}

			.kadai-card-copy {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
				color: #34413e;
				margin: 0;
			}

			.kadai-summary {
				margin-top: 120px;
				text-align: center;
			}

			.kadai-summary-pc {
				width: fit-content;
				margin: 0 auto;
				text-align: center;
				position: relative;
				padding: 32px 40px 0;
				display: flex;
				flex-direction: column;
				align-items: center;
			}

			.kadai-summary-lead {
				position: absolute;
				top: 0;
				left: 10px;
				font-size: 24px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.48px;
				color: #5d5232;
				transform: rotate(-6deg);
				transform-origin: left bottom;
				margin: 0;
				white-space: nowrap;
			}

			.kadai-summary-message {
				margin: 0;
				display: flex;
				align-items: baseline;
				justify-content: center;
				font-size: 0;
				letter-spacing: 1.28px;
				color: #5d5232;
				white-space: nowrap;
			}

			.kadai-summary-kana {
				position: absolute;
				bottom: calc(100% - 2px);
				left: 50%;
				transform: translateX(-50%);
				font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;
				font-size: 18px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.36px;
				color: #2e896b;
				white-space: nowrap;
			}

			.kadai-summary-brand {
				font-size: 56px;
				font-weight: 500;
				line-height: 1.4;
				color: #2e896b;
				position: relative;
				display: inline-flex;
				align-items: baseline;
				vertical-align: baseline;
			}

			.kadai-summary-solution {
				font-size: 64px;
				font-weight: 700;
				line-height: 1.4;
				color: #2e896b;
				vertical-align: baseline;
			}

			.kadai-summary-copy {
				font-size: 32px;
				font-weight: 500;
				line-height: 1.4;
				color: #5d5232;
				vertical-align: baseline;
			}

			.kadai-grid-bottom {
				width: 1200px;
				max-width: 100%;
				display: grid;
				grid-template-columns: repeat(3, 384px);
				gap: 24px;
				margin-top: 64px;
				margin-left: auto;
				margin-right: auto;
			}

			.kadai-solution-card {
				position: relative;
				width: 384px;
				padding: 16px;
				border: 1px solid #2e896b;
				border-radius: 8px;
				background: #ffffff;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
				align-items: flex-start;
				overflow: visible;
			}

			.kadai-solution-number {
				position: absolute;
				top: -32px;
				left: 0;
				z-index: 2;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 48px;
				height: 48px;
				border-radius: 999px;
				background: #2e896b;
				color: #ffffff;
				font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;
				font-size: 40px;
				font-weight: 900;
				line-height: 1;
				text-align: center;
				white-space: nowrap;
				padding-bottom: 4px;
				box-sizing: border-box;
			}

			.kadai-solution-title {
				font-size: 24px;
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0;
				color: #2e896b;
				margin: 0;
			}

			.kadai-solution-copy {
				width: 100%;
				flex: 1 0 auto;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
				color: #34413e;
				margin: 12px 0 0;
			}

			.kadai-solution-image {
				width: 352px;
				height: 160px;
				position: relative;
				left: auto;
				bottom: auto;
				margin-top: 16px;
				border-radius: 0;
				object-fit: cover;
			}

			.dekirukoto-cards {
				gap: 64px;
			}

			.function-feature {
				gap: 20px;
			}

			.function-feature.is-reverse {
				margin: 0;
			}

			.function-feature-image {
				padding: 24px;
			}

			.function-feature-description {
				margin-top: 16px;
				padding: 24px;
				border-radius: 8px;
				line-height: 1.8;
			}

			.voice-title,
			.senmonka-title-large {
				margin-top: 0 !important;
			}

			.voice-title {
				margin-bottom: 64px;
			}

			.program-track {
				gap: 24px;
				margin-top: 0;
			}

			.program-card,
			.program-card img {
				width: 400px;
			}

			.voice-card-image-mobile {
				display: none !important;
			}

			.voice-card-structured {
				display: flex;
				flex-direction: column;
				width: 400px;
				height: 341px;
				padding-bottom: 16px;
				box-sizing: border-box;
				background: #ffffff;
				border-radius: 16px;
				overflow: hidden;
			}

			.voice-card-structured h3 {
				width: 100%;
				height: 62px;
				box-sizing: border-box;
				margin: 0;
				padding: 12px 16px;
				background: #ccf0e3;
				color: #5d5232;
				font-family: var(--font-kaku);
				font-size: 24px;
				font-weight: 500;
				line-height: 1.6;
				white-space: nowrap;
			}

			.voice-card-quote {
				position: relative;
				height: 20px;
				margin: 0;
				padding: 0;
				box-sizing: border-box;
				font-size: 0;
			}

			.voice-card-quote::before {
				content: "";
				position: absolute;
				left: 100px;
				top: -4px;
				width: 30px;
				height: 20px;
				background: #ccf0e3;
				clip-path: polygon(0 0, 100% 0, 0 100%);
				z-index: 1;
			}

			.voice-card-body {
				display: flex;
				gap: 20px;
				align-items: flex-start;
				flex: 1;
				min-height: 0;
				padding: 0 12px;
			}

			.voice-card-photo {
				width: 124px;
				height: 124px;
				flex: 0 0 124px;
				overflow: visible;
				border-radius: 0;
			}

			.voice-card-photo img {
				display: block;
				width: 124px !important;
				height: 124px !important;
				max-width: none;
				transform: none;
				object-fit: contain;
			}

			.voice-card-body > div:not(.voice-card-photo) {
				display: flex;
				flex: 1;
				min-width: 0;
				flex-direction: column;
				align-items: flex-start;
				height: 247px;
			}

			.voice-card-body p {
				width: 100%;
				margin: 0;
				color: #34413e;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
			}

			.voice-card-body p:first-child {
				font-size: 16px;
				line-height: 1.3;
				color: #5d5232;
			}

			.voice-card-body hr {
				width: 100%;
				margin: 8px 0;
				border: 0;
				border-top: 1px solid #d9d9d9;
			}

			.voice-card-text-button {
				display: inline-flex;
				align-items: center;
				justify-content: flex-end;
				gap: 8px;
				width: 191px;
				height: 36px;
				padding: 8px 8px 8px 12px;
				box-sizing: border-box;
				border-radius: 8px;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 700;
				line-height: 1.24;
				letter-spacing: 0.32px;
				color: #2e896b;
				white-space: nowrap;
			}

			.voice-card-link {
				right: 12px;
				bottom: 16px;
			}

			.voice-card-text-button img {
				display: block;
				width: 16px;
				height: 16px;
				flex: 0 0 16px;
			}

			.voice-youtube-cta-text {
				display: inline-flex;
				align-items: center;
				justify-content: flex-end;
				gap: 8px;
				width: 298px;
				height: 44px;
				padding: 12px 32px;
				box-sizing: border-box;
				border-radius: 999px;
				background: #ff9327;
				color: #ffffff;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 700;
				line-height: 1.24;
				letter-spacing: 0.32px;
				white-space: nowrap;
			}

			.voice-youtube-cta-text img {
				display: block;
				width: 16px;
				height: 16px;
				flex: 0 0 16px;
			}

			.program-nav,
			.program-nav img {
				width: 80px;
				height: 80px;
			}

			.program-nav.prev {
				left: 0;
			}

			.program-nav.next {
				right: 0;
			}

			.why-brainco-section {
				width: 1440px;
				max-width: 100%;
				height: 765px;
				padding: 120px 0 80px;
				box-sizing: border-box;
			}

			.why-brainco-section .senmonka-block {
				width: 1200px;
				margin: 0 auto;
			}

			.why-brainco-section .senmonka-title-large {
				width: 571px;
				height: 64px;
				margin: 0 auto 64px;
			}

			.why-brainco-section .senmonka-title-large .sp-section-title {
				width: 100%;
				gap: 16px;
				padding-right: 80px;
			}

			.why-brainco-section .senmonka-title-medium {
				width: 480px;
				height: 38px;
				gap: 16px;
				margin: 0 auto;
			}

			.why-brainco-section .senmonka-title-medium-text {
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
			}

			.senmonka-cards {
				width: 1200px;
				grid-template-columns: repeat(2, 580px);
				gap: 40px;
				margin-top: 48px;
				justify-content: flex-start;
			}

			.senmonka-cards:has(> .senmonka-card:only-child) {
				grid-template-columns: 580px;
				justify-content: center;
			}

			.senmonka-card-pc-only {
				display: flex;
			}

			.senmonka-card {
				width: 580px;
				height: auto;
				min-height: 351px;
				padding: 16px;
				gap: 20px;
				border: 0;
				border-radius: 16px;
			}

			.senmonka-card-image-wrap {
				padding: 0;
			}

			.senmonka-card-body {
				padding-top: 0;
				gap: 16px;
			}

			.senmonka-card .senmonka-card-photo {
				width: 124px;
				height: 124px;
				max-width: none;
				object-fit: cover;
			}

			.senmonka-card-title {
				font-size: 24px;
				font-weight: 500;
				line-height: 1.5;
				letter-spacing: 0;
			}

			.senmonka-card-specialty {
				font-size: 20px;
				font-weight: 500;
				line-height: 1.5;
				letter-spacing: 0;
			}

			.senmonka-card-specialty + .senmonka-card-copy {
				margin-top: 0;
				padding-top: 16px;
			}

			.senmonka-card-copy {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
			}

			.how_to_use-section {
				width: 1440px;
				max-width: 100%;
				height: 914px;
				padding: 120px 0 80px;
				box-sizing: border-box;
			}

			.how_to_use-stack {
				width: 100%;
				gap: 0;
			}

			.how_to_use-title {
				width: 1051px;
				height: 64px;
			}

			.how_to_use-title .sp-section-title {
				width: 100%;
				gap: 16px;
				padding-right: 80px;
			}

			.how_to_use-title .sp-section-title-text {
				font-size: 40px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				white-space: nowrap;
			}

			.how_to_use-note {
				margin: 17px 0 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.5;
				letter-spacing: 0;
			}

			.how_to_use-step {
				width: 1200px;
				margin-top: 64px;
			}

			.how_to_use-steps {
				width: 1200px;
				grid-template-columns: repeat(3, 384px);
				gap: 24px;
				padding-top: 56px;
			}

			.how_to_use-steps-line {
				top: 32px;
				left: 234px;
				right: 234px;
				height: 4px;
			}

			.how_to_use-step-card {
				width: 384px;
				height: 381px;
				min-height: 381px;
				padding: 16px;
				display: flex;
				flex-direction: column;
				justify-content: space-between;
			}

			.how_to_use-step-number {
				top: -56px;
				width: 64px;
				height: 64px;
				font-size: 48px;
				line-height: 64px;
			}

			.how_to_use-step-card:nth-of-type(1) .how_to_use-step-number {
				transform: translateX(calc(-50% + 10px));
			}

			.how_to_use-step-card:nth-of-type(3) .how_to_use-step-number {
				transform: translateX(calc(-50% - 10px));
			}

			.how_to_use-step-title {
				font-size: 24px;
				font-weight: 500;
				line-height: 1.5;
			}

			.how_to_use-step-copy {
				margin: 12px 0 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
			}

			.how_to_use-step-image {
				position: static;
				width: 352px;
				max-width: 100%;
				height: 198px;
				transform: none;
				object-fit: cover;
			}

			.how-to-use-cta {
				margin-top: 64px;
			}

			.how-to-use-cta-image {
				display: none !important;
			}

			.how-to-use-cta-text {
				display: inline-flex;
				align-items: center;
				justify-content: flex-end;
				gap: 8px;
				width: 333px;
				height: 44px;
				padding: 12px 32px;
				box-sizing: border-box;
				border-radius: 999px;
				background: #ff9327;
				color: #ffffff;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 700;
				line-height: 1.24;
				letter-spacing: 0.32px;
				white-space: nowrap;
			}

			.how-to-use-cta-text img {
				display: block;
				width: 16px;
				height: 16px;
				flex: 0 0 16px;
			}

			.plan-section {
				width: 1440px;
				max-width: 100%;
				min-height: 1866px;
				padding: 120px 0 80px;
				box-sizing: border-box;
			}

			.plan-stack {
				width: 1200px;
				margin: 0 auto;
			}

			.plan-title {
				width: 400px;
				height: 64px;
			}

			.plan-title .sp-section-title {
				width: 100%;
				gap: 16px;
				padding-right: 80px;
			}

			.plan-title .sp-section-title-text {
				font-size: 40px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
			}

			.plan-title-sub {
				width: 288px;
				height: 38px;
				gap: 16px;
				margin-top: 64px;
			}

			.plan-title-sub-text {
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
			}

			.plan-stack > p {
				margin: 16px 0 48px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.375;
				letter-spacing: 0;
				color: #5d5232;
			}

			.plan-cards {
				width: 960px;
				gap: 32px;
			}

			.plan-cards .plan-card {
				width: 464px !important;
				height: 537px;
				box-sizing: border-box;
				border: 2px solid #8dcab3 !important;
				border-radius: 6px !important;
			}

			.plan-cards .plan-card.light {
				border-color: #2e896b !important;
			}

			.plan-cards .plan-card > header {
				height: 89px;
				padding: 22px 16px 16px !important;
				box-sizing: border-box;
			}

			.plan-cards .plan-card > header > p:first-child {
				font-size: 14px !important;
				line-height: 18px !important;
			}

			.plan-cards .plan-card > header > p:last-child {
				margin-top: 4px !important;
				font-size: 18px !important;
				line-height: 23px !important;
			}

			.plan-cards .plan-card > div {
				height: 444px;
				padding: 24px 32px !important;
				box-sizing: border-box;
			}

			.price-note-box {
				width: 960px;
				height: 168px;
				min-height: 0;
				margin: 16px 0 64px;
				padding: 24px 40px;
				border-radius: 0;
				justify-content: flex-start;
			}

			.price-note-title {
				font-size: 18px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0;
			}

			.price-note-list {
				margin-top: 16px;
				gap: 4px;
			}

			.price-note-item {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.625;
				letter-spacing: 0;
			}

			.comparison-title {
				width: 480px;
				height: 38px;
				gap: 16px;
				margin: 0 auto;
			}

			.comparison-title-text {
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
			}

			.comparison-description {
				margin: 16px 0 48px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.375;
				letter-spacing: 0;
			}

			.comparison-table-wrap,
			.comparison-table {
				width: 1200px;
				max-width: 100%;
			}

			.comparison-table-wrap {
				border: 4px solid #ffffff;
				border-radius: 8px;
			}

			.comparison-table th,
			.comparison-table td {
				border: 0;
				border-bottom: 2px solid #faf6ef;
			}

			.comparison-table thead th:first-child,
			.comparison-table tbody th {
				border-right: 2px solid #ffffff;
				border-bottom: 2px solid #ffffff;
			}

			.comparison-table thead th:nth-child(2),
			.comparison-table thead th:nth-child(4) {
				border-bottom: 2px solid #ffffff;
			}

			.comparison-table thead th:nth-child(3) {
				border: 2px solid #2e896b;
			}

			.comparison-table tbody td:nth-child(3) {
				border-top: 0;
				border-right: 2px solid #2e896b;
				border-bottom: 2px solid #2e896b;
				border-left: 2px solid #2e896b;
			}

			.comparison-table tbody tr:last-child td:nth-child(3) {
				border-bottom: 2px solid #2e896b;
				box-shadow: none;
			}

			.step-section {
				width: 1440px;
				max-width: 100%;
				min-height: 754px;
				padding: 80px 0;
				box-sizing: border-box;
			}

			.step-section-stack {
				gap: 0;
			}

			.step-section-title {
				width: 680px;
				height: 64px;
			}

			.step-section-title .sp-section-title {
				width: 100%;
				gap: 16px;
				padding-right: 80px;
			}

			.step-section-title .sp-section-title-text {
				font-size: 40px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
			}

			.step-section-image {
				width: 1200px;
				margin-top: 64px;
			}

			.onboarding-steps {
				width: 1200px;
				grid-template-columns: repeat(3, 384px);
				gap: 24px;
				padding-top: 56px;
			}

			.onboarding-steps-line {
				top: 32px;
				left: 234px;
				right: 234px;
				height: 4px;
			}

			.onboarding-step-card {
				width: 384px;
				height: 410px;
				min-height: 410px;
				padding: 16px;
				display: flex;
				flex-direction: column;
				justify-content: space-between;
			}

			.onboarding-step-number {
				top: -56px;
				width: 64px;
				height: 64px;
				font-size: 48px;
				line-height: 64px;
			}

			.how_to_use-step-number > span,
			.onboarding-step-number > span {
				position: absolute;
				top: calc(50% - 4px);
				left: 50%;
				transform: translate(-50%, -50%);
				font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;
				font-size: 48px;
				font-weight: 900;
				line-height: 1;
				white-space: nowrap;
			}

			.onboarding-step-card:nth-of-type(1) .onboarding-step-number {
				transform: translateX(calc(-50% + 10px));
			}

			.onboarding-step-card:nth-of-type(3) .onboarding-step-number {
				transform: translateX(calc(-50% - 10px));
			}

			.onboarding-step-title {
				font-size: 24px;
				font-weight: 500;
				line-height: 1.5;
			}

			.onboarding-step-copy {
				margin: 12px 0 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
			}

			.onboarding-step-image {
				position: static;
				width: 352px;
				max-width: 100%;
				height: 198px;
				transform: none;
				object-fit: cover;
			}

			.step-contact-cta {
				margin-top: 64px;
			}

			.step-contact-cta-pc-group {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 24px;
				width: 422px;
			}

			.step-contact-cta-sp-link {
				display: none;
			}

			.step-contact-cta-main {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 8px;
				width: 100%;
			}

			.step-contact-cta-lead {
				display: flex;
				align-items: center;
				gap: 8px;
				margin: 0;
				color: #eb7200;
				font-family: var(--font-kaku);
				font-size: 20px;
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0.8px;
				text-align: center;
				white-space: nowrap;
			}

			.step-contact-cta-lead::before,
			.step-contact-cta-lead::after {
				content: "";
				width: 15px;
				height: 1px;
				background: currentColor;
			}

			.step-contact-cta-lead::before {
				transform: rotate(60deg);
			}

			.step-contact-cta-lead::after {
				transform: rotate(-60deg);
			}

			.step-contact-cta-primary {
				display: inline-flex;
				width: 100%;
				padding-bottom: 8px;
				text-decoration: none;
			}

			.step-contact-cta-image {
				display: none !important;
			}

			.step-contact-cta-text {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: 12px;
				width: 100%;
				height: 86px;
				padding: 24px 48px;
				box-sizing: border-box;
				border-radius: 999px;
				background: #ff9327;
				box-shadow: 0 8px 0 #ea7c0e;
				color: #ffffff;
				font-family: var(--font-kaku);
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.64px;
				white-space: nowrap;
			}

			.step-contact-cta-text svg {
				width: 16px;
				height: 16px;
				flex: 0 0 16px;
				fill: none;
				stroke: currentColor;
				stroke-width: 2;
				stroke-linecap: round;
				stroke-linejoin: round;
			}

			.faq-section {
				width: 1440px;
				max-width: 100%;
				height: 836px;
				padding: 120px 0 80px;
				box-sizing: border-box;
			}

			.faq-title {
				width: 440px;
				height: 64px;
				margin: 0 auto;
			}

			.faq-title .sp-section-title {
				width: 100%;
				gap: 16px;
				padding-right: 80px;
			}

			.faq-title .sp-section-title-text {
				font-size: 40px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				white-space: nowrap;
			}


			.qa {
				margin: 64px auto 0;
				width: 960px;
				gap: 24px;

			.qa-item {
				min-height: 109px;
				border: 0;
				border-radius: 8px;
				box-shadow: none;
			}

			.qa-q {
				min-height: 56px;
				padding: 12px 16px;
				gap: 12px;
				font-size: 18px;
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0;
				white-space: nowrap;
			}

			.qa-q img {
				width: 32px;
				height: 32px;
			}

			.qa-a {
				grid-template-columns: 24px minmax(0, 1fr);
				gap: 8px;
				padding: 0 16px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
			}

			.qa-a img {
				width: 24px;
				height: 24px;
			}

			.qa-a {
				max-height: none;
				overflow: visible;
				padding: 8px 16px 16px;
				transition: none;
			}
		}

		@media (min-width: 769px) {
			.contact-section {
				width: 1440px;
				max-width: 100%;
				height: 1406px;
				padding: 120px 0 160px;
				box-sizing: border-box;
			}

			.contact-title {
				width: 440px;
				height: 48px;
				margin: 0 auto;
			}

			.contact-title .sp-section-title-text {
				font-size: 40px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				white-space: nowrap;
			}

			.contact-cta {
				width: 1200px;
				height: 1014px;
				margin: 64px auto 0;
			}

			.contact-form-block {
				width: 960px;
				height: 1014px;
				min-height: 0;
				padding: 40px 120px 80px;
				border-radius: 24px;
				box-sizing: border-box;
				background: #f6f9f8;
			}

			.contact-form {
				width: 720px;
				max-width: none;
				gap: 24px;
			}

			.contact-form-bottom,
			.contact-privacy-text {
				display: contents;
			}

			.contact-field-label,
			.contact-option-label {
				font-size: 14px;
				font-weight: 500;
				line-height: 14px;
				letter-spacing: 0;
			}

			.contact-field-label {
				margin-bottom: 8px;
			}

			.contact-field-label .required,
			.contact-option-label .required {
				margin-left: 4px;
				font-size: 12px;
				line-height: 12px;
			}

			.contact-textfield,
			.contact-textarea {
				width: 720px;
				border-color: #d1d0cd;
				border-radius: 8px;
				padding-right: 16px;
				padding-left: 16px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.6;
			}

			.contact-textfield {
				height: 48px;
				line-height: 1.6;
				padding-top: 12px;
				padding-bottom: 12px;
			}

			.contact-textarea {
				height: 96px;
				padding-top: 12px;
				padding-bottom: 12px;
			}

			.contact-extra-fields {
				gap: 24px;
			}

			.contact-option-block {
				gap: 8px;
			}

			.contact-choice-group {
				gap: 0;
			}

			.contact-checkbox-option,
			.contact-radio-option {
				height: 50px;
				padding-left: 0;
				gap: 8px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.6;
			}

			.contact-checkbox-option input[type="checkbox"],
			.contact-radio-option input[type="radio"],
			.contact-privacy input[type="checkbox"] {
				width: 20px;
				height: 20px;
			}

			.contact-privacy {
				height: 50px;
				margin-top: 16px;
				gap: 8px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.6;
			}

			.contact-submit {
				margin-top: 0;
			}

			.contact-submit-image {
				display: none !important;
			}

			.contact-submit-btn {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				width: 129px;
				height: 44px;
				padding: 12px 32px;
				box-sizing: border-box;
				border: 0;
				border-radius: 999px;
				background: #c2c2c2;
				color: #eaeaea;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 700;
				line-height: 1.24;
				letter-spacing: 0.32px;
				white-space: nowrap;
			}

			.contact-submit-text {
				display: inline;
			}

			.contact-submit-btn:not(:disabled) {
				background: #ff9327;
				color: #ffffff;
			}

			.footer {
				width: 1440px;
				max-width: 100%;
				height: 414px;
				margin-top: 0;
				padding: 40px 0 80px;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				gap: 32px;
				background: #ffffff;
			}

			.footer-logo {
				width: 240px;
				height: 240px;
				margin: 0;
				object-fit: cover;
			}

			.footer-links {
				width: 100%;
				height: 22px;
				padding: 0 40px;
				box-sizing: border-box;
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 40px;
				color: #5d5232;
				font-family: var(--font-kaku);
				font-size: 18px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.36px;
				white-space: nowrap;
			}

			.footer-facility-link {
				display: inline-flex;
				align-items: center;
				gap: 4px;
			}

			.footer-facility-link svg {
				width: 16px;
				height: 16px;
				flex: 0 0 16px;
				fill: none;
				stroke: currentColor;
				stroke-width: 1.6;
				stroke-linecap: round;
				stroke-linejoin: round;
			}
			}

			.contact-section {
				padding-top: 120px;
				padding-bottom: 160px;
			}

			.contact-cta {
				margin-top: 64px;
			}

			.contact-form-block {
				width: 960px;
				min-height: 1014px;
				padding: 40px 0 80px;
			}

			.contact-form {
				gap: 24px;
			}

			.contact-field-label,
			.contact-option-label {
				line-height: 14px;
			}

			.contact-extra-fields {
				gap: 24px;
			}
		}
