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

    .sp320,
    .sp375,
    .sp425 {
        display: none
    }

    #topic-path a:hover {
        text-decoration: underline;
        color: var(--main-cl)
    }

    .ulist-bnr .it {
        transition: all .2s ease-in-out
    }

    .ulist-bnr .it:hover .ud-btn span::after {
        opacity: 0;
        visibility: hidden
    }

    .ubanner:not(.nohv) a:hover {
        opacity: .7
    }

    .main-under h5 a:hover {
        opacity: .8
    }

    .ulink:hover {
        color: var(--main-cl)
    }

    .udr-anc li a:not(.nohv):hover::after {
        opacity: 0;
        visibility: hidden
    }

    .udr-anc.col2 {
        max-width: 862px;
        margin-left: auto;
        margin-right: auto
    }

    .udr-anc.col2 li:not([class]) a {
        width: 416px
    }

    .udr-anc.anc-center {
        justify-content: center
    }

    .pagination li:not(.active) a:hover {
        background-color: var(--main-cl2);
        border-color: var(--main-cl2)
    }

    .list_ovn .it_ovn .tit {
        transition: all .3s ease-in-out
    }

    .list_ovn .it_ovn:hover {
        background-color: var(--main-cl2)
    }

    .ud-img-galley .slick-slide:not(.slick-current):hover li {
        border: 1px solid var(--main-cl)
    }

    .ulist-bnr .it {
        transition: all .3s ease
    }

    .ulist-bnr .it:hover {
        opacity: .7
    }

    .uslider .slick-prev:hover {
        background-color: var(--main-cl)
    }

    .uslider .slick-prev:hover::after {
        border-bottom-color: #fff;
        border-left-color: #fff
    }

    .uslider .slick-next:hover {
        background-color: var(--main-cl)
    }

    .uslider .slick-next:hover::after {
        border-top-color: #fff;
        border-right-color: #fff
    }
}

@media screen and (min-width: 751px)and (max-width: 1500px) {
    .main-under .uh3-mask {
        font-size: 240px
    }

    .ulist-h5 {
        gap: 30px
    }

    .list_ovn {
        gap: 30px
    }

    .uslider .slick-prev {
        left: -10px
    }

    .uslider .slick-next {
        right: -10px
    }
}

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

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

    section {
        margin-bottom: 50px
    }

    .main-under p {
        line-height: 1.6em
    }

    .tbl-note {
        font-size: 12px;
        color: #fff;
        opacity: .6
    }

    .wr-flex-tbl {
        flex-direction: column
    }

    .wr-flex-tbl .under-tbl {
        width: 100%
    }

    .wr-flex-tbl .under-tbl:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px
    }

    .under-tbl {
        --bsp: 14px
    }

    .under-tbl.tbl-exterior th,
    .under-tbl.tbl-exterior td {
        padding: 14px 4px
    }

    .under-tbl.tbl-type2 {
        margin-top: 0;
        margin-bottom: 30px
    }

    .under-tbl.tbl-type2:last-child {
        margin-bottom: 0
    }

    .under-tbl.tbl-block th,
    .under-tbl.tbl-block td {
        display: block;
        width: 100%
    }

    .under-tbl th,
    .under-tbl td {
        padding: 15px 10px
    }

    .under-tbl th {
        font-size: 16px
    }

    .under-tbl td {
        font-size: 14px
    }

    .tbl-scroll {
        overflow-x: auto;
        overflow-y: hidden
    }

    .tbl-scroll table {
        min-width: 749px;
        table-layout: fixed
    }

    .main-under {
        margin-top: 70px
    }

    .uWrap-step:not(:last-child) {
        margin-bottom: 30px
    }

    .uWrap-step .uStep {
        padding: 15px 10px;
        border-width: 2px
    }

    .uWrap-step .uStep .uStep-tit {
        font-size: 18px;
        letter-spacing: normal
    }

    .uWrap-step .uStep .uStep-num {
        flex-shrink: 0;
        font-size: 10px;
        width: 45px;
        height: 45px;
        padding-top: 5px;
        margin-right: 10px
    }

    .uWrap-step .uStep .uStep-num .uNum {
        font-size: 20px
    }

    .uWrap-step .uStep .uFlex-Step {
        padding-bottom: 15px
    }

    .uWrap-step .uStep .uFlex-Step:not(:last-child) {
        margin-bottom: 15px
    }

    .uWrap-step .uStep:not(:last-child) {
        margin-bottom: 40px
    }

    .uWrap-step .uStep:not(:last-child)::before {
        width: 50px;
        height: 25px;
        bottom: -36px
    }

    .uWrap-step .uStep .uBtn-all:not(:last-child) {
        margin-bottom: 1em
    }

    .ud-qa {
        padding: 20px 10px
    }

    .ud-qa .a-txt {
        font-size: 27px;
        flex: 0 0 45px;
        width: 45px;
        height: 45px;
        margin-right: 10px
    }

    .ud-qa .q-txt {
        font-size: 27px;
        flex: 0 0 45px;
        width: 45px;
        height: 45px;
        margin-right: 10px
    }

    .ud-qa .ud-ques-txt {
        font-size: 18px;
        line-height: normal
    }

    .ud-qa .ud-ans {
        padding: 20px 10px
    }

    .main-under #content {
        padding: 0px 15px 50px
    }

    .main-under .umvs-title {
        font-size: 24px;
        letter-spacing: 1px
    }

    .main-under .umvs-title .big {
        font-size: 110%
    }

    .main-under .umvs-ens {
        font-size: 30px
    }

    .main-under .uh3-ens {
        font-size: 36px;
        margin-bottom: 5px;
        line-height: 1em
    }

    .main-under h3 {
        font-size: 22px;
        margin-bottom: 15px
    }

    .main-under .uh3-mask {
        font-size: 70px;
        top: -6px
    }

    .main-under h4 {
        font-size: 20px;
        margin-bottom: 15px;
        padding: 10px 15px;
        letter-spacing: 1px;
        line-height: 1.4em
    }

    .main-under h5 {
        font-size: 18px;
        margin-bottom: 15px
    }

    .main-under .ttl01 {
        font-size: 18px
    }

    .main-under .ttl01:not(:last-child) {
        margin-bottom: 10px
    }

    .under-visual {
        padding: 20px 0 0;
        height: auto
    }

    .under-visual .umvs-wrap {
        flex-direction: column
    }

    .under-visual .umvs-img {
        width: 100%;
        text-align: center
    }

    .umvs-title-wr {
        width: 100%;
        padding: 0 0 20px;
        text-align: center
    }

    #topic-path {
        margin: 10px 0
    }

    .usec-h3 {
        padding-top: 30px;
        margin-bottom: 50px
    }

    .ubg-h5 {
        padding: 50px 0 40px
    }

    .ulist-h5 {
        flex-direction: column;
        align-items: center;
        gap: unset
    }

    .ulist-h5 .it:not(:last-child) {
        margin-bottom: 25px
    }

    .ulist-h5 .it .image-c {
        margin-bottom: 15px
    }

    .ulist-h5 .it h5 {
        margin-bottom: 10px
    }

    .uflex {
        flex-direction: column
    }

    .uflex .ulist:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px
    }

    .ulist li {
        padding-left: 22px;
        letter-spacing: normal
    }

    .ulist li:not(:last-child) {
        margin-bottom: 15px
    }

    .ulist li::before {
        width: 16px;
        height: 16px;
        top: 2px
    }

    .ubg-tbl {
        padding: 50px 0
    }

    .upickup {
        border-width: 2px;
        padding: 0 10px 15px
    }

    .upickup .pu-en {
        font-size: 28px;
        line-height: 1em;
        margin-bottom: 5px
    }

    .upickup .pu-jp {
        line-height: 1.5em;
        margin-bottom: 10px
    }

    .uframe {
        border-width: 2px;
        padding: 10px
    }

    .uframe.st2 .txt {
        border-top-width: 2px
    }

    .udr-anc {
        flex-direction: column;
        align-items: center;
        gap: 0
    }

    .udr-anc.udr-anc-post li a {
        min-width: 230px;
        padding: 14px 20px
    }

    .udr-anc li.big a {
        padding: 10px 20px
    }

    .udr-anc li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 10px
    }

    .udr-anc li a {
        min-width: 280px;
        max-width: 280px;
        font-size: 14px;
        padding: 13px 20px
    }

    .udr-anc li a::before {
        top: 0px;
        right: 12px
    }

    .ud-thumb-show {
        margin-bottom: 30px
    }

    .ud-thumb-list {
        margin-bottom: 30px
    }

    .ud-img-galley li {
        margin: 0 5px;
        height: 90px
    }

    .ud-img-galley .slick-track {
        margin-left: auto
    }

    .ud-img-show li {
        height: calc(70vw - 50px)
    }

    .ulist-img-step {
        gap: unset;
        justify-content: center
    }

    .ulist-img-step .it {
        width: calc(50% - 8px);
        margin: 0 15px 15px 0
    }

    .ulist-img-step .it:nth-child(2n+2) {
        margin-right: 0
    }

    .ulist-img-step .it:nth-last-child(1) {
        margin-bottom: 0
    }

    .ulist-img-step .it:nth-last-child(2) {
        margin-bottom: 0
    }

    .ulist-img-step .img {
        margin-bottom: 5px
    }

    .ulist-img-step .tit {
        font-size: 14px
    }

    .ulink {
        font-size: 14px
    }

    .d-flex-balcony {
        flex-direction: column
    }

    .d-flex-balcony:not(:last-child) {
        margin-bottom: 20px
    }

    .d-flex-balcony .image-c {
        margin: 0 0 10px 0
    }

    .d-flex-balcony .image:not(:last-child) {
        margin-bottom: 0;
        margin-right: 10px
    }

    .d-flex-balcony .flex-img {
        display: flex
    }

    .d-flex-img:not(:last-child) {
        margin-bottom: 20px
    }

    .d-flex-img .image-c {
        flex-shrink: unset
    }

    .d-flex.st1 {
        flex-direction: column
    }

    .d-flex.st1 .image-c {
        margin-left: auto;
        text-align: center;
        margin-bottom: 15px
    }

    .d-flex.st2 {
        flex-direction: column;
        align-items: center
    }

    .d-flex.st2:not(:last-child) {
        margin-bottom: 30px
    }

    .d-flex.st2 .image {
        margin-right: 0
    }

    .uimpress-list {
        flex-direction: column;
        gap: 0
    }

    .uimpress-list .it {
        width: 100%
    }

    .uimpress-list .it:not(:last-child) {
        margin-bottom: 30px
    }

    .uimpress-list .it .txt {
        padding: 10px
    }

    .uimpress-list .it .tit {
        font-size: 22px
    }

    .uimpress-list .uframe-impress {
        border-width: 2px
    }

    .uimpress-list .uframe-impress .ttl {
        font-size: 18px;
        padding: 6px 10px
    }

    .ubanner:not(:last-child) {
        margin-bottom: 20px
    }

    .ulist-bnr {
        margin-top: 25px;
        flex-direction: column;
        align-items: center
    }

    .ulist-bnr .it:not(:last-child) {
        margin-right: 0;
        margin-bottom: 15px
    }

    .uflex-banner {
        flex-direction: column;
        align-items: center
    }

    .uflex-banner .ubanner:not(:last-child) {
        margin-bottom: 15px !important
    }

    .txt04 ul li,
    .txt05 ul li {
        padding-left: 22px;
        letter-spacing: normal
    }

    .txt04 ul li:not(:last-child),
    .txt05 ul li:not(:last-child) {
        margin-bottom: 15px
    }

    .txt04 ul li::before,
    .txt05 ul li::before {
        width: 16px;
        height: 16px;
        top: 5px
    }

    .txt04 ol,
    .txt05 ol {
        margin-left: 19px
    }

    .txt04 ol li,
    .txt05 ol li {
        padding-left: 2px
    }

    .txt04 ol li:not(:last-child),
    .txt05 ol li:not(:last-child) {
        margin-bottom: 15px
    }

    #fmail li input[type=radio].fmail,
    #fmail li input[type=checkbox].fmail {
        position: relative;
        bottom: 0
    }

    .fmail_form .button {
        margin-bottom: 0
    }

    #fmail .info {
        font-size: 12px;
        display: block;
        margin-bottom: 5px
    }

    table.mailform {
        --bsp: 14px;
        margin-bottom: 15px
    }

    table.mailform tr th,
    table.mailform tr td {
        display: block;
        width: 100%;
        padding: 15px 10px
    }

    table.mailform tr th {
        font-size: 16px
    }

    table.mailform tr td {
        font-size: 14px
    }

    table div.fmail_must::before {
        font-size: 12px
    }

    #fmail th .fmail_must {
        width: 40px;
        height: 20px
    }

    #fmail #d_en1240790859 br,
    #fmail #d_en1240790885 br,
    #fmail #d_en1262055277 br,
    #fmail #d_en1240790938 br,
    #fmail #d_en1240790962 br,
    #fmail #d_en1244884030 br,
    #fmail #d_en1240791078 br {
        display: none
    }

    form#fmail input.postcode {
        width: 90px;
        padding: 6px;
        position: relative;
        top: -1px
    }

    label.fmail_label_enabled,
    label.fmail_label_disabled {
        display: flex !important;
        align-items: center
    }

    ol.fmail_checkbox_list {
        width: 100%
    }

    #fmail #en1244884030 {
        width: 100%;
        height: 40px
    }

    #fmail select.fmail {
        font-size: 14px
    }

    .submit_confirm_button,
    .submit_cancel_button,
    .submit_send_button,
    .site_top a {
        min-width: 220px;
        max-width: 260px;
        font-size: 14px;
        padding: 14px 20px
    }

    #fmail input[type=checkbox],
    #fmail input[type=radio] {
        padding: 6px 10px
    }

    .button form.fmail_submit {
        width: 100%;
        text-align: center
    }

    .button form.fmail_cancel {
        width: 100%;
        text-align: center
    }

    div#fmail_thankspage {
        font-size: 16px;
        padding: 10px;
        margin-bottom: 15px
    }

    .list_ovn {
        gap: unset;
        flex-direction: column;
        align-items: center
    }

    .list_ovn .it_ovn:not(:last-child) {
        margin-bottom: 25px
    }

    .list_ovn .it_ovn .img {
        height: 200px
    }

    .list_ovn .it_ovn .tit {
        font-size: 16px;
        padding: 8px 8px 0;
        height: auto
    }

    .uimg-lst {
        gap: 0
    }

    .uimg-lst li {
        margin: 0 auto 20px
    }

    .uimg-lst li:last-child {
        margin-bottom: 0
    }

    .uvideo {
        margin: 20px auto
    }

    .uvideo video {
        width: 600px
    }

    .uw-img .image-c {
        margin-right: 10px
    }

    .uslider {
        margin: 20px 0
    }

    .uslider .slick-arrow {
        width: 34px;
        height: 34px
    }

    .uslider .slick-prev {
        left: -10px
    }

    .uslider .slick-prev::after {
        width: 10px;
        height: 10px;
        left: 3px
    }

    .uslider .slick-next {
        right: -10px
    }

    .uslider .slick-next::after {
        width: 10px;
        height: 10px;
        right: 3px
    }

    .upopup {
        margin: 20px auto 0
    }

    .list_ovn .it_ovn {
        padding-bottom: 5px
    }
}

@media screen and (min-width: 375px)and (max-width: 750px) {
    .sp320 {
        display: none
    }
}

@media screen and (min-width: 425px)and (max-width: 750px) {
    .sp375 {
        display: none
    }
}

@media screen and (min-width: 525px)and (max-width: 750px) {
    .sp425 {
        display: none
    }
}

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

/*# sourceMappingURL=under_responsive.css.map */