:root{
	--c-text: #6E6C64;
	--c-text-head : #333333;
	--c-white : #ffffff;
	--c-bg : #F5F5F5;
	--c-bg-secondary : #3F3838;
	--c-primary : #94C11D;
	--c-secondary : #335B4C;
	--c-bg-thin : #F5F7F6;
	--c-border : #EDEDED;
	--fs-sp : 14;
	--fs-pc : 16;
	--gap : 8px;
}
#main{
	margin-bottom: 80px;
}
.headline .by_hero_title{
	border-bottom: 1px solid #e0e0e0;
}
.car-model{
	padding: 0 calc(var(--gap) * 1.5);
}
section .headline{
	margin-bottom: calc(var(--gap) * 11);
}
.car-model__title{
	margin-bottom: 10px;
	font-size: 20px;
	text-align: left;
}
.model{
	position: relative;
}
.model__name{
	text-align: left;
}
.model-check{
	opacity: 0;
	height: 0;
	position: absolute;
}
.model-check:checked+label.model{
	outline: 1px solid var(--c-primary);
}
.model-check:checked+label.model:before{
	content: '';
	display: block;
	position: absolute;
	top: calc(var(--gap) * 1.5);
	right: calc(var(--gap) * 1.5);
	width: 12px;
	height: 7px;
	border-left: 2px solid var(--c-primary);
	border-bottom: 2px solid var(--c-primary);
	transform: rotate(-45deg);
}
.models{
	display: flex;
	gap : 0 calc(var(--gap) * 2);
	flex-wrap: wrap;
	align-items: stretch;
}
.models .models__container{
	flex-basis: calc((100% - (var(--gap) * 2)) / 2);
	margin-bottom: calc(var(--gap) * 1.5);
}

.model{
	display: flex;
	padding: calc(var(--gap) * 2) calc(var(--gap) * 2);
	cursor: pointer;
	position: relative;
	display: flex;
	flex-direction: column;
  height: 100%;
}
.model__thumbnail img{
	width: 100%;
	aspect-ratio: 300/169;
}
.compair-trigger{
	background: var(--c-secondary);
	color: var(--c-white);
	text-align: center;
	max-width: calc(var(--gap) * 46);
	line-height: 50px;
	min-width: calc(var(--gap) * 42);
}
.trigger-wrapper.is-hidden{
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	height: 0;

	transform: translateY(100px);
	transition-duration: .3s;
}
.trigger-wrapper{
	/* transition: transform .5s; */
	transition: opacity .5s,visibility .5s,transform .5s, height .5s;

	position: -webkit-sticky;
	position: sticky;
	bottom: 20px;
	transform: translateY(0);
}
.compair-modal{
	background-color: var(--c-white);
	transition: transform 1s;
	/* opacity: 1; */
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	transform : translateY(100vh);
	z-index: 101;
	overflow-x: hidden;
  overflow-y: scroll;
}
.compair-modal.is-open{
	transform : translateY(0);
}
.compair-modal.is-close{
	transform : translateY(100vh);
	/* visibility: hidden; */
	/* opacity: 0;
	overflow: hidden; */
	/* height: 0; */
}
.spec-column{
	display: flex;
}
.spec-row > .bundle-title{
	color: var(--c-primary);
}
.button-link{
	display: none;
}
.button-link a{
	display: block;
	width: 100%;
	background-color: var(--c-secondary);
	color: var(--c-white);
	font-size: 13px;
	text-align: center;
	padding: calc(var(--gap) * 2) var(--gap);

}
.button-link a:visited, .button-link a:link{
	color: var(--c-white);
}
.compair__bottom .spec-column .spec-row{
	position: relative;
	text-align: left;
}
.compair__bottom .spec-column .spec-row:not(.u-none-border):after{
	content: "";
	width: calc(100% - calc(var(--gap) * 2));
	border-bottom: 1px solid var(--c-border);
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}
.spec-row .button-link:not(:first-of-type){
	margin-top: calc(var(--gap) * 2);
}
.spec-column .spec-row.engine{
	text-align: center;
}
.engine img{
	margin: auto;
}
.spec-thumbnail{
	position: relative;
}
.spec-thumbnail .remove-car{
	position: absolute;
	right: 0;
	top: 0;
	width: 16px;
	height: 16px;
	display: flex;
}
.spec-thumbnail .remove-car img{
	width: 16px;
	height: 16px;
}
.close-button{
	border: 1px solid #EDEDED;
	padding: calc(var(--gap) * 1.5);
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--c-white);
}
.close-button img{
	width: 10px;
}
.spec-2.spec-thumbnail.is-empty .hide-empty{
	display: none;
}
.add-car{
	text-align: center;
	width: 100%;
  height: 100%;
}
.add-car .add-car__icon{
	width: 10px;
}
.add-car .add-car__text{
	color: var(--c-secondary);
}
@media not all and (min-resolution:.001dpcm) {
	@supports (not (translate: none)) {
		.compair__top button:first-of-type{
			margin-right: calc(var(--gap) * 2);
		}
		@media screen and (max-width: 1024px) {
			.models .models__container{
				flex-basis: calc((100% - (var(--gap) * 2 * 2)) / 2);
			}
			.models .models__container:not(:nth-of-type(2n)){
				margin-right: calc(var(--gap) * 2);
			}
		}
		@media screen and (min-width: 1025px) {
			.models .models__container{
				flex-basis: calc((100% - (var(--gap) * 2 * 2)) / 3);
			}
			.models .models__container:not(:nth-of-type(3n)){
				margin-right: calc(var(--gap) * 2);
			}
		}
	}
}
@media screen and (max-width: 727px) {
}
@media screen and (min-width: 728px) {
}
@media screen and (max-width: 1024px) {
	.v-pc{
		display: none;
	}
	.v-sp{
		display: block;

	}
	.u-hide-sp{
		display: none;
	}
	section .headline{
		padding: 0 calc(var(--gap) * 2);
		margin-bottom: calc(var(--gap) * 5);
	}
	.compair-modal{
		scroll-snap-type: x;
		-webkit-overflow-scrolling  :auto;
	}
	.compair__top-wrap{
		position: sticky;
		top: 0;
		background-color: var(--c-white);
		z-index: 2;
	}
	.compair__top{
		display: flex;
		align-items: center;
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		left: 0;
		z-index: 2;
		padding: calc(var(--gap) * 2) calc(var(--gap) * 2) calc(var(--gap) * 3);
		background-color: var(--c-white);
		gap: 0 calc(var(--gap) * 2);
		/* width: calc(100vw - calc(var(--gap) * 2 * 2)); */
		width: 100%;
	}

	.compair__top.set-max{
		position: sticky;
		top: 0;
		/* right: calc(var(--gap) * 2);
		left: initial; */
		left: 0;
		background-color: var(--c-white);
		padding: calc(var(--gap) * 2);
		/* margin: auto; */
		justify-content: flex-end;
		width: 100vw;
	}
	.compair__body{
		padding: 0 calc(var(--gap) * 2);
		transition: transform .5s;
		transform: translateX(0);
	}
	.compair__body.is-scroll{
		transform: translateX(calc((47.2vw - 48px) * -1));
	}
	.compair__top.set-max + .compair__body{
		/* margin-top: calc(var(--gap) * 9); */
	}
	.compair__middle{
		position: relative;
	}
	.compair__middle:before{
		/* content: "";
		background-color: white;
		position: fixed;
		width: 100%;
		height: 64px;
		right: 0;
		top: 0;
		z-index: 1; */
	}
	.add-button{
		border: 1px solid var(--c-secondary);
		width: calc(100% - (32px + var(--gap) * 2));
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--c-secondary);
		font-size: 13px;
		gap: 0 calc(var(--gap));
		line-height: 30px;
	}
	.add-button img{
		width: 10px;
	}
	.car-model{
		margin-top: calc(var(--gap) * 6);
	}
	.engine img{
		max-width: 83px;
	}
	.compair-wrap{
		/* padding: 0 calc(var(--gap) * 2); */
		/* overflow-y: scroll; */
		width: fit-content;
	}
	.spec-column{
		/* gap: 0 calc(var(--gap) * 2); */
		scroll-snap-type: x;
	}
	.spec-thumbnail img{
		width: 100%;
	}
	.spec-column .spec-row{
		padding: 0 var(--gap);
		font-size: 14px;
		scroll-snap-align: center;
	}
	.spec-column .spec-row:not(:first-of-type){
		/* flex-basis: calc(var(--gap) * 23);
		min-width: calc(var(--gap) * 23); */
		flex-basis: 42.2vw;
		width: 42.2vw;
		/* min-width: 175px; */
	}
	.compair__middle{
		width: fit-content;
		/* margin-top: calc(var(--gap) * 9); */

	}
	.compair__bottom{
		background-color: var(--c-bg-thin);
		width: fit-content;
		padding-bottom: calc(var(--gap) * 3);
		margin-bottom: calc(var(--gap) * 15);
	}
	.compair__names{
		position: -webkit-sticky;
		position: sticky;
		top: 64px;
		background-color: var(--c-white);
		width: fit-content;
    padding: var(--gap)  calc(var(--gap) * 2) calc(var(--gap) * 2) 0;
		text-align: left;
		font-size: 14px;
    line-height: 1.2;
		z-index: 1;

	}
	.compair__names .spec-column .spec-row{
		position: relative;
	}
	.compair__names .spec-column .spec-row:not(:first-of-type){
		display: flex;
    gap: 0 8px;
    align-items: center;
    justify-content: space-between;
	}

	.compair__names .remove-car{
		width: 16px;
    height: 16px;
	}
	.compair__names .remove-car img{
		width: 16px;
		height: 16px;
	}
	.compair__middle .remove-car{
		display: none;
	}
	.bundle{
		text-align: left;
		/* padding: 0 calc(var(--gap) * 2); */
		min-height: 50px;
		padding: calc(var(--gap) * 5) 0 calc(var(--gap) * 3);
		position: relative;
	}
	.bundle .bundle-title, .bundle .spec-title{
		/* position: -webkit-sticky;
		position: sticky;
		left: calc(var(--gap) * 2); */
		transition : left .5s;
		position: absolute;
		left: 8px;
		padding: 0;
	}
	.bundle .bundle-title{
		font-size: 18px;
		color: var(--c-primary);
		text-align: left;
		display: inline-block;
		padding: calc(var(--gap) * 5) 0 calc(var(--gap) * 3);
	}
	.bundle .spec-title{
		font-size: 12px;
		color: var(--c-text);
	}
	.spec-column.bundle .spec-title{
		display: inline-block;
		/* padding: calc(var(--gap) * 2) 0; */
		padding: 0;
		left: 8px;
	}

	.compair__body.is-scroll .bundle .bundle-title, .compair__body.is-scroll .bundle .spec-title{
		left: calc(47.2vw - 12px);
	}
	.engine{
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.compair__bottom .spec-column .spec-row.engine:after{
		content: none;
	}
	.engine-name{
		font-size: 14px;
	}
	.add-car{
		display: none;
	}
	.compair-wrap.has-empty{

	}
	.compair-wrap.has-empty .compair__middle .spec-column .spec-row:nth-of-type(4),
	.compair-wrap.has-empty .compair__names .spec-column .spec-row:nth-of-type(4),
	.compair-wrap.has-empty .compair__bottom .spec-column .spec-row:nth-of-type(4){
		display: none;
	}
	.compair-wrap.has-empty .compair__middle{
		padding: 0;
	}
	.compair-wrap.has-empty .compair__names{
		padding: var(--gap) 0 calc(var(--gap) * 2);
	}
	.compair-wrap.has-empty .spec-column .spec-row:not(:first-of-type){
		flex-basis: calc((100vw - (calc(var(--gap) * 2) * 2)) / 2);
    width: calc((100vw - (calc(var(--gap) * 2) * 2)) / 2);
	}
	.button-link{
		margin-top: calc(var(--gap) * 2);
	}
	.button-link a{
		font-size: 12px;
	}
}
@media screen and (min-width: 1025px) {
	.v-pc{
		display: block;

	}
	.v-sp{
		display: none;

	}
	.compair-modal{
		overflow: auto;
	}
	.compair__top-wrap{
		position: sticky;
		top: calc(var(--gap) * 2);
		right: calc(var(--gap) * 4);
		z-index: 2;
		width: 32px;
    margin-left: auto;

	}
	.compair__top{
		/* position: sticky;
		top: calc(var(--gap) * 2);
		right: calc(var(--gap) * 4);
		z-index: 2;
		width: 32px;
    margin-left: auto; */
	}
	.compair-modal.is-open .compair-modal{
		padding: 0 calc(var(--gap) * 4) calc(var(--gap) * 9);
	}
	.compair__middle, .compair__names, .compair__bottom{
		max-width: 1090px;
		margin: auto;

	}
	.compair__middle{
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		z-index: 1;
		background-color: var(--c-white);
	}
	.compair__middle .spec-column .spec-row:not(:first-of-type){
		padding: calc(var(--gap) * 3) calc(var(--gap) * 3) 0;
	}
	.compair__names{
		position: -webkit-sticky;
		position: sticky;
    top: 165px;
    z-index: 1;
    background: var(--c-white);
	}
	.compair__names .remove-car{
		display: none;
	}
	.spec-column{
		gap: 0 2px;
	}
	.spec-column .spec-row{
		position: relative;
		text-align: left;
		padding: calc(var(--gap) * 2);
	}
	.spec-column .spec-row:first-of-type{
		width: calc(var(--gap) * 22.5);
		text-align: left;
		padding: calc(var(--gap) * 2) 0 calc(var(--gap) * 2) calc(var(--gap) * 2);
	}
	.spec-column .spec-row:not(:first-of-type){
		flex-basis: calc((100% - (var(--gap) * 24.5)) / 3);
	}
	.compair__bottom .spec-column .spec-row:not(:first-of-type){
		background-color: var(--c-bg-thin);
	}
	.compair__bottom{
		margin-bottom: calc(var(--gap) * 5);
	}
	.spec-thumbnail .remove-car{
		top: calc(var(--gap) * 3);
		right: calc(var(--gap) * 3);
	}
	.spec-thumbnail img{
		width: 100%;
	}
	.engine img{
		max-width: 120px;
	}
	.engine .engine-name{
		font-size: 24px;
		position: absolute;
		bottom: 0;
		left: calc(var(--gap) * 5);
	}
	.headline .by_hero_title{
		padding: 0.5em 0;
    font-size: 2em;
    text-align: center;
    margin: 0 auto 0.5em;
    width: 60%;
    border-bottom: 1px solid #e0e0e0;
	}
	.car-model{
		margin: calc(var(--gap) * 8) auto 0;
		max-width: calc(var(--gap) * 150);
	}
	.car-model__title{
		font-size: 24px;
	}
	.models .models__container{
		flex-basis: calc((100% - ((var(--gap) * 2) * 2)) / 3);
		margin-bottom: calc(var(--gap) * 2);
	}
	.models .models__container .model__thumbnail{
		transition: opacity .5s;
	}
	.models .models__container:hover .model__thumbnail{
		opacity: .5;

	}
	.model{
		padding: calc(var(--gap) * 3) calc(var(--gap) * 3);
	}
	.model__thumbnail img{
		width: 100%;
	}
	.model__name{
		font-size: 16px;
	}

.model-check:checked+label.model:before{
	width: 16px;
	height: 10px;
}
	.compair-trigger{
		line-height: 52px;
		width: calc(var(--gap) * 46);
	}
	.add-car{
		display: none;
	}
	.is-empty .add-car{
		display: block;
	}
}
.is-hidden{
	display: none!important;
}
