/* キービジュアル */
.kv {
  display: block;
  position: relative;
  padding: 0;
  margin: 0;
  width: 100vw;
  height: calc(100vh - 63px);
}
.kv_shadow {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1100;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .3);
}
.kv_mainimg {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
/* .kvslide-slick {
  width: 100%;
  height: 100%;
} */
.kvslide-item img {
  width: 100vw;
  height: calc(100vh - 63px);
  object-fit: cover;
  object-position: center top;
}
.kv_catch {
  width: 95%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: calc(1rem + 2vw);
  color: white;
  text-shadow: rgba(0,0,0,.8) .5px .5px 2px;
  z-index: 2000;
}
.kv_info {
  position: absolute;
  bottom: .7rem;
  right: .7rem;
  z-index: 2000;
  width: calc(100% - .7rem);
  max-width: 350px;
  background-color: rgba(223,218,215,.9);
  padding: .4rem;
}
.kv_infoTmb {
  width: 35%;
  padding-right: .5rem;
}
.kv_infoCnt {
  width: 65%;
}
.kv_infoCntHead {
  color: #c1a982;
}
.kv_infoCntTit {
  font-size: .8rem;
}
.kv_infoCntDate {
  font-size: .6rem;
}

.kvslide-slick{ opacity: 0;
transition: opacity .3s linear;
}
.kvslide-slick.slick-initialized{
opacity: 1; }

@media (min-width: 992px) {
  .kv {
    height: 100vh;
  }
  .kvslide-item img {
    height: 100vh;
  }
}

/* フォトグラファー */
/* .photographer_desc {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin-left: auto;
  height: 400px;
} */
.photographer_desc {
  padding: 0 1rem 1rem;
}
.photographer_descTit {
  font-size: 1.9rem;
  margin-block-end: 1rem;
}
.photographer_btn {
  width: 100%;
  max-width: 330px;
  margin: 0 auto;
}
.photographer_btn .linkbtn {
  margin-bottom: .7rem;
}

@media (min-width: 992px) {
  .photographer_img {
    background-image: url(../img/index/photographer_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left top;
  }
  .photographer_desc {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin-left: auto;
    height: 400px;
    padding: .7rem;
  }
  .photographer_descTit {
    margin-block-start: 0;
  }
  .photographer_btn {
    padding: .7rem;
    margin-right: 0;
    margin-left: auto;
  }
}

/* 営業カレンダー */
.business {
  background-image: url(../img/index/business_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.xo-event-calendar table.xo-month .month-header>span {color: #212529; font-weight: bold;}
.xo-event-calendar table.xo-month .month-dayname td div.other-month {background-color: #eee !important;}
.holiday-title {display: none;}
.business_calGuide {padding-left: .5rem;}
.business_calGuideColor {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #ffe599;
  border: #ccc 1px solid;
  margin-right: 4px;
}
.business_calGuideTxt {padding-top: 3px;}

@media (min-width: 992px) {
  .xo-months {display: flex; position: relative;}
  /* .xo-month-wrap {width: 50%; padding: .5rem;} */
  .xo-event-calendar table.xo-month button.month-prev {position: absolute; top: calc(.5rem + 4px); left: 0;}
  .xo-event-calendar table.xo-month button.month-next {position: absolute; top: calc(.5rem + 4px); right: 0;}
}

/* メニュー */
.menu_list {
  padding: .2rem;
  margin: 0 0 2rem;
}
.menu_listItem {
  width: 50%;
  padding: .2rem;
}
.menu_listItem:hover img {
  transform: scale(1.05);
}
.menu_listItemTit {
  font-size: 1rem;
  text-align: center;
  margin: .7rem 0 0;
}

@media (min-width: 576px) {
  .menu_listItem {
    width: 33.333%;
  }
}
@media (min-width: 768px) {
  .menu_listItem {
    width: 25%;
  }
}
@media (min-width: 992px) {
  .menu_listItem {
    width: 16.666%;
  }
}

/* キャンペーンメニュー */
.campaign {
  background-color: #eee;
}
.campaign_tit {
  margin-bottom: calc(2.5rem - .2rem);
}
.campaign_list {
  padding: .2rem;
  margin: 0 0 1.5rem;
}
.campaign_listItem {
  width: 50%;
  padding: .2rem;
}
.campaign_listItemLink {
  display: block;
  height: 100%;
  background-color: white;
  padding: .7rem;
}
.campaign_listItemImg {
  margin-bottom: .3rem;
}
.campaign_listItemTag {
  margin-bottom: .6rem;
}
.campaign_listItemTag .tag-campaign {
  font-size: .6rem;
  color: white;
  border-radius: .2rem;
  background-color: #ba9b68;
  padding: .2rem .2rem;
}
.campaign_listItemTit {
  font-size: 1rem;
  font-weight: bold;
}
.campaign_listItemTxt {
  font-size: .8rem;
}

@media (min-width: 768px) {
  .campaign_tit {
    margin-bottom: calc(40px - .2rem);
  }
  .campaign_listItem {
    width: 25%;
  }
}

/* PRICE */
.price_tit {
  margin-bottom: calc(2.5rem - .3rem);
}
.price_recommend {
  margin-bottom: 1rem;
}
.price_recommendItem {
  width: 100%;
  padding: .3rem;
}
.price_recommendItemLink {
  display: block;
  height: 100%;
  border: #eee solid 1px;
  text-align: center;
  padding: 1.5rem .7rem 1rem;
}
.price_recommendItemTit {
  font-size: 1.3rem;
  margin-bottom: .7rem;
}
.price_recommendItemImg {
  margin-bottom: .7rem;
}
.price_recommendItemTxt {
  margin-bottom: 1rem;
}
.price_recommendItemPrice {
  color: #b99a67;
}
.price_recommendItemPrice span {
  font-size: 1.5rem;
}

.price_listImg {
  background-image: url(../img/index/price_bg_list-img.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left top;
}
.price_listWrp {
  padding: 1rem 1rem 0 1rem;
}
.price_listTit {
  color: #ba9b68;
}
.price_listTable {
  border-right: #999 solid 1px;
  border-bottom: #999 solid 1px;
}
.price_listTableItem {
  display: block;
  width: 100%;
  border-top: #999 solid 1px;
  border-left: #999 solid 1px;
  padding: .8rem .3rem .8rem .6rem;
  -webkit-transition: .3s ease all;
  -moz-transition: .3s ease all;
  -o-transition: .3s ease all;
  transition: .3s ease all;
}
a.price_listTableItem:hover {
  background-color: #eee;
  opacity: 1;
}
@media (min-width: 478px) {
  .price_listTableItem {
    width: 50%;
  }
}
@media (min-width: 992px) {
  .price_tit {
    margin-bottom: calc(40px - .3rem);
  }
  .price_recommendItem {
    width: 33.333%;
  }
}

/* INSTAGRAM */
.insta {
  background-color: #eee;
}
#sb_instagram .sbi_photo img {
  height: 100% !important;
  object-fit: cover;
  object-position: center top;
}