@media only screen and (max-width: 768px) {
    .under .udr-bg-main {
        padding: 0;
    }
    .under .key {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        height: 250px;
        min-height: auto;
    }
    .under .key:before {
        height: 450px;
        width: 120vw;
    }
    .page-news .key:before,
    .page-contact .key:before,
    .page-contact-confirm .key:before,
    .page-contact-thanks .key:before {
        height: 310px;
    }
    .under .key .logo {
        top: 3.5%;
    }
    .under .key .key_text {
        padding-top: 0.5em;
    }
    .under .key .key_text .en {
        font-size: 22px;
    }
    .under .key .key_text .title_page {
        font-size: calc(var(--ttl_size) - 2px);
    }
    .under #toc_container {
        padding: 1em;
    }
    .under #toc_container .toc_list li {
        width: 100%;
        margin-right: 0;
    }
    .under #toc_container .toc_list li a:before {
        right: 10px;
        width: 13px;
        height: 10px;
    }
    .under h2 {
        margin-top: 50px;
        font-size: 25px;
        padding-bottom: 15px;
    }
    .under h2 span:before {
        margin-right: 10px;
    }
    .under h2 span:after {
        margin-left: 10px;
    }
    .under h3 {
        margin-bottom: 15px;
        font-size: 23px;
        padding-left: 25px;
        margin-top: 30px;
    }
    .under h3:before {
        width: 15px;
        height: 15px;
        left: 0;
        top: 11px;
    }
    .under h4 {
        margin-bottom: 10px;
        font-size: 22px;
        margin-top: 30px;
    }
    .under h5 {
        margin-bottom: 12px;
        font-size: 20px;
        margin-top: 30px;
    }
    .under h5:before {
        left: 0;
        top: 12px;
        width: 15px;
        height: 5px;
    }
    .under h6 {
        font-size: 18px;
        margin-top: 30px;
    }
    .under h6:before {
        top: 10px;
    }
    .under .imgBox.colImg3 h5 {
        margin-top: 13px;
        margin-bottom: 10px;
    }
    .under .imgBox.colImg3 h5:before {
        top: 7px;
    }
    .under .under_full_img {
        min-height: 250px;
        padding: 30px;
    }
    .under .under_full_img p.ttl {
        font-size: 18px;
    }
}

@media only screen and (max-width: 768px) {
    .under .section {
        padding-top: 40px !important;
    }
    .under .box_decor {
        padding: 20px 0;
    }
    .under .box_list {
        padding: 1.5em;
    }
    .under .box_list02 {
        padding: 1.5em 1.5em 1em;
    }
    .under .box_list.box_list03 {
        padding: 1.5em;
    }
    .under .box_list.box_link li {
        padding-left: 0;
    }
    .under .box_list.st1 {
        padding: 20px;
    }
    .under .btn-group {
        align-items: center;
    }
    .under .btn-group .btn.style01 {
        margin-bottom: 20px;
        width: 100%;
    }
    .under .btn-group.col2 {
        justify-content: space-between;
    }
    .under .btn-group.col2 .btn.style01 {
        width: calc(50% - 5px);
    }
    .under .btn-group.col3 {
        margin-left: -5px;
        margin-right: -5px;
    }
    .under .btn-group.col3 .btn.style01 {
        margin-left: 5px;
        margin-right: 5px;
        width: calc(50% - 10px);
    }
    .under .imgBox.rowImg .image_l,
    .under .imgBox.rowImg .image_r {
        float: none;
        width: auto;
        margin: 0 auto 20px;
        text-align: center;
        max-width: none;
        display: table;
    }
    .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 .list {
        align-items: center;
        justify-content: center;
    }
    .under .imgBox.colImg .item:not(:last-of-type) {
        margin-bottom: 30px;
    }
    .under .imgBox.colImg .item picture {
        margin-bottom: 10px;
    }
    .under .imgBox.colImg .text {
        font-size: 14px;
    }
    .under .imgBox.colImg2 .list,
    .under .imgBox.colImg3 .list {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    .under .imgBox.colImg2 .item,
    .under .imgBox.colImg3 .item {
        width: 100%;
    }
    .under .imgBox.colImg2 picture,
    .under .imgBox.colImg3 picture {
        height: auto;
        margin-bottom: 10px;
    }
    .under .imgBox.colImg2 img,
    .under .imgBox.colImg3 img {
        max-height: 100%;
    }
    .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 (min-resolution: 0.001dpcm) {
        @supports (-webkit-appearance: none) {
            .under .clinic_tbl02 {
                /* Safari */
            }
            .under .clinic_tbl02 td {
                border-top-width: 0;
            }
        }
    }
    .under .imgBox.colImg2 h5:before {
        top: 6px;
    }
    .under .clinic_tbl02 th:first-child {
        width: 200px;
    }
    .under #mainContent {
        padding-bottom: 90px;
        position: relative;
        z-index: 1;
    }
    .under table.rollTable {
        width: 768px;
    }
    .under table.rollTable.sm {
        width: 1000px;
    }
    .under table.tbl_style01 th {
        font-size: 16px;
        min-width: 120px;
        padding: 0.6em;
    }
    .under table.tbl_style01 td {
        padding-left: 15px;
    }
    @supports (-webkit-touch-callout: none) {
        .under table.tbl_style01 {
            /* Specific to iOS devices */
        }
        .under table.tbl_style01 tr:last-child td {
            border-bottom-width: 1.4px;
        }
    }
    @media not all and (min-resolution: 0.001dpcm) {
        @supports (-webkit-appearance: none) {
            .under table.tbl_style01 {
                /* Safari */
            }
            .under table.tbl_style01 tr:last-child td {
                border-bottom-width: 1.4px;
            }
        }
    }
    .under table.resTable {
        display: block;
        border-bottom: 1px solid #E9E9E9;
    }
    .under table.resTable tbody,
    .under table.resTable tr,
    .under table.resTable th,
    .under table.resTable td {
        display: block;
        width: 100%;
        border-bottom: 0;
    }
    .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.list01 li {
        font-size: 14px;
    }
    .under ul.list01.mcol-2 li {
        width: 100% !important;
        margin-right: 0 !important;
        padding-bottom: 9px;
        padding-right: 0;
    }
    .under ul.list03 li,
    .under ul.list02 li {
        width: 100%;
    }
    .under ul.list02 li::before {
        top: 7px;
    }
    .under .fullWidth {
        min-height: 47vw;
    }
    .under .flow_box .box {
        padding: 60px 40px;
        margin-bottom: 50px;
    }
    .under .flow_box h4 {
        margin-bottom: 12px;
        font-size: calc(var(--ttl_size) - 4px);
    }
    .under .flow_box .content p {
        font-size: 14px;
    }
    .under .faq_box .faq_num {
        width: 40px;
        font-size: 24px !important;
    }
    .under .faq_box .title .faq_tl {
        line-height: 1.5em;
    }
    .under .faq_box .title .faq_tl:before {
        left: 0.8em;
        top: 0;
        bottom: 0;
        margin: auto 0;
        font-size: 1em;
        width: 30px;
        height: 30px;
        padding-bottom: 2px;
    }
    .under .faq_box .faq_content {
        padding: 1.5em 2.5em 1.3em 4em;
    }
    .under .faq_box .faq_content::before {
        font-size: 1.5em;
        left: 0.8em;
        top: 0;
        bottom: 0;
        margin: auto 0;
        width: 30px;
        height: 30px;
        padding-bottom: 4px;
        padding-left: 1px;
    }
    .under .faq_box h4 {
        padding-right: 33px;
        width: calc(100% - 40px);
        font-size: 18px;
    }
    .under .doctor_box {
        padding: 0vw;
    }
    .under .doctor_box .doctor_name {
        bottom: 5vw;
        right: 3.5vw;
        font-size: 4vw;
        padding: 3vw 2vw;
    }
    .under .ud_map {
        height: 290px;
    }
    .under .topic_path {
        font-size: 14px;
    }
    .under .topic_path span {
        top: -1px;
    }
    .btn-group {
        margin-top: 0;
    }
    .btn-group .btn.style01 a {
        border-radius: 30px;
        letter-spacing: 0;
        padding: 0.85em 1.5em;
        font-size: 1.50625em;
    }
    .btn-group .btn.style01 a:after {
        right: 5px;
    }
    .under .flow_box {
        padding: 20px;
        border-radius: 30px;
    }
    .under .flow_box .box {
        padding: 20px;
        border-radius: 30px;
    }
    .under .flow_box .box:last-child:before {
        display: none;
    }
    .under .flow_box .box:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        top: 100%;
        width: 4px;
        height: 300px;
        background: url(../images/udr-ico-step.svg) no-repeat center;
        background-size: cover;
    }
    .under .flow_box .box .box_inner {
        flex-direction: column;
    }
    .under .flow_box .box .box_inner .point {
        width: 100%;
        min-height: auto;
        padding: 10px 10px 20px;
    }
    .under .flow_box .box .box_inner .point span {
        font-size: 40px;
        margin-top: 0;
    }
    .under .flow_box .box .box_inner .point:before,
    .under .flow_box .box .box_inner .point:after {
        display: none;
    }
    .under .faq_box {
        padding: 20px;
        border-radius: 30px;
    }
    .under .faq_box .title {
        padding: 1.8em 3em 1.8em 2em;
    }
    .under .faq_box .title.rotate:after {
        top: 0;
    }
    .under .faq_box .title:after {
        width: 14px;
        height: 14px;
        top: 0;
        right: 15px;
        bottom: 0;
        margin: auto 0;
    }
}

@media only screen and (max-width: 425px) {
    .under .under .box_list02 .stroke {
        top: 9px;
        bottom: 9px;
        left: 9px;
        right: 9px;
    }
}

@media only screen and (max-width: 375px) {
    .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: 32%;
        text-align: left;
    }
}

@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%;
    }
}


/*# sourceMappingURL=under_sp.css.map */