@charset "utf-8";
/* ------------------------------
 お問い合わせ（PC）
------------------------------ */
.formBlock .cms_text {
	margin-bottom: 50px;
}
.formBlock table {
	border: none !important;
}
.formBlock table tr {
	display: grid;
	align-items: start;
}
.formBlock table tr:not(:last-child) {
	margin-bottom: 35px;
}
.formBlock table th {
	width: 100%;
	font-weight: bold;
	background-color: transparent;
	border: none !important;
	padding: 13px 0;
}
.formBlock table td {
	padding: 0;
	border: none !important;
}
/* -- 必須・任意 -- */
.formBlock table th span {
	display: inline-block;
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: var(--blue-color);
	border-radius: 10px;
	padding: 0 9px 1px;
	margin: -4px 8px 0 0;
	vertical-align: middle;
}
.formBlock table th span.any {
	background-color: var(--gray-color);
}
/* -- 入力欄 -- */
input::placeholder,
textarea::placeholder {
	color: #8c979b;
}
input,
textarea,
select {
	width: 100%;
	color: var(--main-font-color);
	background-color: #f2f2f2;
	border-radius: 7px;
	padding: 13px 12px;
	-webkit-appearance: none;
}
textarea {
	min-width: 100%;
	min-height: 250px;
	resize: vertical;
}
/* -- チェックボックス -- */
input[type="checkbox"] {
	display: none;
}
label.checkbox {
	position: relative;
	display: flex;
	padding-left: 30px;
}
label.checkbox span {
	display: block;
	width: 18px;
	height: 18px;
	background-color: #fff;
	border: solid 1px #bfbfbf;
	position: absolute;
	top: 0.4em;
	left: 0;
	transition: .1s linear;
}
label.checkbox span::before {
	content: "";
	width: 4px;
	height: 9px;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
	transform: rotate(40deg);
	position: absolute;
	left: 5px;
	bottom: 5px;
	transition: .1s linear;
	opacity: 0;
}
label.checkbox input:checked + span {
	background-color: var(--blue-color);
}
label.checkbox input:checked + span::before {
	opacity: 1;
}
ul.checkList li {
	padding-left: 0 !important;
}
ul.checkList li::before {
	content: none !important;
}
/* -- 住所 -- */
.zipBox {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 220px;
	padding-left: 10px;
}
.zipBox input {
	width: 183px;
}
.selectPD {
	width: 220px;
}
.selectPD label {
	position: relative;
	display: block;
	pointer-events: none;
}
.selectPD label::before {
	content: "";
	width: 32px;
	height: 100%;
	background-color: var(--blue-color);
	border-radius: 0 7px 7px 0;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
}
.selectPD label::after {
	content: "";
	width: 5px;
	height: 5px;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 3px;
	right: 12px;
	margin: auto;
}
.selectPD select {
	padding-right: 47px;
	pointer-events: auto;
}
/* -- 同意チェック -- */
.formBlock .line-t {
	padding-top: 30px;
}
.checkBlock.cms_text {
	text-align: center;
	margin-bottom: 30px;
}
.checkBlock label.checkbox {
	display: inline-flex;
	width: fit-content;
}
/* -- ボタン -- */
.formBlock .btnBox {
	text-align: center;
}
.formBlock .btnBox button {
	min-width: 350px;
	min-height: 60px;
}
.formBlock .btnBox button:disabled {
	pointer-events: none;
	background-color: var(--gray-color);
}
.formBlock .btnBox button.back {
	float: left;
	min-width: 160px;
	background-color: var(--gray-color);
	padding-left: 45px;
	padding-right: 20px;
}
.formBlock button.back::after {
	transform: rotate(180deg);
	right: auto;
	left: 15px;
}
@media print, screen and (min-width: 768px) {
	.formBlock table tr {
		grid-template-columns: 1fr 4fr;
		column-gap: 40px;
	}
	.formBlock table td:not(:has(input[type="text"], textarea, select)) {
		padding: 13px 0;
	}
	/* チェックボックス */
	ul.checkList {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 12px 20px;
	}
	/* -- ボタン -- */
	.formBlock .btnBox button:not(:disabled):hover {
		opacity: .7;
	}
	.formBlock .btnBox button.back {
		margin-right: -160px;
		padding-left: 65px;
	}
}
/* ------------------------------
 お問い合わせ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.formBlock .cms_text {
		margin-bottom: 30px;
	}
	.formBlock table tr:not(:last-child) {
		margin-bottom: 25px;
	}
	.formBlock table th,
	.formBlock table td {
		font-size: 1.6rem;
	}
	.formBlock table th {
		padding: 0 0 10px;
	}
	input,
	textarea,
	select {
		font-size: 1.6rem;
		padding: 10px;
	}
	textarea {
		min-height: 140px;
	}
	/* -- チェックボックス -- */
	label.checkbox {
		font-size: 1.6rem;
		padding-left: 25px;
	}
	label.checkbox span {
		width: 16px;
		height: 16px;
	}
	label.checkbox span::before {
		width: 3px;
		height: 8px;
		bottom: 4px;
	}
	/* -- 同意チェック -- */
	.formBlock .line-t {
		padding-top: 20px;
	}
	.checkBlock.cms_text {
		margin-bottom: 20px;
	}
	/* -- ボタン -- */
	.formBlock .btnBox button {
		min-width: 60%;
	}
	.formBlock .btnBox button.back {
		min-width: 35%;
		margin-right: 5%;
	}
}