




/************ フォーム ************/
section.title h2 {
	font-size: 36px;
	color: #222222;
	text-align: center;
	line-height: 1.4;
	border-bottom: none;
}
section.form {
	width: 90%;
	max-width: 980px;
	margin: 60px auto 100px;
}

/*3STEP*/
section.form ul.step {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
section.form ul.step li {
	width: calc((100% - 38px) / 3);
	height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background-color: #E7EDF7;
	font-size: 14px;
	font-weight: bold;
	color: #222222;
	padding-left: 20px;
	position: relative;
}
section.form ul.step li:not(:last-of-type)::after {
	position: absolute;
	right: -19px;
	bottom: 0;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 0 30px 19px;
	border-color: transparent transparent transparent #E7EDF7;
}
section.form ul.step li span {
	font-size: 12px;
	color: #E60011;
	margin-bottom: 5px;
}
section.form ul.step li span b {
	font-size: 18px;
	font-weight: bold;
}
/*active*/
section.form ul.step li.active {
	color: #FFF;
	background-color: #E60011;
}
section.form ul.step li.active::after {
	border-color: transparent transparent transparent #E60011;
}
section.form ul.step li.active span {
	color: #FFF;
}

section.form h3 {
	width: 100%;
	height: 89px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
	color: #E60011;
	text-align: center;
	line-height: 1.4;
	border-top: 2px solid #E60012;
	border-bottom: 2px solid #E60012;
	margin-top: 60px;
	margin-bottom: 50px;
	position: relative;
}
section.form h3::after {
	display: block;
	content: "";
	position: absolute;
	right: 0;
	bottom: -10px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #FFF transparent transparent transparent;
	border-width: 10px 6px 0 6px;
	filter: drop-shadow(0px 2px 0px #E60012);/*線付き*/
}

section.form > p {
	font-size: 15px;
	font-weight: 400;
	color: #333333;
	line-height: 1.6;
}

section.form ol li {
	font-size: 15px;
	font-weight: 400;
	color: #333333;
	line-height: 1.4;
	padding-left: 16px;
	text-indent: -16px;
	margin-bottom: 5px;
}

/*フォームテーブル*/
section.form table {
	width: 100%;
	border: 1px solid #CCCCCC;
	border-collapse: unset;
	border-spacing: 0;
	border-radius: 5px;
	margin-top: 40px;
}
section.form table th {
	width: 282px;
	background-color: #E9EBF3;
	border-radius: 4px 0 0 0;
	font-size: 18px;
	font-weight: bold;
	color: #333;
	text-align: left;
	vertical-align: middle;
	padding: 20px;
	position: relative;
	border-bottom: 1px dotted #BEBEBE;
}
section.form table tr:last-of-type th {
	border-bottom: none;
}
section.form table th::after {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	background-image: url(../images/form/required_sp.png);
	content: '';
	display: inline-block;
	width: 40px;
	height: 22px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
section.form table td {
	padding: 15px 30px 15px 30px;
	border-bottom: 1px dotted #BEBEBE;
}
section.form table tr:last-of-type td {
	border-bottom: none;
}
section.form table td p {
	font-size: 14px;
	font-weight: 400;
	color: #707070;
	margin-top: 5px;
}
/*青字ver*/
section.form table td p.ao {
	color: #1A4FB3;
	line-height: 1.4;
	margin-top: 0;
	margin-bottom: 5px;
}
section.form input[type="text"],
section.form input[type="date"],
section.form select {
	width: 100%;
	font-size: 16px;
	font-weight: 400;
	color: #000;
	line-height: 1.5;
	border: 1px solid #707070;
	border-radius: 4px;
	padding: 7px 10px;
}
section.form select {
	-webkit-appearance: none;/*デフォルト矢印消す*/
	appearance: none;/*デフォルト矢印消す*/
	background-image: url("../images/form/arrow_down.svg");
	background-repeat: no-repeat;
	background-size: 20px auto; /* 画像のサイズ（幅 高さ）*/
	background-position: right 20px center; /* 画像の位置 */
}

/*郵便番号*/
section.form table td.ad div {
	display: flex;
	margin-bottom: 15px;
}
section.form table td.ad div img {
	width: 28px;
	height: auto;
	margin-right: 10px;
}
section.form table td.ad div input[type="text"] {
	width: 165px;
}

/*車両ナンバー*/
section.form table td.number {
	display: flex;
	flex-direction: row;
	align-items: center;
}
section.form table td.number input[type="text"] {
	width: 132px;
}
section.form table td.number img {
	width: 17px;
	height: 3px;
	margin: 0 10px;
}

/*連絡希望ラジオボタン*/
section.form table td.contact label {
	line-height: 40px;
	margin-right: 30px;
}
section.form table td.contact input[type="radio"] {
	appearance: none; /* デフォルトのスタイルを消す */
	border: 2px solid #E60011; /* 枠線 */
	border-radius: 50%; /* 枠線を円にする */
	height: 20px; /* ボタンの高さ */
	left: 0; /* ラジオボタンとラベルの余白 */
	margin: 0; /* デフォルトのmarginを消す */
	margin-right: 10px;
	position: relative;
	width: 20px; /* ボタンの幅 */
}
/* チェックされたラジオボタン内側のスタイル */
section.form table td.contact input[type="radio"]::before {
	background-color: #E60011;
	border-radius: 50%;
	bottom: 0;
	content: "";
	width: 10px;
	height: 10px;
	left: 0;
	margin: auto;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
}
/* チェックされたらラジオボタン内側を表示 */
section.form table td.contact input[type="radio"]:checked::before {
	opacity: 1;
}

section.form textarea {
	width: 100%;
	height: 200px;
	font-size: 16px;
	font-weight: 400;
	color: #222222;
	line-height: 1.6;
	border: 1px solid #707070;
	border-radius: 4px;
	padding: 10px 10px;
}

section.form h4 {
	font-size: 16px;
	font-weight: bold;
	color: #333333;
	text-align: center;
	margin-top: 60px;
	margin-bottom: 20px;
}

/*プライバシーポリシー*/
section.form div.policy {
	width: 100%;
	height: 200px;
	font-size: 15px;
	font-weight: 400;
	color: #333333;
	line-height: 1.6;
	padding: 15px;
	border: 1px solid #dcdcdc;
	background-color: #FFF;
	border-radius: 5px;
	box-sizing: border-box;
	margin-bottom: 20px;
	overflow-y: scroll;
}

/*個人情報取扱いについて同意する*/
section.form div.check {
	text-align: center;
}
section.form div.check label {
	font-size: 15px;
	font-weight: bold;
	color: #333;
}
section.form div.check input {
	width: 22px;
	height: 22px;
	margin-right: 10px;
	accent-color: #E60012;
	vertical-align: text-top;
}
section.form div.check label span {
	display: inline-block;
}
section.form div.check p {
	font-size: 14px;
	font-weight: 400;
	color: #666666;
	line-height: 1.6;
	text-align: center;
	margin-top: 20px;
}

/*ダミーボタン*/
section.form div.dummy_btn {
	width: 440px;
	height: 80px;
	margin: 40px auto 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #CCCCCC;
	border-radius: 8px;
	font-size: 24px;
	font-weight: bold;
	color: #FFF;
	position: relative;
}
section.form div.dummy_btn::after {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '\f054';
	font-size: 20px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
}

/*確認画面に進む*/
section.form div.form_button {
	display: none;
	width: 440px;
	margin: 40px auto 0;
	position: relative;
}
section.form div.form_button input[type="submit"] {
	display: block;
	width: 100%;
	height: 80px;
	margin: 0 auto 0;
	background-color: #1A4FB3;
	border-radius: 8px;
	font-size: 24px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	position: relative;
	filter: drop-shadow(2px 2px 2px rgba(10, 10, 10, .6));
}
section.form div.form_button::after {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '\f054';
	font-size: 20px;
	font-weight: 900;
	color: #FFF;
	font-family: "Font Awesome 6 Free";
}
/*hover*/
section.form div.form_button:hover {
	opacity: 0.8;
	transform: translate3d(0, 1px, 0);
}
section.form div.form_button:hover input[type="submit"] {
	filter: unset;
}








/************ 確認ページ ************/
section.form.confirm table th {
	min-height: 56px;
}
section.form.confirm table th::after {
	display: none;
}
section.form.confirm table td {
	font-size: 18px;
	font-weight: 400;
	color: #333333;
	line-height: 1.4;
	vertical-align: middle;
}

/*前に戻って修正*/
section.form.confirm a.back_btn {
	display: block;
	width: 360px;
	height: 56px;
	margin: 60px auto 60px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	background-color: #FFF;
	border: 1px solid #222222;
	border-radius: 8px;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, .2));
	font-size: 18px;
	font-weight: bold;
	color: #222222;
	position: relative;
}
section.form.confirm a.back_btn::before {
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '\f053';
	font-size: 14px;
	font-weight: 900;
	font-family: "Font Awesome 6 Free";
}
/*hover*/
section.form.confirm a.back_btn:hover {
	opacity: 0.8;
	filter: none;
	transform: translate3d(0, 1px, 0);
}

/*この内容でお問い合わせする*/
section.form.confirm div.form_button {
	display: block;
}
section.form.confirm div.form_button input[type="submit"] {
	background-color: #E60011;
}

/** エラーの場合 **/
div.err_mess {
	width: 350px;
	margin: 0 auto;
	color:#E60011;
}
div.err_mess p {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8;
}
div.err_mess p::before {
	content: '\f06a';
	font-size: 18px;
	font-weight: 900;
	font-family: "Font Awesome 6 Free";
	vertical-align: middle;
	margin-right: 5px;
}
/*入力画面に戻る*/
div.back2 {
	margin-top: 60px;
	text-align: center;
}
div.back2 a {
	font-size: 18px;
	font-weight: 500;
	color: #333;
}
div.back2 a:hover {
	font-weight: bold;
}








/************ 完了ページ ************/
section.form.complete > img {
	display: block;
	width: 183px;
	height: auto;
	margin: 50px auto 40px;
}
section.form.complete > p {
	font-size: 18px;
	font-weight: 400;
	color: #333333;
	line-height: 1.6;
	text-align: center;
}
/*トップへ戻る*/
section.form.complete > a {
	width: 400px;
	height: 72px;
	margin: 100px auto 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	color: #E60011;
	background-color: #FFF;
	border: 1px solid #E60011;
	border-radius: 8px;
	position: relative;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, .2));
}
section.form.complete > a::before {
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '\f053';
	font-size: 14px;
	font-weight: 900;
	font-family: "Font Awesome 6 Free";
}
/*hover*/
section.form.complete > a:hover {
	opacity: 0.8;
	filter: none;
	transform: translate3d(0, 1px, 0);
}












/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width: 1079px) {
*{}
*{}
/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/








/************ フォーム ************/
section.title h2 {
	font-size: 28px;
}
section.form {
	margin: 30px auto 60px;
	max-width: 600px;
}

/*3STEP*/
section.form ul.step li {
	padding-left: 15px;
	font-size: min(3.5vw, 14px);
}

section.form h3 {
	height: 80px;
	font-size: min(4.5vw, 16px);
	margin-top: 30px;
	margin-bottom: 30px;
}

section.form > p {
	font-size: 14px;
}

section.form ol li {
	font-size: 14px;
}

/*フォームテーブル*/
section.form table {
	margin-top: 30px;
}
section.form table th {
	display: block;
	width: 100%;
	padding: 13px 10px;
	font-size: 16px;
}
section.form table th::after {
	width: 34px;
	height: 19px;
}
section.form table td {
	display: block;
	width: 100%;
	padding: 20px 10px 20px 10px;
}
section.form input[type="text"],
section.form select {
	font-size: 14px;
}
section.form select {
	background-size: 15px auto; /* 画像のサイズ（幅 高さ）*/
}

/*車両ナンバー*/
section.form table td.number input[type="text"] {
	width: 22%;
}
section.form table td.number img {
	width: 10px;
	height: 3px;
	margin: 0 4px;
}

/*連絡希望ラジオボタン*/
section.form table td.contact label {
	font-size: 14px;
	margin-right: 4vw;
}
section.form table td.contact input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-right: 6px;
}
section.form table td.contact input[type="radio"]::before {
	width: 8px;
	height: 8px;
}

section.form textarea {
	font-size: 14px;
}

section.form h4 {
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
	margin-top: 30px;
	margin-bottom: 10px;
}

/*プライバシーポリシー*/
section.form div.policy {
	font-size: 14px;
}

/*個人情報取扱いについて同意する*/
section.form div.check p {
	text-align: left;
}

/*ダミーボタン*/
section.form div.dummy_btn {
	width: 90%;
	max-width: 400px;
	height: 72px;
	font-size: 20px;
}
section.form div.dummy_btn::after {
	font-size: 16px;
	right: 14px;
}

/*確認画面に進む*/
section.form div.form_button {
	width: 90%;
	max-width: 400px;
}
section.form div.form_button input[type="submit"] {
	height: 72px;
	font-size: 20px;
}
section.form div.form_button::after {
	font-size: 16px;
	right: 14px;
}








/************ 確認ページ ************/
section.form.confirm table th {
	min-height: 44px;
}
section.form.confirm table td {
	font-size: 16px;
	padding-top: 10px;
	padding-bottom: 10px;
}

/*前に戻って修正*/
section.form.confirm a.back_btn {
	width: 70%;
	max-width: 300px;
	height: 44px;
	font-size: 16px;
	margin: 30px auto 30px;
}

/*この内容でお問い合わせする*/
section.form.confirm div.form_button {
	margin-top: 30px;
}
section.form.confirm div.form_button input {
	font-size: min(4.5vw, 20px);
}

/** エラーの場合 **/
div.err_mess {
	width: 90%;
	max-width: 350px;
}
/*入力画面に戻る*/
div.back2 a {
	font-size: 16px;
}






/************ 完了ページ ************/
section.form.complete > img {
	margin: 40px auto 30px;

	display: block;
	width: 183px;
	height: auto;
}
section.form.complete > p {
	width: 100%;
	max-width: max-content;
	margin: 0 auto;
	font-size: 16px;
	text-align: left;

	font-weight: 400;
	color: #333333;
	line-height: 1.6;
}
/*トップへ戻る*/
section.form.complete > a {
	width: 90%;
	max-width: 400px;
	height: 60px;
	font-size: 20px;
	margin: 60px auto 0;

	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	color: #E60011;
	background-color: #FFF;
	border: 1px solid #E60011;
	border-radius: 8px;
	position: relative;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, .2));
}
section.form.complete > a::before {

	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '\f053';
	font-size: 14px;
	font-weight: 900;
	font-family: "Font Awesome 6 Free";
}
/*hover*/
section.form.complete > a:hover {

	opacity: 0.8;
	filter: none;
	transform: translate3d(0, 1px, 0);
}











/************ footer ************/
footer {
	padding-bottom: 9px;
}








/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
}
/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
