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

    body {
        font-size: 12px;
    }

    h1{
        font-size: 20px;
    }
    h2{
        font-size: 18px;
    }
    h3{
        color: #595959;
        font-size: 20px;
    }
    .plan_area{
        width: auto;
        float: none;
    }
    .img_ctr_pc{
        display: none;
    }
    .img_ctr_sp{
        display: block;
    }

    .header_logo{
        width: auto;
        text-align: left;
    }
    .header_logo img{
        width: auto;
        max-width: 180px;
    }
    .header_txt{
        font-size: 20px;
        font-weight: bold;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    #navi{
        height: auto;
        background-color: #44c680;
        padding: 0;
    }
    .navi_in{
        padding: 0;
    }
    .navi_in img{
        position: relative;
        top:5px;
    }
    div#contents {
        text-align: left;
        margin: 0 auto;
        padding: 0;
    }
    #contents_in {
        width: auto;
        margin: 0;
        padding:10px 5px 5px 5px;
    }

    .plan_navi{
        position: relative;
        top:0;
        width: auto;
        height: auto;
    }
    .plan_navi_in{
        width: auto;
    }
    .new_plan_select{
        border: none;
        padding: 0;
        text-align: center;
        width: auto;
        position: relative;
        bottom: 0;
    }
    .new_plan_select_in{
        position: relative;
        bottom: 0;
    }
    #input_area{
        position: relative;
        bottom: 0;
    }
    #plan_super_area{
        display: flex;
    }
    #plan_super_area{
        flex-direction: column-reverse;
    }
    .form_main_contents{
        width: auto;
    }
    .r_table{
        font-size: 13px;
    }
    .ft{
        background-color: #ccc;
        color: #222;
        font-size: 14px;
        font-weight: bold;
        padding-left: 10px;

        padding-top: 15px;
        padding-bottom: 15px;

    }
    .fd{
        font-size: 14px;
        padding-left: 20px;

        padding-top: 15px;
        padding-bottom: 15px;

    }

    select{
        max-width: 95%;
    }
    input[type="text"],input[type="tel"],input[type="password"]{
        width: 90%;
    }
    .desc{
        font-size: 10px;
        display: inline-block;
    }

    dt.login_dt {
        color: #595959;
        font-weight: bold;
        text-align: left;
        padding: 0 14px;
        font-size: 18px;
        float: none;
    }

    dd.login_dd {
        text-align: left;
        margin-left: 0;
        padding: 5px 14px;
        font-size: 12px;
    }
    #5g_x11_txt_br{
        display: block;
    }
    #5g_l12_txt_br{
        display: block;
    }
    #5g_x11_txt_br2{
        display: block;
    }
    #5g_l12_txt_br2{
        display: block;
    }
    label.plan_label {
        width: 47%;

    }
    label.plan_label_wide {
        width: 94%;

    }
    label.plan_label_left{
        padding-right: 0;

    }
    label.label_option_n{
        position: relative;
        bottom: 10px;
    }
    #globalNavi{
        display: none;
    }
    .form_main_box{
        width: 99%;
    }
    /*
    .support_box{
        width: 47%;
        padding: 20px 10px 10px 10px;
        background-color: #fff;
        margin: 0;

    }*/
    .selectBox {
        max-width: 400px;
        width: auto;
        padding: 20px 5px 5px 5px;

    }
    .selectBox-wide {

    }
    .selectBox-plan {
        min-height: 150px;
    }
    .selectBox-option{
        min-height: 180px;

    }
    .selectBox-option-n{
        position: relative;
        bottom: 10px;
    }
    #support_1_mess{
        position: relative;
        top:26px;
    }
    #protect_1_mess{
        position: relative;
        top:26px;
    }
    .support_label{
        width: 35%;
    }
    .planName {
        font-size: 12px;
        padding-top: 22px;
        padding-bottom: 10px;

    }
    .planName_option{
        font-size: 8.5px;
        padding-top: 18px;
    }
    .terminal_detail{
        font-size: 70%;
        padding: 5px;
    }
    .option_img{
        padding-top: 20px;
    }
    .option_img img{
        max-height: 30px;
    }

    .plan_amount_txt{
        font-size: 18px;
    }

    #n_area_00{
        display: none;
    }
    #n_area_01{
        display: none;
    }
    #n_area_02{
        display: none;
    }
    #n_area_10{
        display: block;
    }
    #n_area_11{
        display: block;
    }
    #n_area_12{
        display: block;
    }
    #wi_img_normal{
        display: none;
    }
    #wi_img_sp{
        display: block;
    }

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

    }
    @media screen and (max-width:530px){
        .plan_amount_other_txt{
            font-size: 22px;
        }

    }

    li.ele_form_list.step_list1::after,li.ele_form_list.step_list2::after,li.ele_form_list.step_list3::after{
        display: block;
        position: absolute;
        content: '';
        background-color: #cccccc;
        width: 55%;
        height: 3px;
        top: 20px;
        right: -32px;
    }
    input.birth_input {
        width: 16%;
    }
    input.expire_input{
        width: 30%;
    }


    dt.form-table-item {
        padding: 5px 5px;
        font-size: 12px;
    }
    dd.form-table-detail_2 {
        padding: 4px 4px;
        font-size: 10px;
    }
    .must_or{
        display: none;
    }
    .must_gr{
        display: none;
    }
    .plan_chk_area{
        border: none;
        padding: 0;
        padding-bottom: 20px;
    }


    #firstname,#lastname,#firstname-kana,#lastname-kana{
        width: 65%;
    }
    #name_area_br_0,#name_area_br_1{
        display: block;
    }
    #pass_area_br_0{
        display: block;
    }
    .mypage_menu_txt{
        display: none;
    }

    /**以下追加**/

    .popup {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transition: .6s;
    }
    .popup.is-show {
        opacity: 1;
        visibility: visible;
    }
    .popup-inner {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        width: 100%;
        max-width: 750px;
        padding: 0;
        padding-bottom: 50px;
        padding-top: 50px;
        background-color: #fff;
        z-index: 2;
        overflow: auto;
        height: 90%;
    }
    .popup-inner img {
        width: 100%;
    }

    #saitan_img{
        display: block;
    }

    .pulse-btn::before, .pulse-btn::after {
        width: auto;

    }
    label{
        padding-right: 0;
    }

    #plan_img_50gb_y,#plan_img_50gb_w,#plan_img_100gb_y,#plan_img_100gb_w,#plan_img_200gb_y,#plan_img_200gb_w{
        width: auto;
        margin: 0 auto;
    }

    #plan_img_esim_y,#plan_img_esim_w,#plan_img_sim_y,#plan_img_sim_w{
        width: auto;

    }
    #plan_img_set_y,#plan_img_set_w{
        width: auto;

    }
    .plan_img_in{
        /*height:75px;*/
    }
    #esim_info_img,#support_info_img,#protect_info_img,#unext_info_img,#cradle_info_img,#terminal_info_img,#terminal_info2_img{
        width: auto;
        margin: 0 auto;
    }
    dd.line_padding{
        padding-top: 5px;
    }

    #terminal_info_img{
        display: none;
    }
    #terminal_info_img_sp{
        display: block;
    }
}