@charset "utf-8";

#News{
	padding: 20px 0;
}
.news-box{
	padding: 20px 30px;
	background: #fffdf6;
	border: solid 3px #da4453;
}
.news-box p{
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
	color: #da4453;
}
.news-box p .label-news{
	background: #da4453;
	color: #fff;
	font-size: 80%;
	display: inline-block;
	padding: 2px 6px;
	margin-right: 10px;
	border-radius: 3px;
	position: relative;
	top: -2px;
}


.bg-odate{
	background: #F8F8F8;
}
.img-half{
	zoom: 0.5;
	margin-left: auto;
	margin-right: auto;
}
.font-big{
	font-size: 120%;
}
.text-kome{
	position: relative;
	font-size: 16px;
}
.text-red{
	color: #C86162;
}
.text-kome span{
	padding-left: 20px;
	display: inline-block;
	position: relative;
}
.text-kome span:before{
	content: "※";
	position: absolute;
	top: 3px;
	left: 0;
	font-size: 80%;
}
.header-section{
	margin-bottom: 30px;
	text-align: center;
}
.title-section{
	font-size: 22px;
	font-weight: bold;
	position: relative;
	line-height: 1;
}
.title-section b{
	position: relative;
	display: block;
	padding: 30px 0 0;
	line-height: 1.4;
}
.btn-base{
	position: relative;
	display:block;
	text-align: center;
	padding: 20px 6px;
	font-size: 20px;
	font-weight: bold;
	border-radius: 5px;
	background: #C86162;
	color: #fff;
}
.btn-base:hover{
	text-decoration: none;
	background: #e9b93b;
	color: #fff;
}
.btn-base.btn-close:hover{
	text-decoration: none;
	background: #ccc;
	color: #999;
}
.btn-02{
	background: #E8BC41;
	color: #fff;
}
.btn-base:after{
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0, -50%);
    content: "\f0da";
    font-size: 0.8em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.btn-base.ver-under:after{
    content: "\f0d7";
}
.btn-base.btn-close:after{
    display: none;
}
.btn-end{
	background: #eee;
	color: #666;
	pointer-events: none;
}
.link-pdf{
	font-weight: bold;
	text-decoration: underline;
}
.link-pdf:hover{
	text-decoration: none;
}
.btn-base.link-pdf{
	color: #fff;
	text-decoration: none;
}
.btn-base.link-pdf:after{
	display: none;
}
.btn-base.link-pdf{
	color: #fff;
}
.btn-base.link-pdf:hover{
	text-decoration: none;
}
@media(max-width:786px) {
.news-box{
	padding: 10px 20px;
	border: solid 2px #da4453;
}
.text-kome{
	font-size: 14px;
}
.header-section{
	margin-bottom: 15px;
}
.title-section img{
	zoom:0.5;
}
.btn-base{
	padding: 14px 6px;
	font-size: 16px;
}
.title-section{
	font-size: 16px;
}
.title-section b{
	padding: 20px 0 15px;
}
}



#Hero h1{
	padding: 0;
	margin: 0 auto;
}




#Lead{
	padding: 0px 0 80px;
}
.box-lead{
	background: #fff;
	border-radius: 10px;
	padding: 40px;
	width: 100%;
	max-width: 950px;
	margin:-40px auto 0;
	position: relative;
	z-index: 2;
}
.title-lead{
	text-align: center;
	margin-bottom: 30px;
	font-size: 24px;
	line-height: 1.6;
	font-weight: bold;
}
.text-lead{
	text-align: center;
	margin-bottom: 30px;
}
.text-lead p{
	font-size: 18px;
}
@media(max-width:768px) {
#Lead{
	padding: 0 0 40px;
}
.box-lead{
	padding: 30px;
	margin: -20px auto 0;
}
.text-lead{
	margin-bottom: 20px;
}
.text-lead p{
	font-size: 13px;
}
}



#Experience{
	padding: 80px 0 80px;
}
.lead-experience{
	text-align: center;
	margin-bottom: 60px;
}
.lead-experience p{
	font-size: 16px;
}
.lead-experience p b{
	font-size: 20px;
}
.lead-experience p + p{
	margin-top: 10px;
}
.title-dia{
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}
.title-dia span{
	display: inline-block;
	color: #0B686F;
	border:solid 2px #0B686F;
	padding: 10px 20px;
	line-height: 1;
	border-radius: 100px;
}
.text-dia{
	text-align: center;
	font-size: 16px;
	margin-bottom: 10px;
	font-weight: bold;
}
.label-oufuku{
	text-align: center;
	margin-bottom: 10px;
}
.label-oufuku span{
	display: inline-block;
	padding:5px 15px;
	font-size: 16px;
	color: #0F5DA7;
	border:solid 2px #0F5DA7;
	border-radius: 100px;
	line-height: 1;
	font-weight: bold;
}

.row-dia{
	margin-top: 40px;
	display: flex;
}
.col-dia{
	width: 50%;
	padding: 0 10px;
}
.tbl-dia{
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	width: 100%;
}
.tbl-dia th,
.tbl-dia td{
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	font-size: 14px;
	text-align: center;
	width: 33.333%;
	padding: 5px;
	background: #fff;
}
.tbl-dia th{
	background: #0B686F;
	color: #fff;
}
.tbl-dia tr:nth-child(even) th{
	background: #118992;
}
.tbl-dia td{
	font-size: 14px;
}
.tbl-dia thead th{
	background: #eee;
	color: #666;
}
@media(max-width:768px) {
#Experience{
	padding: 40px 0 40px;
}
.lead-experience{
	margin-bottom: 30px;
}
.lead-experience p{
	font-size: 12px;
}
.lead-experience p b{
	font-size: 16px;
}
.lead-route p{
	font-size: 12px;
}
.lead-route p b{
	font-size: 16px;
}
.title-dia{
	font-size: 16px;
}
.text-dia{
	font-size: 14px;
}
.row-dia{
	display: block;
}
.col-dia{
	width: 100%;
}
.col-dia + .col-dia{
	margin-top: 30px;
}
.tbl-dia{
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

}




#About{
	padding: 80px 0 80px;
	background: #fff;
	position: relative;
}
#About:before{
	content: "";
	width: 100%;
	background: #F8F8F8;
	height: 110px;
	position: absolute;
	top: 0;
	left: 0;
}
.dl-step{
	padding: 20px;
	position: relative;
	z-index: 2;
	border:solid 1px #E1E1E1;
	border-radius: 10px;
}
.dl-step.last:after{
	display: none;
}
.dl-step dt{
	font-size: 18px;
	margin-bottom: 10px;
	position: relative;
	padding-left: 20px;
}
.dl-step dt:before{
	content: "●";
	font-size: 80%;
	position: absolute;
	top: 3px;
	left: 0;
	color: #0B686F;
}
.dl-step dd{
	font-size: 14px;
	line-height: 1.6;
}
.dl-step dd img{
	width: 100%;
	max-width: 80px;
}
.dl-step dd > ul > li{
	position: relative;
	padding-left: 15px;
}
.dl-step dd > ul > li:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.dl-step dd > ul > li + li{
	margin-top: 5px;
}
.wrap-carspec{
	padding: 20px;
	margin-bottom: 20px;
}
.row-carspec{
	display: flex;
}
.col-carspec-img{
	width: 44%;
}
.col-carspec-text{
	width: 56%;
	padding-left: 40px;
}

.row-carabout{
	display: flex;
}
.col-carabouttext{
	width: 35%;
	padding-right: 10px;
	order: 1;
}
.col-caraboutimg{
	width: 65%;
	order: 2;
}
.list-carabout > li{
	display: flex;
	width: 100%;
}
.list-carabout > li + li{
	margin-top: 20px;
}
.label-carspec{
	width: 11%;
}
.text-carspec{
	width: 89%;
	font-size: 18px;
	padding-left: 10px;
}
.text-carspec b{
	display: block;
}
.about-01 b{
	color: #243ba0;
}
.about-02 b{
	color: #2b91c0;
}
.about-03 b{
	color: #149c97;
}
.about-04 b{
	color: #038433;
}
.about-05 b{
	color: #43c709;
}

.row-carsensor{
	display: flex;
	flex-wrap: wrap;
}
.col-carsensor{
	width: 50%;
	text-align: center;
	padding: 0 10px;
}
.col-autoware{
	margin-top: 40px;
}
.dl-carspec{
	margin-top: 10px;
}
.dl-carspec dt{
	font-size: 14px;
	margin-bottom: 10px;
	background: #ccc;
	padding: 5px 15px;
	border-radius: 100px;
	text-align: center;
	display: inline-block;
}
.col-lidar .dl-carspec dt{
	background: #FFF04E;
}
.col-camera .dl-carspec dt{
	background: #E71B1B;
	color: #fff;
}
.col-autoware .dl-carspec dt{
	background: #0F5DA7;
	color: #fff;
}
.dl-carspec dd{
	font-size: 14px;
	line-height: 1.6;
	text-align: left;
}
.dd-carspecimg{
	margin-top: 10px;
}
.dl-safety{
	padding: 0px 10px;
}
.dl-safety dt{
	text-align: center;
	background: #fff;
	border-radius: 300px;
	margin-bottom: 10px;
	overflow: hidden;
}
.dl-safety dt img{
	border-radius: 300px;
	border:solid 1px #E1E1E1;
	padding: 20px;
}
.dl-safety dd{
	text-align: left;
	font-size: 16px;
	line-height: 1.6;
}
.wrap-senser{
	width: 100%;
	max-width: 1000px;
	margin:60px auto 30px;
}
.wrap-spectext{
	width: 100%;
	max-width: 750px;
	padding: 40px;
	margin:60px auto 80px;
	border:3px solid #0B686F;
	border-radius: 10px;
}
.title-spec{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #0B686F;
	margin-bottom: 40px;
}
.title-spec span{
	display: inline-block;
	border-bottom: 2px solid #0B686F;
	padding: 0 10px 10px;
}
.dl-step:after{
    border: 12px solid transparent;
    border-top: 12px solid #0B686F;
    right: 50%;
    bottom: -24px;
    transform: translate(50%, 0);
	content: "";
	position: absolute;
	z-index: 1;
}
.title-safety{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #0B686F;
	margin-bottom: 30px;
	position: relative;
}
.title-safety span{
	padding: 0 20px 0;
	background: #fff;
	z-index: 2;
	position: relative;
	display: inline-block;
}
.title-safety:after{
	content: "";
	display: block;
	height: 2px;
	width: 450px;
	background: #0B686F;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
@media(max-width:768px) {
#About{
	padding: 40px 0 40px;
}
#About:before{
	height: 55px;
}
.dl-step{
	margin-bottom: 24px;
}
.dl-step dt{
	font-size: 16px;
}
.wrap-carspec{
	margin-bottom: 15px;
}
.row-carspec{
	display: block;
}
.col-carspec-img{
	width: 100%;
}
.col-carspec-text{
	width: 100%;
	padding-left: 0;
}

.row-carabout{
	display: block;
}
.col-carabouttext{
	width: 100%;
	padding-right: 0;
	padding: 0 20px;
}
.col-caraboutimg{
	width: 100%;
	margin-bottom: 10px;
}
.label-carspec{
	width: 9%;
}
.text-carspec{
	width: 91%;
	font-size: 14px;
	padding-left: 10px;
}

.row-carsensor{
	display: block;
}
.col-carsensor{
	width: 100%;
}
.col-autoware{
	margin-top: 40px;
}
.col-carsensor + .col-carsensor{
	margin-top: 40px;
}
.col-carsensor img{
	zoom:0.5;
}
.dl-carspec{
	margin-top: 10px;
}
.dl-carspec dt{
	font-size: 14px;
	margin-bottom: 10px;
	background: #ccc;
	padding: 5px 15px;
	border-radius: 100px;
	text-align: center;
	display: inline-block;
}
.col-lidar .dl-carspec dt{
	background: #FFF04E;
}
.col-camera .dl-carspec dt{
	background: #E71B1B;
	color: #fff;
}
.dl-carspec dd{
	font-size: 14px;
	line-height: 1.6;
	text-align: left;
}
.dd-carspecimg{
	margin-top: 10px;
}
.dl-safety{
	padding: 10px 10px;
}
.dl-safety dd{
	font-size: 14px;
}
.title-dia{
	font-size: 16px;
}
.title-safety{
	font-size: 16px;
}
.wrap-spectext{
	padding: 20px 20px 20px;
	margin: 0px auto 40px;
}
.wrap-senser{
	margin:30px auto 15px;
}
.title-safety{
	font-size: 16px;
}
.title-safety{
	margin-bottom: 20px;
}
.title-safety:after{
	content: "";
	display: block;
	height: 2px;
	width: 100%;
	background: #0B686F;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.title-spec{
	font-size: 16px;
	margin-bottom: 20px;
}
}
@media(min-width:767px) {
.dl-step:after{
    border: 12x solid transparent;
    border-top:12px solid transparent;
    border-left: 12px solid #0B686F;
    right: -34px;
    top: 50%;
    bottom:auto;
    transform: translate(0, -50%);

}
}



#Route{
	background: #F8F8F8;
	padding: 80px 0 80px;
}
.lead-route{
	text-align: center;
	margin-bottom: 20px;
}
.lead-route p{
	font-size: 18px;
}
.wrap-routemap{
	text-align: center;
	width: 100%;
	max-width: 870px;
	margin:0 auto 50px;
}
.row-route{
	display: flex;
	margin-top: 40px;
}
.col-route{
	width: 50%;
	padding: 0 10px;
}
.dl-route dt{
	margin-bottom: 15px;
}
.dl-route dd{
	position: relative;
	font-size: 14px;
	padding: 20px 0 20px 45px;
}
.row-route .dl-route dd:before{
	counter-increment:renban;
	content:counter(renban) "";
	background: #0B686F;
	width: 35px;
	height: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 10px;
	left: 0px;
	border-radius: 100px;
	font-size: 120%;
	line-height: 1.7;
	color: #fff;
}
.row-route{counter-reset:renban;}
@media(max-width:768px) {
#Route{
	padding: 40px 0 40px;
}
.lead-route p{
	font-size: 16px;
}
.wrap-routemap{
	margin-bottom: 20px;
}
.row-route{
	display:block;
	margin-top: 20px;
}
.col-route{
	width: 100%;
	padding: 0;
}
.col-route + .col-route{
	margin-top: 20px;
}
.dl-route dt{
	margin-bottom: 0px;
}
.dl-route dd{
	position: relative;
	font-size: 14px;
	padding: 10px 0 10px 35px;
}
.row-route .dl-route dd:before{
	counter-increment:renban;
	content:counter(renban) "";
	width: 25px;
	height: 25px;
}
}




#Application{
	padding: 80px 0 80px;
}
.list-application{
	padding: 0;
	margin: 0 auto 100px;
	width: 100%;
	max-width: 700px;
}
.list-application li{
	position: relative;
	padding-left: 35px;
	font-size: 16px;
	line-height: 1.6;
}
.list-application li:before{
	content: "●";
	font-size: 24px;
	position: absolute;
	top: -6px;
	left: 0;
	color: #FF9600;
}
.list-application li + li{
	margin-top: 10px;
}
@media(max-width:768px) {
#Application{
	padding: 40px 0 40px;
}
.list-application{
	margin: 0 auto 40px;
}
}



#Notes{
	padding: 80px 0 80px;
}
.box-taisei{
	padding: 0 20px;
	text-align: center;
}
.title-gokakunin{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #C70000;
	margin-bottom: 20px;
	position: relative;
}
.title-taisei{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #0B686F;
	margin-bottom: 20px;
	position: relative;
}
.title-taisei span{
	padding: 0 20px 0;
	background: #fff;
	z-index: 2;
	position: relative;
	display: inline-block;
}
.title-taisei:after{
	content: "";
	display: block;
	height: 2px;
	width: 450px;
	background: #0B686F;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.box-taisei p{
	line-height: 1.6;
}
.list-taisei{
	margin: 0 auto 20px;
	padding: 0 40px;
}
.list-taisei > li{
	font-size: 16px;
	display: flex;
	text-align: left;
}
.list-taisei > li b{
	width: 80px;
}
.list-taisei > li span{
	padding-left: 15px;
	width: calc(100% - 80px);
}
.list-taisei > li + li{
	margin-top: 6px;
}
.list-spec{
	margin: 0 auto;
	padding: 0 40px;
}
.list-spec > li{
	font-size: 16px;
	text-align: left;
	padding-left: 20px;
	position: relative;
}
.list-spec > li:before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.list-spec > li span{
	font-weight: bold;
	margin-right: 5px;
}
.list-spec > li + li{
	margin-top: 6px;
}
@media(max-width:768px) {
#Notes{
	padding: 40px 0 40px;
}
.title-gokakunin{
	font-size: 20px;
}
.title-taisei{
	font-size: 18px;
}
.title-taisei:after{
	content: "";
	display: block;
	height: 2px;
	width: 100%;
	background: #0F5DA7;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.list-taisei{
	padding: 0;
}
.list-taisei > li{
	text-align: left;
}
.list-spec{
	padding: 0;
}
.list-spec > li{
	font-size: 14px;
}
}





#Contact{
	padding: 80px 0 80px;
	background: #fff;
	position: relative;
}
/*#Contact:before{
	content: "";
	width: 100%;
	background: #F8F8F8;
	height: 120px;
	position: absolute;
	top: 0;
	left: 0;
}*/
.box-team{
	text-align: center;
}
.box-team + .box-team{
	margin-top: 60px;
}
.title-team{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #0B686F;
	margin-bottom: 20px;
}
.title-team span{
	display: inline-block;
	border-bottom: 2px solid #0B686F;
	padding: 0 10px 10px;
}
.box-other{
	background: #fafafa;
	padding: 20px;
	text-align: center;
	width: 100%;
	max-width: 600px;
	margin:0 auto;
}
.box-other p{
	font-size: 16px;
}
.box-other p + p{
	margin-top: 10px;
}
@media(max-width:768px) {
#Contact{
	padding: 40px 0 40px;
}
#Contact:before{
	height: 60px;
}
.title-team{
	font-size: 16px;
}
.box-team + .box-team{
	margin-top: 30px;
}
.box-other{
	text-align: left;
}
}




.wrap-flow{
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	padding: 0 0 40px;
	background: #fff;
}
.wrap-flow + .wrap-flow{
	margin-top: 20px;
}
.lead-application{
	text-align: center;
	margin-bottom: 45px;
}
.lead-application p{
	font-size: 18px;
}
.title-flow{
	background: #0B686F;
	color: #fff;
	padding: 15px;
	text-align: center;
	margin-bottom: 40px;
	font-size: 18px;
}
.list-flow{
	padding: 0 40px;
	margin-bottom: 30px;
}
.list-flow li{
	padding: 15px 8px 15px 65px;
	position: relative;
	background: #FFFAEC;
}
.text-flow{
	padding: 0 40px;
	text-align: center;
	line-height: 1.6;
	margin:30px auto;
}
.list-flow li:before {
	counter-increment:renban;
	content:counter(renban) "";
	background: #C86162;
	width: 25px;
	height: 25px;
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 15px;
	left: 20px;
	border-radius: 100px;
	line-height: 1.7;
	color: #fff;
}
.list-flow li:after{
	border: 12px solid transparent;
	border-top: 12px solid #C86162;
	left: 50%;
	content: "";
	display: block;
	bottom: -28px;
	transform: translate(-50%, 0);
	position: absolute;
}
.list-flow li:last-child:after{
	display: none;
}
.list-flow{counter-reset:renban;}
.list-flow li + li{
	margin-top: 20px;
}
.wrap-note{
	width: 100%;
	max-width: 700px;
	margin: 20px auto 40px;
	background: #fff;
	padding: 40px;
}
.title-note{
	text-align: center;
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
}
.list-note{
	padding: 0;
}
.list-note li{
	position: relative;
	padding-left: 20px;
	font-size: 14px;
}
.list-note li:before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
}
.list-note li + li{
	margin-top: 10px;
}
@media(max-width:768px) {
.wrap-flow{
	padding: 0 0 12px;
}
.lead-application{
	margin-bottom: 20px;
}
.lead-application p{
	font-size: 16px;
}
.title-flow{
	margin-bottom: 12px;
	font-size: 16px;
}
.list-flow{
	padding: 0 12px;
	margin-bottom: 20px;
}
.wrap-note{
	padding: 20px;
	margin-bottom: 20px;
}
}


.wrap-comingsoon{
	border:solid 3px #0F5DA7;
	padding: 20px;
	background: #fff;
	width: 100%;
	max-width: 500px;
	margin:0 auto;
	border-radius: 10px;
}
.wrap-comingsoon p{
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #0F5DA7;
}