@charset "utf-8";
body {
    -webkit-text-size-adjust: 100%;
}


/* =================================================================
上書きCSS
================================================================= */

@media screen and (min-width: 769px) {
    #top {
        position: relative;
        top: 5px;
        margin: 0;
        width: 100%;
        height: auto;
        overflow: hidden;
        background: #000 url(../image/top_main_pc.jpg) no-repeat top center;
        background-size: 1600px 723px;
    }
    #top .pic_visual.sp {
        display: none;
    }
    #top .pic_visual img {
        width: 1349px;
        height: 610px;
        vertical-align: bottom;
    }
    #top_visual {
        position: relative;
        margin: 570px auto auto;
        width: 100%;
        max-width: 1440px;
        height: 100%;
    }
    #top_visual h2.logo {
        margin: 0 auto;
        padding-bottom: 15px;
        width: 1060px;
        text-align: center;
        line-height: 1.1em;
    }
    #top_visual h2.logo img {
        width: 1060px;
        height: auto;
    }
    #top .top_copy {
        position: relative;
        top: 0;
        left: 0;
        width: 980px;
        margin: 0 auto;
    }
    #top .top_copy .copy {
        margin: 30px 0;
        font-size: 16px;
        line-height: 2.3em;
        text-align: center;
        clear: both;
    }
    /* ------------------------------------------------------------------------------------------
*
    .section
*
------------------------------------------------------------------------------------------ */
    .section_inner {
        width: 940px;
        margin: 0 auto;
        box-sizing: border-box;
        position: relative;
    }
    #top_service .top_servicelist {
        margin-top: 20px;
        height: 38px;
    }
    #top_service .top_servicelist li:first-child {
        padding-left: 0;
    }
    #top_service .top_servicelist li {
        float: left;
        padding-left: 30px;
    }
    #top_service .top_servicelist li a {
        display: block;
    }
    #top_service .top_servicelist li.maintenance_service img {
        width: 310px;
        height: auto;
    }
    #top_service .top_servicelist li.guarantee_service img {
        width: 205px;
        height: auto;
    }
    #top_service .top_servicelist li.dealer_service img {
        width: 354px;
        height: auto;
    }
    #top_service .pic_top_service {
        margin: 0 auto;
        width: 1124px;
    }
    /* ------------------------------------------------------------
*
    #maintenance
*
------------------------------------------------------------ */
    .section .desc {
        padding: 0 30px 20px;
        font-size: 18px;
        line-height: 2.1em;
    }
    #maintenance {
        padding: 15px 0 25px;
    }
    #maintenance .maintenance_box {
        margin: 0 30px;
        padding: 20px 20px 16px;
        color: #fff;
        font-size: 13px;
        line-height: 1.8;
        border: 1px solid #666;
        box-sizing: border-box;
    }
    #maintenance .maintenace_btn a {
        padding: 13px 0 0;
        display: block;
    }
    .section .arrow_btm img {
        width: 298px;
        height: auto;
    }
    .section .sqtitle {
        margin-bottom: 50px;
        font-size: 24px;
    }
    .section .sqtitle:before {
        content: '□';
        position: relative;
        padding-right: 15px;
        color: #f00;
    }
    .section .sqtitle.course_t {
        margin-bottom: 20px;
    }
    .section .box {
        margin: 70px 30px 0;
    }
    .section .box_table {
        margin-left: 40px;
        line-height: 1em;
        display: table;
    }
    .section .box_table dl {
        border-bottom: 1px solid #666;
        display: block;
    }
    .section .box_table dt,
    .section .box_table dd {
        padding: 15px 0 15px 30px;
        display: table-cell;
        vertical-align: middle;
    }
    .section .box_table dt {
        width: 220px;
        font-size: 18px;
        font-weight: normal;
        text-align: right;
        letter-spacing: 1px;
    }
    .section .box_table dt span {
        font-size: 14px;
        line-height: 1.8rem;
        display: block;
    }
    .section .box_table dd {
        width: 630px;
        font-size: 12px;
        font-family: var(--font-light);
        text-align: left;
    }
    #maintenance .pic_swipe {
        margin-left: 40px;
    }
    #maintenance .pic_swipe img {
        width: 900px;
        height: auto;
    }
    #maintenance .pic_maintenance img {
        width: 1150px;
        height: auto;
    }
    /************* box_fulltable ***************/
    .section .box_fulltable {
        line-height: 1.8em;
    }
    .section .box_fulltable dl {
        border-bottom: 1px solid #666;
        display: block;
    }
    .section .box_table dl:last-child,
    .section .box_fulltable dl:last-child {
        border: none;
    }
    .section .box_fulltable dt,
    .section .box_fulltable dd {
        display: table-cell;
        vertical-align: top;
        text-align: left;
    }
    .section .box_fulltable dt {
        padding: 15px 0 15px 15px;
        width: 170px;
        font-size: 18px;
        font-weight: normal;
        letter-spacing: 1px;
    }
    .section .box_fulltable dt.square:before {
        content: '□';
        position: relative;
        padding-right: 5px;
        color: #f00;
    }
    .section .box_fulltable dt span {
        font-size: 14px;
        line-height: 1.4em;
        display: block;
    }
    .section .box_fulltable dd {
        padding: 15px 0;
        width: 720px;
        font-size: 14px;
    }
    .section .box_fulltable dd ul {
        margin: 26px 0 0;
    }
    .section .box_fulltable ul li {
        padding: 0 0 0 17px;
        line-height: 2.1em;
        text-indent: -17px;
    }
    .section .box_fulltable p {
        padding-top: 30px;
    }
    .section .box_fulltable p.maintenace_btn {
        padding: 0;
    }
    .section .caution {
        font-size: 11px;
        font-family: var(--font-light);
    }
    .section .caution.indent {
        text-indent: -30px;
        padding: 20px 0 0 30px;
    }
    .section .box_fulltable dl.last_item dt,
    .section .box_fulltable dl.last_item dd {
        width: 100%;
        display: block;
    }
    .section .box_fulltable dl.last_item dd {
        margin: 0 0 0 170px;
        padding-top: 0;
    }
    /* ------------------------------------------------------------
*
    #guarantee
*
------------------------------------------------------------ */
    .section .box {
        margin: 40px 30px 0
    }
    #guarantee.section .sqtitle {
        margin-bottom: 20px;
    }
    #guarantee .extended_guarantee {
        margin: 0 0 20px;
        font-size: 18px;
        line-height: 1.8em;
    }
    #guarantee .guarantee_btn a {
        padding: 13px 0 0;
        display: block;
    }
    #guarantee .pic_swipe img {
        margin-left: -14px;
        width: 955px;
        height: auto;
    }
    #guarantee .box .extended_guarantee li {
        padding: 15px 0 15px 13px;
        font-size: 18px;
        color: #FFFFFF;
        border-bottom: solid 1px #666666;
    }
    #guarantee .box .extended_guarantee li:before {
        content: '▷';
        position: relative;
        padding-right: 5px;
        color: #f00;
    }
    #guarantee .box .extended_guarantee li:last-child {
        border-bottom: none;
    }
    #guarantee .box .manufacturer_warranty p {
        font-size: 18px;
        line-height: 1.8em;
        margin: 0 0 0 15px;
    }
    #guarantee .box .manufacturer_warranty .caution {
        font-size: 11px;
        font-family: var(--font-light);
    }
    #guarantee .box .manufacturer_warranty .caution.indent {
        text-indent: -30px;
        padding-left: 30px;
        padding-bottom: 10px;
    }
    #guarantee .box .manufacturer_warranty a {
        font-size: 12.25px;
        font-family: var(--font-light);
        color: #FFFFFF;
        text-decoration: none;
    }
    #guarantee p.maintenace_btn {
        padding-top: 15px !important;
    }
    #guarantee .box .manufacturer_warranty .maker_btn a {
        margin-top: 15px;
        padding: 10px 0 10px 20px;
        width: 227px;
        line-height: 1em;
        display: block;
        border: 1px solid #FFFFFF;
    }
    #guarantee.section .box_fulltable dl.cancelled {
        border-top: solid 1px #666666;
    }
    .section .box_fulltable dl.cancelled p:last-child {
        padding-bottom: 10px;
    }
    .section .box_fulltable dl.last_item dd ul {
        margin: 0;
    }
    .section .box_fulltable ul.price_caution {
        padding-top: 10px;
    }
    #guarantee .pic_guarantee img {
        width: 1200px;
        height: auto;
    }
    /* ------------------------------------------------------------
*
    #dealer
*
------------------------------------------------------------ */
    #dealer .desc_btm {
        padding: 40px 30px 50px;
        line-height: 2.5em;
    }
    #dealer .btn_dealer {
        margin: 0 auto;
        padding: 18px 0;
        width: 554px;
        font-size: 19px;
        text-align: center;
        background-color: #960000;
    }
    #dealer .btn_dealer:hover {
        opacity: .7;
    }
    #dealer .btn_dealer a {
        color: #fff;
        display: block;
    }
    #dealer .btn_dealer a:before {
        position: relative;
        top: 3px;
        left: -38px;
        content: '';
        width: 20px;
        height: 20px;
        line-height: 1em;
        display: inline-block;
        background-image: url(../common/image_common/parts_ico_detail_white_arrow.png);
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 20px 20px;
    }
    #dealer .btn_dealer a:hover {
        opacity: 1;
    }
    #dealer .pic_dealer {
        margin: 0 auto;
        width: 1200px;
    }
    .dealer_logo {
        text-align: center;
    }
    .dealer_logo img {
        width: 264px;
        height: auto;
    }
    .btn_top {
        padding: 0 0 80px;
    }
    .btn_top a {
        margin: 20px auto 0;
        padding: 10px 0;
        width: 264px;
        color: #fff !important;
        font-size: 13px;
        text-align: center;
        display: block;
        border: 1px solid #fff;
    }
}
