﻿/* Temporary responsive bridge until dedicated SP design is merged. */
		@media (max-width: 768px) {
			:root {
				--section-gap: 80px;
				--block-gap: 28px;
				--title-content-gap: 32px;
			}

			html,
			body {
				background-color: #faf7ee;
			}

			.page {
				border-left: 0;
				border-right: 0;
				background: #faf7ee;
			}

			body.menu-open {
				overflow: hidden;
			}

			.header {
				background: rgba(255, 255, 255, 0.85);
				border-bottom: 0;
			}

			.header-inner {
				height: 64px;
				padding: 0 0 0 12px;
				gap: 12px;
				box-sizing: border-box;
			}

			.logo img {
				width: 139px;
				height: 52px;
			}

			.logo .logo-scrolled {
				display: none;
			}

			.header.is-scrolled .header-inner {
				height: 64px;
				padding: 0 0 0 12px;
			}

			.header.is-scrolled .logo picture {
				display: none;
			}

			.header.is-scrolled .logo .logo-scrolled {
				display: block;
				width: 111px;
				height: 44px;
				object-fit: contain;
			}

			.logo picture,
			.header-menu-logo picture {
				display: block;
			}

			.header-pc-nav {
				display: none;
			}

			.header-menu-toggle {
				display: inline-flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				width: 64px;
				height: 64px;
				min-height: 64px;
				padding: 8px 0 4px;
				margin-left: auto;
				background: transparent;
				border: 0;
				cursor: pointer;
				flex: 0 0 64px;
				gap: 0;
			}

			.header-menu-toggle-label,
			.header-menu-close-label {
				display: block;
				font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;
				font-size: 12px;
				font-weight: 900;
				line-height: 1;
				letter-spacing: 0.24px;
				color: #5d5232;
				text-align: center;
				margin-bottom: 0;
				white-space: nowrap;
			}

			.header-menu-toggle img,
			.header-menu-close img {
				display: block;
				width: 40px;
				height: 40px;
			}

			.header-menu-overlay {
				display: block;
				position: fixed;
				inset: 0;
				z-index: 80;
				height: 100dvh;
				box-sizing: border-box;
				overflow: hidden;
				background: #faf7ee;
				opacity: 0;
				visibility: hidden;
				pointer-events: none;
				transition: opacity 0.24s ease, visibility 0.24s ease;
			}

			.header-menu-overlay.is-open {
				opacity: 1;
				visibility: visible;
				pointer-events: auto;
			}

			.header-menu-panel {
				position: relative;
				height: 100%;
				min-height: 100%;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				overflow: hidden;
			}

			.header-menu-head {
				display: flex;
				align-items: center;
				justify-content: space-between;
				height: 64px;
				flex: 0 0 64px;
				padding: 0 0 0 12px;
			}

			.header-menu-logo img {
				width: 111px;
				height: 32px;
				object-fit: contain;
			}

			.header-menu-close {
				display: inline-flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				width: 64px;
				height: 64px;
				min-height: 64px;
				padding: 8px 0 4px;
				background: transparent;
				border: 0;
				cursor: pointer;
				flex: 0 0 64px;
				gap: 0;
			}

			.header-menu-nav {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 32px;
				padding: 64px 40px 0;
			}

			.header-menu-nav a {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.32px;
				color: #5d5232;
				text-align: center;
			}

			.header-menu-actions {
				display: flex;
				justify-content: center;
				margin-top: 64px;
				padding: 0 40px;
			}

			.header-menu-contact {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-width: 0;
				min-height: 0;
				padding: 12px 32px;
				border-radius: 999px;
				background: #ff9327;
				color: #ffffff;
				font-size: 16px;
				font-weight: 700;
				line-height: 1.24;
				letter-spacing: 0.32px;
				white-space: nowrap;
			}

			.header-menu-bottom {
				position: absolute;
				left: 0;
				right: 0;
				bottom: 0;
				z-index: 1;
				padding-bottom: env(safe-area-inset-bottom);
				box-sizing: border-box;
			}

			.header-menu-gov-link {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 8px;
				width: 100%;
				min-height: 60px;
				padding: 20px 32px;
				box-sizing: border-box;
				background: #2e896b;
				color: #ffffff;
				font-size: 16px;
				font-weight: 700;
				line-height: 1.24;
				letter-spacing: 0.32px;
				white-space: nowrap;
			}

			.header-menu-gov-icon {
				width: 16px;
				height: 16px;
				flex: 0 0 16px;
			}

			.header-links a:first-child img {
				width: min(62vw, 260px);
				height: auto;
			}

			.header-links {
				display: none;
			}

			.section.hero-section {
				padding: 0;
			}

			.hero-panel {
				height: 593px;
				min-height: 0;
				border-radius: 0;
				background-color: #faf7ee;
				background:
					linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)),
					url("../img/mobile/FV.png") center center / cover no-repeat;
				background-color: #faf7ee;
			}

			.hero-cta img {
				width: 275px;
				height: 70px;
			}

			.hero-cta {
				align-items: center;
				margin-top: 48px;
			}

			.hero-cta-pc-group {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 16px;
				width: min(360px, 100%);
			}

			.hero-cta .hero-cta-sp-link {
				display: none;
			}

			.hero-cta-primary {
				width: 268px;
				height: 62px;
				padding-bottom: 6px;
				box-sizing: border-box;
			}

			.hero-cta-sp-img {
				display: none;
			}

			.hero-cta-btn {
				display: inline-flex;
				flex-direction: column;
				align-items: flex-end;
				justify-content: center;
				width: 275px;
				height: 64px;
				padding: 12px 32px 16px;
				box-sizing: border-box;
				border-radius: 999px;
				background: #ff9327;
				box-shadow: 0 6px 0 #ea7c0e;
				text-decoration: none;
			}

			.hero-cta-pc-group .hero-cta-btn {
				width: 100%;
				height: 56px;
				padding: 12px 32px;
			}

			.hero-cta-text {
				width: 100%;
				padding-top: 0;
				transform: translateY(6px);
				font-family: var(--font-kaku);
				font-size: 20px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.4px;
				color: #ffffff;
				text-align: left;
				white-space: nowrap;
			}

			.hero-cta-pc-group .hero-cta-text {
				padding-top: 0;
				transform: none;
				text-align: center;
			}

			.hero-cta-pc-group .hero-cta-secondary,
			.step-section .step-contact-cta .step-contact-cta-secondary {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				gap: 8px;
				width: 228px;
				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-pc-group .hero-cta-secondary:hover,
			.step-section .step-contact-cta .step-contact-cta-secondary:hover {
				background: #e8f2ee;
			}

			.hero-cta-pc-group .hero-cta-secondary-icon,
			.step-section-button .step-contact-cta-secondary-icon {
				width: 16px;
				height: 16px;
				margin: 0;
				flex-shrink: 0;
			}

			.hero-cta-lead {
				display: none;
			}

			.hero-cta-brand {
				position: relative;
				display: inline-block;
			}

			.hero-cta-ruby {
				position: absolute;
				top: -11px;
				left: 0.5px;
				transform: none;
				font-family: var(--font-kaku);
				font-size: 14px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.28px;
				color: #ffffff;
				white-space: nowrap;
			}

			.hero-copy {
				width: 100%;
				min-height: 0;
				margin: 0;
				padding: 120px 16px 64px;
				gap: 0;
			}

			.hero-label {
				min-width: 0;
				height: 38px;
				margin: 0 0 20px;
				font-size: 18px;
				line-height: 1.2;
				letter-spacing: 1.08px;
			}

			.hero-heading {
				width: 100%;
				height: 232px;
				margin: 0;
				font-size: 36px;
				line-height: 1.6;
				letter-spacing: 0;
			}

			.hero-heading-pc {
				display: none;
			}

			.hero-heading-sp {
				display: block;
			}

			.hero-heading-brand {
				display: inline-block;
				position: relative;
				white-space: nowrap;
				vertical-align: baseline;
			}

			.hero-heading-kana {
				position: absolute;
				top: -4px;
				bottom: auto;
				left: 50%;
				transform: translateX(-50%);
				margin: 0;
				font-size: 16px;
				line-height: 1;
				letter-spacing: 0.32px;
				color: #5d5232;
				white-space: nowrap;
			}

			.hero-description {
				width: 100%;
				min-height: 87px;
				margin: 32px 0 0;
				font-size: 16px;
				line-height: 1.8;
				letter-spacing: 0.96px;
				color: #5d5232;
				text-shadow: none;
			}

			.section {
				padding: 12px 0;
				background-color: #faf7ee;
			}

			.section.solution-section,
			.section.function-section,
			.section.voice-section,
			.section.why-brainco-section,
			.section.how_to_use-section,
			.section.plan-section,
			.section.faq-section {
				height: auto;
				min-height: 0;
			}

			.section.solution-section {
				width: 100%;
				padding: 80px 16px;
				align-items: center;
				box-sizing: border-box;
			}

			.overview-section,
			.kadai-section,
			.dekirukoto-wrap,
			.senmonka-block,
			.program-block,
			.kpi-block,
			.how_to_use-section,
			.plan-section,
			.comparison-section,
			.step-section,
			.qa,
			.program-viewport,
			.comparison-table-wrap {
				width: 100%;
				max-width: 100%;
			}

			.overview-section,
			.kadai-section,
			.dekirukoto-wrap,
			.senmonka-block,
			.program-block,
			.how_to_use-section,
			.plan-section,
			.comparison-section,
			.step-section,
			.faq-section {
				padding-left: 16px;
				padding-right: 16px;
			}

			.overview-section {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 56px;
				min-height: 721px;
				padding: 80px 16px;
				background: #faf7ee;
			}

			.overview-title {
				width: 100%;
				margin: 0;
				justify-content: center;
			}

			.overview-title .sp-section-title {
				grid-template-columns: 40px 201px;
				gap: 8px;
				width: 297px;
				padding-right: 48px;
				box-sizing: border-box;
				justify-content: start;
			}

			.overview-card {
				position: relative;
				width: min(100%, 328px);
				height: 455px;
				min-height: 455px;
				margin: 0;
				padding: 24px;
				box-sizing: border-box;
				gap: 32px;
				border-radius: 24px;
				background: url("../img/mobile/text-container.svg") center center / 100% 100% no-repeat;
			}

			.overview-heading {
				position: absolute;
				width: 1px;
				height: 1px;
				margin: -1px;
				padding: 0;
				overflow: hidden;
				clip: rect(0, 0, 0, 0);
				white-space: nowrap;
				border: 0;
				font-size: 24px;
				font-weight: 700;
				line-height: 2;
				letter-spacing: 0;
				color: #2e896b;
				text-align: center;
			}

			.overview-description {
				position: absolute;
				width: 1px;
				height: 1px;
				margin: -1px;
				padding: 0;
				overflow: hidden;
				clip: rect(0, 0, 0, 0);
				white-space: nowrap;
				border: 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0.96px;
				color: #5d5232;
				text-align: center;
			}

			.overview-title .sp-section-title-text {
				width: 201px;
				height: 50px;
				padding-top: 12px;
				box-sizing: border-box;
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				color: #5d5232;
				text-align: center;
			}

			.overview-title .sp-section-title-brand {
				position: relative;
				display: inline-block;
				white-space: nowrap;
			}

			.overview-title .sp-section-title-kana {
				top: -12px;
				bottom: auto;
				left: 17.5px;
				transform: none;
				margin: 0;
				font-size: 14px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.28px;
				color: #5d5232;
				white-space: nowrap;
			}

			.overview-description {
				font-size: 16px;
			}

			.overview-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
				object-fit: contain;
			}

			.overview-title .sp-section-title-text {
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				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;
				top: -12px;
				bottom: auto;
				left: 17.5px;
				transform: none;
				margin: 0;
				font-size: 14px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.28px;
				color: #5d5232;
				white-space: nowrap;
			}

			.sp-section-title {
				display: grid;
				grid-template-columns: 40px auto;
				align-items: center;
				justify-content: center;
				gap: 4px;
				width: min(100%, 340px);
				margin: 0 auto;
			}

			.sp-section-title.no-icon {
				grid-template-columns: auto;
				gap: 0;
			}

			.sp-section-title-icon {
				display: block;
				width: 40px;
				height: 40px;
				object-fit: contain;
				align-self: center;
				justify-self: center;
			}

			.sp-section-title-text {
				display: block;
				width: 100%;
				font-size: 32px;
				font-weight: 500;
				line-height: 1.25;
				letter-spacing: 0.02em;
				color: #5d5232;
				text-align: center;
			}

			.sp-section-title-brand {
				display: inline-block;
				position: relative;
				white-space: nowrap;
			}

			.sp-section-title-kana {
				position: absolute;
				left: 50%;
				bottom: 100%;
				transform: translateX(-50%);
				margin-bottom: -2px;
				font-size: 14px;
				font-weight: 500;
				line-height: 1;
				letter-spacing: 0.08em;
				color: #7d6b52;
				white-space: nowrap;
			}

			.kadai-title > img,
			.section-title-wrap > img,
			.senmonka-title-large > img,
			.how_to_use-title > img,
			.step-section-title > img {
				display: none;
			}

			.kadai-title,
			.section-title-wrap,
			.voice-title,
			.senmonka-title-large,
			.how_to_use-title,
			.step-section-title,
			.contact-title {
				display: flex;
				justify-content: center;
				margin-bottom: 32px;
			}

			.kadai-title .sp-section-title {
				grid-template-columns: 40px 192px;
				gap: 8px;
				width: 288px;
				padding-right: 48px;
				box-sizing: border-box;
				justify-content: start;
			}

			.kadai-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.kadai-title .sp-section-title-text {
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				color: #5d5232;
			}

			.kadai-title-break {
				display: inline;
			}

			.section-title-wrap .sp-section-title {
				grid-template-columns: 40px auto;
				gap: 4px;
				width: min(100%, 340px);
			}

			.section-title-wrap .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.section-title-wrap .sp-section-title-text {
				font-size: 32px;
				color: #5d5232;
			}

			.section-title-wrap .sp-section-title-kana {
				font-size: 14px;
				color: #5d5232;
			}

			.senmonka-title-large .sp-section-title {
				grid-template-columns: 40px auto;
				gap: 4px;
				width: min(100%, 340px);
			}

			.senmonka-title-large .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.senmonka-title-large .sp-section-title-text {
				font-size: 32px;
				color: #5d5232;
				white-space: normal;
			}

			.senmonka-title-large .sp-section-title-kana {
				font-size: 14px;
				color: #5d5232;
			}

			.senmonka-title-break {
				display: inline;
			}

			.senmonka-title-medium {
				--title-line-width: 32px;
				--title-line-gap: 24px;
				--title-line-thickness: 4px;
				gap: var(--title-line-gap);
			}

			.senmonka-title-medium::before,
			.senmonka-title-medium::after {
				width: var(--title-line-width);
				height: var(--title-line-thickness);
				flex-basis: var(--title-line-width);
				background: #a8dcc9;
			}

			.senmonka-title-medium-text {
				font-size: 24px;
				color: #2e896b;
			}

			.step-section-title .sp-section-title {
				grid-template-columns: 40px auto;
				gap: 4px;
				width: min(100%, 340px);
			}

			.step-section-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.step-section-title .sp-section-title-text {
				font-size: 32px;
				color: #5d5232;
				white-space: normal;
			}

			.step-title-break {
				display: inline;
			}

			.plan-title .sp-section-title {
				grid-template-columns: 40px auto;
				gap: 4px;
				width: min(100%, 340px);
			}

			.plan-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.plan-title .sp-section-title-text {
				font-size: 32px;
				color: #5d5232;
				white-space: nowrap;
			}

			.plan-title-sub {
				--title-line-width: 32px;
				--title-line-gap: 24px;
				--title-line-thickness: 4px;
				gap: var(--title-line-gap);
			}

			.plan-title-sub::before,
			.plan-title-sub::after {
				width: var(--title-line-width);
				height: var(--title-line-thickness);
				flex-basis: var(--title-line-width);
				background: #a8dcc9;
			}

			.plan-title-sub-text {
				font-size: 24px;
				color: #2e896b;
			}

			.function-title-break {
				display: inline;
			}

			.voice-title .sp-section-title {
				grid-template-columns: 40px auto;
				gap: 4px;
				width: min(100%, 340px);
			}

			.voice-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.voice-title .sp-section-title-text {
				font-size: 32px;
				color: #5d5232;
				white-space: nowrap;
			}

			.contact-title {
				font-size: 0;
				line-height: 0;
			}

			.contact-title .sp-section-title-text {
				font-size: 32px;
				color: #5d5232;
				white-space: normal;
			}

			.contact-title-break {
				display: inline;
			}

			.section.why-brainco-section {
				width: 100%;
				height: auto;
				min-height: 0;
				padding: 80px 16px;
				box-sizing: border-box;
			}

			.why-brainco-section .senmonka-block {
				width: 100%;
				max-width: 328px;
				margin: 0 auto;
				padding: 0;
			}

			.why-brainco-section .senmonka-title-large {
				width: 288px;
				height: 88px;
				margin: 0 auto 56px;
			}

			.why-brainco-section .senmonka-title-large .sp-section-title {
				grid-template-columns: 40px 192px;
				gap: 8px;
				width: 288px;
				height: 88px;
				padding-right: 48px;
				box-sizing: border-box;
				justify-content: start;
			}

			.why-brainco-section .senmonka-title-large .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.why-brainco-section .senmonka-title-large .sp-section-title-text {
				font-size: 32px;
				letter-spacing: 0;
				line-height: 1.2;
				text-align: center;
				white-space: normal;
			}

			.why-brainco-section .senmonka-title-medium {
				width: 328px;
				height: 36px;
				gap: 8px;
				margin: 0 auto;
			}

			.why-brainco-section .senmonka-title-medium::before,
			.why-brainco-section .senmonka-title-medium::after {
				width: 32px;
				height: 4px;
				flex-basis: 32px;
			}

			.why-brainco-section .senmonka-title-medium-text {
				font-size: 24px;
				line-height: 1.2;
			}

			.section.voice-section {
				padding: 80px 16px 64px;
				box-sizing: border-box;
			}

			.voice-section .program-block {
				width: 100%;
				max-width: none;
				padding: 0;
			}

			.voice-section .voice-interview-cta {
				margin-top: 56px;
			}

			.is-contact-title {
				margin-bottom: 0;
			}

			.kadai-title {
				margin-bottom: 56px;
			}

			.kadai-grid-top,
			.kadai-grid-bottom {
				display: grid;
				grid-template-columns: 1fr;
				overflow: visible;
				justify-content: center;
				row-gap: 42px;
				column-gap: 12px;
				padding-bottom: 0;
			}

			.kadai-grid-top {
				display: flex;
				flex-direction: column;
				align-items: stretch;
				width: 100%;
				max-width: 328px;
				gap: 24px;
				margin: 0 auto;
			}

			.kadai-card {
				width: 100%;
				max-width: 282px;
				flex: none;
				margin: 0 auto;
			}
			.kadai-card-item {
				width: 100%;
				max-width: none;
				height: auto;
				min-height: 0;
				padding: 12px 16px 16px;
				margin: 0;
				background: #ffffff;
				border-radius: 8px;
				justify-content: flex-start;
			}
			.kadai-card-head {
				align-items: center;
				gap: 8px;
				padding-top: 4px;
				margin-bottom: 12px;
				box-sizing: border-box;
			}
			.kadai-card-icon {
				width: 64px;
				height: 64px;
			}
			.kadai-card-title {
				flex: 1 1 0;
				min-width: 0;
				margin: 0;
				font-size: 20px;
				font-weight: 700;
				line-height: 1.5;
				color: #2e896b;
			}
			.kadai-card-title-break {
				display: none;
			}
			.kadai-card-copy {
				width: 100%;
				margin: 0;
				font-weight: 500;
				font-size: 16px;
				line-height: 1.8;
				color: #34413e;
			}

			.kadai-solution-card {
				position: relative;
				width: 100%;
				max-width: none;
				height: auto;
				min-height: 0;
				padding: 48px 16px 16px;
				flex: none;
				margin: 0 auto;
				gap: 12px;
				border: 0;
				border-radius: 0;
				background: transparent;
				box-sizing: border-box;
				overflow: visible;
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
				align-items: stretch;
				isolation: isolate;
			}

			.kadai-solution-card::before {
				content: "";
				position: absolute;
				top: 32px;
				right: 0;
				bottom: 0;
				left: 0;
				border: 1px solid #2e896b;
				border-radius: 8px;
				background: #ffffff;
				z-index: 0;
			}

			.kadai-solution-number {
				position: absolute;
				top: 0;
				left: 0;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 48px;
				height: 48px;
				flex: 0 0 48px;
				margin: 0;
				padding-bottom: 4px;
				border-radius: 50%;
				background: #2e896b;
				color: #ffffff;
				font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;
				font-size: 38px;
				font-weight: 900;
				line-height: 1;
				text-align: center;
				z-index: 2;
			}

			.kadai-solution-title,
			.kadai-solution-copy,
			.kadai-solution-image {
				position: relative;
				z-index: 1;
			}

			.kadai-solution-title {
				margin: 0 0 -4px;
				font-size: 20px;
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0;
				color: #2e896b;
				white-space: normal;
			}

			.kadai-solution-copy {
				width: 100%;
				margin: 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
				color: #34413e;
				white-space: normal;
			}

			.kadai-solution-image {
				position: relative;
				left: auto;
				right: auto;
				bottom: auto;
				display: block;
				width: 100%;
				height: 160px;
				max-width: none;
				flex: 0 0 160px;
				margin: 0;
				object-fit: cover;
				object-position: center;
				transform: none;
			}

			.kadai-grid-bottom {
				display: flex;
				flex-direction: column;
				align-items: stretch;
				width: 100%;
				max-width: 328px;
				gap: 16px;
				margin-left: auto;
				margin-right: auto;
				isolation: isolate;
			}

			.kadai-summary {
				margin-top: 80px;
			}

			.kadai-summary-pc {
				display: none;
			}

			.kadai-summary-sp {
				display: block;
				width: fit-content;
				margin: 0 auto;
				color: #5d5232;
				text-align: center;
			}

			.kadai-summary-sp-lead,
			.kadai-summary-sp-message {
				margin: 0;
				font-weight: 500;
				white-space: nowrap;
			}

			.kadai-summary-sp-lead {
				margin-left: -16px;
				font-size: 16px;
				line-height: 1.2;
				transform: rotate(-6deg);
				transform-origin: left bottom;
				text-align: left;
			}

			.kadai-summary-sp-message {
				margin-top: 6px;
				font-size: 24px;
				line-height: 1.25;
			}

			.kadai-summary-sp-brand,
			.kadai-summary-sp-solution {
				color: #2e896b;
			}

			.kadai-summary-sp-brand {
				position: relative;
				display: inline-block;
				font-size: 40px;
				font-weight: 500;
			}

			.kadai-summary-sp-kana {
				position: absolute;
				bottom: calc(100% - 10px);
				left: 50%;
				transform: translateX(-50%);
				font-size: 16px;
				font-weight: 500;
				line-height: 1;
				white-space: nowrap;
			}

			.kadai-summary-sp-solution {
				font-size: 48px;
				font-weight: 700;
			}

			.kadai-summary-sp-copy {
				font-size: 24px;
				font-weight: 500;
			}

			.kadai-grid-bottom {
				margin-top: 32px;
			}

			.function-feature-title {
				font-size: 20px;
				font-weight: 500;
				line-height: 1.6;
				letter-spacing: 0;
				color: #5d5232;
				text-align: left;
			}

			.function-feature {
				display: flex;
				flex-direction: column;
				align-items: stretch;
				width: 100%;
				gap: 16px;
				margin: 0;
			}

			.function-feature.is-reverse {
				margin: 0;
			}

			.function-feature.is-reverse .function-feature-image {
				order: 0;
			}

			.function-feature.is-reverse .function-feature-text {
				order: 1;
			}

			.function-feature-image {
				position: relative;
				width: 100%;
				max-width: none;
				height: auto;
				aspect-ratio: 400 / 240;
				margin: 0;
				padding: 20px;
				box-sizing: border-box;
				overflow: hidden;
				background: #ffffff;
			}

			.function-feature-image img {
				position: absolute;
				inset: 20px;
				width: calc(100% - 40px);
				height: calc(100% - 40px);
				max-width: none;
				object-fit: cover;
			}

			.function-feature-text {
				order: 1;
				width: 100%;
				height: auto;
				padding: 0;
				gap: 8px;
			}

			.function-feature-title .accent {
				display: block;
				font-size: 24px;
				font-weight: 700;
				line-height: 1.6;
				letter-spacing: 0;
				color: #2e896b;
			}

			.function-feature:first-child .function-feature-title .accent {
				font-size: 20px;
			}

			.function-feature:nth-child(2) .function-feature-title {
				min-height: 104px;
			}

			.function-feature:nth-child(3) .function-feature-title {
				min-height: 110px;
			}

			.function-feature-description {
				width: 100%;
				margin: 0;
				padding: 20px 20px 12px;
				box-sizing: border-box;
				border-radius: 8px;
				background: #ffffff;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
				color: #34413e;
			}

			.function-feature:nth-child(1) .function-feature-description {
				min-height: 235px;
			}

			.function-feature:nth-child(2) .function-feature-description {
				min-height: 148px;
			}

			.function-feature:nth-child(3) .function-feature-description {
				min-height: 264px;
			}

			.section.function-section {
				width: 100%;
				height: auto;
				min-height: 0;
				padding: 80px 16px 64px;
				align-items: center;
				box-sizing: border-box;
			}

			.function-section .section-title-wrap {
				width: 100%;
				height: 88px;
				margin: 0 0 56px;
				justify-content: center;
			}

			.function-section .section-title-wrap .sp-section-title {
				grid-template-columns: 40px 160px;
				gap: 8px;
				width: 256px;
				height: 88px;
				padding-right: 48px;
				box-sizing: border-box;
				justify-content: start;
			}

			.function-section .section-title-wrap .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.function-section .section-title-wrap .sp-section-title-text {
				width: 160px;
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				color: #5d5232;
				text-align: left;
				white-space: normal;
			}

			.function-section .dekirukoto-wrap {
				width: 100%;
				max-width: 328px;
				margin: 0;
				padding: 0;
			}

			.function-section .dekirukoto-cards {
				width: 100%;
				gap: 56px;
			}

			.senmonka-cards {
				width: 100%;
				grid-template-columns: 1fr;
				gap: 24px;
				margin-top: 40px;
			}

			.senmonka-card {
				width: min(100%, 328px);
				height: auto;
				padding: 16px;
				margin: 0 auto;
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 8px;
				border: 0;
				border-radius: 16px;
				background: #ffffff;
				box-sizing: border-box;
			}

			.senmonka-card-image-wrap {
				flex: 0 0 0px;
				width: 100%;
				padding: 0;
				justify-content: center;
			}

			.senmonka-card-photo {
				width: 80px;
				height: 80px;
				margin: 0 auto;
			}

			.senmonka-card-body {
				padding-top: 0;
				gap: 4px;
				text-align: left;
				align-items: flex-start;
			}

			.senmonka-card-title,
			.senmonka-card-specialty,
			.senmonka-card-copy {
				text-align: left;
			}

			.senmonka-card-title {
				font-size: 20px;
				font-weight: 500;
				line-height: 1.5;
				letter-spacing: 0;
			}

			.senmonka-card-specialty {
				font-size: 18px;
				font-weight: 500;
				line-height: 1.5;
			}

			.senmonka-card-specialty + .senmonka-card-copy {
				margin-top: 8px;
				padding-top: 12px;
			}

			.senmonka-card-copy {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
			}

			.program-track {
				margin-top: 24px;
				gap: 12px;
			}

			.voice-section .program-carousel {
				padding-inline: 0;
				overflow-x: visible;
			}

			.voice-section .program-nav {
				display: grid;
				place-items: center;
				top: calc(50% + 12px);
				width: 64px;
				height: 64px;
			}

			.voice-section .program-nav img {
				max-width: none;
				width: 130%;
				height: auto;
			}

			.voice-section .program-nav.prev {
				left: -6px;
			}

			.voice-section .program-nav.next {
				right: -6px;
			}

			.program-card {
				width: min(328px, 100%);
				max-width: 328px;
				min-height: 331px;
				flex: 0 0 min(328px, 100%);
				display: flex;
				flex-direction: column;
				border-radius: 16px;
				background: #ffffff;
			}

			.voice-section .program-track {
				width: 100%;
			}

			.voice-section .program-track::before {
				content: "";
				flex: 0 0 max(0px, calc(50% - 164px));
				margin-right: -12px;
			}

			.voice-section .program-track::after {
				content: "";
				flex: 0 0 max(0px, calc(50% - 164px));
				margin-left: -12px;
			}

			.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-card img {
				width: 100%;
			}

			.voice-card-image-mobile {
				display: none !important;
			}

			.program-card .voice-card-structured {
				width: 100%;
				min-height: 331px;
				flex: 1 0 auto;
				padding-bottom: 12px;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				background: #ffffff;
				border-radius: 16px;
				overflow: hidden;
			}

			.voice-card-structured h3 {
				width: 100%;
				min-height: 56px;
				flex: 0 0 auto;
				margin: 0 0 -4px;
				padding: 12px 16px;
				box-sizing: border-box;
				background: #ccf0e3;
				color: #5d5232;
				font-family: var(--font-kaku);
				font-size: 20px;
				font-weight: 500;
				line-height: 1.6;
				white-space: normal;
			}

			.program-card:nth-child(4) .voice-card-structured h3 {
				padding-right: 14px;
				padding-left: 14px;
			}

			.voice-card-quote {
				position: relative;
				width: 100%;
				height: 20px;
				flex: 0 0 20px;
				margin: 0;
				padding: 0;
				font-size: 0;
			}

			.voice-card-quote::before {
				content: "";
				position: absolute;
				left: 80px;
				top: 0;
				z-index: 1;
				width: 30px;
				height: 20px;
				background: #ccf0e3;
				clip-path: polygon(0 0, 100% 0, 0 100%);
			}

			.voice-card-body {
				display: flex;
				flex: 1 0 247px;
				min-height: 247px;
				gap: 12px;
				align-items: flex-start;
				width: 100%;
				padding: 0 12px;
				box-sizing: border-box;
			}

			.voice-card-photo {
				width: 80px;
				height: 80px;
				flex: 0 0 80px;
				overflow: hidden;
				border-radius: 50%;
			}

			.voice-card-photo picture {
				display: block;
				width: 100%;
				height: 100%;
			}

			.voice-card-photo img {
				display: block;
				width: 80px !important;
				height: 80px !important;
				max-width: none;
				object-fit: cover;
			}

			.voice-card-body > div:not(.voice-card-photo) {
				display: flex;
				flex: 1;
				min-width: 0;
				flex-direction: column;
				align-items: flex-start;
				gap: 8px;
			}

			.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 {
				color: #5d5232;
				line-height: 1.3;
			}

			.voice-card-body hr {
				width: 100%;
				margin: 0;
				border: 0;
				border-top: 1px solid #d9d9d9;
			}

			.voice-card-link {
				right: 12px;
				bottom: 12px;
			}

			.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-text-button img {
				display: block;
				width: 16px;
				height: 16px;
				flex: 0 0 16px;
			}

			.program-nav {
				display: block;
				width: 44px;
				height: 44px;
			}

			.section.kpi-slider-section {
				width: 100%;
				height: 426px;
				min-height: 426px;
				padding: 64px 0;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: flex-start;
				background: #faf7ee;
				overflow: hidden;
			}

			.kpi-slider {
				display: flex;
				align-items: center;
				justify-content: flex-start;
				width: 2418px;
				max-width: none;
				height: 298px;
				flex: 0 0 298px;
				padding: 0 12px;
				margin: 0 !important;
				box-sizing: border-box;
				overflow: hidden;
				background: #faf7ee;
			}

			.kpi-slider-track,
			.kpi-slider-group {
				height: 298px;
			}

			.kpi-slider-group {
				gap: 0;
				padding: 0;
				align-items: stretch;
				background: #faf7ee;
			}

			.kpi-slide {
				position: relative;
				width: 399px;
				height: 298px;
				flex: 0 0 399px;
				padding: 0 12px;
				box-sizing: border-box;
				border-radius: 0;
				background: #faf7ee;
				overflow: hidden;
			}

			.kpi-slider-group > .kpi-slide.kpi-slide--up {
				padding: 48px 12px 0;
			}

			.kpi-slider-group > .kpi-slide.kpi-slide--down {
				padding: 0 12px 48px;
			}

			.kpi-slider-group > .kpi-slide.kpi-slide--flat {
				padding: 0 12px;
			}

			.kpi-slide > img {
				display: block;
				width: 375px;
				height: 250px;
				max-width: none;
				object-fit: cover;
				border-radius: 0;
			}

			.how_to_use-step {
				margin-top: 0;
			}

			.how-to-use-cta {
				margin-top: 64px;
			}

			.how-to-use-cta-text {
				display: inline-flex;
				align-items: center;
				justify-content: flex-end;
				gap: 8px;
				width: 317px;
				height: 44px;
				padding: 12px 24px;
				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;
			}

			.how_to_use-title .sp-section-title {
				grid-template-columns: 40px 232px;
				gap: 8px;
				width: 328px;
				height: 164px;
				padding-right: 48px;
				box-sizing: border-box;
				justify-content: start;
			}

			.how_to_use-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.how_to_use-title .sp-section-title-text {
				width: 232px;
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				color: #5d5232;
				text-align: center;
				white-space: normal;
			}

			.how_to_use-title .sp-section-title-kana {
				font-size: 14px;
				letter-spacing: 0.28px;
				color: #7d6b52;
			}

			.section.how_to_use-section {
				width: 100%;
				height: auto;
				min-height: 0;
				padding: 80px 16px;
				box-sizing: border-box;
				align-items: center;
			}

			.how_to_use-section .how_to_use-stack {
				width: 100%;
				max-width: 328px;
				gap: 0;
			}

			.how_to_use-section .how_to_use-title {
				width: 100%;
				height: 164px;
				margin: 0 0 17px;
			}

			.faq-title .sp-section-title {
				grid-template-columns: 40px auto;
				gap: 4px;
			}

			.faq-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.faq-title .sp-section-title-text {
				font-size: 32px;
				color: #5d5232;
			}

			.how_to_use-title-break {
				display: inline;
			}

			.how_to_use-note {
				width: 100%;
				margin: 0 0 56px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.32px;
				color: #34413e;
				text-align: center;
			}

			.how_to_use-note-break {
				display: inline;
			}

			.step-section-image picture {
				display: block;
				width: min(100%, 328px);
				margin: 0 auto;
			}

			.step-section-image img {
				width: 100%;
				height: auto;
			}

			.how_to_use-steps {
				width: 100%;
				width: 100%;
				max-width: 328px;
				grid-template-columns: 1fr;
				gap: 24px;
				padding-left: 40px;
				box-sizing: border-box;
			}

			.how_to_use-steps-line {
				display: none;
			}

			.how_to_use-step-card:not(:last-child)::before {
				content: "";
				position: absolute;
				top: 48px;
				bottom: -24px;
				left: -16px;
				width: 3px;
				transform: translateX(-50%);
				background: #a8dcc9;
			}

			.how_to_use-step-card {
				width: 100%;
				max-width: 288px;
				min-height: 0;
				margin: 0;
				padding: 16px;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				align-items: stretch;
				gap: 8px;
			}

			.how_to_use-step-card:nth-of-type(1) {
				min-height: 313px;
			}

			.how_to_use-step-card:nth-of-type(2) {
				min-height: 284px;
			}

			.how_to_use-step-card:nth-of-type(3) {
				min-height: 342px;
			}

			.how_to_use-step-number {
				top: 0;
				left: -40px;
				transform: none;
				display: flex;
				align-items: center;
				justify-content: center;
				font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;
				font-size: 38px;
				font-weight: 900;
				line-height: 1;
			}

			.how_to_use-step-number > span {
				position: static;
				transform: translateY(-3px);
				font-family: inherit;
				font-size: inherit;
				font-weight: inherit;
				line-height: inherit;
			}

			.how_to_use-step-title {
				margin: 0;
				font-size: 20px;
				font-weight: 500;
				line-height: 1.5;
				letter-spacing: 0;
			}

			.how_to_use-step-copy {
				margin: 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
			}

			.how_to_use-step-image {
				position: static;
				width: 100%;
				max-width: none;
				height: 144px;
				max-height: none;
				flex: 0 0 144px;
				margin-top: 4px;
				transform: none;
			}

			.step-section-title > img {
				width: min(100%, 520px);
				height: auto;
			}

			.onboarding-steps {
				width: min(100%, 320px);
				grid-template-columns: 1fr;
				gap: 40px;
				padding-left: 32px;
				box-sizing: border-box;
			}

			.onboarding-steps-line {
				display: none;
			}

			.onboarding-step-card:not(:last-child)::before {
				content: "";
				position: absolute;
				top: 24px;
				bottom: -64px;
				left: -18px;
				width: 3px;
				transform: translateX(-50%);
				background: #a8dcc9;
			}

			.onboarding-step-card {
				width: 100%;
				max-width: 288px;
				min-height: 342px;
				margin: 0;
				padding: 12px 12px 12px;
			}

			.onboarding-step-number {
				top: 0;
				left: -42px;
				transform: none;
				font-size: 28px;
			}

			.onboarding-step-title {
				margin-left: 0;
				font-size: 20px;
				line-height: 1.4;
			}

			.onboarding-step-copy {
				margin: 10px 0 0;
				font-size: 16px;
				line-height: 1.6;
			}

			.onboarding-step-image {
				left: 16px;
				right: 16px;
				bottom: 16px;
				transform: none;
				width: auto;
				max-width: 256px;
				height: 144px;
			}

			.step-section-stack {
				gap: 80px;
			}

			.step-section-button img {
				width: min(84vw, 360px);
				height: auto;
			}

			.plan-stack > p {
				margin: 12px 0 24px;
				padding: 0 8px;
				text-align: center;
				font-size: 14px;
				line-height: 1.6;
			}

			.plan-cards {
				flex-direction: column;
				align-items: center;
				gap: 16px;
			}

			.plan-cards .plan-card {
				width: 100% !important;
				max-width: 464px;
			}

			.price-note-box {
				width: 100%;
				min-height: 0;
				padding: 12px 14px;
				margin: 16px 0 40px;
			}

			.price-note-title {
				font-size: 16px;
			}

			.price-note-item {
				font-size: 14px;
			}

			.comparison-title {
				--title-line-width: 32px;
				--title-line-gap: 24px;
				--title-line-thickness: 4px;
				gap: var(--title-line-gap);
			}

			.comparison-title::before,
			.comparison-title::after {
				width: var(--title-line-width);
				height: var(--title-line-thickness);
				flex-basis: var(--title-line-width);
				background: #a8dcc9;
			}

			.comparison-title-text {
				font-size: 24px;
				color: #2e896b;
			}

			.comparison-description {
				margin-bottom: 18px;
				font-size: 14px;
				text-align: left;
			}

			.comparison-table-wrap {
				height: auto;
				overflow-x: auto;
				overflow-y: hidden;
				-webkit-overflow-scrolling: touch;
			}

			.comparison-table {
				width: 771px;
				min-width: 771px;
				height: auto;
			}

			.comparison-table col:first-child {
				width: 96px;
			}

			.comparison-table col:nth-child(2) {
				width: 214px;
			}

			.comparison-table col:nth-child(3) {
				width: 247px;
			}

			.comparison-table col:nth-child(4) {
				width: 214px;
			}

			.comparison-table thead tr {
				height: 85px;
			}

			.comparison-table tbody tr:first-child {
				height: 118px;
			}

			.comparison-table tbody tr:nth-child(2),
			.comparison-table tbody tr:nth-child(3),
			.comparison-table tbody tr:nth-child(4) {
				height: 94px;
			}

			.comparison-table th,
			.comparison-table td {
				padding: 10px 8px;
				word-break: normal;
				overflow-wrap: normal;
				line-break: strict;
			}

			.qa {
				gap: 14px;
			}

			.qa-q-static {
				display: flex;
			}

			.qa-q {
				font-size: 16px;
				padding: 10px 12px;
			}

			.qa-a {
				font-size: 14px;
			}

			main > .section + .section.faq-section {
				margin-top: 0;
			}

			.section.faq-section {
				width: 100%;
				height: auto;
				min-height: 0;
				padding: 80px 16px;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				align-items: center;
			}

			.faq-section .faq-title {
				width: 320px;
				height: 40px;
				margin: 0 auto 56px;
				justify-content: center;
			}

			.faq-section .faq-title .sp-section-title {
				grid-template-columns: 40px 224px;
				gap: 8px;
				width: 320px;
				height: 40px;
				padding-right: 48px;
				box-sizing: border-box;
				justify-content: start;
			}

			.faq-section .faq-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.faq-section .faq-title .sp-section-title-text {
				width: 224px;
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				color: #5d5232;
				text-align: center;
				white-space: nowrap;
			}

			.faq-section .qa {
				width: 100%;
				max-width: 328px;
				margin: 0 auto;
				gap: 24px;
			}

			.faq-section .qa-item {
				width: 100%;
				min-height: 0;
				border: 0;
				border-radius: 8px;
				background: #ffffff;
				box-shadow: none;
				overflow: hidden;
			}

			.faq-section .qa-q {
				display: flex;
				align-items: center;
				gap: 12px;
				width: 100%;
				height: auto;
				min-height: 56px;
				margin: 0;
				padding: 12px 16px;
				box-sizing: border-box;
				border: 0;
				background: #ffffff;
				color: #5d5232;
				font-family: var(--font-kaku);
				font-size: 18px;
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0;
				text-align: left;
				white-space: normal;
			}

			.faq-section .qa-q img {
				width: 32px;
				height: 32px;
				flex: 0 0 32px;
			}

			.faq-section .qa-a {
				display: grid;
				grid-template-columns: 24px minmax(0, 1fr);
				align-items: start;
				gap: 8px;
				width: 100%;
				max-height: none;
				margin: 0;
				padding: 8px 16px 16px;
				overflow: visible;
				background: #ffffff;
				color: #34413e;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 29px;
				letter-spacing: 0.5px;
			}

			.faq-section .qa-a img {
				width: 24px;
				height: 24px;
				flex: 0 0 24px;
			}

			.faq-section .qa-a span {
				min-width: 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 29px;
				letter-spacing: 0.5px;
				color: #34413e;
			}

			.contact-form-block {
				width: 328px;
				height: 996px;
				min-height: 996px;
				box-sizing: border-box;
				border-radius: 24px;
				padding: 32px 16px 80px;
			}

			.contact-form {
				width: 100%;
				max-width: 100%;
				grid-template-columns: minmax(0, 1fr);
				gap: 24px;
			}

			.contact-section {
				width: 100%;
				height: auto;
				box-sizing: border-box;
				padding: 80px 16px 120px;
				display: flex;
				flex-direction: column;
				align-items: center;
			}

			.contact-title {
				width: 328px;
				height: 76px;
				margin: 0;
			}

			.contact-title .sp-section-title-text {
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				white-space: normal;
			}

			.contact-title-break {
				display: inline;
			}

			.contact-cta {
				width: 328px;
				margin-top: 56px;
			}

			.contact-field-group {
				min-width: 0;
			}

			.contact-field-label,
			.contact-option-label {
				font-family: var(--font-kaku);
				font-size: 14px;
				font-weight: 500;
				line-height: 1;
				color: #5d5232;
			}

			.contact-field-label {
				display: flex;
				align-items: center;
				gap: 4px;
				height: 14px;
				margin-bottom: 8px;
				line-height: 14px;
			}

			.contact-field-label[for="contact-message"] {
				display: flex;
				align-items: flex-start;
				gap: 8px;
				height: auto;
				min-height: 28px;
				line-height: 14px;
			}

			.contact-field-label .required,
			.contact-option-label .required {
				flex: none;
				margin-left: 0;
				color: #d00138;
				font-size: 12px;
				font-weight: 500;
				line-height: 1.2;
			}

			.contact-textfield,
			.contact-textarea {
				display: block;
				width: 100%;
				max-width: 100%;
				box-sizing: border-box;
				border: 1px solid #d1d0cd;
				border-radius: 8px;
				background: #ffffff;
				padding-right: 16px;
				padding-left: 16px;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 1.6;
				color: #34413e;
			}

			.contact-textfield {
				height: 48px;
				padding-top: 12px;
				padding-bottom: 12px;
			}

			.contact-textarea {
				height: 96px;
				padding-top: 8px;
				padding-bottom: 8px;
				resize: vertical;
			}

			.contact-textfield::placeholder,
			.contact-textarea::placeholder {
				color: #9aa0a0;
				opacity: 1;
			}

			.contact-extra-fields {
				gap: 24px;
			}

			.contact-option-block {
				gap: 8px;
			}

			.contact-option-label {
				margin: 0;
			}

			.contact-checkbox-option,
			.contact-radio-option {
				box-sizing: border-box;
				min-height: 48px;
				padding: 12px 16px;
				gap: 16px;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 1.6;
				color: #34413e;
			}

			.contact-checkbox-option {
				width: 200px;
				max-width: 100%;
			}

			.contact-radio-option {
				width: 184px;
			}

			.contact-checkbox-option input[type="checkbox"],
			.contact-radio-option input[type="radio"],
			.contact-privacy input[type="checkbox"] {
				appearance: none;
				box-sizing: border-box;
				width: 24px;
				height: 24px;
				margin: 0;
				flex: 0 0 24px;
				border: 0;
				background: #ffffff;
				box-shadow: inset 0 0 0 4px #ffffff, inset 0 0 0 5px #5d5232;
			}

			.contact-radio-option input[type="radio"] {
				border-radius: 50%;
			}

			.contact-checkbox-option input[type="checkbox"],
			.contact-privacy input[type="checkbox"] {
				border-radius: 2px;
			}

			.contact-checkbox-option input[type="checkbox"]:checked,
			.contact-privacy input[type="checkbox"]:checked {
				box-shadow: inset 0 0 0 4px #ffffff, inset 0 0 0 5px #2e896b, inset 0 0 0 12px #2e896b;
			}

			.contact-radio-option input[type="radio"]:checked {
				background: radial-gradient(circle, #2e896b 0 4px, #ffffff 4px);
				box-shadow: inset 0 0 0 4px #ffffff, inset 0 0 0 5px #5d5232;
			}

			.contact-privacy {
				box-sizing: border-box;
				min-height: 48px;
				margin: 0;
				padding: 12px 0;
				align-items: center;
				justify-content: flex-start;
				gap: 12px;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 1.6;
				color: #34413e;
				white-space: nowrap;
			}

			.contact-privacy a {
				color: #2e896b;
				text-underline-offset: 2px;
			}

			.contact-submit {
				margin: 0;
			}

			.contact-submit-btn {
				box-sizing: border-box;
				width: 129px;
				height: 44px;
				padding: 12px 32px;
				border: 0;
				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;
				opacity: 1;
			}

			.contact-submit-text {
				display: inline;
			}

			.contact-submit-btn:disabled {
				background: #c2c2c2;
				color: #eaeaea;
				opacity: 1;
			}

			.contact-privacy {
				font-size: 14px;
				align-items: flex-start;
			}

			.contact-choice-group {
				gap: 0;
			}

			.contact-form-bottom {
				width: calc(100% + 16px);
				margin-top: 8px;
				margin-left: -8px;
				display: grid;
				grid-template-columns: minmax(0, 1fr);
				gap: 24px;
			}

			.contact-form-bottom .contact-privacy {
				padding-right: 16px;
				padding-left: 16px;
				font-size: 16px;
				align-items: center;
				gap: 16px;
			}

			.footer {
				margin-top: 88px;
				padding: 32px 40px 64px;
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 32px;
				background: #ffffff;
				text-align: center;
			}

			.footer-logo {
				width: 160px;
				height: 160px;
				margin: 0;
				object-fit: cover;
			}

			.footer-links {
				width: 100%;
				height: auto;
				padding: 0 40px;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				gap: 32px;
				color: #5d5232;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.32px;
				white-space: nowrap;
			}

			.footer-links a {
				display: inline-flex;
				align-items: center;
				gap: 4px;
				color: inherit;
				white-space: nowrap;
			}

			.footer-facility-link svg {
				display: block;
				width: 14px;
				height: 14px;
				flex: 0 0 14px;
				fill: none;
				stroke: currentColor;
				stroke-width: 1.6;
				stroke-linecap: round;
				stroke-linejoin: round;
			}

			.section.plan-section {
				width: 100%;
				height: auto;
				min-height: 0;
				padding: 80px 16px;
				box-sizing: border-box;
				align-items: center;
			}

			.plan-section .plan-stack {
				width: 100%;
				max-width: 328px;
				gap: 0;
			}

			.plan-section .plan-title {
				width: 288px;
				height: 40px;
				margin: 0;
			}

			.plan-section .plan-title .sp-section-title {
				grid-template-columns: 40px 192px;
				gap: 8px;
				width: 288px;
				height: 40px;
				padding-right: 48px;
				box-sizing: border-box;
				justify-content: start;
			}

			.plan-section .plan-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.plan-section .plan-title .sp-section-title-text {
				width: 192px;
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				color: #5d5232;
				white-space: nowrap;
			}

			.plan-section .plan-title-sub {
				width: 152px;
				height: 36px;
				gap: 8px;
				margin: 56px auto 0;
			}

			.plan-section .plan-title-sub::before,
			.plan-section .plan-title-sub::after {
				width: 32px;
				height: 4px;
				flex-basis: 32px;
				background: #a8dcc9;
			}

			.plan-section .plan-title-sub-text {
				font-size: 24px;
				font-weight: 500;
				line-height: 1.2;
				color: #2e896b;
			}

			.plan-section .plan-stack > p {
				width: 100%;
				min-height: 38px;
				margin: 16px 0 0;
				padding: 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.32px;
				color: #5d5232;
				text-align: center;
			}

			.plan-section .plan-cards {
				width: 100%;
				flex-direction: column;
				align-items: stretch;
				gap: 16px;
				margin-top: 40px;
			}

			.plan-section .plan-cards .plan-card {
				width: 328px !important;
				max-width: 100%;
				height: 537px;
				min-width: 0;
				box-sizing: border-box;
				border: 1.5px solid #2e896b !important;
				border-radius: 8px !important;
				background: #fcfefd;
			}

			.plan-section .plan-cards .plan-card.light {
				height: 561px;
				border-color: #a8dcc9 !important;
				background: #ffffff;
			}

			.plan-section .plan-cards .plan-card > header {
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: flex-start;
				gap: 4px;
				width: 100%;
				height: 89px;
				padding: 24px 16px 18px !important;
				box-sizing: border-box;
				border-bottom: 2px solid #2e896b !important;
			}

			.plan-section .plan-cards .plan-card.light > header {
				border-bottom-color: #2e896b !important;
			}

			.plan-section .plan-cards .plan-card > header > p:first-child {
				margin: 0 !important;
				font-size: 14px !important;
				font-weight: 700 !important;
				line-height: 18px !important;
				letter-spacing: 1.8px !important;
			}

			.plan-section .plan-cards .plan-card > header > p:last-child {
				margin: 0 !important;
				font-size: 18px !important;
				font-weight: 700 !important;
				line-height: 23px !important;
			}

			.plan-section .plan-cards .plan-card.standard > div,
			.plan-section .plan-cards .plan-card.light > div {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 16px;
				width: 100%;
				padding: 24px 32px !important;
				box-sizing: border-box;
				color: #34413e;
			}

			.plan-section .plan-cards .plan-card.standard > div {
				height: 448px;
			}

			.plan-section .plan-cards .plan-card.light > div {
				height: 472px;
			}

			.plan-section .plan-cards .plan-card > div > p {
				flex: 0 0 auto;
				width: 100%;
				margin: 0 !important;
				padding: 0;
			}

			.plan-section .plan-cards .plan-card > div > p:nth-of-type(1) {
				height: 35px;
				font-size: 18px !important;
				line-height: 35px !important;
			}

			.plan-section .plan-cards .plan-card > div > p:nth-of-type(2),
			.plan-section .plan-cards .plan-card > div > p:nth-of-type(4) {
				height: 18px;
				font-size: 14px !important;
				font-weight: 500 !important;
				line-height: 18px !important;
				color: #6b6b6b !important;
			}

			.plan-section .plan-cards .plan-card > div > p:nth-of-type(3) {
				height: 58px;
				font-size: 40px !important;
				line-height: 58px !important;
			}

			.plan-section .plan-cards .plan-card > div > p:nth-of-type(3) span {
				line-height: inherit;
			}

			.plan-section .plan-cards .plan-card > div > p:nth-of-type(5) {
				height: 38px;
				font-size: 16px !important;
				font-weight: 700 !important;
				line-height: 38px !important;
				white-space: nowrap;
			}

			.plan-section .plan-cards .plan-card > div > p:nth-of-type(5) span {
				line-height: inherit;
			}

			.plan-section .plan-cards .plan-card > div > hr {
				flex: 0 0 1px;
				width: 100%;
				height: 1px;
				margin: 0 !important;
				border: 0;
				border-top: 1px solid #e5e5e5;
			}

			.plan-section .plan-cards .plan-card > div > ul {
				flex: 0 0 auto;
				width: 100%;
				margin: 0;
				padding: 0;
				gap: 8px;
				font-size: 16px;
				line-height: 24px;
			}

			.plan-section .plan-cards .plan-card.standard > div > ul {
				height: 136px;
				grid-template-rows: 48px 24px 48px;
			}

			.plan-section .plan-cards .plan-card.light > div > ul {
				height: 160px;
				grid-template-rows: 48px 48px 48px;
			}

			.plan-section .plan-cards .plan-card > div > ul li {
				min-width: 0;
				gap: 12px;
				align-items: flex-start;
				font-size: 16px;
				line-height: 24px;
			}

			.plan-section .plan-cards .plan-card > div > ul li > span:first-child {
				width: 20px !important;
				height: 20px !important;
				flex: 0 0 20px;
				margin-top: 0 !important;
				font-size: 16px !important;
			}

			.plan-section .plan-cards .plan-card > div > ul li > span:last-child {
				flex: 1 1 0;
				min-width: 0;
				line-height: 24px;
			}

			.plan-section .price-note-box {
				width: 100%;
				height: 246px;
				min-height: 0;
				margin: 16px 0 0;
				padding: 24px 16px;
				box-sizing: border-box;
				gap: 16px;
				border: 1px solid #ffffff;
				border-radius: 8px;
				background: #fff4e8;
				justify-content: flex-start;
			}

			.plan-section .price-note-title {
				font-size: 18px;
				font-weight: 700;
				line-height: 18px;
				color: #5d5232;
			}

			.plan-section .price-note-list {
				margin: 0;
				gap: 4px;
			}

			.plan-section .price-note-item {
				font-size: 16px;
				font-weight: 500;
				line-height: 1.6;
				color: #5d5232;
			}

			.plan-section .price-note-mark {
				color: #d97950;
			}

			.plan-section > .comparison-title {
				width: 328px;
				height: 36px;
				margin: 56px 0 0;
				gap: 8px;
			}

			.plan-section > .comparison-title::before,
			.plan-section > .comparison-title::after {
				width: 32px;
				height: 4px;
				flex: 0 0 32px;
				background: #a8dcc9;
			}

			.plan-section > .comparison-title .comparison-title-text {
				font-size: 24px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				color: #2e896b;
				white-space: nowrap;
			}

			.plan-section > .comparison-description {
				width: 328px;
				min-height: 38px;
				margin: 16px 0 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.32px;
				color: #5d5232;
				text-align: center;
			}

			.plan-section .comparison-table-wrap {
				width: 328px;
				height: 525px;
				max-width: 100%;
				margin: 40px 0 0;
				padding: 0;
				box-sizing: border-box;
				border: 0;
				border-radius: 8px;
				background: transparent;
				overflow-x: auto;
				overflow-y: hidden;
				-webkit-overflow-scrolling: touch;
			}

			.plan-section .comparison-table {
				display: block;
				width: 779px;
				min-width: 779px;
				height: 493px;
				max-width: none;
				margin: 0;
				border: 0;
				padding: 4px;
				border-spacing: 0;
				border-collapse: separate;
				border-radius: 8px;
				background: #ffffff;
				box-sizing: border-box;
			}

			.plan-section .comparison-table col:first-child {
				width: 96px;
			}

			.plan-section .comparison-table col:nth-child(2),
			.plan-section .comparison-table col:nth-child(4) {
				width: 214px;
			}

			.plan-section .comparison-table col:nth-child(3) {
				width: 247px;
			}

			.plan-section .comparison-table th,
			.plan-section .comparison-table td {
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: flex-start;
				gap: 8px;
				min-width: 0;
				height: 100%;
				padding: 24px 16px 20px;
				border: 0;
				box-shadow: inset 0 -2px 0 #faf6ef;
				background: #ffffff;
				vertical-align: middle;
			}

			.plan-section .comparison-table thead tr {
				height: 85px;
			}

			.plan-section .comparison-table tbody tr:first-child {
				height: 118px;
			}

			.plan-section .comparison-table tbody tr:nth-child(n + 2) {
				height: 94px;
			}

			.plan-section .comparison-table thead th {
				padding: 16px;
				gap: 4px;
				box-shadow: inset 0 -2px 0 #ffffff;
				background: #fff4e8;
				font-size: 18px;
				line-height: 1.3;
				font-weight: 700;
				text-align: center;
			}

			.plan-section .comparison-table thead th:first-child,
			.plan-section .comparison-table tbody th {
				background: #fff4e8;
				box-shadow: inset -2px 0 0 #ffffff, inset 0 -2px 0 #ffffff;
			}

			.plan-section .comparison-table thead th:nth-child(2),
			.plan-section .comparison-table thead th:nth-child(4) {
				border-bottom: 0;
			}

			.plan-section .comparison-table thead th:nth-child(3) {
				border: 0;
				box-shadow: inset 0 0 0 2px #2e896b;
				background: #a8dcc9;
				color: #2e896b;
			}

			.plan-section .comparison-table tbody th {
				align-items: flex-start;
				justify-content: center;
				font-size: 16px;
				font-weight: 700;
				line-height: 1.3;
				text-align: left;
			}

			.plan-section .comparison-table tbody th .label-main {
				font-size: 16px;
				line-height: 21px;
				color: #5d5232;
			}

			.plan-section .comparison-table tbody th .label-sub {
				margin-top: 0;
				font-size: 14px;
				line-height: 18px;
				color: #9a9a9a;
				white-space: nowrap;
			}

			.plan-section .comparison-table thead .header-en {
				margin-bottom: 0;
				font-size: 14px;
				line-height: 18px;
				letter-spacing: 1.8px;
				color: #9a9a9a;
			}

			.plan-section .comparison-table thead .header-main {
				font-size: 18px;
				line-height: 23px;
				color: #5d5232;
			}

			.plan-section .comparison-table thead th:nth-child(3) .header-en,
			.plan-section .comparison-table thead th:nth-child(3) .header-main {
				color: #2e896b;
			}

			.plan-section .comparison-table td {
				font-size: 14px;
				line-height: 1.3;
				text-align: center;
			}

			.plan-section .comparison-table td:nth-child(3) {
				border: 0;
				box-shadow: inset 2px 0 0 #2e896b, inset -2px 0 0 #2e896b, inset 0 -2px 0 #2e896b;
				background: rgba(168, 220, 201, 0.04);
			}

			.plan-section .comparison-table tbody tr:last-child td:nth-child(3) {
				border-bottom: 0;
				box-shadow: inset 2px 0 0 #2e896b, inset -2px 0 0 #2e896b, inset 0 -2px 0 #2e896b;
			}

			.plan-section .comparison-table .value-main {
				font-size: 24px;
				line-height: 1;
				color: #34413e;
			}

			.plan-section .comparison-table tbody tr:first-child td:nth-child(2) .value-main,
			.plan-section .comparison-table tbody tr:first-child td:nth-child(4) .value-main {
				white-space: nowrap;
			}

			.plan-section .comparison-table .value-main.is-accent {
				color: #2e896b;
			}

			.plan-section .comparison-table .value-main .value-currency {
				font-size: 14px;
			}

			.plan-section .comparison-table .value-sub {
				margin-top: 0;
				font-size: 14px;
				line-height: 18px;
				color: #6b6b6b;
			}

			.plan-section .comparison-table .value-note {
				margin-top: 0;
				font-size: 12px;
				line-height: 16px;
				color: #6b6b6b;
			}

			.plan-section .comparison-table .symbol {
				margin-bottom: 0;
				font-size: 24px;
				line-height: 1;
				color: #2e896b;
			}

			.plan-section .comparison-table tbody tr:last-child th,
			.plan-section .comparison-table tbody tr:last-child td:not(:nth-child(3)) {
				border-bottom: 0;
				box-shadow: none;
			}

			.plan-section .comparison-table tbody tr:last-child th {
				box-shadow: inset -2px 0 0 #ffffff;
			}

			.plan-section .comparison-table .symbol.ng {
				color: #d9370b;
			}

			.plan-section .comparison-table .symbol.warn {
				color: #c99a0c;
			}

			.plan-section .comparison-table .cell-text {
				font-size: 14px;
				line-height: 18px;
				color: #6b6b6b;
			}

			.plan-section .comparison-table colgroup {
				display: none;
			}

			.plan-section .comparison-table thead,
			.plan-section .comparison-table tbody {
				display: block;
			}

			.plan-section .comparison-table tr {
				display: grid;
				grid-template-columns: 96px 214px 247px 214px;
				gap: 0;
			}

			.plan-section .comparison-table th > span,
			.plan-section .comparison-table td > span {
				width: 100%;
				flex: 0 0 auto;
				letter-spacing: 0;
			}

			.plan-section .comparison-table thead .header-en {
				letter-spacing: 1.8px;
			}

			.plan-section .comparison-table thead th:nth-child(3) .header-main {
				line-height: 31px;
			}

			.plan-section .comparison-table tbody tr:first-child td:not(:nth-child(3)) {
				justify-content: center;
			}

			.plan-section .comparison-table .comparison-text-pc {
				display: none;
			}

			.plan-section .comparison-table .comparison-text-sp {
				display: inline;
			}

			.section.step-section {
				display: flex;
				flex-direction: column;
				width: 100%;
				height: auto;
				min-height: 0;
				padding: 80px 16px 0;
				box-sizing: border-box;
				align-items: center;
			}

			.step-section .step-section-stack {
				width: 100%;
				max-width: 328px;
				gap: 0;
			}

			.step-section .step-section-title {
				width: 320px;
				height: 76px;
				margin: 0 auto 56px;
			}

			.step-section .step-section-title .sp-section-title {
				grid-template-columns: 40px 224px;
				gap: 8px;
				width: 320px;
				height: 76px;
				padding-right: 48px;
				box-sizing: border-box;
				justify-content: start;
			}

			.step-section .step-section-title .sp-section-title-icon {
				width: 40px;
				height: 40px;
			}

			.step-section .step-section-title .sp-section-title-text {
				width: 224px;
				font-size: 32px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0;
				color: #5d5232;
				text-align: center;
				white-space: normal;
			}

			.step-section .step-title-break {
				display: inline;
			}

			.step-section .step-section-image {
				width: 100%;
				height: 1103px;
				margin: 0;
			}

			.step-section .onboarding-steps {
				position: relative;
				display: flex;
				flex-direction: column;
				align-items: stretch;
				width: 328px;
				max-width: 328px;
				height: 1103px;
				margin: 0;
				padding: 0 0 0 40px;
				box-sizing: border-box;
				gap: 24px;
			}

			.step-section .onboarding-steps-line {
				display: block;
				position: absolute;
				top: 24px;
				bottom: 318px;
				left: 23px;
				right: auto;
				width: 3px;
				height: auto;
				background: #a8dcc9;
			}

			.step-section .onboarding-step-card:not(:last-child)::before {
				content: none;
			}

			.step-section .onboarding-step-card {
				position: relative;
				width: 288px;
				max-width: 288px;
				height: 342px;
				min-height: 0;
				flex: 0 0 auto;
				margin: 0;
				padding: 16px;
				box-sizing: border-box;
				display: flex;
				flex-direction: column;
				align-items: stretch;
				gap: 8px;
				background: #ffffff;
			}

			.step-section .onboarding-step-card:nth-of-type(2) {
				height: 371px;
			}

			.step-section .onboarding-step-number {
				top: 0;
				left: -40px;
				transform: none;
				display: flex;
				align-items: center;
				justify-content: center;
				font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Meiryo", sans-serif;
				font-size: 38px;
				font-weight: 900;
				line-height: 1;
			}

			.step-section .onboarding-step-number > span {
				position: absolute;
				top: calc(50% - 3px);
				left: 50%;
				transform: translate(-50%, -50%);
				font-family: inherit;
				font-size: inherit;
				font-weight: inherit;
				line-height: inherit;
			}

			.step-section .onboarding-step-title {
				margin: 0;
				font-size: 20px;
				font-weight: 500;
				line-height: 1.5;
				letter-spacing: 0;
				color: #2e896b;
			}

			.step-section .onboarding-step-copy {
				margin: 0;
				font-size: 16px;
				font-weight: 500;
				line-height: 1.8;
				letter-spacing: 0;
				color: #34413e;
			}

			.step-section .onboarding-step-image {
				position: static;
				width: 100%;
				max-width: none;
				height: 144px;
				flex: 0 0 144px;
				margin-top: 4px;
				transform: none;
				background: #f6f9f8;
				object-fit: contain;
			}

			.step-section .step-contact-cta {
				display: flex;
				justify-content: center;
				width: min(360px, 100vw);
				margin-top: 80px;
			}

			.step-section .step-contact-cta a {
				display: inline-flex;
				padding-bottom: 6px;
				text-decoration: none;
			}

			.step-contact-cta-pc-group {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 16px;
				width: 100%;
				background: #faf7ee;
			}

			.step-section .step-contact-cta .step-contact-cta-sp-link {
				display: none;
			}

			.step-contact-cta-main {
				display: flex;
				flex-direction: column;
				align-items: center;
				gap: 4px;
				width: 272px;
			}

			.step-contact-cta-lead {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 8px;
				width: 100%;
				height: 24px;
				margin: 0;
				color: #eb7200;
				font-family: var(--font-kaku);
				font-size: 16px;
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0.64px;
				text-align: center;
				white-space: nowrap;
			}

			.step-contact-cta-lead::before,
			.step-contact-cta-lead::after {
				content: "";
				width: 22px;
				height: 1px;
				flex-shrink: 0;
				background: currentColor;
			}

			.step-contact-cta-lead::before {
				transform: rotate(45deg);
			}

			.step-contact-cta-lead::after {
				transform: rotate(-45deg);
			}

			.step-contact-cta-primary {
				width: 268px;
				height: 62px;
			}

			.step-section .step-contact-cta-text {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				width: 248px;
				height: 56px;
				padding: 16px 32px;
				box-sizing: border-box;
				border-radius: 999px;
				background: #ff9327;
				box-shadow: 0 6px 0 #ea7c0e;
				color: #ffffff;
				font-family: var(--font-kaku);
				font-size: 20px;
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.4px;
				white-space: nowrap;
			}

			.step-contact-cta-pc-group .step-contact-cta-text {
				width: 100%;
				padding: 12px 32px;
			}
		}
