@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html { 
	font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
	inline-size: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	color: #494948;
	font-size: min(20px, 1.25vw);
  font-optical-sizing: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
	font-weight: 500;
	line-height: 1.5;
	background: #fff;
}

img {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

* { box-sizing: border-box; }

a {	transition: .2s ease-in-out; }

a img { transition: .2s ease-in-out; }

a:hover img { opacity: 0.8; }

h1, h2, h3, h4 {
    text-wrap: auto;
}

address {
	font-style: normal;
}

.pc { display: block !important;}
.sp { display: none !important;}
.sp_menu { display: none !important }

.dsp_li { display: inline-block !important;}

@media screen and (max-width:768px) {
.pc { display: none !important }
.sp { display: block !important }
img { max-width: 100%; height: auto; width: auto; }
body { min-width: auto !important; overflow: inherit !important; font-size: 4.5vw; }
div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
}


/* --------------------
レイアウト
--------------------*/
.inner {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

.column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
}

/* --------------------
余白
--------------------*/
.mt_0 {margin-top: 0 !important;}
.mt_1 {margin-top: 1em !important;}
.mb_1 {margin-bottom: 1em !important;}

/* --------------------
配置
--------------------*/
.tac { text-align: center !important; }
.tar { text-align: right !important; }
.tal { text-align: left !important; }

.w_100 {width: 100% !important;}

/* --------------------
文字サイズ
--------------------*/
.fs_16 { font-size: min(16px, 1vw) !important; }
.fs_18 { font-size: min(18px, 1.125vw) !important; }
.fs_20 { font-size: min(20px, 1.25vw) !important; }
.fs_22 { font-size: min(22px, 1.375vw) !important; }
.fs_24 { font-size: min(24px, 1.5vw) !important; }
.fs_28 { font-size: min(28px, 1.75vw) !important; }
.fs_30 { font-size: min(30px, 1.875vw) !important; }
.fs_32 { font-size: min(32px, 2vw) !important; }
.fs_34 { font-size: min(34px, 2.125vw) !important; }
.fs_36 { font-size: min(36px, 2.25vw) !important; }
.fs_38 { font-size: min(36px, 2.375vw) !important; }
.fs_40 { font-size: min(40px, 2.5vw) !important; }


/* --------------------
見出し
--------------------*/
/* .headline_01 */
.headline_01 {
	margin: 0 0 1em 0;
	font-size: min(40px, 2.5vw);
	font-weight: 500;
}

.headline_01 .en {
	display: inline-block;
	font-size: min(24px, 1.5vw);
	font-weight: 500;
}

.headline_01.line {
	padding-bottom: 0.5em;
	border-bottom: 1px solid #000;
}

.headline_01.bg {
	padding: 0.5em 0.3em;
	background: #eee;
}

/* .headline_02 */
.headline_02 {
	margin: 0 0 0.25em 0;
	font-size: min(28px, 1.75vw);
	font-weight: 500;
}

.headline_02::before {
	content: "■";
}

/* .headline_03 */
.headline_03 {
	margin: 0 0 0.5em 0;
	font-size: min(32px, 2vw);
	font-weight: 500;
}

@media screen and (max-width:768px) {
.headline_01 {
	margin-bottom: 0.5em;
	font-size: 6.5vw;
}

.headline_01 .en {
	font-size: 3.2vw;
}

.headline_02 {
	font-size: 5.8vw;
}

.headline_03 {
	font-size: 5.4vw;
}
}



/* --------------------
ボタン
--------------------*/
/* .btn_01 */
.btn_01 {
	display: inline-block;
	padding: 0.5em 0.8em;
	color: #fff;
	font-size: min(18px, 1.125vw);
	text-decoration: none;
	line-height: 1;
	white-space: nowrap;
	background: #ed1c24;
	border: 1px solid #ed1c24;
}

.btn_01:hover {
	background: #000;
	border: 1px solid #fff;
}

@media screen and (max-width:768px) {
.btn_01 {
	font-size: 4vw;
}
}


/* --------------------
リスト
--------------------*/
/* 括弧付き数字 */
ol.list_number {
 padding: 0;
 margin: 2em 0;
}

ol.list_number li {
 margin: 1em 0;
 list-style-type: none;
 counter-increment: number;
}

ol.list_number li::before {
 content: "(" counter(number) ") ";
}


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

header

--------------------*/
header {
	width: 100%;
	padding: 20px 1.875vw;
	background: #fff;
}

header .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

header h1 {
	margin: 0;
}

header h1 img {
	width: 470px;
}

header nav {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
}

header nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

header nav li {
	padding: 0 1.5em;
}

header nav li:last-child {
	padding-right: 0;
}

header nav a {
	padding: 0;
	color: #000;
	text-decoration: none;
	line-height: 1;
	letter-spacing: 0.1em;
}

header nav a:hover {
	color: #ed1c24;
}

header nav a.on {
	color: #ed1c24;
}

header nav .menu {
}

header nav .menu li {
	border-left: 1px solid #000;
}

header nav .menu li:first-child {
	border-left: none;
}

header nav .menu .global {
	padding-left: 20px;
	background: url("../images/icon_globalsite.jpg") no-repeat left center;
}

header nav .business span {
	font-size: 24px;
}

@media screen and (min-width:769px) and (max-width:1260px) {

header h1 img {
	width: 37.3vw;
}

header nav li {
	padding: 0 1.9vw;
}
	
header nav a {
 font-size: 1.27vw;
}
	
header nav .business span {
	font-size: 1.9vw;
}
	
}

@media screen and (max-width:768px) {
	
.sp_menu {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 2vw;
  right: 3.2vw;
  z-index: 1000;
  width: 14vw;
  height: 14vw;
	padding: 4vw;
  text-align: center;
  cursor: pointer;
}

.sp_menu span {
  display: block;
  width: 8vw;
  height: 1vw;
  background: #494948;
	border-radius: 1vw;
}

header nav {
  z-index: 99999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: none;
  overflow: scroll;
  padding: 0;
	background: #fff;
  box-sizing: border-box;
}
	
header nav ul {
	display: block;
	margin: 0;
	padding: 20vw 0 0 0;
	list-style: none;
}

header nav li {
	width: 100%;
	padding: 0.5em 1em;
	border: none;
}

header nav .menu li {
	border: none;
}

header nav li a {
	display: block;
	padding: 0.5em;
	text-decoration: none;
}

header nav .sp {
  display: block !important;
}

header nav .closebtn {
  display: block;
  position: fixed;
  top: 2vw;
  right: 3.2vw;
  z-index: 1000;
  width: 14vw;
  height: 14vw;
	margin: 0;
	padding: 4vw;
  text-align: center;
  cursor: pointer;
}

header nav .closebtn span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
  display: block;
  width: 8vw;
  height: 1vw;
  background: #f39800;
	border-radius: 1vw;
}

header nav .closebtn span:first-child {
	transform:rotate(30deg); 
}

header nav .closebtn span:last-child {
	transform:rotate(-30deg); 
}
	
header h1 img {
	width: 60vw;
}



}

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

footer

--------------------*/
footer {
	padding: min(50px, 3.125vw) 5vw min(30px, 1.875vw);
	color: #fff;
	background: #000000;
}

footer .inner {
	max-width: 1380px;
}

footer .inner a:hover {
	color: #ed1c24;
}

footer .text {
	flex: 1;
}

footer .text .name {
	margin: 0 0 1em 0;
}

footer .text .name a {
	font-size: min(30px, 1.875vw);
	text-decoration: none;
}

footer .text .menu {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

footer .text .menu li {
	padding: 1em 2em 1em 0;
}

footer .text .menu li a {
	font-size: min(20px, 1.25vw);
	text-decoration: none;
	line-height: 1;
}

footer .text .menu .global {
	width: 100%;
	padding: 1em 0 1em 2em;
	background: url("../images/icon_globalsite_w.svg") no-repeat left center / 1.6em auto;
}

footer .link .btn {
	text-align: right;
}

footer .link .logo {
	margin-top: 3em;
	text-align: right;
}

footer .link .logo img {
	height: min(60px, 3.75vw);
	transition: .2s ease-in-out;
}

footer .copy {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-top: 1em;
}

footer .copy ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 1em;
	padding: 0;
	list-style: none;
}

footer .copy li {
	padding: 0 1em;
	border-left: 1px solid #fff;
}

footer .copy li a {
	text-decoration: none;
}

footer .copy small {
	font-size: min(16px, 1vw);
}

@media screen and (max-width:768px) {
	
footer .text {
	flex: initial;
	width: 100%;
}
	
footer .text .name a {
	font-size: 5vw;
}
	
footer .text .menu li {
	padding: 3vw 1em 0 3vw;
}

footer .text .menu li a {
	font-size: 4vw;
}

footer .link {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

footer .link .logo {
	margin-top: 0;
}

footer .link .logo img {
	height: 10vw;
}
	
footer .copy {
	flex-direction: column-reverse;
}
	
footer .copy ul {
	margin: 1em 0;
}
	
footer .copy li {
	border: none;
	padding-left: 0;
}

footer .copy li a {
	font-size: 4vw;
}

footer .copy small {
	font-size: 4vw;
}


}

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

#pagetop

--------------------*/
#page_top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 50px;
	height: 50px;
	background: #656262;
	border-radius: 5px;
}

#page_top span {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 16px;
	margin: 17px 10px;
}

#page_top span::before,
#page_top span::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 2px);
  width: 4px;
  height: 21.7px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: 50% 2px;
}

#page_top span::before {
  transform: rotate(47.3deg);
}

#page_top span::after {
  transform: rotate(-47.3deg);
}

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

main

--------------------*/
main {
	display: block;
	padding-bottom: 50px;
}

main section {
	margin: 0 auto min(80px, 5vw);
	padding: 0;
}

main .inner {
	max-width: 1360px;
}

main .container {
	width: 100%;
	max-width: calc(1360px + 10vw);
	margin: 0 auto;
	padding: 0 5vw;
}

@media screen and (max-width:768px) {
	
main section {
	margin: 0 auto 10vw;
}
	
}


/* --------------------
.headline
--------------------*/
main .headline {
	margin-bottom: min(100px, 6.25vw);
}

main .headline .page_tit {
	padding: 1em 1.875vw;
	background: #000;
}

main .headline .page_tit .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	max-width: 1600px;
}

main .headline .page_tit .title {
	margin: 0;
	color: #fff;
	font-size: min(18px, 1.125vw);
	font-weight: 500;
	line-height: 1;
}

main .headline .page_tit .under {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

main .headline .page_tit .under .titile {
	margin: 0;
}

main .headline .page_tit .under a {
	margin-left: 2em;
	color: #fff;
	font-size: min(14px, 0.875vw);
	text-decoration: none;
}

main .headline .page_tit .under a:hover {
	color: #ed1c24;
}

main .headline .page_tit .under a.on {
	color: #ed1c24;
}

main .headline .mv {
	position: relative;
}

main .headline .mv img {
	width: 100%;
}

main .headline .mv .filter {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 70%,rgba(0,0,0,0) 100%);
}

main .headline .mv .title {
	position: absolute;
	left: 5vw;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	margin: auto;
	color: #fff;
	font-size: min(90px, 5.625vw);
	line-height: 1;
}

@media screen and (max-width:768px) {
	
main .headline .page_tit .inner {
	align-items: flex-start;
}
	
main .headline .page_tit .under {
	line-height: 1;
}
	
main .headline .page_tit .under span {
	align-items: flex-start;
}
	
main .headline .page_tit .under a {
	margin-left: 2em;
	font-size: 3vw;
	line-height: 1;
}
	
main .headline .page_tit .title {
	font-size: 4vw;
}
	
}

/* --------------------
.catalog_list
--------------------*/
.catalog_list {
	margin: min(80px, 5vw) 0 min(20px, 1.25vw);
}

.catalog_list .item {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	margin-bottom: min(60px, 3.75vw);
}

.column.catalog_list .item {
	width: 48%;
	max-width: 610px;
}

.catalog_list .item p {
	margin: 0 0 1em 0;
	font-size: min(20px, 1.25vw);
}

.catalog_list .item .headline_btn {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 2em;
}

.catalog_list .item .headline_btn .headline_03 {
	margin: 0 0.5em 0 0;
}

.catalog_list .item .headline_btn .btn_01 {
	margin: 0.5em 0;
}

.catalog_list .item ul,
.catalog_list .item ol {
	margin: 0.5em 0;
	padding-left: 1.5em;
	font-size: min(20px, 1.25vw);
}

.catalog_list .item ul li,
.catalog_list .item ol li {
	margin-bottom: 0.5em;
}

.catalog_list .item .btn {
	margin-top: auto;
}

.catalog_list .item .btn_list {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	font-size: min(20px, 1.25vw);
}

.catalog_list .item .btn_list dt {
	width: 58%;
	margin-bottom: 0.5em;
}

.catalog_list .item .btn_list dd {
	width: 42%;
	margin: 0 0 0.5em 0;
}

@media screen and (max-width:768px) {
	
.catalog_list {
	margin: 10vw 0 5vw;
}

.catalog_list .item {
	margin-bottom: 10vw;
}

.column.catalog_list .item {
	width: 100%;
	max-width: 100%;
}

.catalog_list .item p {
	font-size: 4vw;
}

.catalog_list .item .btn {
	text-align: right;
}
	
.catalog_list .item .btn_list {
	font-size: 4.5vw;
}

.catalog_list .item ul,
.catalog_list .item ol {
	font-size: 4.5vw;
}

}

/* --------------------
.bdrbox
--------------------*/
.bdrbox {
	padding-top: min(40px, 2.5vw);
}

.bdrbox .inner {
	padding: min(40px, 2.5vw);
	border: 5px solid #d9d9d9;
}

.bdrbox .inner .headline_01 {
	margin: min(-60px, -3.75vw) 0 min(20px, 1.25vw);
}

.bdrbox .inner .headline_01 span {
	padding: 0 0.3em;
	background: #fff;
}

@media screen and (max-width:768px) {
	
.bdrbox {
	padding-top: 10vw;
}

.bdrbox .inner {
	padding: 10vw 5vw 5vw;
}

}


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

#top（トップページ）

--------------------*/
#top .headline_01 span {
	display: block;
}
/* --------------------
#top_mv
--------------------*/
#top_mv {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
}

#top_mv .item {
	position: relative;
	width: 50%;
}

#top_mv .item img {
	width: 100%;
}

#top_mv .item .text {
	position: absolute;
	left: 5vw;
	bottom: 6.25vw;
}

#top_mv .item .text p {
	margin: 0 0 1em 0;
	color: #fff;
	line-height: 1.1;
}

#top_mv .item .text p .jp {
	display: block;
	font-size: 4.5vw;
	letter-spacing: 0.2em;
}

#top_mv .item .text p .en {
	display: block;
	font-size: 1.875vw;
}

@media screen and (max-width:768px) {
	
#top_mv .item {
	width: 100%;
}
	
#top_mv .item .text p .jp {
	font-size: 9.375vw;
}

#top_mv .item .text p .en {
	font-size: 3.9vw;
}

	
}


/* --------------------
#pickup
--------------------*/
#pickup ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 1380px;
	margin: min(100px, 6.25vw) auto min(80px, 5vw);
	padding: 0;
	list-style: none;
}

#pickup li {
	position: relative;
	width: 32.65%;
	max-width: 450px;
	margin-bottom: min(25px, 1.5625vw);
}

#pickup li img {
	width: 100%;
}

#pickup li .filter {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
}

#pickup li .text {
	position: absolute;
	left:0;
	top: 0;
	width: 100%;
	height: 100%;
}

#pickup li .text a {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

#pickup li .text p {
	margin: 0;
	padding: 0 0.5em;
	min-height: 4em;
	color: #fff;
	font-size: min(32px, 2vw);
	line-height: 1.2;
}

#pickup li .text .btn {
	padding: 0 0.5em;
	color: #fff;
	font-size: min(30px, 1.875vw);
	text-align: right;
	background: #f0242b; 
	transition: .2s ease-in-out;
}

#pickup li .text a:hover .btn {
	background: #000;
}

@media screen and (max-width:768px) {
	
#pickup ul {
	padding: 0 3vw;
}
	
#pickup li {
	width: 49%;
	max-width: auto;
	margin-bottom: 3.255vw;
}
	
#pickup li .text p {
	margin-bottom: 0.5em;
	min-height: auto;
	font-size: 4.16vw;
}

#pickup li .text .btn {
	font-size: 3.9vw;
}
	
}


/* --------------------
#top_comnany
--------------------*/
#top_comnany {
	margin: min(100px, 6.25vw) auto;
}

#top_comnany .inner {
	flex-direction: row-reverse;
}

#top_comnany .text {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: 50%;
	padding-left: min(80px, 5vw);
}

#top_comnany .text p {
	margin: 0 0 2em 0;
	font-size: min(20px, 1.25vw);
	line-height: 2;
}

#top_comnany .text .btn {
	margin-top: auto;
}

#top_comnany .img {
	width: 50%;
}

@media screen and (max-width:768px) {
	
#top_comnany {
	padding: 5vw;
}
	
#top_comnany .inner {
	flex-direction: row-reverse;
}

#top_comnany .text {
	width: 100%;
	padding: 0 0 5vw 0;
}

#top_comnany .text p {
	font-size: 4vw;
}

#top_comnany .img {
	width: 100%;
}
	
}

/* --------------------
#top_recruit
--------------------*/
#top_recruit {
	margin: min(100px, 6.25vw) auto;
}

#top_recruit .text {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: 50%;
	padding-right: min(80px, 5vw);
}

#top_recruit .img {
	width: 50%;
}

@media screen and (max-width:768px) {
	
#top_recruit {
	padding: 5vw;
}

#top_recruit .text {
	width: 100%;
	padding: 0 0 5vw 0;
}

#top_recruit .img {
	width: 100%;
}

}



/* --------------------
#top_movie
--------------------*/
#top_movie {
	margin: min(100px, 6.25vw) auto;
}

#top_movie .inner {
	flex-direction: row-reverse;
}

#top_movie .text {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	width: 50%;
	padding-left: min(80px, 5vw);
}

#top_movie .img {
	width: 50%;
}

@media screen and (max-width:768px) {
	
#top_movie {
	padding: 5vw;
}

#top_movie .text {
	width: 100%;
	padding: 0 0 5vw 0;
}

#top_movie .img {
	width: 100%;
}

}


@media screen and (min-width:769px) and (max-width:1600px) {

#top_comnany {
	padding-right: 5vw;
}

#top_recruit {
	padding-left: 5vw;
}

#top_movie {
	padding-right: 5vw;
}
	
	
}

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

#company（会社概要）

--------------------*/
#company .column section {
	width: 50%;
}

#company .business .column .item {
	width: 50%;
	padding-right: 3em;
}

#company .business p {
	margin: 0 0 1em 0;
}

#company .office .item {
	width: 50%;
	margin-top: 2em;
}

#company .philosophy {
	padding-top: min(40px, 2.5vw);
}

#company .philosophy .inner {
	padding: min(40px, 2.5vw);
	border: 5px solid #d9d9d9;
}

#company .philosophy .inner .headline_01 {
	margin: min(-60px, -3.75vw) 0 min(20px, 1.25vw);
}

#company .philosophy .inner .headline_01 span {
	padding: 0 0.3em;
	background: #fff;
}

@media screen and (max-width:768px) {
	
#company .column section {
	width: 100%;
}

#company .business .column .item {
	width: 100%;
	padding-right: 0;
}
	
#company .office .item {
	width: 100%;
	margin-top: 2em;
}

#company .philosophy {
	padding-top: 10vw;
}

#company .philosophy .inner {
	padding: 10vw 5vw 5vw;
}

}


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

#motion（自動車用品）

--------------------*/
#motion .column .text {
	flex: 1;
}

#motion .column .text p {
	font-size: min(20px, 1.25vw);
}

#motion .column .img {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	padding: 0 min(60px, 3.75vw);
}

#motion .column .img img {
	width: min(282px, 17.625vw);
	margin-right: min(60px, 3.75vw);
}

@media screen and (max-width:768px) {
	
#motion .column .text {
	flex: initial;
	width: 100%;
	margin-bottom: 5vw;
}

#motion .column .text p {
	font-size: 4.5vw;
}

#motion .column .img {
	width: 100%;
	margin-bottom: 10vw;
}

#motion .column .img img {
	width: 30vw;
}

}


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

#industrial（工業用製品）

--------------------*/
#industrial .column .text {
	flex: 1;
}

#industrial .column .text p {
	font-size: min(20px, 1.25vw);
}

#industrial .column .img {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	padding: 0 min(60px, 3.75vw);
}

#industrial .column .img img {
	width: min(282px, 17.625vw);
	margin-right: min(60px, 3.75vw);
}

@media screen and (max-width:768px) {
	
#industrial .column .text {
	flex: initial;
	width: 100%;
	margin-bottom: 5vw;
}

#industrial .column .text p {
	font-size: 4.5vw;
}

#industrial .column .img {
	width: 100%;
	margin-bottom: 10vw;
}

#industrial .column .img img {
	width: 30vw;
}
	
}

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

#recruit（採用情報）

--------------------*/
#recruit .column {
	justify-content: flex-start;
}

#recruit .column section {
	width: 50%;
	margin-left: 0;
}

#recruit .column .item {
	width: 50%;
	margin-bottom: 2em;
	padding-right: 2em;
}

@media screen and (max-width:768px) {
	
#recruit .column section {
	width: 100%;
}
	
#recruit .column .item {
	width: 100%;
}
}

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

#movie（自動車用品ムービー）

--------------------*/
#movie .column .item {
	width: 48%;
	margin-bottom: min(60px, 3.75vw);
}

#movie .movie {
	position: relative;
	margin-top: 1em;
	padding-top: 56.25%; /* 16:9 アスペクト比 */
	height: 0;
}

#movie .movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width:768px) {
	
#movie .column .item {
	width: 100%;
	margin-bottom: min(60px, 3.75vw);
}

}

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

#contact（お問い合わせ）

--------------------*/
#contact main {
	color: #fff;
	background: #f0242b;
}

#contact .tel p {
	font-size: min(18px, 1.125vw);
}

#contact .tel .number {
	margin: 0;
	font-size: min(36px, 2.25vw);
}

#contact table {
	width: 100%;
}

#contact th,
#contact td {
	padding: 10px;
	text-align: left;
	font-weight: 500;
}

#contact th {
	font-size: min(24px, 1.5vw);
}

#contact th .req {
	margin-left: 1em;
	padding: 0.1em 1em;
	border: 1px solid #fff;
	font-size: min(18px, 1.125vw);
}

#contact input[type="text"],
#contact input[type="tel"],
#contact input[type="email"],
#contact textarea {
	width: 100%;
	padding: 0.8em;
	box-sizing: border-box;
	border: none;
	font-size: min(18px, 1.125vw);
}

#contact td label {
	margin-right: 1em;
	font-size: min(18px, 1.125vw);
}

#contact input[type="submit"],
#contact input[type="reset"] {
	cursor: pointer;
	transition: .2s ease-in-out;
}

#contact .form_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#contact .form_btn .btn_01 {
	border: 1px solid #fff;
}

#contact .form_btn .btn_01:hover {
	border: 1px solid #000;
}

#contact .mail .bg {
	padding: 1em 2em 2em 2em;
	color: #231f20;
	font-size: min(18px, 1.125vw);
	line-height: 1.7;
	background: #fff;
}

@media screen and (max-width:768px) {
	
#contact .tel p {
	font-size: 4vw;
}

#contact .tel .number {
	font-size: 5vw;
}
	
#contact col {
	display: none;
}

#contact th,
#contact td {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 2vw 0;
}
	
#contact th {
	padding-top: 5vw;
	font-size: 4.5vw;
}

#contact th .req {
	font-size: 3vw;
}

#contact input[type="text"],
#contact input[type="tel"],
#contact input[type="email"],
#contact textarea {
	font-size: 4vw;
}

#contact td label {
	font-size: 4vw;
}

#contact .mail .bg {
	font-size: 4.5vw;
}

	
}

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

#sitemap（サイトマップ）

--------------------*/
#sitemap section ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
}

#sitemap section li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 48%;
	margin: 1em 0;
}

#sitemap section li span {
	flex: 1;
}

#sitemap section li .btn_01 {
	min-width: 8em;
	margin: 0.5em 1em 0.5em 0;
	text-align: center;
}

@media screen and (max-width:768px) {
	
#sitemap section li {
	width: 100%;
}
	
#sitemap section li span {
	flex: initial;
	width: 100%;
}


	
}

