
body {
    background-color: #F4F4F4;
}
/* areaVehicle */
.areaVehicle {
    padding-top: 118px;
    margin-bottom: 201px;
}
.areaVehicle .inner {
    max-width: 1250px;
}
.areaVehicle .vehicleIntro {
    position: relative;
}
.areaVehicle .vehicleIntro .vehicleIntroWrap  {
    display: inline;
}
.areaVehicle .vehicleIntro .vehicleTitle {
    position: absolute;
    top: 48.5%;
    right: -6.7%;
    transform: translateY(-50%);
    width: 56%;
    max-width: 659px;
    background-color: #1b5b0f;
    color: #fff;
    padding: 61px 76px 111px;
}
.areaVehicle .vehicleIntro .vehicleTitle .titleEn {
    font-size: 74px;
    font-weight: bold;
    margin-bottom: 17px;
}
.areaVehicle .vehicleIntro .vehicleTitle .titleJp {
    font-size: 27px;
    font-weight: 500;
    margin-left: 7px;
    letter-spacing: -0.4px;
}
.areaVehicle .vehicleWrap {
    background-color: #fff;
    padding: 62px 78px 100px;
}
.areaVehicle .vehicleWrap .vehicleName {
    font-size: 29px;
    font-weight: 600;
    color: #1b5b0f;
    margin-bottom: 8px;
}
.areaVehicle .vehicleWrap .vehicleSub {
    font-size: 20px;
    color: #4d4d4d;
    line-height: 1.75;
    margin-bottom: 30px;
}
.areaVehicle .vehicleWrap .vehicleList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 1px;
}
.areaVehicle .vehicleWrap .vehicleList a{
    display: block;
    width: calc(100%/3 - 19px);
    margin: 33px 0;
}
.areaVehicle .vehicleWrap .vehicleList .vehiclePhoto {
    width: 100%;
    overflow: hidden;
    margin-bottom: 10px;
}
.areaVehicle .vehicleWrap .vehicleList .vehiclePhoto img{
    width: 100%;
    aspect-ratio: 325/244;
    object-fit: cover;
    object-position: center;
    transition: all .3s;
}
.areaVehicle .vehicleWrap .vehicleList .photoSub {
    font-size: 20px;
    color: #4d4d4d;
}
/* areaVehicle */
@media(max-width: 1380px) and (min-width: 769px) {
    .areaVehicle .vehicleIntro .vehicleTitle {
        right: -2.5%;
        width: 51.3%;
    }
}
@media (max-width: 1280px) and (min-width: 769px) {
    .areaVehicle .vehicleIntro .vehicleTitle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 48.7%;
        right: 0;
        padding: 0 0 50px 77px;
        height: 341px;
    }
}
@media (max-width: 1200px) and (min-width: 769px) {
    .areaVehicle .vehicleIntro .vehicleTitle {
        padding-left: 5vw;
        padding-bottom: 2vw;
        height: 28.4vw;
        margin-bottom: 6vw;
    }
    .areaVehicle .vehicleIntro .vehicleTitle .titleEn {
        font-size: 6.2vw;
    }
    .areaVehicle .vehicleIntro .vehicleTitle .titleJp {
        font-size: 2.2vw;
    }
}
@media(max-width: 1000px) and (min-width: 769px) {
    .areaVehicle {
        padding-top: 60px;
        margin-bottom: 101px;
    }
    .areaVehicle .vehicleWrap {
        padding: 50px 40px;
    }
    .areaVehicle .vehicleWrap .vehicleName {
        font-size: 25px;
    }
    .areaVehicle .vehicleWrap .vehicleSub {
        font-size: 18px;
    }
    .areaVehicle .vehicleWrap .vehicleList {
        margin: 20px 0;
    }
    .areaVehicle .vehicleWrap .vehicleList a {
        width: calc(50% - 15px);
    }
    .areaVehicle .vehicleWrap .vehicleList .photoSub {
        font-size: 18px;
    }
}
@media(max-width: 850px) and (min-width: 769px) {
    .areaVehicle .vehicleWrap .vehicleList .photoSub {
        font-size: 16px;
    }
}
@media(min-width: 769px) {
    .areaVehicle .vehicleWrap .vehicleList a:hover .vehiclePhoto img {
        transform: scale(1.05);
    }
    .areaVehicle .vehicleWrap .vehicleList a:hover .photoSub {
        color: #ff6600;
    }
}

@media(max-width: 768px) {
    .areaVehicle {
        padding-top: 0;
        margin-bottom: 15vw;
    }
    .areaVehicle .vehicleIntro .vehicleIntroWrap {
        display: inline-block;
        width: 100%;
    }
    .areaVehicle .vehicleIntro .vehiclePhoto img {
        min-height: 65vw;
        object-fit: cover;
        object-position: center;
    }
    .areaVehicle .vehicleIntro .vehicleTitle {
        position: relative;
        top: auto;
        right: auto;
        transform: translateY(0);
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 2vw 6% 5vw;
    }
    .areaVehicle .vehicleIntro .vehicleTitle .titleEn {
        font-size: clamp(50px, 10vw, 70px);
        margin-bottom: clamp(10px, 2vw, 30px);
    }
    .areaVehicle .vehicleIntro .vehicleTitle .titleJp {
        font-size: clamp(18px, 3.5vw, 26px);
        margin: 0;
    }
    .areaVehicle .vehicleWrap {
        padding: 5vw 5vw 10vw;
    }
    .areaVehicle .vehicleWrap .vehicleName {
        font-size: clamp(24px,5vw,36px);
    }
    .areaVehicle .vehicleWrap .vehicleSub {
        font-size: clamp(16px,4vw,22px);
        margin-bottom: 7vw;
    }
    .areaVehicle .vehicleWrap .vehicleList a {
        width: 47%;
        margin: 3vw 0;
    }
    .areaVehicle .vehicleWrap .vehicleList .vehiclePhoto {
        margin-bottom: 2vw;
    }
    .areaVehicle .vehicleWrap .vehicleList .photoSub {
        font-size: clamp(16px,4vw,22px);
    }
    .fancybox__slide {
        padding: 10vw 5vw;
    }
    .fancybox__caption {
        font-size: clamp(16px, 4vw, 22px);
    }
}
@media(max-width: 430px) {
    .areaVehicle .vehicleWrap .vehicleSub {
        margin-bottom: 10vw;
    }
    .areaVehicle .vehicleWrap .vehicleList a {
        width: 100%;
        margin: 0;
    }
    .areaVehicle .vehicleWrap .vehicleList a:not(:last-child) {
        margin-bottom: 8vw;
    }
}