@media screen and (min-width: 751px) {
    .lightbox, .lightboxOverlay {
        min-width: var(--container);
    }
    .under main .image_l {
        float: left;
        margin: 0 50px 0 0
    }
    .under main .image_r {
        float: right;
        margin: 0 0 0 50px
    }
    /* BUTTON OVN DETAIL */
    .under main .btn_list {
        display: flex;
        justify-content: center;
        position: relative;
        max-width: 840px;
        margin: 0 auto;
    }
    .under main .btn_list .btn_blue a {
        width: 260px;
    }
    .under main .btn_list .is_prev {
        position: absolute;
        top: 0;
        left: 0;
    }
    .under main .btn_list .is_next {
        position: absolute;
        top: 0;
        right: 0;
    }
    .sec04_box .txt a:hover {
        text-decoration: none;
    }
    /* HOVER */
    .under main #topic_path li a:hover {
        text-decoration: none
    }
    .under main .bnn a:hover, .example-image-link:hover {
        opacity: 0.7;
    }
    .res_bnr_wrap > a:hover {
        opacity: 0.8;
    }
    .under main .link:hover {
        color: var(--mcolor);
        text-decoration: none;
    }
    .under main .box_h4 section:not(:last-child) {
        padding-bottom: 50px;
    }
    .under #content > .inner.pd01 {
        padding: 0 95px 110px 154px;
    }
    .under main .sec04_step .item:nth-child(n + 4) {
        margin-top: 30px;
    }
    .under main .list01 li a:hover {
        color: #001980;
    }
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    .under #content > .inner {
        padding: 0 50px 163px 50px;
    }
    .under #content > .inner.pd01 {
        padding: 0 50px 75px 50px;
    }
    .under main .un_box_white.un_box_white3, .under main .un_box_white {
        padding: 75px 0;
    }
    .under main .un_box_white {
        border-radius: 0px 100px 0px 100px;
    }
    .under #content > .inner2 {
        padding-top: 75px;
        padding-bottom: 75px;
    }
    .under main .un_page_ttl3 {
        margin-left: -49px;
    }
    .under main .box_talk:before {
        left: -165px;
    }
    .under main .box_blog {
        padding: 50px;
    }
    .under main .box_frame_w .btn_dl a {
        width: 260px;
        box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.16);
        font-size: 14px;
        background-position: right 15px center;
        background-size: 7px auto;
    }
    .under main .box_frame_w .tt {
        font-size: 17px;
        width: 150px;
    }
    .under main .box_frame_w .txt {
        font-size: 14px;
    }
    .under main .box_frame_w {
        padding: 30px 20px;
    }
    .under main .box_frame_con {
        padding: 0 20px 40px;
    }
    .under main .frame_txt {
        margin-left: 50px;
        width: calc(100% - 50px);
        padding: 150px 60px;
    }
    .under #content > .inner:before {
        border-radius: 0px 100px 0px 100px;
    }
    .under main #top_info {
        border-radius: 0px 0px 0px 100px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {
    .under main .un_page_ttl {
        font-size: 44px;
    }
    .under main .box_talk {
        padding: 38px 20px 45px;
        max-width: 720px;
        left: 60px;
    }
    .under main .box_talk .txt1, .under main .box_talk .txt2 p, .under main .box_talk .txt3 {
        font-size: 16px;
    }
    .under main .box_frame_link ul li a {
        width: 380px;
    }
    .under main .box_h4 {
        padding: 40px;
    }
    .under main .image_r {
        margin: 0 0 0 30px;
    }
    .under main .image_l {
        margin: 0 30px 0 0px;
    }
    .under main .image_r, .under main .image_l {
        width: 400px;
    }
    .under main .box_h4 .image_r, .under main .box_h4 .image_l {
        width: 350px;
    }
    .under main .un_page_ttl3 {
        width: 900px;
        padding: 19px 15px 19px 50px;
    }
    .under main .box_frame_link ul li:not(:nth-child(2n)) {
        margin-right: 20px;
    }
    .under main .box_white2 .item {
        padding: 45px 40px 15px;
    }
    .under main .un_box_white.un_box_white2 {
        padding: 140px 0 0px;
    }
    .under #content > .inner {
        padding: 0 50px 75px 50px;
    }
    .under #content > .inner2 {
        padding-top: 70px;
        padding-bottom: 57px;
    }
    .under main .frame_pick .img {
        margin-right: 50px;
    }
    .under main .frame_pick {
        padding: 110px 40px 69px 0;
    }
    .under main .frame_txt {
        padding: 110px 50px;
    }
    .under main .frame_pick .ttl .en, .under main .frame_pick .ttl {
        margin-bottom: 30px;
    }
    .under main .box_frame_link {
        padding: 30px 15px 45px;
    }
    .under main .box_frame_link ul li a {
        font-size: 18px;
    }
    .under main .box_frame_link ul li a:before {
        right: 20px;
    }
    .under main .sec04_step .item {
        width: calc(25% - 6px);
    }
    .under main .sec04_step .sec04_box {
        padding: 7px 10px 15px;
    }
    .under main table th, .under main table td {
        padding: 10px 5px;
    }
    .under main table.tb01 th, .under main table.tb0 td {
        font-size: 16px;
    }
    .under main .box_white2 .box_gray dl {
        flex-direction: column;
    }
  
    .under main .box_white2 .wrap {
        margin-top: 25px;
    }
    .under main table {
        padding: 11px 10px 49px;
    }
	.under main .faq .un_frame02 .ttl {
    padding-right: 50px;

}
	.under main .sec04_box .ttl {
        font-size: 15px;
    }
}
@media screen and (max-width: 750px) {
    .under main .box_talk:before {
        background-size: 60px auto;
        width: 60px;
        left: -48px;
        top: 54px;
    }
    .under main .box_talk .txt2 {
        margin-bottom: 15px;
    }
    .under main #content {
        padding: 0 0 40px;
    }
    .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:before {
        z-index: 1;
    }
    /*  TOP INFO  */
    .under main #top_info {
        height: 180px;
        border-radius: 0px 0px 0px 70px;
    }
    .under main #top_info .inner {
        padding-left: 0;
    }
    .under main #top_info:before {
        width: 140px;
        height: 100px;
    }
    .under main #topic_path {
        margin-bottom: 15px
    }
    .under main #topic_path li, .under main #topic_path li a {
        font-size: 14px;
    }
    /*============ HEAD TITLE ============ */
    .under main {
        padding-top: 60px;
    }
    .under main .un_page_ttl {
        font-size: 26px;
        line-height: 1.4;
        text-align: center;
    }
    .under #content > .inner {
        padding: 15px 20px 60px;
    }
    .under #content > .inner.pd01 {
        padding-bottom: 50px;
    }
    .under #content > .inner2 {
        padding-top: 50px;
    }
    .under #content > .inner:before {
        border-radius: 0px 70px 0px 70px;
    }
    .under main .un_box_white, .under main .un_box_white.un_box_white3 {
        border-radius: 0px 70px 0px 70px;
        padding: 50px 20px 50px 20px;
    }
    .under main .un_box_white:before {
        height: 200px;
    }
    .under main .un_page_ttl3, .u_editor h3, .under main .box_blog .u_editor h3 {
        font-size: 24px;
        width: calc(100% + 20px);
        margin-left: -20px;
        padding: 15px 15px 15px 20px;
        margin-bottom: 30px;
        border-radius: 0px 15px 15px 0px;
    }
    .under main .un_page_ttl4, .u_editor h4 {
        padding-left: 18px;
        font-size: 22px;
        margin-bottom: 20px;
    }
    .under main .un_page_ttl4::before, .u_editor h4:before {
        width: 4px;
        height: 100%;
        top: 3px;
    }
    .under main h5:before, .u_editor h5:before {
        width: 20px;
        height: 4px;
        top: 12px;
    }
    .under main .un_page_ttl5, .u_editor h5 {
        font-size: 20px;
        margin-bottom: 15px;
        padding-left: 30px;
    }
    /*============ TABLE ============ */
    .under main table {
        margin-bottom: 30px;
        padding: 4px 10px 30px;
    }
    .under main table td, .under main table th {
        padding: 10px 8px 5px;
    }
    .under main table.tb_block tr {
        display: flex;
        flex-direction: column
    }
    .under main table.tb_block tr:not(:last-child) th {}
    .under main table.tb_block td + td {
        border-top: none;
    }
    .under main table.tb_block th, .under main table.tb_block td {
        width: 100%;
        font-size: 16px;
        padding-top: 10px;
    }
    .under main table.mailform th, .under main table th {
        font-size: 16px;
    }
    .under main table.mailform th {
        padding: 9px 0px 10px;
    }
    .under main table.mailform th:before, .under main table.mailform td:before {
        width: calc(100% - 0px);
    }
    /* 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: #001980;
        font-size: 13px;
    }
    /*============ LIST ============ */
    .under main .list01 {}
    .under main .list01 li {}
    .under main .list02 {}
    .under main .list02 li {}
    .under main .list02 li::before {}
    .under main .list_check {}
    .under main .list_check li {}
    /* LIST FAQ */
    .under main .list_faq dl {
        margin-bottom: 30px;
        padding: 15px
    }
    .under main .list_faq dt span {
        top: 3px;
    }
    .under main .list_faq dt {
        font-size: 16px;
        min-height: 50px;
        padding-bottom: 3px;
    }
    /* List STEP */
    .under main .list_step dl {
        margin-bottom: 20px;
        padding-bottom: 40px
    }
    /*============ FRAME ============ */
    .under main .frame01 {
        padding: 30px 15px
    }
    .under main .frame02 {
        padding: 30px 15px
    }
    .under main .frame_pick {
        padding: 30px 15px;
        border-radius: 50px 0px 0px 50px;
        margin-right: -20px;
        width: calc(100% + 20px);
    }
    /*============ ORTHER ============ */
    .under main .box_map {
        height: 250px
    }
    /*============ OVN ============ */
    .under main .ovn_detail_ct img {
        max-width: 100%;
        max-height: 300px;
    }
    .under main .box_talk {
        padding: 25px 15px;
        margin: 0 auto 60px;
        width: calc(100% - 60px);
    }
    .under main .box_talk .tt1 {
        font-size: 18px;
    }
    .under main .box_talk:after {
        left: -25px;
        top: 0;
    }
    .under main .box_frame_link ul li a {
        width: 280px;
        height: 50px;
        font-size: 16px;
        line-height: 1.2;
        text-align: center;
    }
    .under main .box_frame_link ul li a:before {
        background-size: 12px auto;
        width: 12px;
        right: 20px;
    }
    .under main .box_frame_link ul li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .under main .box_frame_link ul li, .under main .box_frame_link ul li a, .under main .box_frame_link ul li.full a {
        width: 100%;
        max-width: 280px;
        height: auto;
    }
    .under main .box_frame_link ul li a, .under main .box_frame_link ul li.full a {
        padding: 8px 25px;
    }
    .under main .box_frame_link ul li:not(:nth-child(2n)) {
        margin-right: 10px;
    }
    .under main .box_frame_link ul li a:before {
        right: 12px;
        background-size: 10px auto;
    }
    .under main .box_frame_link {
        border-radius: 25px;
        padding: 20px 10px 15px;
        margin-bottom: 30px;
    }
    .under main .box_h4 {
        border-radius: 30px;
        padding: 30px 15px;
    }
    .under main .box_h4:not(:last-child) {
        margin-bottom: 30px;
    }
    .under main .un_btn_pink a {
        width: calc(100% - 30px);
        /*width: 100%;*/
        height: auto;
        max-width: 410px;
        padding: 15px 35px 15px 35px;
    }
    .under main .un_btn_pink a:before {
        background-size: 20px auto;
        left: 23px;
    }
    .under main .un_btn_pink a .sm {
        font-size: 14px;
        margin-bottom: 3px;
        line-height: 1.4;
    }
    .under main .un_btn_pink a .lg {
        font-size: 17px;
        line-height: 1.2;
    }
    .under main .un_btn_pink a {
        background-size: 10px auto;
        background-position: right 15px center;
    }
    .under main .box_white2 {
        border-radius: 25px;
        padding-bottom: 25px;
    }
    .under main .box_white2 .item {
        padding: 30px 20px 15px;
    }
    .under main .box_white2 .box_gray dl {
        flex-direction: column;
        padding: 0 15px;
    }
    .under main .box_white2 .box_gray dl dt {
        font-size: 16px;
        margin-right: 0;
		        padding-top: 0px;
    }
    .under main .box_white2 .wrap {
        flex-direction: column-reverse;
        align-items: center;
        margin-top: 0;
    }
    .under main .box_white2 .box_gray dl dd {
        flex-direction: column;
    }
    .under main .box_white2 .box_gray {
        width: 100%;
        margin-right: 0px;
        padding: 20px 0 20px;
        margin-top: 25px;
    }
    .under main .box_white2 .box_gray .sub_ttl {
        width: 100%;
        padding-bottom: 10px;
        margin-bottom: 9px;
        padding-top: 0px;
    }
    .under main .un_frame02, .under main .faq .un_frame02 {
        width: 100%;
        border-radius: 25px;
        padding: 35px 15px 35px;
    }
    .under main .un_frame02 .ttl {
        font-size: 21px;
        padding-bottom: 8px;
        margin-bottom: 20px;
        line-height: 1.4;
        border-block-width: 2px;
    }
    .under main .faq .un_frame02 .ttl {
        padding-right: 0;
    }
    .under main .un_frame02 .txt p .txt_lg {
        font-size: 20px;
    }
    .under main .un_box_white.un_box_white2 {
        padding: 50px 0 0px;
    }
    .under main .frame_pick .img {
        margin: 0 auto 25px;
        max-width: 300px;
    }
    .under main .frame_pick {
        flex-direction: column;
    }
    .under main .frame_pick:after {
        right: -45px;
        top: -87px;
    }
    .under main .frame_pick .ttl .en {
        font-size: 25px;
        margin-bottom: 10px;
    }
    .under main .frame_pick .ttl .ja {
        font-size: 20px;
    }
    .under main .frame_pick .ttl {
        margin-bottom: 20px;
        text-align: center;
    }
    .under main .un_frame02:before, .under main .un_box_white.faq .un_frame02:before,.under main .un_box_white.faq .un_frame02:nth-child(even):before {
        width: 93px;
        height: 135px;
        right: 20px;
        top: auto;
        background-size: 40px auto;
        bottom: 0px;
    }
    .under main .un_frame02 .txt p {
        font-size: 16px;
    }
    .under main .faq .un_frame02 .txt {
        padding-right: 0px;
    }
    .under main .un_box_white.faq .un_frame02:before {
        bottom: -60px;
        right: -13px;
    }
	.under main .un_box_white.faq .un_frame02:nth-child(even):before {
		 bottom: -75px;
		 right: -18px;
		 background-size: 70px auto;
	}
    .under main .un_box_white.faq .un_btn_pink a {
        width: 100%;
    }
    .under main .un_frame02 .txt {
        padding-right: 50px;
    }
    .under main .sec04_step .item.full, .under main .sec04_step .item {
        width: 100%;
    }
    .under main .sec04_step {
        margin-bottom: 50px;
    }
    .under main .list_img li:not(:last-child) {
        margin-right: 20px;
    }
    .under main .list_img li {
        max-width: 400px;
    }
    .under main .list_img.list_img4 {
        flex-wrap: wrap;
    }
    .under main .list_img.list_img4 li {
        width: calc(50% - 10px);
    }
    .under main .list_img.list_img4 li:not(:last-child) {
        margin-right: 0;
    }
    .under main .list_img.list_img4 li:not(:nth-child(2n)) {
        margin-right: 20px;
    }
    .under main .list_img.list_img4 li:nth-child(n+3) {
        margin-top: 25px;
    }
    .btn_list a {
        margin: 0 auto;
    }
    .btn_list li:not(:last-child) {
        margin-bottom: 20px;
    }
    .under main .image_blog img {
        float: none;
        max-width: 100%;
        max-height: 320px;
        margin: 0 auto;
        display: block;
    }
    .under main .box_blog {
        border-radius: 25px;
        padding: 30px 20px;
        margin-bottom: 50px;
    }
    .under main .box_frame_con {
        height: auto;
        margin-bottom: 50px;
        padding: 0 15px;
        margin-top: 30px;
    }
    .under main .box_frame_con .title {
        width: calc(100% - 30px);
        height: 50px;
        font-size: 20px;
        margin: -25px auto 20px;
    }
    .under main .box_frame_con .txt {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .under main .box_frame_con .txt span {
        font-size: 18px;
    }
    .under main .box_frame_w {
        padding: 25px 15px;
        flex-direction: column;
    }
    .under main .box_frame_w .tt {
        font-size: 18px;
        line-height: 1.5;
        width: 100%;
        text-align: center;
        margin-bottom: 15px;
    }
    .under main .box_frame_w .tt:before {
        display: none;
    }
    .under main .box_frame_w .btn_dl a {
        width: 280px;
        height: 60px;
        box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.16);
        font-size: 15px;
        background-position: right 15px center;
        background-size: 7px auto;
    }
    .under main .con_ttl2 {
        font-size: 20px;
    }
    .res_bnr_wrap > a > span {
        font-size: 16px;
    }
    .res_bnr_wrap > a > span.txt-sub02 {
        font-size: 13px;
    }
    .res_bnr_wrap > a > span.txt-main {
        font-size: 22px;
    }
}
@media screen and (max-width: 640px) {
    .under main .box_frame_link ul li:not(:nth-child(2n)) {
        margin-right: 10px;
    }
}
@media screen and (min-width: 441px) and (max-width: 750px) {
    .under main:before {
        background-size: 580px auto;
        background-position: right top;
    }
}
/* 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;
    }
    .under main .box_frame_link ul li a {
        font-size: 14px;
    }
    .under main .un_btn_pink a:before {
        left: calc(50% - 120px);
    }
}
/* IPHONE 6 */
@media screen and (max-width: 360px) {
    .under main .un_page_ttl {
        font-size: 25px;
    }
    .under main .un_page_ttl3 {
        font-size: 23px;
    }
    .under main .box_talk {
        width: calc(100% - 20px);
    }
    .under main .box_talk:before {
        background-size: 35px auto;
        width: 35px;
        left: -23px;
        top: 33px;
    }
    .under main .box_talk:after {
        top: 80px;
    }
    .under main .btn_blue a {
        width: 260px;
        font-size: 16px;
    }
    .under main .box_frame_w .btn_dl a {
        width: 235px;
        height: 48px;
        font-size: 13px;
        background-position: right 10px center;
        background-size: 7px auto;
    }
    .under main table.mailform th {
        font-size: 14px;
    }
    .under main .box_frame_link ul li a:before {
        right: 8px;
    }
    .under main .tb_note {
        font-size: 12px;
    }
    .under main .box_h4 .btn_blue a {
        width: 250px;
    }
    .under main .un_box_white.faq .un_btn_pink a:before {
        left: calc(50% - 110px);
    }
    .under main .un_btn_pink a:before {
        left: calc(50% - 115px);
    }
}
/* 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) {}