@charset "utf-8";


/* main */

.main {
    width:100%;
    margin: 0 auto;
    padding:80px 0;
    background:#f5f5f5;
}
.main > div {
    width:100%;
    max-width:1280px;
    margin: 0 auto;
    position: relative;
}
.main > div > img {
    max-width:100%;
    margin: 30px auto 70px;
    display: block;
    border-radius: 10px;
}
.main > div > p {
    margin: 0 auto;
    font-size: 2rem;
    text-align: center;
    color:#575757;
}
.main p.topcopy {
    width:100%;
    margin: 0 auto 50px;
    font-size: 1.8rem;
}

.main > div > div {
    width:100%;
    max-width:900px;
    margin: 0 auto 50px !important;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-start; align-items:center
}
.main > div > div > img {
    width:50%;
}
.main > div > div > div h2 {
    width:100%;
    font-size: 3rem;
    font-weight:900;
    line-height: 1;
    color:#575757;
}
.main > div > div > div p.price {
    font-size: 1.5rem;
    color:#575757;
}
.main > div > div > div p.price small {
    margin-top: 20px;
    display: block;
    font-size:1rem;
    line-height: 1.8;
}
.main > div > div > div p.price span {
    display: block;
    font-size:1.2rem;
    font-weight:900;
}
.main > div > div > div p.price span b {
    font-size:1.8rem;
}


@media only screen and (max-width:640px){
    
    .main > div > div {
        width:100%;
        max-width:900px;
        margin: 0 auto 50px !important;
        display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
    }
    .main > div > div > div {
        order:2;
    }
    .main > div > div > img {
        width:60%;
        order:1;
    }
    
    .main > div > div > div h2 {
        width:100%;
        margin-top: 50px;
        font-size: 2.5rem;
        text-align: center;
    }
    .main > div > div > div p.price {
        text-align: center;
    }
    .main > div > img {
        margin: 30px auto 70px;
        border-radius: 0;
    }
    .main > div > p {
        font-size: 1.5rem;
    }
    .main p.topcopy {
        margin: 0 auto 50px;
        font-size: 1.5rem;
    }
    .main > div > div > div a {
        width:100%;
    }
}



/* box */

.box {
    width:100%;
    margin: 0 auto;
    padding:80px 0;
}
.box:nth-child(odd) { background:#f5f5f5;}

.box > div {
    width:90%;
    max-width:1280px;
    margin: 0 auto;
}
.box > div h4 {
    width:100%;
    margin: 0 auto 20px;
    display: block;
    font-size: 2.2rem;
    font-weight:900;
    text-align: center;
}
.box > div > p {
    margin-bottom:50px;
    text-align: center;
}
.box > div > p b {
    display: block;
}

.box > div h4 ,
.box > div p ,
.box > div ul li ,
.box > div ol li ,
.box > div dl dt ,
.box > div dl dd { color:#575757;}

@media only screen and (max-width:640px){
    
    .box > div h4 {
        margin: 0 auto 10px;
        font-size: 1.8rem;
    }
    .box > div > p {
        font-size: 1.2rem;
        text-align: left;
    }
}



/* box-01 心地よく乗る */

.box-01 .narabi {
    width:100%;
    margin:0 auto;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-end; align-items:flex-end;
}
.box-01 img {
	max-width:100%;
	border-radius:10px;
}

.narabi > img {max-width:55%;}
.box-01 .tate {width:40%;}
.box-01 .tate p{margin-bottom:20px;}
.box-01 .tate b{font-size: 1.5rem;}


@media only screen and (max-width:640px){
    
    .box-01 ul li {
        width:100%;
        margin-bottom: 50px;
    }
    .box-01 ul li:last-of-type {
        margin-bottom: 0;
    }
    .box-01 .tate{width: 100%; text-align: center;}
    .box-01 .tate b{font-size: 1.5rem;}   .box-01 .tate p{text-align: center;}
    .box-01 .tate img{width: 100%; margin: 10px 0 0;}
    .box-01 .narabi { 
    width:100%;
    margin: 0 auto;
    display:block;}
    .box-01 img{width: 100%; margin: 20px 0 0;}
	.narabi > img {max-width:100%;}

}

/* box-02 安心して走る */

.box-02 {}
.box-02 > div {}
.box-02 ul {
    width:100%;
    margin: 0 auto;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
.box-02 ul li {
    width:30%;
    margin: 20px 0;
}
.box-02 ul li img {
    max-width:100%;
    margin-bottom:10px;
    border-radius:10px;
}
.box-02 ul li p {
    margin: 10px 0;
    display: block;
    text-align:left;
	letter-spacing:0;
}
.box-02 ul li b{font-size: 1.5rem; text-align: center; display:block;}
.box-02 ul li .waku{border: solid 1px #575757; padding:8px 10px; font-size: 0.9rem; line-height:1.5; letter-spacing:0;}
.box-02 ul li small {
    display: block;
    font-size:0.9rem;
    line-height: 1.5;
}
.box-02 div > small {
	display:block;
	text-align:center;
	letter-spacing:0;
}

@media only screen and (max-width:640px){
    
    .box-02 ul li {
        width:100%;
        margin-bottom: 50px;
    }
    
    .box-02 ul {
    width:100%;
    margin: 0 auto;
    display:block;
}
    .box-02 ul li .waku {
		width:96%;
		margin: 20px auto 0;
		padding:10px 2% 12px;
		border: solid 2px #575757;
		font-size: 0.9rem;
	}
	.box-02 div > small {
		text-align:left;
		font-size:0.9rem;
	}

}




/* box-03 簡単に操る */

.box-03 {}
.box-03 > div > div {
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:center; align-items:center;
}
.box-03 > div > img{width: 100%; border-radius:10px;}
.box-03 > div > div img {
    width:50%;
    margin: 0;
}
.box-03 > div > div p {
    width:40%;
    margin: 0;
}
.box-03 b {font-size: 1.5rem;}
.box-03 ol {
    width:100%;
    margin:50px auto 0;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
.box-03 ol li {
    width:30%;
    margin: 0;
    position:relative;
}
.box-03 ol li img {
    max-width:100%;
    margin-bottom: 10px;
    border-radius:10px;
}
.box-03 ol li:after {
    content: "";
    width: 55px;
    height:55px;
    font-size: 2.2rem;
    font-weight:900;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    color: #575757;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
    position:absolute; top:-20px; left:-20px;
    border-radius:100px;
    border:solid 4px #575757;
    background: #fff;
}
.box-03 ol li:nth-child(1):after {content:"1";}
.box-03 ol li:nth-child(2):after {content:"2";}
.box-03 ol li:nth-child(3):after {content:"3";}

.box-03 ol li b {
	display: block;
	text-align:center;
}
.box-03 ol li small {
	display: block;
	line-height:15
}

@media only screen and (max-width:640px){
    
    .box-03 > div > div img {
        width:100%;
    }
    .box-03 > div > div p {
        width:100%;
        margin-top:20px;
        font-size: 1.2rem;
    }
    .box-03 > div p{text-align: center;}
    .box-03 ol li {
        width:100%;
        margin: 0 0 50px;
        font-size: 1.2rem;
        text-align: center;
    }
    .box-03 ol li:last-of-type {
        margin-bottom: 0;
    }
    .box-03 ol li:after {
        width: 80px;
        height:80px;
        font-size: 2.4rem;
        position:absolute; top:-20px; left:-20px;
        border-radius:100px;
        border:solid 6px #575757;
    }
}



/* box-04 歩行領域モビリティとは */

.box-04 {}
.box-04 div {
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.box-04 div > img {
    max-width:100%;
    margin-bottom: 30px;
}
.box-04 .waku{margin: 100px 0 0;}
.box-04 .waku > p{font-size: 1.7rem;}

.box-04 ul {
    width:100%;
    margin: 30px auto 0;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
.box-04 ul.rule li{width: 30%;}
.box-04 ul.hyousiki li{width: 48%;}
.box-04 ul.houritu li,.box-04 ul.chui li {
    width:30%;
    margin: 20px 0 0;
    padding: 20px 0;
	font-size:1.1rem;
	font-weight:bold;
    text-align: center;
    border-radius: 20px;
    background: #fff;
}
.box-04 ul li img {
    max-width:100%;
	display:block;
	margin:0 auto 10px;
}
.box-04 ul.rule {
	text-align:center;
	line-height:1.5;
}
.box-04 ul.rule b {
	margin:0 auto 10px;
	display: block;
	text-align:center;
	font-size:1.2rem;
}


@media only screen and (max-width:640px){
    
    .box-04 ul {
        margin: 0 auto;
        display:block;
    }    
    .box-04 ul li{
        text-align: center; margin: 20px 0 0;
    }
    .box-04 ul.rule li{width: 100%;}
    .box-04 ul.hyousiki li{width: 100%;}
    .box-04 ul.houritu li,.box-04 ul.chui li {
		width:100%;
		text-align: center;
		font-size:1.8rem;
	}
	ul.chui li {
		font-size:1.3rem !important;
	}
}



/* box-05 好みをプラスする */

.box-05 ul {
    width:100%;
    margin: 30px auto 0;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
.box-05 ul li {
    width:30%;
    margin: 0 0 50px;
    padding:0;
    text-align: center;
}
.box-05 ul li img {
    max-width:100%;
    border-radius: 10px;
}

.box-05 b {font-size: 1.5rem; line-height: 1.2; display: block; margin-bottom: 20px;}
.box-05 p {letter-spacing: 0;}
.box-05 p > small {font-size:0.8rem; display:block;}

@media only screen and (max-width:640px){
    
	.box-05 > div > p {text-align:center;}
	.box-05 ul li {
        width:100%;
        margin: 0 0 50px;
        font-size: 1.1rem;
    }
    .box-05 ul li b {
        font-size: 1.4rem;
    }
    .box-05 > div a[target="_blank"] {
        width:98%;
        padding: 20px 0;
    }
    .box-05 b {text-align: center;}
	.box-05 p > small {margin:20px auto 0; font-size:1rem; line-height:1.5; text-align:left;}
}



/* box-06 スペック詳細 */

.box-06 > div {
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-start; align-items:flex-start;
}
.box-06 > div dl {
    width:48%;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
.box-06 > div dl dt ,
.box-06 > div dl dd {
    padding: 8px 0;
    line-height: 1.5;
	letter-spacing:0;
    border-bottom:solid 1px #575757;
}
.box-06 > div dl dt {
    width:30%;
}
.box-06 > div dl dd {
    width:70%;
}
.box-06 > div > small {
    margin: 20px 0 0;
    display:block;
	letter-spacing:0;
}

@media only screen and (max-width:640px){
    
    .box-06 > div dl {
        width:100%;
    }
    .box-06 > div dl dt ,
    .box-06 > div dl dd {
        padding: 10px 0;
        font-size: 1.1rem;
        line-height: 1.5;
    }
    .box-06 > div dl dt {
        width:40%;
    }
    .box-06 > div dl dd {
        width:60%;
    }
    .box-06 > div small {
        font-size: 1rem;
    }
}
