@media screen and (min-width: 1921px) {
    .under main #top_info::before, .sec_case:before, .sec03:before {
        width: 100%;
        left: 0;
        background-size: cover;
    }
    .under main #topic_path {
        max-width: 1920px;
        margin: 0 auto;
    }
}
@media screen and (min-width: 751px) {
    .lightbox, .lightboxOverlay {
        min-width: var(--container);
    }
    .under main .image_l {
        float: left;
        margin: 0px 30px 0 0
    }
    .under main .image_r {
        float: right;
        margin: 0px 0 0 30px;
    }
	.under main .image_r.mb30 {
		margin-bottom: 30px;
	}
    /* BUTTON OVN DETAIL */
    .under main .btn_list {
        display: flex;
        justify-content: center;
        position: relative;
        margin-top: -50px;
    }
    .under main .btn_list .is_prev {
        position: absolute;
        top: 0;
        left: 0;
    }
    .under main .btn_list .is_next {
        position: absolute;
        top: 0;
        right: 0px;
    }
    .under main .btn_list_ovn {
        max-width: 700px;
        margin: 0 auto;
    }
    /* HOVER */
    .under main #topic_path li a:hover {
        text-decoration: none;
    }
    .under main .bnn a:hover {
        opacity: 0.7;
    }
    .under main .link:not(a[target=_blank]):hover{
        color: var(--scolor);
    }
	.under .list_ovn li a:hover {
		color: var(--scolor)!important;
		border-bottom-color: var(--scolor);
	}
    .under main .under_anc {
        max-height: calc(100vh - 220px);
        overflow: auto;
    }
    .under main .under_anc ul {
        max-height: calc(100vh - 390px);
        overflow: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        position: relative;
        top: -1px;
    }
    .under main .under_anc li.active a, .under main .under_anc li a:hover {
        color: var(--mcolor);
    }
    .under main .btn_list .is_next.btn a:hover {
        background: url(../images/arrow_w_right.png) no-repeat right 20px center/10px var(--scolor);
    }
    .under main .btn_list .is_prev.btn a:hover {
        background: url(../images/arrow_w_left.png) no-repeat left 20px center/10px var(--scolor);
    }
    .under main .btn.is_none a:hover,.under main .btn_lg a:hover {
        background: var(--scolor);
    }
    .under main .mh_content {
        min-height: 400px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    .under main .under_anc {
        left: 0px;
        width: 300px;
    }
    .under main .under_main .inner {
        width: 1310px;
        padding-right: 0px;
        padding-left: 335px;
    }
    .under main .under_content {
        width: 100%;
    }
    .under main .under_anc.active {
        left: auto;
        right: calc(50% + 355px);
    }
	.under main .list_img > div {
		 width: calc(33.333% - 20px);
	}
	.under main .list_img > div.w50 {
    width: calc(50% - 20px);
}
}
@media screen and (min-width: 751px) and (max-width: 1555px) {}
@media screen and (min-width: 751px) and (max-width: 1440px) {}
@media screen and (min-width: 751px) and (max-width: 1360px) {}
@media screen and (min-width: 751px) and (max-width: 1280px) {
    .under main .under_main .inner {
        width: 1200px;
    }
    .under main .under_anc.active {
        right: calc(50% + 300px);
    }
}
@media screen and (max-width: 750px) {
    .under main .content_full {
        padding-top: 40px;
    }
    .under main #content {
        padding: 0 0 60px
    }
    .under main section {
        padding: 0 0 40px;
    }
    .under main .image_r, .under main .image_l {
        float: none;
        display: inline-block;
        width: 100%;
        text-align: center;
        margin: 0 auto 30px !important
    }
    .under main .under_main .inner {
        width: 100%;
        padding: 0 15px;
    }
    .under main .under_anc {
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        padding: 0;
        margin-bottom: 50px;
    }
    .under main .under_anc_tt {
        font-size: 18px;
        margin-bottom: 23px;
        padding-bottom: 10px;
        max-width: inherit;
        border-bottom-width: 3px;
    }
    .under main .under_anc li a {
        padding: 0;
        display: block;
        font-size: 14px;
    }
    .under main .under_anc li:not(:last-child) {
        margin-bottom: 7px;
    }
    .under main .under_anc .wrap:before {
        left: 10px;
        top: -17px;
        background-size: 50px auto;
    }
    .under main .under_anc .wrap {
        padding: 23px 15px 15px;
        box-shadow: 2px 3px 6px 0 rgba(0, 0, 0, 0.1);
        width: 100%;
        margin-bottom: 40px;
        top: 0;
    }
    .under main .btn_lg a {
        height: 50px;
        font-size: 20px;
    }
    /*==========================================================
                  C U S T O M
  ==========================================================*/
    /*  TOP INFO  */
    .under main #top_info {
        height: auto;
        min-height: 250px;
        display: flex;
        padding-top: 60px;
    }
    .under main #top_info::before {
        width: 100%;
        top: 0;
        left: auto;
        background-size: cover;
    }
    .under main #top_info .inner {
        padding: 0 15px;
        height: inherit;
        flex-direction: column;
        align-items: flex-start;
    }
    .under main #topic_path {
        margin-bottom: 10px;
        padding: 0 15px;
        margin-top: 5px;
    }
    .under main .full #topic_path {
        left: 0;
    }
    .under main #topic_path li, .under main #topic_path li a {
        font-size: 13px;
    }
    .under main #topic_path li:not(:last-child)::after {
        margin: 0 3px 0 7px;
    }
    /*============ HEAD TITLE ============ */
    .under main h2 {
        font-size: 26px;
        height: 100%;
        display: flex;
        align-items: center;
        width: 100%;
        letter-spacing: 0;
        justify-content: center;
        text-align: center;
        padding: 20px 0;
        line-height: 1.3;
        flex-direction: column;
    }
    .under main h2 .sm {
        position: relative;
        bottom: -6px;
    }
    .under main h3:not(.stl1) {
        font-size: 24px;
        margin-bottom: 15px;
        border-bottom-width: 2px;
    }
    .under main h3:not(.stl1):before {
        width: 100px;
        height: 2px;
        bottom: -2px;
    }
    .under main h3.stl1 {
        font-size: 24px;
        margin-bottom: 25px;
    }
    .under main h4 {
        font-size: 22px;
    }
    .under main h4.stl2 {
        padding: 9px 13px 5px 13px;
    }
    .under main h5 {
        font-size: 18px;
        line-height: 1.4;
    }
    .under main h6 {
        margin-bottom: 20px;
    }
    .under main h6::before, .under main h6::after {
        height: 2px;
    }
    .under main .under_main {
        margin-top: 50px;
    }
    .under main .under_content {
        width: 100%;
    }
    /*============ TABLE ============ */
    .under main table {
        margin-bottom: 30px;
        border-spacing: 5px;
    }
    .under main table.tb_block {
        border-spacing: 0px;
    }
    .under main table.tb_block td, .under main table.tb_block th {
        display: block;
        width: 100% !important;
    }
    .under main table.tb_block tr td:not(:last-child) {
        border-bottom: none;
    }
    .under main table th, .under main table td {
        padding: 10px 7px 7px;
    }
    .under main table th,.under main table.mailform th, .under main table td,.under main table.mailform td {
        font-size: 16px;
    }
    .under main table th .sm {
        font-size: 16px;
    }
    .under main table td.bg1, .under main table td.bg2 {
        font-size: 19px;
    }
    /* TABLE SCROLL */
    .under main .tb_scroll {
        overflow: scroll;
    }
    .under main .tb_scroll:not(:last-child) {
        margin-bottom: 30px;
    }
    .under main .tb_scroll table {
        width: 900px;
    }
    .under main .tb_note {
        margin-bottom: 10px;
        color: #999;
    }
    /*============ LIST ============ */
    .under main .list01 {}
    .under main .list01 li {
        padding-left: 15px;
    }
    .under main .list02 {}
    .under main .list02 li {}
    .under main .list02 li::before {
        top: 3px;
    }
    .under main .list_check li::before, .under main td .list_check li::before {
        top: 8px;
    }
    .under main .list_check {}
    .under main .list_check li {
        font-size: 18px;
    }
    .under main .list01 li::before, .under main td .list01 li::before {
        top: 10px;
        width: 8px;
        height: 8px;
    }
    .under main .frame_pick .pick_ttl {
        font-size: 20px;
        text-align: center;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    /*============ FRAME ============ */
    .under main .frame01, .under main .frame_has_img {
        padding: 25px 20px;
    }
    .under main .frame02 {
        padding: 30px 15px
    }
    .under main .frame_pick {
        padding: 45px 15px 25px;
        border-width: 7px;
        border-width: 3px;
    }
    .under main .frame_pick .pick_ttl span {
        top: -25px;
        width: 150px;
        height: 45px;
        font-size: 22px;
        line-height: 1;
        padding-top: 13px;
    }
    /*============ ORTHER ============ */
    .under main .box_map {
        height: 250px
    }
    /*============ OVN ============ */
    .under main .ovn_detail_ct img {
        max-width: 100%;
        max-height: 300px;
    }
    .under main .box_flex {
        flex-direction: column;
    }
    .under main .btn.lg a {
        height: 60px;
        width: 290px;
    }
    .under main .btn_list {
        max-width: 280px;
        margin: 0 auto;
    }
    .under main .btn_list li:not(:last-child) {
        margin-bottom: 25px;
    }
    .under main #top_info.full .inner {
        padding: 7px 15px 0;
    }
    .under main .list_img > div.w50, .under main .list_img > div {
        width: 100%;
    }
    .under main .list_img {
        justify-content: center;
        max-width: 400px;
        margin: 0 auto -33px;
    }
    .under main .un_ttl1 {
        flex-direction: column;
    }
    .under main .btn_list_ovn {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .under main .ovn_img_center img {
        max-width: 100%;
        max-height: 300px;
    }
	.under main .u_outer_sp {
		display: flex;
		flex-direction: column-reverse;
	}
}
/* IPHONE 14 */
@media screen and (max-width: 440px) {
    /*============ ORTHER ============ */
    /*============ OVN ============ */
    .under .ovn_list dl {
        flex-wrap: wrap;
    }
    .under .ovn_list dd {
        width: 100%;
        margin-top: 10px;
    }
    .under .ovn_list dt img {
        top: inherit;
    }
}
@media screen and (max-width: 425px) {
    .under main h2 {
        font-size: 6vw;
        line-height: 9vw;
    }
}
/* IPHONE 6 */
@media screen and (max-width: 374px) {}