@charset "UTF-8";
/* CSS Document */

/* sitetop
==========================================================  */
.page_sitetop section > .container{
  padding-bottom: 11rem;
}
.page_sitetop .lead-sightseeing .contentsTitle p{
    padding: 0 12rem;
}
.page_sitetop .lead-sightseeing .contentsTitle p:before,
.page_sitetop .lead-sightseeing .contentsTitle p:after{
  width: 70px;
  height: 85px;
  background: url(/images/common/ico-oct.svg) no-repeat center center;
  top: 50%;
  transform: translate(-10%,-60%);
}
.page_sitetop .lead-sightseeing .contentsTitle > p > .bracket{
  display: none;
}
.page_sitetop .lead-sightseeing .contentsTitle p:after{
  right: 0;
  transform: translate(0,-60%) scaleX(-1);
}
.page_sitetop section.lead-restaurant h2 {}
.page_sitetop section.lead-restaurant div.intro p {}


.page_sitetop section.lead-sightseeing { padding: 1.6rem 0 0; }

@media screen and (max-width: 750px) {
  .page_sitetop .lead-sightseeing .contentsTitle p{
    padding: 0 7rem;
  }
  .page_sitetop section > .container{
    padding-bottom: 7rem;
  }
}

.topFirstView{
  position: relative;
}
.topSlide{
  width: 100%;
  height: 100vh;
  position: relative;
}
.topSlide,
.topSlide__item{
  height: 100vh;
  max-height: 100vw;
}
.topSlide .slick-dots{
  position: absolute;
  top: 50%;
  right: 4.5rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.topSlide .slick-dots > li{
  width: 1rem;
  height: 1rem;
  background-color: #fff;
  border-radius: 100%;
  transition: background-color 0.3s linear;
}
.topSlide .slick-dots > li.slick-active{
  background-color: #F4BE1D;
}
.topSlide .slick-dots > li + li{
  margin-top: 0.9rem;
}
.topSlide .slick-dots > li > button{
  display: none;
}

.topSlide__item{
  width: 100%;
  height: 100vh;
  background-color: #FFF;
  position: relative;
  background-position: 50%;
  background-repeat: no-repeat;
  overflow: hidden;
}
.topSlide__item:before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  -webkit-background-size: cover;
  background-size: cover;
  opacity: 0;
}
.topSlide__item.slide-active:before{
  animation: topSlideAnimation 12s linear 0s;
  -webkit-animation-fill-mode: forwards;
  -o-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@keyframes topSlideAnimation{
  0%{
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      -o-transform: scale(1);
      transform: scale(1);
      opacity: 0;
  }
  10% { 
    opacity: 0.5;
   }
  40% { 
    opacity: 0.75;
   }
  90% { 
    -webkit-transform: scale(1.05) rotate(1deg);
    -ms-transform: scale(1.05) rotate(1deg);
    -o-transform: scale(1.05) rotate(1deg);
    transform: scale(1.05) rotate(1deg);
    opacity: 0.95;
  }
}
.topSlide__stay:before{
  background-image: url(/images/top/topslide_stay.jpg);
  background-position: 50% 100%;
}
.topSlide__restaurant:before{
  background-image: url(/images/top/topslide_restaurant.jpg);
  background-position: 50% 60%;
}
.topSlide__banquet:before{
  background-image: url(/images/top/topslide_banquet.jpg);
}
.topSlide__wedding:before{
  background-image: url(/images/top/topslide_wedding.jpg);
  background-position: 50% 60%;
}
.topSlide__item > a{
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.topSlide__copy{
  position: absolute;
  left: 50%;
  bottom: 50%;
  -webkit-transform: translate(-50%, 1rem);
  -ms-transform: translate(-50%, 1rem);
  -o-transform: translate(-50%, 1rem);
  transform: translate(-50%, 1rem);
}
.topSlide__copy > p{
  position: relative;
  z-index: 1;
}
.topSlide__scroll{
  pointer-events: none;
  width: 80px;
  height: 50px;
  position: absolute;
  left: 50%;
  cursor: pointer;
  top: 50%;
  -webkit-transform: translate(-50%, 5rem);
  -ms-transform: translate(-50%, 5rem);
  -o-transform: translate(-50%, 5rem);
  transform: translate(-50%, 5rem);
}
@media screen and (max-width: 1100px) {
  .topSlide,
  .topSlide__item{
    height: calc(100vh - 7rem);
  }
}
@media screen and (max-width: 750px){
  .topSlide,
  .topSlide__item{
    height: calc(100vh - 7rem);
    max-height: 142vw;
  }
  .topSlide__copy{
    position: absolute;
    left: 50%;
    bottom: 50%;
    -webkit-transform: translate(-50%, 5rem);
    -ms-transform: translate(-50%, 5rem);
    -o-transform: translate(-50%, 5rem);
    transform: translate(-50%, 5rem);
  }
  .topSlide__copy > p{
    position: relative;
    z-index: 1;
  }
  .topSlide__scroll{
    width: 80px;
    height: 50px;
    position: absolute;
    left: 50%;
    cursor: pointer;
    top: 50%;
    -webkit-transform: translate(-50%, 9rem);
    -ms-transform: translate(-50%, 9rem);
    -o-transform: translate(-50%, 9rem);
    transform: translate(-50%, 9rem);
  }
  @keyframes topSlideAnimation{
    0%{
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
        opacity: 0;
    }
    10% { 
      opacity: 0.5;
     }
    40% { 
      opacity: 0.65;
     }
    90% { 
      -webkit-transform: scale(1.05) rotate(1deg);
      -ms-transform: scale(1.05) rotate(1deg);
      -o-transform: scale(1.05) rotate(1deg);
      transform: scale(1.05) rotate(1deg);
      opacity: 0.70;
    }
  }
}


.reserveBar {
  width: 100%;
  height: 70px;
  background: rgba(46,66,82,.85);
  position: absolute;
  bottom: 0px;
  left: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.reserveBar > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  padding: 0;
}
.reserveBar h2 {
  color: rgba(255,255,255,1);
  font-family: "source-han-serif-japanese", serif;
  font-style: normal;
  font-weight: 400; 
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  flex-grow: 0;
}
.reserveBar > div > div {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-grow: 0;
  flex-basis: calc((100% - 9.3rem - 15rem - 52.8rem)/2 + 52.8rem);
  position: relative;
}
.reserveBar > div > div:before, .reserveBar > div > div:after {
  content: "";
  display: block;
  flex-basis: 1px;
  height: 25px;
  background-image: -moz-linear-gradient(0deg, rgba(255,255,255,.75) 0, rgba(255,255,255,.75) 1px, transparent 1px, transparent 3px);
  background-image: -webkit-linear-gradient(0deg, rgba(255,255,255,.75) 0, rgba(255,255,255,.75) 1px, transparent 1px, transparent 3px);
  background-image: linear-gradient(0deg, rgba(255,255,255,.75) 0, rgba(255,255,255,.75) 1px, transparent 1px, transparent 3px);
  -webkit-background-size: 100% 3px;
  background-size: 100% 3px;
  background-repeat: repeat-y;
}
.reserveBar ul{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-basis: 52.8rem;
}

.reserveBar ul > li {
  flex-basis: auto;
  flex-grow: 1;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -o-flex-direction: row;
  flex-direction: row;
  -ms-align-items: flex-start;
  align-items: flex-start;
  position: relative;
}
.reserveBar ul > li > span{
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,.95);
  font-family: "source-han-serif-japanese", serif;
  font-style: normal;
  font-weight: 400;
  position: relative;
  top: 0.2rem;
}
.reserveBar ul > li > span + input,
.reserveBar ul > li > span + select{
  margin-left: 0.7rem;
}
.reserveBar ul > li > input + span,
.reserveBar ul > li > select + span{
  margin-left: 0.7rem;
}
.reserveBar ul > li + li{
  margin-left: 2rem;
}
.reserveBar input,
.reserveBar select {
  margin-left: 0.8rem;
  padding: 6px 0;
  border-radius: 4px; 
  background: rgba(255,255,255,.95);
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  width: 4rem;
  height: 3rem;
}
.reserveBar ul li input[name=rest-date] {
  width: 14rem;
  padding: 6px 0 6px 10px;
  background-size: 18px;
  text-align: left;
}
.reserveBar__submit {
  width: 15rem;
  flex-basis: 15rem;
  flex-grow: 0;
  flex-shrink: 0;
  display: block;
  cursor: pointer;
}
.reserveBar__submit span {
  display: block;
  border-radius: 4px; 
  background-color: rgba(244,190,29,1);
  background-size: 15px;
  font-family: "source-han-serif-japanese", serif;
  font-style: normal;
  font-weight: 600; 
  font-size: 13px;
  letter-spacing: 0.08rem;
  text-align: center;
  padding: 8px 0 8px;
  position: relative;
}
.reserveBar__submit > span:before{
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  position: relative;
  -webkit-transform: translateY(-13%);
  -ms-transform: translateY(-13%);
  -o-transform: translateY(-13%);
  transform: translateY(-13%);
  margin-right: 5px;
  background: url(/images/common/ico-search.svg) 0 0 / cover no-repeat;
}

@media screen and (max-width: 1340px) {
  .reserveBar > div{
    width: 90%;
  }
}
@media screen and (max-width: 1130px) {
  .reserveBar{
    height: auto;
    padding: 2.5rem 0 3rem;
  }
  .reserveBar ul{
    flex-basis: 38rem;
    -ms-align-items: flex-start;
    align-items: flex-start;
  }
  .reserveBar ul > li{
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .reserveBar ul > li > span:first-child{
    flex-basis: 100%;
    display: block;
    line-height: 1;
    margin-bottom: 0.9rem;
  }
  .reserveBar ul > li > span + input,
  .reserveBar ul > li > span + select{
    margin-left: 0;
  }
  .reserveBar > div > div{
    flex-basis: calc((100% - 9.3rem - 15rem - 36.3rem)/2 + 36.3rem);
  }
  .reserveBar > div > div:before, .reserveBar > div > div:after{
    height: 4.8rem;
  }
}

@media screen and (max-width: 1100px) {
  .reserveBar {
    height: 70px;
    padding: unset;
  }
  .reserveBar ul{
    flex-basis: 52.8rem;
  }
  .reserveBar ul > li {
    -webkit-flex-wrap: unset;
    -moz-flex-wrap: unset;
    -ms-flex-wrap: unset;
    -o-flex-wrap: unset;
    flex-wrap: unset;
  }
  .reserveBar ul > li > span:first-child{
    flex-basis: unset;
    display: unset;
    line-height: unset;
    margin-bottom: unset;
  }
  .reserveBar ul > li > span + input,
  .reserveBar ul > li > span + select{
    margin-left: 0.7rem;
  }
  .reserveBar > div > div {
    flex-basis: calc((100% - 9.3rem - 15rem - 52.8rem)/2 + 52.8rem);
  }
  .reserveBar > div > div:before, .reserveBar > div > div:after {
    height: 25px;
  }
}

@media screen and (max-width: 920px) {
  .reserveBar{
    background-color: rgba(46,66,82,.85);
    height: 95px;
    padding: 10px 0;
    bottom: 0px;
  }
  .reserveBar ul{
    flex-basis: 38rem;
    -ms-align-items: flex-start;
    align-items: flex-start;
  }
  .reserveBar ul > li{
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .reserveBar ul > li > span:first-child{
    flex-basis: 100%;
    display: block;
    line-height: 1;
    margin-bottom: 0.9rem;
  }
  .reserveBar ul > li > span + input,
  .reserveBar ul > li > span + select{
    margin-left: 0;
  }
  .reserveBar > div > div{
    flex-basis: calc((100% - 9.3rem - 15rem - 36.3rem)/2 + 36.3rem);
  }
  .reserveBar > div > div:before, .reserveBar > div > div:after{
    height: 4.8rem;
  }
}
@media screen and (max-width: 750px) {
  .reserveBar{
    display: none;
  }
  .reserveBar > div{
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .reserveBar > div > div{
    justify-content: flex-start;
    flex-basis: calc(100% - 17rem);
  }
  .reserveBar > div > div:before, .reserveBar > div > div:after{
    content: none;
  }
  .reserveBar h2{
    margin-bottom: 1rem;
    width: 100%;
  }
  .reserveBar ul{
    flex-basis: 100%;
    justify-content: space-between;
  }
  .reserveBar ul > li > span:first-child{
    display: inline-block;
  }
  .reserveBar ul > li + li{
    margin-left: 0;
  }
  .reserveBar ul > li > span + input,
  .reserveBar ul > li > span + select{
    margin-left: 0.7rem;
  }
  .reserveBar__submit{
    -ms-align-self: flex-end;
    align-self: flex-end;
  }
}

@media screen and (max-width: 740px) {
  .reserveBar ul{
    flex-basis: 36.3rem;
  }
  .reserveBar ul > li > span:first-child{
    display: block;
  }
  .reserveBar ul > li > span + input,
  .reserveBar ul > li > span + select{
    margin-left: 0;
  }
}

@media screen and (max-width: 570px) {
  .reserveBar > div > div{
    flex-basis: 100%;
    margin-bottom: 2rem;
  }
  .reserveBar ul{
    flex-basis: 100%;
  }
  .reserveBar ul > li > span:first-child{
    display: inline-block;
  }
  .reserveBar ul > li > span + input,
  .reserveBar ul > li > span + select{
    margin-left: 0.7rem;
  }
  .reserveBar__submit{
    margin-left: 0;
    margin-top: 0.3rem;
  }
}
@media screen and (max-width: 540px) {
  .reserveBar h2{
    margin-bottom: 0;
  }
  .reserveBar ul{
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .reserveBar ul > li{
    flex-basis: 6.2rem;
    flex-shrink: 0;
    margin-top: 1rem;
  }
  .reserveBar ul > li:last-child{
    flex-basis: 4.2rem;
  }
  .reserveBar ul > li:nth-child(1){
    flex-basis: 14rem;
  }
  .reserveBar ul > li + li{
    margin-left: 0;
  }
  .reserveBar ul > li > span:first-child{
    display: block;
  }
  .reserveBar ul > li > span + input,
  .reserveBar ul > li > span + select{
    margin-left: 0rem;
  }
}

.wifiInformation {
  background: rgba(237,211,35,.85);
  text-align: center;
  height: 50px;
  width: 100%;
}
.wifiInformation-icon {
  height: 28px;
  margin-right: 5px;
  display: inline-block;
  position: relative;
  top: 5px;
  fill: currentColor;
}
.wifiInformation-text {
  font-size: 2.2rem;
  font-family: 'baskerville-urw', 'source-han-serif-japanese', serif;
  display: inline-block;
}
.wifiInformation .row-1 {
  margin-top: 6px;
}
@media screen and (max-width: 750px) {
  .wifiInformation {
    height: 85px;
  }
  .wifiInformation-icon {
    height: 22px;
    margin-right: 3px;
    top: 4px;
  }
  .wifiInformation-text {
    font-size: 1.7rem;
  }
  .wifiInformation .row-1 {
    margin-top: 12px;
  }
  .wifiInformation .row-2 {
    display: block;
  }
}
.foreign-agent-attention {
  background: rgba(237,211,35,.85);
  text-align: center;
  height: 50px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.foreign-agent-attention-link {
  width: 100%;
}
.foreign-agent-attention-text {
  font-size: 2.2rem;
  font-family: 'baskerville-urw', 'source-han-serif-japanese', serif;
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .foreign-agent-attention {
    height: 50px;
  }
  .foreign-agent-attention-text {
    font-size: 1.7rem;
  }
}
.attention-modal {
  position: fixed;
  z-index: 100000;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-content {
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 10px;
  position: relative;
  padding: 40px;
  box-sizing: border-box;
  overflow-y: auto;
  text-align: center;
  width: 85vw;
  height: fit-content;
}

@media (min-width: 751px) {
  .modal-content {
    max-width: 900px;
    width: 90%;
    max-height: 700px;
  }
}

@media (max-width: 750px) {
  .modal-content {
    text-align: left;
  }
}

.close-button {
  color: #aaa;
  position: absolute;
  top: 0px;
  right: 20px;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.close-button:hover,
.close-button:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .goto_banner_pc {
    display: none;
  }
}
.goto_banner_sp {
  text-align: center;
}
@media screen and (min-width: 751px) {
  .goto_banner_sp {
    display: none;
  }
}
/*========================================================
/sitetop */ 


/* stay
==========================================================  */

.dir_stay .mainImg{
  background-image: url(/images/stay/mainimg.jpg);
  background-position: 50% 70%;
}

/* ===  facility  === */
.dir_stay.page_facility .subListMds {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
}
.dir_stay.page_facility .subListCont {
  border-top:1px solid #000;
  border-bottom: 1px solid #000;
  padding-top: 15px;
  padding-bottom: 15px;
}
.dir_stay.page_facility .subListCont li {
  list-style-type: disc;
  line-height: 27px;
  margin-left: 23px;
}
.dir_stay.page_facility .boxList__img:after{
  padding-top: 65%;
}

.dir_stay.page_facility .subList{
  margin-bottom: 5rem;
}
/*========================================================
/stay */ 


/* restaurant
==========================================================  */
.dir_restaurant .mainImg{
  background-image: url(/images/restaurant/mainimg.jpg);
}

.dir_restaurant[class*="page_stores"] .mainImg{
  background-image: none;
}
.dir_restaurant[class*="page_stores"] .mainImg__img{
  z-index: 0;
}
.dir_restaurant[class*="page_stores"] .mainImg__title,
.dir_restaurant[class*="page_stores"] .mainImg__info{
  z-index: 2;
}
.dir_restaurant[class*="page_stores"] .mainImg__info{
  max-width: 40rem;
}
.dir_restaurant[class*="page_stores"] .mainImg__info > time{
  display: block;
  text-align: left;
  line-height: 1.4;
  word-break: break-all;
}
.dir_restaurant[class*="page_stores"] .mainImg:before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  background-color: rgba(0,0,0,0.25);
}

.page_private .bscSlide {
  margin-bottom: 3.5rem;
}
.page_private .simpleLead {
  margin-bottom: 5.5rem;
}

.dir_restaurant[class*="page_stores"] .intro__lead{
  text-align: left;
}

.dir_restaurant[class*="page_stores"] .blocks-contents{
  border-bottom: none;
}
.dir_restaurant.page_private .is_withOutImg .boxList__title{
  position: relative;
}
.dir_restaurant #rest_info{transition:all 0.2s;}



@media screen and (max-width: 750px) {
  .page_private .simpleLead {
    margin-bottom: 2.5rem;
  }
  .dir_restaurant[class*="page_stores"] .mainImg__info{
    font-size: 1.3rem;
  }
}
/* .store-pageNav
----------------------------------------------------------  */

.store-pageNav{
  width: 100%;
  z-index: 9999;
  transition: all 0.1s linear;
  background-color: #fff;
  margin-bottom: 9rem;
}
.store-pageNav > ul{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.store-pageNav > ul > li{
  flex-grow: 1;
  flex-shrink: 1;
  font-family: "baskerville-urw", "source-han-serif-japanese", serif;
  font-size: 1.5rem;
  line-height: 1.3;
  text-align: center;
  background-color: #F7F7ED;
  margin-top: 1px;
  transition:all .3s;
}
.store-pageNav > ul > li > a{
  display: block;
  padding: 1.5rem 0.5em;
}
.store-pageNav > ul > li.is_cur{
  background-color: #f4be1d;
  color: #2c4252;
}
.store-pageNav > ul > li + li{
  margin-left: 1px;
}

@media screen and (max-width: 1000px) {
  .store-pageNav > ul{
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .store-pageNav > ul > li{
    flex-basis: calc((100% - 1px)/2);
    flex-grow: 0;
    position: relative;
    top: auto;
    width: auto;
    margin-top: 0;
  }
  .store-pageNav > ul > li + li{
    margin-left: 0;
  }
  .store-pageNav > ul > li:not(:nth-child(-n + 2)){
    margin-top: 1px;
  }
}
@media screen and (max-width: 750px) {
  .store-pageNav{
    margin-bottom: 4rem;
  }
  .store-pageNav > ul > li > a{
    padding: 1.2rem 0.5em;
  }
}

/*--------------------------------------------------------
/.store-pageNav */

/* .store-bottomSlider
----------------------------------------------------------  */

.store-bottomSlider {}
.store-bottomSlider div.slick-list {}
.store-bottomSlider figure{
  margin: 0 2px;
  position: relative;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: cover;
  background-size: cover;
}
.store-bottomSlider figure > a {
  display: block;
  height: 100%;
}
.store-bottomSlider figure > a:before{
  content: "";
  display: block;
  padding-top: 55%;
}
.store-bottomSlider figure > a > div {
  width: 100%;
  padding: 13px 0;
  background: rgba(0,0,0,.6);
  position: absolute;
  bottom: 0;
  left: 0;
}
.store-bottomSlider figure > a > div > h3{
  width: 100%;
  display: block;
  color: rgba(255,255,255,1);
}
.store-bottomSlider figure > a > div > h3 {
  padding: 0 20px;
  font-family: "baskerville-urw", "source-han-serif-japanese", serif;
  font-size: 16px;
  letter-spacing: 0.04rem;
  position: relative;
}
.store-bottomSlider figure > a > div > h3 > *{
    color: inherit;
}
.store-bottomSlider figure > a > div > h3:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent rgba(255,255,255,1);
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0,-50%);
}
.store-bottomSlider figure > a > div > h3 > .sub{
  font-size: 1.3rem;
  vertical-align: baseline;
  margin-right: 0.5rem;
}
.store-bottomSlider figure > a > div > h3 > .ruby{
  font-size: 1.2rem;
  letter-spacing: 0.15rem;
  vertical-align: baseline;
}
.store-bottomSlider figure > a > div > h3 > .loc{
  font-size: 1.3rem;
  color: inherit;
  margin-left: 1rem;
  vertical-align: baseline;
}

/*--------------------------------------------------------
/.store-bottomSlider */


/*========================================================
/restaurant */ 


/* banquet
==========================================================  */

.dir_banquet .mainImg{
  background-image: url(/images/banquet/mainimg.jpg);
  background-position: 50% 55%;
}
.dir_banquet.page_cuisine .simpleLead {
  margin-bottom: 40px;
}
.dir_banquet.page_halls .hiddenCont > .fullWImg:last-child{
  border: 2px solid #F1F1F1;
  background-color: #fff;
  height: auto;
}
.dir_banquet.page_halls .hiddenCont > .advancedTable > .cap{
  margin-top: 1rem;
  font-size: 1.3rem;
  line-height: 1.4;
}
.dir_banquet.page_halls .hiddenCont > .fullWImg:last-child:before{
  content: "";
  display: block;
  padding-top: 71.1%;
}


/*========================================================
/banquet */ 

/* wedding
==========================================================  */

.dir_wedding .mainImg{
  background-image: url(/images/wedding/mainimg.jpg);
}

@media screen and (min-width: 750px) and (max-width: 1520px) {
  .dir_wedding .subNav__item > a{
    padding: 0 2rem;
    font-size: 1.2rem;
    letter-spacing: -0.05em;
  }
  .dir_wedding .subNav__item > a{
    padding: 0px 0.8vw;
  }
}
/*magneficPopupのカスタマイズ
*/
.dir_wedding .popup__arrow{
  display: block;
  width: 4rem;
  height: 8rem;
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  cursor: pointer;
}
.dir_wedding .popup__arrow:before{
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  border-top: 1px solid #FFF;
  border-left: 1px solid #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-20%, -50%) rotate(-45deg);
  -ms-transform: translate(-20%, -50%) rotate(-45deg);
  -o-transform: translate(-20%, -50%) rotate(-45deg);
  transform: translate(-20%, -50%) rotate(-45deg);
}
.dir_wedding .popup__arrow-left{
  left: 0;
}
.dir_wedding .popup__arrow-right{
  right: 0;
}
.dir_wedding .popup__arrow-right:before{
  -webkit-transform: translate(-80%, -50%) rotate(135deg);
  -ms-transform: translate(-80%, -50%) rotate(135deg);
  -o-transform: translate(-80%, -50%) rotate(135deg);
  transform: translate(-80%, -50%) rotate(135deg);
}
.dir_wedding .popup__close{
  display: block;
  width: 3.4rem !important;
  height: 3.4rem;
  position: absolute;
  top: 5.5rem;
  right: 1.5rem !important;
  background-color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.dir_wedding .popup__close:before,
.dir_wedding .popup__close:after{
  content: "";
  display: block;
  height: 1px;
  width: 2rem;
  background-color: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
}
.dir_wedding .popup__close:before{
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  -o-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
.dir_wedding .popup__close:after{
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  -o-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}



/* ===  index  === */
.dir_wedding.page_top .instagram{
  display: none;
}
.dir_wedding.page_top .mainImg{
  height: calc(100vh - 6.5rem);
  max-height: calc(100vw - 23rem - 6.5rem);
}
.dir_wedding.page_top .fixedBtn{
  top: calc((100vh - 6.5rem)/2);
}

@media screen and (max-width: 1100px){
  .dir_wedding.page_top .mainImg{
    height: calc(100vh - 7rem - 4.5rem - 70px);
    max-height: 142vw;
  }
}

@media screen and (max-width: 750px) {
  .dir_wedding.page_top .mainImg{
  }
  .dir_wedding.page_top .intro__title{
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
  }
  .dir_wedding.page_top .intro__title:after{
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
  }
  .dir_wedding.page_top .intro__lead{
    font-size: 1.4rem;
    line-height: 2;
  }
}
.dir_wedding.page_top .feature__item{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.dir_wedding.page_top .feature__item.is_rev{
  -webkit-flex-direction: row-reverse;
  -moz-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  -o-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.dir_wedding.page_top .feature__item + .feature__item{
  margin-top: 2px;
}
.dir_wedding.page_top .feature__img{
  background-color: #DDD;
  flex-grow: 1;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: cover;
  background-size: cover;
}
.dir_wedding.page_top .feature__txt{
  flex-basis: 45rem;
  background-color: #E78B74;
  color: #FFF;
  padding: 6rem;
}
.dir_wedding.page_top .feature__title{
  font-family: "baskerville-urw", "source-han-serif-japanese", serif;
  color: #FFF;
  font-size: 2rem;
  line-height: 1.8;
  margin-bottom: 1rem;
  text-align: center;
}
.dir_wedding.page_top .feature__cap{
  color: #FFF;
  font-size: 1.5rem;
}
.dir_wedding.page_top .feature .btn{
  background-color: #fff;
  color: #E78B74;
  margin-top: 3rem;
}

@media screen and (max-width: 900px) {
  .dir_wedding.page_top .feature__txt,
  .dir_wedding.page_top .feature__img{
    flex-basis: 50%;
  }
  .dir_wedding.page_top .feature__txt{
    padding: 6rem 5rem;
  }
  .dir_wedding.page_top .feature__title{
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 0.5rem;
  }
  .dir_wedding.page_top .feature__title > br{
    display: none;
  }
  .dir_wedding.page_top .feature .btn{
    width: 100%;
  }
}
@media screen and (max-width: 750px){
  .dir_wedding.page_top .feature__item{
    display: block;
  }
    .dir_wedding.page_top .feature__title{
    font-size: 1.6rem;
  }
  .dir_wedding.page_top .feature__cap{
    font-size: 1.4rem;
  }
  .dir_wedding.page_top .feature__txt{
    padding: 3rem 5%;
  }
  .dir_wedding.page_top .feature__img:before{
    content: "";
    display: block;
    padding-top: 52%;
  }
  .dir_wedding.page_top .feature .btn{
    margin-top: 2rem;
  }
}
.dir_wedding.page_top .toGallery{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

.dir_wedding.page_top .toGallery__item{
  width: calc((99.9% - 6.6rem) / 4);
  flex-shrink: 0;
}
.dir_wedding.page_top .toGallery__img{
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: cover;
  background-size: cover;
}
.dir_wedding.page_top .toGallery__img:before{
  content: "";
  display: block;
  padding-top: 100%;
}
.dir_wedding.page_top .toGallery__title{
  background-color: #fff;
  padding: 2.5rem 0 2.4rem;
  text-align: center;
  font-family: "baskerville-urw", "source-han-serif-japanese", serif;
}
.dir_wedding.page_top .toGallery__title .jp{
  font-size: 1.5rem;
  line-height: 1;
  display: block;
  margin-bottom: 0.5em;
  color: #595959;
}
.dir_wedding.page_top .toGallery__title .en{
  font-size: 1.5rem;
  line-height: 1;
  display: block;
  color: #E78B74;
  letter-spacing: 0.05em;
  font-weight: 100;
}


.dir_wedding.page_top .instagram .contentsTitle span.en:before{
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url(/images/common/ico-inst.svg);
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  position: relative;
  top: 0.15em;
  margin-right: 0.3em;
  -webkit-transform: scaleY(1.1132);
  -ms-transform: scaleY(1.1132);
  -o-transform: scaleY(1.1132);
  transform: scaleY(1.1132);
}
.dir_wedding.page_top .instagram__cont{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.dir_wedding.page_top .instagram__item{
  display: block;
  flex-basis: calc((100% - 12vw)/5);
  flex-grow: 0;
  flex-shrink: 0;
}
.dir_wedding.page_top .instagram__item:not(:nth-child(5n + 1)){
  margin-left: 3vw;
}
.dir_wedding.page_top .instagram__item:not(:nth-child(-n + 5)){
  margin-top: 3vw;
}
.dir_wedding.page_top .instagram__item > a{
  display: block;
  background-color: #DDD;
}
.dir_wedding.page_top .instagram__item > a:before{
  content: "";
  display: block;
  padding-top: 100%;
}
.dir_wedding.page_top .insta__trigger{
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: cover;
  background-size: cover;
}

@media screen and (max-width: 750px) {
  .dir_wedding.page_top .instagram__cont{
    display: block;
    margin-left: -3px;
  }
  .dir_wedding.page_top .instagram__item{
    margin: 0 3px !important;
  }
  .dir_wedding.page_top .instagram button.slick-prev.slick-arrow{
    left: 3px;
  }
  .dir_wedding.page_top .instagram button.slick-next.slick-arrow{
    right: 3px;
  }
}
/* ===  Plans  === */

.dir_wedding.page_plans .fullWImg {
  margin-top: 48px;
}

.dir_wedding.page_plans .pointTitle {
  margin-top: 4rem;
}
.dir_wedding.page_plans .bscTable__head{
  width: 23rem;
}
.dir_wedding.page_plans footer{
  margin-top: 6rem;
}
.dir_wedding.page_plans .planContent{
  background-color: #fff;
  width: 100%;
  max-width: 106rem;
  max-height: 90vh;
  overflow: scroll;
  margin: auto;
  position: relative;
}
.dir_wedding.page_plans .planContent__wrap{
  width: 100%;
  height: 100%;
  position: relative;
  padding: 8rem 7.5rem;
}
.dir_wedding.page_plans .planContent__wrap:before{
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  bottom: 5px;
  right: 5px;
  left: 5px;
  border: 1px solid #E78B74;
  pointer-events: none;
}
.dir_wedding.page_plans  .popup__close{
  top: 2.5rem;
  right: 2.5rem !important;
}

.dir_wedding.page_plans .contentList{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  border-top: 1px solid #a6a6a6;
  padding: 2rem 0 0;
}
.dir_wedding.page_plans .contentList__item{
  flex-basis: calc((100% - 4rem)/2);
  flex-shrink: 0;
  flex-grow: 1;
  display: block;
  position: relative;
  text-indent: -1.4rem;
  padding-left: 1.4rem;
  font-size: 1.4rem;
  line-height: 1.3;

}
.dir_wedding.page_plans .contentList__item:before{
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  position: relative;
  top: -0.1rem;
  background-color: #E78B74;
  margin-right: 0.6rem;
}
.dir_wedding.page_plans .contentList__item:not(:nth-child(2n + 2)){
  margin-right: 2rem;
}
.dir_wedding.page_plans .contentList__item:not(:nth-child(-n + 2)){
  margin-top: 0.8rem;
}

.dir_wedding.page_plans .pointTitle + .contentList{
  margin-top: -2.5rem;
}
.dir_wedding.page_plans .contentList + .pointTitle{
  margin-top: 3rem;
}
.dir_wedding.page_plans .contentsTitle{
  margin-bottom: 3.5rem;
}

.dir_wedding.page_plans .boxList__lead{
    font-family: "baskerville-urw", "source-han-serif-japanese", serif;
    font-size: 1.6rem;
}
.weddingPrice{
  margin-top: 2.3rem;
  line-height: 1;
  border-top: 1px solid #2C4252;
  border-bottom: 1px solid #2C4252;
  padding: 2rem 0.8rem;
}
.weddingPrice__num{
    font-family: "source-han-serif-japanese", serif;
    font-size: 1.8em;
    margin-right: 0.1em;
}

.weddingPrice__num_s{
    font-family: "source-han-serif-japanese", serif;
    font-size: 1.8em;
    margin-right: 0.1em;
}
.weddingPrice__num_s:not(:first-child){
    margin: 0 0.4em;
}
.weddingPrice__price{
  font-family: "source-han-serif-japanese", serif;
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 1.3rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid #abb4ba;
}

.weddingPrice__additional{
  font-size: 1.5rem;
  margin-bottom: 1.1rem;
}
.weddingPrice__num_s{
  font-size: 1em;
  font-family: "source-han-serif-japanese", serif;
}
.weddingPrice__tax{
  font-size: 1.5rem;
}
.weddingPrice__annotation{
  font-size: 1.2rem;
  line-height: 1.5;
}
.plan-photoTitle{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  margin-top: 4rem;
  border-bottom: 1px solid #2C4252;
  line-height: 1;
  padding: 0 0 1rem;
  margin-bottom: 2.5rem;
}
.plan-photoTitle__Name{
  font-family: "source-han-serif-japanese", serif;
  font-size: 1.9rem;
}
.plan-photoTitle__price{
  font-size: 1.6rem;
  font-family: "source-han-serif-japanese", serif;
}
.plan-photoTitle__price > .num{
    font-family: "source-han-serif-japanese", serif;
    font-size: 1.6em;
    margin-right: 0.1em;
}
.dir_wedding.page_plans .plan-photoTitle + .pointTitle{
  margin-top: 1rem;
}
.dir_wedding.page_plans .twoColumns__img:after{
  content: none;
}
.dir_wedding.page_plans .twoColumns__img > img{
  width: 100%;
}
@media screen and (max-width: 750px) {
  .plan-photoTitle{
    border-top: 1px solid #2C4252;
    border-bottom: 1px solid #2C4252;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    -ms-align-items: flex-start;
    align-items: flex-start;
    padding: 2rem 0.8rem;
  }
  .plan-photoTitle .plan-photoTitle__Name{
    border-bottom: 1px solid #abb4ba;
    width: 100%;
    margin-bottom: 1.3rem;
    padding-bottom: 1.4rem;
  }
  .plan-photoTitle__price{
    font-size: 1.3rem;
  }
  .dir_wedding.page_plans .contentList{
    padding: 1.5rem 0.6rem 0;
  }
  .dir_wedding.page_plans .contentList__item{
    flex-basis: 100%;
  }
  .dir_wedding.page_plans .contentList__item:not(:nth-child(2n + 2)),
  .dir_wedding.page_plans .contentList__item:not(:nth-child(-n + 2)){
    margin: auto;
  }
  .dir_wedding.page_plans .contentList__item + .contentList__item{
    margin-top: 0.8rem;
  }
  .dir_wedding.page_plans .pointTitle {
    margin-top: 4rem;
  }
  .dir_wedding.page_plans .contentList + .pointTitle{
    margin-top: 2rem;
  }
  .dir_wedding.page_plans footer{
    margin-top: 4rem;
  }
  .dir_wedding.page_plans .planContent__wrap{
    padding: 5rem 3rem;
  }
  .dir_wedding.page_plans .pointTitle + .contentList{
    margin-top: -1.5rem;
  }
}
/* ===  Service  === */

.dir_wedding.page_service .contentsTitle + .fullWImg{
  margin-top: -1.1rem;
}
.dir_wedding.page_service .simpleLead {
  margin-bottom: 45px;
}
.dir_wedding.page_service .fullWImg .slideDots{
  -webkit-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
  left: auto;
  right: 3.5rem;
}

/* ===  Photo  === */

.photoGallery__mainItem > div{
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  width: 100%;
}
.photoGallery__mainItem{
  width: 100%;
  margin-bottom: 3rem;
}
.photoGallery__mainItem > div > figure{
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  height: 60rem;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: contain;
  background-size: contain;
  border: 2px solid #F0F0F0;
}
.photoGallery__mainItem > div > figure.is_vImg{
  -webkit-background-size: contain;
  background-size: contain;
}
section.is_colored .photoGallery__mainItem > div > figure{
  border-color: #E6E6E6;
}
.photoGallery__mainItem > p{
  font-size: 1.4rem;
  margin-top: 3rem;
}
.photoGallery__main button.slick-arrow{
  top: 30rem;
  background-color: transparent;
}
.photoGallery__main button.slick-next{
  right: 0;
}
.photoGallery__main button.slick-prev{
  left: 0;
}
.photoGallery__thumbItem{
  margin: 0 1px;
  cursor: pointer;
}
.photoGallery__thumbCont{
  width: calc(100% + 2px - 10rem);
  margin-left: 4.9rem;
}
.photoGallery__thumbItem > figure{
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: cover;
  background-size: cover;
}
.photoGallery__thumbItem > figure:before{
  content: "";
  display: block;
  padding-top: 100%;
  background-color: #000;
  opacity: 0.4;
}
.photoGallery__thumbCont button.slick-arrow{
  background-color: transparent;
}
.slick-current.photoGallery__thumbItem > figure:before{
  opacity: 0;
}
.photoGallery__main button.slick-arrow{
  top: 30rem;
  background-color: transparent;
}
.photoGallery__thumb button.slick-next{
  right: -5rem;
}
.photoGallery__thumb button.slick-prev{
  left: -5rem;
}
@media screen and (max-width: 1100px) {
  .photoGallery__mainItem > div > figure{
    height: 45rem;
  }
  .photoGallery__main button.slick-arrow{
    top: 22rem;
  }
}
@media screen and (max-width: 750px) {
  .photoGallery__mainItem > div > figure{
    height: 25rem;
  }
  .photoGallery__main button.slick-arrow{
    top: 12rem;
  }
  .photoGallery__mainItem{
    margin-bottom: 2rem;
  }
}

/*========================================================
/wedding */ 


/* facility
==========================================================  */

.dir_facility .mainImg{
  background-image: url(/images/company/mainimg.jpg);
}
.dir_facility .facilityOfKamex .twoColumns__img:after{
  padding-top: 100%;
}
.barrierFreePictograms {
  display: flex;
  flex-wrap: wrap;
  padding-top: 10px;
}
.barrierFreePictograms > .pictogram {
  background-size: contain;
  width: 40px;
  height: 40px;
  margin-right: 20px;
  margin-bottom: 20px;
}
[tooltip] {
  position: relative;
}
[tooltip]::before,
[tooltip]::after {
  font-size: .9em;
  line-height: 1;
  user-select: none;
  pointer-events: none;
  position: absolute;
  display: none;
  opacity: 0;
}
[tooltip]::before {
  content: '';
  border: 5px solid transparent;
  z-index: 1001;
  bottom: calc(100% + 0.5em);
  border-bottom-width: 0;
  border-top-color: #333;
  left: 17.5px;
}
[tooltip]::after {
  content: attr(tooltip);
  min-width: 3em;
  max-width: 21em;
  white-space: pre;
  padding: 1ch 1.5ch;
  border-radius: .3ch;
  box-shadow: 0 1em 2em -.5em rgba(0, 0, 0, 0.35);
  background: #333;
  color: #fff;
  z-index: 1000;
  bottom: calc(100% + 5px + 0.5em);
  left: 0%;
}
[tooltip]:nth-child(2)::after {
  left: -50%;
}
[tooltip]:nth-child(3)::after {
  left: -100%;
}
[tooltip]:nth-child(4)::after {
  left: -200%;
}
[tooltip]:nth-child(5)::after {
  left: unset;
  right: -10px;
}
@media screen and (max-width: 355px){
  [tooltip]:nth-child(5)::after {
    left: 0%;
    right: unset;
  }
}
[tooltip='']::before,
[tooltip='']::after {
  display: none !important;
}
@keyframes tooltips-vert {
  to {
    opacity: .9;
  }
}
[tooltip]:hover::before,
[tooltip]:hover::after {
  display: block;
  animation: tooltips-vert 300ms ease-out forwards;
}

/*========================================================
/ facility */ 


/* company
==========================================================  */

.dir_company .mainImg{
  background-image: url(/images/company/mainimg.jpg);
  background-position: 30% 68%;
}

/* ===  index  === */
.dir_company .bscDl > dt {
  padding-right: 3rem;
}
.dir_company .contentsTitle:nth-of-type(2) {
  margin-top: 7.5rem;
}
.dir_company .bscDl {
  background-color: #F3F4F5;
}
@media screen and (max-width: 750px){
  .dir_company .contentsTitle:nth-of-type(2){
    margin-top: 4rem;
  }
}

/* ===  greeting  === */
.page_greeting .intro + .twoColumns {
    margin-top: 2rem;
}
.page_greeting .photo_list {
  width: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}
.page_greeting .photo_list > * {
  background-color: #ccc;
  height: 15.6vw;
  width: 20%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: cover;
  background-size: cover;
}
.page_greeting section:nth-child(4) {
  margin-top: 7.5rem;
}
.represent {
  font-family: "baskerville-urw", "source-han-serif-japanese", serif;
  text-align: center;
  width: 100%;
  margin-top: 5rem;
}
.represent div {
  display: inline-block;
}
.represent .position {
  font-size: 1.55rem;
  margin-right: 1.7rem;
  vertical-align: middle;
}
.represent .name {
  font-size: 2.7rem;
  vertical-align: middle;
  
}
@media screen and (max-width:750px) {
  .page_greeting .photo_list > *{
    width: calc((99.9% - 2px)/3);
    height: calc((90vw - 2px)/3);
  }
  .page_greeting .photo_list figure:first-child,
  .page_greeting .photo_list figure:last-child{
    display: none;
  }
  .page_greeting section:nth-child(4) {
    margin-top: 4rem;
  }
  .represent{
    margin-top: 3.5rem;
  }
}

@media screen and (max-width:920px) {
.represent .position {
  font-size: 1.25rem;
  margin-right: 13px;
  vertical-align: middle;
}
.represent .name {
  font-size: 2.3rem;
  vertical-align: middle;
}
}

/* ===  group  === */
.groupList__item{
  border: 2px solid #F1F1F1;
}
.groupList__itemCont{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: stretch;
  align-items: stretch;
  width: 100%;
  position: relative;
}
.groupList__itemCont > *{
  width: 50%;
}
.groupList__logo{
  margin: 0;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: 50%;
}
.groupList__logo:before{
  content: "";
  display: block;
  padding-top: 70%;
}
.groupList__txt{
  padding: 5.5rem;
  background-color: #f9fafa;
  text-align: justify;
}
.groupList__item:nth-child(2n + 1) > .groupList__itemCont{
  direction: rtl;
}
.groupList__item:nth-child(2n + 1) > .groupList__itemCont .groupList__txt{
  direction: ltr;
}
.groupList__name{
  text-align: center;
  font-size: 2rem;
  font-family: "baskerville-urw", "source-han-serif-japanese", serif;
  margin-bottom: 2rem;
}
.groupList__item + .groupList__item{
  margin-top: 1.5rem;
}
.groupList__cap + .btn__square{
  margin-top: 2.5rem;
}
.bbqAndCo .contentsTitle p .en{
  color: transparent;
  width: 22.4rem;
  height: 5rem;
  background: url(/images/company/group/logo-bbq_and_co.svg) 0 0 / cover  no-repeat;
  -webkit-transform: scaleY(1.1132);
  -ms-transform: scaleY(1.1132);
  -o-transform: scaleY(1.1132);
  transform: scaleY(1.1132);
  margin-bottom: 1.2rem;
}
.bbqAndCo .contentsTitle p > .bracket{
  display: none;
}
.bbqAndCo .contentsTitle p:before,
.bbqAndCo .contentsTitle p:after{
  content: none;
}
@media screen and (max-width: 960px) {
  .groupList__itemCont{
    display: block;
  }
  .groupList__itemCont > *{
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .groupList__txt{
    padding: 3.5rem;
  }
  .groupList__name{
    margin-bottom: 1rem;
  }
}
/*========================================================
/ company */ 


/* recruit
==========================================================  */

.dir_recruit .mainImg{
  background-image: url(/images/recruit/mainimg.jpg);
  background-position: 50% 40%;
}

/* ===  top  === */

.dir_recruit .photoGallery__thumb li {
  margin-left: 20px;
  padding-right: 20px;
}
.dir_recruit .photoGallery__thumb li h3 {
  text-align: left;
}
.dir_recruit.page_top .thumbSlide__title{
  line-height: 1.3;
}
.photo_container {
  width: 92%;
  margin:0 auto;
  padding:80px 0;
}
.dir_recruit .photoGallery__thumbItem.is_alignLeft .boxList__title > p {
    text-align: left;
    left: 2.5rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* ===  message  === */
.dir_recruit.page_message .mainImg{
  background-image: url(/images/recruit/message/mainimg.jpg);
  background-position: 10% 15%;
}

.dir_recruit.page_message section:last-of-type > .container{
  padding-bottom: 10rem;
}
.recruit_message_photo {
  height: 35rem;
  background-attachment: fixed;
  -webkit-background-size: cover;
  background-size: cover;
  background-position: 50% 95%;
  margin-bottom: 6.5rem;
}
@media screen and (max-width:920px) {
  .recruit_message_photo {
  height: 335px;
}
}
@media screen and (max-width:750px) {
  .recruit_message_photo {
    display: none;
  }
}


/*========================================================
/ recruit */ 


/* touristGuide
----------------------------------------------------------  */


.dir_touristGuide .mainImg{
  background-image: url(/images/company/mainimg.jpg);
}


/*--------------------------------------------------------
/touristGuide */


/* concept
----------------------------------------------------------  */

.dir_concept .mainImg{
  background-image: url(/images/company/mainimg.jpg);
}

/*--------------------------------------------------------
/concept */


/* event
----------------------------------------------------------  */

.dir_event .mainImg{
  background-image: url(/images/company/mainimg.jpg);
}
.event__categoryBox{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  margin-bottom: 1.7rem;
}

.dir_event .event__date{
  font-family: "baskerville-urw", serif;
  font-weight: 600;
  font-style: italic;
  font-size: 1.5rem;
  transform: scaleY(.95);
  letter-spacing: 0.07rem;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .event__categoryBox{
    margin-bottom: 1rem;
  }
}
/*--------------------------------------------------------
/event */


/* contact
----------------------------------------------------------  */

.dir_contact .mainImg{
  background-image: url(/images/company/mainimg.jpg);
}

/*--------------------------------------------------------
/contact */


/* access
----------------------------------------------------------  */

.dir_access .mainImg{
  background-image: url(/images/company/mainimg.jpg);
}
.dir_access .twoColumns__img{
  border: 1px solid #CFCFCF;
}
#accessByTrain .twoColumns__img:after{
  padding-top: 97%;
}
#accessByCar .twoColumns__img:after{
  padding-top: 137.8%;
}
.dir_access .accessList{
  margin-top: -1rem;
  margin-bottom: 4rem;
}
.dir_access .accessList__item{
  font-size: 1.5rem;
  line-height: 1;
}
.dir_access .accessList__item + .accessList__item{
  margin-top: 1.4rem;
}
.dir_access .accessList__item:before{
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: #2E303C;
  margin-right: 0.6rem;
  position: relative;
  top: -0.1rem;
}
.dir_access .prosessList + .borderTitle{
  margin-top: 3rem;
}
.dir_access .prosessList__item{
  padding-left: 1.5rem;
  text-indent: -1.5rem;
  line-height: 1.6;
  position: relative;
}
.dir_access .prosessList__item + .prosessList__item{
  margin-top: 0.8rem;
}
.dir_access .prosessList__item:before{
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  margin-right: 0.6rem;
  position: relative;
  top: -0.1rem;
}
.dir_access .prosessList__item:after{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 3px 0;
  border-color: #2E303C transparent;
  position: absolute;
  left: 0rem;
  top: 1.1rem;
  -webkit-transform: translate(50%, -50%);
  -ms-transform: translate(50%, -50%);
  -o-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
  z-index: 1;
  
}
.dir_access .prosessList__item:last-child:before{
  background-color: #2E303C;
}
@media screen and (max-width: 1000px) {
  .dir_access #accessByCar .twoColumns__img{
    background-image: url(/images/access/map-for_car.svg) !important;
  }
  .dir_access #accessByCar .twoColumns__img:after{
    padding-top: 116.1%;
  }
}
/*--------------------------------------------------------
/access */


/* privacy policy
----------------------------------------------------------  */

.dir_privacy .mainImg{
  background-image: url(/images/company/mainimg.jpg);
}

.dir_privacy .intro__lead {
  text-align: left;
}
.dir_privacy .borderTitle {
  font-size: 1.45rem;
  font-weight: bold;
  margin-bottom: 17px;
}
.policyTxt + .borderTitle {
  margin-top: 42px;
}
.dir_privacy .borderTitle::before {
  font-size: 1.65rem;
  font-family: "times";
  margin-right: 4px;
}
.dir_privacy .borderTitle.one::before {
  content:"1.";
}
.dir_privacy .borderTitle.two::before {
  content:"2.";
}
.dir_privacy .borderTitle.three::before {
  content:"3.";
}
.dir_privacy .borderTitle.four::before {
  content:"4.";
}
.dir_privacy .borderTitle.five::before {
  content:"5.";
}
.dir_privacy .borderTitle.six::before {
  content:"6.";
}
.dir_privacy .borderTitle.seven::before {
  content:"7.";
}
.dir_privacy .borderTitle.eight::before {
  content:"8.";
}
@media screen and (max-width: 750px) {
  .dir_privacy .intro__lead{
    text-align: left;
  }
  .policyTxt + .borderTitle{
    margin-top: 2.5rem;
  }
}
/*--------------------------------------------------------
/ privacy policy */


/* .dir_error 
----------------------------------------------------------  */

.errorContents{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  min-height: 80vh;
}
@media screen and (max-width: 750px) {
  .errorContents .intro__title{
    width: 100%;
    text-align: center;
  }
}
/*--------------------------------------------------------
/.dir_error */

/* osechi
==========================================================  */
.dir_osechi .mainImg{
  background-image: url(/images/osechi/top.jpg);
}

/*========================================================
/osechi */

/* new_year_buffet
----------------------------------------------------------  */

.dir_new_year_buffet .mainImg{
  background-image: url(/images/new_year_buffet/mainimg.jpg);
}

/*--------------------------------------------------------
/new_year_buffet */

/* winter_dinner_show
----------------------------------------------------------  */

.dir_winter_dinner_show .mainImg{
  background-image: url(/images/winter_dinner_show/mainimg.png);
}

/*--------------------------------------------------------
/winter_dinner_show */

/* kiss_fm_event
----------------------------------------------------------  */

.dir_kiss_fm_event .mainImg{
  background-image: url(/images/kiss_fm_event/mainimg.png);
}

/*--------------------------------------------------------
/kiss_fm_event */

/* summer_carnival
----------------------------------------------------------  */

.dir_summer_carnival .mainImg{
  background-image: url(/images/summer_carnival/mainimg.jpg);
}

/*--------------------------------------------------------
/summer_carnival */