@charset "UTF-8";

::placeholder {
	color: oklab(70% 0 0);
}

input[type="text"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="telephone"],
input[type="number"],
textarea {
	display: block;
	width: 100%;
	padding: 25px 0;
	box-sizing: border-box;
	font-size: inherit;
	vertical-align: middle;
	outline: none;
}

textarea {
	min-height: 15em;
	line-height: inherit;
	vertical-align: middle;
	resize: vertical;
}

.contact {
	margin-top: 60px;
}

.contact_text {
}

.contact_text > a {
	/* text-decoration: underline; */
	/* text-underline-offset: 3px; */
}

.contact_form {
	margin-top: 90px;
}

.form {
	display: flex;
	gap: 60px;
	padding: 90px 90px 105px;
	border: var(--border);
}

.form_ttl {
	flex-shrink: 0;
	font-size: 21px;
	line-height: 1;
	writing-mode: vertical-lr;
}

.form_cnt {
	flex: 1;
}

.form_list {
	margin-top: -25px;
	line-height: 1.8;
}

.form_item {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	border-bottom: var(--border);
}

.form_item > dt {
	width: 230px;
	padding: 25px 0;
}

.form_item > dt.-any {
}

.form_item > dt.-any::after {
	content: "任意";
	margin-left: 1em;
	color: var(--text-sub);
	font-size: 12px;
}

.form_item > dd {
	flex: 1;
}

.form_policy {
	margin-top: 45px;
}

.form_policy > a {
	/* text-decoration: underline; */
	/* text-underline-offset: 3px; */
}

.form_submit {
	margin-top: 45px;
}

.form_submit_btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-height: 56px;
	padding: 12px 32px;
	border: 2px solid var(--color-green);
	background: var(--color-green);
	font-size: 17px;
	line-height: 1.6;
	cursor: pointer;
	transition: background 0.25s var(--ease);
}

.form_submit_btn:hover {
	background: var(--color-white);
}

.mw_wp_form .error {
	margin-top: -20px;
	margin-bottom: 15px;
	font-size: 12px !important;
}

@media screen and (max-width: 1259.98px) {
}

@media screen and (max-width: 767.98px) {
	::placeholder {
	}

	input[type="text"],
	input[type="date"],
	input[type="datetime"],
	input[type="datetime-local"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="email"],
	input[type="url"],
	input[type="search"],
	input[type="telephone"],
	input[type="number"],
	textarea {
		padding: 12px 0;
	}

	textarea {
	}

	.contact {
		margin-top: 40px;
	}

	.contact_text {
	}

	.contact_text > a {
	}

	.contact_form {
		margin-top: 60px;
	}

	.contact_form .c_inner {
		padding: 0;
	}

	.form {
		flex-direction: column;
		padding: 0;
		border: none;
	}

	.form_ttl {
		font-size: 18px;
		writing-mode: initial;
	}

	.form_cnt {
	}

	.form_list {
		display: grid;
		gap: 32px;
	}

	.form_item {
		flex-direction: column;
		gap: 5px;
	}

	.form_item > dt {
		width: 100%;
		padding: 0;
	}

	.form_item > dt.-any {
	}

	.form_item > dt.-any::after {
	}

	.form_item > dd {
		width: 100%;
	}

	.form_policy {
		margin-top: 30px;
	}

	.form_policy > a {
	}

	.form_submit {
		margin-top: 30px;
	}

	.form_submit_btn {
		width: 100%;
		font-size: 16px;
	}

	.mw_wp_form .error {
		margin-top: -8px;
		margin-bottom: 12px;
	}
}
