@charset "utf-8";

/*  定期点検 整備/修理/車検  */
.tenken .pageTitle {
    background-image: url(/img/wish/ds/tenken/page_bg.png);
}

.tenken .topBox {
    margin-bottom: 21px;
    padding: 38px 0 43px;
    background: url(/img/wish/ds/tenken/pc_bg.png) no-repeat center center;
    background-size: cover;
    text-align: center;
    width: 1200px;
}

h2.headline04 {
    font-size: 24px;
    line-height: 40px;
    margin-bottom: 33px;
    font-weight: 700;
}

h2.headline04 span{
    color: red;
}

.innerBox{
    line-height: 32px;
    font-size: 16px;
    font-weight: 700;
}

#a01{ margin-bottom: 120px; }
#a02{ margin-bottom: 40px; }

.comBtn .action-button{
    padding: 15px;
    width: 300px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #fff;
    border: none;
    text-align: left;
    background: #7b8d9a;
    cursor: pointer;
    text-align: center;
    transition: .3s;
    box-sizing: border-box;
    border: 2px solid #7b8d9a;
}

.comBtn .action-button:hover {
    color: #7b8d9a;
    background-color: #fff;
}

.tenken section .card {
    box-shadow: 0 0 4px rgb(0 0 0 / 16%);
    margin-bottom: 40px;
}

.tenken section .card .card-title {
    background-color: #f1f3f5;
    padding: 16px;
    display: flex;
    align-items: center;
    font-size: 22px;
    font-weight: 700;
    position: relative;
}

.tenken section .card .card-title:before {
    content: "";
    display: block;
    margin-right: 7px;
    width: 3px;
    align-self: stretch;
    background-color: #ec1234;
}

.tenken section .card .card-content {
    padding: 24px 16px;
    line-height: 2;
    font-size: 16px;
}

/*点検目安*/
.tenken .guide>.header {
    font-size: 20px;
    font-weight: 900;
    padding: 0;
    background-color: #fff;
    margin-bottom: 40px;
}
.tenken .guide>.header {
    font-size: 20px;
    font-weight: 900;
    padding: 0;
    background-color: #fff;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
}

.tenken .guide>.header:before {
    content: "";
    display: block;
    margin-right: 7px;
    width: 3px;
    align-self: stretch;
    background-color: #ec1234;
}

.tenken .guide>.content {
    background-color: #f1f3f5;
    padding: 32px 36px;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 40px;
}

.tenken .guide>.content .guide-item {
    max-width: 343px;
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}

.tenken .guide>.content .guide-item>.header {
    font-weight: bolder;
    display: flex;
    grid-column-gap: 8px;
    -moz-column-gap: 8px;
    column-gap: 8px;
    font-size: 16px;
}

.tenken .guide>.content .guide-item>.header:before {
    content: "■";
    color: #ec1234;
    box-sizing: border-box;
    margin: 0;
}

.tenken .guide>.content .guide-item>.content {
    margin: 8px 0 16px;
    display: flex;
    flex: 1;
}

.tenken .guide>.content .guide-item .diagram {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 8px;
}

.tenken .guide>.content .guide-item .diagram .photo {
    width: 70px;
    height: 70px;
    background: no-repeat 50%/contain;
}

.tenken .guide>.content .guide-item .diagram>.content {
    flex: 1;
    display: flex;
    align-items: center;
}

.tenken .guide>.content .guide-item .diagram>.content:before {
    content: "—";
    color: #ec1234;
    margin: 0 8px;
}

/*定期点検には予約が必要です*/
.tenken .reservation {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
}

.tenken .reservation .subject {
    font-size: 18px;
    font-weight: bolder;
    margin-bottom: 8px;
}

.tenken .reservation .description {
    font-size: 12px;
    margin-bottom: 8px;
}

/*パーツ交換の目安金額*/
.estimate-replace {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
    margin-bottom: 40px;
}

.estimate-replace .estimate-card {
    font-size: 14px;
    display: flex;
    flex-direction: column;
    grid-row-gap: 1rem;
    background-color: #f1f3f5;
    border-top: 4px solid #ec1234;
    padding: 24px 16px;
    margin-bottom: 16px;
    width: 50%;
    max-width: 358px;
}

.estimate-replace .estimate-card>.header {
    text-align: center;
    font-weight: bolder;
    color: #ec1234;
    font-size: 16px;
}

.estimate-replace .estimate-card .photo {
    margin: 0 auto;
    width: 212px;
    height: 131px;
    background: no-repeat 50%/cover;
}

.estimate-replace .estimate-card .item {
    display: flex;
    width: 100%;
}

.estimate-replace .estimate-card .item .name {
    width: 154px;
    color: #fff;
    padding: 7.5px 8px;
    background-color: #7b8d9a;
    font-weight: 700;
}

.estimate-replace .estimate-card .item .value {
    padding: 7px;
    font-size: 14px;
    background-color: #fff;
    width: 204px;
    font-weight: 700;
}

.estimate-replace .estimate-card .fs-12 {
    flex: 1;
    font-size: 12px;
}

.tenken #a02 .reservation .description {
    margin-top: 12px;
}

/*その他の整備 / 外車整備もお任せ / バイク王で購入していないバイクもOK*/
.repair{
    margin-bottom: 120px;
}

.repair .card-content{
    display: flex;
}

.repair .card-content .photo {
    flex: 1;
    max-width: 311px;
    text-align: center;
    margin-right: 16px;
}

.repair .card-content .text {
    flex: 1;
    line-height: 32px;
}

.repair .card-content .photo .description {
    font-size: 12px;
    line-height: 16px;
    margin-top: 8px;
}

/*点検シミュレーション*/
.free-trial .commentBox{
    text-align: center;
}

.simuWrap .headline12 {
    margin-bottom: 18px;
    font-weight: 700;
    padding-bottom: 14px;
    font-size: 2.5rem;
    border-bottom: 3px solid #e4e8eb;
}

.simuWrap {
    width: 100%;
    background: #f1f3f5;
    padding: 40px 0;
    margin: 40px 0 50px;
    counter-reset: number;
}

.wrap {
    width: 940px;
    margin: 0 auto;
}

.simuWrap .numberTitle {
    width: 100%;
    height: 50px;
    display: table;
}

.simuWrap .numberTitle dt {
    display: table-cell;
    width: 50px;
    vertical-align: middle;
    text-align: center;
    background: #0050a5;
    color: #fff;
    font-size: 28px;
    font-family: 'Roboto', sans-serif;
}

.simuWrap .numberTitle dd {
    display: table-cell;
    vertical-align: middle;
    padding-left: 0.75em;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    background: #0073bd;
    padding-top: 0px;
}

.simuList_type {
    width: 100%;
    letter-spacing: -.4em;
    font-size: 0;
    margin-bottom: 56px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.simuList_type li {
    letter-spacing: normal;
    font-size: 16px;
    display: flex;
    flex-direction: column;    
    /*display: inline-block;*/
    width: 300px;
    /*height: 100px;*/
    margin-top: 20px;
    /*border: 3px solid #ccc;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    background: #fff;*/
    vertical-align: bottom;
    max-width: 300px;
    margin-right: 20px;
}

.simuList_type li:nth-of-type(3n) {
    margin-right: 0;
}

.simuList_type li dl {
    display: table;
    width: 300px;
}

.simuList_type li dl dt {
    display: block;
    width: 142px;
    height: 70px;
    vertical-align: middle;
    text-align: center;
}

img {
    vertical-align: bottom;
}

.simuList_type li dl dd {
    display: table-cell;
    width: 200px;
    vertical-align: top;
    padding-top: 15px;
    font-size: 12px;
    line-height: 1.25;
    padding-left: 8px;
}

.simuList_type li dl dd h4 {
    font-size: 17px;
    font-weight: 500;
    margin-bottom: 0.2em;
}

.brand input[type="radio"]:checked + label {
    background: #ff7bac;
    color: #ffffff;
}


.simuList_mainte,
.simuList_country {
    width: 100%;
    letter-spacing: -.4em;
    font-size: 0;
    margin-bottom: 56px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.simuList_country {
    justify-content: initial;
    flex-direction: row;
}

.simuList_mainte li,
.simuList_country li {
    letter-spacing: normal;
    font-size: 16px;
    display: inline-block;
    width: 300px;
    height: 76px;
    margin-top: 20px;
    margin-right: 20px;
    vertical-align: bottom;
}

.simuList_mainte li {
    margin-right: 0px;
}

.simuList_mainte li label,
.simuList_country li label {
    display: table-cell;
    border: 3px solid #ccc;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    background: #fff;
    width: 300px;
    height: 70px;
    vertical-align: middle;
    color: #000;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
}

.simuList_type input[type="radio"],
.simuList_country input[type="radio"],
.simuList_mainte input[type="radio"]{
    display: none;
}

.simuList_type input[type="radio"] + label,
.simuList_country input[type="radio"] + label,
.simuList_mainte input[type="radio"] + label {
    border: 3px solid #ccc;
    border-radius: 6px;
    cursor: pointer;
}

.simuList_type input[type="radio"]:checked + label {
  background: #7b8d9a; /* マウス選択時の背景色を指定する */
  color: #ffffff; /* マウス選択時のフォント色を指定する */
  border: 3px solid #7b8d9a;
}
.simuList_country input[type="radio"]:checked + label {
  background: #7b8d9a; /* マウス選択時の背景色を指定する */
  color: #ffffff; /* マウス選択時のフォント色を指定する */
  border: 3px solid #7b8d9a;
}
.simuList_mainte input[type="radio"]:checked + label {
  background: #7b8d9a; /* マウス選択時の背景色を指定する */
  color: #ffffff; /* マウス選択時のフォント色を指定する */
  border: 3px solid #7b8d9a;
}

/*シミュレーション結果*/
.resultList {
    width: 100%;
    border: 2px solid #2b2b2b;
}

.resultList > dt {
    background: #2b2b2b;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    display: block;
    text-align: center;
    padding: 17px 0 13px;
}

.resultList > div {
    display: block;
    padding: 30px;
    position: relative;
}

.resultList .clearfix{
    padding-bottom: 30px;
}

.priceBox {
    width: 47.5%;
    margin-right: 36px;
    float: left;
    position: relative;
}

.mHeight{
    min-height: 175px;
}

.priceBox:last-of-type {
    margin-right: 0;
    float: right;
}

.priceBox h5:first-of-type {
    margin-top: 0;
}
.priceBox h5 {
    background: #e6e6e6;
    font-size: 14px;
    text-align: center;
    padding: 9px 0 7px;
    margin-bottom: 1.2em;
    margin-top: 1.2em;
}

.priceBox .priceList {
    width: 100%;
    overflow: hidden;
}
.priceBox .priceList dt, .priceBox .priceList dd {
    line-height: 1.5;
    margin-bottom: 0.5em;
}

.priceBox .priceList dt {
    display: block;
    float: left;
    clear: both;
    width: 70%;
}

.priceBox .priceList dd {
    display: block;
    float: left;
    font-weight: bold;
    width: 30%;
    text-align: right;
}

.priceBox:nth-of-type(1):after {
    content: "";
    position: absolute;
    top: 0;
    right: -22px;
    width: 1px;
    height: 100%;
    background: #e6e6e6;
}


.resultList > div .clearfix + dd:last-of-type {
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    padding: 25px 30px 0;
    position: relative;
}

.resultList > div .clearfix + dd:last-of-type:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 880px;
    height: 1px;
    background: #e6e6e6;
}

.resultList > div .clearfix + dd:last-of-type span {
    font-size: 28px;
    font-weight: bold;
    color: #f15a24;
}

.list_toggle {
  display: none;
}

.resultList .list_item.is-hide {
  display: none;
  transition: .3s;
}

.attention_price {
    display: block;
    background: #f4f5f6;
    font-weight: bold;
    margin: 16px 0 8px;
    padding: 8px 0 8px;
    text-align: center;
}

.attention_note{
    margin-bottom: 30px;
    line-height: 1.85;
}


.attention_note li a{
    text-decoration: underline;
}

.attention_note li a:hover{
    text-decoration: none;
}


@media (max-width: 768px){

.tenken .content { margin: 0; }

    .tenken .pageTitle {
        margin-bottom: 0;
    }

    .tenken .topBox {
        margin: 0;
        padding: 0;
        max-width: none;
        background: no-repeat 50%/cover;
        background-image: url(/images/inspection-banner.png);
        text-align: center;
        font-weight: bolder;
        font-size: 16px;
        width: 100%;
    }

    h2.headline04 {
        font-size: 18px;
        font-family: "NotoSansCJKjp-Blackz";
        font-weight: 900;
        line-height: 32px;
        background-color: #f1f3f5;
        padding: 24px 30px 16px;
        margin-bottom: 0;
    }

    .innerBox {
        font-size: 14px;
        line-height: 20px;
        font-weight: 400;
        padding: 18px 40px 17px;
    }

    .content .comLinkUl.spLeft {
        margin: 16px 16px 32px;
    }

    .tenken section .card .card-title {
        margin: 0;
        font-size: 16px;
        padding: 8px 0px 8px 16px;
        font-weight: 700;
    }

    .tenken section .card .card-content {
        font-size: 14px;
        font-weight: 500;
        padding: 8px 16px 24px;
        line-height: 1.71;
        flex-direction: column;
        margin-bottom: 40px;
    }

    .showBox .headline01 {
        margin: 0 16px 4px;
    }

    .tenken section .card {
        margin: 0 16px;
    }

    .tenken .guide>.header {
        font-size: 18px;
        margin: 40px 16px 17px;
    }

    .tenken .guide>.content {
        padding: 32px 16px;
        margin-bottom: 40px;
    }

    .estimate-replace {
        margin: 16px;

    }

    .estimate-replace .estimate-card{
        width: 100%;
        margin: 0 auto 40px;
        padding: 24px 16px;
        max-width: 310px;
    }

    .repair .card-content .photo {
        width: 100%;
        max-width: 100%;
    }

    .repair .card-content .text {
        line-height: 1.5;
        margin-top: 10px;
    }

    /*点検見積りシミュレーション*/
    .simuWrap .wrap {
        width: 92%;
        margin: 0 auto;
    }

    .simuWrap{

    }

    .simuWrap .headline12 {
        margin-bottom: 5px;
        padding-bottom: 10px;
        font-size: 1.8rem;
    }

    /*STEP01*/
    .simuList_type {
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }

    .simuList_type li {
        font-size: 16px;
        width: 44vw;
        margin-top: 15px;
        vertical-align: bottom;
        max-width: 300px;
        margin-right: 0;
    }

    .simuList_type li dl {
        display: table-cell;
        width: 43vw;
    }

    .simuList_type li dl dt {
        width: 100%;
        height: auto;
    }

    .simuList_type li dl dd {
        display: block;
        width: 100%;
        padding: 0;
        line-height: 1.25;
        text-align: center;
        margin: 3px auto 8px;
    }

    /*STEP02*/
    .simuList_mainte, .simuList_country {
        width: 100%;
        margin-bottom: 56px;
        justify-content: space-between;
    }

    .simuList_mainte li, .simuList_country li {
        display: inline-block;
        width: 44vw;
        height: 76px;
        margin-top: 15px;
        margin-right: 0;
    }

    .wrap.list {
        width: 94%;
        margin: 0 auto;
    }
    .resultList > dt {
        font-size: 21px;
        padding: 10px 0;
    }

    .resultList > div {
        display: block;
        padding: 15px 15px 13px;
        position: relative;
    }

    .priceBox {
        width: 100%;
        margin-right: 0;
        float: none;
        position: relative;
    }

    .mHeight {
        min-height: 100px;
    }

    .resultList > div .clearfix + dd:last-of-type:before {
        width: 100%;
        height: 1px;
    }
    .resultList > div .clearfix + dd:last-of-type {
        padding: 10px 0px 0;
    }
    .attention_note li{
        text-indent: -1em;
        margin-left: 1em;
        margin-bottom: 3px;
    }

}
