@media screen and (min-width: 751px) {
    #en1736498487_01_label:hover {
        background-color: rgba(0, 0, 0, 0) !important
    }

    .wp-pagenavi a:hover,
    .pagination a:hover {
        opacity: .8
    }

    .ublog-bitem .ulink:hover {
        opacity: .8
    }

    #fmail input.postcode:hover {
        background-color: #fff;
        color: var(--cl-primary)
    }

    .ubtn:hover,
    .btn-prev-next a:hover,
    .ublog-binfo .ubcnt .ubntn:hover,
    .btn-prev-next .prevPage>a:hover,
    .site_top a:hover,
    .submit_confirm_button:hover,
    .submit_send_button:hover,
    .submit_cancel_button:hover {
        opacity: .8
    }

    #topic_path a:hover {
        color: var(--cl-primary);
        text-decoration: underline;
        text-underline-offset: 3px
    }

    .ulink.unotab:hover {
        text-decoration: underline;
        text-underline-offset: 2px
    }

    .ubgcs {
        position: relative;
        background-color: rgba(0, 0, 0, 0) !important;
        border-left: 10px solid #fff !important;
        width: fit-content !important
    }

    .ubgcs::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        background-color: #5999ca;
        border-radius: 10px;
        top: 0;
        left: 0;
        z-index: -1
    }

    .toc-002 a:hover {
        color: var(--cl-primary);
        text-decoration: underline;
        text-underline-offset: 3px
    }

    .usetcol.expand {
        margin-left: -100px;
        width: calc(100% + 200px)
    }
}

@media screen and (width: 1920px) {
    #top_info {
        padding-top: 110px
    }
}

@media screen and (min-width: 751px)and (max-width: 1560px) {
    #top_info {
        min-height: 500px;
        padding-top: 120px;
        background-position-y: -50px
    }

    .umvs-bg {
        min-height: 150px
    }
}

@media screen and (min-width: 751px)and (max-width: 1400px) {
    .usetcol.expand {
        margin-left: 0;
        width: 100%
    }

    .usetcol-ttl {
        font-size: 18px
    }
}

@media screen and (min-width: 1px)and (max-width: 750px) {

    .image-l,
    .image-r {
        float: none;
        text-align: center;
        margin: 0 0 15px
    }

    #content {
        padding: 30px 0 50px
    }

    #top_info {
        width: 100%;
        max-width: 100%;
        min-height: 300px;
        background-size: cover;
        padding: 100px 0
    }

    .umvs-bg {
        width: 100%;
        min-height: auto;
        top: 0
    }

    .uh2 {
        font-size: 22px;
        line-height: 1.6em;
        left: 0;
        padding: 0
    }

    #topic_path {
        padding: 15px 0
    }

    .uh3 {
        margin: 0 auto 30px
    }

    .uh3-jp {
        padding-top: 30px;
        font-size: 20px
    }

    .uh3-en {
        font-size: 16px;
        left: 0
    }

    .uh4 {
        font-size: 18px;
        padding: 15px 20px 12px;
        margin-bottom: 25px;
        letter-spacing: .05em
    }

    .uh4::before {
        width: 4px;
        height: calc(100% - 20px);
        top: 10px;
        left: 8px
    }

    .uh5 {
        font-size: 16px;
        padding-bottom: 15px;
        margin-bottom: 25px
    }

    .uh6 {
        font-size: 16px;
        margin-bottom: 30px
    }

    section .image-r {
        width: calc(100% - 10px);
        max-width: fit-content;
        margin: 0 auto 25px
    }

    section .image-r::before {
        top: 10px;
        left: 10px
    }

    section .image-r img {
        border-radius: 10px
    }

    section .image-l img {
        border-top-left-radius: 10px;
        border-top-right-radius: 25px;
        border-bottom-left-radius: 25px;
        border-bottom-right-radius: 10px
    }

    .ubg-style {
        padding: 50px 0;
        margin: 30px auto
    }

    section {
        margin-bottom: 50px
    }

    .ubox-flex {
        flex-direction: column
    }

    .uls-icon,
    .ublog-detail ul:not([class]) {
        margin-bottom: 30px
    }

    .uls-icon li,
    .ublog-detail ul:not([class]) li {
        font-size: 16px;
        padding-left: 30px;
        background-position: top 2px left;
        background-size: 18px auto;
        line-height: 1.6em
    }

    .uls-number li,
    .ublog-detail ol:not([class]) li {
        font-size: 18px;
        line-height: 1.6em;
        padding-left: 30px
    }

    .uls-number li::before,
    .ublog-detail ol:not([class]) li::before {
        top: 0;
        left: 0;
        padding-top: 0;
        font-size: 18px
    }

    #h_en1736134804 {
        display: none !important
    }

    table:not(:last-child) {
        margin-bottom: 15px !important
    }

    .unomb {
        margin-bottom: 0 !important
    }

    .umap {
        height: 350px
    }

    .utbl-style-01 {
        border-spacing: 0px 20px;
        border-collapse: separate;
        margin-top: -15px
    }

    .utbl-style-01 th {
        min-height: 50px;
        font-size: 16px
    }

    .utbl-style-01 td {
        font-size: 14px
    }

    .utbl-style-01 th,
    .utbl-style-01 td {
        padding: 15px
    }

    .utbl-style-01 tr::before {
        bottom: -15px
    }

    .utbl-style-01.ubcol th,
    .utbl-style-01.ubcol td {
        width: 100%;
        display: block
    }

    .utbl-style-01.ubcol tr::before {
        bottom: 0
    }

    .utbl-style-02 {
        margin-bottom: 15px
    }

    .utbl-style-02 th {
        font-size: 16px
    }

    .utbl-style-02 td {
        font-size: 14px
    }

    .utbl-scroll {
        overflow-x: auto;
        margin-bottom: 15px
    }

    .utbl-scroll .utbl-style-02 {
        margin-bottom: 0;
        width: 720px
    }

    .ublog-bitem {
        width: 100%;
        max-width: 400px;
        margin: 0 auto
    }

    .ublog-bitem:not(:last-child) {
        margin-bottom: 15px
    }

    .ublog-bitem .ulink {
        flex-direction: column;
        padding: 15px
    }

    .ublog-bitem .ubimg {
        width: 100%;
        height: 180px;
        margin-bottom: 15px
    }

    .ublog-bitem .ubcnt {
        width: 100%;
        margin: 0
    }

    .ublog-bitem .udate {
        font-size: 16px;
        margin-bottom: 15px
    }

    .ublog-bitem .uttl {
        font-size: 20px;
        margin-bottom: 15px
    }

    .ublog-bitem .udes {
        font-size: 16px
    }

    .ucontact-banner {
        border: 3px solid var(--cl-primary);
        padding: 15px
    }

    .ucontact-banner .ubflex {
        margin: 0 auto 15px;
        flex-direction: column;
        justify-content: center
    }

    .ucontact-banner .uline {
        width: 100%;
        margin: 0 auto;
        justify-content: center
    }

    .ucontact-banner .utel {
        font-size: 24px;
        margin: 0 auto 15px
    }

    #contact-form table th,
    #contact-form table td {
        display: block;
        width: 100%;
        padding: 15px;
        min-height: 40px
    }

    #contact-form table th,
    .utbl-style-01 th {
        font-size: 16px
    }

    .fmail_radio_list,
    .fmail_checkbox_list {
        display: flex !important;
        flex-direction: column
    }

    .fmail_radio_list li,
    .fmail_checkbox_list li {
        margin: 0 !important
    }

    .fmail_radio_list li:not(:last-child),
    .fmail_checkbox_list li:not(:last-child) {
        margin-bottom: 5px !important
    }

    .ublog-binfo {
        flex-direction: column;
        width: 100%;
        padding: 15px
    }

    .ublog-binfo::before {
        position: absolute
    }

    .ublog-binfo .uttl {
        text-align: center;
        font-size: 20px;
        margin-bottom: 15px
    }

    .ublog-binfo .ubimg {
        width: 100%;
        margin: 0 auto 15px
    }

    .ublog-binfo .ubimg .uimg {
        text-align: center;
        margin: 0 auto
    }

    .ublog-binfo .ubcnt {
        width: 100%;
        margin: 0 auto
    }

    .ublog-binfo .ubcnt .ubtop {
        flex-direction: column;
        justify-content: center;
        margin-bottom: 15px
    }

    .ublog-binfo .ubcnt .uname {
        font-size: 20px;
        margin: 0 auto
    }

    .ublog-binfo .ubcnt .ubntn {
        width: fit-content;
        margin: 0 auto;
        text-decoration: none;
        min-height: 40px;
        border-radius: 30px;
        min-width: 200px;
        background-color: var(--cl-primary);
        color: var(--body-cl);
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 3px;
        background-image: url(../images/ubtn-arr.png);
        background-repeat: no-repeat;
        background-size: 8px auto;
        background-position: center right 30px
    }

    .ublog-binfo .ubcnt .ubntn>span {
        font-size: 16px;
        color: #fff;
        font-weight: bold
    }

    .ublog-binfo .ubcnt .ucontent {
        margin: 0 auto 15px
    }

    .utop-title {
        font-size: 24px;
        line-height: 1.6em
    }

    .button form.fmail_submit,
    .button form.fmail_cancel {
        margin: 0 auto
    }

    table th,
    table td {
        padding: 15px
    }

    .btn-prev-next {
        flex-direction: column;
        justify-content: center
    }

    .btn-prev-next li {
        display: flex;
        justify-content: center
    }

    .btn-prev-next li:not(:last-child) {
        margin-bottom: 15px
    }

    .btn-prev-next li>a {
        width: 250px;
        height: 50px;
        border-radius: 50px
    }

    .btn-prev-next li>a>span {
        font-size: 16px
    }

    .btn-prev-next .prevPage,
    .btn-prev-next .nextPage {
        position: relative
    }

    .ublog-lsbtn {
        flex-direction: column
    }

    .ublog-lsbtn .ubtn:not(:last-child) {
        margin-bottom: 15px
    }

    .ubtn {
        width: 250px;
        min-height: 50px;
        border-radius: 50px;
        margin: 0 auto 15px
    }

    .ubtn>span {
        font-size: 16px
    }

    .ublog-detail .image-c,
    .ublog-detail .image-r,
    .ublog-detail .image-l {
        width: fit-content;
        margin: 0 auto 25px
    }

    .umvs-ttl {
        font-size: 26px;
        line-height: 1.5em
    }

    .uflexct {
        flex-direction: column
    }

    .uflexct-img {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 25px
    }

    .uflexct-bcnt {
        width: 100%;
        justify-content: flex-start
    }

    .uhowto-item {
        display: flex;
        flex-direction: column
    }

    .uhowto-item .uh4 {
        order: 1
    }

    .uhowto-item .image-r {
        order: 2
    }

    .uhowto-item * {
        order: 3
    }

    .utbl-style-01.ucsth {
        border-spacing: 5px 30px
    }

    .utbl-scroll {
        overflow-x: auto
    }

    .utbl-scroll .utbl-style-01.ucsth {
        width: 650px;
        margin: -30px 0 0
    }

    #contact-form .utbl-style-01 {
        margin-top: 0;
        overflow-y: hidden
    }

    .uflow-ls .uflow-item {
        padding: 15px
    }

    .uflow-ls .uflow-item:not(:last-child) {
        margin-bottom: 60px
    }

    .uflow-ls .uflow-item:not(:last-child)::before {
        position: absolute;
        content: "";
        left: calc(50% - 15px);
        bottom: -40px;
        width: 0;
        height: 0;
        border-left: 15px solid rgba(0, 0, 0, 0);
        border-right: 15px solid rgba(0, 0, 0, 0);
        border-top: 15px solid var(--cl-primary)
    }

    .usetcol {
        flex-direction: column;
        flex-wrap: nowrap;
        max-width: 500px;
        margin: 0 auto
    }

    .usetcol-bitem {
        width: 100%;
        margin: 0 auto 15px
    }

    .usetcol-bitem:last-child {
        margin-bottom: 0
    }

    .usetcol-ttl {
        font-size: 18px
    }

    .uflow-ls .uflow-ttl:not(.uh5) {
        font-size: 18px
    }

    .form-policy .fmail_checkbox_list {
        margin: 0 auto 5px
    }

    .ublog-lsbtn {
        flex-wrap: nowrap
    }

    .ublog-lsbtn.ucs3it {
        --mg: 15px
    }

    .ublog-lsbtn.ucs3it li {
        width: 100%;
        margin: 0
    }

    .ublog-lsbtn.ucs3it li:nth-child(3n+3),
    .ublog-lsbtn.ucs3it li:last-child {
        margin-right: auto
    }

    .ublog-lsbtn.ucs3it li .ubtn {
        padding: 13px 20px 10px;
        width: 100%;
        background-position: center right 15px
    }

    #contact-form table tr,
    .utbl-style-01.ubcol tr {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid #ccc;
        margin-bottom: 15px
    }

    .form-policy {
        border-bottom: none !important;
        margin-bottom: 0 !important
    }

    .utbl-style-01.ubcol tr::before {
        display: none !important
    }

    .ublog-detail .image-c::before,
    .ublog-detail .image-r::before,
    .ublog-detail .image-l::before {
        top: 10px;
        left: 10px
    }

    .ublog-detail .image-c img,
    .ublog-detail .image-r img,
    .ublog-detail .image-l img {
        border-radius: 10px
    }

    .uframe {
        padding: 15px;
        background: #eee
    }

    .uflow-wrap {
        flex-direction: column
    }

    .uflex {
        flex-direction: column;
        gap: 0;
    }

    .uflex .image-c {
        margin-bottom: 20px;
    }

    .uflex .ubdes {}
}

@media screen and (min-width: 425px)and (max-width: 750px) {
    .utbl-scroll {
        overflow-x: auto
    }

    .utbl-scroll .utbl-style-01.ucsth {
        width: 100%
    }
}

@media screen and (min-width: 525px)and (max-width: 750px) {
    .utbl-scroll .utbl-style-02 {
        width: 800px
    }
}

@-moz-document url-prefix() {}