.midashi01 {
	font-size: 18px;
}
.logo01 {
	text-align: center;
	margin: 0 0 20px 0;
}
#web_reserve {
	background: none;
	background-size: 100vw;
	background-position: bottom;
	margin: -40px 0 0 0;
	padding: 40px 0 0 0;
}
.web_reserve_button {
	background-image: linear-gradient(0deg, rgba(248, 178, 59, 1) 10%, rgba(253, 254, 31, 1) 90%);
	margin: 0 auto 40px auto;
	border-radius: 8px;
	list-style: none;
	border: 3px solid #3c5fa9;
	max-width: 600px;
}
.web_reserve_button a {
	display: flex;
	width: 100%;
	height: 60px;
	color: #14348c;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 20px;
	flex: 0 1 calc(50% - 5px);
	background: url("../images/arrow_b.png") no-repeat 95% center;
	background-size: 7px;
}
/* 750px以下のスタイル */
@media screen and (max-width: 750px) {
	#web_reserve {
		background: url("../images/sky_bg.webp") no-repeat;
		background-size: 100vw;
		background-position: bottom;
		margin: -40px 0 0 0;
		padding: 40px 0 0 0;
	}
	.web_reserve_button {
		background-image: linear-gradient(0deg, rgba(248, 178, 59, 1) 10%, rgba(253, 254, 31, 1) 90%);
		margin: 0 auto 80px auto;
		border-radius: 8px;
		list-style: none;
		border: 3px solid #3c5fa9;
		width: 80%;
	}
	.web_reserve_button a {
		display: flex;
		width: 100%;
		height: 60px;
		color: #14348c;
		text-decoration: none;
		align-items: center;
		justify-content: center;
		font-weight: 700;
		font-size: 20px;
		flex: 0 1 calc(50% - 5px);
		background: url("../images/arrow_b.png") no-repeat 95% center;
		background-size: 7px;
	}
}
/* --------------共通01 -------------- */
.flex01 .flex {
	display: flex;
}
.flex01 .flex .image {
	width: 300px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.flex01 .flex .text {
	margin: 0 20px 0 0;
	padding: 0;
}
.flex01 .flex span.#1d208801 {
	color: #ff0000;
}
.flex01 h2.h201 {
	margin: 0 0 20px 0;
	text-align: center;
	font-size: 24px;
	color: #14348c;
}
.flex01 h2.h203 {
	margin: 0 auto 20px auto;
	max-width: 60%;
}
.flex01 h2.h203 img {
	width: 100%;
	height: auto;
}
/* --------------共通02 -------------- */
.flex02 {
	background-image: linear-gradient(0deg, rgba(255, 255, 255, 1), rgba(197, 230, 248, 1));
	margin: -40px 0 20px 0;
	width: 100%;
	height: auto;
}
.flex02 .flex {
	display: flex;
	width: 100%;
}
.flex02 .handwash_bg {
	background: url(../images/flow/carbody_wash_bg.webp) no-repeat 100% 0%;
	background-size: contain;
}
.flex02 .keeperflow_bg {
	background: url(../images/flow/carbody_bg.webp) no-repeat 100% 0%;
	background-size: contain;
}
.flex02 .flex_box {
	width: 730px;
	height: 300px;
	margin: 0 auto;
	padding: 0 0 0 20px;
}
.flex02 .crystal_keeper_logo {
	margin: 70px 0 10px 0;
	max-width: 60%;
}
.flex02 img {
	max-width: 100%;
}
.flex02 h2.h202 {
	margin: 0 0 20px 10px;
	font-size: 24px;
	color: #14348c;
}
/* 750px以下のスタイル */
@media screen and (max-width: 750px) {
	.flex02 .flex_box {
		height: 200px;
	}
	.flex02 h2.h202 {
		font-size: 18px;
	}
}

/* --------------Newアイコン-------------- */
.new_icon{
	position: absolute;
	top: -18px;
	left: 10px;
	text-align: left;
	margin: 0;
	padding: 0;
	z-index: 100;
	width:25%;
	min-width:70px;
}
#dia2_keeper .new_icon{
	top: 6px;
	left: 6px;
	width:85px;
}


/*　--------------キーパーコーティングとは？--------------　*/
.about h3 {
	margin: 20px 0 10px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #cccccc;
	font-size: 20px;
}
.about h3 span {
	border-radius: 100%;
	background: #14348c;
	margin-right: 10px;
	padding: 5px;
	color: #ffffff;
	font-size: 24px;
}
.about .round01 {
	border-radius: 8px;
	border: 3px solid #14348c;
	padding: 10px;
}
.about .round01 h3 {
	background: url("../images/how/check_icon.png") no-repeat 0% 50%;
	background-size: 20px;
	margin: 10px 0 10px 0;
	padding: 0 0 0 30px;
	border-bottom: none;
}
.about .round01 {
	padding: 15px;
}
.about .round01 p {
	padding-bottom: 15px;
}
.about .container01 {
	background: #14348c;
	background-size: 7px;
	border-radius: 50px;
	margin: -40px auto 15px auto;
	padding: 10px;
	font-size: 20px;
	text-align: center;
	color: #ffffff;
	width: 80%;
}
.about .round01 .hr01 {
	border-bottom: 1px solid #14348c;
}
/*　--------------ご来店の流れ--------------　*/
.visit h3 {
	margin: 0 0 10px 0;
	border-bottom: 1px solid #cccccc;
	display: flex;
	align-items: center;
	font-size: 20px;
}
.visit h3 span {
	margin: 0 10px 0 0;
	font-size: 40px;
	color: #14348c;
}
.visit .flow_img {
	margin: 0 auto;
	max-width: 80%;
}
.visit .flow_img img {
	margin: 20px 0 30px 0;
	max-width: 100%;
}
/* --------------キーパーコーティングの種類・料金表共通-------------- */
.keeper_menu ul, .type_keeper ul, .keeper_menu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 auto;
	padding: 0;
	width: 700px;
}
.keeper_menu ul li, .type_keeper ul li, .keeper_menu ul li {
	background-size: 7px;
	flex: 1 0 49%;
	border-radius: 5px;
	list-style: none;
}
/* 750px以下のスタイル */
@media screen and (max-width: 750px) {
	.keeper_menu ul, .type_keeper ul, .keeper_menu ul {
		width: 100%;
	}
	.keeper_menu ul li, .type_keeper ul li, .keeper_menu ul li {
		flex: 0 1 calc(50% - 5px);
	}
}
h3#dia2_keeper {
	background: #11328d;
}
h3#crystal_keeper {
	background: #00a7d7;
}
h3#diamond_keeper {
	background: #bfa447;
}
h3#wdia_keeper {
	background: #004193;
}
h3#fresh_keeper {
	background: #fff000;
	color: #353535;
}
h3#eco_diamono_keeper {
	background: #009e41;
}
h3#ex_keeper {
	background: #032b5c;
}
h3#wash_care, h3#cleaning, h3#side_menu {
	background: none;
	color: #353535;
	border: 1px solid #ccc;
}
.type_keeper h3, .price h3 {
	margin: 0 0 20px 0;
	padding: 10px;
	text-align: center;
	color: #ffffff;
	font-size: 24px;
}
.price h4 {
	margin: 0 0 20px 0;
	text-align: center;
	font-size: 20px;
}
.type_keeper h4 {
	margin: 0 0 20px 0;
	text-align: center;
	font-size: 20px;
	color: #14348c;
}
.type_keeper h5 {
	background: #f0f0f0;
	margin: 30px 0 20px 0;
	padding: 5px;
	text-align: center;
}
.option_table h5 {
	margin: 0;
	padding: 5px;
	text-align: center;
}
.price_table td.cell01 {
	width: 20%;
}
.price_table td.cell02 {
	width: 80%;
}
.price_table td.cell03 {
	width: 40%;
}
.price_table td.cell04 {
	width: 40%;
}
.price_table td.cell05 {
	width: 50%;
}
.price_table td.cell06 {
	width: 26.6%;
}
.notes {
	margin: 10px auto 40px auto;
	max-width: 730px;
	font-size: 12px;
}
/* --------------キーパーコーティングの種類 ※figure_tableはおすすめ2種のページと共通-------------- */
.type_keeper table {
	margin: 0 0 30px 0;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #ccc;
}
.type_keeper table thead {
	background: #f0f0f0;
}
.type_keeper table th, .type_keeper table td {
	border-right: 1px solid #ccc;
	padding: 10px;
	width: 50%;
	text-align: center;
	font-size: 16px;
}
.type_keeper table span {
	font-size: 24px;
	color: #ff0000;
	font-weight: bold;
}
.type_keeper figure {
	margin: 0 0 20px 0;
}
.type_keeper article.top {
	margin: 0 0 60px 0;
}
.type_keeper article {
	margin: 0 0 100px 0;
}

table.figure_table {
	margin: 0 0 5px 0;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: none;
	text-align: left;
}
table.figure_table th, table.figure_table td {
	border-right: none;
	padding: 10px 10px 10px 10px;
	width: 50%;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
}
table.figure_table th {
	text-align: center;
}
.type_keeper .small_text {
	font-size: 14px;
	color: #000000;
	font-weight: normal;
}
/* --------------料金表 ※料金表はおすすめ2種のページと共通　-------------- */
.price_table {
	margin: 0 0 5px 0;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 1px solid #ccc;
}
.price_table .thead_head {
	font-size: 12px;
}
.price_table th {
	background: #f0f0f0;
	border-bottom: 1px solid #ccc;
	padding: 10px;
}
.price_table td {
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	padding: 10px;
	text-align: center;
	background: #ffffff;
}
.price_table td:last-child {
	border-right: none;
}
.price span {
	color: #ff0000;
}
.price_space {
	margin: 0 0 100px 0;
}
.price p {
	text-align: right;
	font-size: 12px;
}
.price .sub_table {
	border: 25px solid #f0f0f0;
	margin: 10px 0 0 0;
	padding: 20px 10px 10px 10px;
}
.option_table {
	margin: 10px 0 5px 0;
	padding: 5px 10px;
	width: 100%;
	border: 1px solid #ccc;
}
.option_table table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: none;
}
.option_table table td {
	border: none;
	text-align: left;
	padding: 5px;
}
.option_table table .line01 {
	border-bottom: 1px solid #ccc;
}
.option_table table .text_right {
	text-align: right;
	white-space: nowrap;
}
/*　--------------スタッフ紹介--------------　*/
.staff_intro article {
	margin: 0 0 50px 0;
}
.staff_intro h3 {
	position: relative;
	margin: 0 0 20px 0;
	padding: 10px;
	text-align: center;
	color: #ffffff;
	font-size: 24px;
	background: #14348c;
}
.staff_intro h3 span {
	font-size: 20px;
}
/* 750px以下のスタイル */
@media screen and (max-width: 750px) {
	.staff_intro h3 {
		margin: 0 0 20px 0;
		padding: 10px 50px 10px 10px;
	}
}
.staff_intro p {
	margin: 0 0 20px 0;
}
.staff_intro .staff_img {
	margin: 0 auto 20px 0;
	text-align: center;
}
.staff_intro .staff_img img {
	max-width: 60%;
	height: auto;
}
.staff_intro h3 img.qualification {
	position: absolute;
	top: -30px;
	right: 10px;
	max-width: 100%;
	height: auto;
	width: 100px;
}
.staff_intro dl {
	margin: 0 0 20px 0;
}
.staff_intro dt {
	border-bottom: 1px solid #cacaca;
	margin: 0 0 10px 0;
}
.staff_intro dt span {
	display: block;
	background: #f0f0f0;
	padding: 6px 0 4px 0;
	text-align: center;
	width: 100px;
}
.staff_intro dd {
	margin: 0 0 3px 0;
}
/*　--------------施工の流れ　例--------------　*/
.flow h3 {
	display: flex;
	background: #e6e9f3;
	margin: 0 0 10px 0;
	align-items: center;
	font-size: 20px;
}
.flow h3 span {
	display: inline-block;
	background: #10328e;
	width: 50px;
	height: 50px;
	margin: 0 10px 0 0;
	text-align: center;
	font-size: 40px;
	color: #ffffff;
}
.flow .flow_img {
	margin: 0 0 0 60px;
	max-width: 80%;
}
.flow .flow_img img {
	margin: 20px 0 30px 0;
	max-width: 100%;
}
.flow article {
	background: url("../images/flow/line_bg.gif") repeat-y 20px 0;
}
.flow article.last_line {
	background: none;
}
.flow p {
	margin: 0 0 0 60px;
}
.flow .point {
	margin: -20px 0 0 0;
	padding: 0 0 30px 0;
}
.flow .point p {
	font-size: 12px;
}
.point_icon {
	background: #0899d7;
	border-radius: 100px;
	width: 50px;
	text-align: center;
	color: #ffffff;
	margin-bottom: 5px !important;
	font-size: 14px;
}
/* --------------section-FAQ-------------- */
#faq h2 {
	margin: 0 auto 20px auto;
	padding: 30px 0 5px 0;
	width: 300px;
	border-bottom: 2px solid #14348c;
	text-align: center;
	color: #14348c;
}
#faq dl {
	width: 100%;
	margin: 0 auto 20px auto;
}
#faq dt {
	padding: 20px 0 20px 0;
	margin-top: 5px;
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 18px;
}
#faq dd {
	border-bottom: 2px solid #ddd;
	margin: 0;
	padding: 0 0 20px 0;
	display: flex;
	align-items: flex-start;
}
#faq strong {
	display: block;
	padding: 7px 0 10px 0;
	font-size: 16px;
}
#faq img {
	margin-right: 10px;
}
#faq .link-container {
	background: url("../images/arrow_w.png") no-repeat 95% center #14348c;
	background-size: 7px;
	border-radius: 50px;
	margin: 0 auto 20px auto;
	width: 200px;
	text-align: center;
}
#faq .link-container a {
	display: block;
	margin: 0 auto;
	padding: 10px;
	width: 100%;
	color: #ffffff;
	text-decoration: none;
	font-size: 16px;
	font-weight: 700;
}
/* ---FAQ内メニュー--- */
ul.faq_menu {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
ul.faq_menu li {
	display: flex;
	flex-direction: column;
	justify-content: flex-end; /* 子要素を下揃え */
	align-items: center; /* 画像を中央揃え */
	flex: 1 0 31%;
	list-style: none;
}
ul.faq_menu li a {
	background: url("../images/faq/arrow_down.webp") no-repeat 95% center #eeeeee;
	text-decoration: none;
	color: #000000;
	padding: 7px 10px 7px 10px;
	width: 100%;
}
/* 750px以下のスタイル */
@media screen and (max-width: 750px) {
	ul.faq_menu {
		flex-direction: row; /* 2列のために並べる方向をrowに変更 */
	}
	ul.faq_menu li {
		flex: 1 0 49%; /* 2列表示なので各アイテム幅を48%に設定 */
	}
}
/* --------------当店おすすめ2種-------------- */
.recommend_fresh, .recommend_eco, .table_bg01, .sihikumi, .shikumi2, .shikumi, .shikumi3 {
	margin: 0 auto 40px auto;
	padding: 0;
	max-width: 730px;
}
.recommend ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 0 auto;
	padding: 10px 0 10px 0;
	max-width: 100%;
}
.recommend ul li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex: 1 0 47%;
	list-style: none;
	text-align: center;
	margin-bottom: -25px;
}
.recommend .fresh_keeper a {
	display: block;
	background: #fff000;
	margin-bottom: 20px;
	padding: 15px 40px 10px 40px;
	border-radius: 8px;
}
.recommend .eco_diamono_keeper a {
	display: block;
	background: #009e41;
	margin-bottom: 20px;
	padding: 15px 40px 10px 40px;
	border-radius: 8px;
}
.recommend .fresh_keeper span, .recommend .eco_diamono_keeper span {
	font-size: 14px;
	font-weight: normal;
}
.recommend .fresh_keeper p, .recommend .eco_diamono_keeper p {
	margin-bottom: 5px;
	font-size: 20px;
	font-weight: bold;
	line-height:20px;
}
.dia2text p {
	margin-bottom: 5px;
	font-size: 20px;
	font-weight: bold;
	line-height:20px;
}

.recommend .fresh_keeper img, .recommend .eco_diamono_keeper img {
	width: 100%;
}
.recommend_bg {
	background: #fffae1;
}
.recommend_bg.dia2 {
	background: #abd9f5;
}
.recommend_bg article.recommend_fresh {
	background: #fff000;
	border: 3px solid #ef8200;
	border-radius: 8px;
	width: 100%;
}
.recommend_bg article.recommend_fresh.dia2 {
	background: #1d2088;
	border: 3px solid #1d2088;
	border-radius: 8px;
	width: 100%;
}

.recommend_bg .recommend_fresh h3 {
	text-align: center;
	background: #ffffff;
	padding: 8px 8px 6px 8px;
	border-radius: 5px 5px 0 0;
}

.recommend_fresh_bg {
	background: url("../images/recommend/fresh_keeper_car.webp") no-repeat 100% 5px;
	background-size: contain;
}
.recommend_fresh_bg.dia2 {
	background: url("../images/recommend2/dia2_car.png") no-repeat 100% 5px;
	background-size: contain;
}
.recommend_fresh_bg div {
	width: 55%;
	padding: 10px 0 10px 40px;
	text-align: center;
}
.recommend_bg .recommend_fresh h4 {
	border-bottom: 3px solid #ef8200;
	text-align: center;
	font-size: 14px;
	margin: 0 0 10px 0;
	padding: 0 0 5px 0;
}
.recommend_bg .recommend_fresh p.r_text01 {
	background: #ef8200;
	padding: 5px 0p;
	text-align: center;
	color: #ffffff;
}
.recommend_bg .recommend_fresh.dia2 h4 {
	border-bottom: 3px solid white;
	text-align: center;
	font-size: 14px;
	margin: 0 0 10px 0;
	padding: 0 0 5px 0;
	color: #ffffff;
}
.recommend_bg .recommend_fresh.dia2 p.r_text01 {
	background: #fff100;
	padding: 5px 0p;
	text-align: center;
	color: black;
}
.recommend_bg ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0 auto;
	padding: 0;
	max-width: 60%;
}
.recommend_bg ul li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex: 1 0 47%;
	list-style: none;
	text-align: center;
}
.recommend_bg table.figure_table02 {
	max-width: 100%;
	background: #fffbe1;
	margin: 7px 7px 15px 7px;
}
.recommend_bg table.figure_table02 td {
	padding: 10px;
	width: 50%;
}
.recommend_bg table.figure_table02 td:last-child {
	border-left: 1px solid #000000;
	text-align: center;
}
.mainte_time {
	background: #4d4d4d;
	margin: 0 0 0 7px;
	padding: 3px 3px 1px 3px;
	color: #ffffff;
	display: inline-block;
}
.mainte_time.dia2{
	background: white;
	margin: 0 0 0 7px;
	padding: 3px 3px 1px 3px;
	color: black;
	display: inline-block;
}
.table_wall p {
	text-align: right;
	font-size: 12px;
}
.table_wall.dia2 p {
	text-align: right;
	font-size: 12px;
	color: #ffffff;
}

.table_wall {
	width: 100%;
	padding: 7px;
}
.more {
	margin: -40px 0 0 0;
	text-align: center;
}
.r_text01 .small_text {
	font-size: 12px;
}
.recommend_bg article.recommend_eco {
	background: #009e41;
	border: 3px solid #00591c;
	border-radius: 8px;
	width: 100%;
}
.recommend_eco_bg {
	background: url("../images/recommend/eco_diamono_keeper_car.webp") no-repeat 100% 5px;
	background-size: contain;
}
.recommend_eco_bg div {
	width: 55%;
	padding: 10px 0 10px 40px;
	text-align: center;
}
.recommend_bg .recommend_eco h3 {
	text-align: center;
	background: #ffffff;
	padding: 8px 8px 6px 8px;
	border-radius: 5px 5px 0 0;
}
.recommend_bg .recommend_eco h4 {
	border-bottom: 3px solid #00591c;
	text-align: center;
	font-size: 14px;
	margin: 0 0 10px 0;
	padding: 0 0 5px 0;
	color: #ffffff;
}
.recommend_bg .recommend_eco p.r_text01 {
	background: #00591c;
	padding: 5px 0px;
	text-align: center;
	color: #ffffff;
}
.recommend_eco .figure_table02 {
	background: #ffffff !important;
}
.recommend_eco figure {
	background: #ffffff;
	padding: 7px;
	border-radius: 0 0 5px 5px;
}
.premium_text {
	margin: 10px 0 13px 0;
	text-align: center;
	font-size: 16px;
}
.premium_text img {
	max-width: 30%;
	vertical-align: middle;
	margin: 2px 5px 5px 5px;
}
.recommend_eco figure h5 {
	background: #009e41;
	text-align: center;
	font-size: 16px;
	margin: 0 0 10px 0;
	padding: 7px 0 5px 0;
	color: #ffffff;
}

.recommend_eco figure table {
	width: 86%;
	margin: 0 auto;
	border-collapse: 5px;
	border-spacing: 5px;
}
.recommend_eco figure th {
	width: 25px;
}
.recommend_eco figure td {}
.recommend_eco figure .number {
	background: #e30211;
	text-align: center;
	font-size: 16px;
	padding: 2px 0 0 0;
	width: 23px;
	height: 23px;
	color: #ffffff;
}
h5.sihikumi {
	background: #fff000;
	margin: 30px auto 0 auto;
	padding: 7px 0 5px 0;
	text-align: center;
	border-radius: 8px 8px 0 0;
}
.shikumi2 h5 {
	color: white;
	background: #1d2088;
	margin: 30px auto 0 auto;
	padding: 7px 0 5px 0;
	text-align: center;
}
.shikumi3 h5 {
	color: white;
	background: #1d2088;
	margin: 30px auto 0 auto;
	padding: 7px 0 5px 0;
	text-align: center;
	border-radius: 8px 8px 0 0;
}


.table_bg01 {
	background: #ffffff;
	padding: 10px;
	border-radius: 0px 0px 8px 8px;
}
.number_illustration {
	margin: 30px auto 0 auto;
	text-align: center;
}

/* 750px以下のスタイル */
@media screen and (max-width: 750px) {
	.recommend ul {
		flex-direction: column;
		width: 100%;
	}
	.recommend ul li {
		width: 100%;
		margin: 0 auto -25px auto;
	}
}
.dia2_voice {
		width: 80%;
		margin: 20px auto 20px auto;
}
.dia2_voice img {
		text-align: center;
}
.shikumi2 ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 0 auto;
	padding: 10px 0 10px 0;
	max-width: 100%;
}
.shikumi2 ul li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex: 1 0 47%;
	list-style: none;
	text-align: center;
}
/* 750px以下のスタイル */
@media screen and (max-width: 750px) {
	.shikumi2 ul {
		flex-direction: column;
		width: 100%;
	}
	.shikumi2 ul li {
		width: 100%;
		margin: 0 auto -25px auto;
	}
}
table.dia2_tabel {
		width: 98%;
}
table.dia2_tabel td {
		width: 50%;
		text-align: center;
}