@charset "UTF-8";
/* CSS Document */
/* ------------------------------------------------------------------------
standard_estimate_area
-------------------------------------------------------
/*------------------------ standard_estimate_area 共通  ------------------------*/
.core_content{
    color: #313131;
    counter-reset: number 0;
}
.core_content a{
    color: #313131;
}
.core_content a:active,
.core_content a:active p,
.core_content a:active div,
.core_content a:active div p{
    color: #64D700;
}
.core_content a:active img{
    opacity: 0.5;
}
.bsc_mg{
    margin-top: 30px;
    margin-bottom: 80px;
}
.max_900{
    max-width: 900px;
    margin: 0 auto;
}
.full_w{
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
span.line{
    background: linear-gradient(transparent 80%, #EF4138 80%);
}
p.normal_txt{
    font-weight: 500;
    margin-bottom: 10px;
}
/* slanting_heading */
.slanting_heading{
    text-align: center;
}
.slanting_heading_inner{
    display: inline-block;
    padding: 0 25px;
    position: relative;
    font-size: 1.6rem;
    font-weight: 700;
}
.slanting_heading_inner:before,
.slanting_heading_inner::after{
    position: absolute;
    content: "";
    background: #000;
    width: 3px;
    height: 20px;
    top: calc(50% - 5px);
}
.slanting_heading_inner::before{
    transform: rotate(-35deg);
    left: 0;
}
.slanting_heading_inner::after{
    transform: rotate(35deg);
    right: 0;
}
/* dot */
p.dot{
    position: relative;
    margin-bottom: 5px;
    font-weight: 500;
    padding-left: 10px;
    text-indent: -10px;
}
p.dot::before{
    content: "";
    display: inline-block;
    background-color: #000;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    margin-right: 5px;
    vertical-align: middle;
}
/* dot_line_heading */
.dot_line_heading{
    position: relative;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 8px;
}
.dot_line_heading::before{
    content: "";
    display: block;
    position: absolute;
    background-color: #EF4138;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 10px;
}
.dot_line_heading .dot_line_heading_inner{
    position: relative;
    display: inline;
    padding: 3px;
    background-color: #fff;
    z-index: 1;
}
.dot_line_heading .dot_line_heading_inner::before{
    content: "";
    display: inline-block;
    background-color: #EF4138;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 3px;
}
/*------------core_content PC  ------------*/
@media screen and (min-width: 950px) {
    .core_content a:hover,
    .core_content a:hover p,
    .core_content a:hover div,
    .core_content a:hover div p{
        color: #64D700;
    }
    .core_content a:hover img{
        opacity: 0.5;
    }
}
/* -------------------------------
form
---------------------------------- */
.input_alert{
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 140%;
    color: #E31B72;
}
.form_row {
    margin-bottom: 20px;
    margin-right: 10px;
    width: 300px;
}
.form_label{
    font-size: 1.5rem;
    font-weight: 700;
    background-color: #dfdfdf;
    padding: 3px 5px;
}
.form_control{
    cursor: pointer;
    position: relative;
    height: 40px;
}
.form_control input,
.form_control select{
    border: 1px solid #E5E5E5;
    font-size: 1.4rem;
    padding: 5px;
    width: 100%;
}
.form_control select{
    cursor: pointer;
}
.form_control.arrow::after{
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    transform: rotate(135deg);
    top: calc((100% - 20px) / 2);
    right: 0.8rem;
    border-top: 1px solid #E5E5E5;
    border-right: 1px solid #E5E5E5;
}
.items_count{
    font-size: 1.8rem;
    font-weight: 700;
    background-color: #555555;
    border-radius: 5px;
    padding: 3px 5px;
    color: #fff;
    padding-bottom: 5px;
    margin-bottom: 10px;
    display: inline-block;
}
.items_count span{
    margin-left: 5px;
}
.w_200{
    width: 200px;
}
.d_flex{
    display: flex;
}
.input_alert_max {
    display: none;
    font-size: 1.6rem;
    font-weight: 700;
    color: #E31B72;
    background-color: #fdeff5;
    border: 2px solid;
    padding: 5px;
    text-align: center;
    max-width: 400px;
    margin-bottom: 15px;
}
#add_item:disabled {
    background: #ccc;
    color: #3f3f3f;
    cursor: not-allowed;
    opacity: 0.7;
}
.remove_item{
    color: #555555;
    border: 1px solid;
    background-color: #f6f6f6;
    border-radius: 30px;
    transition: opacity .25s ease;
    cursor: pointer;
    width: 80px;
    padding: 2px;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    margin-left: 20px;
}
/* -------------------------------
link_btn 
---------------------------------- */
.link_btn a,
.standard_estimate_btn button{
    display: block;
    color: #fff;
    border: 2px solid #e31b72;
    background-color: #e31b72;
    border-radius: 30px;
    transition: opacity .25s ease;
    cursor: pointer;
    min-width: 200px;
    max-width: 450px;
    font-size: 1.6rem;
    letter-spacing: 0.5px;
    padding: 10px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}
.standard_estimate_btn button{
    margin-right: 20px;
}
.link_btn a:active,
.standard_estimate_btn button:active{
    background-color: #fff;
    color: #e31b72;
}
.standard_estimate_btn.btn_sub button{
    display: block;
    color: #E31B72;
    border: 2px solid;
    background-color: #F7F7F7;
}

/*------------ link_btn SP  ------------*/
@media screen and (max-width: 949px) {
    .link_btn a,
    .standard_estimate_btn button{
        width: 100%;
    }
    .standard_estimate_btn.btn_sub{
        margin-bottom: 20px;
    }
}
/*------------ link_btn PC  ------------*/
@media screen and (min-width: 950px) {
    .link_btn a:hover,
    .standard_estimate_btn button:hover{
        background-color: #fff;
        color: #e31b72;
    }
    .standard_estimate_btn_outer{
        display: flex;
    }
}