.vwx-cf7.vwx-cf7.wpcf7-form {
	--vwx-cf7-gap: 22px;
	--vwx-cf7-field-bg: var(--color-input-background, #1A1D23);
	--vwx-cf7-field-line: var(--color-border, rgba(255, 255, 255, 0.12));
	--vwx-cf7-accent: var(--color-primary, #BEFD06);
	--vwx-cf7-accent-fg: var(--color-primary-foreground, #000000);
	--vwx-cf7-text: var(--color-foreground, #f3f5f7);
	--vwx-cf7-muted: var(--color-muted-foreground, #A2A9B6);
	--vwx-cf7-error: var(--color-destructive, #F87171);
	--vwx-cf7-radius: var(--radius-md, 0.5rem);
}
.vwx-cf7.vwx-cf7.wpcf7-form > .hidden-fields-container {
	border: 0;
}
.vwx-cf7.vwx-cf7.wpcf7-form > p {
	margin-top: 0;
	margin-bottom: var(--vwx-cf7-gap);
}
.vwx-cf7.vwx-cf7.wpcf7-form label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 10px;
	row-gap: 0;
	font-size: var(--font-size-md, 0.9375rem);
	font-weight: var(--font-weight-semibold, 600);
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: var(--vwx-cf7-text);
}
.vwx-cf7.vwx-cf7.wpcf7-form label > br {
	display: none;
}
.vwx-cf7.vwx-cf7.wpcf7-form label:has(.wpcf7-form-control)::after {
	content: "任意";
	order: 0;
	flex: 0 0 auto;
	padding: 2px 9px;
	font-size: 0.6875rem;
	font-weight: var(--font-weight-bold, 700);
	line-height: 1.6;
	letter-spacing: 0.08em;
	color: var(--vwx-cf7-muted);
	background-color: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--vwx-cf7-field-line);
	border-radius: var(--radius-full, 9999px);
}
.vwx-cf7.vwx-cf7.wpcf7-form label:has([aria-required="true"])::after {
	content: "必須";
	color: var(--vwx-cf7-accent-fg);
	background-color: var(--vwx-cf7-accent);
	border-color: var(--vwx-cf7-accent);
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-form-control-wrap {
	order: 1;
	flex: 1 0 100%;
	display: block;
	margin-top: 8px;
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control {
	display: block;
	width: 100%;
	padding: 12px 14px;
	font-family: inherit;
	font-size: var(--font-size-base, 1rem);
	font-weight: var(--font-weight-normal, 400);
	line-height: 1.7;
	letter-spacing: 0.02em;
	color: var(--vwx-cf7-text);
	background-color: var(--vwx-cf7-field-bg);
	border: 1px solid var(--vwx-cf7-field-line);
	border-radius: var(--vwx-cf7-radius);
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-form-control-wrap textarea.wpcf7-form-control {
	min-height: 200px;
	resize: vertical;
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control:hover {
	border-color: rgba(255, 255, 255, 0.24);
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control:focus-visible {
	border-color: var(--vwx-cf7-accent);
	background-color: var(--color-surface-2, #16181D);
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control:-webkit-autofill {
	-webkit-text-fill-color: var(--vwx-cf7-text);
	-webkit-box-shadow: 0 0 0 1000px var(--vwx-cf7-field-bg) inset;
	caret-color: var(--vwx-cf7-text);
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-not-valid {
	border-color: var(--vwx-cf7-error);
	background-color: rgba(248, 113, 113, 0.06);
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-not-valid-tip {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-top: 8px;
	font-size: var(--font-size-xs, 0.8125rem);
	font-weight: var(--font-weight-medium, 500);
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: var(--vwx-cf7-error);
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-not-valid-tip::before {
	content: "!";
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	font-size: 0.6875rem;
	font-weight: var(--font-weight-bold, 700);
	line-height: 1;
	color: var(--color-background, #000000);
	background-color: var(--vwx-cf7-error);
	border-radius: var(--radius-full, 9999px);
}
.vwx-cf7.vwx-cf7.wpcf7-form > p:has(.wpcf7-submit) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 30px;
	margin-bottom: 0;
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 320px;
	min-height: 52px;
	padding: 14px 32px;
	font-family: inherit;
	font-size: var(--font-size-base, 1rem);
	font-weight: var(--font-weight-bold, 700);
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: var(--vwx-cf7-accent-fg);
	background-color: var(--vwx-cf7-accent);
	border: 1px solid var(--vwx-cf7-accent);
	border-radius: var(--radius-full, 9999px);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-submit:hover {
	background-color: var(--color-primary-hover, #D2FF4A);
	border-color: var(--color-primary-hover, #D2FF4A);
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-submit:active {
	transform: scale(0.98);
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-submit:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-spinner {
	margin: 0;
}
.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-response-output {
	margin: 26px 0 0;
	padding: 14px 16px;
	font-size: var(--font-size-sm, 0.875rem);
	font-weight: var(--font-weight-medium, 500);
	line-height: 1.8;
	letter-spacing: 0.02em;
	color: var(--vwx-cf7-text);
	background-color: var(--color-surface-2, #16181D);
	border: 1px solid var(--vwx-cf7-field-line);
	border-left-width: 3px;
	border-radius: var(--vwx-cf7-radius);
}
.vwx-cf7.vwx-cf7.wpcf7-form.sent .wpcf7-response-output {
	color: var(--color-green-700, #86EFAC);
	background-color: var(--color-green-100, #0D2C1A);
	border-color: rgba(134, 239, 172, 0.35);
	border-left-color: var(--color-green-700, #86EFAC);
}
.vwx-cf7.vwx-cf7.wpcf7-form.invalid .wpcf7-response-output,
.vwx-cf7.vwx-cf7.wpcf7-form.unaccepted .wpcf7-response-output,
.vwx-cf7.vwx-cf7.wpcf7-form.payment-required .wpcf7-response-output {
	color: var(--color-orange-700, #FDBA74);
	background-color: var(--color-orange-100, #3A2408);
	border-color: rgba(253, 186, 116, 0.35);
	border-left-color: var(--color-orange-700, #FDBA74);
}
.vwx-cf7.vwx-cf7.wpcf7-form.failed .wpcf7-response-output,
.vwx-cf7.vwx-cf7.wpcf7-form.aborted .wpcf7-response-output,
.vwx-cf7.vwx-cf7.wpcf7-form.spam .wpcf7-response-output {
	color: var(--vwx-cf7-error);
	background-color: rgba(248, 113, 113, 0.10);
	border-color: rgba(248, 113, 113, 0.35);
	border-left-color: var(--vwx-cf7-error);
}
@media (max-width: 640px) {
	.vwx-cf7.vwx-cf7.wpcf7-form {
		--vwx-cf7-gap: 18px;
	}
	.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-form-control-wrap textarea.wpcf7-form-control {
		min-height: 160px;
	}
	.vwx-cf7.vwx-cf7.wpcf7-form .wpcf7-submit {
		max-width: none;
	}
}
