@media screen and (max-width: 767.999px) {
  #main_img_area {
    height: 64vw;
    padding: 28.7vw 0 0 30px;
  }
  #contact_page .contact_contents {
    padding: 50px 30px 72px;
  }
  #contact_page .contact_contents #form_step {
    width: 260px;
  }
  #contact_page .contact_contents #form_step li {
    width: 48px;
    height: 48px;
  }
  #contact_page .contact_contents .description {
    margin-top: 57px;
    line-height: 1.71;
  }
  #contact_page .contact_contents #thanks {
    padding: 80px 0 50px;
  }
  #contact_page .contact_contents .form_data,
  #contact_page .contact_contents #mfp_confirm_table {
    margin-top: 59px;
  }
  #contact_page .contact_contents .form_data table,
  #contact_page .contact_contents .form_data tbody,
  #contact_page .contact_contents .form_data tr,
  #contact_page .contact_contents .form_data th,
  #contact_page .contact_contents .form_data td,
  #contact_page .contact_contents #mfp_confirm_table table,
  #contact_page .contact_contents #mfp_confirm_table tbody,
  #contact_page .contact_contents #mfp_confirm_table tr,
  #contact_page .contact_contents #mfp_confirm_table th,
  #contact_page .contact_contents #mfp_confirm_table td {
    display: block;
    text-align: left;
    width: 100%;
  }
  #contact_page .contact_contents .form_data th,
  #contact_page .contact_contents #mfp_confirm_table th {
    margin-top: 35px;
  }
  #contact_page .contact_contents .form_data th .require,
  #contact_page .contact_contents #mfp_confirm_table th .require {
    display: inline-block;
    margin-left: 5px;
  }
  #contact_page .contact_contents .form_data tr.mfp_colored,
  #contact_page .contact_contents #mfp_confirm_table tr.mfp_colored {
    background: #FFFFFF;
  }
  #contact_page .contact_contents .form_data tr:nth-of-type(1) th,
  #contact_page .contact_contents #mfp_confirm_table tr:nth-of-type(1) th {
    margin-top: 0;
  }
  #contact_page .contact_contents .form_data td,
  #contact_page .contact_contents #mfp_confirm_table td {
    margin-top: 17px;
  }
  #contact_page .contact_contents .form_data td input[type=text],
  #contact_page .contact_contents .form_data td input[type=tel],
  #contact_page .contact_contents .form_data td input[type=email],
  #contact_page .contact_contents .form_data td input[type=number],
  #contact_page .contact_contents .form_data td select,
  #contact_page .contact_contents .form_data td textarea,
  #contact_page .contact_contents #mfp_confirm_table td input[type=text],
  #contact_page .contact_contents #mfp_confirm_table td input[type=tel],
  #contact_page .contact_contents #mfp_confirm_table td input[type=email],
  #contact_page .contact_contents #mfp_confirm_table td input[type=number],
  #contact_page .contact_contents #mfp_confirm_table td select,
  #contact_page .contact_contents #mfp_confirm_table td textarea {
    padding: 12px;
    font-size: 1.6rem;
    box-sizing: border-box;
    width: 100%;
    height: 60px;
    border-radius: 4px;
  }
  #contact_page .contact_contents .form_data td input[type=text].name,
  #contact_page .contact_contents .form_data td input[type=tel].name,
  #contact_page .contact_contents .form_data td input[type=email].name,
  #contact_page .contact_contents .form_data td input[type=number].name,
  #contact_page .contact_contents .form_data td select.name,
  #contact_page .contact_contents .form_data td textarea.name,
  #contact_page .contact_contents #mfp_confirm_table td input[type=text].name,
  #contact_page .contact_contents #mfp_confirm_table td input[type=tel].name,
  #contact_page .contact_contents #mfp_confirm_table td input[type=email].name,
  #contact_page .contact_contents #mfp_confirm_table td input[type=number].name,
  #contact_page .contact_contents #mfp_confirm_table td select.name,
  #contact_page .contact_contents #mfp_confirm_table td textarea.name {
    width: calc(100% - 40px);
  }
  #contact_page .contact_contents .form_data td input[type=text].zip_input,
  #contact_page .contact_contents .form_data td input[type=tel].zip_input,
  #contact_page .contact_contents .form_data td input[type=email].zip_input,
  #contact_page .contact_contents .form_data td input[type=number].zip_input,
  #contact_page .contact_contents .form_data td select.zip_input,
  #contact_page .contact_contents .form_data td textarea.zip_input,
  #contact_page .contact_contents #mfp_confirm_table td input[type=text].zip_input,
  #contact_page .contact_contents #mfp_confirm_table td input[type=tel].zip_input,
  #contact_page .contact_contents #mfp_confirm_table td input[type=email].zip_input,
  #contact_page .contact_contents #mfp_confirm_table td input[type=number].zip_input,
  #contact_page .contact_contents #mfp_confirm_table td select.zip_input,
  #contact_page .contact_contents #mfp_confirm_table td textarea.zip_input {
    width: 150px;
    margin-left: 10px;
  }
  #contact_page .contact_contents .form_data td input[type=text].year,
  #contact_page .contact_contents .form_data td input[type=tel].year,
  #contact_page .contact_contents .form_data td input[type=email].year,
  #contact_page .contact_contents .form_data td input[type=number].year,
  #contact_page .contact_contents .form_data td select.year,
  #contact_page .contact_contents .form_data td textarea.year,
  #contact_page .contact_contents #mfp_confirm_table td input[type=text].year,
  #contact_page .contact_contents #mfp_confirm_table td input[type=tel].year,
  #contact_page .contact_contents #mfp_confirm_table td input[type=email].year,
  #contact_page .contact_contents #mfp_confirm_table td input[type=number].year,
  #contact_page .contact_contents #mfp_confirm_table td select.year,
  #contact_page .contact_contents #mfp_confirm_table td textarea.year {
    width: 50%;
  }
  #contact_page .contact_contents .form_data td input[type=text].month, #contact_page .contact_contents .form_data td input[type=text].day,
  #contact_page .contact_contents .form_data td input[type=tel].month,
  #contact_page .contact_contents .form_data td input[type=tel].day,
  #contact_page .contact_contents .form_data td input[type=email].month,
  #contact_page .contact_contents .form_data td input[type=email].day,
  #contact_page .contact_contents .form_data td input[type=number].month,
  #contact_page .contact_contents .form_data td input[type=number].day,
  #contact_page .contact_contents .form_data td select.month,
  #contact_page .contact_contents .form_data td select.day,
  #contact_page .contact_contents .form_data td textarea.month,
  #contact_page .contact_contents .form_data td textarea.day,
  #contact_page .contact_contents #mfp_confirm_table td input[type=text].month,
  #contact_page .contact_contents #mfp_confirm_table td input[type=text].day,
  #contact_page .contact_contents #mfp_confirm_table td input[type=tel].month,
  #contact_page .contact_contents #mfp_confirm_table td input[type=tel].day,
  #contact_page .contact_contents #mfp_confirm_table td input[type=email].month,
  #contact_page .contact_contents #mfp_confirm_table td input[type=email].day,
  #contact_page .contact_contents #mfp_confirm_table td input[type=number].month,
  #contact_page .contact_contents #mfp_confirm_table td input[type=number].day,
  #contact_page .contact_contents #mfp_confirm_table td select.month,
  #contact_page .contact_contents #mfp_confirm_table td select.day,
  #contact_page .contact_contents #mfp_confirm_table td textarea.month,
  #contact_page .contact_contents #mfp_confirm_table td textarea.day {
    width: 25%;
  }
  #contact_page .contact_contents .form_data td textarea,
  #contact_page .contact_contents #mfp_confirm_table td textarea {
    height: 245px;
  }
  #contact_page .contact_contents .form_data td .name_area p,
  #contact_page .contact_contents #mfp_confirm_table td .name_area p {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  #contact_page .contact_contents .form_data td .name_area p:nth-of-type(1),
  #contact_page .contact_contents #mfp_confirm_table td .name_area p:nth-of-type(1) {
    margin-left: 0;
  }
  #contact_page .contact_contents .form_data td .name_area .mfp_err,
  #contact_page .contact_contents #mfp_confirm_table td .name_area .mfp_err {
    width: 100%;
  }
  #contact_page .contact_contents .form_data td .birth_area,
  #contact_page .contact_contents #mfp_confirm_table td .birth_area {
    display: flex;
    align-items: center;
  }
  #contact_page .contact_contents .form_data td .birth_area input,
  #contact_page .contact_contents #mfp_confirm_table td .birth_area input {
    margin-right: 8px;
  }
  #contact_page .contact_contents .form_data td .birth_area input:nth-of-type(n+2),
  #contact_page .contact_contents #mfp_confirm_table td .birth_area input:nth-of-type(n+2) {
    margin-left: 16px;
  }
  #contact_page .contact_contents .form_data td .pref,
  #contact_page .contact_contents .form_data td .addr01,
  #contact_page .contact_contents .form_data td .addr02,
  #contact_page .contact_contents .form_data td .addr03,
  #contact_page .contact_contents #mfp_confirm_table td .pref,
  #contact_page .contact_contents #mfp_confirm_table td .addr01,
  #contact_page .contact_contents #mfp_confirm_table td .addr02,
  #contact_page .contact_contents #mfp_confirm_table td .addr03 {
    margin-top: 16px;
  }
  #contact_page .contact_contents .agree {
    text-align: left;
    margin-top: 20px;
  }
  #contact_page .contact_contents .agree label {
    display: flex;
    justify-content: center;
    white-space: normal;
    align-items: flex-start;
  }
  #contact_page .contact_contents .agree input[type=checkbox] {
    transform: scale(1.5);
    margin-right: 16px;
  }
  #contact_page .contact_contents .agree a {
    color: #002e8c;
    position: relative;
    padding-right: 18px;
    margin: 0 0.35em 0 0.25em;
  }
  #contact_page .contact_contents .agree a::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50px;
    background: #002e8c;
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
  }
  #contact_page .contact_contents .agree a::after {
    content: "";
    display: block;
    width: 4px;
    height: 4px;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%) rotate(45deg);
  }
  #contact_page .contact_contents button {
    margin: 61px auto 0;
    width: 270px;
    padding: 20px 0 17px;
    font-size: 1.6rem;
    border-radius: 40px;
  }
  #contact_page .contact_contents button:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
  #contact_page .contact_contents .mfp_buttons {
    display: flex;
    justify-content: center;
    flex-direction: column-reverse;
  }
  #contact_page .contact_contents .mfp_buttons button {
    margin: 61px 15px 0;
  }
  #contact_page .contact_contents .mfp_buttons button#mfp_button_send {
    margin-top: 20px;
  }
  #contact_page .contact_contents .mfp_buttons button#mfp_button_cancel::after {
    border-right: none;
    border-top: none;
    border-left: 1px solid #FFFFFF;
    border-bottom: 1px solid #FFFFFF;
    position: absolute;
    top: 50%;
    left: 40px;
  }
}
