@media only screen and (max-width: 1000px) and (min-width: 769px) {
  .under .toc_list li, .under ul.list01.mcol-2.mcol li {
    width: 100% !important;
  }
  .under ul.mcol-2.full li {
    width: 100% !important;
  }
  .under ul.mcol-2.full li:nth-child(n+2) {
    margin-top: 1em;
  }
  .under .toc_list li a::before {
    top: 1.3em;
  }
}
/* ==========================================================================
   SP (<=768px)
   ========================================================================== */
@media only screen and (max-width: 768px) {
  .under {
    --h3: 40px;
    --h4: 40px;
    --h5: 40px;
  }
  .under #mainContent {
    padding-bottom: 50px;
  }
  .under .key {
    height: auto;
  }
  .under .key .key_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 8px;
    width: calc(100% - 4em);
  }
  .under .key .key_catch {
    width: 100%;
    padding-top: 2.6em;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .under .key .txt_address {
    margin-left: auto;
    margin-right: auto;
  }
  .under .key .key_text {
    width: 100%;
    padding: 20px;
    height: 240px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 30px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .under .key .key_text h2 {
    font-size: var(--ttl_size);
    text-align: center;
  }
  .under h3 {
    font-size: calc(var(--ttl_size) - 2px);
    padding-bottom: 20px;
    background-size: 40px auto;
    margin-bottom: 20px;
  }
  .under h4 {
    font-size: calc(var(--ttl_size) - 4px);
    background-size: cover;
    margin-bottom: 25px;
  }
  .under h5 {
    font-size: calc(var(--ttl_size) - 6px);
  }
  .under h6 {
    font-size: calc(var(--ttl_size) - 8px);
  }
  .under h6:after {
    top: 8px;
  }
  .under .sp {
    display: block;
  }
  .under .tt_spec, .under .tt_spec02 {
    font-size: 18px;
  }
  .under {
    /* Layout */
  }
  .under .inner > section,
  .under .entry > section {
    margin-top: 50px;
  }
  .under .inner > section:first-child,
  .under .entry > section:first-child {
    margin-top: 60px;
  }
  .under {
    /* TOC */
  }
  .under .toc_list {
    padding: 10px 20px;
  }
  .under .toc_list li {
    width: 100%;
    max-width: 100%;
  }
  .under .toc_list li:nth-last-child(2) {
    border-bottom: #e1e1e1 1px solid !important;
  }
  .under .toc_list li:last-child {
    border-bottom: none;
  }
  .under .toc_list li a {
    padding: 0.8em 0 0.8em 2.5em;
  }
  .under .toc_list li a:before {
    top: 1.1em;
    width: 16px;
    height: 16px;
  }
  .under .topic_path {
    padding: 20px 0 30px !important;
  }
  .under .topic_path a{
    padding-right: 11px;
    margin-right: 8px;
  }
  .under {
    /* Images */
  }
  .under .imgBox.rowImg .image_l,
  .under .imgBox.rowImg .image_r {
    display: table;
    float: none;
    width: auto;
    max-width: none;
    margin: 0 auto 20px;
    text-align: center;
  }
  .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 */
  }
  .under .acf_block h3 {
    margin-bottom: 0;
  }
  .under .acf_block .text_h3 {
    margin-top: 25px;
  }
  .under .acf_block .text_h4 {
    margin-top: 20px;
  }
  .under .acf_block .text_h5 {
    margin-top: 15px;
  }
  .under {
    /* Tables */
  }
  .under .clinic_tbl01 th {
    width: 150px;
    text-align: left;
    font-size: 16px;
  }
  @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: 200px;
  }
  .under table.rollTable {
    width: 768px;
  }
  .under table.tbl_style01 th,
  .under table.tbl_style01 td {
    line-height: 1.8;
    padding: 0.5em;
  }
  .under table.tbl_style01 th {
    font-size: 16px;
  }
  @supports (-webkit-touch-callout: none) {
    .under table.tbl_style01 {
      /* Specific to iOS devices */
    }
  }
  @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.resTable {
    display: block;
  }
  .under table.resTable tbody,
  .under table.resTable tr,
  .under table.resTable th,
  .under table.resTable td {
    display: block;
    width: 100%;
  }
  .under table.resTable tr:not(:last-child) td {
    border-bottom: none;
  }
  .under table.resTable.tbl_style01.colHead tr th {
    border-bottom: 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 {
    /* List */
  }
  .under ul.list01 {
    padding: 20px;
    border-width: 5px;
    border-radius: 20px;
  }
  .under ul.list01.no_bg li:before {
    top: 6px;
  }
  .under ul.list01 li {
    margin-top: 0 !important;
    font-size: 16px !important;
  }
  .under ul.list01 li::before {
    top: 6px;
    width: 18px;
    height: 18px;
  }
  .under ul.list01 li:last-child {
    padding-bottom: 0 !important;
  }
  .under ul.list01.mcol-2 li {
    width: 100%;
    padding-right: 0;
    padding-bottom: 9px;
  }
  .under .box_spec {
    max-width: 100%;
    padding: 20px 5%;
    font-size: min(18px, 4.5vw);
  }
  .under {
    /* Doctor */
  }
  .under .doctor_box {
    padding: 0;
  }
  .under .doctor_box .doctor_name {
    right: 1.5vw;
    bottom: 1.5vw;
    padding: 3vw;
    font-size: 3vw;
  }
  .under .doctor_box2 {
    border-width: 5px;
    padding: 20px;
  }
  .under .doctor_box2 .content {
    width: 100%;
  }
  .under {
    /* Blog */
  }
  .under .blog_post_button {
    margin-top: 50px;
  }
  .under {
    /* Step */
  }
  .under .box_step {
    padding: 50px 0;
    margin-bottom: 50px;
  }
  .under .box_step.no_step .step_item {
    margin-bottom: 25px;
  }
  .under .box_step .step_item {
    padding: 105px 20px 20px;
    margin-bottom: 40px;
  }
  .under .box_step .step_item:after {
    bottom: -20px;
  }
  .under .box_step .step_item .tt_step {
    padding-bottom: 10px;
    margin-bottom: 15px;
    background-position: center bottom;
  }
  .under .box_step .step_item .tt_step .item {
    width: 80px;
    height: 80px;
    font-size: 14px;
    background-size: 100% auto;
    top: 15px;
    left: calc(50% - 30px);
  }
  .under .box_step .step_item .tt_step .item .num {
    font-size: 28px;
  }
  .under .box_step .step_item .tt_step .title {
    font-size: 20px;
    line-height: 1.4;
    text-align: center;
  }
  .under .box_step .step_item .tt_step h4.title {
    font-size: 22px;
  }
  .under .box_step .box_h4 {
    margin-top: 25px;
  }
  .under {
    /* QA */
  }
  .under .faq_box .box {
    margin-bottom: 20px;
  }
  .under .faq_box .accBtn {
    padding: 20px;
  }
  .under .faq_box .accBtn .ttl {
    font-size: 20px;
    padding: 0 20px 0 50px;
  }
  .under .faq_box .accBtn .ttl:before {
    font-size: 22px;
    width: 38px;
    height: 38px;
    padding-bottom: 4px;
  }
  .under .faq_box .accBtn .ttl:after {
    width: 38px;
    height: 38px;
  }
  .under .faq_box .content {
    padding-left: 70px;
  }
  .under .faq_box .content:after {
    font-size: 22px;
    width: 38px;
    height: 38px;
    padding-bottom: 4px;
    left: 20px;
  }
  .under .sitemap > ul > li .title {
    padding: 0 0 0 30px;
    font-size: 24px;
  }
  .under .sitemap > ul > li .lv2.small .title {
    padding-left: 0;
    font-size: 20px;
  }
  .under .sitemap > ul > .lv2 > ul {
    padding-left: 1em;
  }
  .under .sitemap > ul > li li a {
    padding: 10px 0 10px 25px;
    letter-spacing: 0;
  }
  .under .sitemap > ul > li li a:before {
    left: 0;
    top: 25px;
  }
  .under.page-feature .secH4 {
    padding: 20px;
  }
}
/* ==========================================================================
   <=430px
   ========================================================================== */
@media only screen and (min-width: 431px) {
  .sp430 {
    display: none !important;
  }
}
@media only screen and (max-width: 430px) {
  .under .key br.cus {
    display: block;
  }
  .under .exp li .year {
    width: 125px;
    min-width: inherit;
  }
  .under .exp li .txt {
    width: calc(100% - 125px);
  }
  .under .clinic_tbl01 th {
    text-align: left;
  }
  .sp430 {
    display: block !important;
  }
}
/* ==========================================================================
   <=425px
   ========================================================================== */
@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 {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            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%;
  }
}
/* ==========================================================================
   <=375px
   ========================================================================== */
@media only screen and (max-width: 375px) {
  .under .imgBox.colImg2 .item, .under .imgBox.colImg3 .item {
    width: 100%;
  }
  .under .sitemap > ul > li .lv2.small .title {
    font-size: 20px;
  }
  .under .key .key_text h2 {
    letter-spacing: 0;
  }
}
/*INTERVIEW PAGE*/
@media only screen and (max-width: 768px) {
  .under.page-interview {
    counter-reset: count;
  }
  .under.page-interview .key {
    height: 450px;
  }
  .under.page-interview .key .key_text {
    padding: 10px 10px 5vh;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .under.page-interview .key .catch {
    font-size: min(0.625em, 3vw);
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .under.page-interview .key .catch .idx_en,
  .under.page-interview .key .catch h2 {
    margin-left: auto;
    margin-right: auto;
  }
  .under.page-interview .key .catch h2,
  .under.page-interview .key .catch p {
    text-align: center;
  }
  .interview_catch {
    margin-top: 0;
    margin-bottom: 50px;
  }
  .interview_catch p {
    font-size: 18px;
    line-height: 1.4;
  }
  .interview_content, .interview_img {
    display: table;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }
  .interview_img {
    margin-bottom: 35px;
  }
  .interview_img::before {
    content: counter(count, decimal-leading-zero);
    counter-increment: count;
  }
  .interview_img:before {
    font-size: 5em;
    padding: 0 0.2em 0.1em;
  }
  .interview_box {
    margin-bottom: 50px;
  }
  .interview_box.box_left .interview_content {
    margin-left: auto;
  }
  .interview_box.box_right .interview_content {
    margin-right: auto;
  }
}