/*共通*/
.pco {
	display: none !important;
}

.container img {
	max-width: 100%;
	height: auto;
}

.sp_img_box {
	text-align: center;
}

.sp_img_box img {
	margin-bottom: 10px;
}

.sankaku_lt {
	width: 0;
	height: 0;
	border-top: 15px solid #eee;
	border-right: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 15px solid #eee;
	position: absolute;
	top: 0;
	left: 0;
}

.sankaku_rt {
	width: 0;
	height: 0;
	border-top: 15px solid #eee;
	border-right: 15px solid #eee;
	border-bottom: 15px solid transparent;
	border-left: 15px solid transparent;
	position: absolute;
	top: 0;
	right: 0;
}

.h3bevel {
	position: relative;
	height: 30px;
}

h3 span {
	width: 100%;
	font-size: 18px;
}

h4 {
	font-size: 16px;
}

.big {
	font-size: 4vw;
}

/*header*/
#head_upper_logo {
	padding: 20px 0 20px 20px;
}

/*footer*/
#copyright {
	font-size: 2vw;
}


/*店舗・車種選択*/
.bg_darkgray {
	background-color: #364558;
}

.select_btn_font {
	font-size: 16px;
}


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

.branch_box h5 {
	/*position:absolute;*/
	top: 42%;
	left: 5px;
	font-size: 16px;
	letter-spacing: 0rem;
	margin: 5px 0px 1px 10px;
	color: #231815;
}

.branch_box p {
	/*position:absolute;*/
	top: 72%;
	left: 5px;
	font-size: 12px;
	margin: 0px 0px 10px 10px;
	color: #231815;
}


.branch_box:hover {
	opacity: 0.7;
}




/*車種選択*/
.carmodel_select_btn {
	padding-top: 10px;
}

.carmodel_select_btn li {
	width: 50%;
	padding: 0 5px 5px
}

.carmodel_select_btn li a {
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 0.01em;
}

.caution_outer {
	padding: 5px 20px 5px 20px;
}

.caution_outer p {
	font-size: 8px;
}

.caution_outer p {
	margin-bottom: 0.1rem;
}

/*車種ボックス*/
#carmodel_list {
	padding: 5px;
}

.carmodel_box_outer {
	width: 50%;
	padding: 3px;
}

.carmodel_box {
	padding: 5px 0px 10px;
	height: 100%;
}

.carmodel_box h5 {
	font-size: 14px;
}

.carmodel_box p.price {
	font-size: 4vw;
}

.carmodel_box p {
	font-size: 14px;
}

.carmodel_box a.btn {
	font-size: 12px;
	font-weight: bold;
	background-color: #fff;
	background-image: url(../../dc-admin/images/democar/btn_bg_blank.png), url(../../dc-admin/images/democar/btn_bg_arrowb.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left 5% top 50%, right 5% top 50%;
	/*background:rgb(233,84,107) url(../../dc-admin/images/democar/carmodel_btn_bg_arrow.png) right 3px top 50% no-repeat;*/
	padding: 10px 10px 10px 10px;
	border: 1px solid #333;
	width: 95%;
	/* margin: auto; */
	margin-top: auto;
}

.carmodel_box a.btn_detail {
	font-size: 4vw;
	background: #999 url(../../dc-admin/images/democar/carmodel_btn_bg_arrow.png) right 3px top 50% no-repeat;
	padding: 5px 10px 5px 5px;
}

.carmodel_box p.panel_gray,
.carmodel_box p.panel_red {
	font-size: 12px;
	padding: 10px;
}

/*店舗指定*/
.select_car_block .select_car_block_l {
	padding: 0 10px;
}

.select_car_block ul {
	padding: 15px 10px;
	background: #999999;
}

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

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

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

/*車種指定*/
.select_detail_toptext p {
	font-size: 5vw;
}


/*予約フォーム*/
.stepBar .step {
	font-size: 4.5vw;
}

.stepBar .step:before,
.stepBar .step:after {
	left: -10px;
	width: 10px;
	height: 20px;
}

.stepBar .step:after {
	-moz-transform: skew(30);
	-ms-transform: skew(30deg);
	-webkit-transform: skew(30deg);
	transform: skew(30deg);
}

.stepBar .step:before {
	bottom: 0;
	-moz-transform: skew(-30deg);
	-ms-transform: skew(-30deg);
	-webkit-transform: skew(-30deg);
	transform: skew(-30deg);
}


#reserve_body {
	padding: 0 10px 50px;
}

.select_car_block .select_car_block_r table {
	margin: 0 0px;
}

.select_car_block .select_car_block_r table td {
	display: block;
}

.select_car_block .select_car_block_r table td.title {
	font-weight: bold;
}

.form_btn a {
	font-size: 5vw;
}

.normal_body {
	padding: 0 10px 30px
}


h4 {
	font-size: 16px;
	color: #231815;
	font-weight: bold;
	background: #f2f2f2;
	margin: 1.5em 0 0.75em;
	padding: 15px;
}

.nm {
	width: 97% !important;
	padding-left: 10px;
}

.nm {
	width: 97% !important;
	padding-left: 10px !important;
}

h4.select_car_title {
	background: none;
	color: #231815;
	padding: 20px 0 0;
	margin: 0 0 0.5em;
	font-size: 20px;
}

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

.spo {
	margin-top: 20px;
	text-align: center;
}



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

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

	&::before {
		content: "";
		display: block;
		width: 37px;
		height: 47px;
		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 {
	padding: 0 26px;

	.carmodel_box_outer {
		float: none;
		width: 100%;
		margin-bottom: 20px;

		&::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: 40px;
	padding: 30px 0 50px;
	background: #2E2E33;

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

	.carmodel_select_btn {
		padding: 0;
	}
}

.carmodel_select_btn ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;

	@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;
		}
	}
}

.carmodel_box_outer {
	position: relative;
	padding: 20px 5px 14px;

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

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

		>img {
			margin-bottom: 10px;
		}

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

		p {
			font-size: 14px;
			font-weight: 500;
			line-height: 160%;
			&:not(.panel_red) {
				&:nth-last-child(2) {
					margin-bottom: 10px;
				}
			}
		}

		a.btn {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			min-height: 40px;
			margin-top: 1px;
			background: #000;
			padding: 10px;
			letter-spacing: 0;
			border: none;
			color: #FFFFFF;
			font-size: 12px;
			font-weight: 500;
			line-height: 160%;
			&:nth-child(7) {
				margin-top: auto;
			}
		}
		.panel_gray {
			&:nth-last-child(4) {
				margin-top: auto;
			}
			&:nth-last-child(3) {
				margin-top: 1px;
			}
		}
	}
}

.select_btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 60px;
	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: 20px;
		font-weight: 500;
		line-height: 160%;
		/* 32px */
	}

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

	&: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 */
}