@media screen and (min-width: 751px) and (max-width: 1260px) {}

@media screen and (min-width: 751px) {
    .under #content p.mb05_pc {
        margin-bottom: 5px;
    }

    .under #content p.mb10_pc {
        margin-bottom: 10px;
    }

    .under #content p.mb15_pc {
        margin-bottom: 15px;
    }

    .under #content p.mb20_pc {
        margin-bottom: 20px;
    }

    .under #content p.mb25_pc {
        margin-bottom: 25px;
    }

    .under #content p.mb30_pc {
        margin-bottom: 30px;
    }

    .under #content p.mb0_pc {
        margin-bottom: 0px;
    }

    .under #content p.mb50_pc {
        margin-bottom: 50px;
    }

    .under #content p.mb70_pc {
        margin-bottom: 70px;
    }

    .under #content p.mb90_pc {
        margin-bottom: 90px;
    }

    .under #content p.text_right_pc {
        text-align: right;
    }

    .under #content .t_r,
    .under #content .t_l {
        width: 669px;
    }

    .under #content .frame01 .t_r,
    .under #content .frame01 .t_l {
        width: 585px;
    }

    .under #content .t_staff {
        width: 865px;
    }

    .under #content .t__l,
    .under #content .t__r {
        width: 965px;
    }

    .under #content .frame02 .t__l,
    .under #content .frame02 .t__r {
        width: 883px;
    }

    .under #content .t_l {
        float: left;
    }

    .under #content .t_r {
        float: right;
    }

    .under #content .bnr01 a:hover,
    .under #content .tb_ovn>li a:hover {
        opacity: 0.8;
    }

    .under #content .bnr01.nohover a:hover {
        opacity: 1;
    }

    .under table.th_left_pc th {
        text-align: left;
    }

    .under .ovn_cate li a:hover,
    .under .ar_load>li>a:hover .ar_load_date {
        color: #5eb1bf;
    }

    .under #content .t3_tt {
        margin-bottom: 60px;
    }
}

@media screen and (min-width: 751px) and (max-width: 1500px) {
    #outpatient .footer .ganvi_ft {
        width: 43%;
        padding: 0px 11px 0 35px;
      }
      #outpatient .footer #map {
        left: calc(44% + 305px);
      }
    .under #content .inner,#outpatient #menuTreatment > .container , #outpatient #bnrBox .container {
        width: 1200px;
    }

    .under .box_t3 {
        padding: 0 360px;
        margin-bottom: 130px;
        background-position: left 76px top 10px, right 88px top 34px
    }
    #outpatient #content .box_t3{
        padding: 0 330px;
        margin-bottom: 130px;
        background-position: left 76px top 10px, right 88px top 34px;
      }
    .under #content .image_r {
        margin: 0 0 70px 75px;
    }

    .under #content .image_l {
        margin: 0 75px 70px 0;
    }

    .under #content .t_r,
    .under #content .t_l {
        width: 529px;
    }

    .under .t5 {
        font-size: 21px;
    }

    .under #content .t_staff {
        width: 725px;
    }

    .under .frame01 {
        padding: 110px 50px 96px 50px;
    }

    .under #content .frame01 .t_r,
    .under #content .frame01 .t_l {
        width: 575px;
    }

    .under #content .t__l,
    .under #content .t__r {
        width: 825px;
    }

    .under #content .frame02 .t__l,
    .under #content .frame02 .t__r {
        width: 743px;
    }

    .step_box .items {
        width: 260px;
        height: 260px;
        padding: 25px 10px 20px;
    }

    .step_box .items .title .tit {
        font-size: 32px;
    }

    .step_box .items p {
        line-height: 1.4;
    }

    .step_box .items::after {
        content: '';
        background: url("../images/arrow01.png") no-repeat 0 0 / 100%;
        width: 90px;
        height: 66px;
        display: block;
        position: absolute;
        top: 92px;
        right: -56px;
    }

    .recruit_box01 .col_l {
        letter-spacing: 0;
    }

    .re_staff_box01 ul.listimg li {
        width: 360px;
    }

    .re_staff_box01 h3 {
        margin-top: -30px;
    }

    .re_staff_box02 .yel_box {
        width: 400px;
        height: 400px;
    }

    .re_staff_box02 .yel_box p {
        font-size: 24px;
        line-height: 1.8
    }

    .re_staff_box03 .col_l {
        padding: 110px 0;
        position: relative;
        z-index: 2
    }

    .re_staff_box03 .imgr {
        width: 959px;
        right: -24%;
        z-index: 1
    }

    .re_staff_box04 .flex-box .text_box {
        padding: 2%;
    }

    .re_staff_box04 .flex-box.style01 .text_box::before {
        top: 10px;
    }

    .re_staff_box04 .flex-box .text_box h4 {
        margin-bottom: 10px;
        font-size: 27px;
    }

    .re_staff_box04 .flex-box .text_box h4,
    .re_staff_box04 .flex-box .text_box p {
        line-height: 1.8;
    }
}

@media screen and (max-width: 750px) {
    .under #content img {
        max-width: 100%;
    }

    .under #main {
        padding-bottom: 50px;
    }

    /*section*/
    .under .section {
        padding: 0 0 50px;
        box-sizing: border-box;
    }

    .under #content p {
        line-height: 1.77em;
        margin-bottom: 1.77em;
    }

    .under #content .image_r,
    .under #content .image_l {
        float: none;
        display: inline-block;
        width: 100%;
        text-align: center;
        margin: 0 auto 25px !important;
    }

    .under #content .image_l img,
    .under #content .image_r img,
    .bor img {
        border-radius: 10px;
    }

    .under #topic_path {
        margin-bottom: 0px;
        padding: 25px 0;
    }

    .under #topic_path li,
    .under #topic_path a {
        font-size: 12px;
    }

    /*top_info*/
    .under #top_info {
        height: 300px;
        width: 100%;
        align-items: flex-end;
        margin-bottom: 0px;
        background-position: right -290px top;
    }

    .under #top_info .inner:before,
    .under #top_info {
        border-radius: 0 0 20px 20px;
    }

    .under #top_info:before {
        bottom: -20px;
        height: 140px;
    }

    .under #top_info .inner {
        height: 120px;
    }

    /*<h2> - <h3> - <h4> - <h5> - <h6>*/
    .under h2 {
        font-size: 26px
    }

    .under h2 .en {
        font-size: 16px;
    }

    .under h2 .jp {
        letter-spacing: 0px;
        line-height: 1.4;
    }

    .under h3.t3_none {
        padding: 0px;
    }

    .under h3 {
        font-size: 24px;
        margin-bottom: 15px;
        padding: 0 55px;
    }

    .under h4 {
        font-size: 22px;
        margin-bottom: 15px;
        line-height: 1.3
    }

    .under h5 {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .under h6 {
        font-size: 18px;
    }

    .under .box_t3,
    .under .inner .box_t3 {
        padding: 20px 0px 50px;
        background-size: 54px auto, 54px auto;
        background-position: left top, right top;
        margin-bottom: 0px;
    }

    /*table*/
    .under #content table th,
    .under #content table td,
    .under #content table tr.th_style th {
        padding: 5px 10px;
        line-height: 1.5
    }

    .under #content table th {
        border-bottom: 4px #fff solid;
        border-top: 2px #fff solid;
        font-size: 15px;
    }

    .under #content table tr.th_style th {
        border-left-width: 6px;
    }

    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* table scroll                                                        */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under .tb_scroll {
        overflow: scroll;
        margin-bottom: 10px
    }

    .under .tb_scroll>table {
        width: 750px;
    }

    .under #content .txt_note {
        font-size: 12px;
        color: #AFAFAF;
        display: block;
    }

    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* table block                                                        */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under #content table.tb_block>tbody>tr>th,
    .under #content table.tb_block>tbody>tr>th+th,
    .under #content table.tb_block>tbody>tr>td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .under #content table.tb_block,
    .under #content table.tb_block tr th {
        border: none;
    }

    .under #content table.tb_block tr:not(:last-child) td {
        border-bottom: none;
    }

    .under #content table.tb_block tr th {
        border-top: #fff 4px solid;
    }

    .under table.tb_block>tbody>tr:last-child {
        margin-bottom: 0
    }

    .under #content table.rowbox1 th {
        width: 53%;
        
    }

    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* tb_box                                                                 */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under table.tb_box thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    .under table.tb_box tbody tr {
        display: block;
    }

    .under table.tb_box th,
    .under table.tb_box td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        position: relative;
        border-bottom: none;
    }

    .under table.tb_box td:last-child {
        border-bottom: 1px solid #F8E58C
    }

    .under table.tb_box tbody tr th:before,
    .under table.tb_box tbody tr td:before {
        content: attr(data-label);
        width: calc(100% + 20px + 0.5%);
        margin-left: calc(-10px - 0.2%);
        margin-top: calc(-10px - 0.2%);
        display: block;
        padding: 7px;
        box-sizing: border-box;
        text-align: center;
        margin-bottom: 0.5em;
        background: #ED7B00;
        color: #fff;
        font-weight: bold;
    }

    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* FRAME                                                                  */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under .frame01 {
        padding: 20px;
        border-radius: 15px;
        border-width: 2px;
        background-size: 150px auto, 150px auto;
    }

    .under .frame02 {
        padding: 20px;
        border-radius: 15px;
    }

    .under .frame01:before {
        width: calc(100% - 20px);
        height: calc(100% - 20px);
    }

    .under #content .title_frame,
    .under #content .title_frame>span {
        font-size: 18px;
    }

    .under #content .title_frame {
        margin-bottom: 15px;
    }

    .under .under_map {
        height: 290px;
    }

    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* LIST01                                                                */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under #content .list01 li,
    .under #content .list02 {
        padding-left: 20px;
        font-size: 14px;
    }

    .under #content .list_check li {
        padding-left: 20px;
    }

    .under #content .list01 li:before,
    .under #content .list02:before {
        top: 7px;
        width: 10px;
        height: 10px;
    }

    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* STEPMAIN                                                               */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under #content .step01 dl {
        padding: 20px;
    }

    .under #content .step01 dl dt {
        margin-bottom: 15px;
    }

    .under #content .step01 dl:not(:last-child) {
        margin-bottom: 50px;
    }

    .under #content .step01 dl:not(:last-child):before {
        border-width: 10px 18px 0 18px;
        bottom: -35px;
    }

    .under #content .step_icon {
        margin-right: 10px;
        font-size: 18px;
        padding: 7px 15px 4px;
    }

    .under #content .step_sub {
        margin-bottom: 0px;
    }

    .under #content .list_col {
        flex-direction: column;
    }

    .under #content .list_col>li {
        flex: initial;
    }

    .under #content .list_col>li:not(:last-child) {
        margin-right: 0px;
        margin-bottom: 30px;
    }

    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* BANNER                                                               */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under #content .qa dl {
        padding: 20px;
    }

    .under #content .icon_a,
    .under #content .icon_q {
        margin-right: 10px;
        padding-top: 1px;
        position: relative;
        top: 7px;
    }

    .under #content .icon_q {
        top: -3px;
    }

    .under #content .qa dl dt {
        font-size: 18px;
        align-items: flex-end;
        margin-bottom: 12px;
        line-height: 1.3;
    }

    .under #content .u_btn01 {
        flex-wrap: wrap;
        max-width: 600px;
        margin: 0 auto;
    }

    .under #content .u_btn01 li:not(:last-child) {
        margin-right: 0px;
    }

    .under #content .u_btn01>li {
        flex: auto;
        width: calc(50% - 10px);
        margin-right: 20px !important;
        margin-bottom: 20px;
    }

    .under #content .u_btn01>li:nth-child(2n),
    .under #content .u_btn01>li:last-child {
        margin-right: 0px !important;
    }

    .under #content .u_btn01 li a:before {
        right: 12px;
    }

    .under #content .col {
        flex-direction: column;
    }

    .under #content .list_img {
        flex-wrap: nowrap;
        flex-direction: row;
    }

    .under #content .col>li {
        width: 100%;
    }

    .under #content .col-frame {
        max-width: 600px;
        margin: 0 auto;
    }

    .under #content .col-frame:not(:last-of-type) {
        margin-bottom: 50px;
    }

    .under #content .col-frame li:not(:last-child) {
        margin-bottom: 50px;
    }

    .under .t5 {
        font-size: 20px;
        padding: 10px;
    }

    .under #content .bnr01 a,
    .under #content .bnr02 a {
        font-size: 20px;
        line-height: 1.2;
        font-weight: 500;
    }

    .under #content table.tb02 tr:first-child td:last-child {
        border-bottom: 1px #ccc solid;
    }

    .under #content .pd01 {
        padding: 0px 25px 25px;
    }

    .under #content .pd01 .btn a {
        width: 250px;
    }

    .under #content .bnr02 a {
        height: 110px;
        background-size: 80px auto;
    }

    /*OVN*/
    .under #content .ovn_img {
        height: 180px;
        width: 240px;
        margin: 0 auto 20px;
    }

    .under .img_ovn img {
        max-height: 300px;
    }

    .under .inner01 {
        flex-direction: column;
    }

    .under .inner01 #content,
    .under .inner01 #navi,
    .under .tb_ovn_info {
        width: 100%;
    }

    .under #content .tb_ovn>li a {
        flex-direction: column
    }

    .under .tb_ovn>li:first-child {
        padding-top: 0px;
    }

    .under .tb_ovn {
        margin-bottom: 50px;
        margin-top: 0px;
    }

    .under .ovn_cate:not(.ovn_cate_full) li a:before {
        top: 21px;
    }

    .under #content .bnr01 a {
        flex-direction: column;
    }

    .under #content .bnr01.sika a {
        background-position: left calc(50% - 120px) center;
    }

    .col-map {
        flex-direction: column;
        align-items: center;
    }

    .under #main .col-map li,
    .under #main .col-map li:nth-child(1) {
        width: 100%;
        text-align: center;
    }

    .under #main .col-map li {
        margin-bottom: 20px;
    }

    .under #main .list_img01 li:not(:nth-child(2n)) {
        margin-right: 20px;
    }

    .under #main .list_img01 li {
        width: calc(50% - 10px);
        margin-bottom: 30px;
    }

    .under #main .list_img01 li .img {
        margin-bottom: 10px;
    }

    /*-----------------------RECRUIT--------------------------*/
    /*--------------------------------------------------------*/
    .under#recruit #top_info {
        height: 300px;
        width: 100%;
        border-radius: 0 0 20px 20px;
        align-items: flex-end;
        margin-bottom: 40px;
    }

    .under#recruit #top_info .inner {
        height: 120px;
    }

    #recruit h3 {
        font-size: 30px;
    }

    .recruit_box01 {
        margin: 0 auto 40px;
    }

    .recruit_box01 .inner {
        flex-direction: column;
    }

    .recruit_box01 .col_l {
        width: 100%;
        padding-left: 20px;
        letter-spacing: 0;
    }

    .recruit_box01 .imgr {
        width: 100%;
        margin: 0 auto;
        text-align: center
    }

    .recruit_box01 .imgr span {
        font-size: 18px;
        display: block;

    }

    .recruit_box01 .imgr img {
        max-width: 360px !important;
        margin: 0 auto 10px;
        position: relative
    }

    .recruit_box01 .imgr::before {
        left: 20%;
        top: 30px;
    }

    .recruit_box01 .imgr::after {
        left: 10%;
    }

    #recruit .recruit_box01 .col_l h3 {
        margin: 0 0 20px;
        padding: 0;
    }

    .recruit_box01 .col_l p {
        font-size: 16px;
    }

    .recruit_box01 .col_l::before {
        content: '';
        width: 160px;
        height: 160px;
        background: url("../images/bg02.png") repeat 0 0 #fdeeed;
        border-radius: 50%;
        display: block;
        position: absolute;
        left: -20px;
        top: -50px;
        z-index: -1;
    }

    .recruit_box01 .col_l::after {
        left: inherit;
        top: -36px;
        z-index: -1;
        right: 10%;
    }
    .banner_recruit {
        width: 100%;
        /* margin-bottom: 1.77em; */
        max-width: 260px;
        max-height: 45px;
    }
    .flex_banner_container {
        flex-wrap: wrap;
        justify-content: center;
    }
    .banner_recruit:last-child{
        margin-bottom: 0;
        margin-left: 10px;
    }

    .mb40 {
        margin-bottom: 40px;
    }

    .mb60 {
        margin-bottom: 60px;
    }

    .recruit_box02 {
        margin: 0 auto 40px;
    }

    .recruit_box02 .box_h4 {
        padding: 40px 0 60px;
    }

    .recruit_box02 .box_h4 h4 {
        font-size: 26px;
        display: flex;
        justify-content: center;
        text-align: center;
    }

    .recruit_box02 .box_h4 h4::before {
        content: '';
        width: 30px;
        height: 30px;
        background: url("../images/icon_find.png") no-repeat 0 0 / 100%;
        display: block;
        margin-top: 5px
    }

    .recruit_box02 .box_h4 h4::after {
        content: '';
        width: 30px;
        height: 30px;
        background: url("../images/icon_chart.png") no-repeat 0 0 / 100%;
        display: block;
        margin-top: 5px
    }

    .recruit_box02 .box_charts {
        padding: 30px 0 0;
        background: url("../images/bg01.png") repeat-x 0 top;
    }

    .box_charts {
        flex-wrap: wrap;
        justify-content: center;
    }

    .box_charts .title {
        font-size: 24px;
        max-width: 100%;
        margin-bottom: 30px !important
    }

    .box_charts .title span.small {
        font-size: 18px;
        color: #222;
        margin-left: 10px;
    }

    .box_charts .col_r {
        width: 100%;
        text-align: center;
    }

    .box_charts .col_l {
        width: 100%;
    }

    .box_charts .list_chart_value {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 20px
    }

    .box_charts.w100 .list_chart_value div dl,
    .box_charts .list_chart_value div dl {
        width: 100%;
        max-width: 360px;
        margin: 0 auto 10px;
    }

    .box_charts.w100 .list_chart_value div dl:last-child {
        margin: 0 auto 10px;
    }

    .box_charts.w100 .list_chart_value div,
    .box_charts .list_chart_value div {
        width: 100%;
        max-width: 100%;
        flex-wrap: wrap;
    }

    .box_charts .list_chart_value dl {
        background: url("../images/bg03.png") repeat-x 0 center;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
    }

    .box_charts .list_chart_value dt {
        font-size: 16px;
    }

    .box_charts .list_chart_value dd {
        font-size: 16px;
    }

    .box_charts .list_chart_value dd .num {
        font-size: 24px
    }

    .recruit_box03 {
        padding: 40px 0;
    }

    .recruit_box03 p.subtit {
        font-size: 24px;
        margin-bottom: 20px !important;
    }

    .recruit_box03 p {
        text-align: center;
        margin-bottom: 40px;
    }

    .recruit_box03 .flex_box {}

    .recruit_box03 dl {
        width: 32%;
        border-radius: 20px 20px 0 0;
        border: 1px solid #2aa22a;
        box-sizing: border-box;
        background: #fff;
        margin-bottom: 30px;
    }

    .recruit_box03 dl.w100 {
        width: 100%
    }

    .recruit_box03 dl dt {
        background: #2aa22a;
        border-radius: 18px 18px 0 0;
        padding: 10px;
        font-size: 18px;
        font-weight: bold;
    }

    .recruit_box03 dl dd {
        padding: 10px 20px;
        font-size: 16px;
        text-align: left
    }

    .recruit_box03 dl dd p {
        text-align: left
    }

    .recruit_box03 dl dd p .bold {
        font-weight: bold;
        margin-bottom: 10px;
    }

    .recruit_box04 {
        padding: 140px 0 40px;
    }

    .recruit_box02 .box_h4 h4::before,
    .recruit_box02 .box_h4 h4::after {
        margin-top: 2px;
    }

    .recruit_box04::before {
        top: 40px;
    }

    .recruit_box04::after {
        content: '';
        width: 220px;
        height: 115px;
        background: url("../images/recruit_box04_bg.png") no-repeat 0 0 / 100%;
        position: absolute;
        top: 15px;
        left: 50%;
        transform: translate(-50%, 0)
    }

    .step_box {
        align-items: center;
        flex-direction: column;
    }

    .step_box .items {
        margin-bottom: 50px;
        width: 260px;
        height: 260px;
        border-radius: 50%;
        padding: 20px 20px 30px;
        justify-content: center;
    }

    .step_box .items p {
        line-height: 1.6
    }

    .step_box .items p.title {
        margin-bottom: 15px !important;
    }

    .step_box .items .title .tit {
        font-size: 34px;
        line-height: 1.3;
    }

    .step_box .items::after {
        content: '';
        background: url("../images/arrow03.png") no-repeat 0 0;
        width: 60px;
        height: 60px;
        display: block;
        position: absolute;
        bottom: -40px;
        top: inherit;
        left: 50%;
        transform: translate(-50%, 0);
        right: inherit;
    }

    .step_box .items.pink {
        border: 4px solid #e78392;
    }

    .step_box .items.pink .title {
        color: #e78392
    }

    .step_box .items.pink::after {
        display: none
    }

    .recruit_box05 {
        padding: 40px 0;
    }

    .tabs-list {
        position: relative;
        margin-bottom: 12px;
        display: flex;
        justify-content: space-between
    }

    .tabs-list li {
        width: calc(100% / 3 - 2px);
        height: 50px;
    }

    .tabs-list li a {
        font-size: 20px;
    }

    .tabs-list li a.active {
        border: 1px solid #2aa22a;
        background: #2aa22a;
        color: #fff !important;
        position: relative
    }

    .tabs-list li a.active::after {
        content: '';
        width: calc(100% + 2px);
        height: 5px;
        background: #2aa22a;
        display: block;
        position: absolute;
        left: -1px;
        bottom: -3px;
    }

    .tabs-list::after {
        content: '';
        width: 100%;
        height: 10px;
        background: #2aa22a;
        display: block;
        position: absolute;
        left: 0;
        bottom: -12px;
    }

    .box_tabs {
        padding: 20px;
    }

    .tbl_dl dl {
        flex-wrap: wrap
    }

    .tbl_dl dt {
        width: 100%;
        padding: 5px 10px;
    }

    .tbl_dl dd {
        width: 100%;
        padding: 10px;
    }

    .recruit_box06 {
        padding: 40px 0 30px;
        background: #f2f9e2;
    }

    .under #content .recruit_box06 table th {
        padding: 12px 20px 15px;
        width: 100%;
        display: block;
        font-weight: bold;
        background: #9bcf6a;
        color: #fff;
        border: none;
    }

    .under #content .recruit_box06 p.button {
        margin: 0 auto !important
    }

    .under #content .recruit_box06 table td {
        padding: 15px 20px;
        width: 100%;
        border: none;
        display: block
    }

    .under #content .recruit_box06 table tr:last-child td {
        border-bottom: none
    }

    .box_charts.haftcol .col_l {
        width: 100%;
        max-width: inherit
    }

    .box_charts.haftcol::before {
        content: '';
        width: 100%;
        height: 2px;
        display: block;
        background: url("../images/bg01.png") repeat-x 0 0;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translate(0, -50%)
    }

    .box_charts.haftcol .col_l {
        margin-bottom: 32px;
    }

    .box_charts.haftcol .col_l.pink {
        margin-bottom: 0;
    }

    /*-----------------------//end RECRUIT--------------------------*/
    /*--------------------------------------------------------*/
    .under#re_staff #top_info {
        height: 300px;
        width: 100%;
        background: url("../images/under_topinfo_recruitstaff_sp.jpg") no-repeat center center/cover;
    }

    .under#re_staff #top_info h2 {
        font-size: 3vw;
        margin: 0 auto;
        position: relative
    }

    .under#re_staff #top_info h2::after {
        content: '';
        width: 110%;
        height: 14vw;
        background: #2aa22a;
        transform: skewX(-18deg);
        display: block;
        position: absolute;
        top: -3.4vw;
        left: -5%;

    }

    .under#re_staff #top_info h2 .jp {
        z-index: 2;
        position: relative
    }

    .under#re_staff #top_info h2 .yel span::before {
        content: '';
        left: 50%;
        transform: translate(-50%, 0)
    }

    .under#re_staff h3 {
        font-size: 24px;
        margin-top: 20px;
        padding: 0
    }

    .re_staff_box01 ul.listimg li.mid {
        margin-top: -60px;
    }

    .re_staff_box01 ul.listimg li {
        width: 32%;
    }

    .re_staff_box01 ul.listimg02 {
        margin: 0 20px;
    }

    .re_staff_box01 {
        padding: 100px 0 40px;
    }

    .re_staff_box01 .mb60 {
        margin-bottom: 40px;
    }

    .re_staff_box02 {
        margin-bottom: 30px;
    }

    .re_staff_box02 .yel_box {
        width: 56vw;
        height: 56vw;
    }

    .re_staff_box02 .yel_box p {
        font-size: 3.4vw;
        margin: 20px 0 0 !important;
        line-height: 1.6
    }

    .re_staff_box02::before {
        height: 32vw;
        background: url("../images/recruit_staff_box01_bg.jpg") no-repeat center center / cover;
    }

    .re_staff_box03 .col_l dl dt {
        font-size: 20px;
        background: url("../images/icon_leaf.png") no-repeat 0 0 / 32px;
        padding-left: 40px;
        margin: 0 0 10px;
    }

    .re_staff_box03 .col_l dl dd {
        margin-left: 40px;
    }

    .re_staff_box03 .col_l {
        padding: 20px 0;
        width: 100%;
    }

    .re_staff_box03 .imgr {
        position: inherit;
        width: 97%;
        right: inherit;
        top: inherit;
        margin: 0 -4% 0 8%
    }

    .re_staff_box03 .imgr::before {
        width: 100%;
        height: 100%;
        position: absolute;
        left: -30px;
        top: 30px;
        display: block;
        z-index: 1;

    }

    .re_staff_box04 .flex-box {
        flex-wrap: wrap
    }

    .re_staff_box04 .flex-box .text_box {
        padding: 8% 5%;
        width: 100%
    }

    .re_staff_box04 .flex-box .img_box {
        width: 100%;
    }

    .re_staff_box04 .flex-box.style01 .text_box::before {
        background: url("../images/par_round.png")#f2f9e2 repeat 0 0;
        width: 240px;
        height: 240px;
        left: -30px;
        top: 10px;
    }

    .re_staff_box04 .flex-box.style03 .text_box::before {
        left: -80px;
        top: 10px;
    }

    .re_staff_box04 .flex-box.style04 .text_box::before {
        right: -50px;
        top: 80px;
    }

    .re_staff_box05 {
        padding: 30px 0 0;
    }

    .re_staff_box05 h3::before,
    .re_staff_box05 h3::after {
        width: 60px;
        height: 60px;
    }

    .under#re_staff .re_staff_box05 h3 {
        margin-bottom: 40px;
    }

    .re_staff_box05 .item_staff .title {
        padding: 10px 20px;
    }

    .re_staff_box05 .item_staff .title .large {
        font-size: 24px;
    }

    .re_staff_box05 .item_staff .title .sm {
        font-size: 18px;
    }

    .re_staff_box05 .item_staff::before {
        font-size: 19px;
        top: -32px;
    }

    .re_staff_box05 .item_staff .img_staff {
        margin: 0 auto 20px;
        position: inherit;
        top: inherit;
        right: inherit;
        width: 300px;
    }

    .re_staff_box05 .cont {
        padding: 0 20px 20px;
    }

    .balloon_staff {
        flex-wrap: wrap
    }

    .balloon_staff .box_txt .ttl {
        margin-bottom: 15px !important;
    }

    .balloon_staff .box_txt {
        order: 1;
        width: 100%;
        margin-bottom: 30px;
        padding: 10px 20px 20px;
    }

    .balloon_staff .imgl {
        order: 2;
        margin: 0 !important;
    }

    .balloon_staff .box_txt::before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 30px 15px 0 15px;
        border-color: #2aa22a transparent transparent transparent;
        position: absolute;
        top: inherit;
        left: 67px;
        transform: translate(0, 0);
        bottom: -28px;
    }

    .item_staff.pink .balloon_staff .box_txt::before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 30px 15px 0 15px;
        border-color: #e78392 transparent transparent transparent;
        position: absolute;
        top: inherit;
        left: 67px;
        transform: translate(0, 0);
        bottom: -28px;
    }

    .bnr_recruit {
        width: 100%;
        height: 90px;
        max-width: 768px;
        margin: -40px auto 40px !important;
    }

    .bnr_recruit a {
        font-size: 4vw;
        padding-right: 36px;
    }

    .bnr_recruit a::after {
        content: '';
        width: 30px;
        height: 22px;
    }
    #outpatient #content .box_t3 {
        padding: 20px 0px 50px;
      }
      #outpatient #content .box_t3 h4 {
        padding: 0 55px;
      }
      #outpatient .aspiration .frame02 {
        width: 100%;
        margin-bottom: 30px !important;
        margin-right: 0;
      }
      .aspiration {
        flex-direction: column;
      }
      #outpatient .w_img {
        width: 160px;
      }
      #outpatient .outpatient_box::before {
        height: 47vh;
    }
    #outpatient .outpatient .outpatient_box .outpatient_txt {
        width: 100%;
        padding: 40px 0 0;
      }
      #outpatient .out_box1 .col-frame li{
        margin: 0 0 45px 0 !important;
      }
      #menuTreatment > .container{
      padding: 50px 15px;
      width: 100%;
    }
     #bnrBox .container ul{
        padding: 50px 15px 40px;
        width: 100%;
      }
    .nav_treatment > li {
        margin-top: 20px;
      }
      
      #outpatient #bnrBox .container {
        width: 100%;
        padding: 0px 0;
      }
      #outpatient #menuTreatment > .container {
        padding: 40px 15px;
      }
      #outpatient .outpatient {
        padding-top: 0px;
    }
    #outpatient .out_box1 .col-frame li .t5 {
        font-size: 16px;
    }
    #outpatient #contact .inner {
        flex-direction: column;
    }
    #outpatient #contact .content {
        padding-left: 0;
    }
    #outpatient #contact .contact_txt {
        margin-bottom: 30px;
    }
    #outpatient .nav_treatment {
        padding-top: 30px;
    }
    #outpatient #contact .contact_txt span:first-child {
        font-size: 35px;
    }
    #outpatient .nav_treatment > li {
        width: calc((100% / 4) - 20px);
    }
    #outpatient .cnt_area {
        font-size: 14px;
    }
    #outpatient .frame02 {
        padding: 15px;
    }
    #outpatient .ar_fx p {
        width: 80%;
        margin: 0 auto 15px;
    }
    #outpatient .ar_fx p  a{
        height: auto;
    }
    #outpatient .ar_fx p:nth-child(n+3){
        margin: 0 auto 15px;
    }
    #outpatient .ar_fx p:last-child{
        margin-bottom: 0 !important;
    }
    #outpatient .ar_fx{
        margin-right: 0;
    }
    #archor03 .box_sp img{
        width: 70%;
    }
}

@media screen and (max-width: 640px) {
    .under #content .u_btn01 {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        max-width: 400px;
    }

    .under #content .u_btn01>li {
        width: 100%;
        max-width: 100%;
        margin-right: 0px !important;
    }

    .under #content .u_btn01 li:not(:last-child) {
        margin-right: 0px;
        margin-bottom: 25px;
    }

    .under #content .u_btn01>li:last-child {
        margin-bottom: 0px;
    }

    .recruit_box03 dl {
        width: 100%;
    }
    #outpatient #bnrBox .container ul > li{
        margin:0 0 10px;
        /* width:48%; */
      }
      #outpatient #bnrBox .container ul{
        justify-content: space-between;
      }
      #outpatient #bnrBox .container ul > li img{
        width: inherit !important;
      }
      #outpatient #bnrBox .container ul{
        margin-left: 0;
      }
      #outpatient #bnrBox .container ul > li {
        width: 48% !important;
      }
}
@media screen and (max-width: 580px) {
    
    #outpatient .outpatient_box::before {
        height: 62vw;
      }
      #outpatient .nav_treatment > li {
        width: 48%;
      }

}
@media screen and (max-width: 560px) {
    .recruit_box02 .box_h4 h4 span {
        width: calc(100% - 60px);
        margin: 0 5px 10px
    }
    .banner_recruit {
        margin-bottom: 1.77em;
    }
    .banner_recruit:last-child {
        margin-left: 0;
    }

}
@media screen and (max-width: 550px) {
    
   

}
@media screen and (max-width: 520px) {
    .nav_treatment > li {
        margin: 0 0 20px;
    }
    #outpatient .ar_fx p {
        width: 100%;
    }
    #archor03 .box_sp img{
        width: 100%;
    }
}
@media screen and (max-width: 490px) {
    .under #main .related_post>li {
        width: 100%;
    }

    .under #main .related_post>li+li {
        margin-top: 20px;
    }

    .under #main .related_post>li.prevPage .icon {
        right: auto;
        left: 0;
    }

    .under #main .related_post>li.nextPage .icon {
        left: auto;
        right: 0;
    }

    .recruit_box01 .imgr::before {
        left: 10%;
        top: -10px
    }

    .recruit_box01 .imgr::after {
        left: 0;
        top: 60px
    }

    .re_staff_box03 .imgr img {
        border-radius: 40px 0 0 40px;
    }

    .re_staff_box03 .imgr::before {
        content: '';
        border-radius: 40px 0 0 40px;
        width: 120%;
    }

    .re_staff_box03 .col_l dl dd {
        margin-left: 0;
    }
}

@media screen and (max-width: 460px) {
    .under #content .bnr01 a span {
        display: block;
        margin: 0px auto 0;
    }

    .tabs-list li {
        height: 40px;
    }

    .tabs-list li a {
        border-radius: 16px 16px 0 0;
        font-size: 3.8vw;
    }

    .tbl_dl dt,
    .tbl_dl dd {
        font-size: 16px;
    }

}

@media screen and (max-width: 414px) {
    .under h3 {
        font-size: 21px;
    }

    .under h2 {
        font-size: 24px;
    }

    .under #content .recruit_box06 table th {
        padding: 10px;
    }

    .under #content .recruit_box06 table td {
        padding: 15px 10px;
    }

    .under#re_staff #top_info h2 .yel span::before {
        width: 4px;
        height: 4px;
        top: -7px;
    }

    .re_staff_box02 .yel_box {
        border: 6px solid #fff;
    }

    /*.re_staff_box02 .yel_box p {
      font-size: 19px;
        line-height: 1.6;
        margin-top: 20px;
    }*/
    .re_staff_box05 .item_staff .img_staff {
        width: 280px;
    }

}

@media screen and (max-width: 390px) {

    .re_staff_box05 .item_staff .img_staff {
        width: 240px;
    }

    .balloon_staff .box_txt .ttl {
        font-size: 20px;
    }
}
@media screen and (max-width: 360px) {

    #recruit h3#recruit_ttl01 {
        font-size: 7.5vw;
    }
}

@media (-ms-high-contrast: none),
(-ms-high-contrast: active) {}