:root {
	--ink: #44352f;
	--muted: #746761;
	--paper: #fffdfa;
	--pink: #f59ab8;
	--pink-soft: #fff0f5;
	--green: #79ad4d;
	--green-soft: #eef8e8;
	--line: #06c755;
	--border: #eaded8;
	--shadow: 0 8px 24px rgba(91, 64, 50, 0.07);
	--radius: 10px;
}
* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	color: var(--ink);
	background: var(--paper);
	font-family: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Hiragino Maru Gothic Pro", "Yu Gothic", sans-serif;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.035em;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
a {
	color: inherit;
}
h1,
h2,
h3,
p {
	overflow-wrap: anywhere;
}
h1,
h2,
h3 {
	margin: 0;
	line-height: 1.45;
	letter-spacing: 0.02em;
}
h1 {
	font-size: clamp(30px, 4vw, 52px);
}
h2 {
	font-size: clamp(23px, 2.8vw, 35px);
}
h3 {
	font-size: 18px;
}
p {
	margin: 0;
}
.site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	min-height: 72px;
	padding: 10px clamp(18px, 4vw, 56px);
	background: rgba(255, 253, 250, 0.94);
	border-bottom: 1px solid var(--border);
	backdrop-filter: blur(14px);
}
.brand img {
	width: 155px;
}
.header-nav {
	display: flex;
	gap: 28px;
	margin-left: auto;
	font-size: 14px;
}
.header-nav a {
	text-decoration: none;
}
.nav-toggle {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.nav-toggle-button {
	display: none;
	position: relative;
	width: 38px;
	height: 38px;
	cursor: pointer;
}
.nav-toggle-button span,
.nav-toggle-button:before,
.nav-toggle-button:after {
	content: "";
	position: absolute;
	left: 8px;
	width: 22px;
	height: 2px;
	background: var(--ink);
	border-radius: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.nav-toggle-button:before {
	top: 11px;
}
.nav-toggle-button span {
	top: 18px;
}
.nav-toggle-button:after {
	top: 25px;
}
.nav-toggle:checked + .nav-toggle-button:before {
	top: 18px;
	transform: rotate(45deg);
}
.nav-toggle:checked + .nav-toggle-button span {
	opacity: 0;
}
.nav-toggle:checked + .nav-toggle-button:after {
	top: 18px;
	transform: rotate(-45deg);
}
.header-cta,
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	border-radius: 999px;
}
.header-cta {
	padding: 10px 18px;
	color: #fff;
	background: var(--line);
	font-size: 14px;
}
.hero {
	position: relative;
	height: 600px;
	min-height: 0;
	max-height: 600px;
	display: grid;
	align-items: start;
	overflow: hidden;
}
.hero picture,
.hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.hero-image {
	object-fit: cover;
}
.hero:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 253, 250, 0.98) 0%, rgba(255, 253, 250, 0.93) 39%, rgba(255, 253, 250, 0.2) 73%);
}
.hero-copy {
	position: relative;
	z-index: 1;
	width: min(680px, calc(100% - 36px));
	margin-left: clamp(18px, 7vw, 100px);
	padding: 50px 0;
}
.eyebrow {
	margin: 0 0 13px;
	color: var(--green);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.06em;
}
.hero h1 em {
	color: #d9658e;
	font-style: normal;
}
.lead {
	margin-top: 22px;
	font-size: clamp(15px, 1.3vw, 18px);
	font-weight: 600;
}
.hero-promise {
	display: inline-block;
	margin-top: 24px;
	padding: 7px 15px;
	color: #fff;
	background: var(--pink);
	border-radius: 999px;
	font-weight: 800;
}
.button {
	min-height: 56px;
	padding: 13px 25px;
	transition: 0.2s;
}
.button:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(6, 199, 85, 0.22);
}
.button img {
	width: 22px;
	margin-right: 9px;
}
.button.line {
	margin-top: 23px;
	color: #fff;
	background: var(--line);
}
.microcopy {
	margin-top: 8px;
	color: var(--muted);
	font-size: 12px;
	text-align: center;
}
.hero .microcopy {
	width: max-content;
	max-width: 100%;
}
.quick-facts {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: min(900px, calc(100% - 36px));
	margin: -38px auto 0;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
}
.quick-facts div {
	padding: 18px;
	text-align: center;
}
.quick-facts div + div {
	border-left: 1px solid var(--border);
}
.quick-facts strong,
.quick-facts span {
	display: block;
}
.quick-facts strong {
	color: #d9658e;
	font-size: 22px;
}
.quick-facts span {
	font-size: 13px;
	color: var(--muted);
}
.section {
	padding: clamp(60px, 7vw, 96px) clamp(18px, 5vw, 72px);
}
.section-heading {
	max-width: 920px;
	margin: 0 auto 38px;
}
.center {
	text-align: center;
}
.pain {
	background: var(--pink-soft);
}
.pain-layout {
	display: grid;
	grid-template-columns: minmax(220px, 380px) minmax(0, 620px);
	gap: 50px;
	align-items: center;
	max-width: 1000px;
	margin: auto;
}
.pain-layout > img {
	max-height: 360px;
	margin: auto;
	object-fit: contain;
}
.speech-list {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.speech-list li {
	position: relative;
	padding: 18px 22px 18px 54px;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: 0 8px 24px rgba(91, 64, 50, 0.08);
	font-weight: 700;
}
.speech-list li:before {
	content: "×";
	position: absolute;
	left: 21px;
	color: #dd6c93;
	font-size: 24px;
	line-height: 1;
}
.bridge {
	margin: 48px auto 0;
	text-align: center;
	font-size: clamp(20px, 2.4vw, 28px);
}
.bridge strong {
	color: #d9658e;
}
.change-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 430px);
	gap: 50px;
	align-items: center;
	max-width: 1050px;
	margin: auto;
}
.change-copy p:not(.eyebrow) {
	max-width: 620px;
	margin-top: 20px;
	color: var(--muted);
	font-size: 17px;
}
.change-grid > img {
	max-height: 390px;
	margin: auto;
	object-fit: contain;
}
.before-after {
	display: grid;
	grid-template-columns: 1fr 60px 1fr;
	align-items: center;
	max-width: 900px;
	margin: 60px auto 0;
}
.before-after article {
	position: relative;
	padding: 28px;
	text-align: center;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: #fff;
	box-shadow: var(--shadow);
}
.before-after article > span {
	display: inline-block;
	padding: 5px 13px;
	border-radius: 999px;
	font-weight: 800;
}
.before span {
	background: #eee;
	color: #766;
}
.after span {
	color: #fff;
	background: var(--green);
}
.before-after img {
	height: 150px;
	margin: 12px auto;
	object-fit: contain;
}
.before-after p {
	margin-top: 8px;
	color: var(--muted);
}
.arrow {
	text-align: center;
	color: var(--pink);
	font-size: 38px;
	font-weight: 900;
}
.outcomes {
	background: var(--green-soft);
}
.outcome-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	max-width: 1120px;
	margin: auto;
}
.outcome-grid article {
	position: relative;
	padding: 28px 22px;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: 0 10px 30px rgba(80, 110, 55, 0.08);
}
.outcome-grid article > span {
	position: absolute;
	right: 20px;
	color: #bdd9aa;
	font-size: 28px;
	font-weight: 900;
}
.outcome-grid img {
	margin-bottom: 18px;
}
.outcome-grid p {
	margin-top: 9px;
	color: var(--muted);
	font-size: 14px;
}
.curriculum {
	background: #fff;
}
.section-heading > p:last-child {
	max-width: 720px;
	margin: 17px auto 0;
	color: var(--muted);
}
.timeline {
	display: grid;
	gap: 18px;
	max-width: 900px;
	margin: auto;
}
.timeline article {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 24px;
	padding: 28px;
	background: #fff8fa;
	border: 1px solid #f3dce5;
	border-radius: var(--radius);
}
.lesson-no {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	color: #fff;
	background: var(--pink);
	border-radius: 50%;
	font-size: 28px;
	font-weight: 900;
}
.timeline small {
	color: var(--green);
	font-weight: 800;
}
.timeline p {
	margin: 9px 0;
	color: var(--muted);
}
.timeline b {
	color: #c45e83;
	font-size: 14px;
}
.work-note {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 18px;
	max-width: 900px;
	margin: 24px auto 0;
	padding: 24px;
	background: var(--green-soft);
	border-radius: var(--radius);
}
.work-note p {
	margin-top: 6px;
	color: var(--muted);
	font-size: 14px;
}
.curriculum-note {
	margin-top: 28px;
	text-align: center;
	color: var(--muted);
}
.support {
	background: var(--pink-soft);
}
.support-grid {
	display: grid;
	grid-template-columns: minmax(220px, 420px) minmax(0, 550px);
	gap: 60px;
	align-items: center;
	max-width: 1040px;
	margin: auto;
}
.support-grid > img {
	max-height: 380px;
	margin: auto;
	object-fit: contain;
}
.check-list {
	display: grid;
	gap: 12px;
	margin: 25px 0 0;
	padding: 0;
	list-style: none;
}
.check-list li {
	position: relative;
	padding-left: 35px;
	font-weight: 700;
}
.check-list li:before {
	content: "✓";
	position: absolute;
	left: 0;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	color: #fff;
	background: var(--green);
	border-radius: 50%;
	font-size: 13px;
}
.after-support {
	display: grid;
	gap: 2px;
	margin-top: 24px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.after-support strong {
	color: #d9658e;
}
.after-support span {
	font-size: 14px;
}
.small-note {
	margin-top: 20px;
	color: var(--muted);
	font-size: 13px;
}
.hero-ad-note,
.ad-scope-note {
	display: block;
	margin-top: 7px;
	color: var(--muted);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.6;
}
.profile {
	background: #fff;
}
.profile-card {
	display: grid;
	grid-template-columns: minmax(220px, 340px) 1fr;
	gap: 55px;
	align-items: center;
	max-width: 1000px;
	margin: auto;
}
.profile figure {
	margin: 0;
	text-align: center;
}
.profile figure img {
	border-radius: 50%;
	box-shadow: var(--shadow);
}
.profile figcaption {
	margin-top: 12px;
	font-weight: 800;
}
.profile-card > div > p:not(.eyebrow) {
	margin-top: 18px;
	color: var(--muted);
}
.profile-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 24px;
}
.profile-stats div {
	padding: 14px 12px;
	background: var(--green-soft);
	border-radius: var(--radius);
	text-align: center;
}
.profile-stats strong,
.profile-stats span {
	display: block;
}
.profile-stats strong {
	color: var(--green);
	font-size: 21px;
}
.profile-stats span {
	color: var(--muted);
	font-size: 12px;
}
.offer {
	background: linear-gradient(135deg, #fff0f5, #eef8e8);
}
.offer-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: center;
	max-width: 1020px;
	margin: auto;
}
.offer-copy > p:last-child {
	margin-top: 20px;
	color: var(--muted);
	font-size: 17px;
}
.price-box {
	padding: 38px;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	text-align: center;
}
.regular {
	color: var(--muted);
	text-decoration: line-through;
}
.monitor {
	margin-top: 15px;
	color: #d9658e;
	font-weight: 800;
}
.price-main {
	color: var(--green);
	font-size: clamp(43px, 5vw, 62px);
	font-weight: 700;
	line-height: 1.2;
}
.price-main small {
	font-size: 14px;
}
.limit {
	margin-top: 12px;
	color: var(--muted);
	font-size: 13px;
}
.limit strong {
	color: #d9658e;
	font-size: 16px;
}
.faq {
	background: #fff;
}
.faq-list {
	max-width: 900px;
	margin: auto;
}
.faq details {
	padding: 21px 24px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.faq details + details {
	margin-top: 12px;
}
.faq summary {
	cursor: pointer;
	font-weight: 800;
}
.faq details p {
	margin-top: 12px;
	color: var(--muted);
}
.final-cta {
	display: grid;
	grid-template-columns: minmax(220px, 390px) minmax(0, 600px);
	gap: 45px;
	align-items: center;
	justify-content: center;
	padding: clamp(65px, 9vw, 110px) clamp(18px, 5vw, 72px);
	background: var(--green-soft);
}
.final-cta > img {
	max-height: 330px;
	margin: auto;
	object-fit: contain;
}
.final-cta > div > p:not(.eyebrow) {
	margin-top: 15px;
	color: var(--muted);
}
.site-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 26px clamp(18px, 5vw, 72px);
	border-top: 1px solid var(--border);
}
.site-footer img {
	width: 145px;
}
.site-footer nav {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}
.site-footer nav a {
	color: var(--muted);
	font-size: 13px;
	text-decoration: none;
}
.sp-only {
	display: none;
}
.legal-hero {
	padding: 90px 18px 50px;
	text-align: center;
	background: var(--pink-soft);
}
.legal-hero p {
	margin-top: 15px;
	color: var(--muted);
}
.legal-content {
	width: min(920px, calc(100% - 36px));
	margin: auto;
	padding: 60px 0;
}
.legal-content h2 {
	margin: 38px 0 15px;
}
.legal-content p,
.legal-content li,
.legal-table td {
	color: var(--muted);
}
.legal-table {
	width: 100%;
	border-collapse: collapse;
}
.legal-table th,
.legal-table td {
	padding: 16px;
	border: 1px solid var(--border);
	text-align: left;
	vertical-align: top;
}
.legal-table th {
	width: 28%;
	background: var(--pink-soft);
}
@media (max-width: 800px) {
	.section {
		padding: 48px 16px;
	}
	.section-heading {
		margin-bottom: 28px;
	}
	.site-header {
		min-height: 62px;
	}
	.brand img {
		width: 125px;
	}
	.header-nav {
		position: absolute;
		top: 100%;
		right: 12px;
		left: 12px;
		display: none;
		flex-direction: column;
		gap: 0;
		margin: 0;
		padding: 8px;
		background: #fff;
		border: 1px solid var(--border);
		border-radius: var(--radius);
		box-shadow: var(--shadow);
	}
	.header-nav a {
		padding: 11px 14px;
		border-bottom: 1px solid var(--border);
		font-size: 13px;
	}
	.header-nav a:last-child {
		border-bottom: 0;
	}
	.nav-toggle-button {
		display: block;
		order: 3;
		flex: 0 0 38px;
	}
	.nav-toggle:checked ~ .header-nav {
		display: flex;
	}
	.header-cta {
		order: 2;
		margin-left: auto;
		padding: 9px 13px;
		font-size: 12px;
	}
	.hero {
		height: auto;
		min-height: 0;
		max-height: none;
		align-items: start;
	}
	.hero:after {
		background:
			linear-gradient(180deg, rgba(255, 253, 250, 0.14) 0%, rgba(255, 253, 250, 0.18) 48%, rgba(255, 253, 250, 0.94) 100%),
			linear-gradient(90deg, rgba(255, 253, 250, 0.9) 0%, rgba(255, 253, 250, 0.72) 52%, rgba(255, 253, 250, 0.36) 100%);
	}
	.hero-image {
		object-position: 58% center;
	}
	.hero-copy {
		width: calc(100% - 36px);
		margin: 0 auto;
		padding: 24px 0 28px;
	}
	.hero h1 {
		font-size: clamp(26px, 7.7vw, 34px);
	}
	.lead br {
		display: none;
	}
	.quick-facts {
		margin-top: 0;
		width: 100%;
		border-radius: 0;
		border-left: 0;
		border-right: 0;
	}
	.quick-facts div {
		padding: 14px 6px;
	}
	.quick-facts strong {
		font-size: 18px;
	}
	.pain-layout,
	.change-grid,
	.support-grid,
	.profile-card,
	.offer-card,
	.final-cta {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.pain-layout > img,
	.change-grid > img,
	.support-grid > img,
	.final-cta > img {
		max-height: 260px;
	}
	.pain-layout > img {
		order: 2;
	}
	.speech-list {
		order: 1;
	}
	.speech-list li {
		padding: 15px 15px 15px 45px;
		font-size: 14px;
	}
	.before-after {
		grid-template-columns: 1fr;
		gap: 15px;
	}
	.arrow {
		transform: rotate(90deg);
	}
	.outcome-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.outcome-grid article {
		padding: 22px 17px;
	}
	.outcome-grid h3 {
		font-size: 17px;
	}
	.timeline article {
		grid-template-columns: 50px 1fr;
		gap: 15px;
		padding: 18px 15px;
	}
	.lesson-no {
		width: 48px;
		height: 48px;
		font-size: 21px;
	}
	.profile-card figure {
		width: min(260px, 80%);
		margin: auto;
	}
	.offer-copy {
		text-align: center;
	}
	.offer-copy .price-includes {
		margin-right: auto;
		margin-left: auto;
	}
	.price-box {
		padding: 24px 16px;
	}
	.final-cta {
		text-align: center;
	}
	.final-cta .button {
		width: 100%;
	}
	.site-footer {
		flex-direction: column;
		text-align: center;
	}
	.site-footer nav {
		justify-content: center;
	}
	.sp-only {
		display: block;
	}
	.legal-table,
	.legal-table tbody,
	.legal-table tr,
	.legal-table th,
	.legal-table td {
		display: block;
	}
	.legal-table th {
		width: 100%;
	}
}
@media (max-width: 460px) {
	.section {
		padding-left: 16px;
		padding-right: 16px;
	}
	.quick-facts span {
		font-size: 11px;
	}
	.outcome-grid {
		grid-template-columns: 1fr 1fr;
		gap: 9px;
	}
	.outcome-grid article > span {
		font-size: 20px;
	}
	.outcome-grid img {
		width: 42px;
	}
	.button {
		width: 100%;
		padding-left: 16px;
		padding-right: 16px;
	}
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	.button {
		transition: none;
	}
}

/* 添付原稿に合わせた新構成 */
.hero-label {
	display: inline-block;
	margin: 0 0 20px;
	padding: 4px 10px;
	color: #fff;
	background: var(--green);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
}
.hero-note {
	display: inline-block;
	margin: 23px 0 0 14px;
	color: var(--muted);
	font-size: 13px;
	vertical-align: middle;
}
.audience {
	background: #fff;
}
.audience-paths {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	max-width: 1040px;
	margin: auto;
}
.audience-paths article {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 22px;
	align-items: center;
	padding: 26px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}
.audience-paths img {
	width: 150px;
	height: 170px;
	object-fit: contain;
}
.audience-paths span {
	display: inline-block;
	margin-bottom: 8px;
	padding: 4px 10px;
	color: #fff;
	background: var(--green);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}
.audience-paths p {
	margin-top: 9px;
	color: var(--muted);
	font-size: 14px;
}
.problems {
	background: #faf9f7;
}
.problems-layout {
	display: grid;
	grid-template-columns: minmax(220px, 350px) minmax(0, 680px);
	gap: 48px;
	align-items: center;
	max-width: 1020px;
	margin: auto;
}
.problems-layout > img {
	max-height: 340px;
	margin: auto;
	object-fit: contain;
}
.problem-list {
	display: grid;
	gap: 13px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.problem-list li {
	position: relative;
	padding: 18px 20px 18px 52px;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: 0 7px 24px rgba(70, 50, 40, 0.06);
	font-weight: 700;
}
.problem-list li:before {
	content: "✓";
	position: absolute;
	left: 20px;
	color: #d9658e;
	font-size: 20px;
	font-weight: 900;
}
.solution-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 390px);
	gap: 50px;
	align-items: center;
	max-width: 1050px;
	margin: auto;
}
.solution-grid h2 {
	margin-top: 15px;
}
.solution-grid h2 em {
	color: #d9658e;
	font-style: normal;
}
.solution-grid p:not(.lead-left) {
	margin-top: 20px;
	color: var(--muted);
}
.lead-left {
	font-size: 18px;
	font-weight: 700;
}
.solution-grid > img {
	max-height: 360px;
	margin: auto;
	object-fit: contain;
}
.rule-box {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: 20px;
	max-width: 850px;
	margin: 45px auto 0;
	padding: 28px;
	background: var(--pink-soft);
	border-radius: var(--radius);
}
.rule-box p {
	margin-top: 8px;
	color: var(--muted);
}
.owner-value {
	background: #fff;
}
.owner-value-grid {
	display: grid;
	grid-template-columns: minmax(220px, 330px) minmax(0, 650px);
	gap: 55px;
	align-items: center;
	max-width: 1050px;
	margin: auto;
}
.owner-value-grid > img {
	max-height: 350px;
	margin: auto;
	object-fit: contain;
}
.owner-value-grid > div > p:not(.eyebrow, .owner-message) {
	margin-top: 17px;
	color: var(--muted);
}
.decision-list {
	display: grid;
	gap: 9px;
	margin-top: 24px;
}
.decision-list div {
	display: grid;
	grid-template-columns: 115px 1fr;
	gap: 15px;
	padding: 13px 16px;
	background: var(--green-soft);
	border-radius: var(--radius);
}
.decision-list strong {
	color: var(--green);
}
.decision-list span {
	color: var(--muted);
	font-size: 14px;
}
.owner-message {
	margin-top: 22px;
	padding-left: 16px;
	border-left: 4px solid var(--pink);
	font-size: 18px;
	font-weight: 800;
}
.learning-guide {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	max-width: 880px;
	margin: 0 auto 24px;
}
.learning-guide > div {
	padding: 20px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.learning-guide p {
	margin-top: 9px;
	color: var(--muted);
	font-size: 14px;
}
.type-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
}
.type-badge.video {
	color: #9b4866;
	background: #fde5ee;
}
.type-badge.session {
	color: #fff;
	background: var(--green);
}
.learning-types {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 9px;
}
.ad-cost-note {
	max-width: 880px;
	margin: 0 auto 26px;
	padding: 30px;
	color: #fff;
	background: var(--green);
	border-radius: var(--radius);
}
.ad-cost-heading {
	text-align: center;
}
.ad-cost-kicker {
	margin-bottom: 5px;
	font-size: 13px;
	font-weight: 800;
}
.ad-cost-heading h3 {
	font-size: clamp(21px, 2.6vw, 29px);
}
.mismatch-flow {
	display: grid;
	grid-template-columns: 1fr 28px 1fr 28px 1fr;
	gap: 8px;
	align-items: center;
	margin-top: 24px;
}
.mismatch-flow > div {
	min-height: 128px;
	padding: 17px 12px;
	color: var(--ink);
	background: #fff;
	border-radius: var(--radius);
	text-align: center;
}
.mismatch-flow > div.mismatch {
	background: #fff0f5;
}
.mismatch-flow span,
.mismatch-flow strong,
.mismatch-flow small {
	display: block;
}
.mismatch-flow span {
	color: var(--muted);
	font-size: 11px;
}
.mismatch-flow strong {
	margin-top: 5px;
	color: var(--green);
	font-size: 17px;
}
.mismatch-flow .mismatch strong {
	color: #d9658e;
}
.mismatch-flow small {
	margin-top: 5px;
	color: var(--muted);
	font-size: 11px;
}
.mismatch-flow > b {
	text-align: center;
	font-size: 24px;
}
.ad-cost-copy {
	margin-top: 22px;
}
.ad-cost-copy p {
	font-size: 14px;
	opacity: 0.94;
}
.ad-cost-copy p + p {
	margin-top: 10px;
}
.steps {
	display: grid;
	gap: 16px;
	max-width: 880px;
	margin: auto;
}
.steps article {
	display: grid;
	grid-template-columns: 86px 1fr;
	gap: 22px;
	align-items: start;
	padding: 28px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: 0 8px 25px rgba(70, 50, 40, 0.04);
}
.step-number {
	padding-top: 3px;
	color: #d9658e;
	font-size: 12px;
	font-weight: 800;
	text-align: center;
}
.step-number strong {
	display: block;
	font-size: 30px;
	line-height: 1.15;
}
.steps p {
	margin-top: 5px;
	color: var(--muted);
}
.steps ul {
	display: grid;
	gap: 5px;
	margin: 14px 0 0;
	padding-left: 1.3em;
	color: var(--muted);
	font-size: 14px;
}
.steps li::marker {
	color: var(--green);
}
.support-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 1040px;
	margin: auto;
}
.support-cards article {
	padding: 30px 24px;
	text-align: center;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}
.support-cards img {
	margin: 0 auto 17px;
}
.support-cards p {
	margin-top: 8px;
	color: var(--muted);
	font-size: 14px;
}
.after-support.wide {
	max-width: 700px;
	margin: 24px auto 0;
	text-align: center;
}
.operation {
	background: #fff;
}
.operation-card {
	display: grid;
	grid-template-columns: minmax(220px, 340px) minmax(0, 570px);
	gap: 45px;
	align-items: center;
	max-width: 980px;
	margin: auto;
	padding: 34px;
	border: 2px solid var(--green);
	border-radius: var(--radius);
}
.operation-card > img {
	max-height: 280px;
	margin: auto;
	object-fit: contain;
}
.operation-card h3 {
	color: var(--green);
}
.operation-card ul {
	padding-left: 1.3em;
}
.operation-card p {
	color: var(--muted);
}
@media (max-width: 800px) {
	.audience-paths,
	.problems-layout,
	.solution-grid,
	.owner-value-grid,
	.operation-card {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	.audience-paths article {
		grid-template-columns: 105px 1fr;
		padding: 20px 16px;
	}
	.audience-paths img {
		width: 105px;
		height: 130px;
	}
	.problems-layout > img,
	.solution-grid > img,
	.owner-value-grid > img,
	.operation-card > img {
		max-height: 240px;
	}
	.problems-layout > img {
		order: 2;
	}
	.support-cards,
	.learning-guide {
		grid-template-columns: 1fr;
	}
	.decision-list div {
		grid-template-columns: 95px 1fr;
		gap: 10px;
	}
	.ad-cost-note {
		padding: 22px 16px;
	}
	.mismatch-flow {
		grid-template-columns: 1fr;
	}
	.mismatch-flow > b {
		transform: rotate(90deg);
	}
	.mismatch-flow > div {
		min-height: 0;
	}
	.ad-cost-copy {
		text-align: left;
	}
	.steps article {
		grid-template-columns: 62px 1fr;
		gap: 13px;
		padding: 21px 17px;
	}
	.rule-box {
		grid-template-columns: 42px 1fr;
		padding: 21px 17px;
	}
	.operation-card {
		padding: 24px 18px;
	}
	.hero-note {
		display: block;
		width: 100%;
		margin: 12px 0 0;
		text-align: left;
	}
}

/* 新LP構成 */
.hero-catch {
	margin-bottom: 10px;
	color: var(--green);
	font-size: clamp(16px, 1.7vw, 21px);
	font-weight: 700;
}
.diagnosis-badge {
	display: inline-flex;
	margin-top: 21px;
	padding: 5px 11px;
	color: #fff;
	background: #d9658e;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}
.program-name {
	margin-top: 8px;
	color: var(--muted);
	font-size: 14px;
}
.program-name strong {
	color: var(--ink);
	font-size: 16px;
}
.hero-offer-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	max-width: 460px;
	margin-top: 21px;
}
.hero-program-block .diagnosis-badge {
	margin-top: 0;
}
.hero-cta-block {
	min-width: 0;
}
.hero-cta-block .button {
	width: 100%;
	margin-top: 0;
}
.hero-cta-block .hero-note {
	display: block;
	width: 100%;
	margin: 8px 0 0;
	text-align: left;
}
.stop {
	background: #faf9f7;
	padding-top: 36px;
}
.stop .section-heading {
	margin-bottom: 24px;
}
.stop-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
	gap: 24px;
	align-items: center;
	max-width: 780px;
	margin: auto;
}
.stop-story p + p {
	margin-top: 13px;
}
.stop-voice {
	padding: 18px 22px;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	font-size: 21px;
	font-weight: 900;
}
.stop-grid img {
	max-height: 250px;
	max-width: 220px;
	margin: auto;
	object-fit: contain;
}
.wide-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 980px;
	margin: 35px auto 0;
}
.busy-message {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 25px;
	align-items: center;
	max-width: 760px;
	margin: 45px auto 0;
	padding: 25px;
	background: var(--pink-soft);
	border-radius: var(--radius);
}
.busy-message img {
	height: 150px;
	object-fit: contain;
}
.busy-message p {
	margin-top: 7px;
	color: var(--muted);
}
.image-copy-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(170px, 240px);
	gap: 32px;
	align-items: center;
	max-width: 880px;
	margin: auto;
}
.image-copy-grid.reverse {
	grid-template-columns: minmax(170px, 230px) minmax(0, 1fr);
}
.image-copy-grid > img {
	max-height: 280px;
	max-width: 240px;
	margin: auto;
	object-fit: contain;
}
.image-copy-grid h2 span {
	color: #d9658e;
}
.image-copy-grid > div > p:not(.eyebrow) {
	margin-top: 17px;
	color: var(--muted);
}
.judgment {
	background: var(--green-soft);
}
.question-cloud {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 14px;
	margin-top: 22px;
	padding: 0;
	list-style: none;
}
.question-cloud li {
	position: relative;
	padding: 12px 14px 12px 38px;
	background: #fff;
	border-radius: var(--radius);
	font-size: 14px;
	font-weight: 700;
}
.question-cloud li:before {
	content: "✓";
	position: absolute;
	left: 15px;
	color: var(--green);
	font-weight: 900;
}
.audience-paths b {
	display: block;
	margin-top: 12px;
	color: var(--green);
	font-size: 13px;
}
.program {
	background: #faf9f7;
}
.program-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	max-width: 1040px;
	margin: auto;
}
.program-steps article {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 18px;
	padding: 27px 24px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: 0 8px 25px rgba(70, 50, 40, 0.04);
}
.program-steps h3 {
	color: #d9658e;
	font-size: 21px;
}
.program-steps h4 {
	margin: 3px 0 0;
	font-size: 16px;
}
.program-steps p {
	margin-top: 10px;
	color: var(--muted);
	font-size: 14px;
}
.program-steps .diagnosis-step {
	border: 2px solid #d9658e;
	background: #fff8fb;
}
.diagnosis-step b {
	display: block;
	margin-top: 12px;
	color: #9b4866;
	font-size: 13px;
}
.type-badge.ai {
	color: #fff;
	background: #d9658e;
}
.type-badge.chat {
	color: #fff;
	background: #a56b9e;
}
.study-style {
	background: #fff;
}
.study-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 1040px;
	margin: auto;
}
.study-grid article {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	grid-template-rows: auto auto auto;
	column-gap: 16px;
	align-items: center;
	padding: 28px 22px;
	background: var(--pink-soft);
	border-radius: var(--radius);
}
.study-grid img {
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 44px;
	margin: 0 auto;
}
.study-grid .type-badge {
	grid-column: 2;
	grid-row: 1;
	justify-self: start;
	white-space: nowrap;
}
.study-grid h3 {
	grid-column: 2;
	grid-row: 2;
	margin: 5px 0 0;
}
.study-grid p {
	grid-column: 1 / -1;
	grid-row: 3;
	margin-top: 8px;
	color: var(--muted);
	font-size: 14px;
}
.preparation {
	background: #faf9f7;
}
.preparation-grid {
	display: grid;
	gap: 12px;
	max-width: 880px;
	margin: auto;
}
.preparation-grid article {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 18px;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.preparation-grid img {
	width: 42px;
}
.preparation-grid p {
	margin-top: 5px;
	color: var(--muted);
	font-size: 13px;
}
.preparation-grid strong {
	display: block;
	margin-top: 8px;
	color: var(--green);
	font-size: 12px;
}
.package {
	background: var(--green-soft);
}
.package-layout {
	display: grid;
	grid-template-columns: minmax(170px, 230px) minmax(0, 1fr);
	gap: 30px;
	align-items: center;
	max-width: 850px;
	margin: auto;
}
.package-layout > img {
	max-height: 255px;
	max-width: 230px;
	margin: auto;
	object-fit: contain;
}
.package-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.package-list li {
	position: relative;
	padding: 12px 12px 12px 39px;
	background: #fff;
	border-radius: var(--radius);
	font-size: 14px;
	font-weight: 700;
}
.package-list li:before {
	content: "✓";
	position: absolute;
	left: 14px;
	color: var(--green);
	font-weight: 900;
}
.package-list strong {
	color: #d9658e;
}
.period-note {
	max-width: 800px;
	margin: 25px auto 0;
	color: var(--muted);
	font-size: 13px;
	text-align: center;
}
.options {
	background: #fff;
	text-align: center;
}
.option-tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.option-tags span {
	padding: 5px 10px;
	color: var(--green);
	background: var(--green-soft);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
}
.option-note {
	max-width: 720px;
	margin: 24px auto 0;
	color: var(--muted);
}
.profile-support-note {
	margin-top: 28px;
	padding-top: 26px;
	border-top: 1px solid var(--border);
}
.profile-support-note .support-kicker {
	margin: 0;
	color: var(--green);
	font-size: 13px;
	font-weight: 800;
}
.profile-support-note h3 {
	margin-top: 5px;
	font-size: 20px;
}
.profile-support-note > p:not(.support-kicker) {
	margin-top: 10px;
	color: var(--muted);
	font-size: 14px;
}
.profile-support-note .option-tags {
	justify-content: flex-start;
	margin-top: 17px;
}
.profile-support-note .option-tags span {
	padding: 5px 10px;
	font-size: 11px;
}
.profile-support-note .support-estimate {
	font-size: 12px;
}
.pro-benefit {
	margin: 20px 0;
	padding: 18px;
	background: var(--green-soft);
	border-radius: var(--radius);
}
.pro-benefit h3 {
	margin: 0;
	font-size: 16px;
}
.pro-benefit > p {
	margin-top: 7px;
	color: var(--muted);
	font-size: 12px;
}
.pro-benefit ul {
	display: grid;
	gap: 8px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}
.pro-benefit li {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 10px;
	padding-top: 8px;
	border-top: 1px solid rgba(121, 173, 77, 0.25);
}
.pro-benefit li strong {
	color: var(--green);
	font-size: 12px;
}
.pro-benefit li span {
	color: var(--muted);
	font-size: 12px;
}
.pro-benefit .pro-conclusion {
	margin-top: 13px;
	color: var(--ink);
	font-weight: 700;
}
.price-includes {
	display: grid;
	gap: 7px;
	width: max-content;
	max-width: 100%;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}
.price-includes li {
	position: relative;
	padding-left: 22px;
	color: var(--muted);
	font-size: 14px;
	text-align: left;
}
.price-includes li:before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--green);
	font-weight: 900;
}
.price-option-note {
	max-width: 760px;
	margin: 25px auto 0;
	color: var(--muted);
	font-size: 13px;
	text-align: center;
}
.course-requirements {
	max-width: 980px;
	margin: 34px auto 0;
	padding: 30px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	text-align: left;
}
.course-requirements-heading {
	max-width: 760px;
	margin-bottom: 22px;
}
.course-requirements-heading h3 {
	margin: 5px 0 8px;
	font-size: clamp(20px, 2.3vw, 27px);
}
.course-requirements-heading > p:last-child {
	color: var(--muted);
}
.course-requirements ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.course-requirements li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 18px;
	background: #faf8f7;
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.course-requirements li strong {
	color: var(--ink);
}
.course-requirements li span {
	color: var(--muted);
	font-size: 13px;
	line-height: 1.7;
}
.course-requirements-cost {
	margin-top: 18px;
	padding: 15px 17px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.7;
	background: var(--green-soft);
	border-radius: var(--radius);
}
.payment-note {
	margin-top: 12px;
	color: var(--muted);
	font-size: 12px;
}
.final-cta > div {
	text-align: left;
}
.final-cta .cta-guidance {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: max-content;
	max-width: 100%;
	gap: 12px;
	margin-top: 24px;
	color: var(--ink);
	font-size: 12px;
	font-weight: 700;
	text-align: left;
}
.cta-guidance:before,
.cta-guidance:after {
	content: "";
	display: block;
	width: 1px;
	height: 22px;
	background: var(--ink);
	border-radius: 2px;
	flex: 0 0 auto;
}
.cta-guidance:before {
	transform: rotate(-24deg);
}
.cta-guidance:after {
	transform: rotate(24deg);
}
.final-cta .cta-guidance + .button {
	margin-top: 10px;
}
@media (max-width: 800px) {
	.question-cloud {
		grid-template-columns: 1fr;
	}
	.hero-offer-row {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.stop-grid,
	.image-copy-grid,
	.image-copy-grid.reverse,
	.package-layout {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	.stop-grid img,
	.image-copy-grid > img,
	.package-layout > img {
		max-height: 190px;
	}
	.wide-list,
	.program-steps,
	.study-grid {
		grid-template-columns: 1fr;
	}
	.busy-message {
		grid-template-columns: 100px 1fr;
		padding: 20px 16px;
	}
	.busy-message img {
		height: 110px;
	}
	.program-steps article {
		grid-template-columns: 55px 1fr;
		padding: 18px 14px;
	}
	.study-grid article {
		grid-template-columns: 52px minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		column-gap: 14px;
		padding: 22px 18px;
	}
	.preparation-grid article {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 13px;
		padding: 17px 14px;
	}
	.preparation-grid img {
		width: 34px;
	}
	.study-grid img {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 38px;
		margin: 0 auto;
	}
	.study-grid .type-badge {
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
	}
	.study-grid h3 {
		grid-column: 2;
		grid-row: 2;
	}
	.study-grid p {
		grid-column: 1 / -1;
		grid-row: 3;
	}
	.package-list {
		grid-template-columns: 1fr;
	}
	.hero-catch {
		margin-top: 4px;
	}
}
@media (max-width: 460px) {
	.pro-benefit li {
		grid-template-columns: 1fr;
		gap: 2px;
	}
	.final-cta .cta-guidance {
		gap: 8px;
		font-size: 11px;
	}
	.cta-guidance:before,
	.cta-guidance:after {
		height: 19px;
	}
}

@media (max-width: 700px) {
	.course-requirements {
		margin-top: 26px;
		padding: 22px 16px;
	}
	.course-requirements ul {
		grid-template-columns: 1fr;
	}
	.course-requirements li {
		padding: 14px;
	}
}
