@charset "UTF-8";

/* SP */
/* 共通 */
.c-contact-lp [data-display="sp"] {
	display: block;
}

.c-contact-lp [data-display="pc"] {
	display: none;
}

.c-contact-lp,
.c-contact-lp div,
.c-contact-lp span,
.c-contact-lp h5,
.c-contact-lp h6,
.c-contact-lp p,
.c-contact-lp a {
	font-family: icon-Nissan-Global, 'ShinGoPro-Regular', 'ShinGoPro-Bold', 'Verdana', 'Hiragino Kaku Gothic ProN', 'Meiryo', 'MS PGothic', 'sans-serif' !important;
}

.c-contact-lp h1,
.c-contact-lp h1 span,
.c-contact-lp h2,
.c-contact-lp h2 span,
.c-contact-lp h3,
.c-contact-lp h4,
.c-contact-lp em,
.c-contact-lp em span,
.c-contact-lp__case ol li::before,
.c-contact-lp__case ol li::after,
.c-contact-lp__faq-title::before,
.c-contact-lp__faq-detail::before {
	font-family: icon-Nissan-Global, 'ShinGoPro-Bold', 'Verdana', 'Hiragino Kaku Gothic ProN', 'Meiryo', 'MS PGothic', 'sans-serif' !important;
}

.c-contact-lp p {
	line-height: calc(52 / 750 * 100vw);
	font-size: calc(30 / 750 * 100vw);
}

.c-contact-lp figure,
.c-contact-lp picture {
	display: block;
}

footer {
	margin-top: 0;
}

/* c-contact-lp__hero */
.c-contact-lp__hero {
	margin-top: calc(56 / 750 * 100vw);
}

.c-contact-lp__hero h1 {
	text-align: center;
	line-height: calc(96 / 750 * 100vw);
	font-size: calc(54 / 750 * 100vw);
	font-style: normal;
}

.c-contact-lp__hero h1 em {
	position: relative;
	color: #c3002f;
	font-size: calc(62 / 750 * 100vw);
	vertical-align: calc(6 / 750 * 100vw);
}

.c-contact-lp__hero h1 em::before {
	content: "";
	position: absolute;
	background: url("../IMAGES/bg-border-sp.png") repeat-x left calc(2 / 750 * 100vw)  center / calc(10 / 750 * 100vw) auto;
	width: 100%;
	height: calc(8 / 750 * 100vw);
	left: 0;
	bottom: calc(-20 / 750 * 100vw);
}

.c-contact-lp__hero h1 span {
	font-size: calc(50 / 750 * 100vw);
}

.c-contact-lp__hero p {
	text-align: center;
	margin-top: calc(38 / 750 * 100vw);
}

.c-contact-lp__hero picture {
	margin-top: calc(-50 / 750 * 100vw);
}

/* c-contact-lp__btn */
.c-contact-lp__btn {
	position: relative;
	display: block;
	color: #fff;
	background-color: #c3002f;
	border-radius: calc(50 / 750 * 100vw);
	font-size: calc(26 / 750 * 100vw);
	width: fit-content;
	margin: calc(56 / 750 * 100vw) auto 0;
	padding: calc(35 / 750 * 100vw) calc(104 / 750 * 100vw) calc(35 / 750 * 100vw) calc(132 / 750 * 100vw);
	position: relative;
	z-index: 1;
}

.c-contact-lp__btn > span,
.c-contact-lp__btn::after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	transform: translateY(-50%);
}

.c-contact-lp__btn > span {
	width: calc(37 / 750 * 100vw);
	height: calc(29 / 750 * 100vw);
	left: calc(62 / 750 * 100vw);
}

.c-contact-lp__btn > span img {
	filter: brightness(0) invert(1);
}

.c-contact-lp__btn::after {
	color: #fff;
	line-height: 1;
	border: 2px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	border-radius: 0;
	width: calc(18 / 750 * 100vw);
	height: calc(18 / 750 * 100vw);
	right: calc(63 / 750 * 100vw);
	transform: translateY(-50%) rotate(45deg);
}

.c-contact-lp__btn[data-type="floating"] {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 40px;
	width: 100%;
	max-width: calc(600 / 750 * 100vw);
	transition: 300ms cubic-bezier(0.13, 0.78, 0.38, 0.98);
	opacity: 0;
	visibility: hidden;
	border: 1px solid #fff;
	padding: calc(33 / 750 * 100vw) calc(80 / 750 * 100vw) calc(33 / 750 * 100vw) calc(132 / 750 * 100vw);
}

.c-contact-lp__btn[data-type="floating"][data-display="true"] {
	opacity: 1;
	visibility: visible;
}

/* c-contact-lp__problem */
.c-contact-lp__problem {
	margin-top: calc(40 / 750 * 100vw);
}

.c-contact-lp__problem-body {
	background-color: #c3002f;
	padding: calc(102 / 750 * 100vw) 0 0;
	clip-path: polygon(100% 0, 100% calc(100% - (63 / 750 * 100vw)), calc(528 / 750 * 100vw) calc(100% - (63 / 750 * 100vw)), 50% 100%, calc(222 / 750 * 100vw) calc(100% - (63 / 750 * 100vw)), 0 calc(100% - (63 / 750 * 100vw)), 0 0);
}

.c-contact-lp__problem picture {
	width: calc(650 / 750 * 100vw);
	margin: 0 auto;
}

/* c-contact-lp__features */
.c-contact-lp__features {
	margin-top: calc(84 / 750 * 100vw);
	padding: 0 calc(40 / 750 * 100vw);
}

.c-contact-lp__features-title {
	position: relative;
	padding-left: calc(248 / 750 * 100vw);
}

.c-contact-lp__features-title::before {
	content: "";
	position: absolute;
	background: url("../IMAGES/pict-person-01-sp.png") no-repeat left center / 100% auto;
	width: calc(242 / 750 * 100vw);
	height: calc(343 / 750 * 100vw);
	bottom: calc(7 / 750 * 100vw);
	left: calc(-15 / 750 * 100vw);
}

.c-contact-lp__features-title h2 {
	text-align: left;
	line-height: calc(82 / 750 * 100vw);
	font-size: calc(50 / 750 * 100vw);
	font-style: normal;
}

.c-contact-lp__features-title h2 em {
	position: relative;
	color: #c3002f;
}

.c-contact-lp__features-title h2 em::before {
	content: "";
	position: absolute;
	background: url("../IMAGES/bg-border-sp.png") repeat-x left calc(3 / 750 * 100vw) center / calc(10 / 750 * 100vw) auto;
	width: 100%;
	height: calc(8 / 750 * 100vw);
	left: 0;
	bottom: calc(-16 / 750 * 100vw);
}

.c-contact-lp__features-title p {
	margin-top: calc(23 / 750 * 100vw);
}

.c-contact-lp__features h3 {
	position: relative;
	text-align: center;
	line-height: calc(64 / 750 * 100vw);
	font-size: calc(28 / 750 * 100vw);
	width: fit-content;
	margin: calc(76 / 750 * 100vw) auto 0;
	padding: 0 calc(104 / 750 * 100vw) calc(10 / 750 * 100vw);
}

.c-contact-lp__features h3::before,
.c-contact-lp__features h3::after {
	content: "";
	position: absolute;
	display: block;
	background: url("../IMAGES/shape-features.png") no-repeat left center / auto 100%;
	width: calc(23 / 750 * 100vw);
	height: calc(138 / 750 * 100vw);
	top: 50%;
	transform: translateY(-50%);
}

.c-contact-lp__features h3::before {
	left: 0;
}

.c-contact-lp__features h3::after {
	right: 0;
	transform: translateY(-50%) rotate(180deg);
}

.c-contact-lp__features h3 em {
	color: #c3002f;
	font-size: calc(50 / 750 * 100vw);
}

.c-contact-lp__features h3 em span[data-style="number"] {
	font-size: calc(86 / 750 * 100vw);
}

.c-contact-lp__features h3 em span[data-style="text"] {
	font-size: calc(70 / 750 * 100vw);
}

.c-contact-lp__features ol {
	display: flex;
	flex-flow: wrap;
	gap: calc(64 / 750 * 100vw) 0;
	margin: calc(60 / 750 * 100vw) auto 0;
	padding: 0 calc(80 / 750 * 100vw);
}

.c-contact-lp__features ol figure {
	width: calc(238 / 750 * 100vw);
	margin: 0 auto;
}

.c-contact-lp__features ol h4 {
	text-align: center;
	font-size: calc(30 / 750 * 100vw);
	margin-top: calc(30 / 750 * 100vw);
}

.c-contact-lp__features ol p {
	line-height: calc(36 / 750 * 100vw);
	font-size: calc(26 / 750 * 100vw);
	margin-top: calc(36 / 750 * 100vw);
}

/* 共通 h2 */
.c-contact-lp__case h2,
.c-contact-lp__flow h2,
.c-contact-lp__faq h2 {
	text-align: center;
	line-height: calc(120 / 750 * 100vw);
	font-size: calc(80 / 750 * 100vw);
}

.c-contact-lp__case h2 span,
.c-contact-lp__flow h2 span,
.c-contact-lp__faq h2 span {
	display: block;
	line-height: 1;
	color: #c3002f;
	font-size: calc(28 / 750 * 100vw);
	margin-bottom: calc(15 / 750 * 100vw);
}

/* c-contact-lp__case */
.c-contact-lp__case {
	margin-top: calc(132 / 750 * 100vw);
}

.c-contact-lp__case-list {
	background-color: #f4f5f7;
	margin-top: calc(76 / 750 * 100vw);
	padding: calc(180 / 750 * 100vw) calc(40 / 750 * 100vw) calc(78 / 750 * 100vw);
}

.c-contact-lp__case ol {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: calc(49 / 750 * 100vw) 0;
	counter-reset: content-main-ol-default;
}

.c-contact-lp__case ol::before {
	content: "";
	position: absolute;
	display: block;
	background: url("../IMAGES/pict-person-02.png") no-repeat bottom center / 100% auto;
	width: calc(270 / 750 * 100vw);
	height: calc(245 / 750 * 100vw);
	top: calc(-245 / 750 * 100vw);
	left: calc(163 / 750 * 100vw);
}

.c-contact-lp__case ol li {
	position: relative;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	gap: calc(22 / 750 * 100vw) 0;
	border: 1px solid #e2e1e2;
	background-color: #fff;
	width: calc(630 / 750 * 100vw);
	margin: 0 auto;
	padding: calc(58 / 750 * 100vw) calc(56 / 750 * 100vw) calc(54 / 750 * 100vw);
	box-shadow: calc(13 / 750 * 100vw) calc(13 / 750 * 100vw) 0 0 rgba(34, 22, 32, 0.13);
}

.c-contact-lp__case ol li::before,
.c-contact-lp__case ol li::after {
	position: absolute;
	color: #c3002f;
	line-height: 1;
}

.c-contact-lp__case ol li::before {
	content: "CASE";
	font-size: calc(30 / 750 * 100vw);
	top: calc(68 / 750 * 100vw);
	left: calc(58 / 750 * 100vw);
}

.c-contact-lp__case ol li::after {
	content: "0" counter(content-main-ol-default, decimal);
	counter-increment: content-main-ol-default;
	font-size: calc(46 / 750 * 100vw);
	top: calc(55 / 750 * 100vw);
	left: calc(158 / 750 * 100vw);
}

.c-contact-lp__case ol h3 {
	line-height: calc(64 / 750 * 100vw);
	font-size: calc(48 / 750 * 100vw);
	min-height: calc(178 / 750 * 100vw);
	padding: calc(52 / 750 * 100vw) 0 0;
}

.c-contact-lp__case ol figure {
	width: calc(164 / 750 * 100vw);
}

.c-contact-lp__case ol p {
	line-height: calc(46 / 750 * 100vw);
	font-size: calc(26 / 750 * 100vw);
	letter-spacing: -0.02em;
	width: 100%;
}

.c-contact-lp__case-list > p {
	text-align: center;
	line-height: calc(52 / 750 * 100vw);
	font-size: calc(30 / 750 * 100vw);
	margin-top: calc(58 / 750 * 100vw);
}

/* c-contact-lp__flow */
.c-contact-lp__flow {
	margin-top: calc(140 / 750 * 100vw);
	padding: 0 calc(56 / 750 * 100vw) calc(125 / 750 * 100vw);
}

.c-contact-lp__flow ol {
	display: flex;
	flex-flow: wrap;
	gap: calc(40 / 750 * 100vw) 0;
	margin-top: calc(57 / 750 * 100vw);
}

.c-contact-lp__flow ol li {
	position: relative;
	border: 1px solid #c3002f;
	border-radius: calc(20 / 750 * 100vw);
	background-color: #fff;
	width: 100%;
}

.c-contact-lp__flow ol li:not(:first-child)::before {
	content: "";
	position: absolute;
	display: block;
	background-color: #c3002f;
	width: calc(10 / 750 * 100vw);
	height: calc(58 / 750 * 100vw);
	top: calc(-54 / 750 * 100vw);
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.c-contact-lp__flow ol li > em {
	display: block;
	text-align: center;
	line-height: 1;
	color: #fff;
	background-color: #c3002f;
	border-radius: calc(18 / 750 * 100vw) calc(18 / 750 * 100vw) 0 0;
	font-size: calc(30 / 750 * 100vw);
	min-height: calc(86 / 750 * 100vw);
	padding-top: calc(16 / 750 * 100vw);
}

.c-contact-lp__flow ol li > em span {
	line-height: 1;
	font-size: calc(54 / 750 * 100vw);
	margin-left: calc(16 / 750 * 100vw);
}

.c-contact-lp__flow ol li h3 {
	text-align: center;
	font-size: calc(30 / 750 * 100vw);
	margin-top: calc(48 / 750 * 100vw);
}

.c-contact-lp__flow ol li p {
	line-height: calc(46 / 750 * 100vw);
	font-size: calc(26 / 750 * 100vw);
	margin-top: calc(22 / 750 * 100vw);
	padding: 0 calc(60 / 750 * 100vw);
}

.c-contact-lp__flow ol li p a {
	color: #c3002f;
	text-decoration: underline;
}

.c-contact-lp__flow ol li:first-child figure {
	width: calc(349 / 750 * 100vw);
	margin: calc(50 / 750 * 100vw) auto calc(20 / 750 * 100vw);
}

.c-contact-lp__flow ol li:nth-child(2) figure {
	width: calc(300 / 750 * 100vw);
	margin: calc(6 / 750 * 100vw) auto calc(20 / 750 * 100vw);
}

.c-contact-lp__flow ol li:last-child figure {
	width: calc(419 / 750 * 100vw);
	margin: calc(24 / 750 * 100vw) auto calc(36 / 750 * 100vw);
}

.c-contact-lp__flow-body > p {
	font-size: calc(24 / 750 * 100vw);
	margin-top: calc(24 / 750 * 100vw);
}

/* c-contact-lp__faq */
.c-contact-lp__faq {
	background-color: #f9e6eb;
	padding: calc(96 / 750 * 100vw) calc(40 / 750 * 100vw) calc(80 / 750 * 100vw);
}

.c-contact-lp__faq ul {
	display: flex;
	flex-flow: wrap;
	gap: calc(40 / 750 * 100vw) 0;
	margin-top: calc(56 / 750 * 100vw);
}

.c-contact-lp__faq ul li {
	background-color: #fff;
	width: 100%;
	padding: calc(50 / 750 * 100vw) calc(40 / 750 * 100vw) calc(54 / 750 * 100vw);
}

.c-contact-lp__faq ul li > span {
	display: block;
	background-color: #f4f5f7;
	border: 1px solid #d2d2d2;
	font-size: calc(26 / 750 * 100vw);
	width: fit-content;
	margin: 0 auto;
	padding: calc(8 / 750 * 100vw) calc(28 / 750 * 100vw);
}

.c-contact-lp__faq-title,
.c-contact-lp__faq-detail {
	position: relative;
	padding: 0 0 0 calc(82 / 750 * 100vw);
}

.c-contact-lp__faq-title::before,
.c-contact-lp__faq-detail::before {
	position: absolute;
	display: block;
	color: #c3002f;
	line-height: 1;
	font-size: calc(60 / 750 * 100vw);
	top: 0;
	left: 0;
}

.c-contact-lp__faq-title {
	margin-top: calc(40 / 750 * 100vw);
}

.c-contact-lp__faq-title h3 {
	line-height: calc(44 / 750 * 100vw);
	font-size: calc(30 / 750 * 100vw);
}

.c-contact-lp__faq-detail {
	margin-top: calc(28 / 750 * 100vw);
}

.c-contact-lp__faq-detail p {
	line-height: calc(40 / 750 * 100vw);
	font-size: calc(24 / 750 * 100vw);
}

.c-contact-lp__faq-title::before {
	content: "Q";
}

.c-contact-lp__faq-detail::before {
	content: "A";
}

/* c-contact-lp__contact */
.c-contact-lp__contact {
	position: relative;
	padding: calc(136 / 750 * 100vw) calc(40 / 750 * 100vw) calc(282 / 750 * 100vw);
}

.c-contact-lp__contact::after {
	content: "";
	position: absolute;
	display: block;
	background: url("../IMAGES/pict-person-13.png") no-repeat bottom center / 100% auto;
	width: calc(630 / 750 * 100vw);
	height: calc(226 / 750 * 100vw);
	left: calc(40 / 750 * 100vw);
	bottom: 0;
}

.c-contact-lp__contact h2 {
	text-align: center;
	line-height: calc(40 / 750 * 100vw);
	font-size: calc(30 / 750 * 100vw);
}

.c-contact-lp__contact h2 em {
	display: block;
	color: #c3002f;
	line-height: calc(82 / 750 * 100vw);
	font-size: calc(50 / 750 * 100vw);
	margin-top: calc(20 / 750 * 100vw);
}

/* 中間サイズ */
@media screen and (min-width: 769px) {
	main {
		max-width: unset;
		padding: 0;
	}

	[data-display="sp"] {
		display: none !important;
	}

	[data-display="pc"] {
		display: block !important;
	}

	/* 共通 */
	.c-contact-lp p {
		line-height: 1.7;
		font-size: calc(18 / 1260 * 100vw);
	}

	/* c-contact-lp__hero */
	.c-contact-lp__hero {
		margin-top: calc(80 / 1260 * 100vw);
	}

	.c-contact-lp__hero h1,
	.c-contact-lp__hero h1 em,
	.c-contact-lp__hero h1 span {
		line-height: 1.6;
		font-size: calc(46 / 1260 * 100vw);
		vertical-align: baseline;
	}

	.c-contact-lp__hero p {
		margin-top: calc(21 / 1260 * 100vw);
	}

	/* c-contact-lp__btn */
	.c-contact-lp__btn {
		border-radius: calc(35 / 1260 * 100vw);
		font-size: calc(16 / 1260 * 100vw);
		margin-top: calc(33 / 1260 * 100vw);
		padding: calc(26 / 1260 * 100vw) calc(56 / 1260 * 100vw) calc(26 / 1260 * 100vw) calc(70 / 1260 * 100vw);
		transition: 300ms cubic-bezier(0.13, 0.78, 0.38, 0.98);
		border: 2px solid #c3002f;
	}

	.c-contact-lp__btn > span {
		width: calc(26 / 1260 * 100vw);
		height: calc(20 / 1260 * 100vw);
		left: calc(28 / 1260 * 100vw);
	}

	.c-contact-lp__btn::after {
		border-width: calc(3 / 1260 * 100vw);
		border-radius: 0;
		width: calc(14 / 1260 * 100vw);
		height: calc(14 / 1260 * 100vw);
		right: calc(26 / 1260 * 100vw);
		transition: 300ms cubic-bezier(0.13, 0.78, 0.38, 0.98);
	}

	.c-contact-lp__btn:hover {
		color: #c3002f;
		background-color: #fff;
	}

	.c-contact-lp__btn:hover > span img {
		filter: none;
	}

	.c-contact-lp__btn:hover::after {
		border-color: #c3002f;
	}

	.c-contact-lp__btn[data-type="floating"] {
		max-width: calc(350 / 1260 * 100vw);
		border-width: calc(2 / 1260 * 100vw);
		padding: calc(24 / 1260 * 100vw) calc(42 / 1260 * 100vw) calc(24 / 1260 * 100vw) calc(70 / 1260 * 100vw);
	}

	.c-contact-lp__btn[data-type="floating"]:hover {
		border-color: #c3002f;
	}

	/* c-contact-lp__hero */
	.c-contact-lp__hero picture {
		margin-top: calc(-35 / 1260 * 100vw);
	}

	.c-contact-lp__hero h1 em::before {
		content: "";
		position: absolute;
		background: url("../IMAGES/bg-border-sp.png") repeat-x left calc(3 / 1260 * 100vw) center / calc(8 / 1260 * 100vw) auto;
		width: 100%;
		height: calc(5 / 1260 * 100vw);
		left: 0;
		bottom: calc(-10 / 1260 * 100vw);
	}

	/* c-contact-lp__problem */
	.c-contact-lp__problem {
		margin-top: calc(30 / 1260 * 100vw);
	}

	.c-contact-lp__problem-body {
		padding: calc(54 / 1260 * 100vw) 0 calc(54 / 1260 * 100vw);
		clip-path: polygon(100% 0, 100% calc(100% - calc(70 / 1260 * 100vw)), calc(50% + calc(122 / 1260 * 100vw)) calc(100% - calc(70 / 1260 * 100vw)), 50% 100%, calc(50% - calc(122 / 1260 * 100vw)) calc(100% - calc(70 / 1260 * 100vw)), 0 calc(100% - calc(70 / 1260 * 100vw)), 0 0);
	}

	.c-contact-lp__problem picture {
		width: calc(1160 / 1260 * 100vw);
	}

	/* c-contact-lp__features */
	.c-contact-lp__features {
		margin: calc(65 / 1260 * 100vw) auto 0;
		padding: 0;
	}

	.c-contact-lp__features-body {
		padding-left: calc(266 / 1260 * 100vw);
	}

	.c-contact-lp__features-title {
		text-align: center;
		padding-left: 0;
	}

	.c-contact-lp__features-title::before {
		background-image: url("../IMAGES/pict-person-01-pc.png");
		width: calc(270 / 1260 * 100vw);
		height: calc(770 / 1260 * 100vw);
		bottom: auto;
		top: calc(-19 / 1260 * 100vw);
		left: calc(-203 / 1260 * 100vw);
	}

	.c-contact-lp__features-title h2 {
		font-size: calc(48 / 1260 * 100vw);
		line-height: 1.25;
		text-align: center;
	}

	.c-contact-lp__features-title h2 em::before {
		background: url("../IMAGES/bg-border-pc.png") repeat-x left calc(2 / 1260 * 100vw) center / auto calc(5 / 1260 * 100vw);
		height: calc(5 / 1260 * 100vw);
		bottom: calc(-12 / 1260 * 100vw);
	}

	.c-contact-lp__features-title p {
		font-size: calc(18 / 1260 * 100vw);
		margin-top: calc(41 / 1260 * 100vw);
	}

	.c-contact-lp__features h3 {
		font-size: calc(24 / 1260 * 100vw);
		line-height: calc(48 / 1260 * 100vw);
		margin-top: calc(47 / 1260 * 100vw);
		padding: 0 calc(72 / 1260 * 100vw);
	}

	.c-contact-lp__features h3::before, .c-contact-lp__features h3::after {
		width: calc(16 / 1260 * 100vw);
		height: calc(103 / 1260 * 100vw);
		margin-top: calc(4 / 1260 * 100vw);
	}

	.c-contact-lp__features h3 em {
		font-size: calc(40 / 1260 * 100vw);
	}

	.c-contact-lp__features h3 em span[data-style="number"] {
		font-size: calc(66 / 1260 * 100vw);
	}

	.c-contact-lp__features h3 em span[data-style="text"] {
		font-size: calc(54 / 1260 * 100vw);
	}

	.c-contact-lp__features ol {
		gap: calc(53 / 1260 * 100vw);
		justify-content: center;
		margin: calc(46 / 1260 * 100vw) auto 0;
		padding: 0;
	}

	.c-contact-lp__features ol li {
		max-width: calc(232 / 1260 * 100vw);
	}

	.c-contact-lp__features ol figure {
		width: calc(181 / 1260 * 100vw);
	}

	.c-contact-lp__features ol h4 {
		font-size: calc(20 / 1260 * 100vw);
		line-height: 1.5;
		margin-top: calc(13 / 1260 * 100vw);
	}

	.c-contact-lp__features ol p {
		line-height: 1.72;
		font-size: calc(14 / 1260 * 100vw);
		margin-top: calc(14 / 1260 * 100vw);
	}

	/* 共通 h2 */
	.c-contact-lp__case h2,
	.c-contact-lp__flow h2,
	.c-contact-lp__faq h2 {
		line-height: 1.3;
		font-size: calc(46 / 1260 * 100vw);
	}

	.c-contact-lp__case h2 span,
	.c-contact-lp__flow h2 span,
	.c-contact-lp__faq h2 span {
		font-size: calc(18 / 1260 * 100vw);
		margin-bottom: calc(41 / 1260 * 100vw);
	}

	/* c-contact-lp__case */
	.c-contact-lp__case {
		margin-top: calc(144 / 1260 * 100vw);
	}

	.c-contact-lp__case-list {
		margin-top: calc(40 / 1260 * 100vw);
		padding: calc(60 / 1260 * 100vw) 0 calc(53 / 1260 * 100vw);
	}

	.c-contact-lp__case ol {
		gap: calc(60 / 1260 * 100vw) calc(54 / 1260 * 100vw);
		margin: 0 auto;
		justify-content: center;
	}

	.c-contact-lp__case ol::before {
		width: calc(269 / 1260 * 100vw);
		height: calc(244 / 1260 * 100vw);
		top: calc(-244 / 1260 * 100vw);
		left: auto;
		right: calc(139 / 1260 * 100vw);
	}

	.c-contact-lp__case ol li {
		gap: calc(23 / 1260 * 100vw);
		width: calc(330 / 1260 * 100vw);
		margin: 0;
		padding: calc(42 / 1260 * 100vw) calc(31 / 1260 * 100vw) calc(32 / 1260 * 100vw);
		border-width: calc(2 / 1260 * 100vw);
		box-shadow: calc(13 / 1260 * 100vw) calc(13 / 1260 * 100vw) 0 0 rgba(34, 22, 32, 0.13);
		justify-content: flex-start;
		flex-wrap: initial;
		flex-direction: column;
	}

	.c-contact-lp__case ol li::before {
		font-size: calc(14 / 1260 * 100vw);
		top: calc(48 / 1260 * 100vw);
		left: calc(28 / 1260 * 100vw);
	}

	.c-contact-lp__case ol li::after {
		font-size: calc(22 / 1260 * 100vw);
		top: calc(43 / 1260 * 100vw);
		left: calc(74 / 1260 * 100vw);
	}

	.c-contact-lp__case ol h3 {
		line-height: 1.15;
		font-size: calc(26 / 1260 * 100vw);
		min-height: calc(89 / 1260 * 100vw);
		padding: calc(30 / 1260 * 100vw) 0 0;
	}

	.c-contact-lp__case ol figure {
		width: calc(85 / 1260 * 100vw);
		position: absolute;
		right: calc(28 / 1260 * 100vw);
		margin-top: calc(2 / 1260 * 100vw);
	}

	.c-contact-lp__case ol p {
		line-height: 1.75;
		font-size: calc(16 / 1260 * 100vw);
		width: 100%;
	}

	.c-contact-lp__case-list > p {
		font-size: calc(20 / 1260 * 100vw);
		margin-top: calc(67 / 1260 * 100vw);
	}

	/* c-contact-lp__flow */
	.c-contact-lp__flow {
		margin-top: calc(98 / 1260 * 100vw);
		padding: 0 0 calc(95 / 1260 * 100vw);
	}

	.c-contact-lp__flow-body {
		max-width: calc(974 / 1260 * 100vw);
		margin: 0 auto;
	}

	.c-contact-lp__flow ol {
		margin-top: calc(40 / 1260 * 100vw);
		gap: calc(40 / 1260 * 100vw);
	}

	.c-contact-lp__flow ol li {
		border-width: calc(2 / 1260 * 100vw);
		border-radius: calc(30 / 1260 * 100vw);
		padding: calc(30 / 1260 * 100vw) 0 calc(27 / 1260 * 100vw) calc(229 / 1260 * 100vw);
	}

	.c-contact-lp__flow ol li:not(:first-child)::before {
		width: calc(10 / 1260 * 100vw);
		height: calc(42 / 1260 * 100vw);
		top: calc(-42 / 1260 * 100vw);
		left: calc(82 / 1260 * 100vw);
		transform: none;
	}

	.c-contact-lp__flow ol li > em {
		border-radius: calc(28 / 1260 * 100vw) 0 0 calc(28 / 1260 * 100vw);
		font-size: calc(18 / 1260 * 100vw);
		min-height: auto;
		padding-top: 0;
		position: absolute;
		left: 0;
		top: 0;
		width: calc(172 / 1260 * 100vw);
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: calc(5 / 1260 * 100vw);
	}

	.c-contact-lp__flow ol li > em span {
		font-size: calc(46 / 1260 * 100vw);
		margin-left: 0;
	}

	.c-contact-lp__flow ol li h3 {
		font-size: calc(24 / 1260 * 100vw);
		margin-top: 0;
		text-align: left;
	}

	.c-contact-lp__flow ol li p {
		line-height: 1.7;
		font-size: calc(16 / 1260 * 100vw);
		margin-top: calc(11 / 1260 * 100vw);
		padding: 0;
	}

	.c-contact-lp__flow ol li figure {
		position: absolute;
	}

	.c-contact-lp__flow ol li:first-child figure {
		width: calc(208 / 1260 * 100vw);
		margin: 0;
		right: calc(79 / 1260 * 100vw);
		bottom: calc(5 / 1260 * 100vw);
	}

	.c-contact-lp__flow ol li:nth-child(2) figure {
		width: calc(185 / 1260 * 100vw);
		margin: 0;
		right: calc(46 / 1260 * 100vw);
		bottom: calc(2 / 1260 * 100vw);
	}


	.c-contact-lp__flow ol li:last-child figure {
		width: calc(227 / 1260 * 100vw);
		margin: 0;
		right: calc(18 / 1260 * 100vw);
		bottom: calc(4 / 1260 * 100vw);
	}

	.c-contact-lp__flow-body > p {
		font-size: calc(14 / 1260 * 100vw);
		margin-top: calc(15 / 1260 * 100vw);
	}

	/* c-contact-lp__faq */
	.c-contact-lp__faq {
		padding: calc(98 / 1260 * 100vw) 0 calc(81 / 1260 * 100vw);
	}

	.c-contact-lp__faq ul {
		gap: calc(20 / 1260 * 100vw);
		margin-top: calc(50 / 1260 * 100vw);
        justify-content: center;
        flex-direction: column;
        align-items: center;
	}

	.c-contact-lp__faq ul li {
		padding: calc(40 / 1260 * 100vw) 0 calc(35 / 1260 * 100vw) calc(132 / 1260 * 100vw);
		max-width: calc(974 / 1260 * 100vw);
	}

	.c-contact-lp__faq ul li > span {
		font-size: calc(14 / 1260 * 100vw);
		padding: calc(6 / 1260 * 100vw) calc(24 / 1260 * 100vw);
		display: inline-block;
		text-align: center;
	}

	.c-contact-lp__faq-title, .c-contact-lp__faq-detail {
		padding: 0;
	}

	.c-contact-lp__faq-title::before, .c-contact-lp__faq-detail::before {
		font-size: calc(30 / 1260 * 100vw);
		left: calc(-72 / 1260 * 100vw);
	}

	.c-contact-lp__faq-title {
		margin-top: calc(9 / 1260 * 100vw);
	}

	.c-contact-lp__faq-title::before {
		content: "Q.";
		top: calc(-5 / 1260 * 100vw);
	}

	.c-contact-lp__faq-title h3 {
		line-height: 1.6;
		font-size: calc(18 / 1260 * 100vw);
	}

	.c-contact-lp__faq-detail {
		margin-top: calc(17 / 1260 * 100vw);
	}

	.c-contact-lp__faq-detail::before {
		content: "A.";
		left: calc(-70 / 1260 * 100vw);
		top: calc(-2 / 1260 * 100vw);
	}

	.c-contact-lp__faq-detail p {
		line-height: 1.7;
		font-size: calc(16 / 1260 * 100vw);
	}

	/* c-contact-lp__contact */
	.c-contact-lp__contact {
		max-width: calc(1154 / 1260 * 100vw);
		margin: 0 auto;
		padding: calc(71 / 1260 * 100vw) 0 calc(61 / 1260 * 100vw);
	}

	.c-contact-lp__contact::before {
		content: "";
		position: absolute;
		display: block;
		background: url("../IMAGES/pict-person-13-01-pc.png") no-repeat bottom center / 100% auto;
		width: calc(179 / 1260 * 100vw);
		height: calc(319 / 1260 * 100vw);
		left: calc(74 / 1260 * 100vw);
		bottom: 0;
	}

	.c-contact-lp__contact::after {
		width: calc(291 / 1260 * 100vw);
		height: calc(323 / 1260 * 100vw);
		left: auto;
		right: 0;
		bottom: 0;
		background-image: url("../IMAGES/pict-person-13-02-pc.png");
	}

	.c-contact-lp__contact h2 {
		line-height: 1.6;
		font-size: calc(27 / 1260 * 100vw);
	}

	.c-contact-lp__contact h2 em {
		line-height: 1.6;
		font-size: calc(40 / 1260 * 100vw);
		margin-top: calc(19 / 1260 * 100vw);
	}

	.c-contact-lp__contact-body > .c-contact-lp__btn {
		margin-top: calc(42 / 1260 * 100vw);
	}
}

/* PC */
@media screen and (min-width: 1261px) {
	/* 共通 */
	.c-contact-lp p {
		line-height: 1.7;
		font-size: 18px;
	}

	/* c-contact-lp__hero */
	.c-contact-lp__hero {
		margin-top: 80px;
	}

	.c-contact-lp__hero h1,
	.c-contact-lp__hero h1 em,
	.c-contact-lp__hero h1 span {
		line-height: 1.6;
		font-size: 46px;
		vertical-align: baseline;
	}

	.c-contact-lp__hero p {
		margin-top: 21px;
	}

	/* c-contact-lp__btn */
	.c-contact-lp__btn {
		border-radius: 35px;
		font-size: 16px;
		margin-top: 33px;
		padding: 24px 56px 24px 70px;
		transition: background-color 300ms cubic-bezier(0.13, 0.78, 0.38, 0.98);
	}

	.c-contact-lp__btn:hover {
		background-color: #fff;
	}

	.c-contact-lp__btn > span {
		width: 26px;
		height: 20px;
		left: 28px;
	}

	.c-contact-lp__btn::before {
		width: 26px;
		height: 20px;
		left: 28px;
	}

	.c-contact-lp__btn::after {
		border-width: 3px;
		border-radius: 0;
		width: 14px;
		height: 14px;
		right: 26px;
	}

	.c-contact-lp__btn[data-type="floating"] {
		max-width: 350px;
		padding: 24px 42px 24px 70px;
	}

	/* c-contact-lp__hero */
	.c-contact-lp__hero picture {
		margin-top: -35px;
	}

	.c-contact-lp__hero h1 em::before {
		content: "";
		position: absolute;
		background: url("../IMAGES/bg-border-sp.png") repeat-x left 3px center / 8px auto;
		width: 100%;
		height: 5px;
		left: 0;
		bottom: -10px;
	}

	/* c-contact-lp__problem */
	.c-contact-lp__problem {
		margin-top: 30px;
	}

	.c-contact-lp__problem-body {
		padding: 54px 0 54px;
		clip-path: polygon(100% 0, 100% calc(100% - 70px), calc(50% + 122px) calc(100% - 70px), 50% 100%, calc(50% - 122px) calc(100% - 70px), 0 calc(100% - 70px), 0 0);
	}

	.c-contact-lp__problem picture {
		width: 1160px;
	}

	/* c-contact-lp__features */
	.c-contact-lp__features {
		max-width: 1260px;
		margin: 65px auto 0;
		padding: 0;
	}

	.c-contact-lp__features-body {
		padding-left: 266px;
	}

	.c-contact-lp__features-title {
		text-align: center;
		padding-left: 0;
	}

	.c-contact-lp__features-title::before {
		background-image: url("../IMAGES/pict-person-01-pc.png");
		width: 270px;
		height: 770px;
		bottom: auto;
		top: -19px;
		left: -203px;
	}

	.c-contact-lp__features-title h2 {
		font-size: 48px;
		line-height: 1.25;
		text-align: center;
	}

	.c-contact-lp__features-title h2 em::before {
		background: url("../IMAGES/bg-border-pc.png") repeat-x left center / auto 5px;
		height: 5px;
		bottom: -12px;
	}

	.c-contact-lp__features-title p {
		font-size: 18px;
		margin-top: 41px;
	}

	.c-contact-lp__features h3 {
		font-size: 24px;
		line-height: 48px;
		margin-top: 47px;
		padding: 0 72px;
	}

	.c-contact-lp__features h3::before, .c-contact-lp__features h3::after {
		width: 16px;
		height: 103px;
		margin-top: 4px;
	}

	.c-contact-lp__features h3 em {
		font-size: 40px;
	}

	.c-contact-lp__features h3 em span[data-style="number"] {
		font-size: 66px;
	}

	.c-contact-lp__features h3 em span[data-style="text"] {
		font-size: 54px;
	}

	.c-contact-lp__features ol {
		gap: 53px;
		justify-content: center;
		margin: 46px auto 0;
		padding: 0;
	}

	.c-contact-lp__features ol li {
		max-width: 232px;
	}

	.c-contact-lp__features ol figure {
		width: 181px;
	}

	.c-contact-lp__features ol h4 {
		font-size: 20px;
		line-height: 1.5;
		margin-top: 13px;
	}

	.c-contact-lp__features ol p {
		line-height: 1.72;
		font-size: 14px;
		margin-top: 7px;
	}

	/* 共通 h2 */
	.c-contact-lp__case h2,
	.c-contact-lp__flow h2,
	.c-contact-lp__faq h2 {
		line-height: 1.3;
		font-size: 46px;
	}

	.c-contact-lp__case h2 span,
	.c-contact-lp__flow h2 span,
	.c-contact-lp__faq h2 span {
		font-size: 18px;
		margin-bottom: 41px;
	}

	/* c-contact-lp__case */
	.c-contact-lp__case {
		margin-top: 144px;
	}

	.c-contact-lp__case-list {
		margin-top: 40px;
		padding: 60px 0 53px;
	}

	.c-contact-lp__case ol {
		gap: 60px 54px;
		max-width: 1260px;
		margin: 0 auto;
		justify-content: center;
	}

	.c-contact-lp__case ol::before {
		width: 269px;
		height: 244px;
		top: -244px;
		left: auto;
		right: 139px;
	}

	.c-contact-lp__case ol li {
		gap: 23px;
		width: 330px;
		margin: 0;
		padding: 42px 31px 32px;
		border-width: 2px;
		box-shadow: 13px 13px 0 0 rgba(34, 22, 32, 0.13);
		justify-content: flex-start;
		flex-wrap: initial;
		flex-direction: column;
	}

	.c-contact-lp__case ol li::before {
		font-size: 14px;
		top: 48px;
		left: 28px;
	}

	.c-contact-lp__case ol li::after {
		font-size: 22px;
		top: 43px;
		left: 74px;
	}

	.c-contact-lp__case ol h3 {
		line-height: 1.15;
		font-size: 26px;
		min-height: 89px;
		padding: 30px 0 0;
	}

	.c-contact-lp__case ol figure {
		width: 85px;
		position: absolute;
		right: 28px;
		margin-top: 2px;
	}

	.c-contact-lp__case ol p {
		line-height: 1.75;
		font-size: 16px;
		letter-spacing: -0.02em;
		width: 100%;
	}

	.c-contact-lp__case-list > p {
		font-size: 20px;
		margin-top: 67px;
	}

	/* c-contact-lp__flow */
	.c-contact-lp__flow {
		margin-top: 98px;
		padding: 0 0 95px;
	}

	.c-contact-lp__flow-body {
		max-width: 974px;
		margin: 0 auto;
	}

	.c-contact-lp__flow ol {
		margin-top: 40px;
		gap: 40px;
	}

	.c-contact-lp__flow ol li {
		border-width: 2px;
		border-radius: 30px;
		padding: 30px 0 27px 229px;
	}

	.c-contact-lp__flow ol li:not(:first-child)::before {
		width: 10px;
		height: 42px;
		top: -42px;
		left: 82px;
		transform: none;
	}

	.c-contact-lp__flow ol li > em {
		border-radius: 28px 0 0 28px;
		font-size: 18px;
		min-height: auto;
		padding-top: 0;
		position: absolute;
		left: 0;
		top: 0;
		width: 172px;
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 5px;
	}

	.c-contact-lp__flow ol li > em span {
		font-size: 46px;
		margin-left: 0;
	}

	.c-contact-lp__flow ol li h3 {
		font-size: 24px;
		margin-top: 0;
		text-align: left;
	}

	.c-contact-lp__flow ol li p {
		line-height: 1.7;
		font-size: 16px;
		margin-top: 11px;
		padding: 0;
	}

	.c-contact-lp__flow ol li figure {
		position: absolute;
	}

	.c-contact-lp__flow ol li:first-child figure {
		width: 208px;
		margin: 0;
		right: 79px;
		bottom: 5px;
	}

	.c-contact-lp__flow ol li:nth-child(2) figure {
		width: 185px;
		margin: 0;
		right: 46px;
		bottom: 2px;
	}


	.c-contact-lp__flow ol li:last-child figure {
		width: 227px;
		margin: 0;
		right: 18px;
		bottom: 4px;
	}

	.c-contact-lp__flow-body > p {
		font-size: 14px;
		margin-top: 15px;
	}

	/* c-contact-lp__faq */
	.c-contact-lp__faq {
		padding: 98px 0 81px;
	}

	.c-contact-lp__faq ul {
		gap: 20px;
		margin-top: 50px;
        justify-content: center;
        flex-direction: column;
        align-items: center;
	}

	.c-contact-lp__faq ul li {
		padding: 40px 0 35px 132px;
		max-width: 974px;
	}

	.c-contact-lp__faq ul li > span {
		font-size: 14px;
		padding: 6px 24px;
		display: inline-block;
		text-align: center;
	}

	.c-contact-lp__faq-title, .c-contact-lp__faq-detail {
		padding: 0;
	}

	.c-contact-lp__faq-title::before, .c-contact-lp__faq-detail::before {
		font-size: 30px;
		left: -72px;
	}

	.c-contact-lp__faq-title {
		margin-top: 9px;
	}

	.c-contact-lp__faq-title::before {
		content: "Q.";
		top: -5px;
	}

	.c-contact-lp__faq-title h3 {
		line-height: 1.6;
		font-size: 18px;
	}

	.c-contact-lp__faq-detail {
		margin-top: 17px;
	}

	.c-contact-lp__faq-detail::before {
		content: "A.";
		left: -70px;
		top: -2px;
	}

	.c-contact-lp__faq-detail p {
		line-height: 1.7;
		font-size: 16px;
	}

	/* c-contact-lp__contact */
	.c-contact-lp__contact {
		max-width: 1154px;
		margin: 0 auto;
		padding: 71px 0 61px;
	}

	.c-contact-lp__contact::before {
		content: "";
		position: absolute;
		display: block;
		background: url("../IMAGES/pict-person-13-01-pc.png") no-repeat bottom center / 100% auto;
		width: 179px;
		height: 319px;
		left: 74px;
		bottom: 0;
	}

	.c-contact-lp__contact::after {
		width: 291px;
		height: 323px;
		left: auto;
		right: 0;
		bottom: 0;
		background-image: url("../IMAGES/pict-person-13-02-pc.png");
	}

	.c-contact-lp__contact h2 {
		line-height: 1.6;
		font-size: 27px;
	}

	.c-contact-lp__contact h2 em {
		line-height: 1.6;
		font-size: 40px;
		margin-top: 19px;
	}

	.c-contact-lp__contact-body > .c-contact-lp__btn {
		margin-top: 42px;
	}

}
