.contact-form {
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: 640px;
}

.form-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.form-field label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;
	font-weight: bold;
	font-size: 0.9em;
	color: #222222;
}

.required {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;
	font-weight: bold;
	font-size: 0.75em;
	color: #FFFFFF;
	background: #E85D5D;
	padding: 2px 8px;
	border-radius: 4px;
}

.form-field input,
.form-field textarea {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;
	font-size: 1em;
	color: #222222;
	padding: 10px 14px;
	border: 1px solid #C8C8C8;
	border-radius: 6px;
	background: #FFFFFF;
}

.form-field input:focus,
.form-field textarea:focus {
	outline: none;
	border-color: #6FA83A;
	box-shadow: 0 0 0 3px rgba(111, 168, 58, 0.15);
}

.form-field textarea {
	resize: vertical;
	min-height: 140px;
}

.consent-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}

.checkbox-option {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;
	font-size: 1em;
	color: #222222;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.checkbox-option input[type="checkbox"] {
	width: 18px;
	height: 18px;
	cursor: pointer;
	outline: none;
}

.checkbox-option input[type="checkbox"]:focus,
.checkbox-option input[type="checkbox"]:focus-visible {
	outline: none;
	box-shadow: none;
}

.privacy-link {
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", Meiryo, sans-serif;
	font-size: 0.9em;
}

.form-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 24px;
	padding-top: 8px;
}

.submit-button {
	font-family: "Inter", "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 700;
	font-size: 1em;
	color: #FFFFFF;
	background: #548FC7;
	border: none;
	border-radius: 6px;
	padding: 14px 40px;
	cursor: pointer;
}

.submit-button:hover {
	background: #4677A5;
}

.reset-button {
	font-family: "Inter", "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 700;
	font-size: 1em;
	color: #494949;
	background: transparent;
	border: 1px solid #C8C8C8;
	border-radius: 6px;
	padding: 14px 32px;
	cursor: pointer;
}

.reset-button:hover {
	background: #F4F4F4;
}
