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

.main_catch{
	background-image: url("../img/bike.jpg");
	background-repeat: no-repeat;
	width: 100%;
	height: 295px;
	background-size: cover;
	position: relative;
	background-position: right 2% bottom 22%;
}
.main_catch h1{
	color: #FFF;
    letter-spacing: 0.1em;
    position: absolute;
    top: 50%;
    left: 15%;
    font-size: 2.2em;
	text-shadow:0 0 10px #000;
}
.bike_box{
	vertical-align: top;
}
.bike_contents{
	width: 20%;
	margin: 2% 2.3%;
	display: inline-block;
	vertical-align: top;
}
.bike_contents img{
	position: relative;
}
.bike_contents h2{
	background-color: #FFFFFF;
	opacity: 0.7;
	position: absolute;
	bottom: 8%;
	width: 100%;
	text-align: center;
	padding: 5% 0;
}
.bike_contents p{
	font-size: 0.9em;
	padding: 2% 2%;
    line-height: 1.5em;
}
.img_title{
	position: relative;
}
.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	color: #ffffff;
	border: 1px #000 solid;
    border-radius: 10px;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	font-weight: bold;
    line-height: 3;
    position: relative;
    display: block;
    padding: 0 1em 0 0em;
    cursor: pointer;
    margin: 0 0 1px 0;
    color: #333;
    text-align: center;
}
.cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333333;
}
.cp_actab .cp_actab-content p {
	margin: 1em;
	border-top: 1px #000 solid;
	padding-top: 7%;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
	/*max-height: 20em;*/
    max-height: 100em;
}
/* Icon */
.cp_actab label::after {
	line-height: 3;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
	content: '+';
}
.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}

@media(max-width:767px){
/*.main_catch{
	background-image: url("../img/sp_bike.jpg");
	background-repeat: no-repeat;
	width: 100%;
	background-size: cover;
	position: relative;
	background-position: center;
}
*/
.main_catch h1{
	color: #FFF;
    letter-spacing: 0.1em;
    position: absolute;
    top: 17%;
    left: 10%;
    font-size: 1.7em;
	background-color: rgba(0,0,0,0.5);
	padding: 20%;
}
.bike_contents {
    width: 45%;
    margin: 2%;
    display: inline-block;
}
.bike_contents p{
	font-size: 0.8em;
	padding: 2% 2%;
    line-height: 1.5em;
}
.bike_contents h2 {
    font-size: 0.9em;
}	
.cp_actab label {
    font-size: 0.8em;
}	
}

@media only screen and (min-device-width:768px) and (max-device-width:1200px){
.bike_box {
    vertical-align: top;
    text-align: center;
}
.bike_contents {
    width: 20%;
    margin: 2% 2%;
    display: inline-block;
    vertical-align: top;
    text-align: left;
}
.bike_contents p {
    font-size: 0.9em;
    padding: 2% 2%;
    line-height: 1.5em;
}
.cp_actab label {
    font-size: 0.7em;
}
}