/*------------------------------------------------
	Product LP - CF7 Form
------------------------------------------------*/

#lw-lp-manager .wpcf7 .form-content {
	display: grid;
	row-gap: 18px;
	margin-block-start: 24px;
}

#lw-lp-manager .wpcf7 .form-group {
	display: grid;
	row-gap: 8px;
}

#lw-lp-manager .wpcf7 .form-label > label {
	font-size: 14px;
	font-weight: 700;
}

#lw-lp-manager .wpcf7 .form-label.--required::after,
#lw-lp-manager .wpcf7 .form-label.--optional::after {
	margin-inline-start: 0.6em;
	font-size: 12px;
}

#lw-lp-manager .wpcf7 .form-label.--required::after {
	content: "必須";
	padding: 0.1em 0.5em;
	color: #fff;
	border-radius: 4px;
	background-color: hsl(0, 70%, 55%);
}

#lw-lp-manager .wpcf7 .form-label.--optional::after {
	content: "任意";
	padding: 0.1em 0.5em;
	color: var(--lwlpm-color-gray-7);
	border-radius: 4px;
	background-color: var(--lwlpm-color-gray-2);
}

#lw-lp-manager .wpcf7 .form-annotation {
	display: block;
	margin-block-start: 4px;
	color: var(--lwlpm-color-gray-6);
	font-size: 12px;
}

#lw-lp-manager .wpcf7 .form-privacy {
	padding-block-start: 14px;
	border-top: 1px solid var(--lwlpm-color-gray-2);
}

#lw-lp-manager .wpcf7 .form-privacy p {
	color: var(--lwlpm-color-gray-7);
	font-size: 13px;
}

#lw-lp-manager .wpcf7 .form-privacy a {
	color: var(--lwlpm-color-accent);
	text-decoration: underline;
}

#lw-lp-manager .wpcf7-text,
#lw-lp-manager .wpcf7-free-text,
#lw-lp-manager .wpcf7-select,
#lw-lp-manager .wpcf7-textarea {
	width: 100%;
	padding: 12px;
	font-size: 15px;
	font-family: inherit;
	border: 1px solid var(--lwlpm-color-gray-4);
	border-radius: 8px;
	background-color: #fff;
}

#lw-lp-manager .wpcf7-textarea {
	min-height: 120px;
}

#lw-lp-manager .wpcf7-text:focus,
#lw-lp-manager .wpcf7-textarea:focus,
#lw-lp-manager .wpcf7-select:focus {
	outline: 2px solid var(--lwlpm-color-primary);
	outline-offset: 0;
	border-color: var(--lwlpm-color-primary);
}

#lw-lp-manager .wpcf7-checkbox,
#lw-lp-manager .wpcf7-radio {
	display: grid;
	gap: 8px 16px;
	font-size: 14px;
}

#lw-lp-manager .wpcf7-list-item {
	margin: unset;
}

#lw-lp-manager .wpcf7-submit {
	display: grid;
	place-content: center;
	width: 100%;
	margin-block-start: 8px;
	padding: 1.1em;
	color: var(--lwlpm-color-white);
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--lwlpm-color-primary), var(--lwlpm-color-primary-dark));
	outline: none;
	cursor: pointer;
	transition: opacity 0.2s, transform 0.05s;
}

@media (hover: hover) {
	#lw-lp-manager .wpcf7-submit:hover {
		opacity: 0.92;
	}
}

#lw-lp-manager .wpcf7-submit:active {
	transform: translateY(1px);
}

#lw-lp-manager .wpcf7-not-valid {
	border-color: hsl(0, 80%, 45%);
}

#lw-lp-manager .wpcf7-not-valid-tip {
	display: block;
	margin-block-start: 4px;
	color: hsl(0, 80%, 45%);
	font-size: 13px;
	font-weight: 400;
	border-color: transparent;
	background-color: transparent;
}

#lw-lp-manager .wpcf7-response-output {
	margin: unset;
	padding: 0.6em 1em;
	font-size: 14px;
	border-radius: 8px;
}

#lw-lp-manager .wpcf7-spinner {
	display: block;
	margin: unset;
	margin-block-start: 10px;
}

#lw-lp-manager .wpcf7 .form-thanks {
	display: none;
	visibility: hidden;
}

#lw-lp-manager .wpcf7 .form-thanks-inner {
	display: grid;
	row-gap: 10px;
}

#lw-lp-manager .wpcf7 .form-thanks-inner h2 {
	margin-block-end: 12px;
	padding: 16px 24px;
	color: hsl(160, 55%, 38%);
	font-size: 18px;
	text-align: center;
	border: 1px solid hsl(160, 60%, 85%);
	border-radius: 8px;
	background-color: hsl(160, 60%, 96%);
}

#lw-lp-manager .wpcf7 .form-thanks-inner p {
	font-size: 14px;
}

#lw-lp-manager .wpcf7 .form-thanks-inner p a {
	color: var(--lwlpm-color-accent);
	text-decoration: underline;
}

#lw-lp-manager .wpcf7 .sent .form-content {
	display: none;
	visibility: hidden;
}

#lw-lp-manager .wpcf7 .sent .form-thanks {
	display: block;
	visibility: visible;
}
