@media screen and (min-width: 1921px) {
    .under main section:last-child {
        max-height: 600px;
    }
}
@media screen and (min-width: 751px) {
    .lightbox, .lightboxOverlay {
        min-width: var(--container);
    }
    .under main .image_l {
        float: left;
        margin: 0 30px 0 0
    }
    .under main .image_r {
        float: right;
        margin: 0 0 0 30px;
    }
    .under main .image_r.mb35, .under main .image_l.mb35 {
        margin-bottom: 35px;
    }
    .under main .image_r.mb50, .under main .image_l.mb50 {
        margin-bottom: 50px;
    }
    .under main .image_r.mb80, .under main .image_l.mb80 {
        margin-bottom: 80px;
    }
    .under main .image_r.mb100, .under main .image_l.mb100 {
        margin-bottom: 100px;
    }
    .under main .image_r.mb120, .under main .image_l.mb120 {
        margin-bottom: 120px;
    }
    .under main .image_r.mb140, .under main .image_l.mb140 {
        margin-bottom: 140px;
    }
    .under main .image_r.mb150, .under main .image_l.mb150 {
        margin-bottom: 150px;
    }
    .under main .image_r.mb200, .under main .image_l.mb200 {
        margin-bottom: 200px;
    }
    /* 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 table {
        position: relative;
        top: -10px;
        width: calc(100% + 20px);
        left: -10px;
    }
    /* HOVER */
    .under main #topic_path li a:hover {
        text-decoration: none;
    }
    .under main .list_faq dt:hover {
        opacity: 0.8;
    }
    .under main .bnn a:hover {
        opacity: 0.7;
    }
    .under main .link:hover {
        color: #00ab58;
    }
    .under main .under_anc {
        max-height: calc(100vh - 255px);
    }
    .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: #fff;
        background: var(--mcolor);
    }
    .under main .list_float {
        display: inline-block;
        /*max-width: calc(100% - 550px);*/
        width: calc(100% - 550px);
    }
    .under main .tb_float {
        display: inline-block;
        max-width: calc(100% - 330px);
    }
    .under main .list_faq dd .btn a {
        width: 440px;
    }
    /*    .under main section:last-child {
        height: calc(100vh - 180px);
    }*/
    #buy main section:last-child {
        height: calc(100vh - 350px);
    }
    .under.h_auto main section:last-child {
        height: auto;
    }
    .under main .list_case li:hover .btn a {
        background: url('../images/arrow_w.svg') no-repeat right 25px center /7px var(--mcolor);
    }
    .under main .list_case li:hover .img {
        opacity: 0.8;
    }
    .under main .btn_list .is_prev.btn a:hover {
        background: url(../images/arrow_w_l.svg) no-repeat left 25px center / 9px var(--mcolor);
    }
    .under main .btn.is_none a:hover {
        background: var(--mcolor);
    }
    .under main .bnr_line a:hover {
        opacity: 0.7;
    }
    .under main h2 .sm.sm01 {
        position: relative;
        top: -20px;
    }
    .under main .list01_f {
        display: inline-block;
        width: calc(100% - 550px);
    }
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    .under main p, .under main li, .under main th, .under main td, .under main dd, .under main dt {
        font-size: 18px;
    }
    .under main table {
        border-spacing: 5px;
        top: -5px;
        width: calc(100% + 10px);
        left: -5px;
    }
    .under main .list_check li::before, .under main td .list_check li::before {
        top: 8px;
    }
    .under main .list01 li::before, .under main td .list01 li::before {
        top: 11px;
    }
    .under main .under_main .inner {
        width: 1440px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .under main .under_anc {
        left: calc(50% - 690px);
        padding: 30px 14px 7px;
    }
    .under main .under_content {
        width: 1000px;
        margin-left: auto;
    }
    .under main #top_info .inner {
        padding-left: 310px;
    }
    .under main #topic_path {
        left: 315px;
    }
    .under main h2 {
        font-size: 60px;
        width: 100%;
        text-align: left;
    }
    .under main h3 {
        font-size: 40px;
    }
    .under main h4 {
        font-size: 28px;
        padding: 17px 9px 17px 25px;
    }
    .under main h5 {
        font-size: 30px;
    }
    .under main table th {
        font-size: 26px;
        padding: 20px 10px;
    }
    .under main table td.bg1, .under main table td.bg2 {
        font-size: 20px;
    }
    .under main table td {
        font-size: 18px;
    }
    .under main .list_step dd {
        padding: 22px 35px 41px;
    }
    .under main .frame_pick {
        padding: 54px 30px 41px;
    }
    .under main .list_faq dt {
        font-size: 30px;
        padding: 0 30px;
        line-height: 1.2;
    }
    .under main .list_faq dd .a_tt {
        font-size: 28px;
    }
    .under main .image_r, .under main .image_l {
        width: 360px;
    }
    .under main .frame_pick .image_r, .under main .frame_pick .image_l {
        width: 320px;
    }
    .under main .list_step dt .icon {
        line-height: 48px;
        font-size: 27px;
        padding-left: 5px;
    }
    .under main .frame_pick .pick_ttl {
        margin-bottom: 15px;
        font-size: 26px;
    }
    .under main section {
        padding: 0px 0 80px;
    }
    .under main .mb150_desk {
        margin-bottom: 150px !important;
    }
    .under main .mb50_desk {
        margin-bottom: 50px !important;
    }
    .under main .mb100_desk {
        margin-bottom: 100px !important;
    }
    .under main .mb120_desk {
        margin-bottom: 120px !important;
    }
	.under main .mb130_desk {
        margin-bottom: 130px !important;
    }
    .under main .mb110_desk {
        margin-bottom: 110px !important;
    }
    .under main .mb250_desk {
        margin-bottom: 250px !important;
    }
    .under main .mb160_desk {
        margin-bottom: 160px !important;
    }
    .under main .btn a {
        height: 60px;
        font-size: 20px;
    }
    .under main .btn.lg a {
        width: 450px;
    }
    .under main .list01 li {
        padding-left: 20px;
    }
    .under main .box_flex table th, .under main .box_flex table td {
        padding: 15px;
    }
    .under main .list_float {
        width: calc(100% - 390px);
    }
}
@media screen and (min-width: 751px) and (max-width: 1555px) {
    /*    .under main section:last-child {
        height: calc(100vh - 180px);
    }*/
}
@media screen and (min-width: 751px) and (max-width: 1440px) {
    .under main .under_anc {
        width: 276px;
        left: calc(50% - 654px);
    }
}
@media screen and (min-width: 751px) and (max-width: 1360px) {
    .under main .under_anc ul {
        max-height: calc(100vh - 360px);
    }
    .under main .under_anc {
        max-height: calc(100vh - 250px);
    }
    .under main .under_main .inner {
        width: 1340px;
    }
    .under main .under_content {
        width: 910px;
    }
    .under main .under_anc {
        left: calc(50% - 600px);
        width: 270px;
    }
    .under main .under_anc li a {
        padding: 18px 10px 18px 10px;
        font-size: 16px;
    }
    .under main #top_info .inner {
        padding-left: 315px;
    }
    .under main #topic_path {
        left: 320px;
    }
    .under main table td {
        font-size: 16px;
    }
    .under main .list_check li::before {
        top: 5px;
    }
    .under main .frame01 .list_check li::before, .under main td .list_check li::before {
        top: 8px;
    }
    .under main table td.bg1, .under main table td.bg2 {
        font-size: 18px;
    }
    .under main td .list01 li::before {
        top: 11px;
    }
    .under main table th {
        font-size: 24px;
    }
    /*   .under main section:last-child {
        height: calc(100vh - 180px);
    }*/
    .under main .mb120_lap {
        margin-bottom: 120px !important;
    }
    .under main .mb90_lap {
        margin-bottom: 90px !important;
    }
    .under main .mb50_lap {
        margin-bottom: 50px !important;
    }
    .under main .mb80_lap {
        margin-bottom: 80px !important;
    }
    .under main .mb160_lap {
        margin-bottom: 160px !important;
    }
    .under main .mb200_lap {
        margin-bottom: 200px !important;
    }
    .under main .mb280_lap {
        margin-bottom: 280px !important;
    }
    .under main .mb300_lap {
        margin-bottom: 300px !important;
    }
    .under main .mb320_lap {
        margin-bottom: 320px !important;
    }
    .under main .box_flex table th, .under main .box_flex table td {
        font-size: 16px;
    }
}
@media screen and (min-width: 1281px) and (max-width: 1360px) {
    .under main .under_content {
        width: 900px;
    }
}
@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 60px;
    }
    .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: 25px 15px 8px;
        box-shadow: 4px 5px rgba(87, 48, 18, 0.32);
        border-width: 2px;
        margin-bottom: 50px;
    }
    .under main .under_anc p {
        font-size: 18px;
        margin-bottom: 17px;
        border-bottom: 2px solid #000;
        padding-left: 4px;
        padding-bottom: 10px;
    }
    .under main .under_anc li a {
        padding: 15px;
        display: block;
        margin-bottom: 10px;
        font-size: 18px;
        letter-spacing: 0em;
    }
    /*==========================================================
                  C U S T O M
  ==========================================================*/
    /*  TOP INFO  */
    .under main #top_info {
        height: auto;
        min-height: 200px;
        display: flex;
        border-bottom-width: 5px;
    }
    .under main #top_info::before {
        width: 1000px;
        top: -335px;
        left: auto;
        background-size: 1000px auto;
        right: 0;
    }
    .under main #top_info .inner {
        padding: 0 15px;
        height: inherit;
        flex-direction: column;
        align-items: flex-start;
    }
    .under main #topic_path {
        margin-bottom: 10px;
        position: relative;
        left: 0;
        bottom: auto;
        margin-top: auto;
    }
    .under main .full #topic_path {
        left: 0;
    }
    .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 8px 0 11px;
    }
    /*============ 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 {
        font-size: 24px;
        margin-bottom: 15px;
    }
    .under main h4:not(.un_tt_h) {
        font-size: 22px;
        padding: 15px;
        margin-bottom: 20px;
    }
    .under main h5, .under main .un_tt_h {
        font-size: 22px;
        margin-bottom: 18px;
    }
    .under main h5 .styl01 {
        padding: 0px 0 3px;
    }
    .under main h6 {
        font-size: 20px;
        padding-bottom: 5px;
        margin-bottom: 20px;
    }
    .under main h6::before, .under main h6::after {
        height: 2px;
    }
    .under main .under_main {
        margin-top: 50px;
    }
    /*============ 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;
        margin-bottom: 5px;
    }
    .under main table th, .under main table td {
        padding: 10px 7px;
    }
    /*  .under main table.tb_block tr {
        display: flex;
        flex-direction: column
    }*/
    .under main table th {
        font-size: 18px;
    }
    .under main table th .sm {
        font-size: 16px;
    }
    .under main table td.bg1, .under main table td.bg2 {
        font-size: 19px;
    }
    .under main table td {
        font-size: 18px;
    }
    /* 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: 20px;
        font-size: 18px;
    }
    .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: 12px;
    }
    .under main .frame_pick .pick_ttl {
        font-size: 20px;
        margin-bottom: 5px;
        text-align: center;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    /* LIST FAQ */
    .under main .list_faq dl {
        margin-bottom: 20px;
        padding: 0;
    }
    .under main .list_faq dt span {
        margin-right: 10px;
    }
    .under main .list_faq dt {
        font-size: 20px;
        min-height: 60px;
        line-height: 1.3;
        padding: 5px 40px 5px 20px;
    }
    .under main .list_faq dt span, .under main .list_faq dd > span {
        font-size: 30px;
        padding-bottom: 0;
        top: 10px;
        left: -25px;
    }
    .under main .list_faq dd {
        margin-left: 15px;
        padding: 8px 15px 25px 40px;
    }
    .under main .list_faq dd .txt {
        padding-left: 0;
    }
    .under main .list_faq dd .a_tt {
        font-size: 18px;
        padding-left: 30px;
        margin-bottom: 10px;
    }
    /* List STEP */
    .under main .list_step dl {
        margin-bottom: 60px;
        padding-bottom: 0px;
        padding-top: 20px;
    }
    .under main .list_step dd {
        padding: 20px 15px 23px;
    }
    .under main .list_step dt .icon {
        width: 120px;
        height: 41px;
        line-height: 45px;
        font-size: 20px;
        padding-left: 0px;
        margin-right: 10px;
    }
    .under main .list_step dl:not(:last-child)::before {
        width: 60px;
        height: 80px;
        bottom: -76px;
        left: 20px;
        background-size: 60px auto;
    }
    .under main .list_step dt {
        font-size: 20px;
        line-height: 1.5;
        padding-right: 15px;
    }
    /*============ FRAME ============ */
    .under main .frame01 {
        padding: 30px 15px
    }
    .under main .frame02 {
        padding: 30px 15px
    }
    .under main .frame_pick {
        padding: 45px 15px 25px;
        border-width: 7px;
    }
    .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 .un_bnr_tel {
        flex-direction: column;
        align-items: center;
    }
    .under main .un_bnr_tel .bnr_tel {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .under main .un_bnr_tel .bnr_tel a {
        background-position: left top 4px;
        font-size: 36px;
        background-size: 24px auto;
        padding-left: 30px;
    }
    .under main .box_flex {
        flex-direction: column;
    }
    .under main .btn.lg a {
        height: 60px;
        width: 290px;
    }
    .under main .list_faq dd .btn a {
        width: 320px;
        font-size: 16px;
    }
    .under main .styl01, .under main .styl02 {
        font-size: 110%
    }
    .under main .list_case {
        display: flex;
        flex-direction: column;
        max-width: 450px;
        margin: 0 auto -50px;
    }
    .under main .list_case li:not(:nth-child(3n)) {
        margin-right: 0;
    }
    .under main .list_case li {
        width: 100%;
    }
    .under main .list_case li .btn a {
        margin: 0 auto;
        font-size: 15px;
    }
    .under main .list_case li .title {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .under main .list_case li .date {
        margin-bottom: 20px;
    }
    .under main .list_case li .img {
        height: 45vw;
    }
    .under main .btn_list {
        max-width: 280px;
        margin: 0 auto;
    }
    .under main .btn_list li:not(:last-child) {
        margin-bottom: 25px;
    }
    .under main .box_voice {
        flex-direction: column;
    }
    .under main .box_voice .img img {
        max-height: 350px;
    }
    .under main .box_voice .img {
        width: 100%;
        margin: 0 auto 25px;
        text-align: center;
    }
    .under main .top_post .cate {
        padding: 3px 10px 0;
        font-size: 16px;
    }
    .under main #top_info.full .inner {
        padding: 7px 15px 0;
    }
    .under main .under_content p {
        font-size: 18px;
    }
    .under main .mb30_sp {
        margin-bottom: 30px;
    }
    .under main .list_faq dt:after {
        width: 19px;
        right: 15px;
    }
    .under main .list_faq dt:before {
        right: 15px;
        border-right: 10px solid transparent;
        border-left: 10px solid transparent;
        border-top: 12px solid #fff;
        top: calc(50% - 6px);
    }
    .under main .bnr_line a {
        border-width: 5px;
    }
    .under main .bnr_line a .lg {
        font-size: 24px;
    }
}
/* 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 .bnr_line a, .under main .un_bnr_tel .bnr_tel {
        width: 340px;
    }
    .under main .un_bnr_tel .bnr_tel .txt {
        font-size: 13px;
    }
    .under main .bnr_line a .sm {
        font-size: 13px;
    }
    .under main .list_faq dd .btn a {
        width: 285px;
        font-size: 15px;
    }
    .under main .list_case li .img {
        height: 55vw;
    }
}
/* IPHONE 6 */
@media screen and (max-width: 374px) {
    .under main h2 {
        font-size: 25px;
    }
    .under main .tb_note {
        font-size: 14px;
    }
    .under main .un_bnr_tel .bnr_tel a {}
    .under main .un_bnr_tel .bnr_tel .txt {
        font-size: 12px;
    }
    .under main .bnr_line a, .under main .un_bnr_tel .bnr_tel {
        width: 290px;
    }
    .under main .bnr_line a .sm {
        font-size: 11px;
    }
    .under main .list_faq .btn a {
        width: 230px;
        height: 50px;
    }
    .under main .list_faq dd .btn a {
        width: 100%;
    }
    .under main .list_faq dd .btn.sm a {
        font-size: 3.8vw;
    }
    .under main .list_step dt {
        font-size: 18px;
    }
    .under main .list_step dt .icon {
        width: 110px;
        height: 39px;
        line-height: 42px;
        font-size: 18px;
    }
    .under main .btn.lg a {
        font-size: 16px;
    }
}