.form_block{
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
}
.form_block .input_parts{
    width: auto;
}
.form_block form{
    width: 640px;
    margin: 0 auto;
}

.form_part .prefix_area .input_parts select {
    width: 162px;
}
.form_part .group{
margin-bottom: 20px;
}
.form_part .group:last-child{
    margin-bottom: 0px;
}

.form_section .btn_form{
    display: block;
    min-width: 200px;
    margin: 0 auto;
    padding: 0 20px;
}
.form_section .mail_txt{
    font-size: 16px;
}
.form_section .input_parts {
    width: auto !important;
}
.form_section .loading{
    width: 16px;
    height: 16px;
    background-image: url(../img/loding.gif);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    bottom: 0;
}

/* DEX周りの設定の差異 */
/* フォームリスト */
.list_wrap_section {
    padding: 0;
}
.list_wrap_section .form_list .data_list{
padding: 0 !important;
border-bottom: solid 1px #ccc;
}
.list_wrap_section .data_list:nth-of-type(even){
    background-color: #f9f9f9;
}
.list_wrap_section .form_list .data_list:last-child{
    border-bottom: none;
    padding:0;
}
.list_wrap_section .form_list .data_list .mdl_link{
    padding: 25px 27px 25px;
    display: block;
}

.list_wrap_section .data_list .data {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: -0.5px;
}
.list_wrap_section .data_list .data_wrap{
margin-bottom: 15px;
}
.list_wrap_section .data_list .data_wrap:last-child{
    margin-bottom: 0;
}
.list_wrap_section .data_list .subttl{

    margin-bottom: 10px;
}
.list_wrap_section .data_list .flex_area{
    justify-content: start;
    gap:10px;
}
 .data_list .tag{
    border: 1px solid #636363;
    padding: 0px 10px;
    border-radius: 3px;
    font-size: 11px;
}
.data_list .blue{
    color: #0033bb;
    border: 1px solid #0033bb;
}
.confirmation_page{
    width: 800px;
}

.user_no_data {
    padding: 100px 0;
    text-align: center;
    font-size: 14px;
    color: #999;
    font-family: 'ヒラギノ角ゴ Pro W6', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.modal_box{
    width: calc(100% + 17px);
    margin-right: -17px;
}

/*認証コード周り追加*/
.step_2_block,.step_3_block{
    display:none;
    /* width: 490px; */
    /* margin: 0 auto; */
}

.validationmailcode{
    /* display: none; */
    width: 400px;
    margin: 0 auto;
    padding-top: 30px;
}

.passwordinput{
    /* display: none; */
    width: 640px;
    margin: 0 auto;
}

.form_block .formdisp_btn_area{
padding:30px 0 25px;
}

.form_block .formdisp_btn_blue{
    width:158px;
    height:41px;
    line-height:41px;
    border-radius: 42px;
    font-size:16px;
    background-color:#003EE5;
    color:#FFF;
    padding: 0;
    margin: 0 2px;
    cursor: pointer;
}

.form_block .formdisp_btn_blue:hover{
opacity:.6;
}

.form_block .formdisp_btn_blue.btn_form{
    margin: 0 auto;
}

.form_block .formdisp_btn_blue_reverse{
    width:158px;
    height:41px;
    line-height:41px;
    border-radius: 42px;
    font-size:16px;
    color:#1A1A1C;
    border:1px solid #757578;
    background-color:#FFF;
    padding: 0;
    text-align: center;
    margin: 0 2px;
    cursor: pointer;
}

.form_block .formdisp_btn_blue_reverse:hover{
    opacity:.6;
    }

.formdisp_btn_blue_end{
    margin: 30px auto;
    height: 41px;
    line-height: 39px;
    border-radius: 42px;
    font-size: 16px;
    color: #1A1A1C;
    border: 1px solid #757578;
    background-color: #FFF;
    padding: 0;
    text-align: center;
    cursor: pointer;
    display: inline-block;
    padding: 0 25px;
}

.alreadyloginuser_link {
padding-top:10px;
}

.alreadyloginuser_link a{
    color: #3d4aec;
    text-decoration: underline;
}


.formdisp_btn_blue_end:hover{
    opacity:.6;
}

.validationmailcode_resend{
    display: block;
    text-align:center;
    font-size: 16px;
    padding-bottom: 20px;
    text-decoration: underline;
    cursor: pointer;
}

.validationmailcode_caution{

    text-align: center;
    padding: 30px 0 0;
}

.validationmailcode .btn_area .btn_form{
    float: none;
    margin: 0 auto 35px;
    width: 200px;
    margin: 0;
}

.name_hide .display_Name_1{
    display: none;
}
.form_header{
    height:56px;
    border-bottom:1px solid #D8D8DB;
}
.form_header .logo {
    display: flex;
    align-items: center;
    padding-left:20px;
}
.form_header .logo img{
    opacity: 1;
    max-width: 243px;
    height:56px;
    padding: 6px 0px;
    object-fit: contain;
    object-position: left;
}

.form_block .form_block .form_ttl_area {
    margin-bottom:10px;
}


.form_block .form_step{
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    padding:0px 0 50px;
    text-align: center;
  }

  .form_block .form_step_one {
    width:120px;
    background-image:url(../../../../sb-admin/img/icons/icn_aicheck_off.svg);
    background-repeat: no-repeat;
    background-size: 24px auto;
    background-position: 50% 0;
    padding-top:30px;
    font-size:12px;
    line-height:16px;
    position: relative;
    height: auto;
  }

  .form_block .form_step_one.on {
    background-image:url(../../../../sb-admin/img/icons/icn_aicheck.svg);
  }

  .form_block .form_step_one:last-child::after{
    display:none;
  }
  .form_block .form_step_one::after{
    content: "";
    position: absolute;
    top: 10px;
    right: -33px;
    width: 70px;
    background-image: linear-gradient(to right, #D8D8DB 2px, transparent 2px);
    background-size: 5px 2px;
    background-repeat: repeat-x;
    background-position: bottom;
    height: 2px;
  }
  .form_block .form_step_one.on::after{
    background-image: linear-gradient(to right, #003EE5 2px, transparent 2px);
  }


  .snackbar_validationCode{
    display:none;
    position:fixed;
    bottom:10px;
    left:50%;
    margin-left:-110px;
    width: 100%;
  }

  .snackbar_validationCode p{
    text-align: center;
    width: 220px;
    border-radius: 20px;
    line-height: 36px;
    height: 36px;
    font-size: 12px;
    background-color: #000;
    color: #FFF;
  }
  .form_block form{
    padding-bottom: 80px;
  }

  .form_section .input_parts input[type="checkbox"] + label, .form_section .input_parts input[type="radio"] + label{
    display: block;
    white-space: initial;
  }

@media screen and (max-width: 767px) {
    .form_block form {
        padding-bottom: 50px;
    }
    .visitor_info .form_section .form_list li,
   .visitor_info .form_section .form_list li:last-child{
    padding: 20px 0;
    border: none;
    }
    .form_section .input_parts input[type=checkbox] + label, .form_section .input_parts input[type=radio] + label{
        word-wrap: break-word;
        white-space: inherit;
    }
    .form_header .logo img {
        width: 192.32px;
    }
    .form_block .form_step_one {
        width: 80px;
        font-size: 10px;
        padding: 30px 7px 0 7px;
    }

    .form_block .form_step_one br{
        display:none;
    }

    .form_block .form_step_one::after {
        right: -10px;
        width:20px;
    }


    .validationmailcode .btn_area .btn_form{
       margin-top:20px;
    }

    .validationmailcode{
        width: 100%;
    }

    .form_block .formdisp_btn_area {
        width: 265px;
        margin: 0 auto;
    }

    .form_block .formdisp_btn_blue{
        width:120px;
        height:41px;
        line-height:41px;
        border-radius: 42px;
        font-size:14px;
    }


    .form_block .formdisp_btn_blue_reverse{
        width:120px;
        height:41px;
        line-height:41px;
        border-radius: 42px;
        font-size:14px;
    }

    .validationmailcode_resend{
        font-size: 14px;
    }



    .passwordinput{
        width: 100%;
    }

    .form_block form{
        width: 100%;
        margin: 0 auto;
    }
    .form_part .prefix_area{
        display: block;
    }
    .form_part .prefix_area .input_parts input,
    .form_part .prefix_area .input_parts select{
       width: 100% !important;
    }
    .form_part .prefix_area .group{
        margin-bottom: 10px;
    }
    .form_part .prefix_area .group:last-child{
        margin-bottom: 0;
    }
    .form_section .input_ttl{
        display: flex;
        flex-wrap: wrap;
    }
    .form_section .input_ttl .input_name{
        margin-right: 10px;
        line-height: 30px;
    }
    .form_section .input_ttl .label_icon{
        position: static;
    }
    .form_section .btn_area{
        flex-direction: column;
    }

    .step_2_block, .step_3_block{
        width: 100%;
    }
    #top .form_section .btn_area_wrap .btn_form.vertical, #visitor_offer .form_section .btn_area_wrap .btn_form.vertical{
        width: 100%;
    }

}