@charset 'utf-8';

.top {
    color: #fff;
}

.fv {
    padding: 134px 0 24px;
    background: url('../img/top/fv_bg.jpg') no-repeat center/cover;

    h2 {
        max-width: 1548px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 0 20px;
    }

    .fv_btn {
        margin-top: 38px;

        a {
            font-weight: 900;
            margin-left: auto;
            margin-right: auto;
            border: 2px solid var(--color-y);
            background-color: var(--color-y);
            width: 183px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #000 !important;
        }
    }

    .fv_free {
        background-color: rgb(0 0 0 / 0.5);
        margin-top: 68px;
        padding: 14px 0;
        border-top: 1px solid rgb(255 255 255 / 0.5);
        border-bottom: 1px solid rgb(255 255 255 / 0.5);
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    .fv {
        padding:calc(230/750*100vw) 0 calc(22/750*100vw);
        background: url('../img/top/sp_fv_bg.jpg') no-repeat center/cover;

        .mainw {
            max-width: calc(682 / 750* 100vw);
            width: 100%;
            margin-left: auto;
            margin-right: auto;
        }

        h2 {
            max-width: 640px;
            width: 85.33vw;
            padding: 0;
        }

        .fv_btn {
            margin-top: calc(24/750*100vw);
            font-size: clamp(14px, calc(28/750*100vw), 28px);

            a {
                width: calc(183/750*100vw);
                line-height: calc(80/750*100vw);
            }
        }

        .fv_free {
            margin-top: calc(180/750*100vw);
            padding: calc(14/750*100vw) 0;
            font-size: clamp(10px, calc(28 / 750* 100vw), 28px);
        }
    }
}

.about {
    padding: 70px 0 84px;
    text-align: center;
    background: url('../img/top/about_bg.webp') no-repeat center/ cover;

    h2 {
        font-size: 30px;
        font-weight: 700;
    }

    p {
        line-height: 1.875;
        margin-top: 20px;
    }

    .about_btn {
        margin-top: 30px;

        a {
            color: var(--color-y) !important;
            font-weight: 900;
            border-bottom: 1px solid var(--color-y);
            padding-bottom: 6px;
            display: inline-block;
        }
    }
}

@media screen and (max-width: 767px) {
    .about {
        padding: calc(70/750*100vw) 0 calc(100/750*100vw);
        text-align: initial;
        background: url('../img/top/about_bg.webp') no-repeat center/ 100% auto;

        h2 {
            font-size: clamp(25px, calc(50/750*100vw), 50px);
            line-height: 1.2;
        }

        p {
            margin-top: calc(34/750*100vw);
        }

        .about_btn {
            margin-top: calc(26/750*100vw);
            text-align: center;

            a {
                padding-bottom: calc(12/750*100vw);
                display: inline-block;
            }
        }
    }
}

.top_ttl {
    padding-top: 40px;
    text-align: center;

    span {
        display: block;
    }

    .en {
        font-size: 60px;
        line-height: 100%;
        font-weight: 700;
    }

    .ja {
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .top_ttl {
        padding-top: calc(70/750*100vw);

        .en {
            font-size: clamp(38px, calc(76/750*100vw), 76px);
        }

        .ja {
            font-size: clamp(14px, calc(28/750*100vw), 28px);
        }
    }
}

.recommend {
    .recommend_slider {
        margin: 20px auto 0;
        max-width: 716px;
    }
}

@media screen and (max-width: 767px) {
    .recommend {
        .recommend_slider {
            margin: calc(40/750*100vw) auto 0;
            max-width: calc(630/750*100vw);
        }
    }
}

.partslist {
    margin-top: 40px;

    .top_ttl {
        border-top: 5px solid #2e2e2e;
    }

    ul {
        margin-top: 28px;
        display: flex;
        flex-wrap: wrap;
        gap: 42px 16px;
    }

    li {
        width: calc(50% - 16px);
        background-color: #e2e8ed;

        a {
            display: flex;
            flex-direction: column;
            height: 100%;
        }
    }

    p {
        padding: 10px 20px;
        color: #000 !important;
        font-size: 14px;
        letter-spacing: 1.642;
    }

    .more {
        margin-top: auto;
        margin-bottom: 0;
        text-align: center;
        padding: 10px 0 8px;
        background-color: #2e2e2e;
        font-weight: 900;
        font-size: 13px;

        span {
            color: var(--color-y) !important;
            border-bottom: 1px solid var(--color-y);
            font-weight: 900;
        }
    }
}

@media screen and (max-width: 767px) {
    .partslist {
        margin-top: calc(70/750*100vw);

        .top_ttl {
            border-top: calc(5/750*100vw) solid #2e2e2e;
        }

        ul {
            margin-top: calc(54/750*100vw);
            flex-direction: column;
            gap: calc(32/750*100vw) 0;
        }

        li {
            width: 100%;
        }
    }
}

.notice {
    margin-top: 60px;
    background-color: #171717;
    padding: 80px 0;
    color: #fff;

    h2 {
        text-align: initial;
        display: flex;
        align-items: center;
        justify-content: space-between;

        a {
            color: var(--color-y) !important;
            border-bottom: 1px solid var(--color-y);
            font-weight: 900;
        }
    }

    li {
        a {
            color: #fff;
        }
    }
}

@media screen and (max-width: 767px) {
    .notice {
        border-top: 1px #fff solid;    
        background-color: #171717;
        padding: calc(80/750*100vw) 0;

        h2 {
            justify-content: center;

            a {
                display: none;
                color: var(--color-y) !important;
                border-bottom: 1px solid var(--color-y);
                font-weight: 900;
            }
        }
    }
}

.notice_wrap {
    display: flex;
    gap: 0 40px;

    .news {
        width: calc(100% - 340px);
    }

    ul {
        margin-top: 30px;
        border-top: 1px solid #929292;

        a {
            color: #fff;
        }
    }

    .information-list {
        border-bottom: 1px solid #929292;
        padding: 12px 2px;
    }
}

@media screen and (max-width: 767px) {
    .notice_wrap {
        flex-direction: column-reverse;
        gap: calc(70/750*100vw) 0;

        .news {
            width: 100%;
        }

        ul {
            margin-top: calc(48/750*100vw);
        }

        .information-list {
            border-bottom: 1px solid #929292;
            padding: calc(24/750*100vw) calc(6/750*100vw);
        }

        .more_btn {
            a {
                width: fit-content;
                margin: calc(40/750*100vw) auto 0;
                color: var(--color-y) !important;
                border-bottom: 1px solid var(--color-y);
                font-weight: 900;
            }
        }
    }

    .facebook {
        h2 {
            text-align: initial;
            justify-content: flex-start;
        }
    }
}

.review {
    margin-top: 60px;
   
    .top_ttl {
        border-top: 5px solid #2e2e2e;
    }

    ul {
        margin-top: 28px;
    }

    .module-review-list {
        a {
            flex-direction: column;
            padding: 0;
            color: #fff;
        }

        p {
            margin-top: 20px;
            padding: 16px;
            border: 1px solid #fff;
        }

        .reviewRateStar.starOn {
            color: #fde201 !important;
        }
    }

    .module-review-list .review-image {
        width: 100%;
    }

    .module-review-list figure {
        width: 100%;
        border-radius: 0;
        padding-top: 100%;
    }

    .module-review-list .review-text {
        width: 100%;
        font-size: 13px;
        margin-top: 10px;
    }
}

@media screen and (max-width: 767px) {
    .review {
        margin-top: calc(60/750*100vw);
        padding-bottom:calc(76/750*100vw) ;
        .top_ttl {
            border-top: calc(5/750*100vw) solid #2e2e2e;
        }

        ul {
            margin: calc(48/750*100vw) auto 0;
            width: calc(398/750*100vw);
        }

        .module-review-list {
            p {
                margin-top: calc(40/750*100vw);
                padding:  calc(20/750*100vw);
                border: 1px solid #fff;
            }
        }

        .module-review-list .review-text {
            width: 100%;
            font-size: clamp(14px, calc(28/750*100vw), 28px);
            margin-top: calc(30/750*100vw);
        }
        .review_slider{
            position: relative;
        }
    }
}