* {
    box-sizing: border-box;
}

body:before {
    background: #2e2925;
    bottom: 0;
    content: "";
    left: 0;
    position: fixed;
    top: 0;
    width: 13px;
    z-index: 9999;
}

header h1 {
    padding: 30px 0 0 60px !important;
    position: static;
}

header .logo {
    left: auto;
    margin: 14px 0 -61px 64px;
    position: relative;
    top: auto;
    transform: none;
}

header .logo:before {
    display: none;
}

header .logo:after {
    display: none;
}

header .nav_header .nav {
    padding: 4px 0 233px;
}

header #key {
    background-image: url("../img/bar/key.jpg");
    color: #fff;
    padding-top: 240px;
}

header #key h2 {
    font-size: 32px;
    font-weight: 300;
    letter-spacing: 8px;
    line-height: 60px;
    margin: 0 auto;
    width: 546px;
}

header #key .txt {
    margin: 5px auto 0;
    width: 546px;
}

header #key .txt .large {
    float: left;
    font-size: 40px;
    margin: 16px 15px 0 0;
}

@media only screen and (max-width: 1200px) {
    header #key {
        padding-left: 190px;
    }
}

@media only screen and (max-width: 999px) {
    body:before {
        display: none;
    }
    header {
        background-image: url("../img/bar/key_sp.jpg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        height: auto;
    }
    header h1 {
        padding: 3% 20% 0 4% !important;
    }
    header .logo {
        margin: 16% auto;
        width: 52%;
    }
    header #key {
        background: transparent;
        min-height: auto;
        padding: 0% 4% 15%;
        position: static;
    }
    header #key h2 {
        font-size: 6vw;
        letter-spacing: 0.3em;
        line-height: 9vw;
        width: 100%;
    }
    header #key .txt {
        margin: 6% auto 0;
        width: 100%;
    }
    header #key .txt .large {
        float: left;
        font-size: 38px;
        margin: 16px 10px 0 0;
    }
}

#sec1 {
    padding-top: 88px;
    position: relative;
    z-index: 1;
}

#sec1:before {
    background-image: url("../img/bar/pat3.jpg");
    content: "";
    height: 1598px;
    left: 0;
    position: absolute;
    top: 0;
    width: calc(50% - 433px);
    z-index: -2;
}

#sec1 .note {
    text-align: center;
}

#sec1 h2 {
    color: #312c29;
    font-size: 32px;
    letter-spacing: 9px;
    line-height: 60px;
    position: absolute;
    right: 98px;
    text-align: center;
    top: 169px;
    z-index: 1;
}

#sec1 .img1 {
    margin: 85px 0 0 -70px;
    position: relative;
    width: 550px;
}

#sec1 .img1 span {
    display: block;
    position: absolute;
    right: 0;
    top: -45px;
    z-index: 1;
}

#sec1 .img2 {
    position: absolute;
    right: 50px;
    top: 438px;
    z-index: 1;
}

#sec1 .box {
    background-image: url("../img/shared/s2_bg.jpg");
    color: #fff;
    margin: 45px 0 0 190px;
    padding: 75px 93px 64px 90px;
    width: 730px;
}

#sec1 .box:before {
    background-image: url("../img/bar/sec1-deco.png");
    background-repeat: no-repeat;
    background-size: 100%;
    bottom: 67px;
    content: "";
    height: 332px;
    left: 21px;
    position: absolute;
    width: 202px;
    z-index: -1;
}

#sec1 .box dl {
    font-weight: 300;
    margin-bottom: 21px;
}

#sec1 .box dl dt {
    font-size: 32px;
    letter-spacing: 10px;
}

#sec1 .box dl dt span {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 2.5px;
}

#sec1 .box dl dd {
    float: right;
    font-size: 27px;
    letter-spacing: 5px;
    margin-top: -33px;
}

#sec1 .box dl dd small {
    font-size: 22px;
}

#sec1 .note2 {
    color: #fff;
    margin: 9px 66px 0 0;
    text-align: right;
}

@media only screen and (max-width: 999px) {
    #sec1 {
        padding: 17% 0 12%;
    }
    #sec1:before {
        bottom: 0;
        height: 83%;
        top: auto;
        width: 22.5%;
    }
    #sec1 .wrap {
        padding: 0 !important;
    }
    #sec1 h2 {
        font-size: 6vw;
        letter-spacing: 0.3em;
        line-height: 11vw;
        margin-top: 10%;
        position: static;
        right: auto;
        top: auto;
    }
    #sec1 .img1 {
        margin: 15% 0 0 0;
        width: 73%;
    }
    #sec1 .img1 span {
        right: -10%;
        top: 10%;
        width: 77%;
    }
    #sec1 .img2 {
        margin: -20% 0 0 43%;
        position: relative;
        right: auto;
        top: auto;
        width: 57%;
        z-index: 2;
    }
    #sec1 .box {
        margin: -15% auto 0;
        padding: 20% 5% 10%;
        position: relative;
        width: 92%;
    }
    #sec1 .box:before {
        height: 37%;
        left: 14%;
        top: -37%;
        width: 30%;
    }
    #sec1 .box dl {
        margin-bottom: 4%;
    }
    #sec1 .box dl dt {
        font-size: 6.3vw;
        letter-spacing: 0.15em;
        line-height: 8vw;
    }
    #sec1 .box dl dt span {
        font-size: 3vw;
        letter-spacing: 0.2em;
    }
    #sec1 .box dl dd {
        font-size: 6vw;
        line-height: 8vw;
        margin-top: 0;
        margin-top: 3%;
    }
    #sec1 .box dl dd small {
        font-size: 4.8vw;
    }
    #sec1 .note2 {
        margin: 0;
        padding: 0 4%;
    }
}

#sec2 {
    padding: 103px 0 228px;
    position: relative;
    z-index: 1;
}

#sec2 .wrap:before {
    background-image: url("../img/bar/sec2-deco1.png");
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 128px;
    left: 632px;
    position: absolute;
    top: 6px;
    width: 119px;
    z-index: -1;
}

#sec2 .wrap:after {
    background-image: url("../img/bar/sec2-deco2.png");
    background-repeat: no-repeat;
    background-size: 100%;
    bottom: -86px;
    content: "";
    height: 152px;
    left: 10px;
    position: absolute;
    width: 144px;
    z-index: -1;
}

#sec2 .s2-js {
    display: flex;
    justify-content: space-between;
    padding: 0 30px;
    position: relative;
    z-index: 1;
}

#sec2 .s2-js .img2 {
    margin-top: 90px;
}

#sec2 .s2-js .img3 {
    margin-top: 180px;
}

#sec2 .box {
    background-image: url("../img/shared/s2_bg.jpg");
    color: #fff;
    margin: -132px 0 0 98px;
    padding: 75px 93px 72px 90px;
    width: 804px;
}

#sec2 .box dl {
    font-weight: 300;
    margin-bottom: 21px;
    width: 308px;
}

#sec2 .box dl dt {
    font-size: 32px;
    letter-spacing: 10px;
}

#sec2 .box dl dt span {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 2.5px;
}

#sec2 .box dl dd {
    float: right;
    font-size: 27px;
    letter-spacing: 5px;
    margin-top: -33px;
}

#sec2 .box dl dd small {
    font-size: 22px;
}

@media only screen and (max-width: 999px) {
    .slick-arrow {
        background-color: transparent;
        background-position: center top;
        background-repeat: no-repeat;
        background-size: 100%;
        border: none;
        font-size: 0;
        height: 10%;
        position: absolute;
        top: 42%;
        width: 18%;
        z-index: 5;
    }
    .slick-prev {
        background-image: url("../img/bar/prev.png");
        left: -27%;
    }
    .slick-next {
        background-image: url("../img/bar/next.png");
        right: -27%;
    }
    .slick-dots {
        justify-content: center;
        margin-top: 3%;
    }
    .slick-dots li {
        background: #c1b3a6;
        height: 4px;
        margin: 0 4px;
        width: 30px;
    }
    .slick-dots li.slick-active {
        background: #574738;
        height: 4px;
    }
    #sec2 {
        padding: 15% 0 25%;
    }
    #sec2 .wrap:before {
        height: 30%;
        left: auto;
        right: 7%;
        top: -5%;
        width: 18%;
    }
    #sec2 .wrap:after {
        background-position: center bottom;
        bottom: -7%;
        height: 30%;
        left: -3%;
        width: 20%;
    }
    #sec2 .s2-js {
        display: block;
        margin: 0 auto;
        padding: 0;
        width: 60%;
    }
    #sec2 .s2-js .img2 {
        margin-top: 0;
    }
    #sec2 .s2-js .img3 {
        margin-top: 0;
    }
    #sec2 .box {
        margin: -18% auto 0;
        padding: 20% 5% 10%;
        position: relative;
        width: 100%;
    }
    #sec2 .box:before {
        height: 37%;
        left: 14%;
        top: -37%;
        width: 30%;
    }
    #sec2 .box dl {
        margin-bottom: 4%;
        width: 100%;
    }
    #sec2 .box dl dt {
        font-size: 7vw;
        letter-spacing: 0.3em;
        line-height: 9vw;
    }
    #sec2 .box dl dt span {
        font-size: 3vw;
        letter-spacing: 0.2em;
    }
    #sec2 .box dl dd {
        font-size: 6vw;
        line-height: 8vw;
        margin-top: 0;
        margin-top: 3%;
    }
    #sec2 .box dl dd small {
        font-size: 4.8vw;
    }
}

#sec3 .df {
    display: table;
    width: 100%;
}

#sec3 .blk {
    background-image: url("../img/bar/pat1.jpg");
    color: #fff;
    display: table-cell;
    padding: 59px 0 82px;
    width: 559px;
}

#sec3 .blk .note {
    padding-right: 22px;
    text-align: center;
}

#sec3 .blk h2 {
    font-family: "Playfair Display", serif;
    font-size: 64px;
    letter-spacing: 9px;
    line-height: 87px;
    margin-bottom: 45px;
    padding: 55px 42px 39px 0;
    position: relative;
    text-align: center;
}

#sec3 .blk h2:before {
    background: #fff;
    bottom: 0;
    content: "";
    height: 2px;
    left: 197px;
    position: absolute;
    width: 115px;
}

#sec3 .blk dl {
    font-size: 27px;
    line-height: 56px;
    margin-left: 130px;
    width: 267px;
}

#sec3 .blk dl small {
    font-size: 22px;
}

#sec3 .blk dl dt {
    float: left;
}

#sec3 .blk dl dd {
    float: right;
    text-align: right;
}

#sec3 .blk .txt {
    padding: 33px 74px 0 73px;
    text-align: justify;
}

#sec3 .s3bg {
    background-image: url("../img/bar/sec3-bg.jpg");
    background-position: center 95%;
    background-size: cover;
    display: table-cell;
    height: 100%;
}

#sec3 .blk2 {
    color: #312c29;
    padding: 100px 0 201px;
    position: relative;
}

#sec3 .blk2:before {
    background-image: url("../img/bar/sec3-deco2.png");
    background-position: center;
    background-size: cover;
    bottom: 0;
    content: "";
    height: 137px;
    position: absolute;
    right: 0;
    width: calc(50% - 103px);
}

#sec3 .blk2 .wrap:before {
    background-image: url("../img/bar/sec3-deco1.png");
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 246px;
    left: 467px;
    position: absolute;
    top: -100px;
    width: 267px;
    z-index: -1;
}

#sec3 .blk2 .img {
    float: left;
    margin-left: -152px;
    width: 680px;
}

#sec3 .blk2 .text {
    float: right;
    margin: 120px 35px 0 0;
    width: 370px;
}

#sec3 .blk2 .text h3 {
    font-size: 32px;
    letter-spacing: 7px;
    line-height: 40px;
}

#sec3 .blk2 .text .txt2 {
    padding: 38px 10px 0 0;
    text-align: justify;
}

@media only screen and (max-width: 999px) {
    #sec3 .df {
        display: block;
    }
    #sec3 .blk {
        display: block;
        padding: 12% 0 0;
        width: 100%;
    }
    #sec3 .blk .note {
        padding: 0;
    }
    #sec3 .blk h2 {
        font-size: 13vw;
        letter-spacing: 0.2em;
        line-height: 13vw;
        padding: 13% 0 10%;
    }
    #sec3 .blk h2:before {
        left: 50%;
        transform: translateX(-50%);
        width: 25%;
    }
    #sec3 .blk dl {
        font-size: 5.2vw;
        line-height: 10vw;
        margin: 0 auto;
        width: 60%;
    }
    #sec3 .blk dl small {
        font-size: 4vw;
    }
    #sec3 .blk .txt {
        padding: 8% 4%;
    }
    #sec3 .s3bg {
        display: none;
    }
    #sec3 .blk2 {
        padding: 25% 0 20% 15%;
    }
    #sec3 .blk2:before {
        display: none;
    }
    #sec3 .blk2 .wrap {
        padding: 0 !important;
    }
    #sec3 .blk2 .wrap:before {
        height: 40%;
        left: -14%;
        top: -25%;
        width: 40%;
    }
    #sec3 .blk2 .img {
        float: none;
        margin: 0;
        width: 100%;
    }
    #sec3 .blk2 .text {
        float: none;
        margin: 0;
        width: 100%;
    }
    #sec3 .blk2 .text h3 {
        font-size: 5.3vw;
        letter-spacing: 0.2em;
        line-height: 7vw;
        padding: 4% 0 3%;
    }
    #sec3 .blk2 .text .txt2 {
        padding: 0 4% 0 0;
    }
}

#sec4 .df {
    display: table;
    width: 100%;
}

#sec4 .blk {
    background-image: url("../img/bar/pat2.jpg");
    color: #312c29;
    display: table-cell;
    padding: 61px 0 130px;
    width: 559px;
}

#sec4 .blk .note {
    padding-left: 34px;
    text-align: center;
}

#sec4 .blk h2 {
    color: #282522;
    font-family: "Playfair Display", serif;
    font-size: 64px;
    letter-spacing: 9px;
    line-height: 87px;
    margin-bottom: 45px;
    padding: 66px 0px 39px 14px;
    position: relative;
    text-align: center;
}

#sec4 .blk h2:before {
    background: #363330;
    bottom: 0;
    content: "";
    height: 2px;
    left: 226px;
    position: absolute;
    width: 115px;
}

#sec4 .blk dl {
    font-size: 27px;
    line-height: 56px;
    margin-left: 112px;
    width: 330px;
}

#sec4 .blk dl small {
    font-size: 22px;
}

#sec4 .blk dl dt {
    float: left;
}

#sec4 .blk dl dd {
    float: right;
    text-align: right;
}

#sec4 .s4bg {
    background-image: url("../img/bar/sec4-bg.jpg");
    background-position: center 95%;
    background-size: cover;
    display: table-cell;
    height: 100%;
}

#sec4 .blk2 {
    padding: 50px 0 111px;
    position: relative;
    z-index: 1;
}

#sec4 .blk2:before {
    background-image: url("../img/bar/pat3.jpg");
    bottom: 0;
    content: "";
    height: 319px;
    left: 0;
    position: absolute;
    width: calc(50% + 162px);
    z-index: -1;
}

#sec4 .blk2 .txt {
    float: right;
    height: 563px;
    margin: 87px 94px 0 0;
    width: 202px;
}

#sec4 .blk2 .txt .large {
    display: block;
    float: left;
    font-size: 40px;
    margin-right: 21px;
}

#sec4 .blk2 .blk2L {
    float: left;
    width: 600px;
}

#sec4 .blk2 .blk2L .img2 {
    margin: 20px 0 0 -140px;
    display: table;
}

#sec4 .blk3 .box {
    background-image: url("../img/shared/s2_bg.jpg");
    color: #fff;
    margin: 74px auto 0;
    padding: 58px 0 52px 59px;
    position: relative;
    width: 920px;
}

#sec4 .blk3 .box .ttl {
    border-left: 2px solid #fff;
    font-size: 32px;
    letter-spacing: 9px;
    line-height: 60px;
    margin-bottom: 26px;
    padding-left: 26px;
}

#sec4 .blk3 .box .txt-deco {
    bottom: -10px;
    position: absolute;
    right: -59px;
}

@media only screen and (max-width: 999px) {
    #sec4 .df {
        display: block;
    }
    #sec4 .blk {
        display: block;
        padding: 12% 0 0;
        width: 100%;
    }
    #sec4 .blk .note {
        padding: 0;
    }
    #sec4 .blk h2 {
        font-size: 13vw;
        letter-spacing: 0.2em;
        line-height: 13vw;
        padding: 13% 0 10%;
    }
    #sec4 .blk h2:before {
        left: 50%;
        transform: translateX(-50%);
        width: 25%;
    }
    #sec4 .blk dl {
        font-size: 5.2vw;
        line-height: 10vw;
        margin: 0 auto;
        width: 60%;
    }
    #sec4 .blk dl small {
        font-size: 4vw;
    }
    #sec4 .blk .sp {
        margin-top: 20%;
    }
    #sec4 .s4bg {
        display: none;
    }
    #sec4 .blk2 {
        padding: 10% 0 18%;
    }
    #sec4 .blk2:before {
        height: 20%;
        width: 100%;
    }
    #sec4 .blk2 .txt {
        float: none;
        height: auto;
        margin: 0;
        width: 100%;
        writing-mode: initial;
        -o-writing-mode: initial;
        -ms-writing-mode: initial;
        -moz-writing-mode: initial;
        -webkit-writing-mode: initial;
        letter-spacing: 0.1em;
    }
    #sec4 .blk2 .txt .large {
        font-size: 38px;
        margin: 15px 11px 0 0;
    }
    #sec4 .blk2 .blk2L {
        float: none;
        margin-top: 13%;
        width: 100%;
    }
    #sec4 .blk2 .blk2L .img1 {
        padding-left: 18%;
    }
    #sec4 .blk2 .blk2L .img2 {
        margin: 3% 0 0 -3%;
        padding-right: 18%;
    }
    #sec4 .blk3 .box {
        margin-top: 18%;
        padding: 12% 6% 3%;
        width: 100%;
    }
    #sec4 .blk3 .box .ttl {
        border: none;
        font-size: 5.8vw;
        line-height: 10vw;
        margin-bottom: 4%;
        padding: 0;
    }
    #sec4 .blk3 .box .txt-deco {
        bottom: auto;
        margin-right: -6%;
        padding-left: 20%;
        position: static;
        right: auto;
    }
}

#sec5 {
    padding-top: 157px;
}

#sec5 .toggle-link {
    color: #312c29;
    cursor: default;
    pointer-events: none;
    text-align: center;
}

#sec5 .toggle-link h2 {
    font-family: "Playfair Display", serif;
    font-size: 55px;
    letter-spacing: 7px;
    margin-bottom: 39px;
    padding-bottom: 58px;
    position: relative;
}

#sec5 .toggle-link h2:before {
    background: #282522;
    bottom: 0;
    content: "";
    height: 2px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 116px;
}

#sec5 .toggle-main {
    display: block;
}

#sec5 .toggle-main .note {
    padding-bottom: 70px;
    text-align: center;
}

#sec5 .toggle-main .blk {
    display: flex;
    justify-content: space-between;
}

#sec5 .toggle-main .blk .list {
    width: 470px;
}

#sec5 .toggle-main .blk .list .item {
    margin-bottom: 59px;
}

#sec5 .toggle-main .blk .list h3 {
    color: #312c29;
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 7px;
    margin-bottom: 21px;
    text-align: center;
}

#sec5 .toggle-main .blk .list h3 small {
    display: block;
    font-size: 15px;
    letter-spacing: 3px;
}

#sec5 .toggle-main .blk .list .mb12 {
    margin-bottom: 12px;
}

#sec5 .toggle-main .blk .list .mb7 {
    margin-bottom: 7px;
}

#sec5 .toggle-main .blk .list h4 {
    color: #312c29;
    font-size: 18px;
    text-align: center;
}

#sec5 .toggle-main .blk .list dl {
    border-bottom: 1px solid #636363;
    color: #312c29;
    line-height: 30px;
    margin-bottom: 14px;
    padding-bottom: 15px;
}

#sec5 .toggle-main .blk .list dl dt {
    float: left;
}

#sec5 .toggle-main .blk .list dl dd {
    float: right;
    text-align: right;
}

#sec5 .toggle-main .blk .list .mb24 {
    margin-bottom: 24px;
}

#sec5 .btn {
    position: relative;
    display: table;
    margin: 21px auto 87px;
}

#sec5 .btn a {
    align-items: center;
    background: #26221f;
    color: #e2ded4;
    display: flex;
    height: 63px;
    justify-content: center;
    position: relative;
    width: 362px;
    overflow: hidden;
}

#sec5 .btn a:hover {
    /*background-image: none;*/
    z-index: 2;
    opacity: 1;
}

#sec5 .btn a:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    z-index: -1;
}

#sec5 .btn::before {
    border: 1px solid #e2ded4;
    bottom: -7px;
    content: "";
    left: 7px;
    position: absolute;
    right: -7px;
    top: 7px;
    z-index: 2;
}

#sec5 .btn a::before {
    content: '';
    background-color: #574738;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    -webkit-transition: .3s;
    transition: .3s;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

#sec5 .btn a::after {
    border-bottom: 3px solid transparent;
    border-left: 6px solid currentColor;
    border-top: 3px solid transparent;
    content: "";
    height: 0;
    position: absolute;
    right: 40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
}

@media only screen and (max-width: 1080px) {
    #sec5 .toggle-main .blk .list {
        width: 48%;
    }
}

@media only screen and (max-width: 999px) {
    #sec5 {
        padding-top: 20%;
    }
    #sec5 .toggle-link {
        padding-bottom: 25px;
        pointer-events: visible;
        cursor: pointer;
    }
    #sec5 .toggle-link:before {
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 10px solid #282522;
        bottom: 0;
        content: "";
        height: 0;
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
        width: 0;
    }
    #sec5 .toggle-link h2 {
        font-size: 8vw;
        letter-spacing: 0.2em;
        line-height: 10vw;
        margin-bottom: 8%;
        padding-bottom: 8%;
    }
    #sec5 .toggle-link h2:before {
        width: 20%;
    }
    #sec5 .toggle-main {
        display: none;
    }
    #sec5 .toggle-main .note {
        padding: 10% 0;
    }
    #sec5 .toggle-main .blk {
        display: block;
    }
    #sec5 .toggle-main .blk .list {
        width: 100%;
    }
    #sec5 .toggle-main .blk .list h3 {
        font-size: 20px;
        letter-spacing: 5px;
    }
    #sec5 .toggle-main .blk .list .item {
        margin-bottom: 12%;
    }
    #sec5 .active .toggle-link:before {
        border-bottom: 10px solid #282522;
        border-top: none;
    }
    #sec5 .active .toggle-main {
        display: block;
    }
    #sec5 .btn {
        margin: 10% auto 20%;
        width: 90%;
    }
    #sec5 .btn a {
        width: 100%;
    }
}