@charset "UTF-8";

.motor-kv{
	opacity: 0;
}

body.is-kv-show .motor-kv{
	transition: opacity 600ms ease;
	opacity: 1;
}

.timeline-sec-header h3,
.timeline-col-header h4,
.timeline-header h3,
.models-history__header h3{
	font-family: var(--font-bold);
	font-weight: normal;
	font-feature-settings: "palt";
}


@media screen and (min-width: 768px) {

/* motor-kv
====================================================================*/
	.motor-kv{
		position: relative;
		z-index: 1000;
	}
	.motor-kv__slide{
		position: relative;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}
	.motor-kv__slide figure{
		position: absolute;
		width: 100%;
		opacity: 0;
		transition: opacity 1200ms ease;
	}
	.motor-kv__slide figure img{
		width: 100%;
		object-fit: cover;
	}
	/*video*/
	.motor-kv__slide figure video{
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		background: #eee;
		transform: translateY(-50%);
	}
	.motor-kv__slide figure.on{
		opacity: 1;
	}

	.motor-kv__overlayer{
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		padding: 0 60px;
		width: 100%;
		height: 100%;
		z-index: 50;
	}




	.motor-kv__overlayer-inner{
		position: relative;
		width: 100%;
		height: 100%;
	}
	.motor-kv__text{
		position: absolute;
		left: 0;
		bottom: 30px;
		max-width: 700px;
		background: rgba(0,0,0,0.6);
		color: #fff;
	}
	.motor-kv__text-parts{
		padding: 30px 40px;
	}
	.motor-kv__text a{
		position: relative;
		display: block;
		color: #fff;
		transition: opacity 600ms ease;
	}

	.motor-kv__text a:hover{
		opacity: 0.6;
	}

	.motor-kv__text h1{
		font-size: 38px;
		font-family: var(--font-bold);
		font-weight: normal;
		font-feature-settings: "palt";
		line-height: 1.3;
	}
	.motor-kv__text p{
		position: relative;
		margin: 10px 0 0;
		font-size: 18px;
		line-height: 1.8;
	}
	.motor-kv__text span{
		display: block;
		margin: 2px 0 0;
		font-size: 12px;
		line-height: 1.5;
	}
	.motor-kv__text a p:after{
		content: "";
		display: block;
		position: absolute;
		margin: auto;
		top: 0;
		right: -19px;
		bottom: 0;
		width: 8px;
		height: 14px;
		background: url(../../shared/img/arrow_wh_r.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}

	.motor-kv__logo{
		position: absolute;
		top: 50%;
		left: 120px;
		width: 380px;
		transform: translateY(-50%);
		transition: opacity 600ms ease ,visibility 600ms ease;
		opacity: 0;
		visibility: hidden;
	}
	.motor-kv__logo.show{
		opacity: 1;
		visibility: visible;
	}
	.motor-kv__button--next,
	.motor-kv__button--prev{
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		width: 100px;
		height: 100px;
	}
	.motor-kv__button--next{
		right: -50px;		
	}
	.motor-kv__button--prev{
		left: -50px;		
	}
	.motor-kv__button--next a,
	.motor-kv__button--prev a{
		display: block;
		width: 100%;
		height: 100%;
	}
	.motor-kv__button--next a:after,
	.motor-kv__button--prev a:after{
		content: "";
		display: block;
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		width: 13px;
		height: 22px;
		background-size: 100% 100%;
	}
	.motor-kv__button--next a:after{
		right: 50px;
		background: url(../../shared/img/arrow_wh_r.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.motor-kv__button--prev a:after{
		left: 50px;
		background: url(../../shared/img/arrow_wh_l.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.motor-kv .motor-kv__pager{
		position: absolute;
		bottom: -100px;
		height: 100px;
		margin: 0 0 0 2%;
		display: flex;
		align-items: center;
	}
	.motor-kv__bike{
		position: absolute;
		right: 0;
		bottom: -40px;
		width: 295px;
		z-index: 100;
		transform: translate3d(-200vw, 0px, 0px);
	}
	body.is-kv-loading .motor-kv__bike{
		transform: translate3d(0px, 0px, 0px);
		transition: transform 1000ms cubic-bezier(0.34, 1.16, 0.64, 1);
	}


/* timeline-contents
====================================================================*/

	#timeline{
		padding: 80px 0 0;
	}

	.line-v{
		position: absolute;
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		width: 1px;
		height: 100vh;
		background: #fff;
	}

	.timeline-contents{
		position: relative;
		background: url(../img/bg_timeline.jpg) 0 0 no-repeat;
		background-size: cover;
		color: #fff;
		overflow: hidden;
	}
	.timeline-contents:after{
		content: "";
		position: absolute;
		top: 0;
		left:0;
		display: block;
		width: 100%;
		height: 100%;
		background: #041D41;
		opacity: 0.8;
	}
	.timeline-contents-inner{
		position: relative;
		padding: 0 80px 40px;
		z-index: 10;
	}

	.timeline-header-wrap{
		position: relative;
		display: flex;
		overflow: hidden;
	}
	.timeline-header{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 50%;
		height: 150px;
	}
	.timeline-header h3{
		text-align: center;
		font-size: 48px;
	}
	.timeline-sec-header{
		text-align: center;
	}
	.timeline-sec-header h3{
		text-align: center;
		font-size: 49px;
	}
	.timeline-sec-header h3 span{
		position: relative;
		top: -2px;
		padding: 0 0 0 5px;
		vertical-align: top;
		font-size: 29px;
	}
	.timeline-sec-detail{
		position: relative;
		display: flex;
		flex-wrap: wrap;
		overflow: hidden;
	}
	.timeline-sec:last-child .timeline-sec-detail{
		overflow: inherit;
	}
	.timeline-col-wrap{
		width: 50%;
	}
	.timeline-col + .timeline-col{
		margin-top: 15px;
	}
	.timeline-col-header{
		position: relative;
	}
	.timeline-col-header h4{
		font-size: 32px;
		overflow: hidden;
	}
	.timeline-col-header span{
		position: relative;
		display: inline-block;
	}
	.timeline-col-header span:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		display: block;
		width: 100vw;
		height: 1px;
		background: #fff;
	}
	.timeline-col-header:after{
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		margin-top: -6px;
		width: 12px;
		height: 12px;
		background: #fff;
		border-radius: 6px;
	}
	.timeline-col-lead{
		margin: 5px 0 0;
	}
	.timeline-col-lead p{
		line-height: 1.5;
	}

	.timeline-sec:nth-child(odd) .timeline-col-header span{
		padding: 0 15px 0 0;
	}
	.timeline-sec:nth-child(odd) .timeline-col-header span:after{
		left: 100%;
	}
	.timeline-sec:nth-child(odd) .timeline-col-header:after{
		right: -6px;
	}
	.timeline-sec:nth-child(even) .timeline-col-header span{
		padding: 0 0 0 15px;
	}
	.timeline-sec:nth-child(even) .timeline-sec-detail{
		justify-content: flex-end;
	}
	.timeline-sec:nth-child(even) .timeline-col-header{
		text-align: right;
	}
	.timeline-sec:nth-child(even) .timeline-col-header span:after{
		right: 100%;
	}
	.timeline-sec:nth-child(even) .timeline-col-header:after{
		left: -6px;
	}
	.timeline-sec:nth-child(even) .timeline-col-lead{
		text-align: right;
	}
	.timeline-btm-button{
		display: flex;
		justify-content: space-between;
	}
	.timeline-btm-button-inner{
		width: calc(50% - 40px);
	}



}



@media screen and (max-width: 767px) {


/* motor-kv
====================================================================*/
	.motor-kv{
		position: relative;
	}
	.motor-kv__slide{
		position: relative;
		padding-top: 100%;
		z-index: 30;
	}
	.motor-kv__slide figure{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		opacity: 0;
		transition: opacity 1200ms ease;
	}
	/*video*/
	.motor-kv__slide figure video{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		background: #eee;
	}


	
	.motor-kv__slide figure.on{
		opacity: 1;
	}
	.motor-kv__slide figure img{
		width: 100%;
		height: auto;
	}
	.motor-kv__inner{
		position: relative;
	}

	.motor-kv__overlayer{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 50;
	}
	.motor-kv__overlayer-inner{
		position: relative;
		width: 100%;
		height: 100%;
	}
	.motor-kv__text{
		position: absolute;
		width: calc(100% - 15px);
		left: 0;
		bottom: 15px;
		background: rgba(0,0,0,0.6);
		color: #fff;
	}
	.motor-kv__text-parts{
		padding: 15px 20px;
	}
	.motor-kv__text a{
		position: relative;
		display: block;
		color: #fff;
	}


	.motor-kv__text h1{
		font-size: 22px;
		font-family: var(--font-bold);
		font-weight: normal;
		font-feature-settings: "palt";
		line-height: 1.3;
	}
	.motor-kv__text p{
		position: relative;
		margin: 10px 0 0;
		line-height: 1.8;
	}
	.motor-kv__text span{
		display: block;
		margin: 5px 0 0;
		font-size: 10px;
		line-height: 1.5;
	}
	.motor-kv__text a p:after{
		content: "";
		display: block;
		position: absolute;
		margin: auto;
		top: 0;
		right: -7px;
		bottom: 0;
		width: 8px;
		height: 14px;
		background: url(../../shared/img/arrow_wh_r.svg) 0 0 no-repeat;
		background-size: 100% 100%;
	}
	.motor-kv__logo{
		position: absolute;
		top: 50%;
		left: 15px;
		width: 37.3vw;
		transition: opacity 600ms ease,visibility 600ms ease;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-50%);
	}
	.motor-kv__logo.show{
		opacity: 1;
		visibility: visible;
	}

	.motor-kv__button--next,
	.motor-kv__button--prev{
		display: none;
	}
	.motor-kv .motor-kv__pager{
		display: flex;
		justify-content: flex-start;
		margin: 0;
		padding: 15px 0 15px 2%;
	}

	.motor-kv__bike{
		position: absolute;
		right: 15px;
		bottom: -40px;
		width: 126px;
		z-index: 100;
		transform: translate3d(-200vw, 0px, 0px);
	}
	body.is-kv-loading .motor-kv__bike{
		transform: translate3d(0px, 0px, 0px);
		transition: transform 1000ms cubic-bezier(0.34, 1.16, 0.64, 1);
	}


/* timeline-contents
====================================================================*/

	#timeline{
		padding: 40px 0 0;
	}
	#timeline .sec-header{
		padding: 0 16px;
	}
	.line-v{
		position: absolute;
		margin: auto;
		top: 0;
		left: 0;
		right: 0;
		width: 1px;
		height: 100vh;
		background: #fff;
	}

	.timeline-contents{
		position: relative;
		background: url(../img/bg_timeline.jpg) 0 0 no-repeat;
		background-size: cover;
		color: #fff;
		overflow: hidden;
	}
	.timeline-contents:after{
		content: "";
		position: absolute;
		top: 0;
		left:0;
		display: block;
		width: 100%;
		height: 100%;
		background: #041D41;
		opacity: 0.8;
	}
	.timeline-contents-inner{
		position: relative;
		padding: 0 0 40px;
		z-index: 10;
	} 

	.timeline-header-wrap{
		position: relative;
		display: flex;
		overflow: hidden;
	}
	.timeline-header{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 50%;
		height: 100px;
	}
	.timeline-header h3{
		text-align: center;
		font-size: 22px;
		line-height: 1.3;
	}
	.timeline-sec-header{
		text-align: center;
	}
	.timeline-sec-header h3{
		text-align: center;
		font-size: 32px;
	}
	.timeline-sec-header h3 span{
		position: relative;
		top: -2px;
		padding: 0 0 0 5px;
		vertical-align: top;
		font-size: 18px;
	}
	.timeline-sec-wrap{
		padding: 0 16px;
	}
	.timeline-sec-detail{
		position: relative;
		display: flex;
		flex-wrap: wrap;
		overflow: hidden;
		padding: 5px 0;
	}
	.timeline-sec:last-child .timeline-sec-detail{
		overflow: inherit;
	}
	.timeline-col-wrap{
		width: 50%;
	}
	.timeline-col + .timeline-col{
		margin-top: 15px;
	}
	.timeline-col-header{
		position: relative;
	}
	.timeline-col-header h4{
		font-size: 18px;
		overflow: hidden;
	}
	.timeline-col-header span{
		position: relative;
		display: inline-block;
	}
	.timeline-col-header span:after{
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		display: block;
		width: 100vw;
		height: 1px;
		background: #fff;
	}
	.timeline-col-header:after{
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		margin-top: -6px;
		width: 12px;
		height: 12px;
		background: #fff;
		border-radius: 6px;
	}
	.timeline-col-lead{
		margin: 5px 0 0;
	}
	.timeline-col-lead p{
		line-height: 1.5;
		font-size: 12px;
	}

	.timeline-sec:nth-child(odd) .timeline-col-header span{
		padding: 0 15px 0 0;
	}
	.timeline-sec:nth-child(odd) .timeline-col-header span:after{
		left: 100%;
	}
	.timeline-sec:nth-child(odd) .timeline-col-header:after{
		right: -6px;
	}
	.timeline-sec:nth-child(odd) .timeline-col-lead{
		padding: 0 25px 0 0;
	}
	.timeline-sec:nth-child(even) .timeline-col-header span{
		padding: 0 0 0 15px;
	}
	.timeline-sec:nth-child(even) .timeline-sec-detail{
		justify-content: flex-end;
	}
	.timeline-sec:nth-child(even) .timeline-col-header{
		text-align: right;
	}
	.timeline-sec:nth-child(even) .timeline-col-header span:after{
		right: 100%;
	}
	.timeline-sec:nth-child(even) .timeline-col-header:after{
		left: -6px;
	}
	.timeline-sec:nth-child(even) .timeline-col-lead{
		text-align: right;
	}
	.timeline-btm-button{
		display: flex;
		justify-content: space-between;
		padding: 0 16px;
	}
	.timeline-btm-button-inner{
		width: calc(50% - 16px);
	}
	.timeline-btm-button .button-link a{
		height: 50px;
		line-height: 50px;
	}


}



