/* =========================================================================
 * lp.css — LP各セクション
 * PC 1024px以上 / タブレット 768–1023px / SP 767px以下
 * ====================================================================== */

/* =========================================================================
 * 01 ファーストビュー
 * ====================================================================== */

.lp-atsumeru .p-hero {
	position: relative;
	overflow: hidden;
	padding-block: 56px 72px;
	background: linear-gradient(180deg, var(--c-blue-hero-1) 0%, var(--c-blue-hero-2) 100%);
}

.lp-atsumeru .p-hero__decor {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.lp-atsumeru .p-hero__circle {
	position: absolute;
	border-radius: 50%;
	background-color: rgb(255 255 255 / 45%);
}

.lp-atsumeru .p-hero__circle--lg {
	top: -80px;
	right: 4%;
	width: 460px;
	height: 460px;
}

.lp-atsumeru .p-hero__circle--md {
	right: 18%;
	bottom: -140px;
	width: 320px;
	height: 320px;
	background-color: rgb(255 255 255 / 32%);
}

.lp-atsumeru .p-hero__circle--sm {
	top: 46%;
	left: -90px;
	width: 260px;
	height: 260px;
	background-color: rgb(255 255 255 / 28%);
}

.lp-atsumeru .p-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 400px);
	gap: 40px;
	align-items: center;
}

.lp-atsumeru .p-hero__copy {
	min-width: 0;
}

/* ネイビーのリボン（右端が矢羽根） */
.lp-atsumeru .p-hero__ribbon {
	display: inline-block;
	margin-bottom: 24px;
	padding: 10px 46px 10px 24px;
	color: var(--c-text-inverse);
	font-family: var(--font-mincho);
	font-size: 1.375rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	background-color: var(--c-navy-deep);
	clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
}

.lp-atsumeru .p-hero__heading {
	margin-bottom: 20px;
	color: var(--c-navy-deep);
	font-family: var(--font-mincho);
	font-size: var(--fs-h1);
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.lp-atsumeru .p-hero__heading-line {
	display: block;
}

.lp-atsumeru .p-hero__heading-line--accent {
	position: relative;
	padding-bottom: 0.18em;
	color: var(--c-blue);
}

.lp-atsumeru .p-hero__heading-line--accent::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	max-width: 640px;
	height: 3px;
	background-color: var(--c-yellow);
	content: "";
}

.lp-atsumeru .p-hero__lead {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 12px;
	color: var(--c-navy-deep);
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.55;
}

.lp-atsumeru .p-hero__lead .c-check-icon {
	margin-top: 0.15em;
}

.lp-atsumeru .p-hero__sub {
	color: var(--c-navy-deep);
	font-weight: 700;
	font-size: 1.875rem;
	line-height: 1.5;
}

.lp-atsumeru .p-hero__sub-strong {
	color: var(--c-blue);
}

.lp-atsumeru .p-hero__sub-free {
	color: var(--c-orange);
}

.lp-atsumeru .p-hero__visual {
	display: flex;
	justify-content: center;
}

.lp-atsumeru .p-hero__book {
	width: 100%;
	max-width: 340px;
	height: auto;
	filter: drop-shadow(0 14px 28px rgb(7 63 139 / 22%));
}

.lp-atsumeru .p-hero__cta {
	position: relative;
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

@media (width <= 1023px) {
	.lp-atsumeru .p-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
		gap: 24px;
	}

	.lp-atsumeru .p-hero__ribbon {
		font-size: 1rem;
	}

	.lp-atsumeru .p-hero__sub {
		font-size: 1.5rem;
	}

	.lp-atsumeru .p-hero__book {
		max-width: 260px;
	}
}

/*
 * ② スマホのファーストビュー。
 *   ガイドブックを文章の下に積むのをやめ、コピーの背面へ重ねて配置する。
 *   これでヘッダーから最初のCTAまでが1画面に収まる。
 *   高さは 100vh を使わず内容の実寸で決めるため、
 *   モバイルブラウザのアドレスバー伸縮でCTAが隠れることがない。
 */
@media (width <= 767px) {
	.lp-atsumeru .p-hero {
		padding-block: 24px 28px;
	}

	.lp-atsumeru .p-hero__inner {
		position: relative;
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		align-items: start;
	}

	/* テキストは最前面。背面の画像に負けないよう薄い白のかすみを敷く */
	.lp-atsumeru .p-hero__copy {
		position: relative;
		z-index: 1;
	}

	.lp-atsumeru .p-hero__copy::before {
		position: absolute;
		z-index: -1;
		inset: -12px -8px -8px -12px;
		background:
			linear-gradient(
				100deg,
				rgb(255 255 255 / 86%) 0%,
				rgb(255 255 255 / 78%) 60%,
				rgb(255 255 255 / 52%) 100%
			);
		border-radius: var(--radius-md);
		content: "";
	}

	.lp-atsumeru .p-hero__ribbon {
		margin-bottom: 14px;
		padding: 7px 28px 7px 14px;
		font-size: 0.9375rem;
		clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
	}

	.lp-atsumeru .p-hero__heading {
		margin-bottom: 14px;
	}

	.lp-atsumeru .p-hero__heading-line--accent::after {
		height: 2px;
	}

	.lp-atsumeru .p-hero__lead {
		gap: 8px;
		margin-bottom: 10px;
		font-size: 1rem;
	}

	.lp-atsumeru .p-hero__lead .c-check-icon {
		width: 22px;
		height: 22px;
	}

	.lp-atsumeru .p-hero__sub {
		font-size: 1.3125rem;
	}

	/* ガイドブックはコピーの背面・右下寄せ。
	   画面外へはみ出さないよう右端を 0 に揃え、文字の可読性を優先して不透明度を落とす */
	.lp-atsumeru .p-hero__visual {
		position: absolute;
		right: 0;
		bottom: -4px;
		z-index: 0;
		width: 168px;
		justify-content: flex-end;
		margin-top: 0;
		pointer-events: none;
	}

	.lp-atsumeru .p-hero__book {
		max-width: 168px;
		opacity: 0.4;
		filter: drop-shadow(0 8px 16px rgb(7 63 139 / 12%));
	}

	.lp-atsumeru .p-hero__cta {
		position: relative;
		z-index: 2;
		margin-top: 18px;
	}

	.lp-atsumeru .p-hero__circle--lg {
		top: -40px;
		right: -70px;
		width: 210px;
		height: 210px;
	}

	.lp-atsumeru .p-hero__circle--md {
		right: auto;
		bottom: -80px;
		left: -80px;
		width: 190px;
		height: 190px;
	}

	.lp-atsumeru .p-hero__circle--sm {
		display: none;
	}
}

/* 375px未満の端末でもリボンを1行に保つ */
@media (width <= 374px) {
	.lp-atsumeru .p-hero__ribbon {
		padding-right: 24px;
		font-size: 0.875rem;
	}
}

/* =========================================================================
 * 02 こんな課題はありませんか？
 * ====================================================================== */

.lp-atsumeru .p-problems {
	padding-block: var(--section-py);
	background-color: var(--c-blue-mist);
}

.lp-atsumeru .p-problems .c-section-heading {
	margin-bottom: 48px;
}

.lp-atsumeru .p-problems__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.lp-atsumeru .c-problem-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px 24px 24px;
	background-color: var(--c-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}

.lp-atsumeru .c-problem-card__head {
	display: flex;
	gap: 14px;
	align-items: center;
	padding-bottom: 12px;
	border-bottom: 3px solid;
	border-image: linear-gradient(90deg, var(--c-navy-deep) 0%, var(--c-blue-light) 100%) 1;
}

.lp-atsumeru .c-problem-card__badge {
	display: flex;
	flex-shrink: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	color: var(--c-text-inverse);
	line-height: 1.1;
	background-color: var(--c-navy);
	border-radius: 50%;
}

.lp-atsumeru .c-problem-card__badge-label {
	font-size: 0.6875rem;
}

.lp-atsumeru .c-problem-card__badge-no {
	font-weight: 700;
	font-size: 0.9375rem;
}

.lp-atsumeru .c-problem-card__title {
	color: var(--c-navy-deep);
	font-size: 1.0625rem;
	line-height: 1.4;
	line-break: strict;
}

/*
 * ③ 見出しは意味の切れ目ごとに改行禁止のチャンクへ分けている。
 *   幅が足りればそのまま1行、足りなければ切れ目で折り返すため、
 *   「つながらない」「足りない」の途中で切れて行末に「い」だけが残ることがない。
 *   nowrapは各チャンクにのみ効くので、見出し全体がカード外へはみ出すこともない。
 */
.lp-atsumeru .c-problem-card__title-chunk {
	display: inline-block;
	white-space: nowrap;
}

.lp-atsumeru .c-problem-card__body {
	display: flex;
	gap: 16px;
	align-items: center;
	margin-top: 18px;
}

.lp-atsumeru .c-problem-card__img {
	flex-shrink: 0;
	width: 86px;
	height: auto;
}

.lp-atsumeru .c-problem-card__points {
	display: grid;
	gap: 6px;
	min-width: 0;
	font-size: var(--fs-xs);
	line-height: 1.7;
	line-break: strict;
}

.lp-atsumeru .c-problem-card__points li {
	position: relative;
	padding-left: 1em;
}

.lp-atsumeru .c-problem-card__points li::before {
	position: absolute;
	left: 0;
	content: "・";
}

@media (width <= 1023px) {
	.lp-atsumeru .p-problems__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (width <= 767px) {
	.lp-atsumeru .p-problems .c-section-heading {
		margin-bottom: 28px;
	}

	.lp-atsumeru .p-problems__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.lp-atsumeru .c-problem-card {
		padding: 20px 16px 18px;
		border-radius: var(--radius-md);
	}

	.lp-atsumeru .c-problem-card__head {
		gap: 10px;
	}

	.lp-atsumeru .c-problem-card__badge {
		width: 46px;
		height: 46px;
	}

	.lp-atsumeru .c-problem-card__title {
		font-size: 1.125rem;
	}

	.lp-atsumeru .c-problem-card__points {
		font-size: 0.8125rem;
	}

	.lp-atsumeru .c-problem-card__img {
		width: 72px;
	}
}

/* =========================================================================
 * 03 無料プレゼント（加盟開発成功ガイド）
 * ====================================================================== */

.lp-atsumeru .p-guide {
	padding-block: var(--section-py);
	background-color: var(--c-white);
}

.lp-atsumeru .p-guide__panel {
	position: relative;
	padding: 56px 48px 48px;
	background-color: var(--c-white);
	border: 3px solid var(--c-orange);
	border-radius: var(--radius-xl);
}

.lp-atsumeru .p-guide__tab {
	position: absolute;
	top: 0;
	left: 32px;
	padding: 6px 26px;
	color: var(--c-text-inverse);
	font-weight: 700;
	font-size: var(--fs-body);
	background-color: var(--c-orange);
	border-radius: var(--radius-pill);
	transform: translateY(-50%);
}

.lp-atsumeru .p-guide__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 260px);
	gap: 40px;
	align-items: center;
}

.lp-atsumeru .p-guide__eyebrow {
	margin-bottom: 8px;
	color: var(--c-navy-deep);
	font-weight: 700;
	font-size: 1.25rem;
}

.lp-atsumeru .p-guide__heading {
	margin-bottom: 28px;
	color: var(--c-navy-deep);
	font-size: 2.25rem;
	line-height: 1.45;
}

.lp-atsumeru .p-guide__heading-strong {
	color: var(--c-navy-deep);
}

.lp-atsumeru .p-guide__heading-free {
	color: var(--c-orange);
}

.lp-atsumeru .p-guide__points {
	display: grid;
	gap: 0;
	padding: 8px 20px;
	background-color: var(--c-blue-mist);
	border-radius: var(--radius-md);
}

.lp-atsumeru .p-guide__point {
	display: flex;
	gap: 14px;
	align-items: center;
	padding-block: 14px;
	border-bottom: 1px solid var(--c-border-soft);
}

.lp-atsumeru .p-guide__point:last-child {
	border-bottom: 0;
}

.lp-atsumeru .p-guide__point-icon {
	flex-shrink: 0;
	width: 46px;
	height: auto;
}

.lp-atsumeru .p-guide__point .c-check-icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.lp-atsumeru .p-guide__point-text {
	min-width: 0;
	color: var(--c-navy-deep);
	font-weight: 700;
	font-size: var(--fs-body);
	line-height: 1.45;
}

.lp-atsumeru .p-guide__note {
	position: relative;
	/* 左カラム（灰色の内容一覧と同じ幅）の中央に置く。斜線も含めて1まとまりで中央寄せ。 */
	display: block;
	width: fit-content;
	margin-inline: auto;
	margin-top: 16px;
	padding-inline: 1.4em;
	color: var(--c-navy-deep);
	font-weight: 700;
	font-size: 1.125rem;
}

.lp-atsumeru .p-guide__note::before,
.lp-atsumeru .p-guide__note::after {
	position: absolute;
	top: 50%;
	width: 2px;
	height: 1.1em;
	background-color: currentcolor;
	content: "";
}

.lp-atsumeru .p-guide__note::before {
	left: 0.3em;
	transform: translateY(-50%) rotate(-20deg);
}

.lp-atsumeru .p-guide__note::after {
	right: 0.3em;
	transform: translateY(-50%) rotate(20deg);
}

.lp-atsumeru .p-guide__visual {
	display: flex;
	justify-content: center;
}

.lp-atsumeru .p-guide__book {
	width: 100%;
	max-width: 240px;
	height: auto;
	border-radius: var(--radius-sm);
	filter: drop-shadow(0 10px 22px rgb(7 63 139 / 18%));
}

.lp-atsumeru .p-guide__cta {
	display: flex;
	justify-content: center;
	margin-top: 36px;
}

@media (width <= 1023px) {
	.lp-atsumeru .p-guide__panel {
		padding: 48px 28px 36px;
	}

	.lp-atsumeru .p-guide__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 200px);
		gap: 24px;
	}

	.lp-atsumeru .p-guide__heading {
		font-size: 1.75rem;
	}
}

@media (width <= 767px) {
	.lp-atsumeru .p-guide__panel {
		padding: 34px 14px 24px;
		border-width: 2px;
		border-radius: var(--radius-lg);
	}

	.lp-atsumeru .p-guide__tab {
		left: 16px;
		padding: 5px 18px;
		font-size: var(--fs-sm);
	}

	.lp-atsumeru .p-guide__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.lp-atsumeru .p-guide__eyebrow {
		font-size: 1rem;
	}

	.lp-atsumeru .p-guide__heading {
		margin-bottom: 20px;
		font-size: 1.375rem;
	}

	.lp-atsumeru .p-guide__points {
		padding: 4px 12px;
	}

	.lp-atsumeru .p-guide__point {
		gap: 10px;
		padding-block: 12px;
	}

	.lp-atsumeru .p-guide__point-icon {
		width: 38px;
	}

	.lp-atsumeru .p-guide__point .c-check-icon {
		width: 20px;
		height: 20px;
	}

	.lp-atsumeru .p-guide__point-text {
		font-size: 0.875rem;
	}

	.lp-atsumeru .p-guide__note {
		font-size: 1rem;
	}

	.lp-atsumeru .p-guide__book {
		max-width: 190px;
	}

	.lp-atsumeru .p-guide__cta {
		margin-top: 24px;
	}
}

/* =========================================================================
 * 04-06 サービス紹介 / 3つの特徴 / 流れの比較
 * ====================================================================== */

.lp-atsumeru .p-service {
	padding-block: var(--section-py);
	background-color: var(--c-blue-pale);
	text-align: center;
}

.lp-atsumeru .p-service__badge {
	display: inline-block;
	margin-bottom: 20px;
	padding: 6px 24px;
	color: var(--c-text-inverse);
	font-weight: 700;
	font-size: var(--fs-sm);
	background-color: var(--c-navy-deep);
	border-radius: var(--radius-pill);
}

.lp-atsumeru .p-service__heading {
	margin-bottom: 16px;
	color: var(--c-blue);
	font-size: var(--fs-h2);
	line-height: 1.4;
}

.lp-atsumeru .p-service__lead {
	margin-bottom: 56px;
	color: var(--c-navy-deep);
	font-size: var(--fs-lead);
	line-height: 1.9;
}

.lp-atsumeru .p-service__lead-line {
	display: block;
}

.lp-atsumeru .p-service__lead-line--strong {
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1.6;
}

.lp-atsumeru .p-service .c-section-heading--sm {
	margin-bottom: 32px;
}

/* --- 3つの特徴 -------------------------------------------------------- */

/*
 * ① 3つの特徴は縦3段。
 *   1枚あたり横長の大きなカードにして、コンテンツ幅を使い切る。
 *   カード最大幅 1040px（目安 960〜1100px）、カード間 32px（目安 24〜40px）。
 */
.lp-atsumeru .p-features__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	width: 100%;
	max-width: 1040px;
	margin-inline: auto;
	margin-bottom: 80px;
	text-align: left;
}

.lp-atsumeru .c-feature-card {
	height: 100%;
	padding: 24px;
	background-color: var(--c-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}

.lp-atsumeru .c-feature-card__inner {
	display: flex;
	gap: 32px;
	align-items: center;
	height: 100%;
	padding: 28px 32px 28px 0;
	background-color: var(--c-blue-mist);
	border: 1px solid var(--c-border);
}

.lp-atsumeru .c-feature-card__bar {
	flex-shrink: 0;
	align-self: stretch;
	width: 18px;
	background-color: var(--c-navy);
}

.lp-atsumeru .c-feature-card__text {
	flex: 1 1 auto;
	min-width: 0;
}

.lp-atsumeru .c-feature-card__title {
	margin-bottom: 14px;
	color: var(--c-navy-deep);
	font-size: 1.75rem;
	line-height: 1.45;
	line-break: strict;
}

.lp-atsumeru .c-feature-card__title-line {
	display: block;
}

.lp-atsumeru .c-feature-card__notes {
	display: grid;
	gap: 6px;
	color: var(--c-text-muted);
	font-size: 1rem;
	line-height: 1.7;
	line-break: strict;
}

/* イラストの縦横比はそのままに、高さを揃えて3枚のカード高さを統一する */
.lp-atsumeru .c-feature-card__img {
	flex-shrink: 0;
	width: 200px;
	height: 160px;
	object-fit: contain;
	object-position: center;
}

/* タブレット横幅。縦3段は維持し、内部だけ詰める */
@media (768px <= width <= 1023px) {
	.lp-atsumeru .p-features__list {
		gap: 24px;
		margin-bottom: 56px;
	}

	.lp-atsumeru .c-feature-card {
		padding: 18px;
	}

	.lp-atsumeru .c-feature-card__inner {
		gap: 22px;
		padding: 22px 24px 22px 0;
	}

	.lp-atsumeru .c-feature-card__bar {
		width: 14px;
	}

	.lp-atsumeru .c-feature-card__title {
		margin-bottom: 10px;
		font-size: 1.375rem;
	}

	.lp-atsumeru .c-feature-card__notes {
		font-size: 0.875rem;
	}

	.lp-atsumeru .c-feature-card__img {
		width: 150px;
		height: 130px;
	}
}

@media (width <= 767px) {
	.lp-atsumeru .p-service__lead {
		margin-bottom: 32px;
	}

	.lp-atsumeru .p-service__lead-line--strong {
		font-size: 1.25rem;
	}

	.lp-atsumeru .p-service .c-section-heading--sm {
		margin-bottom: 20px;
	}

	/* スマホは既存デザインどおりのコンパクトな1カラム（①の変更で崩さない） */
	.lp-atsumeru .p-features__list {
		gap: 14px;
		max-width: none;
		margin-bottom: 36px;
	}

	.lp-atsumeru .c-feature-card {
		padding: 12px;
		border-radius: var(--radius-md);
	}

	.lp-atsumeru .c-feature-card__inner {
		gap: 12px;
		padding: 12px 12px 12px 0;
	}

	.lp-atsumeru .c-feature-card__bar {
		width: 10px;
	}

	.lp-atsumeru .c-feature-card__title {
		margin-bottom: 8px;
		font-size: 0.9375rem;
	}

	.lp-atsumeru .c-feature-card__notes {
		gap: 2px;
		font-size: var(--fs-xs);
		line-height: 1.65;
	}

	.lp-atsumeru .c-feature-card__img {
		width: 74px;
		height: auto;
	}
}

/* --- 流れの比較 ------------------------------------------------------- */

.lp-atsumeru .p-flow {
	padding: 40px;
	background-color: var(--c-blue-mist);
	border-radius: var(--radius-xl);
}

.lp-atsumeru .p-flow__panel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	max-width: 720px;
	margin-inline: auto;
}

.lp-atsumeru .p-flow__col-title {
	margin-bottom: 16px;
	color: var(--c-navy-deep);
	font-size: var(--fs-body);
}

.lp-atsumeru .p-flow__steps {
	display: grid;
	gap: 0;
	justify-items: center;
}

.lp-atsumeru .p-flow__step {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 240px;
	min-height: 44px;
	padding: 8px 12px;
	color: var(--c-text-inverse);
	font-weight: 700;
	font-size: var(--fs-body);
	border-radius: var(--radius-sm);
}

/* ステップ間の下向き三角 */
.lp-atsumeru .p-flow__step + .p-flow__step {
	margin-top: 30px;
}

.lp-atsumeru .p-flow__step + .p-flow__step::before {
	position: absolute;
	top: -21px;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 12px solid var(--c-gray-light);
	border-right: 11px solid transparent;
	border-left: 11px solid transparent;
	content: "";
	transform: translateX(-50%);
}

.lp-atsumeru .p-flow__col--general .p-flow__step {
	background-color: var(--c-gray);
}

.lp-atsumeru .p-flow__col--atsumeru .p-flow__step {
	background-color: var(--c-navy);
}

.lp-atsumeru .p-flow__col--atsumeru .p-flow__step + .p-flow__step::before {
	border-top-color: var(--c-gray-light);
}

.lp-atsumeru .p-flow__step--goal {
	background-color: var(--c-pink) !important;
}

.lp-atsumeru .p-flow__result {
	margin-top: 24px;
	font-weight: 700;
	font-size: var(--fs-body);
	line-height: 1.5;
	text-align: center;
}

.lp-atsumeru .p-flow__result--muted {
	color: var(--c-text-muted);
}

/* --- アドバイザーコメント --------------------------------------------- */

.lp-atsumeru .p-flow__comment {
	display: flex;
	gap: 20px;
	align-items: center;
	max-width: 720px;
	margin: 32px auto 0;
	padding: 20px 24px;
	text-align: left;
	background-color: var(--c-white);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-card);
}

.lp-atsumeru .p-flow__comment-img {
	flex-shrink: 0;
	width: 92px;
	height: auto;
}

.lp-atsumeru .p-flow__comment-body {
	min-width: 0;
}

.lp-atsumeru .p-flow__comment-lead {
	margin-bottom: 6px;
	color: var(--c-navy-deep);
	font-weight: 700;
	font-size: 1.0625rem;
	line-height: 1.5;
}

.lp-atsumeru .p-flow__comment-accent {
	color: var(--c-pink);
}

.lp-atsumeru .p-flow__comment-text {
	color: var(--c-text);
	font-size: var(--fs-sm);
	line-height: 1.7;
}

@media (width <= 767px) {
	.lp-atsumeru .p-flow {
		padding: 24px 14px;
		border-radius: var(--radius-lg);
	}

	.lp-atsumeru .p-flow__panel {
		gap: 14px;
	}

	.lp-atsumeru .p-flow__step {
		max-width: none;
		min-height: 38px;
		padding: 6px 6px;
		font-size: 0.8125rem;
	}

	.lp-atsumeru .p-flow__step + .p-flow__step {
		margin-top: 24px;
	}

	.lp-atsumeru .p-flow__step + .p-flow__step::before {
		top: -17px;
		border-top-width: 9px;
		border-right-width: 8px;
		border-left-width: 8px;
	}

	.lp-atsumeru .p-flow__result {
		margin-top: 18px;
		font-size: var(--fs-sm);
	}

	.lp-atsumeru .p-flow__comment {
		gap: 12px;
		margin-top: 24px;
		padding: 14px;
	}

	.lp-atsumeru .p-flow__comment-img {
		width: 66px;
	}

	.lp-atsumeru .p-flow__comment-lead {
		font-size: 0.9375rem;
	}

	.lp-atsumeru .p-flow__comment-text {
		font-size: 0.8125rem;
	}
}

/* =========================================================================
 * 07 導入実績
 * ====================================================================== */

.lp-atsumeru .p-results {
	padding-block: var(--section-py);
	background-color: var(--c-white);
	text-align: center;
}

.lp-atsumeru .p-results .c-section-heading {
	margin-bottom: 20px;
}

.lp-atsumeru .p-results__lead {
	margin-bottom: 10px;
	color: var(--c-navy-deep);
	font-family: var(--font-mincho);
	font-size: 1.75rem;
	line-height: 1.6;
}

.lp-atsumeru .p-results__lead-line {
	display: block;
}

.lp-atsumeru .p-results__lead-blue {
	color: var(--c-blue);
}

.lp-atsumeru .p-results__lead-pink {
	color: var(--c-pink);
}

.lp-atsumeru .p-results__disclaimer {
	margin-bottom: 48px;
	color: var(--c-text-muted);
	font-size: var(--fs-xs);
	line-break: strict;
}

/* ⑤ PCは1行に連結。各チャンクは途中で折り返さない */
.lp-atsumeru .p-results__disclaimer-chunk {
	display: inline;
	white-space: nowrap;
}

.lp-atsumeru .p-results__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	text-align: left;
}

.lp-atsumeru .c-result-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 24px 20px;
	background-color: var(--c-blue-pale);
	border-radius: var(--radius-lg);
}

.lp-atsumeru .c-result-card__brand {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	padding-bottom: 14px;
	border-bottom: 1px solid rgb(7 63 139 / 22%);
	color: var(--c-blue);
	font-size: 1.0625rem;
	text-align: center;
}

.lp-atsumeru .c-result-card__brand-icon {
	flex-shrink: 0;
	width: auto;
	height: 22px;
}

.lp-atsumeru .c-result-card__body {
	display: flex;
	flex: 1 1 auto;
	gap: 12px;
	align-items: center;
	justify-content: center;
	padding-block: 20px;
}

.lp-atsumeru .c-result-card__figure {
	flex-shrink: 0;
	width: auto;
	max-width: 110px;
	max-height: 150px;
	object-fit: contain;
}

.lp-atsumeru .c-result-card__stats {
	display: grid;
	flex: 1 1 auto;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	min-width: 0;
}

.lp-atsumeru .c-result-card__stats--single {
	grid-template-columns: minmax(0, 1fr);
}

.lp-atsumeru .c-result-card__stat {
	display: grid;
	gap: 2px;
	justify-items: center;
	min-width: 0;
	padding-inline: 6px;
	text-align: center;
}

.lp-atsumeru .c-result-card__stat + .c-result-card__stat {
	border-left: 1px solid rgb(7 63 139 / 18%);
}

.lp-atsumeru .c-result-card__stat--wide {
	padding-inline: 0;
}

.lp-atsumeru .c-result-card__stat-label {
	display: grid;
	gap: 2px;
	justify-items: center;
}

.lp-atsumeru .c-result-card__stat--wide .c-result-card__stat-label {
	grid-template-columns: auto minmax(0, 1fr);
	gap: 4px 8px;
	align-items: center;
	justify-items: start;
}

.lp-atsumeru .c-result-card__stat-icon {
	width: 46px;
	height: auto;
}

.lp-atsumeru .c-result-card__stat--wide .c-result-card__stat-icon {
	grid-row: span 2;
}

.lp-atsumeru .c-result-card__stat-name {
	color: var(--c-blue);
	font-weight: 700;
	font-size: 0.9375rem;
	line-height: 1.35;
	line-break: strict;
}

.lp-atsumeru .c-result-card__stat--wide .c-result-card__stat-name {
	font-size: 0.8125rem;
}

.lp-atsumeru .c-result-card__stat-note {
	color: var(--c-text-muted);
	font-size: 0.625rem;
	line-height: 1.3;
}

.lp-atsumeru .c-result-card__stat-value {
	color: var(--c-navy);
	font-weight: 700;
	line-height: 1.1;
	white-space: nowrap;
}

.lp-atsumeru .c-result-card__stat--wide .c-result-card__stat-value {
	width: 100%;
	text-align: center;
}

.lp-atsumeru .c-result-card__stat-int {
	font-size: 2.25rem;
}

.lp-atsumeru .c-result-card__stat-dec {
	font-size: 1.5rem;
}

.lp-atsumeru .c-result-card__stat-unit {
	font-size: 1.25rem;
}

/* 1024〜1279px：3カラムのままカード幅が狭くなるため一段小さくする */
@media (1024px <= width <= 1279px) {
	.lp-atsumeru .c-result-card__figure {
		max-width: 76px;
	}

	.lp-atsumeru .c-result-card__brand {
		font-size: 0.9375rem;
	}

	.lp-atsumeru .c-result-card__stat-icon {
		width: 38px;
	}

	.lp-atsumeru .c-result-card__stat-name {
		font-size: 0.8125rem;
	}

	.lp-atsumeru .c-result-card__stat--wide .c-result-card__stat-name {
		font-size: 0.75rem;
	}

	.lp-atsumeru .c-result-card__stat-int {
		font-size: 1.625rem;
	}

	.lp-atsumeru .c-result-card__stat-dec {
		font-size: 1.125rem;
	}

	.lp-atsumeru .c-result-card__stat-unit {
		font-size: 1rem;
	}

	.lp-atsumeru .c-result-card__outcome-text {
		font-size: 0.8125rem;
	}
}

.lp-atsumeru .c-result-card__outcome {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 14px 16px;
	background-color: var(--c-white);
	border-radius: var(--radius-md);
}

.lp-atsumeru .c-result-card__outcome-badge {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 46px;
	min-height: 34px;
	color: var(--c-text-inverse);
	font-weight: 700;
	font-size: var(--fs-sm);
	background-color: var(--c-pink);
}

.lp-atsumeru .c-result-card__outcome-text {
	min-width: 0;
	font-size: 0.875rem;
	line-height: 1.55;
}

.lp-atsumeru .c-result-card__outcome-strong {
	color: var(--c-pink);
	font-weight: 700;
}

@media (width <= 1023px) {
	.lp-atsumeru .p-results__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (width <= 767px) {
	.lp-atsumeru .p-results__lead {
		font-size: 1.125rem;
	}

	/* ⑤ スマホは「…広告条件に」で必ず改行し、指定どおりの2行にする */
	.lp-atsumeru .p-results__disclaimer {
		margin-bottom: 28px;
		font-size: 0.6875rem;
		letter-spacing: -0.01em;
		line-height: 1.7;
	}

	.lp-atsumeru .p-results__disclaimer-chunk:first-child {
		display: block;
	}

	.lp-atsumeru .p-results__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.lp-atsumeru .c-result-card {
		padding: 18px 14px;
	}

	.lp-atsumeru .c-result-card__brand {
		font-size: 0.9375rem;
	}

	.lp-atsumeru .c-result-card__figure {
		max-height: 130px;
		max-width: 120px;
	}

	.lp-atsumeru .c-result-card__stat-icon {
		width: 40px;
	}

	.lp-atsumeru .c-result-card__stat-int {
		font-size: 2rem;
	}

	.lp-atsumeru .c-result-card__stat-dec {
		font-size: 1.375rem;
	}

	.lp-atsumeru .c-result-card__stat-unit {
		font-size: 1.25rem;
	}

	.lp-atsumeru .c-result-card__outcome {
		gap: 10px;
		padding: 12px;
	}

	.lp-atsumeru .c-result-card__outcome-text {
		font-size: 0.8125rem;
	}
}

/* =========================================================================
 * 08 最終CTA
 * ====================================================================== */

.lp-atsumeru .p-closing {
	padding-block: 64px;
	background-color: var(--c-navy);
}

.lp-atsumeru .p-closing__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: center;
	justify-content: center;
}

.lp-atsumeru .p-closing__heading {
	color: var(--c-text-inverse);
	font-size: 2.5rem;
	line-height: 1.5;
	text-align: center;
}

.lp-atsumeru .p-closing__heading-strong {
	color: var(--c-text-inverse);
}

.lp-atsumeru .p-closing__heading-free {
	color: var(--c-orange);
	font-size: 1.25em;
}

.lp-atsumeru .p-closing__book {
	width: 100%;
	max-width: 150px;
	height: auto;
	filter: drop-shadow(0 10px 22px rgb(0 0 0 / 30%));
}

.lp-atsumeru .p-closing__cta {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

@media (width <= 767px) {
	.lp-atsumeru .p-closing {
		padding-block: 36px;
	}

	.lp-atsumeru .p-closing__inner {
		gap: 16px;
	}

	.lp-atsumeru .p-closing__heading {
		font-size: 1.375rem;
	}

	.lp-atsumeru .p-closing__book {
		max-width: 110px;
	}

	.lp-atsumeru .p-closing__cta {
		margin-top: 20px;
	}
}

/* =========================================================================
 * 汎用ページ / 404
 * ====================================================================== */

.lp-atsumeru .p-generic,
.lp-atsumeru .p-error {
	padding-block: var(--section-py);
	background-color: var(--c-blue-mist);
}

.lp-atsumeru .p-generic__container,
.lp-atsumeru .p-error__container {
	max-width: 800px;
}

.lp-atsumeru .p-generic__article {
	padding: 40px;
	background-color: var(--c-white);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
}

.lp-atsumeru .p-generic__title {
	margin-bottom: 24px;
	color: var(--c-navy-deep);
	font-size: var(--fs-h2);
}

.lp-atsumeru .p-generic__body > * + * {
	margin-top: 1.2em;
}

.lp-atsumeru .p-generic__body h2,
.lp-atsumeru .p-generic__body h3 {
	color: var(--c-navy-deep);
}

.lp-atsumeru .p-error__container {
	text-align: center;
}

.lp-atsumeru .p-error__code {
	color: var(--c-blue-light);
	font-weight: 700;
	font-size: 5rem;
	line-height: 1;
}

.lp-atsumeru .p-error__heading {
	margin-block: 12px 20px;
	color: var(--c-navy-deep);
	font-size: var(--fs-h3);
}

.lp-atsumeru .p-error__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	justify-content: center;
	margin-top: 24px;
}

.lp-atsumeru .p-error__cta {
	display: flex;
	justify-content: center;
	margin-top: 36px;
}

@media (width <= 767px) {
	.lp-atsumeru .p-generic__article {
		padding: 20px 16px;
	}

	.lp-atsumeru .p-error__code {
		font-size: 3.5rem;
	}
}
