/* CSS Document */


html,
body {
    width: 100%;
}

body {
    color: #1A1A1A;
    margin: 0 auto;
    font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    text-size-adjust: 100%;
    background: url("../images/bg.jpg") center center repeat;
    -webkit-font-smoothing: antialiased;
}

.mb0 {
    margin-bottom: 0px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.pb0 {
    padding-bottom: 0px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.p15 {
    padding: 0 15px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pt15 {
    padding-top: 15px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.mb05em {
    margin-bottom: 0.5em !important;
}

.mb1em {
    margin-bottom: 1em !important;
}

.mb2em {
    margin-bottom: 2em !important;
}

.mb3em {
    margin-bottom: 3em !important;
}

.mb4em {
    margin-bottom: 4em !important;
}

.pb05em {
    padding-bottom: 0.5em !important;
}

.mr0 {
    margin-right: 0 !important;
}

li {
    list-style: none;
}

p {
    text-align: justify;
    -ms-text-justify: auto;
    text-justify: auto;
    text-justify: inter-ideograph;
}

img {
    vertical-align: bottom;
    max-width: 100%;
}

.noborder {
    border: none !important;
}

.nomargin {
    margin: 0 0 !important;
}

.ta_r {
    text-align: right;
}

.ta_c {
    text-align: center;
}

.cf:before,
.cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    zoom: 1;
}

a {
    color: #1A1B21;
    text-decoration: none;
}

h3,
h4,
h5,
strong,
th {
    font-weight: normal;
}

@media (min-width:751px) {
    .mb20 {
        margin-bottom: 20px !important;
    }

    .mb25 {
        margin-bottom: 25px !important;
    }

    .mb30 {
        margin-bottom: 30px !important;
    }

    .mb40 {
        margin-bottom: 40px !important;
    }

    .mb50 {
        margin-bottom: 50px !important;
    }

    .mb60 {
        margin-bottom: 60px !important;
    }

    .mb70 {
        margin-bottom: 70px !important;
    }

    .mb80 {
        margin-bottom: 80px !important;
    }

    .mb100 {
        margin-bottom: 100px !important;
    }

    .mb120 {
        margin-bottom: 120px !important;
    }

    .pt50 {
        padding-top: 50px !important;
    }

    .ls-1 {
        letter-spacing: -1px;
    }

    .ls-2 {
        letter-spacing: -2px;
    }

    .ls-3 {
        letter-spacing: -3px;
    }

    .ls-4 {
        letter-spacing: -4px;
    }

    a {
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    a img {
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    a:active,
    a:hover,
    a:hover img {
        opacity: 0.7;
    }

    .img_hidden {
        opacity: 0;
        transition: 1s;
    }

    .img_open {
        -moz-animation: imgfade 1s linear 0s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 0s 1 normal forwards;
        -o-animation: imgfade 1s linear 0s 1 normal forwards;
        -ms-animation: imgfade 1s linear 0s 1 normal forwards;
    }

    .img_open.ih2 {
        -moz-animation: imgfade 1s linear 0.3s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 0.3s 1 normal forwards;
        -o-animation: imgfade 1s linear 0.3s 1 normal forwards;
        -ms-animation: imgfade 1s linear 0.3s 1 normal forwards;
    }

    .img_open.ih3 {
        -moz-animation: imgfade 1s linear 0.6s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 0.6s 1 normal forwards;
        -o-animation: imgfade 1s linear 0.6s 1 normal forwards;
        -ms-animation: imgfade 1s linear 0.6s 1 normal forwards;
    }

    .img_open.ih4 {
        -moz-animation: imgfade 1s linear 0.9s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 0.9s 1 normal forwards;
        -o-animation: imgfade 1s linear 0.9s 1 normal forwards;
        -ms-animation: imgfade 1s linear 0.9s 1 normal forwards;
    }

    .img_open.ih5 {
        -moz-animation: imgfade 1s linear 1.2s 1 normal forwards;
        -webkit-animation: imgfade 1s linear 1.2s 1 normal forwards;
        -o-animation: imgfade 1s linear 1.2s 1 normal forwards;
        -ms-animation: imgfade 1s linear 1.2s 1 normal forwards;
    }

    .for_sp {
        display: none !important;
    }

    .for_tab {
        display: none;
    }

    body {
        font-size: 16px;
        line-height: 28px;
    }

    .wrap {
        position: relative;
    }

    .showup {
        opacity: 0;
        transition: 1s;
        transform: translateY(20px);
        -webkit-transform: translateY(20px);
        -moz-transform: translateY(20px);
        -ms-transform: translateY(20px);
        -o-transform: translateY(20px);
    }

    .upview {
        -moz-animation: showup 0.6s linear 0s 1 normal forwards;
        -webkit-animation: showup 0.6s linear 0s 1 normal forwards;
        -o-animation: showup 0.6s linear 0s 1 normal forwards;
        -ms-animation: showup 0.6s linear 0s 1 normal forwards;
    }

    #fnav {
        height: 120px;
        width: 100%;
        position: fixed;
        top: -120px;
        transition: 0.3s;
        z-index: 10000;
        background: url(../images/bg.jpg) center center repeat;
    }

    #fnav #fnav_in #rsv {
        display: none;
    }

    #fnav_in nav .gnav li a:after {
        bottom: 6px;
    }

    #fnav.fixed {
        top: 0;
    }

    header {
        width: 100%;
        height: 120px;
    }

    /* .cnav ヘッダー、追従ヘッダー共通*/

    #headtop h1 {
        font-size: 14px;
        margin-top: 10px;
        font-weight: normal;
        line-height: 18px;
    }

    #headtop {
        justify-content: space-between;
        width: 100%;
    }

    #headtop .cbtn {
        width: 300px;
    }

    #headtop .cbtn:before {
        content: "";
        background: url(../images/icon_mail.svg) center center no-repeat;
        width: 18px;
        height: 15px;
        position: absolute;
        left: 30px;
        top: 16px;
    }

    #headtop .cbtn:hover:before {
        background: url(../images/icon_mail_on.svg) center center no-repeat;
    }

    #headmain {
        justify-content: space-between;
        width: 100%;
    }

    #headmain h2 {
        width: 25%;
    }

    #headmain nav {
        width: 70%;
    }

    .cnav .mainw {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }

    /* gnav */

    .gnav {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .gnav li a {
        padding: 10px 10px 10px;
        font-size: 16px;
        text-align: center;
        position: relative;
        display: inline-block;
        text-decoration: none;
        line-height: 20px;
        opacity: 1;
    }

    .gnav li a:after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #231815;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: transform .3s;
    }

    .gnav li a:hover::after {
        transform: scale(1, 1);
    }

    .gnav li a span {
        display: block;
        font-family: "Quicksand", sans-serif;
        font-size: 13px;
        -webkit-font-smoothing: unset;
    }

    .wmode {
        background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
        height: 150px;
    }

    .wmode .gnav li a {
        color: #ffffff;
    }

    .gnav li a.active:after {
        opacity: 1;
    }

    /*footer*/
    footer {
        width: 100%;
    }

    footer .img {
        text-align: center;
    }

    footer #footmain {
        border-top: 1px solid #B19C83;
        padding: 10px 0 30px;
        text-align: center;
    }

    footer #footmain p {
        text-align: center;
    }

    footer ul {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    footer nav ul {
        justify-content: center;
        margin-bottom: 40px;
        flex-wrap: wrap;
    }

    footer nav ul li a {
        display: block;
        padding: 20px 20px 0 10px;
        position: relative;
    }

    footer nav ul li a:before {
        content: "\f105";
        font-family: FontAwesome;
        text-indent: 0;
        position: absolute;
        text-align: center;
        line-height: 68px;
        color: #754C24;
        top: 0;
        left: 0;
        transition: 0.3s;
    }

    footer h2 {
        margin: 15px auto;
    }

    footer .tel {
        margin-top: 20px;
        justify-content: center;
    }


    footer .tel a {
        font-size: 32px;
        font-weight: bold;
        opacity: 1;
        cursor: default;
        letter-spacing: 2px;
        display: flex;
        margin-left: 10px;
        font-family: "Quicksand", sans-serif;
        line-height: 23px;
    }

    footer .tel a span {
        margin-left: 2px;
    }

    footer .tel a img {
        opacity: 1;
        padding-bottom: 3px;
    }

    footer address {
        font-style: normal;
    }

    footer .copy {
        font-size: 14px;
        background: #E2D8CF;
        padding: 10px 0;
        text-align: center;
    }

    /*pagetop*/

    #page-top {
        position: fixed;
        bottom: 18px;
        left: 50%;
        margin-left: 630px;
        z-index: 3000;
    }

    @media (max-width:1470px) {
        #page-top {
            right: 20px;
            left: auto;
            margin-left: 0;
        }
    }

    #page-top.stop {
        position: absolute;
        bottom: 440px;
    }


    /*common*/

    .mainw {
        width: 1100px;
        margin: 0 auto;
    }

    .w1000 {
        width: 1000px;
        margin: 0 auto;
    }

    .w900 {
        width: 900px;
        margin: 0 auto;
    }

    .anchor {
        padding-top: 100px;
        margin-top: -100px;
    }

    p {
        font-size: 16px;
        line-height: 28px;
    }

    #mv {
        width: 100%;
        height: 660px;
        overflow: hidden;
        text-align: center;
        position: relative;
    }

    .lead {
        text-align: center;
        margin-bottom: 40px;
    }

    .lead span {
        color: #BE0D23;
    }

    /* h */

    h3.ch3 {
        margin-bottom: 30px;
        text-align: center;
        line-height: 30px;
        font-size: 35px;
        position: relative;
        background: url("../images/bg_h3.png") bottom 4px center no-repeat;
        padding: 60px 0 18px;
        font-family: 'Noto Serif JP', serif;
    }

    h3.ch3 span {
        font-size: 15px;
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        letter-spacing: 2px;
        -webkit-font-smoothing: unset;
    }

    h3.ch3:before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 0;
    }

    h4.ch4 {
        font-size: 27px;
        margin-bottom: 20px;
        position: relative;
        text-align: left;
        padding: 20px 0 20px 55px;
        font-family: 'Noto Serif JP', serif;
    }

    h5.ch5 {
        margin-bottom: 15px;
        text-align: left;
        font-weight: bold;
        border-bottom: 1px dotted #878788;
        padding-bottom: 10px;
        position: relative;
    }

    h5.ch5:before {
        content: "";
        width: 27px;
        height: 12px;
        color: #231815;
        display: inline-block;
        padding-right: 7px;
        background: url("../images/icon_table.png") right 10px center no-repeat;
    }

    h5.ch5:after {
        content: "";
        display: block;
        width: 200px;
        height: 1px;
        background-color: #180017;
        position: absolute;
        left: 0;
        bottom: -1px;
    }

    .cflex {
        display: flex;
    }

    .cb {
        background: url("../images/cb.jpg") repeat;
    }

    .cb2 {
        padding: 120px 0 0;
        background: url("../images/bg02.jpg") top center no-repeat #FCFCFB;
        background-size: contain;
    }

    /* .cbtn */

    .cbtn {
        position: relative;
        background: url(../images/icon_arrow.svg) right 15px top 20px no-repeat #B0866D;
        background-size: 10px auto;
        height: 50px;
        display: block;
        border: #B0866D 1px solid;
        text-align: center;
        color: #fff;
        line-height: 48px;
    }

    .cbtn:hover {
        opacity: 1;
        color: #B0866D;
        border: #B0866D 1px solid;
        background: url("../images/icon_arrow_on.svg") right 15px top 25px no-repeat;
        background-size: 10px auto;
    }

    .cbtn2 {
        position: relative;
        color: #231815;
        display: block;
        text-align: center;
        width: 300px;
        height: 50px;
        background: url("../images/icon_arrow_s2.svg") right 15px center no-repeat;
        background-size: 8px auto;
        line-height: 48px;
        border: #231815 1px solid;
    }

    .cbtn2:hover {
        opacity: 1;
        background: url("../images/icon_arrow_s2_on.svg") right 10px center no-repeat #231815;
        background-size: 8px auto;
        border: #231815 1px solid;
        color: #fff;
    }

    .cbtn3 {
        position: relative;
        background: url(../images/icon_arrow_s2_on.svg) right 20px center no-repeat #B0866D;
        background-size: 8px auto;
        height: 50px;
        display: block;
        border: #B0866D 1px solid;
        text-align: center;
        color: #fff;
        line-height: 48px;
    }

    .cbtn3:hover {
        opacity: 1;
        color: #B0866D;
        border: #B0866D 1px solid;
        background: url("../images/icon_arrow_s3_on.svg") right 15px center no-repeat;
        background-size: 8px auto;
    }

    /* table */

    table.ctable {
        border-collapse: collapse;
        width: 100%;
    }

    table.ctable th,
    table.ctable td {
        padding: 5px 10px;
        line-height: 30px;
        text-align: center;
    }

    table.ctable td {
        padding-bottom: 20px;
    }

    table.ctable th {
        background: #EEEEED;
    }

    /* tal */

    a.tel {
        cursor: default;
        opacity: 1;
        position: relative;
        background: #231815;
        width: 300px;
        height: 50px;
        display: block;
        border: #231815 1px solid;
        text-align: center;
        color: #fff;
        margin-left: 10px;
        font-size: 27px;
        padding-top: 13px;
        font-family: "Quicksand", sans-serif;
        font-weight: bold;
        line-height: 20px;
    }

    a.tel img {
        opacity: 1;
        margin-right: 5px;
    }

    /*mv*/
    .slide_wrp_i {
        max-width: 100%;
        overflow: hidden;
        position: relative;
        height: 100vh;
        height: -webkit-calc(100vh - 90px);
        height: calc(100vh - 90px);
    }

    .slide_wrp_i .bx-wrapper {
        margin: 0 auto;
        height: 100%;
    }

    .tab.tate .slide_wrp_i,
    .tab.tate .slide_wrp_i .bx-wrapper {
        height: 400px;
    }

    .slide_wrp_i .bx-wrapper .bx-viewport {
        box-shadow: none;
        border: none;
        left: 0;
        height: 100% !important;
    }

    .slide_wrp_i .bx-wrapper .bx-controls {
        width: 1200px;
        position: absolute;
        bottom: 30px;
        right: 50%;
        margin-right: -600px;
        z-index: 20;
    }

    .slide_wrp_i .bx-wrapper .bx-pager {
        text-align: right;
        padding-top: 0;
        bottom: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .slide_wrp_i .bx-wrapper .bx-pager .bx-pager-item {
        width: 14px;
        margin: 0 10px;
    }


    .bx-wrapper .bx-pager,
    .bx-wrapper .bx-controls-auto {
        bottom: 10px;
        padding: 0 20px;
    }

    .bx-wrapper .bx-pager,
    .bx-wrapper .bx-controls-auto {
        bottom: 10px;
        padding: 0 20px;
    }

    .bx-wrapper .bx-pager {
        text-align: right;
    }

    .bx-wrapper .bx-pager.bx-default-pager a {
        text-align: left;
        background: none !important;
        margin: 0 7px;
        background: transparent;
        text-align: center;
        width: 10px;
        height: 10px;
        margin: 0 auto;
        border: 1px solid #B0866D;
    }


    .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .bx-wrapper .bx-pager.bx-default-pager a.active {
        background: #B0866D !important;
    }

    .slide_wrp_i:before,
    .slide_wrp_i:after {
        background: none;
    }

    .slide_wrp_i .slide_i {
        width: 100%;
        height: 100%;
        position: relative;
        top: auto;
        left: auto;
        margin-left: 0;
    }

    .slide_wrp_i .slide_i li:first-child {
        background: url("../images/mv1.jpg?v2") center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100%;
    }

    .slide_wrp_i .slide_i li:nth-child(2) {
        background: url("../images/mv2.jpg") center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100%;
    }

    .slide_wrp_i .slide_i li:nth-child(3) {
        background: url("../images/mv1.jpg") center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100%;
    }

    .slide_wrp_i .slide_i li {
        text-align: center;
    }

    .slide_wrp_i .slide_i li img {
        position: absolute;
        top: 50%;
        margin-top: -155px;
        left: 50%;
        margin-left: -526px;
    }

    .slide_wrp_i .cc {
        position: absolute;
        top: 50%;
        margin-top: -80px;
        left: 50%;
        margin-left: -260px;
        z-index: 3;
    }

    .slide_wrp_i #fv_scroll {
        display: block;
        width: 23px;
        height: 153px;
        position: absolute;
        bottom: 30px;
        right: 50%;
        margin-right: 500px;
        overflow: hidden;
    }

    .slide_wrp_i #fv_scroll img {
        width: 12px;
    }

    .slide_wrp_i #fv_scroll:after {
        content: "";
        width: 1px;
        height: 90px;
        background: #ffffff;
        position: absolute;
        left: 6px;
        top: 80px;
        -moz-animation: s_line 1s linear 0s infinite forwards;
        -webkit-animation: s_line 1s linear 0s infinite forwards;
        -o-animation: s_line 1s linear 0s infinite forwards;
        -ms-animation: s_line 1s linear 0s infinite forwards;
    }

    s .slide_wrp_a .bx-wrapper .bx-pager {
        bottom: 10px;
    }

    .slide_wrp_a .bx-wrapper .bx-pager.bx-default-pager a {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        position: relative;
        bottom: 3px;
        background: none;
        border: 1px solid #fff;
    }

    .slide_wrp_a .bx-wrapper .bx-pager.bx-default-pager a.active {
        background-color: #A74242;
        border: 1px solid #A74242;
    }

    .slide_wrp_a .bx-wrapper .bx-pager.bx-default-pager a:hover {
        background: none;
    }

    article {
        width: 100%;
        overflow: hidden;
    }

    /*concept*/
    #concept {
        width: 100%;
        position: relative;
        border-top: 1px solid #DAD0C5;
        border-bottom: 1px solid #DAD0C5;
        padding: 200px 0 160px;
    }

    #concept h3:before {
        width: 76px;
        height: 60px;
        background: url("../images/icon_concept.svg") top center no-repeat;
    }

    .greeting {
        background: url("../images/bg_gre.png") right top no-repeat;
        padding-bottom: 170px;
    }

    .greeting .txt {
        width: 610px;
        text-align: left;
    }

    .greeting h4 {
        background: url("../images/icon_gre.svg") left center no-repeat;
    }

    .greeting .txt p {
        line-height: 40px;
    }

    .commitment h4 {
        background: url("../images/icon_point.svg") left center no-repeat;
    }

    .commitment ul {
        justify-content: space-between;
        margin-top: 40px;
        flex-wrap: wrap;
    }


    .commitment ul li {
        width: 355px;
    }

    .commitment ul li h5 {
        margin-bottom: 10px;
        font-size: 22px;
        line-height: 28px;
        display: flex;
        align-items: center;
        font-family: 'Noto Serif JP', serif;
    }

    .commitment ul li h5 img {
        margin-right: 10px;
    }

    .commitment ul li .ttl {
        color: #754C24;
        font-size: 18px;
        font-weight: bold;
        margin: 20px 0 10px;
    }

    /*menu*/
    #menu {
        margin: 10px 0 160px;
    }

    #menu h3 {
        padding-top: 70px;
    }

    #menu h3:before {
        width: 130px;
        height: 66px;
        background: url("../images/icon_menu.svg") top center no-repeat;
    }

    #menu ul {
        justify-content: space-between;
        flex-wrap: wrap;
    }

    #menu ul li {
        width: 264px;
        margin-bottom: 50px;
    }

    #menu ul li h4 {
        background: url("../images/ttl_menu.jpg") top center no-repeat;
        font-size: 22px;
        font-family: 'Noto Serif JP', serif;
        text-align: center;
        height: 68px;
        display: grid;
        align-items: center;
        letter-spacing: 1px;
    }

    #menu .detail {
        color: #754C24;
        padding: 15px;
        font-weight: bold;
    }

    #menu .comment {
        background: url(../images/bg_menu.jpg) left top no-repeat;
        height: 125px;
        color: #754C24;
        font-weight: bold;
        font-size: 20px;
        text-align: center;
        padding-top: 46px;
    }

    /*work*/

    #work {
        margin-top: 100px;
    }

    #work:before {
        content: "";
        background: url(../images/bg_work01.png) center top no-repeat;
        position: absolute;
        left: 10%;
        top: 80px;
        width: 228px;
        height: 234px;
        z-index: 20;
    }

    #work:after {
        content: "";
        background: url(../images/bg_work02.png) center top no-repeat;
        position: absolute;
        right: 10%;
        top: -40px;
        width: 279px;
        height: 338px;
        z-index: 20;
    }

    #work h3:before {
        width: 65px;
        height: 54px;
        background: url("../images/icon_work.svg") top center no-repeat;
    }

    #work .slide_lk .detail {
        background: #fff;
        padding: 30px;
    }

    #work .slidewrap_lk .bx-controls {
        display: inline-block;
    }

    #work .slide_lk .category span {
        background: #B0866D;
        padding: 5px 10px;
        margin-right: 10px;
        color: #fff;
    }

    #work .slide_lk h4 {
        font-size: 22px;
        margin: 20px 0 15px;
        font-family: 'Noto Serif JP', serif;
        letter-spacing: 1px;
    }

    #work .bx-wrapper .bx-controls-direction a {
        width: 55px;
        height: 55px;
        background: #231815;
        border-radius: 30px;
        color: #fff;
    }


    #work .bx-wrapper .bx-controls-direction a.bx-prev {
        left: -70px;
    }

    #work .bx-wrapper .bx-controls-direction a.bx-next {
        right: -70px;
    }

    #work .bx-wrapper .bx-controls-direction a:before {
        font-family: FontAwesome;
        text-indent: 0;
        position: absolute;
        text-align: center;
        line-height: 55px;
        color: #fff;
        top: 0;
        left: 0;
        width: 50px;
        font-size: 28px;
        transition: 0.3s;
    }

    #work .bx-wrapper .bx-controls-direction a.bx-prev:before {
        content: "\f104";
    }

    #work .bx-wrapper .bx-controls-direction a.bx-next:before {
        content: "\f105";
        left: 3px;
    }

    #work .other {
        background: #EEEEED;
        padding: 30px;
    }

    #work .other h4 {
        padding-bottom: 20px;
        border-bottom: 1px solid #D0D0D0;
    }

    #work .other h4 {
        background: url(../images/icon_other.svg) left center no-repeat;
    }

    #work .other .cflex {
        justify-content: space-between;

    }

    #work .other ul {
        width: 50%;
    }

    #work .other ul li {
        list-style-type: disc;
        margin-left: 20px;
    }

    .loopslider {
        width: 100%;
        height: 188px;
        position: relative;
        overflow: hidden;
        margin-top: 80px;
    }

    .loopslider ul {
        float: left;
    }

    .loopslider li {
        float: left;
        width: 340px;
        display: inline;
    }

    .loopslider li img {
        width: 340px;
    }

    /*flow*/
    #flow {
        margin: 120px auto 140px;
    }

    #flow h3 {
        padding-top: 72px;
    }

    #flow h3:before {
        width: 36px;
        height: 74px;
        background: url("../images/icon_flow.svg") top center no-repeat;
    }

    #flow ul {
        justify-content: space-between;
    }

    #flow ul li:nth-child(odd) {
        width: 197px;
    }

    #flow ul li:nth-child(even) {
        margin-top: 75px;
    }

    #flow ul li h4 {
        font-size: 20px;
        margin: 20px 0 10px;
        font-family: 'Noto Serif JP', serif;
        text-align: center;
    }

    /*company*/

    #company {
        margin-top: 0px;
        padding-bottom: 100px;
    }

    #company h3:before {
        width: 72px;
        height: 63px;
        background: url("../images/icon_com.svg") top center no-repeat;
    }

    #company .mainw {
        display: flex;
        justify-content: space-between;

    }

    #company table {
        width: 480px;

    }

    #company #gmap {
        width: 545px;
    }

    #company a {
        margin: 10px 0 0 auto;
    }

    #company img {
        margin: 15px auto 0 auto;
        display: block;
    }


    /*contact*/
    #contact {
        margin: 10px auto 100px;
    }


    #contact h3:before {
        width: 87px;
        height: 64px;
        background: url("../images/icon_contact.svg") top center no-repeat;
    }

    .form-area table {
        width: 100%;
        margin-bottom: 50px;
    }

    .form-area table th,
    .form-area table td {
        border-bottom: #d0d0d0 1px solid;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .form-area table th {
        width: 30%;
        vertical-align: middle;
        text-align: left;
        padding-left: 20px;
    }

    .form-area table th span {
        margin-left: 5px;
        color: #BE0D23;
    }


    .form-area table td {
        width: 70%;
        padding-right: 12px;
    }

    .form-area table td input {
        border: none;
        background: #fff;
        width: 100%;
        height: 35px;
        line-height: 33px;
        padding: 0 10px;
    }

    .form-area table td input#gend1,
    .form-area table td input#gend2 {
        width: 16px;
        height: 16px;
        padding: 0 10px;
        margin-right: 5px;
    }

    .form-area table td textarea {
        border: none;
        width: 100%;
        height: 130px;
        line-height: 28px;
        padding: 10px;
    }

    .form-area .cbtn3 {
        width: 200px;
        margin: 0 auto;
        font-size: 16px;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    .form-area .btn input {
        width: 200px;
        margin: 0 auto;
        font-size: 16px;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
        position: relative;
    background: url(../images/icon_arrow_s2_on.svg) right 20px center no-repeat #B0866D;
    background-size: 8px auto;
    height: 50px;
    display: block;
    border: #B0866D 1px solid;
    text-align: center;
    color: #fff;
    line-height: 48px;
    }

}

@-moz-keyframes imgfade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes imgfade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-o-keyframes imgfade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-ms-keyframes imgfade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@media (min-width: 751px) and (max-width:1245px) {
    .mainw {
        width: 100%;
        padding: 0 2vw;
    }

    #rsv_i.rsv .rsv_ul {
        width: 85%;
    }

    .rsv h3 {
        width: 13%;
        margin-right: 2%;
    }

    footer #footmain {
        padding: 30px 2vw;
    }

    footer .f_contact ul li:first-child a {
        padding-right: 0;
    }

    footer .f_contact ul li:nth-child(n+2) {
        margin-left: 5px;
    }

    #facility .ser ul {
        justify-content: left;
    }

}

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

    #fnav_in .menuhead {
        width: 20%;
    }

    header h1 {
        width: 20%;
    }
}

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

    header {
        height: 10vw;
    }

    #fnav_in .menuhead {
        width: 100%;
        text-align: center;
    }

    #fnav {
        height: 10vw;
        top: -10vw;
    }

}

@media (min-width: 751px) and (max-width:1218px) {
    .ssunit ul {
        justify-content: left;
    }

    .ssunit>ul>li {
        margin: 0 3vw 4vw 0;
    }

    .ssunit>ul>li>ul {
        justify-content: space-between;
    }

    #facility .fac ul li .img {
        width: 55%;
    }

    #facility .fac ul li .txt {
        width: 40%;
    }

    header h1 {
        width: 100%;
    }

}

@media (min-width: 751px) and (max-width:1180px) {
    #rsv.rsv .rsv_ul {
        margin-top: 0.3vw;
    }

    header .gnav li a {
        padding: 10px 10px 0 10px;
    }

    .gnav li a:after {
        left: auto;
        margin-left: 0;
        right: 0;
        bottom: -0.5vw;
    }

    .w1100 {
        width: 95%;
    }

    .w900 {
        width: 95%;
    }
}

@media (min-width: 751px) and (max-width:1120px) {
    .for_tab {
        display: block;
    }

    #headmain nav {
        width: 73%;
    }

    #work .bx-wrapper .bx-controls-direction a.bx-prev {
        left: 0;
    }

    #work .bx-wrapper .bx-controls-direction a.bx-next {
        right: 0;
    }

}

@media (min-width: 751px) and (max-width:1090px) {
    header {
        height: 11vw;
    }

    #fnav {
        height: 11vw;
        top: -11vw;
    }
}

@media (min-width: 751px) and (max-width:1034px) {
    header nav {
        margin: 0 auto;
    }

    header .snav {
        margin: 0 auto;
    }
}

@media (min-width: 751px) and (max-width:1027px) {
    header {
        height: 15vw;
    }

}

@media (min-width: 751px) and (max-width:1000px) {
    #headmain {
        display: block;
    }

    #headmain h2 {
        margin: 1vw auto;
    }

    #headmain nav {
        width: 100%;
    }

    header {
        height: 18vw;
    }

    #fnav {
        height: 18vw;
        top: -18vw;
    }

}

@media (min-width: 751px) and (max-width:993px) {
    .rsv .rsv_ul li input[type="text"] {
        width: 140px;
        padding-left: 10px;
    }

    .rsv .btn_search input {
        width: 140px;

    }

    .rsv .rsv_ul li {
        margin-right: 6px;
    }
}

@media (min-width: 751px) and (max-width:972px) {
    #fnav {
        height: 17vw;
        top: -17vw;
    }

    #fnav_in nav {
        margin: 0 auto;
    }

    #fnav_in .snav {
        margin: 0 auto;
    }

    #fnav_in .snav li:last-child {
        margin: auto 0 auto 1vw;
    }

    #fnav_in .snav li:last-child span {
        display: inline-block;
        margin-right: 1vw;
    }
}

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

    .rsv_ul li:nth-child(2) .cbtn2,
    .rsv_ul li:last-child .cbtn {
        width: 19vw;
    }

    .rsv_ul li:nth-child(3) select {
        width: 6vw;
    }

    #fnav_in .mainw {
        padding: 0;
    }
}

@media (min-width: 751px) and (max-width:940px) {
    header {
        height: 18vw;
    }

    header h1 {
        margin: 0 auto 1vw;
    }

    header nav {
        margin: 0 auto;
    }

    header .snav {
        margin: 1.5vw auto;
    }

    #fnav {
        height: 19vw;
        top: -19vw;
    }
}

@media (min-width: 751px) and (max-width:885px) {
    h1 {
        display: none;
    }

}

@media (min-width: 751px) and (max-width:860px) {
    header {
        height: 20vw;
    }

    .rsv_ul li:nth-child(4),
    .rsv_ul li:last-child .cbtn {
        width: 19vw;
    }

    #fnav {
        height: 22vw;
    }
}

@media (max-width:750px) {
    body {
        font-size: 4.2vw;
        line-height: 1.5;
        -webkit-font-smoothing: antialiased;
    }

    .mb20 {
        margin-bottom: 2.6vw !important;
    }

    .mb25 {
        margin-bottom: 3.3vw !important;
    }

    .mb30 {
        margin-bottom: 4vw !important;
    }

    .mb40 {
        margin-bottom: 5.3vw !important;
    }

    .mb50 {
        margin-bottom: 6.6vw !important;
    }

    .mb60 {
        margin-bottom: 8vw !important;
    }

    .mb70 {
        margin-bottom: 9.3vw !important;
    }

    .mb80 {
        margin-bottom: 10.6vw !important;
    }

    .mb90 {
        margin-bottom: 12vw;
    }

    .mb100 {
        margin-bottom: 13.3vw !important;
    }

    .mb120 {
        margin-bottom: 16vw !important;
    }

    .pt50 {
        padding-top: 6.6vw !important;
    }

    .ls-1 {
        letter-spacing: -1px;
    }

    .ls-2 {
        letter-spacing: -2px;
    }

    .ls-3 {
        letter-spacing: -3px;
    }

    .ls-4 {
        letter-spacing: -4px;
    }

    body {
        width: 100%;
    }

    .wrap {
        width: 100%;
        overflow: hidden;
    }

    .for_pc {
        display: none !important;
    }

    .for_tab {
        display: none;
    }

    .cf_s:before,
    .cf_s:after {
        content: "";
        display: table;
    }

    .cf_s:after {
        clear: both;
    }

    .cf_s {
        zoom: 1;
    }

    #fnav {
        width: 100%;
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 20000;
    }

    /*fnav_in*/

    #fnav_in {
        display: none;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        z-index: -1;
        text-align: center;
        background: url(../images/bg.jpg) center center repeat;
        height: 100%;
        overflow: auto;
        margin-top: 24vw;
    }

    #fnav_in .menu_close {
        width: 10vw;
        display: block;
        position: absolute;
        top: 6.6vw;
        text-align: center;
        right: 6.6vw;
    }

    #fnav_in .menu_close img {
        width: 5.3vw;
        margin-bottom: 1vw;
    }

    #fnav_in .menu_close span {
        display: block;
        width: 10vw;
        text-align: center;
        font-size: 3vw;
    }

    #fnav_in h1 {
        margin: 6vw auto;
        width: 70vw;
    }

    #fnav_in h1 img {
        width: 100%;
    }

    #fnav_in ul.f_gnav {
        width: 88vw;
        text-align: left;
        margin: 0 auto 6.4vw;
        border-top: #9FA0A0 1px solid;
        border-bottom: #9FA0A0 1px solid;
        display: flex;
        flex-wrap: wrap;
    }

    #fnav_in ul.f_gnav li {
        border-bottom: #727171 1px dotted;
        line-height: 16vw;
        width: 49%;
    }

    #fnav_in ul.f_gnav li:nth-child(odd) {
        border-right: #9FA0A0 1px solid;
    }

    #fnav_in ul.f_gnav li:nth-last-child(1),
    #fnav_in ul.f_gnav li:nth-last-child(2) {
        border-bottom: none;
    }

    #fnav_in ul.f_gnav li:nth-child(even) a {
        padding-left: 3.6vw;
    }

    #fnav_in ul.f_gnav li a {
        display: block;
        width: 100%;
        height: 16vw;
        text-align: center;
    }

    #fnav_in ul.f_gnav li a.gm7 {
        background: #2C3280;
    }

    #fnav_in ul.f_gnav li.btn_rsv {
        background: #2C3280;
    }

    #fnav_in .contact {
        border: 1px solid #3E3A39;
        width: 80vw;
        margin: 0 auto;
        padding: 5vw;
    }

    #fnav_in .contact a {
        line-height: 10vw;
        color: #a74242;
        font-size: 8vw;
        letter-spacing: 0.5vw;
    }

    #fnav_in .contact a img {
        margin-right: 2vw;
        padding-bottom: 1.6vw;
    }

    #fnav_in p {
        text-align: left;
    }

    #fnav_in .tel p {
        text-align: center;
    }

    #fnav_in #gnav {
        display: flex;
        justify-content: start;
        flex-wrap: wrap;
        width: 90%;
        margin: 0 auto;
    }

    #fnav_in #gnav li {
        margin-bottom: 4vw;
        width: 55%;
    }

    #fnav_in #gnav li:nth-child(even) {
        width: 39%;
    }

    #fnav_in #gnav li a {
        display: block;
        text-align: left;
        position: relative;
        padding-left: 6%;
    }

    #fnav_in #gnav li a:before {
        content: "\f105";
        font-family: FontAwesome;
        position: absolute;
        top: -0.5vw;
        text-align: center;
        left: 0;
        transition: 0.3s;
        font-size: 5vw;
        color: #b0866d;
    }

    /*header*/
    header {
        width: 100%;
        z-index: 30;
        position: fixed;
        background: url(../images/bg.jpg) center center repeat;
    }

    #headmain {
        width: 100%;
        display: flex;
        margin: 4vw 0;
        justify-content: flex-end;
    }

    #headmain h2 {
        width: 65vw;
        margin-top: 2vw;
    }

    #headmain #menu_sp {
        display: block;
        width: 16vw;
        height: 16vw;
        text-align: center;
        border: #231815 1px solid;
        position: relative;
        padding-top: 1.6vw;
        margin-left: 3vw;
    }

    #headmain a p {
        text-align: center;
        font-family: "Quicksand", sans-serif;
    }

    #headmain #menu_sp .menu_close {
        width: 8vw;
        height: 4.4vw;
        margin: 1.6vw auto 0;
        position: relative;
    }

    #headmain #menu_sp span {
        position: absolute;
        display: block;
        width: 8vw;
        height: 1px;
        background: #231815;
        left: 0;
        transform: rotate(0);
    }

    #headmain #menu_sp .menu_close span:first-child {
        top: 0;
    }

    #headmain #menu_sp .menu_close span:nth-child(2) {
        top: 2vw;
    }

    #headmain #menu_sp .menu_close span:nth-child(3) {
        top: 4vw;
    }

    #headaddress {
        width: 90%;
    margin: 0 auto;
    }

    /*footer*/
    #pagetop_sp {
        width: 30vw;
        margin: 16vw auto 4vw auto;
        position: relative;
    }

    footer {
        text-align: center;
        position: relative;
    }

    footer nav ul {
        display: flex;
        justify-content: start;
        flex-wrap: wrap;
        padding-left: 10%;
    }

    footer nav ul li {
        width: 55%;
        margin-bottom: 5vw;
    }

    footer nav ul li:nth-child(even) {
        width: 35%;
    }

    footer nav ul li a {
        display: block;
        text-align: left;
        position: relative;
        padding-left: 3vw;
    }

    footer nav ul li a:before {
        content: "\f105";
        font-family: FontAwesome;
        position: absolute;
        top: -0.5vw;
        text-align: center;
        left: 0;
        transition: 0.3s;
        font-size: 5vw;
        color: #b0866d;
    }

    footer #footmain {
        padding: 10vw 0;
    }

    footer #footmain .tel p {
        text-align: center;
    }


    footer #footmain ul li {
        margin-bottom: 4vw;
    }

    footer h2 {
        width: 70vw;
        margin: 4vw auto 4vw;
        position: relative;
        z-index: 20;
    }

    footer h2 img {
        width: 100%;
    }

    footer address {
        font-style: normal;
        text-align: center;
    }

    footer address p {
        font-size: 3.7vw;
        line-height: 6vw;
        text-align: center;
        margin-bottom: 3vw;
    }

    footer .copy {
        font-size: 3.2vw;
        background: #E2D8CF;
        padding: 6vw 0 22vw;
        text-align: center;
    }

    /*common*/

    .mainw {
        width: 88vw;
        margin: 0 auto;
    }

    .w1100 {
        width: 88vw;
        margin: 0 auto;
    }

    .w1000 {
        width: 88vw;
        margin: 0 auto;
    }

    .w900 {
        width: 88vw;
        margin: 0 auto;
    }

    p {
        font-size: 4.2vw;
        line-height: 6vw;
    }

    .anchor {
        margin-top: -8vw;
        padding-top: 8vw;
    }

    .lead {
        margin: 0 auto 6vw;
        width: 88vw;
    }

    #mv {
        width: 100%;
        height: 89vw;
        text-align: center;
    }

    #mv img {
        width: 23vw;
    }

    /* h */

    h3.ch3 {
        margin-bottom: 8vw;
        text-align: center;
        line-height: 9vw;
        font-size: 8vw;
        position: relative;
        background: url(../images/bg_h3.png) bottom 2vw center no-repeat;
        padding: 18vw 0 7vw;
        font-family: 'Noto Serif JP', serif;
    }

    h3.ch3 span {
        font-size: 4.5vw;
        font-family: "Quicksand", sans-serif;
        font-weight: normal;
        letter-spacing: 0.5vw;
        -webkit-font-smoothing: unset;
    }

    h3.ch3:before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 0;
    }

    h4.ch4 {
        font-size: 6vw;
        margin-bottom: 2vw;
        position: relative;
        text-align: left;
        padding: 4vw 0 4vw 14vw;
        font-family: 'Noto Serif JP', serif;
    }

    h5.ch5 {
        margin-bottom: 15px;
        text-align: left;
        font-weight: bold;
        border-bottom: 1px dotted #878788;
        padding-bottom: 10px;
        position: relative;
    }

    h5.ch5:before {
        content: "";
        width: 27px;
        height: 12px;
        color: #231815;
        display: inline-block;
        padding-right: 7px;
        background: url("../images/icon_table.png") right 10px center no-repeat;
    }

    h5.ch5:after {
        content: "";
        display: block;
        width: 200px;
        height: 1px;
        background-color: #180017;
        position: absolute;
        left: 0;
        bottom: -1px;
    }

    .cb {
        background: url("../images/cb.jpg") repeat;
    }

    .cb2 {
        padding: 20vw 0 0;
        background: url("../images/bg02.jpg") top center no-repeat #FCFCFB;
    }

    /* .cbtn */

    .cbtn {
        position: relative;
        background: url(../images/icon_arrow.svg) right 5vw center no-repeat #B0866D;
        background-size: 2vw auto;
        height: 16vw;
        display: block;
        border: #B0866D 1px solid;
        text-align: center;
        color: #fff;
        line-height: 5vw;
        padding-top: 3vw;
    }



    .cbtn2 {
        position: relative;
        color: #231815;
        display: block;
        text-align: center;
        height: 16vw;
        background: url("../images/icon_arrow_s2.svg") right 5vw center no-repeat;
        background-size: 2vw auto;
        line-height: 15vw;
        border: #231815 1px solid;
    }


    .cbtn3 {
        position: relative;
        background: url(../images/icon_arrow_s2_on.svg) right 5vw center no-repeat #B0866D;
        background-size: 2vw auto;
        height: 16vw;
        display: block;
        border: #B0866D 1px solid;
        text-align: center;
        color: #fff;
        line-height: 15vw;
    }


    /*tel*/
    .tel {
        margin-top: 7vw;
    }

    .tel a {
        font-size: 9vw;
        letter-spacing: 0.5vw;
        font-family: "Quicksand", sans-serif;
        line-height: 13vw;
        font-weight: bold;
    }

    .tel a img {
        padding-bottom: 2.5vw;
    }

    /* table */

    table.ctable {
        border-collapse: collapse;
        width: 100%;
    }

    table.ctable th,
    table.ctable td {
        padding: 1vw 2vw;
        line-height: 8vw;
        text-align: center;
    }

    table.ctable td {
        padding-bottom: 3vw;
    }

    table.ctable th {
        background: #EEEEED;
    }

    /*mv*/

    .slide_wrp_i {
        width: 100%;
        height: 150vw;
        height: -webkit-calc(100vh - 60vw);
        height: calc(100vh - 60vw);
        position: relative;
        margin-top: 24vw;
    }

    .slide_wrp_i .bx-wrapper {
        margin: 0 auto;
        height: 150vw;
        height: -webkit-calc(100vh - 60vw);
        height: calc(100vh - 60vw);
    }

    .slide_wrp_i .bx-wrapper .bx-viewport {
        box-shadow: none;
        border: none;
        left: 0;
        height: 100%;
    }

    .slide_wrp_i .slide_i {
        width: 100%;
        height: 100%;
    }

    .slide_wrp_i .slide_i li:first-child {
        background: url("../images/mv1_sp.jpg?v2") center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100%;
    }

    .slide_wrp_i .slide_i li:nth-child(2) {
        background: url("../images/mv2_sp.jpg") center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100%;
    }

    .slide_wrp_i .slide_i li:nth-child(3) {
        background: url("../images/mv1_sp.jpg") center center no-repeat;
        background-size: cover;
        width: 100%;
        height: 100%;
    }

    .slide_wrp_i .slide_i li {
        padding-top: 23vh;
        text-align: center;
        position: relative;
    }

    .slide_wrp_i .slide_i li img {
        position: absolute;
        width: 70vw;
        top: 50%;
        margin-top: -23vh;
        left: 50%;
        margin-left: -35vw;
    }

    .slide_wrp_i .cc {
        position: absolute;
        top: 50%;
        margin-top: -28vw;
        left: 50%;
        margin-left: -40vw;
        z-index: 3;
        width: 80vw;
    }

    .slide_wrp_i #fv_scroll {
        display: block;
        width: 4vw;
        height: 53vw;
        position: absolute;
        bottom: -3vw;
        right: 50%;
        margin-right: 35vw;
        overflow: hidden;
    }


    .slide_wrp_i #fv_scroll:after {
        content: "";
        width: 1px;
        height: 25vw;
        background: #ffffff;
        position: absolute;
        left: 1.8vw;
        top: 25vw;
        -moz-animation: s_line 1s linear 0s infinite forwards;
        -webkit-animation: s_line 1s linear 0s infinite forwards;
        -o-animation: s_line 1s linear 0s infinite forwards;
        -ms-animation: s_line 1s linear 0s infinite forwards;
    }

    .slide_wrp_a .bx-wrapper .bx-pager {
        bottom: 2vw;
        left: 50%;
        margin-left: -12vw;
    }

    .slide_wrp_i .bx-wrapper .bx-controls {
        width: 88vw;
        position: absolute;
        bottom: 8vw;
        right: 50%;
        margin-right: -43vw;
        z-index: 20;
    }

    .slide_wrp_i .bx-wrapper .bx-pager {
        text-align: right;
        padding-top: 0;
        bottom: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .slide_wrp_i .bx-wrapper .bx-pager .bx-pager-item {
        width: 6vw;
        margin: 0 3vw;
    }


    .bx-wrapper .bx-pager,
    .bx-wrapper .bx-controls-auto {
        bottom: 10px;
        padding: 0 20px;
    }

    .bx-wrapper .bx-pager,
    .bx-wrapper .bx-controls-auto {
        bottom: 10px;
        padding: 0 20px;
    }

    .bx-wrapper .bx-pager {
        text-align: right;
    }

    .bx-wrapper .bx-pager.bx-default-pager a {
        text-align: left;
        background: none !important;
        margin: 0 3vw !important;
        background: transparent;
        text-align: center;
        width: 3vw !important;
        height: 3vw !important;
        margin: 0 auto;
        border: 1px solid #B0866D;
    }

    .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .bx-wrapper .bx-pager.bx-default-pager a.active {
        background: #B0866D !important;
    }

    .quote {
        position: fixed;
        bottom: 0;
        display: flex;
        left: 50%;
        margin-left: -45vw;
        z-index: 9999;
    }

    .quote .cbtn {
        width: 45vw;
        background: #B0866D;
        padding-left: 6vw;
    }

    .quote .cbtn:before {
        content: "";
        background: url(../images/icon_mail.svg) center center no-repeat;
        width: 6vw;
        height: 5vw;
        position: absolute;
        left: 2vw;
        top: 6vw;
    }

    .quote a.telbtn {
        background: #231815;
        width: 45vw;
        height: 16vw;
        display: block;
        border: #231815 1px solid;
        text-align: center;
        color: #fff;
        font-size: 4vw;
        padding-top: 2vw;
        line-height: 5vw;
    }

    .quote a.telbtn span {
        text-align: center;
        font-size: 5vw;
        font-family: "Quicksand", sans-serif;
        font-weight: bold;
    }

    .quote a.telbtn img {
        margin-right: 1vw;
        width: 3vw;
    }

    article {
        width: 100%;
        overflow: hidden;
    }

    /*concept*/
    #concept {
        width: 100%;
        position: relative;
        border-top: 1px solid #DAD0C5;
        border-bottom: 1px solid #DAD0C5;
        padding: 25vw 0 20vw;
    }

    #concept h3:before {
        width: 76px;
        height: 60px;
        background: url("../images/icon_concept.svg") top center no-repeat;
    }

    .greeting {
        background: url("../images/bg_gre.png") center bottom no-repeat;
        padding-bottom: 90vw;
        background-size: 90vw;
    }

    .greeting h4 {
        background: url("../images/icon_gre.svg") left center no-repeat;
    }

    .commitment h4 {
        background: url("../images/icon_point.svg") left center no-repeat;
    }

    .commitment ul {
        margin-top: 10vw;
    }

    .commitment ul li {
        margin-bottom: 10vw;
    }

    .commitment ul li h5 {
        margin-bottom: 3vw;
        font-size: 6vw;
        line-height: 8vw;
        display: flex;
        align-items: center;
        font-family: 'Noto Serif JP', serif;
    }

    .commitment ul li h5 img {
        margin-right: 3vw;
    }

    .commitment ul li .ttl {
        color: #754C24;
        font-size: 5.2vw;
        font-weight: bold;
        margin: 5vw 0 3vw;
    }

    /*menu*/
    #menu {
        margin: 10vw 0;
    }

    #menu h3 {
        padding-top: 70px;
    }

    #menu h3:before {
        width: 130px;
        height: 66px;
        background: url("../images/icon_menu.svg") top center no-repeat;
    }

    #menu ul li {
        margin-bottom: 8vw;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #menu ul li .img {
        width: 45%;
    }

    #menu ul li h4 {
        background: url("../images/ttl_menu.jpg") top center no-repeat;
        font-size: 4.5vw;
        font-family: 'Noto Serif JP', serif;
        text-align: center;
        height: 20.7vw;
        display: grid;
        align-items: center;
        background-size: 80vw;
    }

    #menu .detail {
        color: #754C24;
        font-weight: bold;
        width: 50%;
    }

    #menu .comment {
        background: url(../images/bg_menu_sp.jpg) left top no-repeat;
        height: 32vw;
        color: #754C24;
        font-weight: bold;
        font-size: 5vw;
        text-align: center;
        padding-top: 9vw;
        background-size: 100%;
    }

    /*work*/
    #work {
        margin-top: 30vw;
    }

    #work:before {
        content: "";
        background: url(../images/bg_work01.png) center top no-repeat;
        background-size: 28vw;
        position: absolute;
        left: 4vw;
        top: 0;
        width: 28vw;
        height: 29vw;
        z-index: 20;
    }

    #work:after {
        content: "";
        background: url(../images/bg_work02.png) center top no-repeat;
        background-size: 34vw;
        position: absolute;
        right: 2vw;
        top: 0;
        width: 34vw;
        height: 42vw;
        z-index: 20;
    }

    #work h3:before {
        width: 18vw;
        height: 17vw;
        background: url("../images/icon_work.svg") top center no-repeat;
    }

    #work .lead {
        text-align: center;
    }

    #work .slidewrap_lk {
        margin-bottom: 10vw;
        width: 70vw;
    }

    #work .slide_lk .detail {
        background: #fff;
        padding: 6vw;
    }

    #work .slide_lk .category span {
        background: #B0866D;
        padding: 1.5vw 3vw;
        margin-right: 2vw;
        color: #fff;
    }

    #work .slide_lk h4 {
        font-size: 5vw;
        margin: 4vw 0 3vw;
        font-family: 'Noto Serif JP', serif;
        line-height: 7vw;
    }

    #work .bx-wrapper .bx-controls-direction a {
        width: 10vw;
        height: 10vw;
        background: #231815;
        border-radius: 10vw;
        color: #fff;
        z-index: 20;
    }

    #work .bx-wrapper .bx-controls-direction a.bx-prev {
        left: -13vw;
    }

    #work .bx-wrapper .bx-controls-direction a.bx-next {
        right: -13vw;
    }

    #work .bx-wrapper .bx-controls-direction a:before {
        font-family: FontAwesome;
        text-indent: 0;
        position: absolute;
        text-align: center;
        line-height: 10vw;
        color: #fff;
        top: 0;
        left: 0;
        width: 10vw;
        font-size: 5vw;
        transition: 0.3s;
    }

    #work .bx-wrapper .bx-controls-direction a.bx-prev:before {
        content: "\f104";
    }

    #work .bx-wrapper .bx-controls-direction a.bx-next:before {
        content: "\f105";
    }

    #work .other {
        background: #EEEEED;
        padding: 6vw;
    }

    #work .other h4 {
        padding-bottom: 4vw;
        border-bottom: 1px solid #D0D0D0;
        background: url(../images/icon_other.svg) left center no-repeat;
        background-size: 10vw;
    }

    #work .other ul {}

    #work .other ul li {
        list-style-type: disc;
        margin-left: 5vw;
        margin-bottom: 3vw;
    }

    .loopslider {
        width: 100%;
        height: 188px;
        position: relative;
        overflow: hidden;
        margin-top: 15vw;
    }

    .loopslider ul {
        float: left;
    }

    .loopslider li {
        float: left;
        width: 340px;
        display: inline;
    }

    .loopslider li img {
        width: 340px;
    }

    /*flow*/
    #flow {
        margin: 10vw auto 25vw;
    }

    #flow h3 {
        padding-top: 24vw;
    }

    #flow h3:before {
        width: 12vw;
        height: 24vw;
        background: url("../images/icon_flow.svg") top center no-repeat;
    }

    #flow ul li {
        display: flex;
        justify-content: space-between;
    }

    #flow ul li .img {
        width: 30%;
    }

    #flow ul li .txt {
        width: 65%;
    }

    #flow ul li h4 {
        font-size: 5vw;
        margin-bottom: 2vw;
        font-family: 'Noto Serif JP', serif;
    }

    #flow ul li:nth-child(even) img {
        width: 7vw;
        transform: rotate(90deg);
        margin: 5vw auto;
    }

    /*company*/

    #company {
        margin-top: 0px;
        padding-bottom: 25vw;
    }

    #company h3:before {
        width: 72px;
        height: 63px;
        background: url("../images/icon_com.svg") top center no-repeat;
    }

    #company #gmap {
        margin-top: 5vw;
    }

    #company iframe {
        width: 88vw;
        height: 75vw;
    }

    #company .cbtn2 {
        width: 65vw;
        margin: 5vw auto 0;
    }

    #company img {
        margin: 5vw auto;
        width: 50vw;
        display: block;
    }

    /*contact*/
    #contact {
        margin-top: 7vw;
    }

    #contact h3:before {
        width: 87px;
        height: 64px;
        background: url("../images/icon_contact.svg") top center no-repeat;
    }

    #contact .lead span {
        color: #BE0D23;
    }

    #contact iframe {
        height: 260vw;
    }

    .form-area table {
        width: 100%;
        margin-bottom: 7vw;
    }

    .form-area table th,
    .form-area table td {
        border-bottom: #d0d0d0 1px solid;
        padding-top: 5vw;
        padding-bottom: 5vw;
        display: block;
    }

    .form-area table th {
        width: 100%;
        vertical-align: middle;
        text-align: left;
        display: block;
    }

    .form-area table th span {
        color: #BE0D23;
    }

    .form-area table td input {
        height: 15vw;
        width: 100%;
    }

    .form-area table td input#gend1,
    .form-area table td input#gend2 {
        height: 6vw;
        width: auto;
    }

    .form-area table td textarea {
        height: 34vw;
        width: 100%;
    }

    .form-area .cbtn3 {
        width: 80vw;
        margin: 0 auto;
        font-size: 4.2vw;
    }
    .form-area .btn input {
        width: 80vw;
        margin: 0 auto;
        font-size: 4.2vw;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
        position: relative;
    background: url(../images/icon_arrow_s2_on.svg) right 5vw center no-repeat #B0866D;
    background-size: 2vw auto;
    height: 16vw;
    display: block;
    border: #B0866D 1px solid;
    text-align: center;
    color: #fff;
    line-height: 15vw;
    }


}