.fnt-shippori {
    font-family: "Shippori Mincho",serif
}

.fnt-jost {
    font-family: "Jost",sans-serif
}
header #key {
    background: url('../img/scene/key-img.jpg') no-repeat 80% bottom/ cover;
}
body {
    color: #000;
    letter-spacing: .2em;
    font-family: "Shippori Mincho",serif;
    font-weight: 500;
    text-align: justify
}

#scene .row2 .item2 .photo+p {
    margin-top: 2vw;
}

.img-parallax {
    clip: rect(0, auto, auto, 0);
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.img-parallax img {
    width: 100%;
    height: 100vh !important;
    position: fixed;
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: 0;
    transform: translateZ(0)
}

.box-parallax {
    position: relative;
    z-index: 0
}

.block img {
    width: 100%;
    height: auto
}

.block * {
    box-sizing: border-box
}

#link {
    background: #e2e1db;
    padding: 5vw 0 ;
}

#link .bnr {
    margin: 0 0%;
     display: flex;
 -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content: flex-start; space-between
 flex-wrap: wrap;
}

#link .bnr li {
    position: relative;
    margin-bottom: 0vw;
    width:32%;
    margin-right:2%;
}

#link .bnr li:last-child {
    margin-bottom: 0;
    margin-right:0%;
}

#link .bnr li .ttl {
    font-size: 3vw;
    font-weight: 500;
    letter-spacing: .39em;
    line-height: 1.5;
    display: block;
    color: #fff;
    position: absolute;
    left: 5%;
    right: 5%;
    text-align: center;
    text-shadow: 3px 1px 14px #000;
    top: 50%;
    transform: translateY(-50%);
}

#link .bnr .bnr2 .ttl {
    top: 50%;
    transform: translateY(-50%);
    bottom: auto
}

#gift {
    padding: 15vw 0 22vw
}

#gift .row1 {
    background: url(../img/scene/gift_bg.png) no-repeat right bottom/70% auto;
    padding-bottom: 25vw
}

#gift .row1 h2 span {
    font-size: 5.5vw;
    font-weight: 400;
    letter-spacing: .3em;
    display: inline-block;
    padding: 1.5vw 4%;
    background: #e5d162;
    margin-bottom: 4vw
}

#gift .row1 .coupon {
    margin: 8vw 0 6vw
}

#gift .row1 .coupon img {
    box-shadow: rgba(0,0,0,.2) 0px 4px 12px
}

#gift .row2 h2 {
    font-size: 5.5vw;
    font-weight: 400;
    letter-spacing: .3em;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 10vw;
    padding-top: 8vw;
    position: relative
}

#gift .row2 h2::before {
    content: "";
    border-top: 3px solid #b8a20e;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30%
}

#gift .row2 .ttls {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2vw
}

#gift .row2 .ttls li {
    width: 44vw;
    height: 44vw;
    font-size: 5.5vw;
    font-weight: 400;
    letter-spacing: .3em;
    line-height: 1.5;
    background: #eadf94;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    align-items: center;
    margin-bottom: 5vw;
    text-align: center;
}

#gift .row2 .box {
    text-align: center;
    background: #e2e1db;
    padding: 17vw 3% 12vw;
    margin: 15vw -2% 0;
    position: relative
}

#gift .row2 .box::before {
    content: "";
    background: url(../img/scene/gift_deco.png) no-repeat 0 0/100% auto;
    position: absolute;
    top: -5vw;
    left: 50%;
    transform: translateX(-50%);
    width: 10vw;
    height: 10vw
}

#gift .row2 .box h3 {
    font-size: 8vw;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 1.5
}

#gift .row2 .box .txt-sub {
    margin: 7vw 0
}

#gift .row2 .box .detail {
    font-size: 13px;
    border-bottom: 1px solid #726d46;
    padding-bottom: 8vw;
    margin-bottom: 13vw
}

#gift .row2 .box .detail dt span {
    font-size: 15px;
    letter-spacing: .2em;
    margin-bottom: 5vw;
    position: relative
}

#gift .row2 .box .detail dt span::before {
    content: "";
    display: inline-block;
    margin-right: 4%;
    width: 10vw;
    vertical-align: super;
    height: 1px;
    background: #726d46
}

#gift .row2 .box .detail dt span::after {
    content: "";
    display: inline-block;
    margin-left: 4%;
    width: 10vw;
    vertical-align: super;
    height: 1px;
    background: #726d46
}

#gift .row2 .box .detail dd {
    letter-spacing: .2em
}

#gift .row2 .box .btn-shop a {
    display: block;
    font-size: 5.5vw;
    letter-spacing: .2em;
    padding: 5vw 0;
    color: #fff;
    background: #817521;
    border-radius: 11px
}

#gift .row2 .box .btn-shop a img {
    width: 21px;
    height: auto;
    margin-right: 15px;
    position: relative;
    top: -2px
}

#gift .row2 .box .tel {
    margin: 10vw -2% 0
}

#gift .row2 .box .tel dt {
    font-size: 12px;
    letter-spacing: .1em
}

#gift .row2 .box .tel dt img {
    width: 10px;
    margin: 0 5px;
    position: relative;
    top: -2px
}

#gift .row2 .box .tel dt span {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .05em;
    margin-right: 5px
}

#gift .row2 .box .tel dd {
    font-size: 10px;
    letter-spacing: .1em
}

#scene {
    padding-bottom: 15vw
}

#scene .row1 {
    position: relative
}

#scene .row1 h2 {
    font-size: 6vw;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2
}

#scene .row1 .box-parallax {
    height: 80vw
}

#scene .row2 {
    padding: 25vw 0 17vw;
    position: relative;
    background: url(../img/scene/scene_deco1.png) no-repeat right 5% top/30% auto
}

#scene .row2 .item .gr-txt {
    margin-top: 8vw
}

#scene .row2 .item .gr-txt h3 {
    font-size: 8vw;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 5vw
}

#scene .row2 .item .gr-txt h3 small {
    font-size: 5vw;
    letter-spacing: .2em
}

#scene .row2 .item2 {
    margin-top: 12vw
}

#scene .row2 .item2 .gr-txt {
    position: relative
}

#scene .row2 .item2 .gr-txt::before {
    content: "";
    background: url(../img/scene/scene_deco2.png) no-repeat 0 0/100% auto;
    position: absolute;
    top: -4vw;
    right: -4%;
    width: 25%;
    height: 17vw;
    z-index: -1
}

#scene .row2 .box {
    background: #e2e1db;
    padding: 10vw 3% 12vw;
    margin-top: 15vw;
    border: 3px solid #99957f;
    text-align: center;
    position: relative
}

#scene .row2 .box::before {
    content: "";
    background: url(../img/scene/scene_bg.png) repeat center 0;
    position: absolute;
    top: -10px;
    right: -10px;
    bottom: -10px;
    left: -10px;
    z-index: -1
}

#scene .row2 .box h3 {
    font-size: 5vw;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 1.5;
    padding-bottom: 6vw;
    position: relative
}

#scene .row2 .box h3::before {
    content: "";
    border-top: 1px solid #000;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 25%
}

#scene .row2 .box .txt {
    margin: 9vw 0
}

#scene .row2 .box .box-child {
    background: #f1f1f1;
    padding: 8vw 4% 10vw
}

#scene .row2 .box .box-child dt {
    font-size: 5.5vw;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 1.5;
    margin-bottom: 5vw
}

#scene .row3 .photo-gr {
    position: relative;
    margin: 0 15% 0 -5%
}

#scene .row3 .photo-gr span {
    font-size: 4vw;
    font-weight: 500;
    letter-spacing: .2em;
    color: #fff;
    position: absolute;
    left: 6%;
    bottom: 4vw;
    text-shadow: 1px 1px 6px rgba(0,0,0,.5)
}

#scene .row3 .item {
    display: flex;
    margin-top: 10vw;
    position: relative
}

#scene .row3 .item::before {
    content: "";
    background: url(../img/scene/scene_deco3.png) no-repeat 0 0/100% auto;
    position: absolute;
    top: -17vw;
    right: -11%;
    width: 25%;
    height: 27vw;
    z-index: -1
}

#scene .row3 .item .txt {
    width: 30%;
    margin: 0 5% 0 -3%;
    font-size: 12px
}

#scene .row3 .item .photo {
    flex: 1;
    margin-right: -5%
}

#floor {
    padding-bottom: 20vw
}

#floor .js .sl .js-txt {
    background: #242222;
    color: #fff;
    padding: 8vw 4% 10vw;
    min-height: 62vw
}

#floor .js .sl .js-txt dt {
    font-size: 4.5vw;
    font-weight: 500;
    letter-spacing: .2em;
    margin-bottom: 5vw
}

#floor .js .slick-dots {
    display: flex;
    justify-content: center;
    margin-top: 5vw
}

#floor .js .slick-dots li+li {
    margin-left: 15px
}

#floor .js .slick-dots li+li::before {
    content: "";
    border-top: 1px solid #000;
    position: absolute;
    top: 50%;
    right: 100%;
    width: 16px
}

#floor .js .slick-dots li {
    height: 15px;
    width: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
    border-radius: 50%;
    position: relative
}

#floor .js .slick-dots li button {
    border-radius: 50%;
    width: 7px;
    height: 7px;
    font-size: 0;
    display: block;
    cursor: pointer;
    border: 1px solid #000;
    opacity: 0;
    visibility: hidden
}

#floor .js .slick-dots li.slick-active button {
    opacity: 1;
    visibility: visible
}

#floor .item {
    position: relative;
    margin-top: 15vw
}

#floor .item h3 {
    font-size: 4.5vw;
    font-weight: 500;
    letter-spacing: .2em;
    position: absolute;
    top: 2vw;
    left: 0;
    white-space: nowrap
}

#floor .item h3::before {
    content: "";
    border-left: 1px solid #767676;
    position: absolute;
    top: -10vw;
    right: 21%;
    bottom: 1vw
}

#floor .item .floormap {
    margin-left: 15%
}

#faq {
    padding: 18vw 0 15vw;
    background: #e2e1db
}

#faq h2 {
    font-size: 7vw;
    letter-spacing: .2em;
    font-weight: 500;
    text-align: center;
    padding-top: 18vw;
    line-height: 1.5;
    margin-bottom: 11vw;
    background: url(../img/scene/faq_deco.png) no-repeat center top/9% auto
}

#faq h2 small {
    font-size: 3.8vw;
    letter-spacing: .2em;
    font-weight: 400;
    color: #921313;
    display: inline-block;
    position: relative
}

#faq h2 small::before {
    content: "";
    border-top: 1px solid #921313;
    position: absolute;
    left: -3px;
    right: -3px;
    bottom: 0
}

#faq .item h3 {
    text-align: center;
    margin-bottom: 9vw
}

#faq .item h3 span {
    font-size: 5vw;
    letter-spacing: .2em;
    font-weight: 500;
    position: relative
}

#faq .item h3 span::before {
    content: "";
    display: inline-block;
    margin-right: 3%;
    width: 5vw;
    vertical-align: middle;
    height: 3px;
    background: #000
}

#faq .item h3 span::after {
    content: "";
    display: inline-block;
    margin-left: 3%;
    width: 5vw;
    vertical-align: middle;
    height: 3px;
    background: #000
}

#faq .item .faq-content dl {
    margin-bottom: 9vw
}

#faq .item .faq-content dl dt {
    background: #d4d3ce;
    padding: 2vw 2% 2vw 14%;
    font-size: 15px;
    letter-spacing: .1em;
    position: relative
}

#faq .item .faq-content dl dt::before {
    content: "Q";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 10vw;
    color: #fff;
    background: #aaa8a0;
    display: flex;
    padding-top: 1.5vw;
    justify-content: center;
    font-size: 6vw
}

#faq .item .faq-content dl dd {
    font-size: 13px;
    background: #fff;
    padding: 4vw 4%;
    letter-spacing: .05em
}

#faq .item1 {
    padding-bottom: 5vw
}

#reserve {
    background: url(../img/scene/reserve_bg.jpg) no-repeat center top/cover;
    padding: 20vw 0;
    color: #fff
}

#reserve h2 {
    font-size: 4.5vw;
    letter-spacing: .2em;
    font-weight: 400;
    line-height: 2
}

#reserve .tel {
    line-height: 2;
    font-weight: 400;
    margin: 11vw 0 10vw
}

#reserve .tel dt {
    font-size: 14px;
    letter-spacing: .2em;
    margin-bottom: 3px
}

#reserve .tel dd img {
    width: 18px;
    height: auto;
    margin-right: 5px;
    position: relative;
    top: -6px
}

#reserve .tel dd span {
    font-size: 32px;
    letter-spacing: .05em
}

#reserve .tel dd small {
    font-size: 11px;
    letter-spacing: .2em
}

#reserve .btn-mail {
    width: 80%
}

#reserve .btn-mail a {
    font-size: 4.5vw;
    font-weight: 500;
    padding: 4vw 0 4vw 25%;
    display: block;
    background: #fff;
    color: #000;
    position: relative
}

#reserve .btn-mail a::before {
    content: "";
    background: url(../img/scene/icon_mail.jpg) no-repeat left center/100% auto;
    position: absolute;
    top: 0;
    left: 7%;
    bottom: 0;
    width: 5.5vw
}
