@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
main {
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}
main img {
	max-width: 100%;
	vertical-align: bottom;
}
main ol,
main ul {
	list-style: none;
}
.c-inr {
	padding: 40px 0 62px;
}

.c-ttl {
	color: #b60081;
	font-size: 38px;
	font-weight: 700;
	text-align: center;
}
.c-ttl__border {
	padding-bottom: 14px;
	border-bottom: 2px solid #b60081;
	margin-bottom: 18px;
}
.c-center {
	text-align: center;
}
.c-bgcolor {
	background-color: #fff0f0;
}
.btn_wrapper a {
	display: inline-block;
	font-size: 24px;
	font-weight: bold;
	padding: 20px 40px;
	color: #fff;
	border-radius: 50px;
	background: #b50080;
	margin: 64px 0 0;
	min-width: 540px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	position: relative;
	text-decoration: none;
}
.btn_wrapper a:hover {
	opacity: 0.5;
}
.icon_float {
	position: absolute;
	right: 40px;
	width: 40px;
	height: 40px;
}
@media screen and (min-width: 769px) {
	.for-sp {
		display: none;
	}
}
@media screen and (max-width: 768px) {
	.for-pc {
		display: none;
	}
	main {
		padding-left: 0;
		padding-right: 0;
	}
	.c-inr {
		padding: calc(30 / 750 * 100vw) 0 calc(48 / 750 * 100vw);
	}
	.c-ttl {
		font-size: calc(32 / 750 * 100vw);
	}
	.c-ttl__border {
		padding-bottom: calc(10 / 750 * 100vw);
		margin-bottom: calc(20 / 750 * 100vw);
	}
	.btn_wrapper a {
		margin: calc(60 / 750 * 100vw) 0 calc(50 / 750 * 100vw);
		font-size: calc(24 / 750 * 100vw);
		padding: 4vw;
		width: calc(540 / 750 * 100vw);
		min-width: initial;
		max-width: 540px;
	}
	.btn_wrapper a:hover {
		opacity: 1;
	}
	.icon_float {
		right: 7vw;
		width: 7vw;
		height: 7vw;
	}
}
.about h2 {
	margin-bottom: 28px;
}
.about p {
	font-size: 28px;
	line-height: calc(44 / 28);
}
@media screen and (max-width: 768px) {
	.about h2 {
		margin-bottom: calc(32 / 750 * 100vw);
	}
	.about p {
		font-size: calc(24 / 750 * 100vw);
		line-height: calc(36 / 24);
	}
}
.case {
	background: url('../images/bg-case.jpg') no-repeat center/cover;
}
.case .c-inr {
	padding-left: calc(80 / 1000 * 100%);
	padding-right: calc(80 / 1000 * 100%);
}
.case ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
}
.case li {
	position: relative;
	border: 3px solid #b60081;
}
.case li::before {
	position: absolute;
	top: 27px;
	left: 18px;
	width: 70px;
	height: 97px;
	background: url('../images/icon-iwai.png') no-repeat center/contain;
	content: '';
	z-index: 1;
}
.case p {
	line-height: 55px;
	font-size: 23px;
	font-weight: 700;
	background-color: #b60081;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
}
.case img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 768px) {
	.case .c-inr {
		padding-left: calc(54 / 750 * 100vw);
		padding-right: calc(54 / 750 * 100vw);
	}
	.case ul {
		gap: calc(10 / 750 * 100vw);
	}
	.case li {
		position: relative;
		border: calc(3 / 750 * 100vw) solid #b60081;
	}
	.case li::before {
		position: absolute;
		top: calc(34 / 750 * 100vw);
		left: calc(8 / 750 * 100vw);
		width: calc(51 / 750 * 100vw);
		height: calc(72 / 750 * 100vw);
		background: url('../images/icon-iwai.png') no-repeat center/contain;
		content: '';
		z-index: 1;
	}
	.case p {
		line-height: calc(55 / 750 * 100vw);
		font-size: calc(24 / 750 * 100vw);
	}
}
.step .c-inr {
	padding-left: calc(80 / 1000 * 100%);
	padding-right: calc(80 / 1000 * 100%);
}
.step ol {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 30px;
}
.step li + li {
	position: relative;
}
.step li + li::before {
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	left: -24px;
	width: 24px;
	height: 33px;
	content: '';
	background: url('../images/icon-arrow.png') no-repeat center/contain;
}
.step li img {
	height: auto;
}
.step li p {
	margin-top: 50px;
	font-size: 26px;
	line-height: calc(32 / 26);
}
@media screen and (max-width: 768px) {
	.step .c-inr {
		padding-left: calc(54 / 750 * 100vw);
		padding-right: calc(54 / 750 * 100vw);
	}
	.step ol {
		gap: 0 calc(43 / 750 * 100vw);
	}
	.step li + li::before {
		left: calc(-24 / 750 * 100vw);
		width: calc(24 / 750 * 100vw);
		height: calc(33 / 750 * 100vw);
	}
	.step li p {
		margin-top: calc(24 / 750 * 100vw);
		font-size: calc(20 / 750 * 100vw);
		line-height: calc(24 / 20);
	}
}
.cta .c-inr {
	padding: 80px 0 120px;
}
.cta h2 {
	margin-bottom: 82px;
}
.cta p {
	font-size: 38px;
	left: calc(54 / 38);
	color: #b60081;
}
@media screen and (max-width: 768px) {
	.cta .c-inr {
		padding: calc(50 / 750 * 100vw) 0;
	}
	.cta h2 {
		margin-bottom: calc(54 / 750 * 100vw);
	}
	.cta h2 img {
		max-width: calc(196 / 750 * 100vw);
		height: auto;
	}
	.cta p {
		font-size: calc(32 / 750 * 100vw);
		left: calc(40 / 32);
	}
}
