.faterise-contact-page {
	padding: 250px 0 150px;
	color: #111;
}

.faterise-contact-page .faterise-inner-heading__en {
	top: -20px;
	left: 250px;
	font-size: 24px;
	letter-spacing: .2rem;
}

.faterise-contact-page .faterise-inner-heading__ja {
	color: #111;
	font-size: 3rem;
	letter-spacing: .6rem;
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 9.7%;
	margin-top: 50px;
}

.contact-introduction {
	color: #111;
	font-size: 1.125rem;
	line-height: 1.7rem;
	letter-spacing: .1rem;
}

.contact-introduction > p {
	margin: 0;
}

.contact-line {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	margin: 60px 0 40px;
}

.contact-line p {
	margin: 0;
}

.contact-line a {
	display: block;
	flex: 0 0 72px;
}

.contact-line img {
	display: block;
	width: 72px;
	height: 72px;
}

.contact-image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.contact-form-area,
.recruit-form-area {
	color: #111;
	font-size: 1.125rem;
	line-height: 1.7rem;
	letter-spacing: .1rem;
}

.contact-form-area .outer-line,
.recruit-form-area .outer-line {
	border-color: #cfcfcf;
	border-radius: 8px;
}

.contact-form-area .contact-form-faterise-padding,
.recruit-form-area .contact-form-faterise-padding {
	padding: 20px;
}

.contact-form-area label,
.recruit-form-area label {
	display: block;
	margin-bottom: 24px;
	font-weight: 400;
	line-height: 1.7rem;
}

.contact-form-area input:not([type="checkbox"]):not([type="submit"]),
.contact-form-area textarea,
.recruit-form-area input:not([type="checkbox"]):not([type="submit"]),
.recruit-form-area textarea {
	width: 100%;
	margin-top: 7px;
	padding: 9px 12px;
	border: 1px solid #c9c9c9;
	background: #fff;
	font-size: 1rem;
}

.contact-form-area textarea,
.recruit-form-area textarea {
	height: 240px;
	resize: vertical;
}

.contact-form-area .wpcf7-list-item,
.recruit-form-area .wpcf7-list-item {
	margin-left: 0;
}

.contact-form-area .contact-form-faterise,
.recruit-form-area .contact-form-faterise {
	margin-top: 24px;
	background: linear-gradient(90deg, #fff 0 50%, #c9a941 50% 100%) 100% 0 / 200% 100% no-repeat !important;
	color: #fff !important;
	font-weight: 700;
	transition: background-position .36s cubic-bezier(.22, 1, .36, 1), color .28s ease, box-shadow .28s ease, transform .28s ease;
}

.contact-form-area .contact-form-faterise:hover,
.contact-form-area .contact-form-faterise:focus-visible,
.recruit-form-area .contact-form-faterise:hover,
.recruit-form-area .contact-form-faterise:focus-visible {
	width: 100%;
	background-position: 0 0 !important;
	border-color: #c9a941 !important;
	color: #000 !important;
}

@media (max-width: 767px) {
	.faterise-contact-page {
		padding: 150px 0 100px;
	}

	.faterise-contact-page .faterise-inner-heading__en {
		top: -9px;
		left: 120px;
		font-size: .93rem;
		letter-spacing: -.1px;
	}

	.faterise-contact-page .faterise-inner-heading__ja {
		font-size: 1.375rem;
		letter-spacing: .3rem;
	}

	.contact-layout {
		display: block;
		margin-top: 10px;
	}

	.contact-introduction {
		font-size: .875rem;
		line-height: 1.7rem;
		letter-spacing: .1rem;
	}

	.contact-line {
		margin: 60px 0 40px;
	}

	.contact-line a {
		flex-basis: 58px;
	}

	.contact-line img {
		width: 58px;
		height: 58px;
	}

	.contact-form-area {
		margin-top: 50px;
		font-size: .875rem;
		line-height: 1.7rem;
	}

	.contact-form-area .contact-form-faterise-padding,
	.recruit-form-area .contact-form-faterise-padding {
		padding: 20px;
	}

	.contact-form-area label,
	.recruit-form-area label {
		margin-bottom: 18px;
	}

	.contact-form-area input:not([type="checkbox"]):not([type="submit"]),
	.contact-form-area textarea,
	.recruit-form-area input:not([type="checkbox"]):not([type="submit"]),
	.recruit-form-area textarea {
		font-size: .875rem;
	}

	.contact-form-area textarea,
	.recruit-form-area textarea {
		height: 300px;
	}
}
