/*共通*/
.spo {
	display: none;
}

.frm_w {
	width: 100%;
	max-width: 1310px;
	margin: 0 auto;
	padding: 0 15px;
	/* width:960px; */
}

.pc_img_box {
	text-align: center;
}

.float_l {
	float: left;
	padding: 0 10px 10px 0;
}

.float_r {
	float: right;
	padding: 0 0px 10px 10px;
}

h2 {
	border-radius: 3px;
}

h2.form_title {
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
}

h3 span {
	width: 40%;
	font-size: 16px;
}

/*header*/

/*footer*/
#foot_menu {
	float: left;
	width: 560px;
}

#copyright {
	float: right;
	width: 400px;
}

.bottom_menu_box {
	float: left;
	width: 15%;
	margin-left: 2%;
}

#bottom_menu .bottom_menu_box:first-child {
	margin-left: 0;
}

/*form*/



/*店舗・車種選択*/
#mainhead {
	padding: 10px 0 0px;
}

.select_btn {
	width: 60%;
}

.select_btn_font {
	font-size: 16px;
}

/*店舗ボックス*/
.branch_box {
	width: 25%;
}

.branch_box h5 {
	/*position:absolute;*/
	top: 50%;
	left: 10px;
	font-size: 14px;
	color: #333333;
}

.branch_box p {
	/*position:absolute;*/
	top: 70%;
	left: 10px;
	font-size: 1em;
}

.branch_box:hover {
	opacity: 0.7;
}

/*車種選択*/
.carmodel_select_btn {
	padding: 20px 20px 10px;
	font-size: 14px;
	font-weight: bold;
}

.carmodel_select_btn li {
	width: 20%;
}



/*車種ボックス*/
.carmodel_box_outer {
	width: 25%;
	padding: 10px;
}

/*店舗指定*/
#mainhead_b0 {
	padding: 40px 0 0px;
}

.select_detail_headbg {
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	margin-top: 30px;
}

.select_car_block {
	padding: 20px 0;
}

.select_car_block .select_car_block_l {
	float: left;
	width: 50%;
	padding: 0 20px;
}

.select_car_block .select_car_block_r {
	float: right;
	width: 50%;
	padding: 20px 20px 0;
}

.select_car_block .select_car_block_r h4 {
	text-align: left;
}

.select_car_block ul li span {
	border-bottom: 4px solid #231815;
	;
}

.select_car_block a.btn {
	display: block;
	background: #999 url(../../dc-admin/images/democar/carmodel_btn_bg_arrow.png) right 10px top 50% no-repeat;
	padding: 5px 0 5px 10px;
	color: #fff;
	letter-spacing: 0.01em;
}

.select_car_block a.btn:hover {
	background-color: #ccc;
}

/*予約フォーム*/
.stepBar {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}

.reserve_step {
	padding: 0px 0 20px;
	font-size: 1.2em;
}

.select_car_block .spec_table_outer {
	padding-top: 7%;
}

.nom {
	padding: 18px;
}

.form_btn a {
	font-size: 16px;
}

.carmodel_box a.btn {
	font-size: 14px;
}


/* add 20240925 */
.nom {
	display: flex;
	align-items: center;
	min-height: 60px;
	padding: 10px 30px;
	background: #DDDDDD;
	font-size: 30px;
	font-weight: 700;
	line-height: 120%;
	/* 36px */
}

.popular-content-title {
	display: flex;
	align-items: center;
	margin-top: 124px !important;
	margin-bottom: 46px !important;
	background: right center url("../../dc-admin/images/common/popular-content-title-bg.png") no-repeat;
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: 110%;

	&::before {
		content: "";
		display: block;
		width: 37px;
		height: 33px;
		background: center / contain url("../../dc-admin/images/common/popular-content-title-icon.png") no-repeat;
	}

	span {
		display: inline-block;
		width: auto;
		margin: 0;
		padding: 0 20px;
		background: #ffffff;
		border: none;
		font-size: inherit;
	}
}

.popular-content {
	.carmodel_box_outer {
		&::before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			width: 41px;
			height: 52px;
			background-position: top left;
			background-size: contain;
			background-repeat: no-repeat;
		}

		&:nth-child(1) {
			&::before {
				background-image: url("../../dc-admin/images/common/popular-content-icon-01.png");
			}
		}

		&:nth-child(2) {
			&::before {
				background-image: url("../../dc-admin/images/common/popular-content-icon-02.png");
			}
		}

		&:nth-child(3) {
			&::before {
				background-image: url("../../dc-admin/images/common/popular-content-icon-03.png");
			}
		}

		&:nth-child(4) {
			&::before {
				background-image: url("../../dc-admin/images/common/popular-content-icon-04.png");
			}
		}
	}
}

.carmodel_select_box {
	margin-bottom: 60px;
	padding: 32px 20px 52px;
	background: #2E2E33;

	.carmodel_select_btn_title {
		margin-top: 0;
		margin-bottom: 35px;
		color: #FFF;
		font-size: 32px;
		font-weight: 500;
		line-height: 160%;
		/* 51.2px */
	}

	.carmodel_select_btn {
		padding: 0;
	}
}

.carmodel_select_btn ul {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px 23px;

	@media screen and (min-width: 750px) {
		&.spo {
			display: none;
		}
	}

	li {
		width: auto;
		float: none;
		padding: 0;

		&.active {
			a {
				background-color: #E41F1F;
				color: #ffffff;
			}
		}

		a {
			display: flex;
			align-items: center;
			justify-content: center;
			height: 100%;
			font-size: 18px;
			font-weight: 500;
			line-height: 160%;
			background-color: #ffffff;
			&:hover,
			&:focus,
			&.active {
				background-color: #E41F1F;
			}
		}
	}
}

.carmodel_box_outer {
	position: relative;
	padding: 47px 19px 27px;

	&.hover {
		background-color: #E9E9E9;
	}

	.carmodel_box {
		display: flex;
		flex-direction: column;
		height: 100%;
		padding: 0;
		background: transparent;

		>img {
			margin-bottom: 30px;
		}

		h5 {
			min-height: 3.2em;
			margin-bottom: 11px;
			font-size: 24px;
			font-weight: 700;
			line-height: 160%;
		}

		p {
			margin-bottom: 0;
			font-size: 18px;
			font-weight: 500;
			line-height: 160%;
			&:nth-last-child(5) {
				margin-bottom: 20px;
			}
			&:nth-last-child(4) {
				margin-top: auto;
			}
			&:nth-last-child(2) {
				margin-bottom: 20px;
			}
		}

		a.btn {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			min-height: 60px;
			background: #000;
			padding: 10px 20px;
			letter-spacing: 0;
			border: none;
			color: #FFFFFF;
			font-size: 18px;
			font-weight: 500;
			line-height: 160%;
		}
	}
}

.select_btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 94px;
	max-width: 854px;
	margin: 60px auto 70px;
	padding: 10px 60px;
	text-align: center;
	border-radius: 0px;
	background: #fff;
	border: solid 1px #000000;
	/* 51.2px */
	box-sizing: border-box;
	cursor: pointer;

	a {
		color: #000000;
		font-size: 32px;
		font-weight: 500;
		line-height: 160%;
	}

	&::after {
		content: ">";
		position: absolute;
		top: 50%;
		right: 47px;
		transform: translateY(-50%);
		display: block;
		font-size: 32px;
		font-weight: 500;
		line-height: 160%;
		/* 51.2px */
	}

	&:hover,
	&:focus {
		background: #000000;

		a,
		&::after {
			color: #ffffff;
		}
	}
}


.caution_outer p {
	margin-bottom: 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 180%;
	/* 28.8px */
}