@charset "UTF-8";

html {
	font-size: 62.5%;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}

body{
	margin: 0;
}

:root {
	--lp-red: #e65550;
	--lp-text: #4d4d4d;
	--lp-greige: #e5ded6;
	--lp-greige-light: #f4f1ef;
	--lp-greige-light-2: #eee9e3;
	--lp-white: #ffffff;
	--lp-width: 122.4rem;
}

.engagement-card-lp {
	overflow: hidden;
	background: var(--lp-white);
	color: var(--lp-text);
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 2;
}

.engagement-card-lp *,
.engagement-card-lp *::before,
.engagement-card-lp *::after {
	box-sizing: border-box;
}

.engagement-card-lp img {
	display: block;
	width: 100%;
	height: auto;
}

.lp-container {
	width: min(calc(100% - 6rem), var(--lp-width));
	margin-inline: auto;
}

.lp-section {
	padding: 10rem 0;
}

.lp-heading {
	margin: 0 0 10rem;
	color: var(--lp-red);
	font-size: clamp(3rem, 3vw, 4.2rem);
	font-weight: 600;
	line-height: 1.3;
}

.lp-heading--center,
.lp-lead {
	text-align: center;
}

.lp-lead {
	max-width: 90rem;
	margin: 0 auto 6rem;
	font-size: 2rem;
	font-weight: 500;
}

.lp-hero {
	position: relative;
	min-height: 68rem;
	background: #a99d93;
}

.lp-hero__picture,
.lp-hero__picture img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.lp-hero__picture img {
	object-fit: cover;
}

.lp-hero::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(54, 42, 35, .14), rgba(54, 42, 35, .04));
	content: "";
}

.lp-hero__copy {
	position: absolute;
	z-index: 2;
	right: max(6vw, calc((100% - var(--lp-width)) / 2));
	bottom: 9rem;
	max-width: 72rem;
	color: var(--lp-white);
	text-align: right;
	text-shadow: 0 .2rem 1.2rem rgba(0, 0, 0, .28);
}

.lp-hero__copy p {
	margin: 0 0 1rem;
	font-size: clamp(1.8rem, 2vw, 2.7rem);
	font-weight: 700;
}

.lp-hero__copy h1 {
	margin: 0;
	font-size: clamp(3.4rem, 4.1vw, 6.4rem);
	line-height: 1.35;
}

.lp-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
	/* align-items: center; */
	gap: clamp(4rem, 7vw, 9rem);
}

.lp-split--reverse .lp-split__content {
	order: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.lp-split--reverse .lp-media {
	order: 2;
}

.lp-split__content p {
	margin: 0;
	font-weight: 400;
}

.lp-intro .lp-heading {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	/* white-space: nowrap; */
	margin: 0 0 2rem;
}

.lp-media {
	position: relative;
	min-height: 23.6rem;
	margin: 0;
	overflow: hidden;
	border-radius: 1.8rem;
}
.lp-business-grid .lp-media{
    height: 100%;
}

.lp-media picture,
.lp-media img {
	width: 100%;
	height: 100%;
}

.lp-media img {
	object-fit: cover;
}

.lp-button {
	display: flex;
	width: min(100%, 48rem);
	min-height: 8.2rem;
	margin-top: 4rem;
	padding: 1.4rem 2rem 1.4rem 4rem;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	border: .2rem solid var(--lp-red);
	border-radius: 99rem;
	background: var(--lp-red);
	color: var(--lp-white);
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color .5s ease, color .5s ease;
}

.lp-button__icon {
	display: grid;
	width: 4rem;
	height: 4rem;
	margin-left: auto;
	place-items: center;
	border-radius: 50%;
	background: var(--lp-white);
	color: var(--lp-red);
	font-size: 3rem;
	line-height: 1;
	transition: background-color .5s ease, color .5s ease, transform .5s ease;
}

.lp-button:hover,
.lp-button:focus-visible {
	background: var(--lp-white);
	color: var(--lp-red);
}

.lp-button:hover .lp-button__icon,
.lp-button:focus-visible .lp-button__icon {
	background: var(--lp-red);
	color: var(--lp-white);
	transform: translateX(.3rem);
}

.lp-button--outline {
	background: var(--lp-white);
	color: var(--lp-red);
}

.lp-button--outline:hover,
.lp-button--outline:focus-visible {
	background: var(--lp-red);
	color: var(--lp-white);
}

.lp-button--outline:hover .lp-button__icon,
.lp-button--outline:focus-visible .lp-button__icon {
	background: var(--lp-white);
	color: var(--lp-red);
}

.lp-issue,
.lp-features {
	background: var(--lp-greige-light-2);
}

.lp-chart-grid {
	display: grid;
	gap: 11rem;
}

.lp-chart-card {
	padding: clamp(3rem, 5vw, 6rem);
	border-radius: 2.4rem;
	background: var(--lp-white);
}

.lp-chart-card h3 {
	max-width: 90rem;
	margin: 0 auto 3rem;
	font-size: clamp(1.8rem, 2vw, 2.5rem);
	line-height: 1.8;
	text-align: center;
}

.lp-question {
	margin: 0 auto 3rem;
	padding: 2.2rem 3rem;
	background: var(--lp-greige);
	font-weight: 700;
	text-align: center;
}

.lp-question::before {
	display: inline-grid;
	width: 4rem;
	height: 4rem;
	margin-right: 1.5rem;
	place-items: center;
	border-radius: 50%;
	background: #9d9285;
	color: var(--lp-white);
	content: "Q";
}

.lp-media--chart {
	min-height: 44rem;
	border-radius: 0;
	background: #fafafa;
}

.lp-concept {
	position: relative;
}

.lp-concept__deco {
	position: absolute;
	z-index: 1;
	top: 0rem;
	right: calc((100% - var(--lp-width)) / 2 + -3rem);
	width: 34.3rem !important;
	pointer-events: none;
}

.lp-chart-notes {
	margin-top: 1.5rem;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.65;
}

.lp-chart-notes p {
	margin: 0;
}

.lp-chart-notes__row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 3rem;
}

.lp-chart-notes__sample {
	flex: 0 0 auto;
	text-align: right;
}

.lp-story {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: 4rem 7rem;
}

.lp-story__text {
	padding: 1rem;
}

.lp-feature-list {
	display: grid;
	gap: 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lp-feature-card {
	display: grid;
	grid-template-columns: 9rem 34rem 1fr;
	align-items: stretch;
	overflow: hidden;
	border: .2rem solid var(--lp-red);
	border-radius: 1.8rem;
	background: var(--lp-white);
}

.lp-feature-card__number {
	display: grid;
	place-items: center;
	background: var(--lp-red);
	color: var(--lp-white);
	font-size: 2.2rem;
	font-weight: 700;
}

.lp-feature-card div {
	display: contents;
}

.lp-feature-card h3,
.lp-feature-card p {
	margin: 0;
	padding: 2.5rem 3rem;
}

.lp-feature-card h3 {
	display: flex;
	align-items: center;
	color: var(--lp-red);
	font-size: 1.9rem;
	line-height: 1.6;
}

.lp-feature-card p {
	border-left: .1rem solid var(--lp-greige);
}

.lp-business-grid {
	display: grid;
	grid-template-columns: minmax(0, .7fr) minmax(0, 1.2fr);
	align-items: center;
	gap: 4rem 7rem;
}

.lp-business-grid p{
    padding: 0 6rem 0 0;
    font-weight: 400;
}

.lp-media--video a {
	display: block;
	position: absolute;
	inset: 0;
}

.lp-contact {
	display: flex;
	margin: 7rem 0 0;
	padding: 2.2rem 3rem;
	align-items: center;
	justify-content: center;
	gap: 1.4rem;
	background: var(--lp-greige-light-2);
	color: var(--lp-text);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: .2s;
}

.lp-contact:hover,
.lp-contact:focus-visible {
	color: var(--lp-red);
	text-decoration: underline;
}

.lp-button--large {
	width: min(100%, 58rem);
	margin: 7rem auto 0;
}

.lp-only-sp {
	display: none;
}

.js .lp-reveal {
	opacity: 0;
	transform: translateY(4rem);
	transition: opacity 1s ease, transform 1s ease;
}

.js .lp-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 960px) {
	.lp-container {
		width: min(calc(100% - 4rem), var(--lp-width));
	}

	.lp-feature-card {
		grid-template-columns: 7rem 28rem 1fr;
	}
}

@media (max-width: 767px) {
	.engagement-card-lp {
		font-size: 1.5rem;
		line-height: 1.9;
	}

	.lp-container {
		width: calc(100% - 4rem);
	}

	.lp-section {
		padding: 7rem 0 0;
	}

	.lp-heading {
		margin-bottom: 6rem;
		font-size: 2.2rem;
	}
	
	#product-title.lp-heading {
    margin-bottom: 2rem;
	}

	#business-title.lp-heading {
    margin-bottom: 2rem;
	}

	.lp-intro .lp-heading {
		font-size: 2.2rem;
		white-space: normal;
		text-align: center;
	}

	.lp-hero {
		min-height: 58rem;
	}

	.lp-hero__copy {
		right: 0rem;
		bottom: 4rem;
		left: 0rem;
		text-align: center;
		max-width: unset;
	}

	.lp-hero__copy p {
		font-size: 1.6rem;
	}

	.lp-hero__copy h1 {
		font-size: 3.2rem;
	}

	.lp-split,
	.lp-story,
	.lp-business-grid {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.lp-business-grid{
    gap: 2rem;
}

	.lp-split--reverse .lp-split__content,
	.lp-split--reverse .lp-media {
		order: initial;
	}

	.lp-story .lp-media{
    margin: 0;
}

	.lp-media {
		min-height: 20rem;
		border-radius: 1.6rem;
		margin: 3rem 0 0;
	}

	.lp-button {
		min-height: 6.8rem;
		margin-inline: auto;
		padding-left: 2.6rem;
		font-size: 2rem;
	}
	.lp-business-grid p{
    padding: 0;
}

	.lp-button__icon {
		width: 3.4rem;
		height: 3.4rem;
		font-size: 2.4rem;
	}

	.lp-lead {
		font-size: 1.6rem;
		line-height: 2.05;
	}

	.lp-chart-card {
		padding: 3rem 2rem;
	}

	.lp-chart-card h3 {
		font-size: 1.6rem;
	}

	.lp-question {
		padding: 2rem 1.5rem;
	}

	.lp-question::before {
		display: grid;
		margin: 0 auto 1.5rem;
	}

	.lp-media--chart {
		min-height: 33rem;
	}

	.lp-feature-card {
		grid-template-columns: 5.5rem 1fr;
	}

	.lp-feature-card__number {
		grid-row: 1 / 3;
		font-size: 1.8rem;
	}

	.lp-feature-card div {
		display: block;
	}

	.lp-feature-card h3,
	.lp-feature-card p {
		padding: 2rem;
	}

	.lp-feature-card h3 {
		font-size: 1.7rem;
	}

	.lp-feature-card p {
		border-top: .1rem solid var(--lp-greige);
		border-left: 0;
	}

	.lp-contact {
		align-items: center;
		font-size: 1.3rem;
		word-break: break-all;
		line-height: 160%;
		padding: 1.2rem 3rem;
		margin: 4rem 0 7rem;
	}

	.lp-only-pc {
		display: none;
	}

	.lp-only-sp {
		display: initial;
	}
}

/* Figma再照合後の最終補正 */
.lp-chart-label {
	width: fit-content;
	margin: 0 0 2.5rem;
	padding: .8rem 2.4rem;
	background: #b4d2dc;
	color: var(--lp-text);
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.5;
}

.lp-concept .lp-container,
.lp-product .lp-container {
	position: relative;
}

.lp-concept .lp-container::before,
.lp-product .lp-container::before {
	display: block;
	width: .2rem;
	height: 13.7rem;
	margin: -2rem auto 10rem;
	background: var(--lp-red);
	content: "";
}

.lp-features {
	clip-path: none !important;
}

.lp-features::before,
.lp-features::after {
	position: absolute;
	z-index: 0;
	right: 0;
	left: 0;
	height: 11rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	content: "";
	pointer-events: none;
}

.lp-features::before {
	top: -1px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1512 110' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 0H1512V76C1255 123 1042 135 817 108C585 80 412 38 224 45C139 48 67 64 0 80V0Z'/%3E%3C/svg%3E");
}

.lp-features::after {
	bottom: -1px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1512 110' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 72C173 35 347 14 519 23C734 34 869 79 1061 91C1224 102 1368 91 1512 60V110H0V72Z'/%3E%3C/svg%3E");
}

.lp-features .lp-container {
	position: relative;
	z-index: 1;
}

.lp-feature-card p {
	position: relative;
	border-left: 0;
	font-size: 1.35rem;
	line-height: 1.85;
}

.lp-feature-card p::before {
	position: absolute;
	top: 2.2rem;
	bottom: 2.2rem;
	left: 0;
	width: .1rem;
	background: #cfc6bd;
	content: "";
}

a.lp-button {
	width: min(100%, 38rem);
	min-height: 6.8rem;
	padding: 1rem 1.4rem 1rem 3rem;
	color: var(--lp-white) !important;
	font-size: 2rem;
	box-shadow: none;
}

a.lp-button .lp-button__icon {
	width: 3.4rem;
	height: 3.4rem;
	font-size: 2.5rem;
}

a.lp-button:hover,
a.lp-button:focus-visible {
	color: var(--lp-red) !important;
}

a.lp-button--outline {
	background: var(--lp-white);
	color: var(--lp-red) !important;
}

a.lp-button--outline:hover,
a.lp-button--outline:focus-visible {
	background: var(--lp-red);
	color: var(--lp-white) !important;
}

a.lp-button--large {
	width: min(100%, 48rem);
}

@media (min-width: 961px) {
	#l-header,
	#l-header .header-pc,
	#l-header .pc-inner {
		height: 16rem !important;
		min-height: 16rem !important;
	}

	#l-header .nav-btn {
		font-size: 1.5rem !important;
		font-weight: 400 !important;
	}

	#l-header .icons-btn,
	#l-header .btn-txt {
		font-size: 1.3rem !important;
		font-weight: 400 !important;
	}

	.lp-hero__copy p {
		display: block;
		font-size: 2rem;
		font-weight: 400;
	}

	.lp-chart-card {
		position: relative;
	}

	.lp-feature-card {
		grid-template-columns: 9rem 31rem 1fr;
	}

	.lp-feature-card h3 {
		font-size: 1.75rem;
	}
}

@media (max-width: 767px) {
	.lp-chart-notes {
		margin-top: 1.5rem;
		font-size: 1.05rem;
		line-height: 1.7;
	}

	.lp-chart-notes__row {
		display: block;
	}

	.lp-chart-notes__sample {
		margin-top: .5rem !important;
		text-align: left;
		margin: 0.5rem 0 !important;
	}

	.lp-concept__deco {
		top: 3rem;
		right: 2.5rem;
		width: 17.15rem !important;
	}

	#l-header,
	#l-header .header-sp,
	#l-header .sp-inner {
		height: 7.8rem !important;
		min-height: 7.8rem !important;
	}

	.lp-hero__copy p {
		display: block;
		margin-bottom: .8rem;
		font-size: 1.4rem;
		font-weight: 500;
	}

	.lp-chart-label {
		margin-bottom: 2rem;
		padding: .7rem 1.2rem;
		font-size: 1.4rem;
	}

	.lp-concept .lp-container::before,
	.lp-product .lp-container::before {
		height: 6rem;
		margin: -1rem auto 3rem;
		display: none;
	}

	.lp-features::before,
	.lp-features::after {
		height: 9rem;
	}

	.lp-features::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 402 90' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 0H402V68C318 59 246 41 174 29C106 18 49 22 0 31V0Z'/%3E%3C/svg%3E");
	}

	.lp-features::after {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 402 90' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 73C83 67 151 53 218 39C286 25 343 18 402 21V90H0V73Z'/%3E%3C/svg%3E");
	}

	.lp-feature-card p {
		font-size: 1.4rem;
		line-height: 1.85;
	}

	.lp-feature-card p::before {
		display: none;
	}

	a.lp-button,
	a.lp-button--large {
		width: min(100%, 26rem);
		min-height: 5.2rem;
		padding: .8rem 1rem .8rem 2rem;
		font-size: 1.5rem;
	}

	a.lp-button .lp-button__icon {
		width: 2.8rem;
		height: 2.8rem;
		font-size: 2rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.engagement-card-lp *,
	.engagement-card-lp *::before,
	.engagement-card-lp *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}

	.js .lp-reveal {
		opacity: 1;
		transform: none;
	}
}

/* デザインカンプ（PC 1512px / SP 402px）との位置・サイズ調整 */
#l-header,
#l-footer {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
	font-weight: 400;
}

#l-header .nav-btn,
#l-header .icons-btn,
#l-header .btn-txt,
#l-header button,
#l-footer .list-sub,
#l-footer .link-inner,
#l-footer .item-wrap {
	font-weight: 400 !important;
}

@media (min-width: 961px) {
	#l-header,
	#l-header .header-pc,
	#l-header .pc-inner {
		min-height: 16rem;
	}

	#l-header .pc-inner {
		display: flex;
		align-items: center;
	}

	#l-header .nav-btn,
	#l-header .icons-btn {
		letter-spacing: 0;
	}

	.lp-hero {
		min-height: 82rem;
	}

	.lp-hero__copy {
		bottom: 10rem;
	}

	.lp-hero__copy p {
		display: none;
	}

	.lp-hero__copy h1 {
		font-size: 4.2rem;
	}

	.lp-intro {
		display: flex;
		min-height: 65rem;
		align-items: center;
	}

	.lp-issue {
		min-height: 250rem;
		padding: 5rem 0 7rem;
		background: var(--lp-white);
	}

	.lp-issue > .lp-container {
		width: min(calc(100% - 10rem), 141.2rem);
		min-height: 238rem;
		padding: 11rem 18rem;
		border-radius: 2.4rem;
		background: var(--lp-greige-light-2);
		letter-spacing: 0.01em;
	}

	.lp-chart-card {
		padding: 4rem 7rem 5rem;
	}

	.lp-media--chart {
		min-height: 68rem;
	}

	.lp-concept {
		display: flex;
		min-height: auto;
		align-items: center;
		padding: 2rem 0 10rem;
	}

	.lp-concept .lp-heading {
		margin-bottom: 8rem;
	}

	.lp-story {
		gap: 8rem 9rem;
	}

	.lp-features {
		display: flex;
		position: relative;
		min-height: 133.4rem;
		align-items: center;
		clip-path: polygon(0 8%, 16% 3%, 39% 6%, 62% 2%, 82% 5%, 100% 0, 100% 92%, 84% 96%, 60% 93%, 38% 98%, 17% 94%, 0 100%);
	}

	.lp-feature-list {
		gap: 3rem;
	}

	.lp-feature-card {
		min-height: 18rem;
	}

	.lp-product {
		display: flex;
		min-height: 85rem;
		align-items: center;
		padding: 0;
	}

	.lp-business {
		display: flex;
		min-height: 130rem;
		align-items: center;
	}
}

@media (max-width: 767px) {
	#l-header,
	#l-header .header-sp,
	#l-header .sp-inner {
		min-height: 7.8rem;
	}

	#l-header .sp-inner {
		display: flex;
		align-items: center;
	}

	.lp-hero {
		min-height: 52.3rem;
	}

	.lp-hero__copy {
		top: 5rem;
	}

	.lp-hero__copy p {
		display: none;
	}

	.lp-hero__copy h1 {
		font-size: 2.3rem;
		font-weight: 600;
	}

	.lp-intro {
		min-height: unset;
		padding: 3rem 0 7rem;
	}

	.lp-issue {
		min-height: 350rem;
		padding: 6rem 0;
		background: var(--lp-greige-light-2);
	}

	.lp-issue > .lp-container {
		width: 100%;
		padding-inline: 2rem;
	}

	.lp-chart-grid {
		gap: 7rem;
	}

	.lp-chart-card {
		padding: 3rem 1.8rem 4rem;
	}

	.lp-media--chart {
		min-height: 82rem;
	}

	.lp-concept {
		min-height: 115rem;
		padding: 18rem 0 7rem;
	}

	.lp-concept .lp-heading {
		margin-bottom: 5rem;
	}

	.lp-features {
		display: flex;
		min-height: 192rem;
		align-items: center;
		clip-path: polygon(0 3%, 28% 1%, 58% 3%, 100% 0, 100% 97%, 70% 99%, 38% 97%, 0 100%);
		padding: 0rem 0 0rem;
	}

	.lp-feature-list {
		gap: 3rem;
	}

	.lp-feature-card {
		min-height: 43rem;
	}

	.lp-product {
		min-height: unset;
	}

	.lp-business {
		min-height: unset;
		padding: 8rem 0;
	}

	#l-footer,
	#l-footer button,
	#l-footer a {
		font-weight: 400 !important;
	}
}

/* 最終レイアウト補正（既存メディアクエリより後で適用） */
.lp-features {
	position: relative;
	clip-path: none !important;
}

@media (min-width: 961px) {
	.lp-hero__copy p {
		display: block;
	}
}

@media (max-width: 767px) {
	.lp-hero__copy p {
		display: block;
	}

	.lp-issue {
		min-height: 300rem;
	}
}

/* 参考サイトの共通ヘッダー／フッターを上書きしない */
#l-header,
#l-footer {
	font-family: inherit !important;
	font-weight: inherit;
}

#l-header .nav-btn,
#l-header .icons-btn,
#l-header .btn-txt,
#l-header button,
#l-footer .list-sub,
#l-footer .link-inner,
#l-footer .item-wrap,
#l-footer button,
#l-footer a {
	font-weight: inherit !important;
}

@media (min-width: 961px) {
	#l-header,
	#l-header .header-pc,
	#l-header .pc-inner {
		height: auto !important;
		min-height: 0 !important;
	}

	#l-header .pc-inner {
		display: grid;
		align-items: initial;
	}

	#l-header .nav-btn {
		font-size: 1.8rem !important;
	}
}

@media (max-width: 960px) {
	#l-header,
	#l-header .header-sp,
	#l-header .sp-inner {
		height: auto !important;
		min-height: 0 !important;
	}
}

/* 調査グラフ：ラベル、要約、質問、グラフをデザインどおりに分離 */
.lp-chart-card {
	padding: 0 !important;
	overflow: visible;
	border-radius: 0;
	background: transparent;
}

.lp-chart-label {
	width: fit-content;
	min-width: 46%;
	max-width: 80%;
	margin: 0;
	padding: 1.2rem 3.5rem;
	border-radius: 0 3rem 0 0;
	background: #afd1dc;
	font-size: 2.2rem;
}

.lp-issue .lp-lead {
	max-width: none;
	font-size: 2.5rem;
	line-height: 1.9;
	text-align: left;
}

.lp-chart-card h3 {
	max-width: none;
	min-height: 20rem;
	margin: 0;
	padding: 4.5rem 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--lp-white);
	font-size: 2.5rem;
	line-height: 1.65;
}

.lp-question {
	min-height: 16rem;
	margin: 0;
	padding: 4rem 14rem 4rem 19rem;
	position: relative;
	display: flex;
	align-items: center;
	background: transparent;
	font-size: 2.5rem;
	line-height: 1.8;
	text-align: left;
}

.lp-question::before {
	position: absolute;
	left: 11rem;
	width: 5.4rem;
	height: 5.4rem;
	margin: 0;
	font-size: 2.8rem;
}

.lp-media--chart {
	border-radius: 2.4rem;
	background: var(--lp-white);
}

/* 特徴カード：アイコン／番号／見出し／本文の4区画 */
.lp-feature-card {
	grid-template-columns: 6.5rem 6.5rem 32rem minmax(0, 1fr) !important;
	min-height: 18rem;
}

.lp-feature-card__icon,
.lp-feature-card__number {
	display: grid;
	place-items: center;
}

.lp-feature-card__icon {
	background: var(--lp-white);
	color: var(--lp-red);
	font-size: 3.2rem;
}

.lp-feature-card__number {
	grid-row: auto;
	font-size: 2.8rem;
}

.lp-feature-card h3 {
	justify-content: left;
	padding: 2.5rem 4.3rem;
	font-size: 1.9rem;
	text-align: center;
	text-align: left;
}

.lp-feature-card p {
	padding: 2.8rem 6rem;
	font-size: 1.45rem;
	line-height: 1.9;
}

.lp-feature-card p::before {
	top: 3rem;
	bottom: 3rem;
	width: .2rem;
	background: var(--lp-red);
}

@media (max-width: 767px) {
	.lp-chart-label {
		width: 82%;
		min-width: 0;
		max-width: none;
		padding: .8rem 1.5rem;
		border-radius: 0 1.8rem 0 0;
		font-size: 1.25rem;
	}

	.lp-issue .lp-lead {
		font-size: 1.55rem;
		line-height: 2;
		text-align: center;
		margin: 0 auto 3rem;
	}

	.lp-chart-card h3 {
		min-height: 0;
		padding: 2.5rem 2rem;
		font-size: 1.45rem;
		line-height: 1.8;
	}

	.lp-question {
		min-height: 0;
		padding: 9.5rem 0 0 0;
		font-size: 1.6rem;
		line-height: 1.8;
		font-weight: 500;
	}

	.lp-question::before {
		left: 0rem;
		right: 0rem;
		width: 4rem;
		height: 4rem;
		font-size: 2rem;
		margin: auto;
		top: 4rem;
		font-weight: 600;
	}

	.lp-media--chart {
		border-radius: 1.6rem;
	}

	.lp-feature-card {
		grid-template-columns: 5rem 5rem minmax(0, 1fr) !important;
		min-height: 0;
	}

	.lp-feature-card__icon,
	.lp-feature-card__number {
		grid-row: 1;
	}

	.lp-feature-card__icon {
		font-size: 2.5rem;
	}

	.lp-feature-card__number {
		font-size: 2rem;
	}

	.lp-feature-card h3 {
		grid-column: 3;
		padding: 1.8rem 1.5rem;
		font-size: 1.45rem;
		text-align: left;
	}

	.lp-feature-card p {
		grid-column: 1 / -1;
		padding: 2rem;
		border-top: .1rem solid var(--lp-red);
		font-size: 1.35rem;
	}
}

/* SPデザイン再現：添付カンプの積み順と文字組み */
@media (min-width: 768px) {
	.lp-story > :nth-child(3) {
		grid-column: 2;
		grid-row: 2;
	}

	.lp-story > :nth-child(4) {
		grid-column: 1;
		grid-row: 2;
	}
}

@media (max-width: 767px) {
	.lp-chart-label {
		width: 100%;
		padding-block: 1rem;
		text-align: center;
		font-weight: 400;
	}

	.lp-chart-card h3 {
		padding: 1rem 2rem;
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1.6;
	}

	.lp-concept .lp-heading,
	.lp-features .lp-heading {
		font-size: 2.1rem;
	}

	.lp-concept .lp-heading {
		margin-bottom: 4.5rem;
	}

	.lp-story {
		row-gap: 3.5rem;
	}

	.lp-story__text {
		padding: 0 .5rem;
	}

	.lp-story__text p {
		margin: 0;
		font-size: 1.45rem;
		line-height: 1.95;
		font-weight: 400;
	}

	.lp-story > :nth-child(3) {
		margin-top: 2.5rem;
	}

	.lp-feature-card {
		display: block;
		border-radius: 1.8rem;
	}

	.lp-feature-card__icon {
		display: grid;
		height: 6rem;
		font-size: 3rem;
	}

	.lp-feature-card__number {
		display: grid;
		height: 4rem;
		font-size: 2.2rem;
	}

	.lp-feature-card h3 {
		position: relative;
		display: block;
		padding: 2rem 3rem 1.8rem;
		font-size: 1.8rem;
		line-height: 1.65;
		text-align: left;
		font-weight: 600;
	}

	.lp-feature-card h3::after {
		position: absolute;
		right: 3rem;
		bottom: 0;
		left: 3rem;
		height: .1rem;
		background: var(--lp-red);
		content: "";
	}

	.lp-feature-card p {
		display: block;
		padding: 2rem 3rem 3.2rem;
		border-top: 0;
		font-size: 1.45rem;
		line-height: 1.75;
	}
}

/* 書き出し画像・アイコン反映 */
.lp-media--chart {
	min-height: 0 !important;
}

.lp-media--chart picture,
.lp-media--chart img {
	display: block;
	width: 100%;
	height: auto;
}

.lp-media--chart img {
	object-fit: contain;
}

.lp-feature-card__icon img {
	width: 3.5rem;
	height: auto;
}

.lp-features__deco {
	position: absolute;
	z-index: 1;
	height: auto;
	pointer-events: none;
}

.engagement-card-lp img.lp-features__deco--top {
	top: 2rem;
	left: max(3rem, calc((100% - var(--lp-width)) / 2 + 3rem));
	width: 22rem;
}

.engagement-card-lp img.lp-features__deco--bottom {
	right: max(5rem, calc((100% - var(--lp-width)) / 2 + 8rem));
	bottom: 4rem;
	width: 16rem;
}

.lp-contact img {
	width: 2.4rem;
	height: auto;
	flex: 0 0 auto;
}

@media (max-width: 767px) {
	.lp-feature-card__icon img {
		width: 3.2rem;
	}

	.engagement-card-lp img.lp-features__deco--top {
		top: 0.2rem;
		left: 3rem;
		width: 20rem;
	}

	.engagement-card-lp img.lp-features__deco--bottom {
		right: 6.5rem;
		bottom: 1.5rem;
		width: 8rem;
	}

	.lp-contact img {
		width: 2rem;
	}
}

/* 参考サイト .btn06 と同仕様のリンクボタン */
.engagement-card-lp a.lp-button {
	position: relative;
	display: flex;
	width: min(100%, 38rem);
	min-height: 6.8rem;
	margin-top: 4rem;
	padding: .2em 2em .2em 1.5em;
	align-items: center;
	justify-content: center;
	gap: 1em;
	border: .2rem solid #e65550;
	border-radius: 50vmin;
	background: #fff;
	box-shadow: none;
	color: #e65550 !important;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition: background-color .5s ease, color .5s ease;
}

.engagement-card-lp a.lp-button .txt {
	display: block;
}

.engagement-card-lp a.lp-button .link_ico {
	position: absolute;
	top: 50%;
	right: 1.5em;
	display: block;
	width: 1.5em;
	height: 1.5em;
	min-width: 1.5em;
	border-radius: 50%;
	background: #e65550;
	color: #fff;
	line-height: 1.5em;
	transform: translateY(-50%);
	transition: background-color .5s ease, color .5s ease;
}

.engagement-card-lp a.lp-button .link_ico::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: .42em;
	height: .42em;
	border-top: .12em solid currentColor;
	border-right: .12em solid currentColor;
	content: "";
	transform: translate(-62%, -50%) rotate(45deg);
}

.engagement-card-lp a.lp-button:hover,
.engagement-card-lp a.lp-button:focus-visible {
	background: #e65550;
	color: #fff !important;
	opacity: 1;
}

.engagement-card-lp a.lp-button:hover .link_ico,
.engagement-card-lp a.lp-button:focus-visible .link_ico {
	background: #fff;
	color: #e65550;
}

.engagement-card-lp a.lp-button--large {
	width: min(100%, 48rem);
}

@media (max-width: 767px) {
	.engagement-card-lp a.lp-button,
	.engagement-card-lp a.lp-button--large {
		width: min(100%, 34rem);
		min-height: 6.2rem;
		padding: .2em 2em .2em 1.5em;
		font-size: 1.5rem;
	}
	.engagement-card-lp a.lp-button .txt{
    font-size: 1.8rem;
}
}

/* 参考FVと同仕様のコピー・ワイプアニメーション */
.lp-hero__copy-reveal {
	position: relative;
	display: table;
	margin-left: auto;
	overflow: hidden;
	opacity: 0;
}

.lp-hero__copy-inner {
	opacity: 0;
}

.lp-hero__copy-reveal.is-animated {
	animation: lp-hero-copy-base 1s forwards;
}

.lp-hero__copy-reveal.is-animated::before {
	position: absolute;
	z-index: 3;
	inset: 0;
	background: #fff;
	content: "";
	animation: lp-hero-copy-wipe 1s forwards;
}

.lp-hero__copy-reveal.is-animated .lp-hero__copy-inner {
	animation: lp-hero-copy-appear 1s .6s forwards;
}

@keyframes lp-hero-copy-base {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes lp-hero-copy-appear {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes lp-hero-copy-wipe {
	0% {
		transform: scaleX(0);
		transform-origin: left;
	}
	50% {
		transform: scaleX(1);
		transform-origin: left;
	}
	50.001% {
		transform: scaleX(1);
		transform-origin: right;
	}
	100% {
		transform: scaleX(0);
		transform-origin: right;
	}
}

@media (max-width: 767px) {
	.lp-hero__copy-reveal {
		display: block;
		width: 100%;
		margin-right: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lp-hero__copy-reveal,
	.lp-hero__copy-inner {
		opacity: 1;
	}

	.lp-hero__copy-reveal.is-animated,
	.lp-hero__copy-reveal.is-animated::before,
	.lp-hero__copy-reveal.is-animated .lp-hero__copy-inner {
		animation: none;
	}

	.lp-hero__copy-reveal.is-animated::before {
		display: none;
	}
}

/* PC書き出し仕様：画像の表示上限と文字サイズ */
@media (min-width: 768px) {
	.lp-intro .lp-media,
	.lp-product .lp-media,
	.lp-story .lp-media {
		width: 100%;
		max-width: 57.5rem;
		justify-self: center;
	}

	.lp-media--chart {
		width: 100%;
		max-width: 105rem;
		margin-right: auto;
		margin-left: auto;
	}

	.lp-business-grid .lp-media {
		width: 100%;
		max-width: 42.7rem;
		justify-self: center;
	}

	.lp-hero__copy p {
		font-size: 2.1rem;
		font-weight: 400;
	}

	.lp-hero__copy {
		max-width: none;
	}

	.lp-hero__copy h1 {
		font-size: 5.4rem;
		font-weight: 700;
		white-space: nowrap;
		margin: 0 -0.6em 0 0;
	}

	.lp-intro .lp-heading {
		font-size: 3.5rem;
		font-weight: 600;
	}

	.lp-intro .lp-split__content p {
		font-size: 1.6rem;
		font-weight: 400;
	}

	.lp-issue .lp-lead {
		font-size: 2.1rem;
		font-weight: 400;
	}

	.lp-chart-label {
		font-size: 1.8rem;
		font-weight: 400;
	}

	.lp-chart-card h3 {
		font-size: 2.1rem;
		font-weight: 600;
	}

	.lp-question {
		font-size: 2.1rem;
		font-weight: 400;
	}

	.lp-story__text,
	.lp-story__text p {
		font-size: 1.6rem;
		font-weight: 400;
	}

	.lp-feature-card__number {
		font-size: 3.6rem;
		font-weight: 600;
	}

	.lp-feature-card h3 {
		font-size: 2.4rem;
		font-weight: 600;
	}

	.lp-feature-card p {
		font-size: 1.6rem;
		font-weight: 400;
	}

	.lp-contact {
		font-size: 1.6rem;
		font-weight: 400;
	}

	.engagement-card-lp a.lp-button {
		font-size: 2.8rem;
		font-weight: 600;
	}
}

/* ボタン：カンプの配色・寸法・配置 */
.engagement-card-lp a.lp-button {
	margin-right: auto;
	margin-left: auto;
}

.lp-intro a.lp-button,
.lp-business a.lp-button {
	background: #e65550;
	color: #fff !important;
}

.lp-intro a.lp-button .link_ico,
.lp-business a.lp-button .link_ico {
	background: #fff;
	color: #e65550;
}

.lp-intro a.lp-button:hover,
.lp-intro a.lp-button:focus-visible,
.lp-business a.lp-button:hover,
.lp-business a.lp-button:focus-visible {
	background: #fff;
	color: #e65550 !important;
}

.lp-intro a.lp-button:hover .link_ico,
.lp-intro a.lp-button:focus-visible .link_ico,
.lp-business a.lp-button:hover .link_ico,
.lp-business a.lp-button:focus-visible .link_ico {
	background: #e65550;
	color: #fff;
}

.lp-product a.lp-button {
	background: #fff;
	color: #e65550 !important;
}

.lp-product a.lp-button .link_ico {
	background: #e65550;
	color: #fff;
}

.lp-product a.lp-button:hover,
.lp-product a.lp-button:focus-visible {
	background: #e65550;
	color: #fff !important;
}

.lp-product a.lp-button:hover .link_ico,
.lp-product a.lp-button:focus-visible .link_ico {
	background: #fff;
	color: #e65550;
}

@media (min-width: 768px) {
	.lp-intro a.lp-button {
		width: min(100%, 38.9rem);
		min-height: 7.4rem;
		margin-top: 7rem;
	}

	.lp-product a.lp-button {
		width: min(100%, 47.6rem);
		min-height: 7.8rem;
		margin-top: 0;
	}

	.lp-business a.lp-button {
		width: min(100%, 45rem);
		min-height: 7.2rem;
		margin-top: 8.4rem;
	}

	.engagement-card-lp a.lp-button .link_ico {
		right: 2.4rem;
		width: 3rem;
		height: 3rem;
		min-width: 3rem;
		line-height: 3rem;
	}

	.engagement-card-lp a.lp-button .link_ico::before {
		width: .7rem;
		height: .7rem;
		border-width: .2rem .2rem 0 0;
	}
}

@media (max-width: 767px) {
	.lp-intro a.lp-button,
	.lp-product a.lp-button {
		margin-top: 5rem;
	}

	.lp-business a.lp-button {
		margin-top: 4rem;
	}
}

/* 特長セクション：PCカンプの波形・イラスト・配置 */
@media (min-width: 768px) {
	.lp-features {
		display: flex;
		width: calc(100% - 0rem);
		min-height: 147rem;
		margin-right: auto;
		margin-left: auto;
		padding: 0;
		align-items: center;
	}

	.lp-features::before,
	.lp-features::after {
		height: 20rem;
	}

	.lp-features::before {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1512 200' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 0H1512V138C1255 185 1042 210 817 188C585 160 412 90 224 98C139 102 67 120 0 138V0Z'/%3E%3C/svg%3E");
	}

	.lp-features::after {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1512 200' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' d='M0 162C190 124 380 90 560 100C790 113 930 169 1135 194C1285 212 1405 190 1512 158V200H0V162Z'/%3E%3C/svg%3E");
	}

	.lp-features .lp-container {
		width: min(calc(100% - 6rem), var(--lp-width));
		padding: 0 0 5rem;
	}

	.lp-features .lp-heading {
		margin-bottom: 10rem;
	}

	.lp-feature-list {
		gap: 5rem;
	}

	.lp-feature-card {
		min-height: 17.2rem;
		grid-template-columns: 6.5rem 6.5rem 33.4rem minmax(0, 1fr) !important;
	}

	.engagement-card-lp img.lp-features__deco--top {
		top: 5.8rem;
		left: calc((100% - var(--lp-width)) / 2 + 9.6rem);
		width: 31.3rem;
	}

	.engagement-card-lp img.lp-features__deco--bottom {
		right: calc((100% - var(--lp-width)) / 2 + 23rem);
		bottom: 10rem;
		width: 12.8rem;
	}
}

/* PC縮小表示：参考LPと同じ1920px上限で左右に余白を確保 */
@media (min-width: 768px) {
	.lp-hero {
		width: min(100%, 192rem);
		margin-right: auto;
		margin-left: auto;
	}
}

/* タブレット表示補正 */
@media (min-width: 768px) and (max-width: 1223px) {
	.lp-concept__deco {
		right: 3rem;
	}

	.engagement-card-lp img.lp-features__deco--top {
		left: 3rem;
	}

	.engagement-card-lp img.lp-features__deco--bottom {
		right: 5rem;
	}
}

@media (min-width: 768px) and (max-width: 960px) {
	.lp-hero {
		height: 68rem;
		min-height: 68rem;
	}

	.lp-hero__copy {
		right: 2.5rem;
		bottom: 6rem;
		left: 2.5rem;
		max-width: none;
		text-align: center;
	}

	.lp-hero__copy-reveal {
		margin-right: auto;
		margin-left: auto;
	}

	.lp-hero__copy h1 {
		margin: 0;
		font-size: clamp(3.2rem, 4.5vw, 3.8rem);
		white-space: nowrap;
	}

	.lp-hero__copy p {
		font-size: 1.8rem;
	}

	.lp-intro .lp-heading {
		font-size: 2.4rem;
		line-height: 1.5;
	}

	.lp-concept__deco {
		right: 3rem;
		width: 24rem !important;
	}

	.lp-features {
		min-height: 0;
		padding: 20rem 0 18rem;
	}

	.lp-features .lp-container {
		padding-bottom: 0;
	}

	.lp-features .lp-heading {
		margin-bottom: 6rem;
		font-size: 3rem;
	}

	.lp-feature-card {
		min-height: 0;
		grid-template-columns: 5.5rem 5.5rem 21rem minmax(0, 1fr) !important;
	}

	.lp-feature-card h3 {
		padding: 2rem;
		font-size: 1.8rem;
	}

	.lp-feature-card p {
		padding: 2rem;
		font-size: 1.4rem;
		line-height: 1.85;
	}

	.lp-feature-card p::before {
		top: 2rem;
		bottom: 2rem;
	}

	.engagement-card-lp img.lp-features__deco--top {
		left: 3rem;
	}

	.engagement-card-lp img.lp-features__deco--bottom {
		right: 5rem;
		bottom: 5rem;
	}
}

/* タブレット：PCとSPの中間サイズとして文字組み・余白・装飾を最適化 */
@media (min-width: 768px) and (max-width: 1100px) {
	.engagement-card-lp {
		font-size: 1.4rem;
		line-height: 1.85;
	}

	.lp-container,
	.lp-features .lp-container {
		width: min(calc(100% - 6rem), var(--lp-width));
	}

	.lp-section {
		padding: 7rem 0;
	}

	.lp-hero {
		height: 60rem;
		min-height: 60rem;
	}

	.lp-hero__copy {
		bottom: 5rem;
	}

	.lp-intro,
	.lp-product,
	.lp-business {
		display: block;
		min-height: 0;
	}

	.lp-intro {
		padding: 8rem 0;
	}

	.lp-heading {
		margin-bottom: 6rem;
		font-size: 2.6rem;
	}

	.lp-only-pc {
		display: none;
	}

	.lp-hero__copy h1 {
		font-size: 3.4rem;
	}

	.lp-hero__copy p {
		font-size: 1.6rem;
	}

	.lp-split {
		gap: 4rem;
	}

	.lp-intro .lp-heading {
		font-size: 2.3rem;
	}

	.lp-intro .lp-split__content p,
	.lp-story__text,
	.lp-story__text p,
	.lp-business-grid p {
		font-size: 1.4rem;
	}

	.lp-issue {
		min-height: 0;
		padding: 0 0 7rem;
	}

	.lp-issue > .lp-container {
		width: min(calc(100% - 6rem), var(--lp-width));
		min-height: 0;
		padding: 6rem 5rem;
		border-radius: 2rem;
	}

	.lp-issue .lp-lead {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.lp-chart-grid {
		gap: 8rem;
	}

	.lp-chart-label {
		padding: 1rem 2.5rem;
		font-size: 1.6rem;
	}

	.lp-chart-card h3 {
		min-height: 14rem;
		padding: 3rem 4rem;
		font-size: 1.8rem;
	}

	.lp-question {
		min-height: 11rem;
		padding: 2.5rem 5rem 2.5rem 10rem;
		font-size: 1.7rem;
	}

	.lp-question::before {
		left: 3rem;
		width: 4.5rem;
		height: 4.5rem;
		font-size: 2.2rem;
	}

	.lp-chart-notes {
		font-size: 1.2rem;
	}

	.lp-story {
		gap: 3rem 4rem;
	}

	.lp-concept {
		display: block;
		min-height: 0;
		padding: 5rem 0 9rem;
	}

	.lp-concept .lp-container::before,
	.lp-product .lp-container::before {
		height: 6rem;
		margin: 0 auto 3.5rem;
	}

	.lp-concept .lp-heading {
		margin-bottom: 6rem;
	}

	.lp-concept__deco {
		top: 1.5rem;
		right: 3rem;
		width: 24rem !important;
	}

	.engagement-card-lp a.lp-button,
	.engagement-card-lp a.lp-button--large {
		width: min(100%, 30rem);
		min-height: 5.6rem;
		padding: .2em 2.6em .2em 1.3em;
		font-size: 1.7rem;
	}

	.engagement-card-lp a.lp-button .txt {
		font-size: inherit;
		white-space: nowrap;
	}

	.engagement-card-lp a.lp-button .link_ico {
		right: 1.5rem;
		width: 2.4rem;
		height: 2.4rem;
		min-width: 2.4rem;
		line-height: 2.4rem;
	}

	.lp-intro a.lp-button {
		margin-top: 4rem;
	}

	.lp-product a.lp-button {
		margin-top: 3rem;
	}

	.lp-business a.lp-button {
		margin-top: 5rem;
	}

	.lp-features {
		display: block;
		min-height: 0;
		padding: 25rem 0 20rem;
	}

	.lp-features .lp-container {
		padding-bottom: 0;
	}

	.lp-features .lp-heading {
		margin-bottom: 5rem;
		font-size: 2.4rem;
		white-space: nowrap;
	}

	.lp-feature-list {
		gap: 3rem;
	}

	.lp-feature-card {
		grid-template-columns: 4.8rem 4.8rem 22rem minmax(0, 1fr) !important;
	}

	.lp-feature-card__icon img {
		width: 2.6rem;
	}

	.lp-feature-card__number {
		font-size: 2.4rem;
	}

	.lp-feature-card h3 {
		padding: 1.8rem 1.5rem;
		font-size: 1.7rem;
		line-height: 1.6;
		white-space: normal;
	}

	.lp-feature-card h3 br {
		display: none;
	}

	.lp-feature-card p {
		padding: 1.8rem 2rem;
		font-size: 1.3rem;
		line-height: 1.75;
		display: flex;
		align-items: center;
	}

	.lp-feature-card p::before {
		top: 1.8rem;
		bottom: 1.8rem;
	}

	.engagement-card-lp img.lp-features__deco--top {
		top: 3rem;
		left: 4rem;
		width: 24rem;
	}

	.engagement-card-lp img.lp-features__deco--bottom {
		right: 5rem;
		bottom: 3rem;
		width: 12rem;
	}

	.lp-product .lp-heading,
	.lp-business .lp-heading {
		margin-bottom: 6rem;
	}

	.lp-product {
		padding: 5rem 0 9rem;
	}

	.lp-business {
		padding: 9rem 0 10rem;
	}

	.lp-business-grid {
		grid-template-columns: minmax(0, 34rem) minmax(0, 1fr);
		gap: 3rem 4rem;
	}

	.lp-business-grid .lp-media {
		width: 100%;
		max-width: 34rem;
		min-height: 0;
		margin: 0;
		aspect-ratio: 854 / 498;
	}

	.lp-business-grid .lp-media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.lp-business-grid p {
		margin: 0;
		padding-right: 0;
	}

	.lp-contact {
		margin-top: 5rem;
		padding: 1.5rem 2rem;
		font-size: 1.35rem;
	}
}

/* タブレット小：824px前後専用（768px〜900px） */
@media (min-width: 768px) and (max-width: 900px) {
	.lp-concept {
		padding: 4rem 0 2rem;
	}

	.lp-concept .lp-container::before,
	.lp-product .lp-container::before {
		height: 4rem;
		margin: 0 auto 2.5rem;
	}

	.lp-concept__deco {
		top: 3rem;
		right: 3rem;
		width: 16rem !important;
	}

	.lp-features {
		padding: 25rem 0 0;
	}

	.lp-features .lp-container {
		padding-bottom: 19rem;
	}

	.lp-feature-card {
		grid-template-columns: 4.8rem 4.8rem 18rem minmax(0, 1fr) !important;
	}

	.lp-feature-card h3 {
		font-size: 1.5rem;
		line-height: 1.65;
	}

	.lp-feature-card p {
		font-size: 1.15rem;
	}

	.engagement-card-lp img.lp-features__deco--bottom {
		right: 11.5rem;
		bottom: 3rem;
		width: 8rem;
	}

	.lp-product {
		padding: 0 0 4rem;
	}

	.lp-business {
		padding: 5rem 0 8rem;
	}

	.lp-product .lp-heading,
	.lp-business .lp-heading {
		margin-bottom: 4rem;
	}
}

/* タブレット大：1024px前後専用（901px〜1100px） */
@media (min-width: 901px) and (max-width: 1100px) {
	.lp-concept {
		padding: 5rem 0 5rem;
	}
	
	.lp-issue{
    padding: 7rem 0 1rem;
	}

	.engagement-card-lp img.lp-features__deco--bottom{
    right: 13rem;
    bottom: 3rem;
    width: 9rem;
	}

	.lp-intro{
    padding: 8rem 0 0;
}

	.lp-concept .lp-container::before,
	.lp-product .lp-container::before {
		height: 6rem;
		margin: 0 auto 3.5rem;
	}

	.lp-feature-card {
		grid-template-columns: 4.8rem 4.8rem 22rem minmax(0, 1fr) !important;
	}

	.lp-feature-card h3 {
		font-size: 1.7rem;
		line-height: 1.6;
	}

	.lp-feature-card p {
		font-size: 1.3rem;
	}

	.lp-product {
		padding: 0 0 3rem;
	}
}

/* 調査設問アイコン：文字描画ではなく指定画像を使用 */
.lp-question::before {
	border-radius: 0;
	background: url("../images/engagement_card/i_q.webp") center / contain no-repeat;
	content: "";
}

/* SP：企業向けサポートの画像表示と余白を共通CSSに依存させない */
@media (max-width: 767px) {
	#business-title.lp-heading {
		margin-bottom: 5.2rem;
	}

	.lp-business-grid {
		gap: 0;
	}

	.lp-business-grid .lp-media {
		margin: 0;
	}

	.lp-business-grid .lp-media--video {
		min-height: 0;
		aspect-ratio: 854 / 476;
		background: var(--lp-white);
	}

	.lp-business-grid .lp-media--video img {
		object-fit: contain;
	}

	.lp-business-grid .lp-media--video + p,
	.lp-business-grid > .lp-media:not(.lp-media--video) + p {
		margin: 2.4rem 0 0;
	}

	.lp-business-grid > .lp-media:not(.lp-media--video) {
		height: 23rem;
		min-height: 23rem;
		margin-top: 4.8rem;
	}

	.lp-business-grid p {
		line-height: 2;
	}
}
