* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
}

body {
	margin: 0;
	padding: 0;
}

.wrapper {
	padding-top: 9.6rem;
}

a {
	text-decoration: none;
	cursor: pointer;
}

li {
	list-style: none;
}

img {
	height: auto;
	width: 100%;
	vertical-align: bottom;
	pointer-events: none;
}

@media (min-width: 1024px) {
	.sp__only {
		display: none;
	}
}

.pc__only {
	display: none;
}
@media (min-width: 1024px) {
	.pc__only {
		display: unset;
	}
}

.section {
	position: relative;
}
.section .section__line {
	position: absolute;
	animation: cta 2s infinite;
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
}
@media (min-width: 1024px) {
	.section .section__line {
		width: calc(100vw - 48%);
	}
}

@keyframes cta {
	0% {
		transform: translateX(-51%);
	}
	5% {
		transform: translateX(-49%);
	}
	10% {
		transform: translateX(-51%);
	}
	15% {
		transform: translateX(-49%);
	}
	20% {
		transform: translateX(-51%);
	}
	25% {
		transform: translateX(-49%);
	}
	30% {
		transform: translateX(-51%);
	}
	35% {
		transform: translateX(-50%);
	}
}
.section__a--cta {
	top: 142vw;
}
@media (min-width: 1024px) {
	.section__a--cta {
		top: 59vw;
	}
}

.section__b--top {
	bottom: 426vw;
}
@media (min-width: 1024px) {
	.section__b--top {
		bottom: 214vw;
	}
}
.section__b--bottom {
	bottom: 0vw;
}

.section__c--cta {
	bottom: 15vw;
}
@media (min-width: 1024px) {
	.section__c--cta {
		bottom: 9vw;
	}
}

.faq__single {
	width: 100%;
	position: relative;
	display: grid;
}
@media (min-width: 1024px) {
	.faq__single {
		border-radius: 8px;
	}
}
.faq__single--q {
	display: grid;
	padding: 12px;
	background-color: #f4f2ed;
	grid-template-columns: 80% 30px;
	gap: 40px;
	align-items: center;
	position: relative;
	z-index: 3;
}
@media (min-width: 1024px) {
	.faq__single--q {
		padding: 12px 8vw;
		grid-template-columns: 81% 1fr;
	}
}
.faq__single--q .faq__single--img {
	width: 100%;
}
.faq__single--q .faq__single--icon {
	position: relative;
	height: 30px;
	width: 30px;
}
@media (min-width: 1024px) {
	.faq__single--q .faq__single--icon {
		height: 60px;
		width: 60px;
		justify-self: end;
	}
}
.faq__single--q .faq__single--icon .tate,
.faq__single--q .faq__single--icon .yoko {
	position: absolute;
	width: 5px;
	height: 30px;
}
@media (min-width: 1024px) {
	.faq__single--q .faq__single--icon .tate,
	.faq__single--q .faq__single--icon .yoko {
		height: 60px;
		width: 10px;
	}
}
.faq__single--q .faq__single--icon .tate {
	left: 50%;
	transform: translateX(-50%);
	transition: 0.4s;
	transform-origin: 50% 50%;
}
.faq__single--q .faq__single--icon .yoko {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(90deg);
}
.faq__single--q .faq__single--icon .tate--active {
	transform-origin: 50% 50%;
	transform: rotate(90deg);
}
.faq__single--a {
	padding: 0 20px 0 12px;
	background-color: white;
	border-bottom: 4px solid #f4f2ed;
	height: 0;
	z-index: 2;
	transition: 0.4s;
	overflow: hidden;
}
@media (min-width: 1024px) {
	.faq__single--a {
		padding: 0 10vw 0 8vw;
		border: 4px solid #f4f2ed;
	}
}
.faq__single .a--active--0 {
	padding-top: 5vw;
	padding-bottom: 8vw;
	height: 56vw;
}
@media (min-width: 1024px) {
	.faq__single .a--active--0 {
		padding-top: 4vw;
		padding-bottom: 6vw;
		height: 33vw;
	}
}
.faq__single .a--active--1 {
	padding-top: 5vw;
	padding-bottom: 8vw;
	height: 73vw;
}
@media (min-width: 1024px) {
	.faq__single .a--active--1 {
		padding-top: 4vw;
		padding-bottom: 6vw;
		height: 42vw;
	}
}
.faq__single .a--active--2 {
	padding-top: 5vw;
	padding-bottom: 8vw;
	height: 92vw;
}
@media (min-width: 1024px) {
	.faq__single .a--active--2 {
		padding-top: 4vw;
		padding-bottom: 6vw;
		height: 52vw;
	}
}

.faq {
	background-color: white;
	padding-top: 6vw;
	padding-bottom: 6vw;
}
.faq__title {
	display: flex;
	justify-content: center;
}
.faq__title img {
	width: 50%;
}
@media (min-width: 1024px) {
	.faq__title img {
		width: calc(100vw - 80%);
	}
}
.faq__cnt {
	margin-top: 5vw;
	display: grid;
	gap: 6vw;
}
@media (min-width: 1024px) {
	.faq__cnt {
		width: calc(100vw - 32%);
		margin: 0 auto;
		margin-top: 5vw;
		gap: 3vw;
	}
} /*# sourceMappingURL=main.css.map */
#form {
	width: calc(100vw - 32%);
	margin: 30px auto 60px;
	font-size: 14px;
}
#form .section-title {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
}
@media (max-width: 1023px) {
.section__a--cta {
	top: 114vw;
}
	#form {
		width: calc(100vw - 2rem);
	}
	#form .section-title {
		font-size: 20px;
	}

/* フォーム */
.mfp textarea, .mfp input {
    max-width: 320px;
}
}