body{

    background:#0d0d0d;
    color:#f5f5f5;

}

/* ---------------- HERO ---------------- */

.ecu-hero{

    background:linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.75)),
    url("../images/hero.jpg") center center;

    background-size:cover;

    padding:140px 0;

    text-align:center;

}

.ecu-hero h1{

    font-size:48px;

    font-weight:700;

    letter-spacing:.12em;

    margin-bottom:20px;

}

.subtitle{

    color:#d60000;

    font-size:24px;

    letter-spacing:.15em;

    margin-bottom:20px;

}

.lead{

    color:#ddd;

    max-width:700px;

    margin:auto;

    line-height:2;

}


/* ------------ 共通 ------------ */

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.title-line{

    width:80px;

    height:3px;

    background:#d60000;

    margin:20px auto;

}


/* ---------- ECU ---------- */

.ecu-section{

    padding:100px 0;

    background:#181818;

}

.ecu-flex{

    display:flex;

    align-items:center;

}

.ecu-image img{

    border-radius:8px;

    box-shadow:0 15px 40px rgba(0,0,0,.4);

    transition:.4s;

}

.ecu-image img:hover{

    transform:scale(1.03);

}

.ecu-text{

    padding-left:30px;

}

.ecu-text h2{

    font-size:25px;

    margin-bottom:20px;

}

.redline{

    width:70px;

    height:3px;

    background:#d60000;

    margin-bottom:30px;

}

.ecu-text p{

    line-height:2;

    color:#ccc;

}

.dealer-btn{

    display:inline-block;

    margin-top:30px;

    padding:15px 35px;

    border:2px solid #d60000;

    color:white;

    text-decoration:none;

    transition:.3s;

}

.dealer-btn:hover{

    background:#d60000;

    color:white;

}
/*==================================
 ECU SHOP
==================================*/

.shop-section{

    background:#101010;
    padding:110px 0;

}

.shop-flex{

    display:flex;
    align-items:center;

}

.shop-photo{

    overflow:hidden;
    border-radius:10px;

    box-shadow:0 20px 40px rgba(0,0,0,.4);

}

.shop-photo img{

    transition:.5s;

}

.shop-photo:hover img{

    transform:scale(1.05);

}

.shop-text{

    padding-left:50px;

}

.shop-text h3{

    font-size:36px;
    margin-bottom:25px;
    font-weight:700;

}

.shop-text p{

    color:#cfcfcf;
    line-height:2;
    margin-bottom:20px;

}

.official-box{

    margin-top:50px;

    border-left:4px solid #d60000;

    padding-left:25px;

}

.official-box span{

    color:#999;

    letter-spacing:.15em;

    text-transform:uppercase;

}

.official-box h2{

    margin-top:8px;

    font-size:46px;

    font-weight:700;

}



/*==================================
 Dealer
==================================*/

.dealer-section{

    background:#181818;

    text-align:center;

    padding:110px 0;

}

.dealer-section h2{

    font-size:42px;

    margin-bottom:20px;

}

.dealer-section p{

    color:#bbb;

    margin-bottom:45px;

}

.dealer-large{

    display:inline-block;

    padding:18px 55px;

    border:2px solid #d60000;

    color:white;

    text-decoration:none;

    letter-spacing:.08em;

    transition:.35s;

}

.dealer-large:hover{

    background:#d60000;

    color:white;

    text-decoration:none;

    box-shadow:0 0 20px rgba(214,0,0,.45);

}
@media (max-width:991px){

.ecu-flex,
.shop-flex{

    display:block;

}

.ecu-text,
.shop-text{

    padding-left:0;

    margin-top:40px;

}

.ecu-hero{

    padding:90px 20px;

}

.ecu-hero h1{

    font-size:42px;

}

.subtitle{

    font-size:20px;

}

.shop-text h3{

    font-size:30px;

}

.official-box h2{

    font-size:34px;

}

.dealer-section{

    padding:80px 20px;

}

}
/*==============================
FEATURE
==============================*/

.feature-section{

    background:#111;
    padding:100px 0;

}

.feature-card{

    background:#1b1b1b;
    border:1px solid #2d2d2d;
    padding:40px 30px;
    text-align:center;
    margin-bottom:30px;

    transition:.35s;

    border-radius:8px;

}

.feature-card:hover{

    transform:translateY(-8px);

    border-color:#d60000;

    box-shadow:0 20px 35px rgba(0,0,0,.4);

}

.feature-card i{

    font-size:42px;

    color:#d60000;

    margin-bottom:20px;

}

.feature-card h3{

    font-size:22px;

    margin-bottom:20px;

    color:#fff;

}

.feature-card p{

    color:#bbb;

    line-height:1.9;

}

/*=========================
SPEC
=========================*/

.spec-section{

    background:#101010;

    padding:100px 0;

}

.spec-table{

    width:100%;

    border-collapse:collapse;

}

.spec-table th{

    width:240px;

    background:#d60000;

    color:#fff;

    padding:18px;

}

.spec-table td{

    background:#1b1b1b;

    color:#ddd;

    padding:18px;

}

.spec-table tr{

    border-bottom:1px solid #333;

}

@media(max-width:768px){

.spec-table th,
.spec-table td{

display:block;

width:100%;

}

}
/*==================================
 Dealer Card
==================================*/

.dealer-lead{

    color:#bbb;
    margin:20px auto 50px;
    max-width:700px;
    line-height:1.8;

}

.dealer-card{

    background:#1b1b1b;
    border:1px solid #333;
    border-radius:10px;

    padding:30px;

    margin-bottom:30px;

    transition:.35s;

    min-height:370px;

}

.dealer-card:hover{

    transform:translateY(-6px);

    border-color:#d60000;

    box-shadow:0 15px 35px rgba(0,0,0,.35);

}

.dealer-logo{

    width:100%;
    height:160px;

    object-fit:cover;

    border-radius:6px;

    margin-bottom:20px;

}

.dealer-area{

    display:inline-block;

    background:#d60000;

    color:white;

    padding:4px 12px;

    font-size:12px;

    letter-spacing:.08em;

    margin-bottom:15px;

}

.dealer-card h3{

    margin-top:0;

    font-size:28px;

}

.dealer-card p{

    color:#bbb;

    line-height:1.8;

    min-height:70px;

}

.dealer-links{

    margin-top:20px;

}

.dealer-links a{

    display:inline-block;

    margin-right:18px;

    color:#fff;

    text-decoration:none;

}

.dealer-links a:hover{

    color:#d60000;

}

.dealer-links i{

    margin-right:6px;

}

.dealer-note{

    margin-top:35px;

    color:#888;

    text-align:center;

    font-style:italic;

}
/*==================================
 TECH4 Functions
==================================*/

.function-section{

    background:#111;
    padding:100px 0;

}

.function-intro{

    color:#bbb;
    max-width:850px;
    margin:30px auto 60px;
    line-height:2;
    text-align:center;

}

.function-card{

    background:#1b1b1b;
    border:1px solid #333;
    border-radius:8px;

    padding:30px;

    margin-bottom:30px;

    transition:.3s;

}

.function-card:hover{

    border-color:#d60000;

    transform:translateY(-5px);

}

.function-card h3{

    color:#fff;

    margin-top:0;

    margin-bottom:25px;

}

.function-card h3 i{

    color:#d60000;

    margin-right:10px;

}

.function-card ul{

    padding-left:20px;

    color:#ccc;

    line-height:2;

}

.future-box{

    margin-top:40px;

    border-top:1px solid #333;

    padding-top:40px;

    text-align:center;

    color:#aaa;

    line-height:2;

}
/*==================================
 TECH4 RELEASE / PRICE
==================================*/

.tech4-release-section{

    background:#101010;
    padding:110px 0;

}


/* ---------- Release Lead ---------- */

.release-lead{

    color:#bbb;
    line-height:2;
    margin:25px auto 0;
    max-width:700px;

}


/* ---------- Price Box ---------- */

.tech4-price-box{

    max-width:900px;
    margin:0 auto 80px;

    padding:55px 40px;

    text-align:center;

    background:#181818;

    border:1px solid #333;

    border-top:3px solid #d60000;

    border-radius:10px;

    box-shadow:0 20px 50px rgba(0,0,0,.35);

}


.price-label{

    color:#aaa;

    font-size:18px;

    letter-spacing:.12em;

    margin-bottom:20px;

}


.tech4-price{

    color:#fff;

    font-size:52px;

    font-weight:700;

    letter-spacing:.04em;

    line-height:1.3;

}


.tech4-price span{

    color:#d60000;

    font-size:22px;

    margin-left:8px;

    letter-spacing:.08em;

}


.price-note{

    color:#888;

    font-size:13px;

    line-height:2;

    margin-top:25px;

}


.price-buttons{

    margin-top:35px;

}


.tech4-price-button{

    display:inline-block;

    min-width:220px;

    margin:5px 8px;

    padding:15px 30px;

    background:#d60000;

    border:2px solid #d60000;

    color:#fff;

    text-decoration:none;

    font-weight:bold;

    letter-spacing:.08em;

    transition:.3s;

}


.tech4-price-button:hover{

    background:#fff;

    border-color:#fff;

    color:#000;

    text-decoration:none;

}


.tech4-price-button.outline{

    background:transparent;

}


.tech4-price-button.outline:hover{

    background:#d60000;

    border-color:#d60000;

    color:#fff;

}


.tech4-price-button i{

    margin-right:8px;

}


/*==================================
 HARNESS
==================================*/

.harness-section{

    margin-bottom:90px;

}


.harness-card{

    height:100%;

    min-height:310px;

    background:#181818;

    border:1px solid #333;

    border-radius:8px;

    padding:40px 35px;

    margin-bottom:30px;

    transition:.35s;

}


.harness-card:hover{

    transform:translateY(-5px);

    border-color:#d60000;

    box-shadow:0 15px 35px rgba(0,0,0,.35);

}


.harness-card.special{

    border-top:3px solid #d60000;

}


.harness-label{

    display:inline-block;

    color:#d60000;

    font-size:12px;

    letter-spacing:.12em;

    margin-bottom:18px;

}


.harness-card h3{

    color:#fff;

    font-size:25px;

    line-height:1.5;

    margin-top:0;

    margin-bottom:25px;

}


.harness-card p{

    color:#bbb;

    line-height:2;

    margin-bottom:18px;

}


/*==================================
 JIMNY SPECIAL
==================================*/

.jimny-special{

    max-width:900px;

    margin:0 auto 90px;

    text-align:center;

    padding:60px 50px;

    background:#181818;

    border:1px solid #333;

    border-radius:8px;

}


.jimny-special h3{

    color:#fff;

    font-size:30px;

    margin-top:0;

    margin-bottom:10px;

}


.center-line{

    margin-left:auto;

    margin-right:auto;

    margin-bottom:30px;

}


.jimny-special p{

    color:#bbb;

    line-height:2;

    margin-bottom:20px;

}


.jimny-models{

    margin-top:35px;

}


.jimny-models span{

    display:inline-block;

    margin:5px;

    padding:10px 25px;

    border:1px solid #d60000;

    color:#fff;

    font-weight:bold;

    letter-spacing:.08em;

}


/*==================================
 ORDER INFO
==================================*/

.order-info{

    text-align:center;

    max-width:800px;

    margin:0 auto;

    padding-top:50px;

    border-top:1px solid #333;

}


.order-info h3{

    color:#fff;

    font-size:28px;

    margin-bottom:25px;

}


.order-info p{

    color:#bbb;

    line-height:2;

    margin-bottom:20px;

}


/*==================================
 MOBILE
==================================*/

@media(max-width:767px){

    .tech4-release-section{

        padding:80px 15px;

    }


    .tech4-price-box{

        padding:40px 20px;

        margin-bottom:60px;

    }


    .price-label{

        font-size:15px;

        letter-spacing:.08em;

    }


    .tech4-price{

        font-size:38px;

    }


    .tech4-price span{

        display:block;

        font-size:18px;

        margin:5px 0 0;

    }


    .price-note{

        font-size:12px;

        text-align:left;

    }


    .tech4-price-button{

        display:block;

        width:100%;

        margin:10px 0;

        padding:15px 10px;

    }


    .harness-section{

        margin-bottom:60px;

    }


    .harness-card{

        min-height:0;

        padding:30px 25px;

    }


    .harness-card h3{

        font-size:22px;

    }


    .jimny-special{

        padding:40px 25px;

        margin-bottom:60px;

    }


    .jimny-special h3{

        font-size:24px;

        line-height:1.5;

    }


    .jimny-special p{

        text-align:left;

    }


    .jimny-models span{

        padding:9px 20px;

    }


    .order-info{

        padding-top:35px;

    }


    .order-info h3{

        font-size:23px;

        line-height:1.5;

    }

}
/*==================================
 TECH4 UNIVERSAL / PRICE ORDER
==================================*/

.tech4-universal{

    max-width:900px;
    margin:0 auto 70px;
    text-align:center;
    padding:50px 40px;

    background:#1b1b1b;
    border:1px solid #333;
    border-radius:8px;

}

.tech4-universal h3{

    font-size:30px;
    line-height:1.7;
    margin:20px 0 25px;

}

.tech4-universal p{

    color:#bbb;
    line-height:2;
    max-width:800px;
    margin:0 auto 20px;

}

.tech4-universal strong{

    color:#fff;

}


/* PRICE */

.price-vehicle{

    max-width:700px;
    margin:50px auto 40px;

    padding:45px 30px;

    text-align:center;

    background:#1b1b1b;

    border:1px solid #333;

    border-radius:8px;

}

.price-vehicle h4{

    font-size:30px;
    margin:20px 0 10px;

}

.price-vehicle p{

    color:#bbb;
    line-height:1.8;

}

.price-vehicle .tech4-price{

    margin:25px 0;

    font-size:42px;
    font-weight:700;

}

.price-vehicle .tech4-price span{

    font-size:18px;
    font-weight:400;

}


.future-vehicle{

    max-width:700px;

    margin:40px auto 60px;

    padding:30px;

    border-top:1px solid #333;
    border-bottom:1px solid #333;

    text-align:center;

}

.future-vehicle span{

    color:#d60000;

    font-size:18px;

    font-weight:700;

    letter-spacing:.12em;

}

.future-vehicle p{

    color:#999;

    margin-top:15px;

}


.dealer-order{

    max-width:800px;

    margin:0 auto;

    text-align:center;

    padding-top:20px;

}

.dealer-order h4{

    font-size:26px;

    margin-bottom:25px;

}

.dealer-order p{

    color:#bbb;

    line-height:1.9;

}


@media(max-width:768px){

    .tech4-universal{

        padding:35px 20px;

        margin-bottom:50px;

    }

    .tech4-universal h3{

        font-size:24px;

    }

    .price-vehicle{

        padding:35px 20px;

    }

    .price-vehicle h4{

        font-size:24px;

    }

    .price-vehicle .tech4-price{

        font-size:34px;

    }

    .price-vehicle .tech4-price span{

        font-size:15px;

    }

}
.price-vehicle{
    font-size:14px;
    padding:6px 15px;
}
/* ==================================
   TECH4 PRICE / ORDER
================================== */

.price-vehicle-list{
    display:flex;
    gap:25px;
    margin-top:40px;
}

.price-vehicle{
    flex:1;
    min-width:0;

    background:#1b1b1b;
    border:1px solid #333;
    border-radius:8px;

    padding:25px 20px;

    text-align:center;

    transition:.3s;
}

.price-vehicle:hover{
    border-color:#d60000;
    transform:translateY(-5px);
    box-shadow:0 15px 30px rgba(0,0,0,.35);
}

.price-vehicle .harness-label{
    display:inline-block;

    font-size:12px;
    letter-spacing:.12em;

    margin-bottom:12px;
}

.price-vehicle h4{
    font-size:20px;
    margin:10px 0 15px;
}

.price-vehicle p{
    color:#bbb;
    line-height:1.8;
    font-size:13px;
}

.price-vehicle .tech4-price{
    font-size:30px;
    font-weight:700;
    margin:20px 0;
}

.price-vehicle .tech4-price span{
    font-size:13px;
    font-weight:400;
}

.price-vehicle .price-note{
    color:#888;
    font-size:11px;
    line-height:1.7;
    margin-top:15px;
}

.price-vehicle.coming-soon{
    opacity:.7;
}

.price-vehicle.coming-soon .harness-label{
    color:#888;
}


/* ---------- TABLET / MOBILE ---------- */

@media(max-width:991px){

    .price-vehicle-list{
        gap:15px;
    }

    .price-vehicle{
        padding:20px 15px;
    }

    .price-vehicle h4{
        font-size:18px;
    }

    .price-vehicle .tech4-price{
        font-size:25px;
    }

}


@media(max-width:767px){

    .price-vehicle-list{
        display:block;
    }

    .price-vehicle{
        width:100%;
        margin-bottom:20px;
    }

}