/*
Theme Name:バイクホームページ
*/
/****************************************
* リセットCSS
*****************************************/
*, *::before, *::after {
	box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a,
abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike,
strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-size: 100%;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
body {
	
	width: 100%;
	height: 100%;
	margin: 0 auto;
	letter-spacing: 1.5px;
	line-height: 1.5;
    font-size: 0.75rem;
	color: #fff;
}
img {
    max-width: 100%;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}
a {
	text-decoration: none;
    color: #fff;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: separate;
	border-spacing: 0;
}

input,textarea {
-webkit-appearance: none;
}



.shadow{
	background: linear-gradient(rgba(0,0,0,0.8),rgba(0,0,0,0.8));
	color: #fff;
	max-width: 100%;
}


/****************************************
* ヘッダー
*****************************************/
#header{
	background-color: rgb(0, 0, 0);
	color: white;
	width: 100%;
	position: fixed;
	z-index: 20;
	
}


.header-wrapper{
	padding: 0 50px;
	margin: 0 auto;
}

.header-content {
    display: flex;
    justify-content: space-between;
    height: 40px;
    align-items: center;
}

.header-nav a{
	display: block;
	text-align: right;
}

h1{
	font-family: 'Satisfy', 'cursive';
	text-align: center;
	font-size: 2rem;
	padding: 20px 0;
}


.header-nav ul{
	margin: 0;
	display: flex;
	align-items: center;
	
	
}
.header-nav ul li {
	margin-right: 10px;
	font-size: 1.1rem;
	
}

.header-nav ul li :last-child{
	
}
.space{

}
.form{
	width: 10%;
	font-size: 1.1rem;
}

.form a{
	display: block;
}

/* 固定ページ用のヘッダー */
#header-2{
	background-color: black;
}


/****************************************
* mainvisual
*****************************************/
#visual{
	padding-top: 100px;
	margin-bottom: 100vh;
	
	
}

#visual .video{
	position: relative;

}


/* その場で */
.fadeUp{
	display: block;
	font-size: 3rem;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 70%;
	text-align: center;
	animation-name:fadeUpAnime;
	animation-duration:5s;
	animation-fill-mode:forwards;
	opacity:1;
	transition: ease;
	}
	
	@keyframes fadeUpAnime{
	0%{
		opacity: 0;
		transform: translate(-50%,50%);
		
	}95%{
		opacity: 1;
		transform: translate(-50%,-50%);
	}

	100%{
		opacity: 0;
		transform: translate(0%,-50%);
		}
	}


/*-------------------------------------------
Video
-------------------------------------------*/
/*
動画を全画面表示
*/
#video {
	
	width: 100%;
	object-fit: cover;
	height: 80vh;
}

/*
「position: fixed;」で動画を固定し、「top: -220px;」で表示位置を調整
z-indexでマイナスを設定して、他のコンテンツの下に隠れるようにする

手前で用意した動画はサイズが小さいので横幅100％で調整してみた。
*/
#visual .video {
	position: fixed;
	width: 100%;
	z-index: -10;
}



/****************************************
* feature
*****************************************/
#feature{
	padding: 0 20px;
	margin: 0 auto;

}

#feature .flex{
	display: flex;
	justify-content: space-between;
	
}

.feature-box{
	width: 50%;
	padding: 50px;
}

.feature-box img{
	height: 400px;
	object-fit: cover;
	border-radius:50px ;
}
h2{
	font-size: 1.5rem;
	padding: 10px 0;
}
.feature-box p{
	margin: 10px 0;
}

/****************************************
* product
*****************************************/
#product{
	padding: 0 100px;
	margin: 100px auto;
}


#product .flex{
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}

#product .product-content{
	width: 40%;
	padding: 30px;
}
#product .img{
	width: 60%;
	padding: 30px;
}

#product img{
	width: 100%;
	object-fit: cover;
	border-radius:50px;
	height: 500px;
}

.product-content p{
	margin-bottom: 50px;
}
.btn{
    width: 160px;
    height: 50px;
    border-radius: 50px;
    color: #fff;
	transition: .5s ease;
}

.btn:hover{
	background-color: #fff;
}

.btn a{
	display: block;
    width: 160px;
    height: 50px;
    border: 2px solid #fff;
    justify-content: center;
    border-radius: 50px;
    font-size: 1.3rem;
    color: #fff;
    display: flex;
    align-items: center;
	
}

.btn a:hover{
	color: #000;
}

/* 固定ページ　product */
#product-page{
	padding:20px 50px;
	background-color: black;
}
#product-page img{
	border-radius: 50px;
}

#product-page .flex{
	margin: 30px 0;
}

#product-page .btn{
	display: none;
}



/****************************************
* topics
*****************************************/
#topics{
	padding: 100px 100px;
	margin: 0 auto;

}

#topics .topics-container{
	
}
#topics .topics-container ul {
	display: flex;
}
#topics .topics-container li{
	width: calc(100%/3);
	padding: 20px;
}
#topics .flex{
	display: flex;
}

#topics p{
	margin: 10px 0 50px;
}

#topics img{
	border-radius: 50px;
}

#topics .btn{
	margin: 0 auto;
}

/****************************************
* news
*****************************************/
#news{
	padding: 100px 10px;
	height: 100vh;
}



.news-box{
	width: 500px;
	border: 1px solid #fff;
	margin: 0 auto;
	border-radius: 20px;
	padding: 30px;
	font-size: 1rem;
}


#news .flex{
	display: flex;
	margin: 0 auto 20px;
	align-items: center;
}

#news .date{
	margin-right: 10px;
}

.news-btn{
	margin: 20px auto;
    width: 160px;
    height: 50px;
    border-radius: 50px;
    color: #fff;
	transition: .5s ease;
}

.news-btn:hover{
	background-color: #fff;
}

.news-btn a{
	display: block;
    width: 160px;
    height: 50px;
    border: 2px solid #fff;
    justify-content: center;
    border-radius: 50px;
    font-size: 1.3rem;
    color: #fff;
    display: flex;
    align-items: center;
	
}

.news-btn a:hover{
	color: #000;
}


/****************************************
* test-drive
*****************************************/
#test-drive{
	width: 100%;
	height: 100vh;
	position: relative;
	
}

.test-drive-box{
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

#test-drive .btn{
	margin:0 auto 100px;
}

h3{
	font-size: 2rem;
	margin: 50px 0;
}

/****************************************
* about
*****************************************/
#about{
	padding: 0 100px 100px;
	margin: 0 auto ;

}

#about .flex{
	display: flex;
}

#about .about-box,.about-box2{
	padding: 30px;
}



.about-box img{
	object-fit: cover;
	height:400px;
}

.about-box{
	width: 50%;
}

.about-box2{
	width: 50%;
}

#about img{
	border-radius: 50px;
}

#about p{
	margin: 50px 0;
}

/* 固定ページ about */
#about-page{
	padding:20px 50px;
	background-color: black;
}
#about-page img{
	border-radius: 50px;
}

#about-page .flex{
	margin: 30px 0;
}

#about-page .about-box{
	margin: 30px auto;
	text-align: center;
}

#about-page .about-box2 {
	display: block;
	margin: 0 auto;
	text-align: center;
}

#about-page .btn{
	display: none;
}


/****************************************
* footer
*****************************************/
#footer{
	position: relative;
	
}

#footer .img{
	height: 200px;
}

#footer img{
	height: 200px;
	object-position: bottom 10%;
}

#footer .cp{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);

}
/****************************************
* archive
*****************************************/
#archive{
	background-color: black;
	padding-bottom: 50px;
}

#archive ul{
	padding-top: 130px;
	margin: 0 50px 50px;
}

#archive li{
	margin: 10px auto;
}

/****************************************
* single記事
*****************************************/
#single{
	background-color: black;
	padding-bottom: 50px;
	height: 80vh;
}

.single-page{
	margin: 0 0 0 50px;
}

#single .single-page h1{
	font-family: sans-serif;
	text-align: left;
}

#single .single-page{
	padding-top: 130px;
}

/****************************************
* ページャーのスタイル
*****************************************/
.navigation{
	margin-left:50px ;
}


/****************************************
* コンタクトフォーム
*****************************************/
.ContactForm7{
	background-color: black;
	width: 100%;
	padding-top: 150px;
	
	color: #fff;
	margin: 0 auto;
}

.ContactForm7 p{
text-align: left;
}

.contact-wrapper{
	max-width: 500px;
	width: 100%;
	margin: 0 auto;
	padding: 10px;
	text-align: center;
}


.contact__label{
	margin: 20px auto;
}

.contact__label span{
	margin-left:10px ;
	background-color: red;
	color: white;
}

.contact__submit{
	margin-bottom: 100px;
	text-align: center;
	display: block;
	margin: 0 auto;
	width: 100px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"]{
    background-color: #fff;
    color: #000;
    width: 100%;
	height: 30px;
}
.wpcf7 textarea{
	width: 100%;
}

.wpcf7 input[type="date"]{
	width: 100%;
	height: 40px;
}
.wpcf7-form-control-wrap {
    position: relative;
    height: 100%;
    display: block;
}

.wpcf7 input[type="submit"]{
    -webkit-appearance: none;
  color: #fff;
  background-color: #89c3eb;
  border-radius: 50px;
  font-size: 1.2rem;
  margin: 50px auto;
  width: 100px;
  border: 1px solid rgb(192, 192, 192);
}


.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    background-color: black;
	color: #fff;
	margin: 0;
	text-align: center;
	border: none;
	padding: 0px 0px 50px;
}

/****************************************
* topics single-topics.php
*****************************************/
.single__topics{
	background-color: black;
	padding: 30px 100px 50px;
}

.single__topics .flex{
	display: flex;
}

.single__topics .img__topics{
	width: 60%;
	padding: 10px;
}

.single__topics .text__box{
	width: 40%;
	padding: 10px;
}

.single__topics img{
	border-radius: 50px;
}

/****************************************
* archive　トピックス一覧
*****************************************/
#archive-topics{
	background-color: #000;
	padding: 30px 30px;
}

#archive-topics ul{
	padding: 30px 20px;
}

#archive-topics ul li{
	margin: 20px auto;
}

#archive-topics .thumb{
	width: 30%;
}

#archive-topics img{
	border-radius: 30px;
}













/****************************************
* レスポンシブ スマホ
*****************************************/
@media screen and (max-width:900px) {


body{
	background-color: #000;
}

/****************************************
* header SP
*****************************************/
#header{
	background-color: rgb(0, 0, 0);
	color: white;
	width: 100%;
	position: fixed;
	height: 80px;
	
}

.header-content{
	align-items: flex-start;
}

.header-wrapper{
	padding: 0 10px;
	margin: 0 auto;
}


.header-nav a{
	display: block;
	text-align: right;
}
.header-nav ul{
	width: 50%;
	display: flex;
	align-items: center;
	justify-content:flex-start ;
}
.header-nav ul li{
	margin-right: 5px;
	font-size: 0.7rem;
	
}

.space{
	width: 0%;
}

.form{
	width: 20%;
font-size: 0.7rem;
}



h1{
	font-family: 'Satisfy', 'cursive';
	text-align: center;
	font-size: 1rem;
	padding: 10px 0;
}



/****************************************
* mainvisual SP
*****************************************/
#visual{
	padding-top: 50px;
	margin-bottom: 38vh;
	
	
}

#visual .video{
	position: relative;

}


/* その場で */
.fadeUp{
	display: block;
	font-size: 1.7rem;
	animation-name:fadeUpAnime;
	animation-duration:5s;
	animation-fill-mode:forwards;
	opacity:1;
	transition: ease;
	top: 30%;
	}
	
	@keyframes fadeUpAnime{
	0%{
		opacity: 0;
		transform: translate(-50%,50%);
		
	}95%{
		opacity: 1;
		transform: translate(-50%,-50%);
	}

	100%{
		opacity: 0;
		transform: translate(-50%,-100%);
		}
	}


/*-------------------------------------------
Video
-------------------------------------------*/
/*
動画を全画面表示
*/
#video {
	
	width: 100%;
	object-fit: cover;
	height: 80vh;
}

/*
「position: fixed;」で動画を固定し、「top: -220px;」で表示位置を調整
z-indexでマイナスを設定して、他のコンテンツの下に隠れるようにする

手前で用意した動画はサイズが小さいので横幅100％で調整してみた。
*/
#visual .video {
	position: fixed;
	width: 100%;
	z-index: -10;
}


/****************************************
* feature SP
*****************************************/
#feature{
	padding: 0 10px;
	margin: 0 auto;

}

#feature .flex{
	display: block;
	
}

.feature-box{
	width: 100%;
	padding: 10px;
}

.feature-box img{
	height: 300px;
	object-fit: cover;
	border-radius:30px ;
}
h2{
	font-size: 1.5rem;
	margin:10px 0;
}
.feature-box p{
	margin: 10px 0;
}

/****************************************
* product SP
*****************************************/
#product{
	padding: 0 10px;
	margin: 100px auto;

}
#product .flex{
	width: 100%;
	flex-direction: column;
	justify-content: space-between;
	margin-bottom: 50px;
}
/* 順番の並び替え */
.order1{
order: 2;
}

.order2{
order: 1;
}

#product .product-content{
	width: 100%;
	padding: 10px;
}



#product .img{
	width: 100%;
	padding: 30px;
}

#product img{
	width: 100%;
	object-fit: cover;
	border-radius:50px;
	height: 300px;
}

.product-content p{
	margin-bottom: 50px;
}
.btn{
    width: 160px;
    height: 50px;
    border-radius: 50px;
    color: #fff;
	transition: .5s ease;
}

.btn:hover{
	background-color: #fff;
}

.btn a{
	display: block;
    width: 160px;
    height: 50px;
    border: 2px solid #fff;
    justify-content: center;
    border-radius: 50px;
    font-size: 1.3rem;
    color: #fff;
    display: flex;
    align-items: center;
	
}

.btn a:hover{
	color: #000;
}

/* 固定ページ　プロダクト */
#product-page{
	padding: 20px ;
}

#product-page h2{
	font-size: 1.2rem;
}

/****************************************
* front topics SP
*****************************************/
#topics{
	padding: 0 10px;
	margin: 0 auto;
}

.topics-container ul{
	flex-direction: column;
}
#topics .topics-container li{
	width: 100%;
}

#topics .img{
	object-fit: cover;
	width: 100%;

}

#topics img{
	border-radius: 30px;
}

/****************************************
* news SP
*****************************************/
#news{
	padding: 0 10px;
	margin: 10px auto;
}

#news .flex{
	margin-bottom: 10px;
	align-items: center;
	justify-content: center;
}

#news .news_title{
	margin: 0;
}

.news-box{
	width: 100%;
	border: 1px solid #fff;
	margin: 0 auto;
	border-radius: 20px;
	padding: 10px;
	font-size: 1rem;
}
#news .news-btn{
	margin: 0 auto 20px;
}

#news .news-btn a{
	font-size: 1rem;
	width: 50%;
	margin :0 auto;
}

/****************************************
* test-drive SP
*****************************************/
#test-drive{
	padding: 0 50px;
	margin: 0px auto;
	
}

.test-drive-box{
	text-align: center;
	width: 100%;
}

#test-drive .btn{
	margin:0 auto 100px;
}

h3{
	font-size: 5vw;
	margin: 50px 0;
}

/****************************************
* about SP
*****************************************/
#about{
	padding: 0 10px 100px;
	margin: 0 auto ;

}

#about .flex{
	flex-direction: column;
}

#about .about-box,.about-box2{
	padding: 10px;
}
.about-box{
	width: 100%;
}
.about-box img{
	object-fit: cover;
	height:400px;
}

.about-box2{
	width: 100%;
}

#about img{
	border-radius: 30px;
}

#about p{
	margin: 50px 0;
}

/* 固定ページ　about */
#about-page{
	padding: 20px;
}

#about-page h3{
	font-size: 1.2rem;
}

/****************************************
* archive  SP
*****************************************/
#archive{
	background-color: black;
	padding-bottom: 50px;
}

#archive ul{
	display: block;
	text-align: center;
	padding-top: 50px;
}

#archive li{
	margin: 10px auto;

}

.news_title{
	margin: 10px auto;
}

/****************************************
* ページャーのスタイル
*****************************************/
.navigation{
	margin:0px;
	text-align: center;
}


/****************************************
* topics single-topics.php
*****************************************/
.single__topics{
	background-color: black;
	padding: 30px 0px 50px;
}

.single__topics .flex{
	flex-direction: column;
}

.single__topics .img__topics{
	width: 100%;
	padding: 10px;
}

.single__topics .text__box{
	width: 100%;
	padding: 10px;
}

.single__topics img{
	border-radius: 50px;
}

/****************************************
* archive トピックス一覧 SP
*****************************************/
#archive-topics{
	background-color: #000;
	padding: 30px 0px;
}

#archive-topics ul{
	padding: 30px 30px;
}

#archive-topics ul li{
	margin: 20px auto;
}

#archive-topics .thumb{
	width: 100%;
}

#archive-topics img{
	border-radius: 30px;
}

/****************************************
* コンタクトフォームSP
*****************************************/
.ContactForm7{

	width: 100%;
	padding-top: 150px;
	
	color: #fff;
	margin: 0 auto;
}

}