.jpuc_tel {
    margin-top: 20px;
}
.jpuc_tel.is_sp {
    margin-top: 23px;
}
.flow {
    margin-top: 20px;
}
.is_ipad_sp {
    display: none;
    margin-bottom: 10px;
}
.is_ipad_pc {
    margin-bottom: 10px;
}
.intro {
    position: relative;
    background: #004c9f;
    font-size: 2.2em;
    font-weight: bold;
    color: #fff;
    padding: 10px;
    margin-bottom: 20px;
    margin-top: 90px;
    text-align: center;
}
.intro::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 1px);
    margin: auto;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #004c9f;
}
.note {
    width: 400px;
    height: 40px;
    text-align: center;
    background: rgba(77, 160, 255, 0.1);
    color: #4DA0FF;
    padding-top: 15px;
    font-size: 1.2em;
    margin: auto;
    margin-top: 20px;
    margin-bottom: 40px;
}
.note span {
    width: 18px;
    height: 18px;
}
.text-size_2_0 .highlight-orange {
    font-size: 2rem;
}
.car-info {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    width: 640px;
    padding-left: 30px;
}
.car-info .row {
    width: 100%;
    margin-top: 20px;
}
.car-info .row:first-of-type {
    margin-top: 0;
}
.car-info .row::after {
    content: "";
    display: block;
    clear: both;
}
.car-info .row label.title {
    font-weight: bold;
    font-size: 1.6rem;
    width: 30%;
    float: left;
    padding-top: 10px;
}
.car-info .row .content-form {
    width: 50%;
    float: left;
    font-size: 1.4rem;
}
.car-info .row .content-form .notice {
    margin-top: 10px;
    font-size: 1.4rem;
}
.car-info .row .content-form div.error {
    margin-top: 10px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #AA0000;
}
.car-info .row .status {
    line-height: 1;
    text-align: center;
    font-size: 1.3rem;
    color: #fff;
    padding: 3px 5px;
    height: 19px;
    width: 36px;
    border-radius: 3px;
    float: right;
    margin-right: 30px;
    font-weight: normal;
    display: inline-block;
}
.car-info .row .status.is-required {
    background: #EF5350;
}
.car-info .row .status.is-required:after {
    content: "必須";
}
.car-info .row .status.is-ok {
    background: #4DA0FF;
}
.car-info .row .status.is-ok:after {
    content: "OK";
}
.row .label--select {
    width: 100%;
    position: relative;
    display: inline-block;
}
.row .label--select select {
    width: 100%;
    height: 36px;
    background: #FFFAE2;
    border: 1px solid #CCCCCC;
    border-radius: 3px;
    box-sizing: border-box;
    color: #000;
    padding: 0px 10px;
    font-size: 1.6rem;
}
.row .label--select:after {
    content: "";
    position: absolute;
    bottom: 15px;
    right: 7px;
    border-top: 6px solid #000;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
}
.row .first-focus {
    border: 1px solid #EB6841 !important;
    -webkit-appearance: none;
    -webkit-animation: focusItemWebkit 1.2s linear infinite;
    animation: focusItem 1.2s linear infinite;
}
.row input {
    width: 100%;
    height: 36px;
    background: #FFFAE2;
    border: 1px solid #CCCCCC;
    border-radius: 3px;
    box-sizing: border-box;
    padding: 0px 10px;
    font-size: 1.6rem;
}

.row .content-form.zipcode-address input.zipcode {
    width: 130px;
    margin: 0 10px;
}
.row .content-form.zipcode-address a {
    color: #EF5350;
}
.row .content-form.zipcode-address a:visited {
    color: #EF5350;
}
.row select.error, .row input.error {
    border: 1px solid #AA0000;
    background-color: rgba(239, 83, 80, 0.1);
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
}
select::-ms-expand {
    display: none;
}

select::-ms-value {
    color: currentColor;
}

/* Popup?*/
.show-popup {
    margin-bottom: 10px;
}
#popup {
    background: #fff;
    padding: 20px;
    border: 1px solid #CCCCCC;
    border-radius: 10px;
    width: 350px;
    position:absolute;
    top:500px;
    margin-right: 10px;
    z-index:2000;
    display:none;
}
#popup div.title {
    width: 100%;
    font-size: 1.6rem;
    height: 36px;
    color: #EF5350;
    font-weight: bold;
    background: rgba(239, 83, 80, 0.1);
    border-radius: 100px;
    text-align: center;
    padding: 10px;
}

#popup .car-info {
    width: 100%;
    padding-left: 0;
}
#popup .car-info .row {
    width: 100%;
    margin-top: 10px;
}
#popup label.title {
    font-size: 1.4rem;
    width: 30%;
}
#popup .content-form {
    font-size: 1.4rem;
    width: 70%;
}
#popup .row .label--select.city-head {
    width: 30%;
}
#popup .row .label--select.city-name {
    width: 68%;
}
#popup .row.button {
    text-align: center;
}
#popup .row.button button {
    height: 26px;
    border-radius: 4px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    box-shadow: 0px 2px 0px #666666;
    width: 68px;
    cursor: pointer;
    font-size: 1.6rem;
    background: #AAAAAA;
    border: none;
    line-height: 26px;
}
#popup .row.button button:first-of-type {
    margin-right: 10px; 
    background: #4DA0FF;
    border: none;
    box-shadow: 0px 2px 0px #004CA3;
}
#address_text {
    margin-bottom: 5px;
    font-size: 1.4rem;
}
@media only screen and (max-width: 960px) {
    .is_ipad_sp {
        display: inline-block;
    }
    .is_ipad_pc {
        display: none;
    }
    .row .content-form.zipcode-address input.zipcode {
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 788px) {
    .is_ipad_sp {
        display: none;
    }
    .is_ipad_pc {
        display: inline-block;
    }

    .header-text .highlight-orange {
        font-size: 2.4rem;
    }
    .header-text .text-size_2_0 {
        display: block;
        margin-top: 15px;
        font-size: 1.6rem;
    }
    .header-text .text-size_2_0 .highlight-orange {
        font-size: 1.6rem;
    }
    p.text-size_1_4 {
        text-align: left;
    }
    .intro {
        line-height: 1.5;
        margin-top: 80px;
    }
    .note {
        width: 335px;
    }
    .car-info {
        width: 100%;
        padding-left: 0;
    }
    .car-info .row {
        margin-top: 10px;
    }
    .car-info .row label.title {
        width: 100%;
        padding-bottom: 10px;
    }
    .car-info .row .status {
        float: none;
        margin-left: 10px;
        margin-right: 0;
    }
    .car-info .row .content-form {
        width: 100%;
    }
    #popup {
        width: 335px;
    }
    .row .label--select select {
        height: 40px;
    }
    .row input {
        height: 40px;
    }
}
@media only screen and (max-width: 450px) {

    .note {
        width: 95%;
    }
}