@charset "UTF-8";
body {
    letter-spacing: 0.05em
}
.txt, .txt1, .txt2 {
    text-align: justify
}
.block {
    overflow: hidden
}
.block img {
    width: 100%;
    height: auto;
}
.btn-down a {
    display: block;
    width: 100%;
    height: 60px;
    font-size: 18px;
    font-weight: bold;
    line-height: 62px;
    letter-spacing: 0.15em;
    text-align: center;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #2e201b;
    text-decoration: none;
    box-sizing: border-box;
    margin: auto;
    background-size: 100%;
    background: url(../img/shared/btn_down.png) no-repeat right 20px center / 10px auto, url(../img/shared/bg_patter2.jpg);
    border-bottom: 2px solid #99ab4e;
}
.btn-popup a {
    display: block;
    height: 60px;
    font-size: 18px;
    font-weight: bold;
    line-height: 60px;
    letter-spacing: 0.1em;
    text-align: center;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #2e201b;
    text-decoration: none;
    box-sizing: border-box;
    background: url(../img/shared/icon_popup.png) no-repeat right 20px center / 10px auto, url(../img/shared/bg_patter2.jpg);
    border-bottom: 2px solid #99ab4e;
}
.img-parallax {
    clip: rect(0, auto, auto, 0);
    margin-bottom: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}
.img-parallax img {
    width: 100%;
    height: 80vh;
    position: fixed;
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    object-fit: cover;
    z-index: 0;
    transform: translateZ(0);
}
.para {
    position: relative;
}
.ob img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slide-fade {
    height: 100vw;
}
.slide-fade li {
    height: 100%;
}
#sec1 {
    position: relative;
    padding: 14vw 0 1vw;
}
#sec1::before {
    content: "";
    background: url("../img/about/sec1_deco1.png") no-repeat;
    position: absolute;
    top: -36vw;
    right: 0;
    width: 89%;
    height: 80vw;
    background-size: 100%;
}
#sec1::after {
    content: "";
    background: url("../img/about/sec1_deco2.png") no-repeat;
    position: absolute;
    bottom: -25vw;
    right: 0;
    width: 100%;
    height: 80vw;
    background-size: 100%;
}
#sec1 h2 {
    width: 89%;
    margin: 0 auto 1vw;
}
#sec1 .txt {
    margin-left: auto;
    text-align: justify;
    margin-bottom: 2vw;
}
#sec1 .gr-btn {
    margin-left: auto;
    position: relative;
    z-index: 5;
}
#sec1 .gr-btn .btn-down {
    margin-bottom: 3vw;
}
#sec1 .photo {
    height: 90vw;
}
#sec1 .photo img {
    object-position: top
}
#sec2 {
    background: url("../img/about/bg2.jpg") repeat;
}
#sec2 .para {
    position: relative;
    min-height: 60vw;
}
#sec2 .set1 {
    position: relative;
    padding: 10vw 0 0vw;
}
#sec2 .set1 h2 {
    width: 12%;
    margin-left: 3%;
    position: relative;
    z-index: 0;
}
#sec2 .set1 h2::before {
    content: "";
    background: url("../img/about/sec2_deco1.png") no-repeat;
    position: absolute;
    top: 0;
    left: -160%;
    width: 44vw;
    height: 27vw;
    background-size: 100%;
    z-index: -1;
}
#sec2 .set1 .photo {
    position: absolute;
    top: 8vw;
    left: 16%;
    width: 127%;
}
#sec2 .set1 .photo img {
    position: relative;
    z-index: 5
}
#sec2 .set1 .photo::before {
    content: "";
    background: url("../img/about/sec2_deco1.png") no-repeat;
    position: absolute;
    top: 64vw;
    left: -1%;
    width: 44vw;
    height: 27vw;
    background-size: 100%;
}
#sec2 .set1 .photo::after {
    content: "";
    position: absolute;
    top: 580px;
    right: 170px;
    width: 276px;
    height: 217px;
}
#sec2 .set2 {
    position: relative;
    padding: 10vw 0 0vw;
}
#sec2 .set2::before {
    content: "";
    background: url("../img/about/sec2_bg.png") no-repeat;
    position: absolute;
    left: 0;
    bottom: -14vw;
    width: 100%;
    height: 160vw;
    background-size: 100%;
}
#sec2 .set2::after {
    content: "";
    position: absolute;
    bottom: 473px;
    left: calc(50% + 340px);
    width: 296px;
    height: 217px;
}
#sec2 .set2 h2 {
    text-align: center;
    position: relative;
    width: 80%;
    margin: 0 auto 7vw;
    z-index: 0;
}
#sec2 .set2 h2::before {
    content: "";
    background: url("../img/about/sec2_deco3.png") no-repeat;
    position: absolute;
    top: 5vw;
    left: 73%;
    width: 44vw;
    height: 27vw;
    background-size: 100%;
    z-index: -1;
}
#sec2 .set2 .row {
    margin-bottom: 21vw;
}
#sec2 .set2 .row .col .price {
    margin-bottom: 1vw;
    line-height: 1.5;
    text-align: center;
    font-weight: 600;
    background: none;
}
#sec2 .set2 .row .col .price dt {
    font-size: 5vw;
    letter-spacing: 2px;
    margin-bottom: 2vw;
}
#sec2 .set2 .row .col .price dd {
    color: #a40a0a;
    font-size: 4vw;
    letter-spacing: 2px;
}
#sec2 .set2 .row .col .price dd span {
    color: #000;
    font-size: 3.5vw;
    letter-spacing: 2px;
}
#sec2 .set2 .row .col .txt {
    margin-bottom: 2vw;
}
#sec2 .set2 .row .col .list {
    padding: 5%;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.3);
    position: relative;
    margin-bottom: 4vw;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}
#sec2 .set2 .row .col .list::before {
    content: "";
    background: url("../img/about/line.png") repeat;
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    width: 100%;
}
#sec2 .set2 .row .col .list li {
    margin-right: 17px;
}
#sec2 .set2 .row .col .note {
    margin-bottom: 4vw;
    letter-spacing: 2px;
}
#sec2 .set2 .row .photo {
    margin-bottom: 3vw;
}
#sec2 .set2 .row2 {
    position: relative;
}
#sec2 .set2 .row2 .photo2 {
    position: relative;
    z-index: 5;
    margin-bottom: -5vw;
}
#para .para {
    min-height: 70vw;
}
#sec3 .set1 {
    position: relative;
    padding: 10vw 0 11vw;
}
#sec3 .set1::before {
    content: "";
    background: url("../img/about/sec3_deco1.png") no-repeat;
    position: absolute;
    top: 18vw;
    right: -20%;
    width: 78%;
    height: 60%;
    background-size: 100%;
}
#sec3 .set1::after {
    content: "";
    background: url("../img/about/sec3_bg.png") no-repeat;
    position: absolute;
    top: 173vw;
    right: 0;
    width: 100%;
    height: 100vw;
    background-size: 100%;
}
#sec3 .set1 h2 {
    width: 25%;
    margin: 0 auto 2vw;
}
#sec3 .set1 .txt {
    margin-bottom: 3vw;
}
#sec3 .set1 .photo {
    width: 58%;
    margin: 0 auto;
    z-index: 5;
    position: relative;
}
#sec3 .set2 {
    position: relative;
    padding: 23vw 0 0vw;
}
#sec3 .set2::before {
    content: "";
    background: url("../img/about/sec3_deco2.png") no-repeat;
    position: absolute;
    top: 7vw;
    left: -35%;
    width: 100%;
    height: 50vw;
    background-size: 100%;
}
#sec3 .set2::after {
    content: "";
    background: url("../img/about/sec3_deco3.png") no-repeat;
    position: absolute;
    bottom: -28vw;
    right: 0;
    width: 100%;
    height: 50vw;
    background-size: 100%;
}
#sec3 .set2 h2 {
    text-align: center;
    width: 70%;
    margin: 0 auto 3vw;
}
#sec3 .set2 .row .js {
    width: 560px;
}
#sec3 .set2 .row .col {
    margin-bottom: 3vw;
}
#sec3 .set2 .row .col .price {
    margin-bottom: 1vw;
    line-height: 1.5;
    text-align: center;
    font-weight: 600;
    background: none;
}
#sec3 .set2 .row .col .price dt {
    font-size: 5vw;
    letter-spacing: 2px;
    margin-bottom: 2vw;
}
#sec3 .set2 .row .col .price dd {
    color: #a40a0a;
    font-size: 4vw;
    letter-spacing: 3px;
}
#sec3 .set2 .row .col .price dd span {
    color: #000;
    font-size: 3.5vw;
    letter-spacing: 2px;
}
#sec3 .set2 .row .col .txt {
    margin-bottom: 2vw;
}
#sec3 .set2 .row .col .list {
    padding: 5%;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.3);
    position: relative;
    margin-bottom: 4vw;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}
#sec3 .set2 .row .col .list::before {
    content: "";
    background: url("../img/about/line.png") repeat;
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    width: 100%;
}
#sec3 .set2 .row .col .list li {
    margin-right: 20px;
}
#sec3 .set2 .row .col .note {
    margin-bottom: 1vw;
    letter-spacing: 2px;
}
#sec3 .set3 {
    position: relative;
    padding-bottom: 4vw;
}
#sec3 .set3::after {
    content: "";
    background: url("../img/about/sec3_deco4.png") no-repeat;
    position: absolute;
    top: 423px;
    right: calc(50% - -3px);
    width: 725px;
    height: 437px;
}
#sec3 .set3 .box {
    background: url("../img/about/sec3_box_bg.png") no-repeat center top;
    padding: 7vw 5% 5vw;
}
#sec3 .set3 .box h3 {
    text-align: center;
    margin-bottom: 8vw;
}
#sec3 .set3 .box h3 img {
    border-bottom: 1px solid #442305;
}
#sec3 .set3 .box .price {
    font-weight: 600;
    margin-bottom: 0vw;
    text-align: center;
    background: none;
}
#sec3 .set3 .box .price dt {
    font-size: 5vw;
    margin-bottom: 2vw;
    letter-spacing: 2px;
}
#sec3 .set3 .box .price dd {
    color: #a40a0a;
    font-size: 4vw;
    letter-spacing: 2px;
    margin-right: -19px;
}
#sec3 .set3 .box .price dd span {
    color: #000;
    font-size: 3.5vw;
}
#sec3 .set3 .box .txt {
    margin-bottom: 2vw;
}
#sec3 .set3 .box .btn-popup {
    margin: 0 auto;
    text-align: center;
}
#sec3 .set3 .box .btn-popup a {
    margin: 0 auto;
}

#sec4 {
    position: relative;
    padding: 16vw 0 15vw;
    background: url("../img/about/sec4_bg.jpg") no-repeat right 27% top -11vw;
    background-size: cover;
}
#sec4 .col h2 {
    margin-bottom: 2vw;
}
#sec4 .col .txt {
    margin-bottom: 13vw;
    color: #fff;
}
#sec4 .col .photo {
    width: 65%;
    margin: 0 auto -42vw;
}

#sec5 {
    position: relative;
    padding: 10vw 0 10vw;
    margin: 11vw 0 9vw;
}
#sec5 .set {
    background: url("../img/about/bg2.jpg") repeat;
    padding: 10vw 0 0vw;
    border-bottom: 4px double #000;
}
#sec5 .set h2 {
    text-align: center;
    margin-bottom: 0vw;
}
#sec5 .set .txt {
    margin-bottom: 3vw;
}
#sec5 .set .tel {
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    padding: 20px 0;
    text-align: center;
    margin: 0 auto 8vw;
}
#sec5 .set .tel dt {
    width: 76%;
    margin: 0 auto 2vw;
}
#sec5 .set .tel dd {
    line-height: 19px;
}
#sec5 .set .btn1 {
    text-align: center;
}
.remodal-overlay {
    background: #2b2b2b;
}
.remodal {
    background: url("../img/about/popup_bg.jpg") repeat;
    border: 1px solid #000;
}
.popup-menu .remodal-close:before {
    width: 70px;
    height: 70px;
}
html .popup-menu h2 {
    font-size: 6vw;
    margin-bottom: 8vw;
    font-weight: 600;
    letter-spacing: 3.4px;
}
.popup-menu .note {
    font-size: 15px;
    color: #aa2220;
}
.popup-menu .popup {
    padding: 30px 0 50px !important;
}
.popup-menu .list {
    max-width: 1000px;
    margin: 0 auto;
    flex-direction: column;
}
.popup-menu .list .row {
    margin: 0 auto;
    width: 90%;
}
.popup-menu .list .col {
    width: 460px;
    background: rgba(255, 255, 255, 0.3);
}
.popup-menu .list.list2 .col {
    width: 310px;
    max-width: 30%;
}
.popup-menu .list .row .col {
    margin-bottom: 9vw;
    width: 100%;
    padding: 6vw 5% 8%;
    box-sizing: border-box;
    position: relative;
}
.popup-menu .list .row .col::before {
    content: "";
    background: url("../img/about/line.png") repeat;
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    width: 100%;
}
.popup-menu .list .row .col h3 {
    font-size: 20px;
    padding: 10px;
    line-height: 37px;
}
.popup-menu .list .row .col .row1 {
    padding-top: 20px;
    text-align: left;
    margin: 0 9%;
}
.popup-menu .list .row .col dl {
    font-size: 27px;
    line-height: 33px;
    padding: 7px 0;
    letter-spacing: 3px;
    margin-bottom: -2vw;
    background: none;
}
.popup-menu .list .row .col dl dt {
    font-weight: 600;
    margin-bottom: 1vw;
    font-size: 5vw;
}
.popup-menu .list .row .col dl dd {
    font-size: 4vw;
    color: #a40a0a;
    font-weight: 600;
    letter-spacing: 2px;
}
.popup-menu .list .row .col dl dd small {
    font-size: 3.5vw;
    color: #000;
}
.remodal-close {
    top: 16px;
    right: 47px;
}
.remodal-close:hover {
    opacity: 0.8;
}
.remodal {
    padding: 80px 0 30px;
}
.popup-menu .btn-close {
    border: none;
    background: none;
    width: 29%;
}
.popup-menu .btn-close img {
    width: 100%;
}
.popup-menu .btn-close:hover {
    opacity: 0.8
}