@charset "UTF-8";
/* ================================================
common
================================================ */
/* ttl-area
------------------------------------------------ */
.ttl-area{
  text-align: center;
}
.ttl-area span{
  padding: 0 0 10px;
  display: inline-block;
  font-size: 24px;
  border-bottom: 3px solid #000;
}
/* ================================================
hero-pagettl
================================================ */
.hero-pagettl-cmn{
  margin: 0 0 90px;
  background-image: url(../img/bg_pagettl_01.jpg?=v1);
  background-position: center bottom;
}
.hero-pagettl-cmn .box-notice-large{
  position: absolute;
  right: 30px;
  bottom: 30px;
  padding: 20px 25px;
  width: 90%;
  max-width: 970px;
  background: rgba(255, 255, 255, 0.75);
}
/* ================================================
area-notice
================================================ */
.area-notice{
  width: calc(100% - 20px);
  max-width: 1000px;
  margin: 0 auto 70px;
}
.area-notice .btn{
  height: 100%;
  position: relative;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #ccc;
  color: #fff;
  font-size: 22px;
  line-height: 1.2;
  text-align: center;
  transition: opacity 0.3s;
}

.area-notice .btn:hover{
  opacity: 0.65;
}
.area-notice .btn--red{
  background: #dd2a2a;
}

.area-notice .btn:before{
  margin: auto 0;
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background: url(../../common/img/ico_01.png) center center no-repeat;
  background-size: contain;
  align-self: center;
}
.area-notice .btn span{
  display: block;
  padding-left: 1em;
  flex: 1;
}
.area-notice .btn span > .small{
  font-size: 80%;
}
/* ================================================
area-intro
================================================ */
.area-intro{
  padding: 0 10px;
  margin-bottom:200px;
  text-align: center;
}
.area-intro .box-notice-small{
  display: none;
}
.area-intro .lead-intro-cmn{
  margin: 0 0 30px;
}
.area-intro .txt-intro-cmn{
  margin: 0 0 30px;
}
.area-intro .sec-kukuru{
  margin: auto;
  max-width: 1024px;
  display: flex;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.area-intro .sec-kukuru .photo{
  width: 51.2%;
  align-self: baseline;
}
.area-intro .sec-kukuru .txt{
  padding: 15px 50px;
  width: 48%;
  text-align: left;
  font-size: 18px;
  align-self: center;
}
/* ================================================
area-gallery
================================================ */
.area-gallery{
  padding:  0 20px;
  margin: auto;
}
.area-gallery .ttl-wrap{
  margin-bottom:60px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;

}
.area-gallery .ttl-wrap .ttl-txt{
  padding: 0 20px;
  width: 30%;
  min-height: 60px;
  color: #0069a0;
  font-size: 24px;
  font-weight: normal;
  border:1px solid #0069a0;
  text-align: center;
  position: relative;
}
.area-gallery .ttl-wrap .ttl-txt span{
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.area-gallery .ttl-wrap p{
  padding: 0 0 0 50px;
}

/* slider */
.area-gallery .gallery-slider{
  width: 80.5%;
  float: left;
}
.area-gallery .gallery-slider .slick-dots{
  bottom: 30px;
}
.area-gallery .gallery-slider .slick-dots li{
  margin:  0 8px;
}
.area-gallery .gallery-slider .slick-dots li button{
  background: #fff;
}
.area-gallery .gallery-slider .slick-dots li button:before{
  content: "";
}
.area-gallery .gallery-slider .slick-dots li.slick-active button{
  background: #00afcc;
}

/* thumbnail */
.area-gallery .gallery-thumbnail{
  width: 16.5%;
  float: right;
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
}
.area-gallery .gallery-thumbnail li{
  margin:0 0 2.5%;
  width: 48%;
  position: relative;
}
.area-gallery .gallery-thumbnail li.current:after{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 175, 204, 0.6);
  position: absolute;
  top: 0;
}

/* dinner
------------------------------------------------ */
#dinner.area-gallery{
  margin-bottom: 135px;
}

/* breakfast
------------------------------------------------ */
#breakfast.area-gallery{
  margin-bottom: 135px;
}

/* ================================================
area-message
================================================ */
.area-message{
  margin: 0 0 150px;
  padding: 0 15px;
}
.area-message-in{
  margin: auto;
  max-width: 1000px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  display: flex;
}
.area-message .photo{
  width: 40%;
  align-self: baseline;
  order: 2;
}
.area-message .txt-wrap{
  width: 60%;
  padding: 15px 35px 0 0;
  order: 1;
  align-self: center;
  font-size: 17px;
}
.area-message .txt-wrap .name{
  text-align: right;
}

/* ================================================
area-reserve
================================================ */
.area-reserve{
  margin-bottom: 100px;
}
