@charset "utf-8";

div#CONTENTS .necessary {
	padding: 98px 0 100px;
	background-color: #F2F2F2;
}
div#CONTENTS .necessary .necessaryImg {
	margin: 0 auto 17px;
	width: 142px;
}
div#CONTENTS .necessary p {
	text-align: center;
	color: #000;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.67; 
}
div#CONTENTS .necessary p small {
	display: block;
	color: #1A1A1A;
	font-size: 12px;
	font-weight: 400;
}
div#CONTENTS .models {
	padding: 18.5px;
	border: 1px solid #333;
	background: #FFF;
}
div#CONTENTS .models .ttl {
	cursor: pointer;
	padding: 0 90px;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	position: relative;
}
div#CONTENTS .models .ttl:before,
div#CONTENTS .models .ttl:after {
	position: absolute;
	right: 57px;
	top: 50%;
	width: 17px;
	height: 1px;
	background-color: #000;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	content: "";
}
div#CONTENTS .models .ttl:after {
	transform: rotate(90deg);
}
div#CONTENTS .models .ttl.on:after {
	transform: rotate(180deg);
	opacity: 0;
}
div#CONTENTS .modelsBox {
	padding: 29px 22px 22px;
	display: none;
}
div#CONTENTS .modelsBox .txt {
	margin-bottom: 25px;
	text-align: center;
	font-weight: 500;
}
div#CONTENTS .setup {
	padding: 100px 0;
	background: #F2F2F2;
}
div#CONTENTS .setup .centerTxt {
	color: #000;
	margin-bottom: 40px;
	font-weight: 500;
	text-align: center;
}
div#CONTENTS .setupBox {
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: 1px solid #D9D9D9;
}
div#CONTENTS .setupList {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
div#CONTENTS .setupList li {
	width: calc((100% - (20px * 2 + 1px)) / 3);
}
div#CONTENTS .setupList li a {
	line-height: 1.5;
	padding: 8px min(2.5vw,35px) 8px 10px; 
	color: #333;
	font-weight: 500;
	font-size: min(1.4vw,18px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	background: #FFF url(../img/icon01.png) no-repeat right min(1.25vw,18px) center;
	background-size: 9px auto;
}
div#CONTENTS .setupList .lSpan {
	flex-shrink: 0;
	margin-right: 10px;
	width: 44px;
	aspect-ratio: 1;
	color: #FFF;
	font-size: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-weight: 500;
	line-height: 1;
	border-radius: 100%;
	background-color: #333333;
}
div#CONTENTS .setupList .lSpan small {
	display: block;
	font-size: 10px;
}
div#CONTENTS .setupList .rSpan {
	flex: 1;
}

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


@media (hover: hover) {
	div#CONTENTS .setupList li a:hover,
	div#CONTENTS .bicycleList p a:hover {
		opacity: 0.7;
	}
	
}

@media screen and (max-width: 767px) {
	div#CONTENTS .necessary {
		padding: 40px 0 61px;
	}
	div#CONTENTS .headLine01 {
		margin-bottom: 23px;
	}
	div#CONTENTS .comBicycle {
		padding: 60px 0;
	}
	div#CONTENTS .models {
		padding: 14px 14px 17px;
	}
	div#CONTENTS .models .ttl {
		padding: 0 30px;
		font-size: 16px;
	}
	div#CONTENTS .models .ttl::before, div#CONTENTS .models .ttl::after {
		right: 12px;
		width: 15px;
	}
	div#CONTENTS .modelsBox {
		padding: 25px 0 0;
	}
	div#CONTENTS .setup {
		padding: 58px 0 60px;
	}
	div#CONTENTS .setup .centerTxt {
		line-height: 1.5;
		margin-bottom: 30px;
	}
	div#CONTENTS .setupBox {
		padding-bottom: 0;
		border: none;
		margin-bottom: 40px;
	}
	div#CONTENTS .setupList {
		display: block;
	}
	div#CONTENTS .setupList li {
		width: auto;
		border-bottom: 1px solid #D9D9D9;
	}
	div#CONTENTS .setupList li a {
		font-size: min(4.1vw,16px);
		background-position: right 14px center;
		padding: 5px 30px 6px 6px;
	}
	div#CONTENTS .setupList .lSpan {
		font-size: 18px;
		margin-right: 16px;
		width: 39px;
	}
	div#CONTENTS .modelsBox .txt {
		margin-bottom: 15px;
	}
}
