@media screen and (max-width: 640px){
    .sp_show{display:block;}
    .sp_hide{display:none !important;}
    input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"]{
        height:unset;
        font-size:1em;
    }
    img{max-width:100%;}
    body,div,p{font-size:14px;}
    table{border:none;}
    h3{font-size:1.5em;}
    .container{
        width:auto;
        max-width:640px;
    }
    .common{margin-bottom:1.5em;}
    .container .application_agree_title,
    .container .branch_code,
    .container .application_agree,
    .container .application_attention,
    .common.start,
    .common.application,
    .common.switch,
    .entry,
    .f_contents{
        padding:0 1em;
    }
    header #header_inner,
    footer #copy_block .copy_block{
        width:auto;
        max-width:640px;
    }
    header{
        height:56px;
        border-top:2px solid #E5002D;
    }
    header #header_inner h1{
        padding:7px 28px 10px;
        float:none;
    }
    header #header_inner h1 img{
        width:130px !important;
        height:auto;
    }
    .keyvisual img{
        display:none;
    }
    .keyvisual{
        width:100%;
        height:60vw;
        background:url(/img/sp_keyvisual.png) no-repeat center;
        background-size:cover;
    }
    .keyvisual.price{
        background:url(/img/sp_keyvisual_price.png) no-repeat center;
        background-size:100% auto;
    }
    .breadcrumb{
        display:none;
    }
    input[type=submit].primary, input[type=button].primary, button.primary, .button.primary{
        min-width:unset;
    }
    .f_title{
        font-size:1.2em;
        margin-bottom:0.8em;
    }
    .contract{
        font-size:inherit;
    }
    .panel_contents .txt ol li, .contract ol li{
        font-size:1em;
    }
    .titlebox{font-size:1em;}
    .step_num_txt,
    .step_title{
        font-size:inherit;
        height:unset;
        line-height:unset;
        padding:3px 10px;
    }
    .apply .prepare{
        padding-left:2em;
    }
    .panel .panel_contents,
    .tab-group{
        display:block;
    }
    .panel .panel_contents .txt{
        width:100%;
    }
    button.secondary,
    button.primary{
        font-size:1em;
        height:unset;
    }
    button.primary{
        width:80%;
        padding: 0.8rem 1rem 0.8625rem;
    }
    button.secondary{
        width:60%;
        padding: 0.6rem 1rem 0.6625rem;
    }
    .boxcontents{
        border:1px solid #ccc;
        padding:1em;
    }
    .boxtitle{
        font-size:0.9em;
    }
    .boxtitle p{
        font-size:1.1em;
    }
    .boxtitle img{
        max-height:14px;
        margin-right:0.5em;
    }
    .q_title{
        font-size:1em;
        padding-left:0.5em;
    }
    label{
        font-size:1em;
    }
    .q_answer_box.contract_info .agency_num,
    .q_answer_box.area_info div[id^="area_"]{
        padding:0;
    }
    .switch .f_items .txt{
        padding:0;
    }
    .switch .explain dt{
        font-size:1em;
    }
    .switch .explain{
        font-size:inherit;
    }
    .sp_meter dt{
        padding: 0.6em 0 0.6725em 1em;
        list-style: none;
        border: solid 2px #CCC;
        border-bottom: none;
        text-align: left;
        background: #f1f1f1;
        font-size:1em;
        font-weight:bold;
        cursor:pointer;
    }
    .sp_meter dt.is_active + dd{
        border-top:none;
    }
    .sp_meter dt.is_active{
        border-bottom:none;
        background:#fff;
    }
    .sp_meter dd{
        display:none;
        border: solid 2px #CCC;
        border-bottom:none;
        background: #FFF;
        padding: 20px;
        transform:all 0.2s;
    }
    .sp_meter{
        border-bottom:solid 2px #ccc;
    }
    .sp_meter dd:last-child{
        border-bottom:none;
    }
    .sp_meter dd.is_show{
        display:block;
    }
    .application .attention{
        font-size:0.8em;
    }
    .contact_line{
        padding: 0.6em 1em 0.6725em;
    }
    .contact_line .contact_title{
        font-size:1.2em;
        margin-bottom:1em;
    }
    .contact_line .f_box{
        display:block;
        height:unset;
        margin-bottom:1em;
    }
    .contact_line .f_box .tel{
        font-size:1.6em;
    }
    .contact_line .f_box .tel img{
        max-height:18px;
    }
    .contact_line .f_box .txt{
        margin:0;
        font-size:0.8em;
        padding:0;
    }
    footer #copy_block{
        color:#999;
    }
    footer #copy_block .copy_block ul{
        float:none;
        display:flex;
        display:-webkit-flex;
        justify-content:center;
        -webkit-justify-content:center;
        margin-bottom:0.7em;
    }
    footer #copy_block .copy_block ul li{
        float:none;
        margin:0;
        padding:0;
    }
    footer #copy_block .copy_block ul li + li{
        margin-left:2em;
    }
    footer #copy_block .copy_block .copy{
        font-size:0.8em;
        text-align:center;
        float:none;
    }
    .price{
        padding:0 1em;
    }
    .price .calculation_method p,
    .price .calculation_method h5,
    .price .calculation_method{
        font-size:1em;
        padding:0;
    }
    .price .calculation_method p,
    .price .calculation_method h5{
        padding-left:1em;
    }
    .price .price_contents section.application{
        margin-top:1em;
    }
    .price .map{
        margin-bottom:1em;
    }

    .progress.progress_price{display:none;}
    .progress .p_txt{display:none;}
    .progress .progress_wrap{width:100%;}
    .progress ol li{font-size:0.8em;margin:0 0.7em;}
    .progress.progress_form1 .step1.p_txt{display:inline-block;}
    .progress.progress_form2 .step2.p_txt{display:inline-block;}
    .progress.progress_form3 .step3.p_txt{display:inline-block;}
    .progress.progress_confirm .step4.p_txt{display:inline-block;}
    .progress.progress_complete .step6.p_txt{display:inline-block;}

    .container .pre_guide{
        padding:0 1em ;
    }
    .container .customer_information{
        margin:0 1em;
    }
    .branch_code .table{
        border:none;
    }
    .application_agree dl dt{padding:0;}
    .application_agree input[type=checkbox] + label, .application_agree input[type=radio] + label{
        font-size:1em;
    }
    .application_agree dl dd{
        font-size:1em;
        padding-left:3em;
    }
    .application_agree dl dd + dt{
        margin:1em 0;
    }
    .branch_code .table td{
        padding:0;
        border:none;
    }
    .print .print_wrap{
        display:block;
    }
    .print .print_wrap .txt,
    .print .print_wrap .btn{,txi
        text-align:center;
    }
    .print a.primary,
    .print .button.primary{
        margin:1em auto 0;
    }
    .application_attention dl dt,s
    .application_attention dl dd{
        font-size:1em;
    }
    .application_attention dl dd{
        padding-left:1em;
    }
    .documents h5{
        font-size:1.2em;
    }

    .documents table,
    .documents table tr,
    .documents table tr th,
    .documents table tr td,
    .customer_information .sp_form,
    .customer_information .sp_form tr,
    .customer_information .sp_form th,
    .customer_information .sp_form td,
    .customer_information table tr td:last-child{
        width:100%;
        display:block;
        border:none;
        background:transparent;
        font-size:1em;
    }
    .customer_information .sp_form{
        padding:0 1em;
    }
    .documents table tr th,
    .customer_information .sp_form th,
    .customer_information .sp_form td{
        padding:0.3em 1em;
    }
    .documents table tr th.sub,
    .documents table tr td,
    .customer_information .sp_form th.sub,
    .customer_information .sp_form td{
        padding:0.7em 0 0.7em 2em;
    }
    .documents table tr th.sub,
    .documents table tr td{
        padding:0.3em 1em 0.3em 2em;
    }
    .documents table tr th,
    .customer_information .sp_form th{
        font-weight:bold;
    }
    .documents table tr th,
    .documents table tr td{
        border:1px solid #ddd;
    }
    .documents table tr th{
        background:#eee;
    }
    .documents table tr th.sub{
        background:transparent;
    }
    .customer_information .f_box{
        flex-wrap:wrap;
    }
    .customer_information .f_box > .radio{
        width:33%;
    }
    .customer_information .f_box > div:last-child{
        width:100%;
    }
    .customer_information .f_box > div + div{
        margin:0;
    }
    .customer_information table th.sub{
        width:100% !important;
        max-width:unset;
        font-weight:bold;
    }
    .customer_information .checkCurrentCompany .f_box > .radio{
        width:30%;
        margin-right:0;
    }
    .customer_information .checkCurrentCompany .f_box > .radio:nth-child(n+5){
        margin-top:0.3em;
    }
    .require_ex{
        padding-left:1em;
        margin:1em 0;
    }
    .detail_table p{
        font-weight:bold;
    }
    .detail_table .f_box > .radio{
        width:unset;
    }
    .customer_information{
        border:1px solid #ccc;
    }
    .modal{
        width:80%;
        margin-left:-40%;
    }
    .modal_wrap{
        max-height:400px;
        overflow-y:auto;
    }
    .sp_form .w20p{
        width:28% !important;
    }
    .sp_form .w40p{
        width:33% !important;
    }
    .sp_form .contractor_name.w40p{
        width:100% !important;
    }

    .branch_code input,
    .boxcontents input,
    .sp_form input,
    .sp_form textarea,
    .sp_form select{
        background:#ffeeee;
    }
    .credit{
        padding:0 30px;
    }
    .credit .title h2{
        font-size:20px;
    }
    .credit .form{
        background:url(/img/credit_bg.png);
        padding:20px 10%;
    }
    .dl_table,
    .dl_table > dl,
    .dl_table > dl > dt,
    .dl_table > dl > dd{
        display:block;
    }
    .dl_table > dl > dt{
        padding:7px;
        width:100%;
        font-size:21px;
    }
    .dl_table > dl > dd{
        padding:0 7px 7px;
    }
    .credit .form input{
        height:40px;
        width:100%;
    }
    .credit .form .date_wrap{
        width:100%;
    }
    .credit .form .date_wrap .apply_input{
        width:calc(100% - 39px);
    }
    .credit .form .calendar{
        width:40px;
        height:40px;
    }
    .credit .form .calendar_input{
        width:40px;
        height:40px;
    }
    .credit .confirm_txt{
        padding:0 10%;
    }
    .credit .credit_btn{
        width:100%;
        max-width:370px;
        height:70px;
    }
}
