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

/* .blocks-contents
----------------------------------------------------------  */

.blocks-contents{
  padding-bottom: 4.5rem;
  border-bottom: 1px solid #A6AFBD;
  min-height: 25vh;
  font-size: 1.5rem;
  word-wrap : break-word;
  overflow-wrap : break-word;
}
.blocks-contents > *:last-child{
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .blocks-contents{
    padding-bottom: 3.5rem;
  }
}
/*--------------------------------------------------------
/.blocks-contents

 */


/* .blocks-intro
----------------------------------------------------------  */

.blocks-intro{
  margin-bottom: 4rem;
}
.blocks-intro h3 {
    font-weight: 600;
    font-size: 18px;
    font-family: "source-han-serif-japanese", serif;
    text-align: center;
}


/* .blocks-mds
----------------------------------------------------------  */

.blocks-mds{
  font-family: "ff-meta-serif-web-pro", "source-han-serif-japanese", serif;
  font-size: 1.9rem;
  line-height: 1.6;
  margin-bottom: 4.5rem;
}
.blocks-mds.is_centered{
  text-align: center;
}
@media screen and (max-width: 750px) {
  .blocks-mds{
    font-size: 1.6rem;
    line-height: 1.4;
    margin-bottom: 0.8rem;
  }
  .blocks-mds.is_centered{
    text-align: left;
  }
}

/* .blocks-mds
----------------------------------------------------------  */

.blocks-mds_s{
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 0.6rem;
}
.blocks-text + .blocks-mds_s {
    margin-top: -2rem;
}
@media screen and (max-width: 750px) {
  .blocks-mds_s{
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 0.6rem;
  }
  .blocks-text + .blocks-mds_s {
      margin-top: -1.5rem;
  }
}

/* .blocks-lead
----------------------------------------------------------  */

.blocks-lead{
  font-size: 1.6rem;
  margin-bottom: 4.5rem;
  display: block;
}
.blocks-lead.is_centered{
  text-align: center;
}
.blocks-mds + .blocks-lead{
  margin-top: -3.5rem;
}
@media screen and (max-width: 750px) {
  .blocks-lead > br{
   display: none; 
  }
  .blocks-lead.is_centered{
    text-align: left;
  }
  .blocks-mds + .blocks-lead{
    margin-top: inherit;
  }
}

/*--------------------------------------------------------
/.blocks-lead */

/* .blocks-text
----------------------------------------------------------  */

.blocks-text{
  margin-bottom: 4.5rem;
}
@media screen and (max-width: 750px) {
  .blocks-text{
    margin-bottom: 3rem;  
  }
}
/* .blocks-simpleImage
----------------------------------------------------------  */

.blocks-simpleImage{
  margin-bottom: 4.5rem;
}
.blocks-simpleImage img {
    width: 100%;
}
@media screen and (max-width: 750px) {
  .blocks-simpleImage{
    margin-bottom: 3rem;
  }
}
/* .blocks-contentsTitle
----------------------------------------------------------  */

.blocks-contentsTitle {
  text-align: center;
  font-family: "ff-meta-serif-web-pro", "source-han-serif-japanese", serif;
  letter-spacing: 0.10rem;
  line-height: 1.6;
  margin-bottom: 6rem;
}
.blocks-contentsTitle p {
  display: inline-block;
  position: relative;
  padding: 0 65px;
}
.blocks-contentsTitle p:before,
.blocks-contentsTitle p:after {
  content: "";
  width: 18px;
  height: 58px;
  background: url(/images/common/ico-quotes.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translate(-30%,-45%);
}
.blocks-contentsTitle p:before { left: 0; }
.blocks-contentsTitle p:after {
  right: 0;
  transform: translate(0,-45%) scaleX(-1);
}
.blocks-contentsTitle p span {
  display: block;
  font-size: 2.9rem;
  transform: scaleY(.87);
}
.blocks-contentsTitle p small {
  display: block;
  font-size: 1.3rem;
  font-weight: 600;
}

/*--------------------------------------------------------
/.blocks-contentsTitle */

/* .blocks-pointTitle
----------------------------------------------------------  */

.blocks-pointTitle {
  position: relative;
  margin-bottom: 3rem;
  display: table;
  padding-left: 20px;
}
.blocks-pointTitle > *{
  display: table-row;
}
* + .blocks-pointTitle{
  margin-top: 5.5rem;
}
.blocks-pointTitle:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 4px 0 4px;
  border-color: rgba(46,48,60,1) transparent transparent transparent;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0,-70%);
}
.blocks-pointTitle p {
  display: table-cell;
  padding-right: 30px;
  font-family: "ff-meta-serif-web-pro", "source-han-serif-japanese", serif;
  font-size: 23px;
  font-weight: 600;
  transform: scaleY(.92);
  line-height: 1;
  letter-spacing: 0.03rem;
  vertical-align: text-bottom;
  vertical-align: middle;
}
.blocks-pointTitle small {
  display: table-cell;
  font-family: "baskerville-urw", "source-han-serif-japanese", serif;
  font-size: 14px;
  font-weight: 600;
  vertical-align: text-bottom;
  letter-spacing: 0.07rem;
  line-height: 1.6;
  position: relative;
  vertical-align: middle;
}
.blocks-pointTitle p:after {
  content: "";
  width: 0;
  height: 16px;
  border-left: 1px solid rgba(46,48,60,1);
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0,-55%);
}

.blocks-pointTitle p:after {
  content: "";
  width: 0;
  height: 16px;
  border-left: 1px solid rgba(46,48,60,1);
  position: absolute;
  top: 50%;
  transform: translate(0,-55%);
  right: 15px;
}

.blocks-pointTitle p:after {
  content: "";
  width: 0;
  height: 16px;
  border-left: 1px solid rgba(46,48,60,1);
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0,-55%);
}
@media screen and (max-width: 750px) {
  .blocks-pointTitle p{
    display: none;
  }
  .blocks-pointTitle small{
    font-size: 1.6rem;
    padding-left: 20px;
  }
  .blocks-pointTitle small:before{
    content: none;
  }
  .blocks-pointTitle:before{
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}

/*--------------------------------------------------------
/.blocks-pointTitle */

/* .blocks-singleSlider
----------------------------------------------------------  */

.blocks-singleSlider {
  margin-bottom: 4.5rem;
}
.blocks-singleSlider figure {
  width: 100%;
  height: 100%;
  position: relative;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-background-size: cover;
  background-size: cover;
}
.blocks-singleSlider figure:before{
  content: "";
  display: block;
  padding-top: 60%;
}
.blocks-singleSlider figcaption{
  width: 100%;
  padding: 15px 30px;
  display: block;
  color: #FFF;
  background: rgba(44,66,82,.85);
  position: absolute;
  bottom: 0;
  left: 0;
  line-height: 1.5;
}
.dir_stay .blocks-singleSlider figcaption { background: rgba(44,66,82,.85); }
.dir_restaurant .blocks-singleSlider figcaption { background: rgba(244,190,29,.85); }
.dir_banquet .blocks-singleSlider figcaption { background: rgba(64,174,128,.85); }
.dir_wedding .blocks-singleSlider figcaption { background: rgba(229,109,102,.85); }

@media screen and (max-width: 750px) {
  .blocks-singleSlider {
    margin-bottom: 3rem;
  }
  .blocks-singleSlider figure:before{
    padding-top: 80%;
  }
}

/*--------------------------------------------------------
/.blocks-singleSlider */  


/* .blocks-bscDl
----------------------------------------------------------  */

.blocks-bscDl{
  display: table;
  width: 100%;
  background-color: #EEF2F5;
  padding: 1.5rem 5rem;
  margin-bottom: 4.5rem;
}
.blocks-bscDl > *{
  display: table-cell;
  vertical-align: middle;
}
.blocks-bscDl > dt{
  width: 16em;
  padding-right: 5rem;
  position: relative;
}
.blocks-bscDl > dt:after{
  content: "";
  display: block;
  width: 1px;
  position: absolute;
  top: 0.3rem;
  bottom: 0.3rem;
  right: 0;
  background-image: -moz-linear-gradient(0deg, #6C7980 0, #6C7980 1px, transparent 1px, transparent 2px);
  background-image: -webkit-linear-gradient(0deg, #6C7980 0, #6C7980 1px, transparent 1px, transparent 2px);
  background-image: linear-gradient(0deg, #6C7980 0, #6C7980 1px, transparent 1px, transparent 2px);
  -webkit-background-size: 100% 2px;
  background-size: 100% 2px;
  background-repeat: repeat-y;
}
.blocks-bscDl > dd{
  padding-left: 5rem;
  line-height: 1.7;
}
.blocks-bscDl + .blocks-bscDl{
  margin-top: -4.5rem;
  border-top: 1px solid #FFF;
}

/*カラーバリエーション*/
.dir_stay .blocks-bscDl{
  background-color: #EEF2F5;
}
.dir_restaurant .blocks-bscDl{
  background-color: #F7F7ED;
}
.dir_banquet .blocks-bscDl{
  background-color: #F0F5F3;
}
.dir_wedding .blocks-bscDl{
  background-color: #FEF1ED;
}

@media screen and (max-width: 750px){
  .blocks-bscDl{
    padding: 2rem;
    margin-bottom: 3rem;
  }
  .blocks-bscDl + .blocks-bscDl{
    margin-top: -3rem;
  }
  .blocks-bscDl,
  .blocks-bscDl > *{
    display: block;
  }
  .blocks-bscDl > dt{
    width: 100%;
    padding-bottom: 0.3rem;
  }
  .blocks-bscDl > dt:after{
    height: 1px;
    width: 100%;
    background-image: -moz-linear-gradient(90deg, #6C7980 0, #6C7980 1px, transparent 1px, transparent 2px);
    background-image: -webkit-linear-gradient(90deg, #6C7980 0, #6C7980 1px, transparent 1px, transparent 2px);
    background-image: linear-gradient(90deg, #6C7980 0, #6C7980 1px, transparent 1px, transparent 2px);
    -webkit-background-size: 2px 100%;
    background-size: 2px 100%;
    background-repeat: repeat-x;
    top: auto;
    bottom: 0;
  }
  .blocks-bscDl > dd{
    padding: 1rem 0 0;
  }
  .blocks-bscDl + .blocks-bscDl{
    border-width: 2px;
  }
}
/*--------------------------------------------------------
/.blocks-bscDl */

/* .blocks-twoColumns
----------------------------------------------------------  */

.blocks-twoColumns{
  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: 4.5rem;
}
* + .blocks-twoColumns{
  margin-top: 4.5rem;
}
.blocks-twoColumns > *{
  flex-basis: calc((100% - 4.5rem)/2);
  flex-grow: 0;
  flex-shrink: 1;
  text-align: justify;
}
.blocks-twoColumns .cap{
  font-size: 1.5rem;
  line-height: 1.8;
}
.blocks-twoColumns > figure{
  background-color: #DDD;
}
.blocks-twoColumns > figure > img{
  width: 100%;
}
.blocks-twoColumns.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;
}

@media screen and (max-width: 750px) {
  .blocks-twoColumns,
  .blocks-twoColumns.is_rev{
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 3rem;
  }
  .blocks-twoColumns > *{
    flex-basis: inherit;
    width: 100%;
  }
  .blocks-twoColumns > figure{
    width: 100%;
    margin-bottom: 1.8rem;
  }
}
/*--------------------------------------------------------
/.blocks-twoColumns */

/* .blocks-btn
----------------------------------------------------------  */
.blocks-btn{
    width: 300px;
    padding: 12px 0 13px;
    display: block;
    background: rgba(46,48,60,1);
    border-radius: 25px;
    font-family: "baskerville-urw", "source-han-serif-japanese", serif;
    font-size: 13px;
    letter-spacing: 0.12rem;
    transform: scaleY(.92);
    color: rgba(255,255,255,1);
    text-align: center;
    position: relative;
    margin-bottom: 4.5rem;
}
.blocks-btn:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 7px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 50%;
    right: 7.5%;
    transform: translate(0,-50%);
}
.blocks-mds + .blocks-btn,
.blocks-lead + .blocks-btn,
.blocks-map + .blocks-btn,
.blocks-text + .blocks-btn{
  margin-top: -2rem;
}

/*カラーバリエーション*/
.dir_restaurant .blocks-btn{
  background-color: #f4be1d;
}
.dir_banquet .blocks-btn{
  background-color: #40A080;
}
.dir_wedding .blocks-btn{
  background-color: #E78B74;
}

@media screen and (max-width: 750px) {
  .blocks-btn{
    width: 100%;
  }
  .blocks-mds + .blocks-btn,
  .blocks-lead + .blocks-btn,
  .blocks-map + .blocks-btn,
  .blocks-text + .blocks-btn{
    margin-top: 1.5rem;
  }
}
/*--------------------------------------------------------
/.blocks-btn */

.blocks-hr{
  height: 1px;
  width: 100%;
  background-image: -moz-linear-gradient(90deg, #3a444a 0, #3a444a 1px, transparent 1px, transparent 4px);
  background-image: -webkit-linear-gradient(90deg, #3a444a 0, #3a444a 1px, transparent 1px, transparent 4px);
  background-image: linear-gradient(90deg, #3a444a 0, #3a444a 1px, transparent 1px, transparent 4px);
  -webkit-background-size: 4px 100%;
  background-size: 4px 100%;
  background-repeat: repeat-x;
  margin: 6rem 0;
}
@media screen and (max-width: 750px) {
  .blocks-hr{
    margin: 4rem 0;
  }
}
/* .blocks-map
----------------------------------------------------------  */

.blocks-map{
  margin: 6.5rem 0 0;
  padding: 6.5rem 0 0;
  border-top: 1px solid #A6AFBD;
  margin-bottom: 4.5rem;
}
.blocks-map:last-child{
  margin-bottom: 0;
}
.blocks-map > div{
  position: relative;
  padding-bottom: 62.5%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.blocks-map > div iframe,
.blocks-map > div object,
.blocks-map > div embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.blocks-map h3{
  font-family: "ff-meta-serif-web-pro", "source-han-serif-japanese", serif;
  font-size: 1.9rem;
  margin-bottom: 2rem;
}
.blocks-map > p{
  font-size: 1.4rem;
  line-height: 1.8;
}
.blocks-map > div + p{
  margin-top: 3rem;
}
@media screen and (max-width: 750px) {
  .blocks-map{
    margin-bottom: 3rem;
    margin-top: 3.5rem;
    padding-top: 3.5rem;
  }
}
/*--------------------------------------------------------
/.blocks-map */
