@charset "utf-8";

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body { min-width: 0px; font-size: 0.9em;}

.hidden_s { display: none !important;}

.container { width: 100%; padding: 0px 15px;}


/* ------------------------
	ヘッダー
------------------------ */

.header h1 { padding: 10px 0px;}
.header h1 img { width: auto; height: 30px;}


/* ------------------------
	グローバルナビ
------------------------ */

/* ハンバーガーメニュー */
.humberger {
	background: #e00101;
	cursor: pointer;
	display: block;
	position: fixed;
	top: 0px;
	right: 0px;
	width: 50px;
	height: 50px;
	z-index: 10001;
}
.humberger span {
	background: #fff;
	border-radius: 15px;
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	transition: 0.4s;
}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after {
	color: #fff;
	content: 'MENU';
	display: block;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: 0.4s;
	position: absolute;
	left: 0;
	bottom: 1px;
	width: 100%;
}
.is-open .humberger:after { content: 'CLOSE';}
.is-open .humberger span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
	  -ms-transform: translateY(6px) rotate(-45deg);
		  transform: translateY(6px) rotate(-45deg);
}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
	  -ms-transform: translateY(-10px) rotate(45deg);
		  transform: translateY(-10px) rotate(45deg);
}
/* ナビ本体 */
.sp-navi { -webkit-text-size-adjust: 100%;}
.sp-navi.is-open .sp-navi-inner {
	opacity: 1;
	visibility: visible;
	z-index: 10000;
}
.sp-navi .sp-navi-inner {
	background: url("../images/top/top_sec01_bg.png");
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0px;
	height: 100%;
	width: 100%;
	transition: .5s;
	padding-bottom: 30px;
	font-size: 1.1em;
}
.sp-navi .logo { padding: 10px 55px 10px 15px; background: #fff;}
.sp-navi .logo img { width: auto; height: 30px;}
.sp-navi .list01 a { color: #3c3c3c; font-size: 0.9em;}
.sp-navi .list01 li > a, .sp-navi .list01 li > span { display: block; text-decoration: none; border-bottom: dashed 1px #ccc; padding: 10px 5px 10px 40px; position: relative;}
.sp-navi .list01 > li > a:before, .sp-navi .list01 > li > span:before { content: ""; position: absolute; left: 15px; top: 50%; margin-top: -1.5px; width: 10px; height: 3px; background-color: #e00101;}


/* ------------------------
	フッター
------------------------ */

.footer { padding: 10px 15px;}
.footer .container { display: flex; flex-flow: column-reverse; flex-wrap: wrap;}
.footer > * { float: none !important; width: 100%; text-align: center;}
.footer figure { margin-bottom: 15px;}
.footer figure img { width: auto; height: 25px;}

.footer_nav { margin-bottom: 20px;}

.pagetop { width: 40px; right: 20px; bottom: 20px;}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.slideshow_wrap.left, .top_news.right { float: none; width: auto;}
.slideshow_wrap.left { margin: auto -15px;}
.top_news.right { padding: 15px 0px;}

.top_sec02_2 h2 { padding-right: 30%;}
.top_sec02_2 dt .mosaic-overlay { display: block; position: static; height: auto; background: none; text-align: left; opacity: 1; margin-top: 10px; background: #eee; padding: 10px 1em;}
.top_sec02_2 dt a { color: #000; font-weight: bold;}
.top_sec02_2 ul { padding-left: 1em;}
.top_sec02_2 li { list-style: disc outside;}

@media only screen and (max-width: 640px) {
	.top_sec02_2 dt { width: calc(50% - 20px);}
}

@media only screen and (max-width: 480px) {
	.top_sec02_2 dt { width: calc(100% - 20px); max-width: 300px; margin: 0px auto 30px;}
	.mosaic-backdrop { text-align: center; padding: 0px 5%;}
}


/*------------------------------------------------------

	下層

------------------------------------------------------*/

h2.heading_btmline img { width: auto; max-height: 27px;}

.company_box { width: 100%;}

.product_sec01 table { width: 100%;}

.product_sec02 .left { width: 40%;}
.product_sec02 .right { width: 55%;}

.product_sec01 .wrap table { font-size: 0.8em;}

.table_wrap table { width: 100%;}

.product_sec01 table .type { width: auto !important;}
.product_sec01.product03 table th:first-child { min-width: 10em;}

.overhaul_sec01 .left, .overhaul_sec01 .right { float: none; width: auto;}
.overhaul_sec01 .right { padding: 20px 20%;}
.overhaul_sec01 .border { margin: 3px 5px;}
.overhaul_sec01 .wrap { padding: 0px;}
.overhaul_sec01 .clearFix.ta_center { display: flex; justify-content: space-between; align-items: center;}
.overhaul_sec01 .box figure { width: auto; margin: auto;}
.overhaul_sec01 .box .arrow { margin: 0px 15px;}

.overhaul_sec02 .wrap { padding: 0px;}
.overhaul_sec02 .box { width: auto;}
.overhaul_sec02 .box figure { padding: 0px 7px;}
.overhaul_sec02 .box .pos_ab { font-size: 0.8em;}

.heading_btmline02 { font-size: 1.8em; padding-bottom: 10px;}
.heading_btmline02:after { width: 180px;}

.auto_sec01 > div { width: 55%;}
.auto_sec01 figure { width: 40%;}
.auto_sec01 h3 { font-size: 1.55em;}
.auto_sec01 h3 br { display: none;}
.auto_sec01 p { font-size: 0.9em; line-height: 1.8;}

.auto_sec02 .box > div { width: 31%;}
.auto_sec02 ol li { margin-bottom: 10px;}

.auto_sec03 .box { max-width: 555px; margin: auto;}

hr.mb100 { margin-bottom: 50px;}

.table-bordered.used_table { font-size: 0.8em;}
.table-bordered.used_table th { width: auto !important; padding: 5px 0.4em;}
.table-bordered.used_table .name { min-width: 6em;}
.table-bordered.used_table .maker, .table-bordered.used_table .type { min-width: 5em;}
.table-bordered.used_table .used_btn a { width: 30px; height: 30px; background-size: 100% auto;}
.table-bordered.used_table .contact { width: calc(30px + 1em) !important;}

.used_single table { width: 100%; font-size: 0.85em;}

.privacy_box { width: 100%;}

.contact_sec01 form, .contact_sec01 .box { width: 100%;}

.contents { float: none; width: 100%; margin-bottom: 50px;}
.sidebar { float: none; width: auto; max-width: 400px; margin: auto;}

.contents .fp15 { padding: 15px 0px;}

.topics_ttl { font-size: 2em;}

.single_wrap .pager { padding-left: 0px; font-size: 0.85em;}

.pdt_box h3 { font-size: 1.3em;}
.pdt_box h3 span { font-size: 1.6em; line-height: 1.3;}

@media only screen and (max-width: 640px) {
	.product_sec02 .left, .product_sec02 .right { float: none; width: auto;}

	.table_wrap { overflow-x: scroll;}
	.table_wrap .show_sp { display: block;}
	.table_wrap table { min-width: 500px; font-size: 0.7em;}

	.overhaul_sec02 li { width: 46%;}

	.auto_sec01 { display: block;}
	.auto_sec01 > div, .auto_sec01 figure { width: auto;}
	.auto_sec01 figure { margin-top: 20px;}

	.auto_sec02 .box > div { width: 48%;}
	.auto_sec02 .box > div:first-child { width: 100%; margin-bottom: 15px;}
}

@media only screen and (max-width: 480px) {
	.overhaul_sec02 ul { font-size: 2vw;}
}


