/*---------------------------------------------------------
common
---------------------------------------------------------*/
*{
  margin: 0;
  padding: 0;
  text-decoration: none;
  list-style: none;
  box-sizing: border-box;
  color: #333333;
  display: flex;
  flex-wrap: wrap;
  font-family: 	"メイリオ","ヒラギノ角ゴシック","Arial",sans-serif;
  scroll-behavior: smooth;
}

head,
script{
  display: none;
}

/*---------------------------------------------------------
width
---------------------------------------------------------*/
body{
  width: 100vw;
}

.header_a{
  width: 15.5%;
}

.header_a h1,
.header_a .logo,
.header_a .logo p,
.header_a nav,
.header_a nav a,
.header_a nav a dl dt,
.header_a nav a dl dd,
.header_a nav ul li,
.header_b,
.header_b .logo p,
.header_b .menu h1,
.header_b .menu nav,
.header_b .menu nav dl,
.header_b .menu nav dl dt,
.header_b .menu nav dl dd,
.header_sp,
.header_sp .logo img,
.header_sp .h_data h1,
.header_sp .h_data ul,
.sub_title_a,
.sub_title_a dl dt,
.sub_title_a dl dt h2,
.sub_title_a dl dd,
.sub_title_b,
.sub_title_b dl dt,
.sub_title_b dl dt h2,
.sub_title_b dl dd,
footer,
footer nav a dl,
footer nav a dl dt,
footer nav a dl dd,
footer .f_info a,
footer .f_info dl,
footer .f_info ul,
footer .copy{
  width: 100%;
}

.header_b .menu,
.header_a nav a{
  width: 90%;
}

.header_a nav ul,
footer .f_info a dl dd{
  width: 80%;
}

.header_sp .h_data{
  width: 72%;
}

.header_a .logo img,
footer .logo img{
  width: auto;
}

.header_b .logo img,
.header_sp .h_data ul li,
footer nav a{
  width: 50%;
}

footer .f_info ul li{
  width: 40%;
}

.sub_title_a dl,
.sub_title_b dl,
footer nav{
  width: 30%;
}

footer .f_info{
  width: 26%;
}

footer .logo,
footer .f_info a dl dt{
  width: 20%;
}

.header_b .menu nav a,
.header_b .logo{
  width: 10%;
}

.header_sp .logo,
.header_sp .openbtn{
  width: 14%;
}


@media only screen and (max-width: 767px){  
  #g-nav-list ul li dl dt,
  #g-nav-list ul li dl dd,
  footer nav a,
  footer .logo,
  footer .f_info a,
  footer .f_info ul li{
    width: 100%;
  }

  .sub_title_a dl,
  .sub_title_b dl{
     width: 70%;
  }

  footer .f_info{
    width: 90%;
  }

  footer nav{
    width: 40%;
  }

}

/*---------------------------------------------------------
height
---------------------------------------------------------*/
.header_a{
  height: 100vh;
}

.header_b{
  height: 160px;
}

.header_sp{
  height: 60px; 
}

.header_a h1{
  height: 4%;
}

.header_b .menu h1{
  height: 30px;
}

.header_a .logo{
  height: 30%;
}

.header_a .logo p{
  height: 15%;
}

.header_a nav{
  height: 66%;
}

.header_b .menu nav a,
.header_b .menu nav ul{
  height: 60%;
}

.header_a nav a dl,
.header_sp .logo,
footer nav a dl{
  height: 100%;
}

.header_a .logo img,
.header_b .logo img,
.header_sp .logo img,
footer .logo img{
  height: auto;
}

.header_a nav a,
.header_a nav ul{
  height: 8%;
}

.vehicle_bk{
  height: 257px;
}

.sub_title_a,
.sub_title_b{
  height: 62px;
}

.header_b nav{
  height: 130px;
}



/*---------------------------------------------------------
display
---------------------------------------------------------*/
h1,
.header_a .logo p,
.header_b .logo p,
.header_b .menu nav a,
.header_b .menu nav ul,
.header_sp .h_data ul li,
footer .f_info a dl dt,
footer .f_info a dl dd{
 align-items: center;
}

.header_a nav a dl dt,
footer nav a dl dt{
 align-items: flex-end;
}

/*---------------------------------------------------------
display
---------------------------------------------------------*/
.header_sp{
 position: fixed;
 top: 0;
 left: 0;
}

/*---------------------------------------------------------
justify-content
---------------------------------------------------------*/
h1,
.header_a .logo p,
.header_b .logo p,
.header_b .menu nav a dt,
.header_b .menu nav a dd, 
.header_sp .h_data ul li,
.sub_title_a dl dt,
.sub_title_a dl dt h2,
.sub_title_a dl dd,
.sub_title_b dl dt,
.sub_title_b dl dt h2,
.sub_title_b dl dd,
footer .copy{
 justify-content: center;
}

.header_b .menu h1{
  justify-content: flex-start;
}

footer .f_info a dl dt,
footer .f_info ul{
  justify-content: flex-end;
}

.header_b .menu nav{
  justify-content: space-between;
}

@media only screen and (max-width: 767px){  
  footer .logo,
  footer .f_info ul li{
     justify-content: center;
  }
}

/*---------------------------------------------------------
margin
---------------------------------------------------------*/
.header_a .logo img,
.header_b .logo img,
.sub_title_a dl,
.sub_title_b dl,
.vehicle_bk img,
footer .logo img,
footer .f_info{
  margin: 0 auto;
}

.header_a nav a{
  margin-left: auto;
}

footer .f_info ul li{
  margin-left: 5%;
}


.header_a nav ul{
  margin: 50px auto 0;
}

.sub_title_a,
.sub_title_b{
  margin-bottom: 100px;
}

footer .copy{
  margin-top: 100px;
}

.header_b .menu nav a,
.header_b .menu nav ul{
  margin: 20px 0;
}

.header_b .menu nav ul{
    margin-left: 10%;
}


@media only screen and (max-width: 767px){  
  footer nav{
    margin: 0 auto 30px;
  }

  footer .f_info ul li{
    margin: 0;
  }

  footer .f_info {
    margin-left: 5%;
  }

  footer nav a{
    margin-top: 30px;
  }

  #g-nav-list ul li{
    margin-bottom: 30px;
  }
}


/*---------------------------------------------------------
padding
---------------------------------------------------------*/
footer{
  padding-top: 100px;
}

.header_a .logo,
.header_b .logo,
.vehicle_bk{
  padding: 20px 0;
}

.header_b .menu nav{
  padding: 0 30px;
}

.header_b .menu h1{
  padding: 0 5px;
}

.header_a .logo p,
footer .copy{
  padding: 5px 0;
}

.header_a nav{
  padding: 20% 0;
}


/*---------------------------------------------------------
font-size
---------------------------------------------------------*/
h1,
.header_sp .h_data ul li{
  font-size: 66%;
}

.header_a nav a dl dt,
.header_b .menu nav dl dt,
footer nav a dl dt{
  font-size: 40%;
}

.header_a nav a dl dd,
footer nav a dl dd,
.header_a nav ul li{
  font-size: 100%;
}

footer .f_info a dl dt{
  font-size: 150%;
}

footer .f_info a dl dd{
  font-size: 300%;
}

@media only screen and (max-width: 767px){  
    footer .f_info a dl dd{
    font-size: 200%;
  }

  #g-nav-list ul li dl dt{
    font-size: 40%;
  }

  #g-nav-list ul li dl dd{
    font-size: 100%;
  }
}

/*---------------------------------------------------------
font-weight
---------------------------------------------------------*/
footer .f_info a dl dt,
footer .f_info a dl dd{
  font-weight: 700;
}

#g-nav-list ul li a dl dt{
  font-weight: normal;
}

/*---------------------------------------------------------
color
---------------------------------------------------------*/
h1,
.sub_title_b dl dt h2,
.sub_title_b dl dd,
footer .copy,
#g-nav-list ul li a dl dt,
#g-nav-list ul li a dl dd{
  color: #fff;
}

.header_a nav a dl dt,
.header_b .menu nav dl dt{
  color: #999;
}

footer .f_info a dl dt,
footer .f_info a dl dd{
  color: #fbb03b;
}

/*---------------------------------------------------------
background
---------------------------------------------------------*/
h1,
footer .copy,
.openbtn{
  background: #333;
}

.header_a .logo{
  background: #fff;
}

.header_a nav,
.header_b nav,
.header_sp .h_data ul{
  background: #e6e6e6;
}


.list a{
  background-image: linear-gradient(0deg, #303c49 50%,
                                          #404b57 50%);
}

.list a:hover{
  background-image: linear-gradient(0deg, #f7931e 50%,
                                          #fbb03b 50%);
}


/*---------------------------------------------------------
border
---------------------------------------------------------*/
.header_a nav a:hover,
.header_b .menu nav a:hover,
footer nav a:hover,
.sub_title_a dl dt{
  border-bottom: 2px solid #c1272d;
}

.sub_title_b dl dt{
  border-bottom: 2px solid #f7931e;
}

.vehicle_bk{
  background-image: linear-gradient(0deg, #edebe8,
                                          #ffffff 60%, 
                                          #edebe8 60%,
                                          #d3d1cf 61%,
                                          #ffffff 72%,
                                          #d2d0ce);
}


/*---------------------------------------------------------
index
---------------------------------------------------------*/
  .header_sp{
      z-index: 2;
  }


/*---------------------------------------------------------
global navigation
---------------------------------------------------------*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:0;
  right: -120%;
	width:100%;
  height: 100vh;/*ナビの高さ*/
	background:#999;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 9998;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center;
}

#g-nav li a{
	color: #333;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position: relative;
  z-index: 9999;/*ボタンを最前面に*/
	cursor: pointer;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 16px;
    height: 3px;
    border-radius: 2px;
	  background-color: #fff;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:18px;	
}

.openbtn span:nth-of-type(2) {
	top:29px;
}

.openbtn span:nth-of-type(3) {
	top:40px;
}

.openbtn.active span:nth-of-type(1) {
    top: 22px;
    left: 17px;
    transform: translateY(6px) rotate(-45deg);
    width: 44%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 34px;
    left: 17px;
    transform: translateY(-6px) rotate(45deg);
    width: 44%;
}

