@media only screen and (max-width: 768px) {
    .under .key {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        height: 300px;
        padding-top: 70px;
    }
    .under .key .key_text .en {
        font-size: 22px;
    }
    .under .key .key_text .title_page {
        font-size: 26px;
        letter-spacing: 0.05em;
        padding: 10px;
    }
    .under #toc_container {
        padding: 20px 30px 38px;
    }
    .under #toc_container .toc_list li {
        width: 100%;
        margin: 0 auto;
    }
    .under h2 {
        margin-top: 50px;
        font-size: 28px;
    }
    .under h3 {
        margin-bottom: 15px;
        font-size: 26px;
    }
    .under h3:before {
        left: 15px;
        top: 13px;
        width: 3px;
        height: 25px;
    }
    .under h4 {
        margin-bottom: 10px;
        font-size: 24px;
    }
    .under h5 {
        margin-bottom: 12px;
        font-size: 22px;
    }
}

@media only screen and (max-width: 768px) {
    .under .section {
        padding-top: 40px;
    }
    .under .box_decor {
        padding: 20px 0;
    }
    .under .box_list {
        padding: 1.5em;
    }
    .under .box_list02 {
        padding: 1.5em;
    }
    .under .box_list.box_list03 {
        padding: 1.5em;
    }
    .under .box_list.box_link li {
        padding-left: 0;
    }
    .under .box_list.st1 {
        padding: 30px 10px;
    }
    .under .btn-group {
        align-items: center;
        margin-top: 0;
    }
    .under .btn-group .btn.style01 {
        margin-bottom: 20px;
        width: 100%;
    }
    .under .btn-group .btn.style01 a {
        font-size: 14px;
    }
    .tbl-heath .w-tbl {
        width: 5%;
        min-width: auto !important;
    }
    .tbl-heath th,
    .tbl-heath td {
        font-size: 14px !important;
    }
    .under .btn-group .btn.style01 a:after {
        width: 18px;
        height: 9px;
        right: 0.5em;
    }
    .under ul.list01 li::before {
        top: 12px;
    }
    .under .btn-group.col2 {
        justify-content: center;
        margin-left: -5px;
        margin-right: -5px;
    }
    .under .btn-group.col2 .btn.style01 {
        margin-left: 5px;
        margin-right: 5px;
        width: calc(50% - 10px);
    }
    .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%;
        max-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%;
        width: 100%;
        object-fit: cover;
    }
    .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 .clinic_tbl02 th:first-child {
        width: 200px;
    }
    .under table.rollTable {
        width: 768px;
    }
    .under table.rollTable.sm {
        width: 1090px;
    }
    .under table.tbl_style01 th {
        font-size: 16px;
        min-width: 120px;
    }
    .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 #c6c5c5;
    }
    .under table.resTable tbody,
    .under table.resTable tr,
    .under table.resTable th,
    .under table.resTable td {
        display: block;
        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 table.tbl_style01 th,
    .under table.tbl_style01 td {
        padding: 0.95em 0.65em 0.95em;
    }
    .under .tbl_note {
        display: block;
    }
    .under .box_list.no-bg .list01.mcol-2 li:nth-child(2n) {
        width: 100%;
    }
    .under ul.list01 li {
        font-size: 14px;
    }
    .under ul.list01.mcol-2 li {
        width: 100%;
        padding-bottom: 9px;
        padding-right: 0;
    }
    .under ul.list01.mcol-2 li:last-child {
        padding-bottom: 0;
    }
    .under ul.list03 li,
    .under ul.list02 li {
        width: 100%;
    }
    .under .box_link {
        padding-bottom: 2.5em;
        border-color: #007292;
    }
    .under ul.list02 li::before {
        top: 7px;
    }
    .under .fullWidth {
        min-height: 47vw;
    }
    .under .flow_box .box {
        padding: 60px 40px;
        margin-bottom: 0;
        flex-direction: column;
    }
    .under .flow_box .box:not(:first-child) .point:before {
        left: 5px;
        top: -94px;
        width: 30px;
        height: 80px;
    }
    .under .flow_box .box .point {
        text-align: center;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 20px;
        font-size: 18px;
    }
    .under .flow_box .box .point span {
        font-size: 80px;
    }
    .under .flow_box .box:not(:first-child):after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        top: -65px;
        background: url(../images/udr-ico-step.svg) no-repeat center;
        background-size: contain;
        width: 30px;
        height: 110px;
        z-index: 1;
    }
    .under .flow_box .box::after {
        font-size: 180px;
        top: -11px;
        left: -11px;
    }
    .under .flow_box .box .content {
        position: relative;
        z-index: 2;
    }
    .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 {
        padding: 20px 30px 20px 30px;
    }
    .under .faq_box .title::after {
        width: 17px;
        height: 7px;
        top: 2px;
        right: 10px;
    }
    .under .faq_box .title::before {
        right: 0;
    }
    .under .faq_box .title .faq_tl:before {
        left: 9px;
    }
    .under .faq_box .faq_content {
        padding: 16px 30px 16px 55px;
    }
    .under .faq_box .faq_content:before {
        left: 9px;
    }
    .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;
    }
    .under .under_full_img {
        min-height: 310px;
    }
    .under .under_full_img p.ttl {
        font-size: 26px;
    }
    .under .udr-fx-staff {
        flex-direction: column;
    }
    .under .udr-fx-staff .box-img {
        text-align: center;
    }
    .under .udr-fx-staff .box-img img {
        max-height: 400px;
        object-fit: cover;
        object-position: top;
    }
    .under .udr-fx-staff .box-cnt {
        margin-left: 0;
    }
    .under .udr-fx-staff .box-cnt .udr-box-name .name {
        font-size: 26px;
    }
    .under .udr-w-slider ul li img {
        width: 300px;
        height: auto;
    }
    .under .udr-w-slider .slick-dots li {
        margin: 0 9.5px;
    }
    .tbl-scroll {
        overflow-x: scroll;
    }
    .tbl-scroll table {
        min-width: 800px;
    }
    .under .tbl-time,
    .under .txt-tbl-time {
        max-width: 100%;
    }
    .under .fixed_banner {
        right: 0 !important;
        bottom: 0 !important;
    }
    .under .fixed-bnr {
        left: 10px !important;
        bottom: 60px !important;
    }
}

@media only screen and (max-width: 425px) {
    .under .under .box_list02 .stroke {
        top: 9px;
        bottom: 9px;
        left: 9px;
        right: 9px;
    }
    .under .flow_box .box {
        padding: 40px 20px;
    }
    .under .flow_box .box::after {
        font-size: 120px;
        top: -7px;
        left: -7px;
    }
}

@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 */