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

h2{
background-repeat: no-repeat;
margin: 0 auto;
}
h2 img{
display: block;
margin: 0 auto;
}
/*---------------
#hero
---------------*/
#hero{
position: relative;
}
#hero p{
position: absolute;
left: 50%;
transform: translateX(-50%);
text-align: center;
width: 100%;
font-family: 'Shippori Mincho', serif;
font-weight: 600;
}
#hero p:first-of-type{
color: #656464;
}
#hero p:last-of-type{
line-height: 2.0em;
color: #fff;
}
/*---------------
#vehicle
---------------*/
#vehicle h2{
background-image: url("../images/icon_b.webp");
}
#vehicle .box ul li div{
display: flex;
align-items: center;
justify-content: space-between;
}
#vehicle .box ul li div img{
width: 20%;
}
#vehicle .box ul li table{
width: 100%;
border: solid 1px #333;
}
#vehicle .box ul li table tr:first-of-type th:first-of-type{
writing-mode: vertical-rl;
vertical-align: middle;
}
#vehicle .box ul li table tr th{
text-align: center;
border-right: solid 1px #333;
border-bottom: solid 1px #333;
}
#vehicle .box ul li table tr th:first-of-type{
background-color: #bebebe;
text-align: center;
border-right: solid 1px #333;
border-bottom: solid 1px #333;
}
#vehicle .box ul li table tr td{
text-align: center;
border-right: solid 1px #333;
font-family: 'Akshar', sans-serif;
font-weight: 500;
letter-spacing: -0.1rem;
line-height: 1.8rem;
}

#vehicle table.kaka tr th{
writing-mode: horizontal-tb !important;
text-align: center;
border-right: solid 1px #333;
border-bottom: solid 1px #333;
}
#vehicle table.kaka tr th:first-of-type{
writing-mode: horizontal-tb !important;
background-color: #bebebe;
text-align: center;
border-right: solid 1px #333;
border-bottom: solid 1px #333;
}
#vehicle table.kaka tr td{
text-align: center;
border-right: solid 1px #333;
font-family: 'Akshar', sans-serif;
font-weight: 500;
letter-spacing: -0.1rem;
line-height: 1.8rem;
font-size: 16px !important;
}


#vehicle .box ul li a{
display: block;
margin: 0 auto;
}
#vehicle .box > a{
display: block;
margin: 0 auto;
}



/*---------------
#news
---------------*/
#news{
background-color: #5f5f5f;	
}
#news h2{
background-image: url("../images/icon_w.webp");
}
#news .box ul{
background: #fff;
margin: 0 auto;
overflow: hidden;
overflow-y: scroll;
}
#news .box ul li:last-of-type{
padding-bottom: 0;
}
#news .box ul li a{
display: flex;
}
#news .box ul li a time{
font-weight: 500;
}
#news .box ul li a p{
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/*---------------
#flow
---------------*/
#flow{
background-color: #af1e2d;
}
#flow h2{
background-image: url("../images/icon_w.webp");
}
#flow .box ul{
margin: 0 auto;
}
#flow .box ul li{
background-repeat: no-repeat;
}
#flow .box ul li:nth-child(1),
#flow .box ul li:nth-child(2),
#flow .box ul li:nth-child(4){
background-image: url("../images/arrows3.webp");
}
#flow .box ul li:nth-child(3){
background-image: url("../images/arrows2.webp");
}
#flow .box ul li:nth-child(5){
padding-bottom: 0;
}
#flow .box ul li p{
color: #fff;
line-height: 2em;
}
#flow .box ul li div{
display: flex;
justify-content: space-between;
}
#flow .box ul li div a{
width: 48%;
}
#flow .cta{
margin: 0 auto;
}
#flow .cta div{
display: flex;
justify-content: space-between;
}
#flow .cta > a{
display: block;
}
#flow .cta div a{
width: 48%;
margin: 0 auto;
}
/*---------------
#company
---------------*/
#company h2{
background-image: url("../images/icon_b.webp");
}
#company table{
margin: 0 auto;
border-top: solid 1px #000;
border-bottom: solid 1px #000;
}
#company table tr{
border-bottom: solid 1px #000;
}
#company table tr:last-of-type{
border-bottom: none;
}
#company table th{
background-color: #cccccc;
text-align: justify;
text-align-last: justify;
}

@media (max-width: 560px){
#header{
background: rgba(255,255,255,0);
transition: .6s;
}
#header.on{
background: rgba(255,255,255,0.8);
transition: .6s;
}
section{
padding: 30px 0 50px;
}
h2{
background-size: 32%;
padding: 70px 0 30px;
background-position: -5%;
width: 100%;
}
h2 img{
width: 90%;
margin: 0 auto;
}
/*---------------
#hero
---------------*/
#hero p:first-of-type{
line-height: 2.2em;
letter-spacing: 0.05em;
font-weight: 700;
font-size: 1.8rem;
top: 100px;
}
#hero p:last-of-type{
font-size: 1.4rem;
bottom: 30px;
}
/*---------------
#vehicle
---------------*/
#vehicle .box ul li{
margin-bottom: 40px;
}
#vehicle .box ul li .thumbnail{
padding-bottom: 10px;
}
#vehicle .box ul li div{
padding-bottom: 10px;
}
#vehicle .box ul li div h3{
font-size: 1.4rem;
padding-right: 10px;
}
#vehicle .box ul li table{
margin-bottom: 15px;
}
#vehicle .box ul li table tr th{
font-size: 1.2rem;
padding: 3px 0;
}
#vehicle .box ul li table tr td{
font-size: 2.2rem;
padding: 10px 0 5px;
}
#vehicle .box ul li table tr td span{
font-size: 1rem;
padding-left: 3px;
}
#vehicle .box ul li a{
width: 60%;
}
#vehicle .box > a{
width: 90%;
}
/*---------------
#news
---------------*/
#news h2{
margin-bottom: 10px;
}
#news .box ul{
height: 150px;
padding: 20px;
}
#news .box ul li{
padding-bottom: 15px;
}
#news .box ul li a{
flex-direction: column;
}
#news .box ul li a time{
padding-right: 20px;
}
/*---------------
#flow
---------------*/
#flow .box ul{
padding-bottom: 50px;
}
#flow .box ul li{
padding-bottom: 60px;
background-position: 17px 80px;
background-size: 25px;
}
#flow .box ul li:nth-child(1){
padding-bottom: 40px;
}
#flow .box ul li:nth-child(3){
padding-bottom: 40px;
}
#flow .box ul li:nth-child(4){
padding-bottom: 80px;
}
#flow .box ul li h3{
width: 130px;
}
#flow .box ul li p{
padding-left: 60px;
font-size: 1.2rem;
}
#flow .box ul li div{
padding-left: 70px;
margin-top: 20px;
}
#flow .cta{
width: 90%;
}
#flow .cta > a{
padding-bottom: 20px;
}
/*---------------
#company
---------------*/
#company table{
width: 100%;
font-size: 1.2rem;
}
#company table th{
width: 70px;
padding: 5px 10px;
}
#company table td{
padding: 5px 15px;
}
}

@media (min-width: 561px){
h2{
background-size: 190px;
padding: 100px 0 30px;
background-position: calc(30% - 120px) 20px;
width: 100%;
}
h2 img{
width: 90%;
max-width: 650px;
}
/*---------------
#vehicle
---------------*/
#vehicle .box ul{
display: flex;
flex-wrap: wrap;
}
#vehicle .box ul li{
width: 48%;
padding-right: 4%;
margin-bottom: 70px;
}
#vehicle .box ul li:nth-of-type(2n){
padding-right: 0;
}
#vehicle .box ul li .thumbnail{
padding-bottom: 20px;
}
#vehicle .box ul li div{
padding-bottom: 20px;
}
#vehicle .box ul li div h3{
font-size: 2rem;
padding-right: 10px;
}
#vehicle .box ul li table{
margin-bottom: 30px;
}
#vehicle .box ul li table tr th{
padding: 5px 0;
}
/*---------------
#news
---------------*/
#news h2{
margin-bottom: 15px;
}
#news .box ul{
max-width: 570px;
height: 185px;
padding: 30px 40px;
}
#news .box ul li{
padding-bottom: 15px;
}
#news .box ul li a time{
padding-right: 60px;
}
/*---------------
#flow
---------------*/
#flow .box ul{
width: 100%;
max-width: 650px;
padding-bottom: 70px;
}
#flow .box ul li{
padding-bottom: 120px;
background-position: 30px 120px;
}
#flow .box ul li:nth-child(1){
padding-bottom: 80px;
}
#flow .box ul li:nth-child(4){
padding-bottom: 150px;
}
#flow .box ul li h3{
width: 200px;
}
#flow .box ul li p{
padding-left: 100px;
}
#flow .box ul li div{
padding-left: 110px;
width: 75%;
margin-top: 30px;
}
#flow .cta{
width: 90%;
max-width: 540px;
}
#flow .cta > a{
padding-bottom: 30px;
}
/*---------------
#company
---------------*/
#company h2{
margin-bottom: 15px;
}
#company table{
width: 100%;
max-width: 650px;
font-size: 1.6rem;
}
#company table th{
width: 100px;
padding: 10px 20px;
}
#company table td{
padding: 10px 20px;
}
}

@media (min-width: 561px) and (max-width: 1024px){
h2{
margin-bottom: 30px;
}
section{
padding: 40px 0 80px;
}
/*---------------
#hero
---------------*/
#hero{
margin-top: 80px;
}
#hero p:first-of-type{
line-height: 1.5em;
font-size: 2.0rem;
top: 20px;
}
#hero p:last-of-type{
font-size: 1.5rem;
bottom: 30px;
}
/*---------------
#vehicle
---------------*/
#vehicle .box ul li table tr td{
font-size: 2.6rem;
padding: 15px 0 10px;
}
#vehicle .box ul li table tr td span{
font-size: 1.0rem;
padding-left: 3px;
}
#vehicle .box ul li a{
width: 80%;
}
#vehicle .box > a{
width: 60%;
max-width: 540px;
}
}

@media screen and (min-width: 1025px){
h2{
margin-bottom: 70px;
}
section{
padding: 90px 0;
}
/*---------------
#hero
---------------*/
#hero{
margin-top: 80px;
}
#hero p:first-of-type{
line-height: 1.5em;
font-size: 2.6rem;
top: 40px;
}
#hero p:last-of-type{
font-size: 2.0rem;
bottom: 70px;
}
/*---------------
#vehicle
---------------*/
#vehicle .box ul li table tr td{
font-size: 3.5rem;
padding: 15px 0 10px;
}
#vehicle .box ul li table tr td span{
font-size: 1.2rem;
padding-left: 3px;
}
#vehicle .box ul li a{
width: 60%;
}
#vehicle .box > a{
width: 60%;
max-width: 540px;
}
}