/*responsive SP */

@media screen and (min-width: 769px) {}

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

    .titl02 span {
        font-size: 6vw;
    }

    #confirm {
        -webkit-appearance: none;
    }

    img {
        max-width: 100%;
    }

    #wrapper,
    #header,
    #main,
    #footer,
    .inner,
    .under .under_inner {
        width: 100% !important;
        min-width: inherit !important;
    }

    .inner {
        box-sizing: border-box;
        padding: 0 15px;
    }

    /*---*/



}

@media screen and (min-width: 100px) and (max-width: 800px) {}

@media screen and (max-width: 750px) {
    .main_btn {
    width:90%;
}

     .tel_link .img_sp {
        display: inline-block;
    }
    .ellipse_bg01:before {
        left: 49%;
    }

    .list_pickup_cat {
        font-size: 4.5vw;
    }

    #header_info {
        /*   background: rgba(50,50,50,0.95); */
    }

    #logo {
        width: 45px;

    }

    .list_directions {
        justify-content: center;
    }

    .list_directions_ct,
    .list_directions_ct:nth-child(4n+4) {
        width: 48%;
        max-width: 237px;
        margin-right: 4%;
        margin-bottom: 20px;
    }

    .list_directions_ct:nth-child(2n+2) {
        margin-right: 0%;
    }


    .access_box {
        flex-wrap: wrap;
        justify-content: center;
    }

    .access_info {
        margin-bottom: 30px;
    }

    .access_info,
    .access_map {
        width: 100%;
        text-align: center;
    }

    #header_menu {

        z-index: 100;
        position: absolute;
        right: -100vw;
        top: 56px;
        width: 100vw;
        transition: all 0.2s;

        background: rgba(255, 255, 255, 0.95);
        height: calc(100vh - 56px);
    }

    #header_menu.fixed {}

    #header_menu ul li {
        background: none;
    }

    #header_menu ul li a {
        line-height: 45px;
    }

    .header_menu_ttl {
        display: none;
    }

    #btn_menu {
        position: absolute;
        z-index: 105;
        right: 13px;
        top: 12px;
    }

    .header_top_left {}

    #header_info {
        padding: 6px 0;
    }


    /* #problem,
#merit,
#effect,
#performance,
#service,
#comparison,
#step,
#voice,
#price,
#pickup,
#question,
#deployment,
#management,
#contact {
padding: 50px 0;
} */

    h3.s01 {

        font-size: 23px;
        margin-bottom: 35px;
    }

    h3.s01 span {
        padding-top: 5px;
        font-size: 16px;

    }

    .olsp {
        display: block;
    }


    #thanks #wrapper {
        background: url("../images/thanks_bg_sp.png") no-repeat scroll left top;
        background-size: cover;

    }

    .header_contact {
        display: none;
    }

    .tb_contact01 dt {
        justify-content: flex-start;

    }

    .tb_contact01 dl {
        flex-wrap: wrap;
    }

    .tb_contact01 dt,
    .tb_contact01 dd {
        width: 100%;
        padding: 0;
    }

    .tb_contact01 dt {
        padding-bottom: 0;
        line-height: inherit;
    }

    .error_txt {
        top: -84px;
    }

    .wshort {
        max-width: 100%;
    }

    .tb_contact01 dd {
        padding-top: 10px;
    }

    .list_tel li.list_tel01 {
        width: 26%;
    }

    .list_tel li.list_tel02,
    .list_tel li.list_tel03 {
        width: 37%;
    }

    .line_tel01 {
        width: 12px;
    }

    .tb_contact01 li.list_tel02 input,
    .tb_contact01 li.list_tel03 input {
        width: calc(100% - 12px);
    }

    .list_service,
    .list_faq {

        justify-content: center;
    }

    .list_faq_ct:last-child {
        margin-bottom: 0;
    }

}



@media screen and (max-width: 700px) {
    .main_price {
        top: 265px;

    }

    #header {
        height: 600px;
    }

    .head_info_bl {
        bottom: 3vw;
    }

    .head_info_bl_01 {
        flex-direction: column;
    }

    .head_info_bl_wr {
        margin-right: 0;
    }

    .footer_info_ad {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

    }

    .footer_cal {
        margin-bottom: 10px;
    }

    .footer_logo {
        margin-bottom: 20px;
        margin-right: 0;
    }

    address {
        margin: 0;
    }
}

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

@media screen and (max-width: 640px) {
    h3.h3_sm01 {
        font-size: 5vw;
        margin-bottom: 30px;

    }

    .ttl_ser01 {
        font-size: 4vw;
    }

    .ttl_ser01 span {
        font-size: 5vw;
    }

    .list_faq_ttl {
        font-size: 16px;
    }

    .list_merit_num {
        font-size: 30px;
        top: -15px;
        left: 20px;

    }

    .list_merit_des {
        font-size: 15px;
    }

    .list_merit_ttl {
        font-size: 21px;

    }

    .list_problem_img {
        border: 2px solid #2B2B2B;
        width: 100px;
        height: 100px;


    }

    .list_problem_img img {
        width: 50px;
    }

    .list_problem_ttl {
        font-size: 21px;

    }

    .ttl_note {
        display: block;
    }

    .line_add dl:first-child,
    .box_cf_ad dl:first-child {
        width: 205px;
    }

    .line_add,
    .box_cf_ad {
        flex-wrap: wrap;
    }

    .line_add dl:last-child,
    .box_cf_ad dl:last-child {
        width: 100%;
    }

    .ttl_top {
        font-size: 17px;
    }

    .ttl_ct a,
    .ttl_ct span {
        display: block;
    }

    .ttl_ct span {
        padding: 0;
    }

    .ttl_ct a {
        margin-bottom: 10px;
    }

    .ttl_ct p {
        display: block;
    }

    /*   .list_manage dl {
flex-wrap: wrap;
}

.list_manage dt,
.list_manage dd {
width: 100%;
}

.list_manage dt {
margin-bottom: 15px;
font-size: 17px;
position: relative;
padding-left: 22px;
}

.list_manage dt:before {
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 50%;
content: "";
position: absolute;
width: 10px;
height: 10px;
background: #fff;
left: 0;
top: 10px;
} */

    .pickup_pop {
        font-size: 5vw;
        height: 10vw;
        line-height: 10vw;
    }






    .list_compa {
        width: 100%;
        -ms-overflow-x: scroll;
        overflow-x: scroll;
    }


    .list_compa table {
        width: 660px !important;
    }

    .list_perf_ct {
        padding: 25px;
    }

    .list_perf_ct {
        margin-bottom: 50px;
    }

    .list_perf_des {

        margin-bottom: 25px;

    }


    .list_prob_ttl {
        font-size: 17px;
        margin-bottom: 30px;
    }

    .list_perf_ttl {
        font-size: 19px;
        margin: 0 0 30px 0;
    }

    .list_step_des {

        padding-left: 30px;

    }

    .list_step_ttl {
        font-size: 17px;

    }

    .list_step_ttl span {
        padding-right: 16px;
    }



    .list_bx01_list {
        width: 45%;
        margin: 0 2.5% 50px;
    }

    .box_pc,
    .box_tl {
        display: none;
    }

    .box_sp {
        display: block;
    }

    .slider_sp {
        display: block;
    }

    .slider_pc {
        display: none;
    }

    /* header
------------------------------------------------------------------------*/
    #logo {
        top: 8px;
        left: 8px;
    }

    /*#sticky_menu_header{
display:block !important;
opacity:1 !important;
}
#header{
height:60px;

}*/
    .txt_tel {
        display: none;
    }

    .tel_link .img_pc {
        display: none;
    }

   

    /* footer
------------------------------------------------------------------------*/



    #thanks #logo img {
        max-width: 100px;
    }

    #thanks .btn02 {
        padding-top: 30px;
    }

    .search_tel_sticky a {
        background-position: left center;
    }

    /* footer
------------------------------------------------------------------------*/
    .list_service_info {
        padding: 15px 10px 15px 10px;
    }

}

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

    .main_btn a {
        font-size: 4.2vw;
    }

    .header_top_right {

        padding-right: 20px;
    }



    .head_bl_ct {
        text-align: center;
        font-size: 5vw;
        margin-bottom: 0;
    }

    .head_bl_ct .pk01 {
        font-size: 8vw;
    }

    .head_bl_ct .pk02 {
        font-size: 6vw;
    }

    .head_info_bl_wr {
        margin-bottom: 10px;
    }



}



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

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


    .img_case_df:before {
        transform: rotate(90deg);
        left: calc(50% - 8px);
        right: auto;
        top: auto;
        bottom: -60px;

    }

    .list_case_ct:nth-child(2n+2) {
        margin-bottom: 0;
    }

    .list_case_ct {
        width: 100%;
    }

    .list_case {
        justify-content: center;
    }

    .list_merit_info {

        padding: 35px 10px 20px 10px;


    }

    .list_merit_ttl {
        font-size: 19px;
    }

    #thanks .ppok.submit.btn02 a {
        font-size: 20px;
    }


    .box_mw p {
        font-size: 14px;
    }

    .list_voice_ct {
        margin: 0 30px;

    }

    .list_voice_ttl {
        font-size: 17px;

    }

    .list_depl_ct {
        margin: 0 30px;
        padding: 15px;
    }

    .list_depl_img {
        margin-bottom: 20px;
    }

    .list_depl_cat {
        font-size: 17px;
        margin-bottom: 18px;
    }

    .ttl_prb {
        font-size: 5vw;
    }

    .ttl_sp01 {
        font-size: 4vw;
    }

    #merit {
        padding: 0px 0 50px;

    }
}

@media screen and (max-width: 490px) {
    h3.s01 {
        font-size: 20px;
        margin-bottom: 35px;
    }

    .list_price_ct {
        width: 161px;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 450px) {
    .pickup_note br {
        display: block;
    }

    .txt_cpr h2 {
        font-size: 30px;
    }

    .txt_cpr h2 span {
        font-size: 18px;
    }

    .list_main_price {
        transform: scale(0.6);
    }

    #header {
        height: 500px;
    }

    .main_price {
        left: -30px;
    }

    .main_price {
        top: 240px;
    }

    .main_btn a {
        background-size: 10px;
    }

    .list_directions_img:before {
        right: -10px;
    }


    .list_pickup_ttl {
        font-size: 23px;
        margin-bottom: 11px;
    }

    .list_pickup_ttl .pk01 {
        font-size: 33px;
    }

    .list_pickup_ttl .pk02 {
        font-size: 28px;
    }


    .tb_contact01 dt,
    .tb_contact01 dd {
        padding-left: 5px;
        padding-right: 5px;
    }

    .list_bx01 {
        max-width: 350px
    }

    .list_bx01_list {
        width: 100%;
        margin: 0 0 30px;
    }

    .list_service_ct,
    .list_service_ct:nth-child(3n+3) {
        max-width: 400px;
        width: 100%;
        margin: 0;
        margin-bottom: 30px;
    }


    .txt_des {
        font-size: 13px;
    }

}

@media screen and (max-width: 400px) {
    .list_manage dd {
        font-size: 14px;
    }

    .list_perf_ct {
        padding: 20px;
    }

}

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

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

@media screen and (max-width: 350px) {
    .list_directions_ct {
        font-size: 11px;
    }
}

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