@charset "UTF-8";
/*------------------------------------------------------------mainphoto*/
.mainimage_wrap {
    height: inherit;
    min-height: 420px;
    background-color: var(--maincolor);
    background: var(--maincolor) url("../img/index_img/bg_mainimage.jpg") no-repeat;
    background-position: left calc(65% - 20px) center;
    background-size: cover;
    position: relative;
    @media (width >= 768px) {
        background-position: center center;
    }
    &::before {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: clamp(75px, 125vw/13.66, 125px) 90vw 0 0;
        border-color: #fff transparent transparent transparent;
        position: absolute;
        top: 0;
        left: 0;
        
    }
    &::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 clamp(75px, 125vw/13.66, 125px) 90vw;
        border-color: transparent transparent #fff transparent;
        position: absolute;
        bottom: 0;
        right: 0;
    }
}
.mainimage {
    height: inherit;
    .container {
        display: grid;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        height: inherit;
        position: relative;
    }
    .main_tx {
        .catch{
            color: var(--white);
            font-size: clamp(2.1rem, 45vw/13.66, 4.5rem);
            font-weight: 700;
            line-height: 1.2;
            text-align: left;
            text-shadow: 0px 2px 7px rgba(46, 65, 87, 1);
            @media (width >= 768px) {
                text-shadow: none;
            }
            small {
                font-size: 0.9em;
            }
            strong {
                color: var(--accentcolor);
                font-size: 1.2em;
                font-weight: 900;
                .tx_bold {
                    font-weight: 700;
                }
            }
        }
        .pr_list {
            width: fit-content;
            text-align: left;
            background: var(--white);
            border-radius: var(--base-radius);
            padding: clamp(10px, 15vw/13.66,15px);
            margin: clamp(2.1rem, 24vw/13.66, 2.4rem) 0;
            li {
                font-size: clamp(1.6rem, 36vw/13.66, 3.6rem);
                font-weight: 700;
                line-height: 1.6;
                background: url("../img/index_img/checkbox.png") 0 center no-repeat;
                background-size: 1em;
                border-bottom: 1px solid #dedede;
                padding-left: 1.4em;
                position: relative;
                strong {
                    color: var(--subcolor);
                    font-size: 1.5em;
                    font-weight: 900;
                }
            }
        }
    }
    .main_illust {
        padding-right: var(--container-pd);
        position: absolute;
        bottom: 15px;
        right: 0;
        z-index: 1;
        img {
            width: auto;
            height: clamp(242px, 431vw/13.66, 431px);
        }
    }
}


/*=======================================
pagelink
=======================================*/
.pagelink {
    .pagelink_list_l {
        display: flex;
        flex-wrap: wrap;
        li {
            width: calc(100% / 2);
            &:nth-child(3) {
                width: 100%;
            }
            @media (width >= 768px) {
                width: calc(100% / 3);
                &:nth-child(3) {
                    width: calc(100% / 3);
                }
            }
            a {
                display: block;
                color: var(--white);
                font-size: clamp(2.0rem, 36vw/13.66, 3.6rem);
                font-weight: 700;
                line-height: 1;
                text-decoration: none;
                padding-block: clamp(16px, 33vw/13.66, 33px);
                position: relative;
                i {
                    font-size: 0.85em;
                    line-height: clamp(2.0rem, 36vw/13.66, 3.6rem);
                    position: absolute;
                    right: clamp(12px, 35vw/13.66, 35px);
                    /*height: 100%;*/
                    transition: transform 0.2s;
                }
                @media (width >= 768px) {
                    &:hover {
                        i {
                            transform: translateY(5px) translateX(5px);
                        }
                    }
                }
            }
        }
        
        
        li:nth-child(1) a {
            background: var(--subcolor);
            @media (width >= 768px) {
                &:hover {
                    background: color-mix(in srgb, var(--subcolor), var(--black) 5%)
                }
            }
        }
        li:nth-child(2) a {
            background: var(--accentcolor);
            @media (width >= 768px) {
                &:hover {
                    background: color-mix(in srgb, var(--accentcolor), var(--black) 5%)
                }
            }
        }
        li:nth-child(3) a {
            background: var(--maincolor);
            @media (width >= 768px) {
                &:hover {
                    background: color-mix(in srgb, var(--maincolor), var(--black) 5%)
                }
            }
        }
        
    }
}

.pagelink_list_s {
    display: inline-flex;
    flex-direction: column;
    gap: clamp(16px, 56vw/13.66, 56px);
    @media (width >= 576px) {
        flex-direction: row;
    }
    li {
        width: 180px;
        @media (width >= 768px) {
            width: 229px;
        }
        @media (width >= 992px) {
            width: 279px;
        }
        a {
            display: flex;
            align-items: center;
            aspect-ratio: 279 / 89;
            color: var(--subcolor);
            font-size: clamp(18px, 30vw/13.66, 30px);
            font-weight: 700;
            text-decoration: none;
            background: url("../img/index_img/bg_pagelink_s.png") center center no-repeat;
            background-size: contain;
            padding-left: clamp(9px, 15vw/13.66, 15px);
            position: relative;
            transition: transform .2s;
            i {
                font-size:1.35em;
                font-weight: 400;
                position: absolute;
                right: clamp(9px, 15vw/13.66, 15px);
                transition: transform .2s;
            }
            &:hover {
                @media (width >= 768px) {
                    transform: translateY(4px);
                    i {
                        transform: translateY(3px) translateX(3px);
                    }
                }
            }
        }
    }
}

.btn_contact {
    margin-top: clamp(20px, 50vw/13.66, 50px);
    a {
        display: inline-flex;
        align-items: center;
        aspect-ratio: 680 / 126;
        color: var(--white);
        font-size: clamp(1.6rem, 30vw/13.66, 3.0rem);
        font-weight: 700;
        letter-spacing: -0.01em;
        text-decoration: none;
        background: url("../img/index_img/bg_btn_contact.png") center center no-repeat;
        background-size: contain;
        padding-inline: clamp(12px, 48vw/13.66, 48px) calc(clamp(12px, 48vw/13.66, 48px) + 1em);
        position: relative;
        transition: transform .2s;
        i {
            font-weight: 400;
            &:first-child {
                font-size: clamp(1.6rem, 40vw/13.66, 4.0rem);
                margin-right: 0.4em;
            }
            &:last-child {
                font-size: clamp(1.6rem, 36vw/13.66, 3.6rem);
                position: absolute;
                right: clamp(10px, 42vw/13.66, 42px);
                transition: transform .2s;
            }
        }
        &:hover {
            @media (width >= 768px) {
                transform: translateY(-6px);
                i:last-child {
                    transform: translateY(-4px) translateX(4px);
                }
            }
        }
        @media (width >= 1200px) {
            width: 680px;
        }
    }
}


/*=======================================
車検・点検
=======================================*/
.sec01 {
    overflow: hidden;
    .pagelink_list_s {
        padding: clamp(16px, 40vw/13.66, 40px) 0;
    }
}

/*車検（自動車検査登録制度）・保険*/
#vehicle_inspection {
    .ly_gold {
        @media (width >= 768px) {
            flex-direction: column;
            justify-content: space-between;
        }
        @media (width >= 992px) {
            flex-direction: row;
            justify-content: space-between;
        }
        .ly_gold_s {
            display: flex;
            flex-direction: column;
            gap: clamp(20px, 40vw/13.66, 40px);
            @media (width >= 768px) {
                width: 100%;
                order: 1;
            }
            @media (width >= 992px) {
                width: 34.62%;
                order: 0;
                margin-top: 45px;
            }
        }
        .ly_gold_b {
            text-align: left;
            @media (width >= 768px) {
                width: 100%;
                order: -1;
            }
            @media (width >= 992px) {
                width: calc(65.38% - clamp(20px, 45vw/13.66, 55px));
                order: 0;
            }
            .title02 {
                &::before {
                    left: 0;
                    -ms-transform: translateX(0);
                    -webkit-transform: translateX(0);
                    transform: translateX(0);
                }
            }
            .ph_box {
                display: flex;
                flex-direction: column;
                gap: clamp(20px, 36vw/13.66, 36px);
                margin-top: clamp(20px, 30vw/13.66, 30px);
                @media (width >= 768px) {
                    flex-direction: row;
                }
                figure {
                    text-align: center;
                }
            }
        }
    }
}

/*整備・定期点検*/
#periodic_inspection {
    .fav_vehicle {
        background: url("../img/index_img/bg_periodic_inspection_left.png") no-repeat, url("../img/index_img/bg_periodic_inspection_right.png") no-repeat;
        background-position: left bottom -6px, right bottom -16px;
        background-size: calc(464px * 0.5), calc(258px * 0.5);
        padding-block: clamp(24px, 40vw/13.66, 40px) 200px;
        margin-inline: calc(50% - 50vw);
        position: relative;
        @media (width >= 576px) {
            background-position: left -50px bottom -7px, right bottom -6px;
            background-size: calc(464px * 0.6), calc(258px * 0.6);
            padding-block: clamp(24px, 40vw/13.66, 40px) 108px;
        }
        @media (width >= 768px) {
            background-position: left -50px bottom -4px, right bottom -7px;
            padding-block: clamp(24px, 40vw/13.66, 40px) 100px;
        }
        @media (width >= 992px) {
            background-position: left -50px bottom -1px, right bottom 9px;
            padding-block: clamp(24px, 40vw/13.66, 40px) calc(clamp(24px, 40vw/13.66, 40px) + 1%);
        }
        @media (width >= 1200px) {
            background-position: left calc(50% - calc(1366px / 2) + 85px) bottom -3px, right calc(50% - calc(1366px / 2) + 148px) bottom -5px;
            background-size: auto, auto;
        }
        &::before {
            content: "";
            width: 120%;
            height: 100%;
            background: var(--bg-color01);
            position: absolute;
            top: 0;
            left: 50%;
            -ms-transform:translateX(-50%) rotate(-2deg);
            -webkit-transform:translateX(-50%) rotate(-2deg);
            transform:translateX(-50%) rotate(-2deg);
            z-index: -1;
        }
        &::after {
            content: "";
            width: 120%;
            height: 9px;
            background: var(--white);
            position: absolute;
            bottom: -1px;
            left: 50%;
            -ms-transform:translateX(-50%) rotate(-2deg);
            -webkit-transform:translateX(-50%) rotate(-2deg);
            transform:translateX(-50%) rotate(-2deg);
            z-index: 1;
            @media (width >= 576px) {
                height: 15px;
            }
            @media (width >= 992px) {
                height: 22px;
            }
             @media (width >= 1200px) {
                height: 27px;
            }
        }
        p {
            max-width: 692px;
            margin: 0 auto;
            @media (width >= 576px) {
                width: 60%;
            }
            strong {
                line-height: 1.4;
            }
        }
    }
}
/*法定点検の概要*/
.legal_inspection_list {
    display: flex;
    flex-direction: column;
    gap: 1.666em;
    @media (width >= 576px) {
        flex-direction: row;
        flex-wrap: wrap;
    }
    > li {
        padding-top: clamp(20px, 34vw/13.66, 34px);
        position: relative;
        @media (width >= 576px) {
            width: calc(50% - 1.666em);
            &:nth-child(1) {
                margin-top: 30px;
            }
            &:nth-child(3) {
                margin-top: 30px;
            }
            &:nth-child(5) {
                margin-top: 30px;
            }
        }
        @media (width >= 992px) {
            width: calc(33.33% - 1.666em);
            &:nth-child(1) {
                margin-top: 60px;
            }
            &:nth-child(2) {
                margin-top: 30px;
            }
            &:nth-child(3) {
                margin-top: 0;
            }
            &:nth-child(4) {
                margin-top: 60px;
            }
            &:nth-child(5) {
                margin-top: 30px;
            }
        }
        &::before {
            content: "";
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 12em 6.97em 0px 6.97em;
            border-color: var(--accentcolor) transparent transparent transparent;
            position: absolute;
            top: 0;
            left: -3%;
            z-index: -1;
        }
        .ph_box {
            margin-bottom: 1em;
            position: relative;
            
        }
        
    }
}


/*=======================================
廃車引取
=======================================*/
.sec02 {
    position: relative;
    &::before {
      content: "";
      width: 100%;
      height: 100%;
      background: var(--bg-color02);
      position: absolute;
      top: 0;
      left: 50%;
      -ms-transform: translateX(-50%) skew(0deg, 2deg);
      -webkit-transform: translateX(-50%) skew(0deg, 2deg);
      transform: translateX(-50%) skew(0deg, 2deg);
      z-index: -1;
    }
}
.list_scrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: clamp(18px, 30vw/13.66, 30px);
    margin-bottom: clamp(24px, 40vw/13.66, 40px);
    @media (width >= 576px) {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px 0;
    }
    li {
        position: relative;
        @media (width >= 576px) {
            width: calc(100% / 2);
        }
        @media (width >= 992px) {
            width: calc(100% / 3);
        }
        .caption {
            display: inline-block;
            color: var(--white);
            font-size: clamp(2.0rem, 34vw/13.66, 3.4rem);
            font-weight: 700;
            line-height: 1.2;
            padding: clamp(0.6rem, 10vw/13.66, 1.0rem) clamp(2.0rem, 34vw/13.66, 3.4rem);
            position: absolute;
            bottom: clamp(14px, 24vw/13.66, 24px);
            right: 4.2%;
            
            &::before {
                content: "";
                width: 100%;
                height: 100%;
                background: var(--maincolor);
                transform: skewX(-14deg);
                position: absolute;
                top: 0;
                left: 0;
                
            }
            span {
                position: relative;
                z-index: 1;
            }
        }
    }
}
.remarkable {
    font-size: clamp(1.8rem, 30vw/13.66, 3.0rem);
    font-weight: 700;
    .marker {
        font-size: 1.2em;
        background: linear-gradient(transparent 60%, var(--accentcolor) 0%);
    }
}


/*=======================================
その他・バイクについてご相談
=======================================*/
.sec03 {
    background: url("../img/index_img/bg_cta.jpg") center bottom no-repeat;
    background-size: auto 162px;
    overflow: hidden;
    @media (width >= 768px) {
        background-size: auto 324px;
    }
}
.cta_area {
    width: fit-content;
    padding: clamp(30px, 50vw/13.66, 50px) clamp(15px, 42vw/13.66, 42px);
    margin-top: clamp(24px, 40vw/13.66, 40px);
    margin-inline: auto;
    position: relative;
    &::before {
      content: "";
      width: 100%;
      height: 100%;
      background: #effbfd;
      position: absolute;
      top: 0;
      left: 50%;
      -ms-transform: translateX(-50%) skew(0deg, -2deg);
      -webkit-transform: translateX(-50%) skew(0deg, -2deg);
      transform: translateX(-50%) skew(0deg, -2deg);
      z-index: 1;
    }
    @media (width >= 768px) {
        display: flex;
        justify-content: space-between;
        gap: clamp(14px, 24vw/13.66, 24px);
    }
    .cta_box {
        position: relative;
        z-index: 1;
        .cta_caption {
            font-size: clamp(1.9rem, 32vw/13.66, 3.2rem);
            font-weight: 700;
            text-align: left;
            line-height: 1.25;
            margin-bottom: clamp(16px, 36vw/13.66, 36px);
            small {
                font-size: 0.875em;
            }
            strong {
                color: var(--maincolor);
                font-weight: 900;
            }
        }
        .cta_list {
            display: flex;
            flex-direction: column;
            gap: clamp(10px, 20vw/13.66, 24px);
            @media (width >= 992px) {
                flex-direction: row;
            }
            .tel {
                .tel_num {
                    font-family: var(--font-en);
                    font-size: clamp(2.8rem, 48vw/13.66, 4.8rem);
                    line-height: 1.2;
                    i {
                        color: var(--maincolor);
                    }
                    .tel-link {
                        a {
                            color: var(--maincolor);
                        }
                    }
                }
                p:not(.tel_num) {
                    letter-spacing: -0.05em;
                }
            }
            .mail {
                a {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    color: var(--white);
                    font-size: clamp(1.6rem, 28vw/13.66, 2.8rem);
                    font-weight: 700;
                    text-decoration: none;
                    background: var(--subcolor);
                    border-radius: var(--base-radius);
                    padding: clamp(12px, 20vw/13.66, 20px) clamp(15px, 25vw/13.66, 25px);
                    transition: background 0.2s;
                    i {
                        margin-right: 0.15em;
                        font-size: 1.4em;
                        line-height: 1;
                    }
                     &:hover {
                        background: color-mix(in srgb, var(--subcolor), var(--black) 5%);
                    }
                }
            }
        }
    }
    .support {
        position: relative;
        z-index: 1;
        margin-top: 52px;
        @media (width >= 768px) {
            margin-top: calc(clamp(37px, 63vw/13.66, 63px) * -1);
        }
        .tx01 {
            width: fit-content;
            font-weight: 700;
            line-height: 1.3;
            background: url("../img/index_img/bg_cta_tx01.png") center center no-repeat;
            background-size: contain;
            padding: clamp(9px, 16vw/13.66, 16px);
            position: absolute;
            top: -40px;
            right: calc(50% - 168px);
            @media (width >= 768px) {
                top: calc(clamp(40px, 60vw/13.66, 60px) * -1);
            }
            @media (width >= 1200px) {
                top: -69px;
                right: calc(50% - 188px);
            }
            &::before {
                content: "";
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 11px 5px 0px 5px;
                border-color: var(--accentcolor) transparent transparent transparent;
                position: absolute;
                top: calc(100% - 6px);
                left: 50%;
                -ms-transform: translateX(-50%);
                -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
                @media (width >= 1200px) {
                    top: calc(100% - 8px);
                }
            }
        }
        figure {
            margin-bottom: clamp(6px, 10vw/13.66, 10px);
            position: relative;
            z-index: 2;
        }
        .tx02 {
            font-weight: 700;
            line-height: 1.2;
        }
    }
}

