.service-price-simulation-block{
!important;
}
.service-price-simulation-block{
    border: 2px solid var(--color_main);
}
.service-price-simulation-head+p,
.service-price-simulation-block p:empty{
    margin: 0 !important;
    font-size:0 !important;
    /* display: none; */
}
.service-price-simulation-head{
    padding: .7em !important;
}

.service-price-simulation-head-text
{
    background-color:#002d4c;
    color:#ffffff;
    padding: 10px 0px;
    margin-top: 1em !important;
    text-align: center;
    font-size:2.4rem;
    font-weight:600;
}
.service-price-simulation-head-inner {
    margin: auto !important;
}

@media (min-width: 960px) {
    .service-price-simulation-head-inner>div{
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 1rem;
        flex-wrap: wrap;
    }
}

.service-price-simulator {
    background-color: #fff;
    border:1px solid #002d4c;
    text-align:center;
}

.service-price-simulator + p {
    display: none;
}
.service-price-simulator .input-group {
    display: grid;
    grid-template-columns: 1fr 2fr;
    margin: 1.5rem 0;
}
.service-price-simulator .input-group .input-group-label,
.service-price-simulator .input-group .input-group-inputs {
    padding: .7rem;
    border-left: 1px solid var(--color_gray);
    border-bottom: 1px solid var(--color_gray);
}
.service-price-simulator .input-group .input-group-label:first-of-type,
.service-price-simulator .input-group .input-group-inputs:first-of-type {
    border-top: 1px solid var(--color_gray);
}
.service-price-simulator .input-group .input-group-label {
    background: var(--color_main_thin);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

}
.service-price-simulator .input-group .input-group-label small {
    font-size: .6em;
}
.service-price-simulator .input-group .input-group-inputs {
    border-right: 1px solid var(--color_gray);
}
.service-price-simulator .input-number {
    background:none;
    width: 40%;
}
.service-price-simulator .input-range {
    width: 60%;
    padding: 0;
}

.service-price-simulator .input-group .input-group-inputs {
    border-right: 1px solid var(--color_gray);
    display: flex;
    column-gap: 5%;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.service-price-simulator .input-group .input-group-inputs.pc_row
{
    display: flex;
    flex-direction: row;
    align-items: center;
    border-top:none;
    text-align: center;
}

.service-price-simulator {
    padding: 5%;
    margin-bottom: 1em;
}
.service-price-simulator label {
    font-weight: bold;
}

.service-price-simulator .result{
    border: 2px solid #EF6445;
    text-align: center;
    display:none;
    max-width:600px;
    margin: 20px auto;
}


.service-price-simulator .result_tsubo
{
    text-align: center;
    display:none;
    max-width:300px;
    margin: 20px auto;
}

.service-price-simulator .result_tsubo > p
{
    display:flex;
}

.service-price-simulator .result_tsubo > p > span
{
    width:50%;
    border:1px solid #dddddd;
    background-color:#ffffff;
    padding: 5px 0px;
}

.service-price-simulator .result_tsubo > p:first-child > span
{
    border-bottom:none;
}

.service-price-simulator .result_tsubo > p > span:first-child
{
    background-color:#f2f5f8;
    border-right:none;
}


.service-price-simulator .result_contact 
{
    text-align: center;
    display:none;
    max-width:600px;
    margin: 20px auto;

}

.service-price-simulator .result_contact_over30 
{
    text-align: center;
    display:none;
    margin: 20px auto;

}

.service-price-simulator .result_contact_over30 .result_message 
{
    text-align: left;
}


.service-price-simulator .result-head {
    background: #EF6445;
    color: #fff;
}
.service-price-simulator .result-cost {
    font-size: .8em;
    min-height: 2.6rem;
    display: flex;
    align-items: baseline;
    justify-content: center;
}
.service-price-simulator .result-cost-total {
    font-size: 1.6em;
    font-weight: bold;
    color: #EF6445;
}
.service-price-simulator .result-annotate {
    margin-top: 0.5em;
    font-size: 0.75em;
}


.service-price-simulator .radio-item{
    padding: 5px 0px;
}

.service-price-simulator .error{
    color:#ee0000;
}

.service-price-simulator #plan_error ,
.service-price-simulator #area_error,
.service-price-simulator #inspection_error
{
    display:none;
}

.service-price-simulator .culc_btn
{
    display: block;
    height: 4.5rem;
    margin: 0 auto;
    font-weight: bold;
    text-decoration: none;
    outline: 0;
    color: #fff9eb;
    font-size: 18px;
    background: #EF6445 !important;
    border-radius: 30px;
    border: 2px solid #fff;
    box-shadow: 1px 0px 3px rgb(0 0 0 / 30%);
    padding: 0 5rem;
}

@media (min-width: 960px) {
    .service-price-simulator {
        padding: 2rem;
    }
}
@media (max-width: 959px) {
    
    .service-price-simulator 
    {
        font-size:min(17px , 3vw);
    }


    .service-price-simulator .input-group {
        grid-template-columns: 4fr 5fr;
    }
    .service-price-simulator .input-group .input-group-inputs {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    .service-price-simulator .input-group .input-group-inputs.pc_row {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        text-align: left;
    }
    .service-price-simulator .input-number,
    .service-price-simulator .input-range {
        width: 100%;
    }

    
    .service-price-simulator .input-group .input-radio.radio-item
    {
        line-height:1;
        display:flex;
    }

    .service-price-simulator .input-group .input-radio.radio-item > label
    {
        margin-left:2px;
    }

    .service-price-simulator .sp_small
    {
        font-size:1.95vw;
    }
    
    .service-price-simulator .result-annotate {
        text-align:left;
    }

}


@media (max-width: 770px) {
    
    .service-price-simulation-head-text
    {
        font-size:1.6rem;
    }
    
    .service-price-simulator .culc_btn
    {
        height: 3.5rem;
        font-size: 16px;
    }
}