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

    .lightbox,
    .lightboxOverlay {
        min-width: var(--container);
    }

    .under main .image_l {
        float: left;
        margin-right: 60px;
        padding-top: 2px;
    }

    .under main .image_l.mb100 {
        margin-bottom: 100px;
    }

    .under main .image_l.mr01 {
        margin-right: 35px;
    }

    .under main .image_r {
        float: right;
        margin-left: 60px;
        padding-top: 2px;
    }

    .under main .u_content {
        padding-bottom: 110px;
    }

    .under main .u_ttl3+.flex_2col {
        margin-top: 70px;
    }

    .under main .u_ttl3+.doctor_list {
        margin-top: 55px;
    }

    .under main .doctor_img {
        margin-top: 5px;
    }

    .under main .doctor_item.revert {
        flex-direction: row-reverse;
    }

    .under main .doctor_item.revert .doctor_img {
        margin-left: 67px;
        margin-right: 0;
    }

    .under main .doctor_flex .doctor_txt {
        position: relative;
        left: 5px;
    }

    .under main .doctor_flex .doctor_txt .stt span {
        margin-top: 7px;
        display: inline-block;
    }

    .under main .doctor_flex .doctor_txt .stt+.level {
        margin-top: 23px;
    }

    .under main .doctor_flex .doctor_txt .level {
        margin-bottom: 40px
    }

    .under main .inner_con .alignleft {
        float: left;
        margin: 0 40px 25px 0;
    }

    .under main .inner_con .alignright {
        float: right;
        margin: 0 0px 25px 40px;
    }

    .under main .inner_con .aligncenter {
        margin: 0 auto 25px;
        display: table;
    }

    .under main .inner_con .alignleft,
    .under main .inner_con .alignright,
    .under main .inner_con .aligncenter {
        max-height: 400px;
        width: auto;
    }

    .under main .inner_con .alignleft,
    .under main .inner_con .alignright {
        max-width: 350px;
    }

    /* BUTTON OVN DETAIL */
    .under main .btn_list {
        display: flex;
        justify-content: center;
        position: relative;
    }

    .under main .btn_list .is_prev {
        position: absolute;
        top: 0;
        left: 150px;
    }

    .under main .btn_list .is_next {
        position: absolute;
        top: 0;
        right: 150px;
    }

    .alignleft {
        float: left;
        margin-right: 30px;
    }

    .alignright {
        float: right;
        margin-left: 30px;
    }

    .under main .flex_arr li:nth-child(3n + 3),
    .under main .flex_arr li:last-child {
        margin-right: 0;
    }

    .under main .flex_arr li:nth-child(3n + 3)::after {
        display: none;
    }

    .under main .mb40_pc {
        margin-bottom: 40px !important;
    }

    /* HOVER */
    .under main .link:not(a[target=_blank]):hover {
        color: var(--scolor);
    }

    .under main #topic_path li a:hover,
    .under main .list_cate li a:hover {
        color: #D2BD77;
    }

    .under main .step_item {
        min-height: 313px;
    }

    .under .hidden {
        overflow: hidden;
    }

    .under main .doctor_box_r .btn a {
        width: 260px;
    }

    .under main .list_faq dt:hover {
        color: var(--mcolor);
        cursor: pointer;
    }

    .under main .list_faq dt:hover span {
        background: var(--mcolor);
    }

    .under main .image_l.mgr25 {
        margin-right: 25px;
    }

    .under main .box_right {
        display: inline-block;
        width: calc(100% - 500px);
        padding-top: 3px;
        margin-bottom: 18px;
    }
    .under main .box_right table{
        margin-bottom: 28px;
    }
    .under main .box_right table th {
        padding: 14px 0 13px;
        font-size: 18px;
    }
    .under main .box_right table th .sm{
        font-size: 16px;
    }


}

@media screen and (max-width: 750px) {
    .under main #content {
        padding: 0 0 80px
    }

    .under main section {
        padding: 0 0 50px;
    }

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

    /*==========================================================
                C U S T O M
==========================================================*/
    .under main {
        padding-top: 90px;
    }

    /*  TOP INFO  */
    .under main #top_info {
        height: 150px
    }

    .under main #top_info .inner {
        padding: 0px;
    }

    .under main #top_info .top_ttl {
        font-size: 26px;
        line-height: 1.25em;
    }

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

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

    .under main #topic_path li:not(:last-child)::after {
        margin: 0 6px 0 8px;
    }

    /*============ HEAD TITLE ============ */
    .under main .u_ttl2,
    .u_editor h2 {
        font-size: 24px;
        margin-bottom: 30px;
        margin-top: 10px;
    }

    .u_editor h2 {
        margin-left: 0;
    }

    .under main .u_ttl2 span::before,
    .u_editor h2:before {
        width: 40px;
    }

    .u_editor h2:before {
        bottom: 0;
    }

    .under main .u_ttl3,
    .under main .u_editor h3 {
        font-size: 22px;
        padding: 8px 10px 10px;
        line-height: 1.3;
    }

    .under main .u_ttl3::after,
    .under main .u_editor h3:after {
        bottom: 5px;
    }

    .under main .u_ttl4,
    .under main .u_editor h4 {
        font-size: 20px;
        padding-top: 15px;
        margin-bottom: 20px;
    }

    .under main .u_ttl4::before,
    .under main .u_editor h4:before {
        width: 50px;
    }

    .under main .u_ttl5,
    .under main .u_editor h5 {
        font-size: 20px;
    }

    .under main p,
    .under main th,
    .under main td {
        font-size: 14px;
    }

    .under main .btn a {
        width: 290px;
        height: 55px;
        font-size: 16px;
        padding-top: 4px;
    }

    /*============ TABLE ============ */
    .under main table {
        margin-bottom: 30px
    }

    .under main table td,
    .under main table th {
        padding: 15px 10px
    }

    .under main table.tb_block tr {
        display: flex;
        flex-direction: column
    }

    .under main table.tb_block tr:not(:first-child) th {
        border-top: none
    }

    .under main table.tb_block tr th {
        border-bottom: none
    }

    .under main table.tb_block tr th.bor_bt_sp {
        border-bottom: 1px solid #A3ADC2 !important;
    }

    .under main table.tb_block td+td {
        border-top: none;
    }

    .under main table.tb_block th,
    .under main table.tb_block td {
        width: 100%;
    }

    /* TABLE SCROLL */
    .under main .tb_scroll {
        overflow: scroll;
    }

    .under main .tb_scroll:not(:last-child) {
        margin-bottom: 30px;
    }

    .under main .tb_scroll table {
        width: 800px;
    }

    .under main .tb_note {
        margin-bottom: 10px;
        color: #999;
    }

    /*============ LIST ============ */
    .under main .list_anchor {
        justify-content: space-between;
    }

    .under main .list_anchor .btn {
        margin: 0 0 15px 0;
        width: 48%;
    }

    .under main .list_anchor .btn a {
        width: 100%;
        height: 55px;
    }

    .under main .list01 {}

    .under main .list01 li {
        font-size: 14px;
        padding-left: 20px;
    }

    .under main .list01 li::before {
        top: 11px;
    }

    .under main .list02 {}

    .under main .list02 li {
        font-size: 14px;
    }

    .under main .list02 li::before {
        top: 3px;
    }

    .under main .list_check {}

    .under main .list_check li {}

    /* LIST FAQ */
    .under main .list_faq dl {
        margin-bottom: 20px;
    }

    .under main .list_faq dt {
        font-size: 16px;
    }

    .under main .list_faq dt::before {
        width: 20px;
        height: 1px;
        top: calc(50% - 10px);
    }

    .under main .list_faq dt span {
        top: -1px;
        position: relative;
    }

    .under main .list_faq dt::after {
        width: 1px;
        height: 20px;
        top: calc(50% - 20px);
        right: 10px;
    }

    .under main .list_faq dd {
        font-size: 14px;
        line-height: 1.75em;
    }

    /* LIST STEP */
    .under main .list_step dl {
        margin-bottom: 20px;
        padding-bottom: 40px
    }

    .under main .list_bnn {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .under main .list_bnn .bnn:not(:last-child) {
        margin-bottom: 30px;
    }

    .under main .list_bnn .bnn .sm {
        margin-bottom: 5px;
    }

    .under main .list_bnn .bg2 .sm {
        padding-left: 5px;
        margin-bottom: 5px;
    }

    /*============ FLEX ============ */
    .under main .flex_arr li {
        width: calc((100% - 35px) / 2);
        padding: 10px;
    }

    .under main .flex_arr li::after {
        width: 12px;
        height: 25px;
        top: calc(50% - 12px);
        right: -25px;
    }

    .under main .flex_arr li:nth-child(2n + 2),
    .under main .flex_arr li:last-child {
        margin-right: 0;
    }

    .under main .flex_arr li:nth-child(2n + 2)::after {
        display: none;
    }

    .under main .flex_arr_full li {
        padding-top: 0;
    }

    .under main .flex_arr li .flex_ttl {
        margin: 0 -10px 10px;
        padding: 10px 5px 8px;
    }

    .under main .flex_2col .item {
        width: calc((100% - 35px) / 2);
    }

    .under main .frame01_flex {
        flex-wrap: wrap;
        margin-bottom: -30px;
    }

    .under main .frame01_flex .item {
        width: 100%;
        padding: 15px 0;
        margin-bottom: 30px;
    }

    .under main .frame01_flex .item .center {
        height: auto;
        margin-bottom: 10px;
    }

    .under main .frame01_flex .item .center:last-child {
        margin-bottom: 0;
    }

    /*============ FRAME ============ */
    .under main .frame01 {
        padding: 15px
    }

    .under main .frame02 {
        padding: 30px 15px
    }

    .under main .frame02.mt01 {
        margin-top: 40px;
    }

    .under main .frame02 .frame02_ttl span {
        padding: 0 15px;
    }

    .under main .frame02 .frame02_ttl span::before {
        width: calc(100% - 40px);
        left: 20px;
    }

    .under main .frame_pick_wrap {
        padding: 1px;
    }

    .under main .frame_pick {
        padding: 30px 0
    }

    .under main .frame_pick_ct {
        padding: 40px 15px
    }

    .under main .frame_pick .pick_ttl {
        font-size: 20px;
        margin-bottom: 25px;
        line-height: 1.8em;
    }

    .under main .frame_pick .pick_ttl span {
        font-size: 24px;
    }

    .under main .frame_pick .pick_content p:last-child {
        margin-bottom: 0;
    }

    /*============ OTHER ============ */
    .under main .img_border {
        padding-right: 5px;
    }

    .under main .img_border span::before {
        top: 5px;
        left: 5px;
    }

    .under main .doctor_item {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .under main .doctor_item:last-child {
        margin-bottom: 0;
    }

    .under main .doctor_img {
        max-width: 100%;
        margin: 0 0 20px;
    }

    .under main .doctor_txt {
        width: 100%;
        max-width: 100%;
    }

    .under main .doctor_txt .stt {
        font-size: 18px;
        margin-bottom: 0;
    }

    .under main .doctor_txt .name {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .under main .doctor_txt .level span {
        font-size: 18px;
        padding: 4px 15px 1px;
    }

    .under main .doctor_flex {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-bottom: -40px;
        padding: 0;
    }

    .under main .doctor_flex .doctor_item {
        width: 345px;
        max-width: 100%;
        margin-bottom: 40px;
    }

    .under main .doctor_flex .doctor_item .stt {
        margin-bottom: 20px;
    }

    /* STEP */
    .under main .list_step {
        margin-top: 30px;
    }

    .under main .step_item:not(:last-child) {
        padding-bottom: 20px;
        margin-bottom: 25px;
    }

    .under main .step_ttl {
        width: 100%;
        padding-top: 0;
        margin-bottom: 15px;
    }

    .under main .step_ttl .numb {
        font-size: 16px;
        margin-right: 15px;
    }

    .under main .step_ttl .numb span {
        font-size: 48px;
    }

    .under main .step_ttl .big {
        font-size: 20px;
        padding-top: 25px;
        line-height: 1.5em;
    }

    .under main .step_des {
        width: 100%;
    }

    .under main .step_img {
        width: 100%;
        position: relative;
        top: inherit;
        right: inherit;
        text-align: center;
    }

    .under main .box_map {
        height: 250px
    }

    .alignleft,
    .alignright {
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

    /*potype info*/
    .under main .news_step li {
    }

    .under main .box_img_post li {
    }
	.under main .box_img_post li.sub01 {
		margin-bottom: 50px;
	}
	.under main .news_step .news_step_before {

    margin-bottom: 60px;
}
    .under main .box_img_post+.news_txt01 {
        margin-top: 25px;
    }

    .under main .news_step li .post_img_center,
    .under main .box_img_post li .post_img_center {
        height: auto;
        /* max-height: 300px; */
    }

    .under main .news_step li:not(:last-of-type) {
        margin-right: 0px;
    }

    .under main .box_img_post li:not(:last-of-type) {
        margin-right: 0px;
    }
	.under main .news_step li, .under main .box_img_post li {
		width: 100%;
	}
    .under main .news_step .news_step_before:before {
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left: 20px solid var(--scolor);
        bottom: -47px;
        top: auto;
        right: 0;
        left: 0;
        margin: 0 auto;
        transform: rotate(90deg);
    }

    .under main .next_prev ul {
        flex-direction: column;
        max-width: 300px;
        margin: 0 auto;
    }

    .under main .prevPage,
    .under main .nextPage {
        position: static;
    }

    .under main .next_prev li {
        width: 100%;
    }

    .under main .next_prev li:not(:last-child) {
        margin-bottom: 20px;
    }

    .under main .news_list,
    .under main .info_detail {
        margin: 0 auto;
        width: 100%;
    }

    .under main .news_img {
        height: 30vw;
    }

    .under main .news_info_post .cate {
        padding: 3px 5px 1px;
        min-width: 75px;
        font-size: 13px;
    }

    .under main .inner_con .alignleft,
    .under main .inner_con .alignright,
    .under main .inner_con .aligncenter {
        float: none;
        margin: 0 auto 25px;
        display: table;
        width: auto;
    }

    .under main .center01 {
        max-width: 360px;
        margin: 0 auto 16px;
    }

    .under main .inner_con .alignleft,
    .under main .inner_con .alignright,
    .under main .inner_con .aligncenter {
        max-height: 300px;
    }
	.under main .news_step, .under main .box_img_post {
		flex-direction: column;
	}
    .under main .box_img_post li .post_img_center {
        margin-bottom: 15px;
    }
	.u_editor del {
		font-size: 14px;
	}
    .under main .info_wrap {
        flex-direction: column;
        align-items: center;
    }

    .under main .news_list {
        order: 1;
    }

    .under main .news_pagination {
        order: 2;
    }

    .under main .list_cate {
        order: 3;
    }

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

    .under main .news_list li {
        width: calc(50% - 10px);
    }

    .under main .news_list li:nth-child(n+3) {
        margin-top: 20px;
    }

    .under main .list_cate {
        width: 100%;
        margin-top: 40px;
    }

    .under main .un_tt03 {
        font-size: 16px;
    }

    .under main .doctor_box {
        flex-direction: column;
    }

    .under main .doctor_box_l {
        width: 100%;
        margin-right: 0px;
        margin-bottom: 25px;
        max-width: 300px;
    }

    .under main .u_ttl7 {
        font-size: 20px;
        line-height: 1.4;
    }

    .under main .u_ttl7 .sm {
        font-size: 16px;
    }

    .under main table th.w25_sp {
        width: 23%;
    }

    .under main .box_right{
        margin-bottom: 30px;
    }
}

/* IPHONE 14 */
@media screen and (max-width: 440px) {
    .under main .list_bnn .bnn {
        width: 100%;
        height: 130px;
    }

    .under main .list_bnn .bnn::after {
        background-image: url('../images/bnn_left.png'), url('../images/bnn_right.png');
        background-position: left top, right top;
        background-repeat: no-repeat, no-repeat;
        background-size: 30px 100%, 30px 100%;
    }

    .under main .list_bnn .bnn a {
        font-size: 18px;
    }

    .under main .list_bnn .bnn a::before {
        width: calc(100% - 60px);
        height: 120px;
        position: absolute;
        top: 5px;
        left: 30px;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
        content: '';
    }

    .under main .list_bnn .bnn .big {
        font-size: 20px;
    }

    .under main .list_bnn .bg1 a {
        padding-right: 10px;
    }

    .under main .list_bnn .bg1 a .sm {
        padding-right: 0;
    }

    .under main .list_bnn .bg1 a::after {
        right: 15px;
        top: calc(50% + 12px);
    }

    .under main .list_bnn .bg2 .sm {
        padding-left: 0;
    }

    .under main .doctor_flex .doctor_item {
        width: 100%;
    }

    .under main .flex_arr li {
        width: 100%;
        margin: 0 0 60px;
    }

    .under main .flex_arr li:last-child {
        margin-bottom: 0;
    }

    .under main .flex_arr li::after {
        left: calc(50% - 9px);
        bottom: -45px;
        transform: rotate(90deg);
        top: inherit;
        right: inherit;
    }

    .under main .flex_arr li:nth-child(2n + 2)::after {
        display: block;
    }

    .under main .flex_arr li.last::after {
        display: none !important;
    }

    .under main .flex_2col .item {
        width: 100%;
    }

    .under main .news_list li {
        width: 100%;
    }

    .under main .news_list li:nth-child(n+2) {
        margin-top: 40px;
    }

    .under main .news_list li:not(:nth-child(2n)) {
        margin-right: 0px;
    }

    .under main .news_list li {
        width: 100%;
    }

    .under main .news_img {
        height: 50vw;
    }
}

/* IPHONE 6 */
@media screen and (max-width: 360px) {
    .sp360 {
        display: block !important;
    }

    .under main .news_step li .post_img_center,
   
   
    .under main .u_ttl7 .sm {
        font-size: 15px;
    }

    .under main .frame01 .btn a {
        width: 260px;
    }
}

/* FIREFOX ONLY */
@-moz-document url-prefix() {}

/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}