@charset "UTF-8";

.telBlock .m-tel {
	display: block;
	background: #f8f8f8;
	text-align: center;
}

.telBlock .m-tel__tel {
	color: inherit;
	letter-spacing: 0.05em;
}

.telBlock .m-tel__tel i {
	font-size: 0.957em;
}

.telBlock .m-tel__time {
	padding-left: 1em;
	margin-top: 12px;
}

.form-dsr,
.form-caution {
	line-height: 2;
}

.form-caution {
	padding: 15px 22px;
	border: solid 1px #cfd5d8;
}

/* form */
.form-input {
	border-top: solid 1px #cfd5d8;
}

.form-input dl {
	border-bottom: solid 1px #cfd5d8;
}

.form-input dl > dt,
.form-input dl > dd {
	position: relative;
}

.must,
.optical {
	display: inline-block;
	padding: .36em 1.2em;
	border-radius: 3em;
	font-size: 0.875em;
	line-height: 1;
	text-align: center;
}

.must {
	background: #ef8253;
	color: #fff;
}

.optical {
	background: #3b3b3b;
	color: #fff;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	border: solid 1px #cfd5d8;
	border-radius: 0;
	font-size: 1em;
	width: 100% !important;
	padding: 5px 10px 4px;
}

textarea {
	vertical-align: top;
	height: 180px;
	resize: vertical;
}

label, button {
	cursor: pointer;
}

input[type="radio"] {
	display: none;
}

.radio-lb {
	display: inline-block;
	line-height: 1.3;
	padding: 0 0 0 25px;
	position: relative;
}

.radio-lb::before {
	content: "";
	display: block;
	border: solid 1px #ccc;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 0;
	left: 0;
}

.radio-lb::after {
	content: "";
	display: block;
	background: #ef8253;
	border-radius: 50%;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 4px;
	left: 4px;
	opacity: 0;
}

input[type="radio"]:checked + .radio-lb::after,
.mfp_checked .radio-lb::after {
	opacity: 1;
}


@media screen and (min-width: 900px) {

	.telBlock .m-tel {
		padding: 45px;
	}

	.telBlock .m-tel__tel {
		font-size: 46px;
	}

	.telBlock .m-tel__tel i {
		margin-right: 5px;
	}

	.telBlock .m-tel__time {
		font-size: 1em;
	}

	.form-caution {
		margin-top: 60px;
	}

	.form-input {
		display: table;
		border-collapse: collapse;
		width: 100%;
		margin: 40px 0 75px;
	}

	.form-input dl {
		display: table-row;
	}

	.form-input dl > dt,
	.form-input dl > dd {
		display: table-cell;
		vertical-align: top;
	}

	.form-input dl > dt {
		width: 230px;
		padding: 10px 70px 10px 15px;
	}

	.form-input dl > dd {
		padding: 15px 15px 15px 40px;
	}

	.must,
	.optical {
		position: absolute;
		right: 0;
		top: 15px;
	}

	.radio-list {
		margin: -5px 10px;
	}

}

@media screen and (max-width: 899px) {

	.telBlock .m-tel {
		padding: 30px 10px;
	}

	.telBlock .m-tel__tel {
		font-size: 32px;
		font-size: min(8.53vw, 46px);
	}

	.form-caution {
		margin-top: 40px;
	}

	.form-input {
		margin: 30px 0 50px;
	}

	.form-input dl {
		padding: 15px 0 20px;
	}

	.form-input dl > dt {
		margin-bottom: 10px;
	}

	.must,
	.optical {
		margin-left: .2em;
	}

	.radio-list {
		margin: -5px 0;
	}

	.radio-list li + li {
		margin-top: 5px;
	}

}