@media only screen and (max-width: 768px) {
  .under {
    --h3:25px;
    --h4:20px;
  }
  .under #mainContent {
    padding-bottom: 50px;
  }
  .under .key {
    height: 300px;
    background-image: url(../images/ud_key_bg_sp.jpg);
  }
  .under .key .key_text {
    padding: 10px;
  }
  .under .key h2 {
    font-size: 26px;
  }
  .under h3 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .under h3::before {
    margin-bottom: 12px;
  }
  .under h4 {
    font-size: 22px;
    padding: 10px 18px 10px;
    border-radius: 10px;
    margin-bottom: 20px;
  }
  .under h4::before {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
  }
  .under h5 {
    margin-bottom: 15px;
    font-size: 20px;
    padding-bottom: 4px;
    padding-top: 2px;
    padding-left: 12px;
  }
  .under h6 {
    margin-bottom: 10px;
    font-size: 18px;
    padding-left: 15px;
  }
  .under h6::before {
    width: 5px;
    top: 3px;
  }
}
@media only screen and (max-width: 768px) {
  .under .inner > section, .under .entry > section {
    margin-top: 20px;
  }
  .under .inner > section > h3, .under .entry > section > h3 {
    margin-top: 25px;
  }
  .under section {
    padding-top: 1px;
  }
  .under section h3 {
    margin-top: 60px;
  }
  .under .secH4 {
    margin-top: 40px;
  }
  .under .secH5 {
    margin-top: 30px;
  }
  .under .toc_list {
    padding: 15px 20px 20px;
  }
  .under .toc_list li {
    width: 100%;
    max-width: 100%;
  }
  .under .toc_list li a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .under .toc_list li a::before {
    width: 12px;
    height: 8px;
  }
  .under .imgBox.rowImg .image_l, .under .imgBox.rowImg .image_r {
    display: table;
    float: none;
    width: auto;
    margin: 0 auto 20px;
    text-align: center;
    max-width: none;
  }
  .under .imgBox.rowImg .image_l:nth-child(n), .under .imgBox.rowImg .image_r:nth-child(n) {
    max-width: none;
  }
  .under .imgBox.rowImg .txt_l, .under .imgBox.rowImg .txt_r {
    float: none;
    width: auto;
  }
  .under .imgBox.rowImg.large .image_l, .under .imgBox.rowImg.large .image_r {
    max-width: none;
  }
  .under .imgBox.rowImg.large .txt_l, .under .imgBox.rowImg.large .txt_r {
    width: auto;
  }
  .under .imgBox.colImg .item:not(:last-of-type) {
    margin-bottom: 30px;
  }
  .under .imgBox.colImg figure {
    margin-bottom: 15px;
  }
  .under .imgBox.colImg .text {
    font-size: 14px;
  }
  .under .imgBox.colImg2 .item, .under .imgBox.colImg3 .item {
    width: 100%;
  }
  .under .imgBox.colImg2 picture, .under .imgBox.colImg3 picture {
    height: auto;
    min-height: 200px;
  }
  .under .imgBox.colImg2 img, .under .imgBox.colImg3 img {
    max-height: 500px;
  }
  .under .acf_block h3 {
    margin-bottom: 0;
  }
  .under .acf_block .text_h3 {
    margin: 25px 0 0;
  }
  .under .acf_block .text_h4 {
    margin: 20px 0 0;
  }
  .under .acf_block .text_h5 {
    margin: 15px 0 0;
  }
  @supports (-webkit-touch-callout: none) {
    .under .clinic_tbl02 {
      /* Specific to iOS devices */
    }
    .under .clinic_tbl02 td {
      border-top-width: 0;
    }
  }
  @media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
    @supports (-webkit-appearance: none) {
      .under .clinic_tbl02 {
        /* Safari */
      }
      .under .clinic_tbl02 td {
        border-top-width: 0;
      }
    }
  }
  .under .clinic_tbl02 th:first-child {
    width: 150px;
  }
  .under .clinic_tbl02 th:not(:first-child) {
    width: 11%;
  }
  .under table.rollTable {
    width: 768px;
  }
  .under table.tbl_style01 th, .under table.tbl_style01 td {
    line-height: 2;
    padding: 0.625rem 0.5rem;
    letter-spacing: 0.05em;
  }
  @supports (-webkit-touch-callout: none) {
    .under table.tbl_style01 {
      /* Specific to iOS devices */
    }
    .under table.tbl_style01 tr:last-child th, .under table.tbl_style01 tr:last-child td {
      border-bottom-width: 1.4px;
    }
  }
  @media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
    @supports (-webkit-appearance: none) {
      .under table.tbl_style01 {
        /* Safari */
      }
      .under table.tbl_style01 tr:last-child th, .under table.tbl_style01 tr:last-child td {
        border-bottom-width: 1.4px;
      }
    }
  }
  .under table.resTable {
    display: block;
  }
  .under table.resTable tbody, .under table.resTable tr, .under table.resTable th, .under table.resTable td {
    display: block;
  }
  .under table.resTable td:not(:last-child) {
    border-bottom: 0;
  }
  .under table.resTable.tbl_style01.colHead tr th {
    border: 1px solid var(--main-color);
    border-bottom: none;
  }
  .under table.resTable.tbl_style01.colHead tr:not(:first-child) th {
    border-top: none;
  }
  .under table.resTable.tbl_style02.colHead th {
    border-bottom: none;
  }
  .under table.resTable.tbl_style02.colHead tr:not(:last-child) td {
    border-bottom: none;
  }
  .under .tbl_note {
    display: block;
  }
  .under ul.mcol-2 li {
    width: 100%;
    padding-bottom: 9px;
    padding-right: 0;
  }
  .under ul.list01 li {
    font-size: 14px;
    line-height: 2;
  }
  .under ul.list01 li::before {
    top: 0.65em;
  }
  .under .doctor_box {
    padding: 0vw;
  }
  .under .doctor_box .doctor_name {
    bottom: 3vw;
    right: 3vw;
    font-size: 4vw;
    padding: 3vw 2vw;
  }
  .under .doctor_box .doctor_name::before {
    width: calc(100% - 0.5em);
    height: calc(100% - 0.5em);
  }
  .under .ud_feature .feature_it {
    padding: 30px 20px;
    margin-bottom: 30px;
  }
  .under .ud_feature .feature_num {
    font-size: 16px;
  }
  .under .ud_feature h4.b_title, .under .ud_feature h5.b_title {
    margin-bottom: 10px;
  }
  .under .ud_flow .flow_it {
    padding: 25px 10px 25px 0;
  }
  .under .ud_flow .flow_it:not(:last-child)::after {
    top: 56px;
    left: 81px;
  }
  .under .ud_flow .flow_num {
    font-size: 14px;
    width: 90px;
    letter-spacing: 0;
  }
  .under .ud_flow .flow_num::after {
    margin-left: 6px;
    top: -1px;
    width: 15px;
    height: 15px;
    border-width: 4px;
  }
  .under .ud_flow .flow_cont {
    width: calc(100% - 90px);
    padding-left: 10px;
  }
  .under .ud_catch {
    padding: 20px 20px;
  }
  .under .ud_catch p {
    font-size: 18px;
  }
  .under .ud_faq {
    margin-top: 15px;
  }
  .under .ud_faq .faq_item {
    margin-bottom: 20px;
  }
  .under .ud_faq h4.faq_tl, .under .ud_faq h5.faq_tl {
    font-size: 20px;
  }
  .under .ud_faq .b_question, .under .ud_faq .b_answer {
    padding-left: 70px;
  }
  .under .ud_faq .b_question::before, .under .ud_faq .b_answer::before {
    width: 42px;
    height: 40px;
    font-size: 20px;
    left: 10px;
    padding-right: 4px;
  }
  .under .ud_faq .b_question {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-right: 30px;
  }
  .under .ud_faq .b_question::after {
    width: 15px;
    height: 7px;
    right: 10px;
  }
  .under .ud_faq .b_answer {
    margin-top: 10px;
  }
  .under .b_step {
    margin-bottom: 0;
  }
  .under .b_step .it {
    margin-right: 30px;
  }
  .under .b_step .it:not(:last-child)::after {
    right: -25px;
    width: 20px;
    height: 8px;
  }
}
@media only screen and (max-width: 450px) {
  .under .doctor_box .doctor_name {
    font-size: 4.5vw;
  }
}
@media only screen and (max-width: 375px) {
  .under .exp li .txt, .under .exp li .year {
    letter-spacing: 0.05em;
  }
  .under .imgBox.colImg2 .item, .under .imgBox.colImg3 .item {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .under .blog_post_button {
    margin-top: 50px;
  }
  .under .clinic_tbl01 th {
    width: auto;
    text-align: left;
  }
  .under .teeth_box .secH4 {
    width: 100%;
  }
}
@media only screen and (max-width: 425px) {
  .under .access_box_img01 .block:nth-child(even) .big, .under .access_box_img02 .block:nth-child(even) .big {
    order: 0;
  }
  .under .access_box_img01 .block .big, .under .access_box_img01 .block .small, .under .access_box_img02 .block .big, .under .access_box_img02 .block .small {
    width: 100%;
  }
}