/**
 * c-cta-consult
 * 相談誘導CTAセクション（LINE リンク付き）
 *
 * 自動生成: node _research/emit-component.mjs c-cta-consult
 * 生成元: _archive/css/faq.css の .symbol-3
 * 手で編集しない（_research/component-defs.json を直して再生成する）
 */
.c-cta-consult {
	align-content: center;
	align-items: center;
	background: transparent;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	height: auto;
	justify-content: center;
	padding: 80px 40px;
	width: 1280px;
	max-width: 100%;
}
.c-cta-consult__box {
	align-content: flex-start;
	align-items: flex-start;
	background: var(--an-color-brand);
	border-radius: 8px;
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 40px;
	height: auto;
	justify-content: center;
	padding: 48px 64px;
	width: 100%;
	max-width: 100%;
}
.c-cta-consult__box.an-appear {
	opacity: 0;
	transition-delay: 400ms;
	transition-duration: 800ms;
	translate: 0px 16px;
}
.c-cta-consult__box > *,
.c-cta-consult__box.an-appear > *,
.c-cta-consult__box-2 > * {
	--gap-h: 40px;
	--gap-v: 0px;
}
.c-cta-consult__box-2 {
	align-content: center;
	align-items: center;
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 40px;
	justify-content: space-between;
	padding: 0px;
	width: 1280px;
	max-width: 100%;
}
.c-cta-consult__box-3 {
	align-content: flex-start;
	align-items: flex-start;
	flex: 1;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 24px;
	justify-content: flex-start;
	padding: 0px;
	width: auto;
	max-width: 100%;
	min-width: 0;
}
.c-cta-consult__box-3 > * {
	--gap-h: 0px;
	--gap-v: 24px;
}
.c-cta-consult__box-4 {
	align-content: flex-start;
	align-items: flex-start;
	flex: none;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 8px;
	justify-content: flex-start;
	padding: 0px;
	width: 100%;
	max-width: 100%;
}
.c-cta-consult__box-4 > * {
	--gap-h: 0px;
	--gap-v: 8px;
}
.c-cta-consult__title {
	color: var(--an-color-white);
	font-family: var(--an-font-base);
	font-size: 28px;
	font-weight: 500;
	height: auto;
	letter-spacing: normal;
	line-height: 1.6;
	text-align: left;
	width: auto;
	z-index: 1;
	justify-content: flex-start;
	max-width: 100%;
}
.c-cta-consult__text {
	color: var(--an-color-white);
	font-family: var(--an-font-base);
	font-size: 16px;
	font-weight: 400;
	height: auto;
	letter-spacing: 0.1em;
	line-height: 1.8;
	text-align: left;
	width: auto;
	z-index: 1;
	justify-content: flex-start;
	max-width: 100%;
}
.c-cta-consult__link {
	align-content: center;
	align-items: center;
	background: var(--an-color-white);
	border-radius: 96px;
	flex: none;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 16px;
	height: auto;
	justify-content: center;
	padding: 32px 48px;
	width: auto;
	max-width: 100%;
}
.c-cta-consult__link:hover {
	background: rgba(255, 255, 255, 0.8);
	opacity: 1;
	--ha: 1;
}
.c-cta-consult__link > *,
.c-cta-consult__link:hover > * {
	--gap-h: 16px;
	--gap-v: 0px;
}
.c-cta-consult__text-2 {
	color: var(--an-color-brand);
	font-size: 24px;
}
.c-cta-consult__text-3 {
	color: var(--an-color-text);
	font-family: var(--an-font-base);
	font-size: 18px;
	font-weight: 500;
	height: auto;
	line-height: 1;
	text-align: left;
	width: auto;
	justify-content: flex-start;
	max-width: 100%;
}
.c-cta-consult__link:hover .c-cta-consult__text-3 {
	color: var(--an-color-accent);
}

@media (max-width: 1140px) {
	.c-cta-consult__box-2 {
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.c-cta-consult__box-2 > * {
		--gap-h: 40px;
		--gap-v: 0px;
	}
}

@media (max-width: 840px) {
	.c-cta-consult {
		padding: 80px 24px;
	}
	.c-cta-consult__box {
		padding: 40px 32px;
	}
	.c-cta-consult__box > *,
	.c-cta-consult__box.an-appear > * {
		--gap-h: 40px;
		--gap-v: 0px;
	}
	.c-cta-consult__box-2 {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 24px;
	}
	.c-cta-consult__box-2 > *,
	.c-cta-consult__box-3 > * {
		--gap-h: 0px;
		--gap-v: 24px;
	}
	.c-cta-consult__box-3,
	.c-cta-consult__link {
		flex: none;
		width: 100%;
		max-width: 100%;
	}
	.c-cta-consult__link > *,
	.c-cta-consult__link:hover > * {
		--gap-h: 16px;
		--gap-v: 0px;
	}
}

@media (max-width: 540px) {
	.c-cta-consult {
		padding: 40px 16px;
	}
	.c-cta-consult__box {
		padding: 32px 16px;
	}
	.c-cta-consult__box > *,
	.c-cta-consult__box.an-appear > * {
		--gap-h: 40px;
		--gap-v: 0px;
	}
	.c-cta-consult__box-2,
	.c-cta-consult__box-3 {
		gap: 16px;
	}
	.c-cta-consult__box-2 > * {
		--gap-h: 16px;
		--gap-v: 0px;
	}
	.c-cta-consult__box-3 > * {
		--gap-h: 0px;
		--gap-v: 16px;
	}
	.c-cta-consult__title {
		font-size: 22px;
	}
	.c-cta-consult__text {
		font-size: 14px;
	}
	.c-cta-consult__text-3 {
		font-size: 16px;
	}
}
