@charset "utf-8";

/* ---------------------------------------------------------
キーパーラボ（サービス バイクコーティング、自転車コーティング要素定義）
URL: http://www.keeperlabo.jp/
© I-tac Giken. All Rights Reserved.
------------------------------------------------------------ */
:root {
    --ex-color: #002c5c;
    --dia2-color: #083190;
    --matte-color: #393636;

    --ex-light-color: #e0e5ee33;
    --dia2-light-color: #e9e9f233;
    --matte-light-color: #f2f3f333;
}


#tabnav .tab_body #tab_body08 ul,
#tabnav .tab_body #tab_body09 ul {
    width: calc(943px - 4%)!important;
}
#bikecoating {
    #main1colArea {
        width: 946px;
        padding-top: 3px !important;
    }
    .wrap.bike {
        width: 944px;
        clear: both;
        padding: 0;
        margin: 0;

        .inner {
            width: 944px;
            height: auto;
            overflow: hidden;
        }

        article {
            background-image: url('../img/service/bikecoating/bikec_back_pc_2.png');
            background-repeat: no-repeat;
            background-position: top;
            background-size: contain;
            overflow: hidden;
            width: 100%;
            .title {
                margin: 3.8rem 0 0 4.2rem;
                p {
                    font-size: 1.8rem;
                    font-weight: bold;
                }
                h2 {
                    font-size: 3.4rem;
                    color: #e71a28;
                    font-weight: bold;
                    margin-top: 1rem;
                    margin-left: -2rem !important;
                }
                h2::before {
                    content: '「';
                }
                h2::after {
                    content: '」';
                }
            }
            .discription {
                margin-top: 1rem;
                margin-left: 4.2rem;
                hr {
                    border-top: 1px solid #222;
                    margin: 0.2rem 0;
                    width: 550px;
                }
                p {
                    font-size: 1rem;
                    font-weight: normal;
                    /*text-shadow: 1px 1px black;*/
                    font-weight: bold;
                    letter-spacing: 0.25rem;
                    line-height: 1.5rem;

                    span {
                        display: block;
                    }
                }
            }
            .lineup {
                width: 94%;
                margin: 3rem auto 0;
                padding: 1rem 0 0 0;
                background: none;
                .inner {
                    margin-top: 0;
                    margin-bottom: 1rem;
                    padding: 0;
                    width: auto;
                }
                .inner.ex {
                    border: 3px solid var(--ex-color);
                    /* border-radius: 10px; */
                }
                .inner.dia2 {
                    border: 3px solid var(--dia2-color);
                    /* border-radius: 10px; */
                }
                .inner.matte {
                    border: 3px solid var(--matte-color);
                    /* border-radius: 10px; */
                }

                div.ex,
                div.dia2,
                div.matte {
                    height: auto;
                    width: 100%;
                    margin-left: 0; /* coating.cssでmargin: 0 0 0 5px;が適用されてしまっているため相殺 */
                    ul {
                        display: flex;
                        flex-direction: row;
                        justify-content: space-between;
                        width: 100%;
                    }

                    li {
                        display: flex;
                        flex-direction: column;
                        width: 280px;
                    }
                    /* 左側エリア ------------------------------------------------------------ */
                    li:nth-child(1) {
                        width: 34%;
                        height: auto;
                        max-height: 377px;
                        overflow: hidden;
                        /* background-color: #f1f6ff; */

                        ul li {
                            width: 100%;
                            height: auto;
                            max-height: 377px;
                            overflow: hidden;
                        }
                        p {
                            font-size: 0.82rem;
                            letter-spacing: 0.08rem;
                            font-weight: normal;
                            font-weight: bold;
                            /*text-shadow: 1px 1px black;*/

                            span {
                                display: block;
                            }
                        }
                        h3 {
                            display: none;
                        }
                        img {
                            margin: 0.5rem 0;
                            width: 280px;
                            height: 62.5px;
                            overflow: hidden;
                        }
                        p.disc {
                            padding: 0;
                            margin:0;
                            letter-spacing: 0rem;
                            font-size: 0.9rem;
                            line-height: 1.5rem;
                            span {
                                color: #e71a28;
                                font-weight: bold;
                                display: inline;
                            }
                        }
                        p.disc:before {
                            content:'●';
                        }
                        p.times {
                            font-size: 0.82rem;
                            font-weight: bold;
                            width: 190px;
                            text-align: center;
                            padding: 0.3rem 0;
                            margin-top: 0.25rem;
                            background: #dedede;
                        }
                    }
                    /* 中央エリア ------------------------------------------------------------ */
                    li:nth-child(2) {
                        width: 46%;
                        height: auto;
                        max-height: 377px;
                        overflow: hidden;
                        display: flex;
                        ul {
                            flex-direction: column;
                            margin: 20px 0 0 20px;
                            width: calc(100% - 20px);
                            li {
                                align-items: center;
                                width: calc(100% - 20px);
                                height: auto;
                                background: none;
                                img {
                                    /* width: 300px; */
                                    height: auto;
                                }
                            }
                            /* メカニズム */
                            li:nth-child(1) {
                                p {
                                    font-size: 0.82rem;
                                    color:#fff;
                                    padding:0.3rem 0;
                                    width: 100%;
                                    margin: 0 auto;
                                    text-align: center;
                                    /*text-shadow: none;*/
                                }
                                div {
                                    font-size: 1.4rem;
                                    font-weight: bold;
                                    padding: 2rem 0;
                                    text-align: start;
                                    line-height: 2.7rem;
                                }
                            }
                            /* 施工価格＆メンテナンスタグ */
                            li:nth-child(2) {
                                display: flex;
                                flex-direction: row;
                                justify-content: space-between;
                                align-items: flex-end;

                                p.title {
                                    font-weight: bold;
                                    width: 80px;
                                    text-align: center;
                                    padding: 0.5rem 0;
                                    margin: 0.5rem 0;
                                    background: #dedede;
                                }
                                p:nth-child(2) {
                                    font-size: 0.7rem;
                                    font-weight: bold;
                                    padding-right: 8px;
                                    background: none;
                                }
                            }
                            /* 施工価格表 */
                            li:nth-child(3) {
                                width: 100%;
                                max-width: 362px;
                                justify-content: flex-start;
                            }
                        }

                        /* 価格表テーブル詳細css -------------------*/
                        /* 施工価格 */
                        table:nth-child(1) {
                            width: 287px;
                            height: auto;
                            tbody {
                                display: flex;
                                flex-direction: row;
                                justify-content: space-between;
                                flex-wrap: wrap;
                                width: 280px;
                                height: auto;
                            }
                            tr {
                                width: 280px;
                                height: auto;
                                border: 1px solid #222;
                            }
                            tr:nth-child(1),
                            tr:nth-child(2) {
                                border-bottom: none;
                            }
                            tr:nth-child(4) {
                                border: none;
                            }
                            td {
                                padding:0.43rem 2%;
                                font-size: 0.75rem;
                                font-weight: bold;
                                span {
                                    font-size: 0.6rem;
                                    font-weight: bold;
                                }
                            }
                            td.title { /* タイトル部分 */
                                background: #dedede;
                                width: 210px;
                            }
                            td.price { /* 価格部分 */
                                font-size: 0.95rem;
                                text-align: center;
                                background: #fff;
                                width: 75px;
                            }
                            td.note {
                                text-align: right;
                                font-size: 0.5rem;
                                border:none;
                                padding: 0.25rem 0 0;
                                width: 360px;
                            }
                        }

                        /* メンテナンス価格表 */
                        table:nth-child(2) {
                            width: 75px;
                            height: auto;
                            tbody {
                                display: flex;
                                flex-direction: row;
                                justify-content: space-between;
                                flex-wrap: wrap;
                                width: 75px;
                                height: auto;
                            }
                            tr {
                                width: 75px;
                                height: auto;
                                border: 1px solid #222;
                            }
                            tr:nth-child(1),
                            tr:nth-child(2) {
                                border-bottom: none;
                            }
                            tr:nth-child(4) {
                                border: none;
                            }
                            td {
                                padding:0.43rem 2%;
                                font-size: 0.75rem;
                                font-weight: bold;
                                span {
                                    font-size: 0.6rem;
                                    font-weight: bold;
                                }
                            }
                            td.title { /* タイトル部分 */
                                background: #dedede;
                                width: 240px;
                            }
                            td.price { /* 価格部分 */
                                font-size: 0.95rem;
                                text-align: center;
                                background: #fff;
                                width: 75px;
                            }
                            td.note {
                                text-align: right;
                                font-size: 0.5rem;
                                border:none;
                                padding: 0.25rem 0 0;
                                width: 360px;
                            }
                        }
                        /* End 価格表テーブル詳細css -------------------*/
                    }
                    /* 右側エリア ------------------------------------------------------------ */
                    li:nth-child(3) {
                        width: 20%;
                        max-width: 175px;
                        height: 370px;
                        overflow: hidden;
                        flex-direction: row;
                        justify-content: flex-end;
                        img {
                            width: 100%;
                            height: auto;
                            object-fit: cover;
                            margin:0 auto;
                            overflow: hidden;
                        }
                    }
                }

                /* カラーリング系 ---------------------------- */
                div.ex {
                    li:nth-child(1) {
                        background-color: var(--ex-light-color);
                        margin: 0;
                        div:nth-child(1) {
                            background: var(--ex-color);
                            padding-top: 32px;
                            img {
                                width: 100% !important;
                                height: auto;
                                overflow: hidden;
                            }
                        }
                        div:nth-child(2) {
                            padding: 10px 20px 10px 20px;
                        }
                        p.disc:before {
                            color: var(--ex-color);
                        }
                    }
                    li:nth-child(2) {
                        p {
                            background: var(--ex-color);
                        }

                        img {
                            width: 100%;
                            height: auto;
                            overflow: hidden;
                        }
                    }
                    li:nth-child(3) {
                        background: var(--ex-color);
                    }
                }
                div.dia2 {
                    li:nth-child(1) {
                        background-color: var(--dia2-light-color);
                        margin: 0;
                        div:nth-child(1) {
                            background: var(--dia2-color);
                            padding-top: 32px;
                            img {
                                width: 100% !important;
                                height: auto;
                                overflow: hidden;
                            }
                        }
                        div:nth-child(2) {
                            padding: 10px 20px 10px 20px;
                        }
                        p.disc:before {
                            color: var(--dia2-color);
                        }
                    }
                    li:nth-child(2) {
                        p {
                            background: var(--dia2-color);
                        }
                        img {
                            width: 100%;
                            height: auto;
                            overflow: hidden;
                        }
                        /* ul li img {
                            margin: 1.5rem 0;
                        } */
                    }
                    li:nth-child(3) {
                        background: var(--dia2-color);
                    }
                }
                div.matte {
                    li:nth-child(1) {
                        background-color: var(--matte-light-color);
                        margin: 0;
                        div:nth-child(1) {
                            background: var(--matte-color);
                            padding-top: 32px;
                            img {
                                width: 100% !important;
                                height: auto;
                                overflow: hidden;
                            }
                        }
                        div:nth-child(2) {
                            padding: 10px 20px 10px 20px;
                        }
                        p.disc:before {
                            color: var(--matte-color);
                        }
                    }
                    li:nth-child(2) {
                        p {
                            background: var(--matte-color);
                        }
                        img {
                            width: 100%;
                            height: auto;
                            overflow: hidden;
                        }
                        /* ul li img {
                            margin: 1.5rem 0;
                        } */
                    }
                    li:nth-child(3) {
                        background: var(--matte-color);
                    }
                }
                /* End カラーリング系 */
            }
        }

        .option {
            width: 100%;
            padding-top: 1rem;
            padding-bottom: 1.5rem;
            background: -webkit-linear-gradient(to bottom, #fff 0%, #fcdccd) !important;
            background: linear-gradient(to bottom, #fff 0%, #fcdccd) !important;

            .option_wrap {
                width: 94%;
                margin: 0 auto;
                padding: 1rem 0 0 0;
                background: none;
                border-top: 4px dotted #222;
                h3 {
                    margin-top: 1rem;
                    font-size: 1.5rem;
                    padding-left: 0;
                }
                h3::before {
                    content: '●';
                }
            }
            .inner {
                margin:0;
                padding: 0;
                display: flex;
                flex-direction: row;
                width: 100%;
                margin:0 auto;
                justify-content: space-between;
                background: none!important;

                .item_title {
                    width: 15%;
                    background: none;
                    display: flex;
                    align-items: center;
                    h3 {
                        padding: 0;
                        font-size: 1.3rem;
                        margin-bottom: 0;
                    }
                }
                .item1,
                .item2 {
                    width: calc(100% / 2 - 2.5rem);
                }
            }
            .item_wrap {
                width: 100%;
                margin: 0 auto;
                display: flex;
                flex-direction: row;
                justify-content: space-between;
            }
            h3 {
                font-size: 2.5rem;
                font-weight: bold;
                padding-left: 2rem;
                margin: 0 0 1rem 0;
            }
            .item1,
            .item2 {
                width: 49%;
                padding: 1rem;
                background: #eeefef;
                ul {
                    display: flex;
                    flex-direction: row;
                    justify-content: space-between;
                    width: 100%;
                    padding: 0;

                    li:nth-child(1) {
                        width: 67%;
                        height: auto;
                        div.list {
                            display: flex;
                            flex-direction: row;
                            width: 100%;
                            height: 52px;
                            justify-content: space-between;
                            div:nth-child(2) {
                                width: 91px;
                                height: 4.5rem;
                                display: flex;
                                flex-direction: column;
                                justify-content: flex-end;
                            }
                        }
                        h4 {
                            display: inline-block;
                            font-size: 1.2rem;
                            width: calc(100% - 1rem);
                            font-weight: bold;
                            padding: 0.5rem;
                            background: #fff;
                            margin-bottom: 0.5rem;
                        }
                        p {
                            font-size: 0.75rem;
                            font-weight: bold;
                            line-height: 1.1rem;
                            width: 100%;
                            span {
                                display: block;
                            }
                        }
                        p.price {
                            text-align: right;
                            font-size: 0.95rem;
                            span {
                                display: inline-block;
                                background: #fff;
                                padding: 0.25rem 0;
                                font-size: 1.2rem;
                                font-weight: bold;
                                border: 1px solid #222;
                                text-align: center;
                                width: 89px;
                            }
                        }
                        p.note {
                            text-align: right;
                            font-size: 0.5rem;
                            padding: 0;
                            width: auto;
                        }
                    }
                    li:nth-child(2) {
                        width: 28%;
                        height: 120px;
                        overflow: hidden;
                        img {
                            width: 100%;
                            height: auto;
                            object-fit: contain;
                            margin: 0 auto;
                            overflow: hidden;
                        }
                    }
                }
            }
        }
    }

    div.wrap.bike {
        background: url(../img/bg_1col_bot01.png) no-repeat bottom;
        padding: 0 0 3px;
        .inner {
            width: calc(100% - 6px);
            margin: 0 auto;
        }
    }
    .mb {
        padding-bottom: 2rem;
    }
    .border {
        border-bottom: 1px solid #222;
    }
    .pt {
        padding-top: 1.5rem;
    }
    .pb {
        padding-bottom: 1rem;
    }
    td.bl-none {
        border-left:0!important;
    }
}
#bicyclecoating {
    #main1colArea {
        width: 946px;
        padding-top: 3px !important;
    }
    .wrap.bicycle {
        width: 944px;
        clear: both;
        padding: 0;
        margin: 0;
        background: url(../img/bg_1col_bot01.png) no-repeat bottom;
        padding: 0 0 3px;

        .inner {
            width: 944px;
            height: auto;
            overflow: hidden;
        }
        div.cover {
            width: 938px;
            height: auto;
            padding: 0 3px 3px 3px;
            h2 {
                display: none!important;
            }
            img {
                width: 100%;
                height: auto;
            }
        }
        div.price {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            width: 94%;
            height: auto;
            margin: 0 auto;
            position: absolute;
            margin-left: 3%;
            margin-top: -2rem;
            div {
                width: 49%;
                height: auto;
                img {
                    width: 100%;
                    height: auto;
                }
            }
        }
        div.cloth {
            background: rgba(220,234,217);
            width: 938px;
            height: auto;
            margin: 199px auto 0 auto;
            padding: 1rem 0;
            h3 {
                margin: 0.5rem 0 1rem 3%;
                font-size: 1.7rem;
                font-weight: bold;
            }
            h3::before {
                content: '●';
                font-size: 2rem;
            }
            div.wrap {
                background: rgba(255,253,238);
                border-radius: 10px;
                width: 94%;
                margin: 1rem 0 1rem 3%;
                padding: 0;
                display: flex;
                flex-direction: row;
                justify-content: space-between;

                div {
                    padding: 1rem;
                }
                div:nth-child(1),
                div:nth-child(2) {
                    width: 35%;
                    height: auto;
                    img {
                        width: 100%;
                        height: auto;
                    }
                    p {
                        font-size: 0.60rem;
                        font-weight: bold;
                        line-height: 0.9rem;
                        span {
                            display: block;
                        }
                    }
                }
                div:nth-child(3) {
                    width: 18%;
                    height: auto;
                    display: flex;
                    flex-direction: column;
                    justify-content: flex-end;
                    li:nth-child(1) {
                        font-size: 1.0rem;
                        font-weight: bold;
                    }
                    li:nth-child(2) {
                        font-size: 1.6rem;
                        font-weight: bold;
                        border: 1px solid #222;
                        padding: 0.25rem 0;
                        text-align: center;
                        background-color: #fff;
                        margin: 0.25rem 0;
                    }
                    li:nth-child(3) {
                        font-size: 0.60rem;
                        font-weight: bold;
                        text-align: right;
                    }
                }
            }
        }
    }
}
