@CHARSET "UTF-8";

.contact .comForm{
    margin: 0 auto;
    padding-top: 10px;
    max-width: 800px;
}

.comForm h2.headline01 {
    margin: 0 -15px 17px;
    padding-bottom: 8px;
    font-size: 2.2rem;
    text-align: left;
    position: relative;
    font-weight: 500;
}

table.comTable th,
#shop8190List h3 {
    font-size: 1.6rem;
    font-weight: 700;
}


table.comTable .inputUl li div {
    color: #2b2b2b;
    font-weight: 500;
    padding: 0px 0 4px;
}

.comForm .customerBox input[type="text"], .comForm .customerBox input[type="tel"] {
    max-width: 300px;
    box-shadow: 1px 1px 2px rgba(0,0,0,.1);
}

.comForm .radioUl input[type="radio"] + span {
    letter-spacing: -0.03em;
}

.comForm input[type="number"] {
    padding-left: 9px;
    width: 100%;
    height: 32px;
    font-size: 1.4rem;
    font-weight: 500;
    border: none;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    line-height: 1.43;
    border-radius: 0;
    box-sizing: border-box;
}

.inquiryStoreBox td{
    display: flex;
    flex-wrap: nowrap;
    padding: 16px 0;
    border-bottom: 1px solid #fff;
    align-items: flex-start;
}

.inquiryStoreBox td .sub-header{
    width: 170px;
    color: #2b2b2b;
    font-weight: 500;
    font-size: 1.4rem;
    margin-top: 8px;
}

.inquiryStoreBox td ul {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.inquiryStoreBox td ul li{
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.comForm .tenken_flg .radioUl li,
.comForm .inquiryStoreBox .radioUl li{
    margin-right: 24px;
}

.comForm .tenken_flg .radioUl input[type="radio"] + span,
#MainForm .informationBox .radioUl input[type="radio"] + span {
    line-height: 20px;
    background: url(/img/common/radio_bg.png) no-repeat top 6px left 9px;
    background-color: #fff;
    box-shadow: 1px 1px 2px rgba(0,0,0,.1);
    padding: 5px 12px 7px 38px;
    background-size: 20px 20px;
    border-radius: 8px;
    /*border: 2px solid #fff;*/
}

.comForm .inquiryStoreBox .radioUl input[type="radio"] + span,
.comForm .possessionTable .radioUl input[type="radio"] + span,
.comForm .storeHistoryBox .radioUl input[type="radio"] + span{
    line-height: 20px;
    background: url(/img/common/radio_bg.png) no-repeat top 6px left 8px;
    background-color: #fff;
    padding: 5px 12px 7px 38px;
    background-size: 20px 20px;
    border-radius: 8px;
    margin-bottom: 12px;
    border: 2px solid #fff;
    box-shadow: 1px 1px 2px rgba(0,0,0,.1);
    font-size: 1.1em;
}

.comForm .inquiryStoreBox .radioUl input[type="radio"] + span{
    padding: 5px 8px 7px 32px;
    background: url(/img/common/check_bg.jpg) no-repeat top 6px left 8px;
    background-size: 20px 20px;
    background-color: #fff;
    cursor: pointer;
}

.comForm .inquiryStoreBox .radioUl input[type="radio"]:checked + span,
.comForm .storeHistoryBox .radioUl input[type="radio"]:checked + span{
    border: 2px solid #7b8d9a;
    background-image: url(/img/common/check_bg_over.jpg);
}

.comForm .submit button {
    padding: 20px 40px 20px 15px;
    width: 311px;
    font-size: 1.2rem;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px #2b2b2b;
    text-align: left;
    letter-spacing: 0.1em;
    border-radius: 0;
    background: #fff url(/img/common/icon03.png) no-repeat right 17px center;
    background-size: 18px auto;
    cursor: pointer;
    color: #2b2b2b;
}

.comForm .submit button span {
    color: #2b2b2b;
}
.comForm .submit button:hover {
    color: #ec1234;
    border-color: #ec1234;
    background-image: url(/img/common/icon51.png);
}

/*conf submit*/
.comForm .submit.submit02 li{
    display: block;
}

.comForm .submit.submit02 input[type="submit"] {
    width: 311px;
}

.comForm .submit.submit02 input[type="button"] {
    background: no-repeat;
    border: none;
    text-decoration: underline;
    padding: 0;
    width: auto;
    font-size: 14px;
    margin-top: 6px;
}

@media (max-width: 896px){
    .comForm .submit.submit02 input[type="button"] {
        margin-top: 24px;
    }
    .comForm .tenken_flg .radioUl li {
        margin-bottom: 12px;
    }
}


/*生年月日*/
.comForm .birthUl li:first-child {
    width: 115px;
}

.comForm .birthUl li {
    width: 80px;
}

.comForm .birthUl li:last-child {
    margin-right: 0;
}

.birthUl li::after {
    content: "年";
    display: contents;
    width: 50px;
    float: right;
    font-size: 16px;
    margin: 3px 0px 0px 5px;
}

.birthUl li:nth-child(2)::after {
    content: "月";
    display: contents;
    width: 50px;
    float: right;
    font-size: 16px;
    margin: 3px 0px 0px 5px;
}

.birthUl li:nth-child(3)::after {
    content: "日";
    display: contents;
    width: 50px;
    float: right;
    font-size: 16px;
    margin: 3px 0px 0px 5px;
}

#shop8190List{
    margin-top: 24px;
}

.headline01 .must,
h3 .must {
    margin: -4px 0 0 4px;
    padding: 1px 4px 2px;
    color: #fff;
    font-weight: normal;
    font-size: 1rem;
    display: inline-block;
    background-color: #ec1234;
    vertical-align: middle;
}

.comForm #MainForm .submit button {
    padding: 20px 40px 20px 15px;
    width: 311px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    box-sizing: border-box;
    border: solid 1px #ec1234;
    text-align: left;
    letter-spacing: 0.1em;
    border-radius: 0;
    background: #ec1234 no-repeat right 17px center;
    cursor: pointer;
    padding: 13px 14px 13px;
    font-size: 1.6rem;
    text-align: center;
    -webkit-transition: .3s;
    transition: .3s;
}

.comForm #MainForm .submit button:disabled {
    background: #ec1234 url(/img/common/icon03.png) no-repeat right 17px center;
    background-size: 18px auto;
    background-color: rgba(255,255,255,0.8);
    background-blend-mode: lighten;
    border: 1px solid #ccc;
    color: #9f9f9f;
}

.comForm #MainForm .submit button span {
    color:inherit;
}

#understand th{
    font-weight:normal;
    text-align: left;
}

.comForm .checkboxLi{
    margin-bottom: 5px;
}

.comForm .checkboxLi ul{
    display: block;
    text-align: center;
}

.comForm .checkboxLi input[type="checkbox"] + span {
    padding: 9px 10px 9px 40px;
    border-radius: 0;
    line-height: 1.5;
    border: none;
    display: inline-block;
    background-size: 20px 20px;
    font-size: 1.5rem;
    background-position: 0;
    background-image: none;
    width: auto;
    min-width: 120px;
    color: #2b2b2b;
}

.comForm .checkboxLi input[type="checkbox"]:checked + span {
    background-color: #f9f9f9;
    background-image: none;
    padding: 9px 10px 9px 40px;
    margin: 0 auto;
    width: auto;
    text-align: center;
}

.comForm .checkboxLi input[type="checkbox"] + span {
    background-color: #ffcece;
}

.comForm .checkboxLi span::before {
    content: "";
    background: url(/img/common/check_bg.jpg) no-repeat left top 5px;
    background-size: 20px 20px;
    padding: 0px 2px 0px 2px;
    width: 23px;
    height: 25px;
    position: absolute;
    margin: -3px 0 0 -28px;
}

.comForm .checkboxLi input[type="checkbox"]:checked + span::before {
    background: url(/img/common/check_bg_over.jpg) no-repeat left top 5px;
    background-size: 20px 20px;
}

/*規約ボックス*/
.cmScrollBox {
    width: 100%;
    margin: 10px auto;
    height: 300px;
    box-sizing: border-box;
    padding: 10px;
    border: solid 2px #e6e6e6;
    border-radius: 3px;
    background: #fff;
    color: #2b2b2b;
}

.cmScrollBox2 {
    height: 350px;
}

.cmScrollBox .cmScrollBoxInr {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 6px 10px 6px 6px;
}

.cmScrollBox a {
    text-decoration: underline;
    color: #04f;
}

.cmScrollBox p {
    padding: 0 0 5px;
    font-size: 1.1em;
}

.cmTxtM.cmPosRight{
    font-size: 13px;
    line-height: 1.6;
    text-align: right;
}

.cmScrollBox .cmList01.cmSecM {
    padding: 0 0 20px;
}

.cmScrollBox div.cmList01Mrk.cmTxtM{
    text-decoration: underline;
    padding-top: 15px;
}


/*キャンペーン規約---------------------*/
.terms-box{
    margin-bottom:15px;
}

.terms-box .addBtn a {
    margin: 0 auto;
    padding: 5px 5px 7px;
    max-width: 300px;
    font-size: 1.65rem;
    border: solid 2px transparent;
    background-color: #ec1234;
    box-sizing: border-box;
    text-align: center;
    display: block;
    letter-spacing: 0.05em;
    border-radius: 50px;
    color: #fff;
    box-shadow: 2px 2px 5px rgb(0 0 0 / 20%);
    position: relative;
    font-weight: 700;
}

.terms-box .addBtn a::after {
    color: #ffffff;
    position: absolute;
    right: 0;
    font-size: 18px;
    line-height: 1;
    position: absolute;
    top: calc(50% - 12px);
    right: 10px;
    content: "＋";
    font-weight: 700;
}

.terms-box .addBtn.on a::after {
    content: "－";
}

.terms-box .addBtn span::after,
.terms-box .addBtn.on span::after {
    content: "";
}

.terms-box .borderBox.borBox02 > p {
    width: 780px;
    margin: 0 auto 25px;
}

.cmScrollBox .cmList01Mrk.cmTxtM{
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 5px;
}

.terms-box dl.detail {
    display: flex;
    flex-wrap: wrap;
    width: 780px;
    margin: 0 auto 25px;
    vertical-align: middle;
    padding: 0;
    background: #fff;
    font-size: 1em;
}
.terms-box dl.detail dt {
    width: 20%;
    box-sizing: border-box;
    padding: 1em;
    text-align: center;
    vertical-align: middle;
    background: #EEE;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
}
.terms-box dl.detail dd {
    display: table-cell;
    padding: 1em;
    vertical-align: middle;
    width: 80%;
    background: #fff;
    box-sizing: border-box;
    border-bottom: 1px solid #ccc;
    text-align: left;
}
.terms-box dl.detail dd a:link {
    color: #ff583b;
    text-decoration: underline;
}
.terms-box dl.detail dd a:hover {
    text-decoration: none;
}
.terms-box li {
    margin-left: 1rem;
    line-break: anywhere;
}

.terms-box li::before {
    content: "";
    position: relative;
    margin-left: -1rem;
}

.terms-box ul li ul {
    margin-left: 1rem;
}

.cpBannertxt {
    margin: 5px auto 20px;
    text-align: center;
}

/*#main .headline01 {
    border-bottom: 2px solid #23278b;
}*/

.cpBannerBox{
    margin: 0 auto 25px;
    padding: 0 0 0px;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 3.6px;
    text-align: center;
    background-color: #000;
    -webkit-box-shadow: 0 0 8px 0 rgb(0 0 0 / 16%);
    box-shadow: 0 0 8px 0 rgb(0 0 0 / 16%);
    position: relative;
    width: 688px;
}

.headline02 {
    background: #ec1234;
    margin-bottom: 0;
    /*width: 700px;*/
    margin: 0 auto 12px;
    color: #fff;
    font-weight: 500;
    border-radius: 7px;
    padding: 2px 0px 4px;
    font-size: 1.9rem;
}

.error2{
    font-size: 1em;
    font-weight: bold;
    color: #ec1234;
    margin-left: 1em;
    text-indent: -1.5em;
    display: block;
}

#main ul.categoryUI {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#main ul.categoryUI li{
    width: 23%;
    margin-right: 0px;
    display: flex;
}

#main ul.categoryUI.categoryUI2{
    flex-wrap: wrap;
}

#main ul.categoryUI.categoryUI2 li{
    width: 48%;
    margin-right: 0px;
    display: flex;
}

#main ul.categoryUI label{
    width: 100%;
    margin: 0;
    border: 2px solid #fff;
    box-sizing: border-box;
    border-radius: 7px;
    background-color: #fff;
    box-shadow: 1px 1px 2px rgba(0,0,0,.1);
    -webkit-transition: background 0.5s ease;
    -moz-transition: background 0.5s ease;
    -ms-transition: background 0.5s ease;
    -o-transition: background 0.5s ease;
    transition: background 0.5s ease;
    text-align: center;
    padding: 10px 0;
}

#main ul.categoryUI input:checked + label,
#main ul.categoryUI label:has(input:checked) {
    border: 2px solid #7b8d9a;
}


#main ul.categoryUI label.last{
    margin: 0;
}

#main .comForm ul.categoryUI input[type="radio"] + span {
    padding: 0;
    line-height: 1.5;
    background: none;
    background-size: initial;
}

#main .comForm .tenken_flg input[type="radio"]:checked + span,
#MainForm .informationBox .radioUl input[type="radio"]:checked + span {
    border: 2px solid #7b8d9a;
    background-image: url(/img/common/radio_bg_over.png);
    /*background-color: #7b8d9a;
    color: #fff;*/
}

#main ul.categoryUI li:last-child {
  /*margin: 0 5px 0 0;*/
}

#main ul.categoryUI li.active {
  border: 2px solid #7b8d9a;
}


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

#main ul.categoryUI2 label {
    grid-row-gap: 1rem;
    margin-bottom: 16px;
    padding: 10px;
    display: flex;
    flex-wrap: nowrap;
}

#main ul.categoryUI2 li:nth-child(n + 5) label {
    margin-bottom: 0px;
}

.categoryUI2 label .header {
    text-align: center;
    font-weight: bolder;
    font-size: 16px;
    margin-top: 0px;
}

.categoryUI2 label .photo {
    margin: 0 6px 0 0;
    width: 100px;
    height: 80px;
    background: no-repeat 50%/cover;
}

.categoryUI2 label .txt_content {
    width: 216px;
}

.categoryUI2 label .item {
    display: flex;
    margin-top: 5px;
    /*width: 100%;*/
}

.categoryUI2 label .description {
    font-size: 12px;
    text-align: left;
}

.categoryUI2 label .item .name {
    font-size: 12px;
    width: 110px;
    padding: 1px 0px;
    background-color: #e1e1e1;
    font-weight: 500;
    margin: 0 6px 2px 0;
}

.categoryUI2 label .item .value {
    padding: 1px;
    font-size: 12px;
    background-color: #fff;
    /*width: 190px;*/
    font-weight: 700;
}

.categoryUI2 label .fs-12 {
    flex: 1;
    font-size: 12px;
}

/*form 選択中スタイル*/
#main .comTable tr {
    padding: 10px 0;
    display: grid;
    margin-bottom: 12px;
}

#main .comTable.inquiryStoreBox tr {
    padding: 0px;
}

#main .comTable td {
    margin-bottom: 0px;
}

#main .comForm select,
#main .comForm input[type="text"] {
    border: 2px solid #fff;
    box-shadow: 1px 1px 2px rgba(0,0,0,.1);
    font-size: 1.1em;
}

#main .comForm input[type="text"] {
    max-width: 360px;
    min-height: 40px;
}

#main #MainForm select:focus,
#main .comForm input[type="text"]:focus,
#main .comForm input[type="tel"]:focus,
#main .comForm textarea:focus {
  border:2px solid #7b8d9a;
  -webkit-transition: .3s;
  transition: .3s;  
}

#main #MainForm tr:focus-within {
  /*background: #e9e9e9;*/
  /*background: #e5e5e5;  */
  -webkit-transition: .3s;
  transition: .3s;
}

#main #MainForm .cmIptError select,
#main #MainForm .cmIptError input[type=text]{
  border: 2px solid #ec1234;
}

@media (max-width: 896px){
    .contact .pageTitle {
        margin-bottom: 0px;
    }

    .contact .comForm .headline01 {
        margin: 0 0 8px;
        border-width: 1px;
    }

    .inquiryStoreBox td{
        flex-wrap: wrap;
    }

    .inquiryStoreBox td:first-child{
        padding-top: 0;
    }

    .inquiryStoreBox td .sub-header{
        width: 100%;
        margin-top: 8px;
        margin-bottom: 8px;
    }

    #main ul.categoryUI {
        flex-wrap: wrap;
    }

    #main ul.categoryUI li {
        width: 48%;
        margin-bottom: 10px;
    }

    #main ul.categoryUI li:nth-child(n + 3) {
        margin-bottom: 0px;
    }

    #main ul.categoryUI label {
        padding: 6px 0 4px;
    }

    #main ul.categoryUI label img{
        width: 35px;
    }

    #main ul.categoryUI.categoryUI2 li {
        width: 100%;
        margin-right: 0px;
        display: flex;
        margin-bottom: 10px;
    }

    #main ul.categoryUI2 label {
        margin-bottom: 0px;
    }

    .categoryUI2 label .header {
        font-size: 15px;
    }

    .categoryUI2 label .photo {
        margin: 0 6px 0 6px;
        width: 90px;
        height: 70px;
    }
    .categoryUI2 label .item .name {
        width: 100px;
    }
}


/*表示制御----------------------------*/
    #container.padStyle #gFooter {
        text-align: center;
    }

@media (max-width: 896px){
    .contact .comForm {
        padding-top: 0px;
    }

    #main .comForm .bg {
        padding: 1px 16px 32px;
    }

    #main .comTable tr {
        padding: 10px 6px;
    }

    .comForm input[type="number"] {
        padding-left: 9px;
        width: 100%;
        height: 32px;
        font-size: 1.4rem;
        font-weight: 500;
        border: none;
        background-color: #fff;
        -moz-appearance: none;
        appearance: none;
        -webkit-appearance: none;
        line-height: 1.43;
        border-radius: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #main .comForm select, #main .comForm input[type="text"], #main .comForm input[type="password"], #main .comForm input[type="email"], #main .comForm input[type="tel"],#main .comForm input[type="number"]{
        height: 38px;
        border-radius: 4px;
    }

    .inquiryStoreBox td {
        border-bottom: 1px dotted #bbb;
    }

    .inquiryStoreBox td:last-child {
        border-bottom: none;
    }

    .comForm .comTable .radioUl li {
        margin-right: 16px;
    }

}

/*時間選択プルダウン*/
#main .timeSelectUI li:nth-child(2n),
#main .timeSelectUI li:nth-child(2n) {
    width: 192px;
}

#main .comForm select {
    /*float: left;*/
    width: 66%;
    max-width: 360px;
    min-height: 40px;
}

#main .comForm select.jsAdrsPrefectures {
    /*float: left;*/
    width: 100%;
}

.timeSelectUI li::after {
    content: "年";
    display: block;
    width: 50px;
    margin: 6px 0 0 10px;
    float: right;
    font-size: 16px;
}

.timeSelectUI li:nth-child(2)::after {
    content: "月";
    display: block;
    width: 50px;
    margin: 6px 0 0 10px;
    float: right;
    font-size: 16px;
}

@media screen and (max-width: 896px) {
/*時間選択プルダウン*/
    .timeSelectUI li::after {
        font-size: 1.6rem;
        width: 40px;
    }
    #main .comForm select { width: 60%; }

    #main .comForm select.jsSlcBikeItem,
    #main .comForm select[name="inquiry_mileage"]{
        width: 100%;
    }

}

/*エラー時の入力フォーム 赤枠*/
.comForm .cmIptError select,
.comForm .cmIptError input[type="text"],
.comForm .cmIptError input[type="tel"],
.comForm .cmIptError textarea {
    border: 2px solid #ec1234;
    border-color: rgba(236,18,52,70%);
}

/*入力エラー時のテキスト 赤字*/
.comForm form .cmIptError .inputError {
    color: #ec1234;
    margin: 10px 0 0 0;
    font-size: 1.5rem;
}

.comForm form .inputError {
    color: #ec1234;
    margin: 0;
    font-size: 1.5rem;
}

@media screen and (max-width: 640px){

    #main .comForm select,
    #main .comForm input[type="text"] {
        font-size: 1.1em;
    }

    #main ul.categoryUI li {
        font-size: 1.1em;
    }

    .comForm textarea {
        font-size: 1.1em;
    }

    #main .comForm input[type="text"], #main .comForm input[type="password"], #main .comForm input[type="email"], #main .comForm input[type="tel"] {
        font-size: 1.1em;
    }

    .cmScrollBox p {
        font-size: 1.0em;
    }

    table.comTable th, #shop8190List h3 {
        font-size: 1.5rem;
        font-weight: 500;
    }

    #main .comForm * + .customerBox {
        margin-top: 24px;
    }

    .terms-box{
        margin: 0 auto;
        width: 90%;
    }

    .terms-box .content {
        margin: 0 auto 35px;
        max-width: inherit;
    }

    .terms-box .borderBox.borBox02 > p {
        width: auto;
        margin: 0 auto 25px;
    }

    .terms-box dl.detail {
        display: block;
        width: 100%;
        border: none;
        margin: -10px auto 0;
        position: relative;
    }
    .terms-box dl.detail dt {
        display: block;
        width: 100%;
        padding: 0.3em 0;
        margin: 5px 0 0;
        border: none;
        border-radius: 6px;
        font-size: 1.65rem;
        line-height: 1.65;
    }

    .terms-box dl.detail dd {
        display: block;
        width: 100%;
        padding: 0.5em 0.5em 2em;
        border: none;
        font-size: 1.35rem;
        line-height: 1.65;
    }
    .cpBannertxt {
        margin: 5px auto 40px;
        text-align: center;
    }

    .cpBannerBox{
        width: 100%;
    }

    .cpBannerBox::before {
        top: 31%;
        left: 7vw;
        font-size: 16px;
    }
    .headline02 {
        width: 100%;
        font-size: 1.7rem;
        margin: 0 auto 25px;
        padding: 8px 10px 10px;
        box-sizing: border-box;
    }
}
