@charset "UTF-8";
/* CSS Document */
html {
  font-size: 62.5%; /* 16px * 62.5% = 10px （基準になるフォントサイズ）*/
  width: 100%; /* 画面幅が横いっぱい */
}
body {
  color: #321e00; /* RGB */
  font-family: "游明朝", "yu-mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "noto-serif jp-regular", "能登セリフJP", "serif", "Georgia", "Georgia Pro", "sans-serif";
  font-weight: 500;
  font-size: 1.6em;
  line-height: 2.4rem;
  /* テキストを中央揃いにする→   text-align: center;   */
  /* background-color: #afaaa6; */
  background-image:url("../images/common/background.jpg"); /* 背景画像 */
}
section h2 {
  font-size: 2.4rem; /* 見出し */
}
a:hover {
  opacity: 0.5; /* aタグにカーソルがあたると不透明度が0.5になる */
}
/* 使わなかったから一旦消す */
/*
.none {
  display: none;} /* .noneにすると画面から消すという指定 */
*, *:before, *:after { /* アスタリスクは全てという意味。疑似要素のビフォーとアフターも指定して全ての要素を指定 */
  box-sizing: border-box; /* 全ての要素が「border-box」という方法で幅が図られるようになる */
}
img {
  width: 100%;
}

/* loading */
/* ベースの本体 */
#loading {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  background-color: #afaaa6;
  transition: all 1s;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
#loading.loaded {
  opacity: 0;
  visibility: hidden;
}
/* 以下にローディングアニメーションCSS */
/* sample loader */
.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.2);
  border-right: 1.1em solid rgba(255, 255, 255, 0.2);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* header */
.header {
  height: 60px;
  width: 100%;
  background-color: #fff;
  position: relative;
}
.header-background{
  height: 60px;
  width: 100%;
  background: rgba(255,255,255,0); 
  position: fixed;
  z-index: 100;
}
.header h1 {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  color: #321e00;
  position: absolute;
  top:50%;
  left: 20px;
  transform: translateY(-50%);
  z-index: 1000;
}
.header-top__log {
  height: 80px;
  width: 80px;
  padding: 10px;
  border-radius: 50px;
  background-color: #fff;
  z-index: 1000;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%,20px);
}
.header-top:hover{
  opacity: 1;
}
.header h1:hover{
  color: #d0b947;
}

/* アクセスボタン */
.header-navi__access img {
  height: 24px;
  width: auto;
  line-height: 1;
}
.header-navi__access p {
  font-size: 1.4rem;
  color: #321e00;
  line-height: 1;
}

.header-navi__access {
  height: 50px;
  width: 50px;
  background-color: #fff;
  border-radius: 10px;
  padding: 5px;
  margin: 5px 20px;
  text-align: center;
  position: fixed;
  top: 0;
  right: 0px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.header-navi__access:hover{
  opacity: 1;
  transform: scale(0.9);
  transition-duration: 0.5s;
}

/* 予約・お問い合わせボタン */
.header-contact{
  color: #321e00;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: 180px;
  border: 3px #321e00 solid;
  border-radius: 10px;
  background-color: #fff;
  position: absolute;
  right: 50%;
  top: 0px;
  transform: translateX(50%) translateY(-100%);
  opacity: 0;
  z-index: 10;
}
.header-contact:hover{
  opacity: 1;
  background-image: -webkit-linear-gradient(left, #d0b947 40%, #cccc33 100%);
  color: #fff;
  border: solid 3px #fff;
  text-shadow: 0 0 0.5px #fff;
  transition-duration: 1s;
  filter: drop-shadow( 1px 1px 1px #d5ceaa);
}

/* jQueryのclass */
.headerbtn {
  top: 10px;
  transition: opacity 0.5s;
  text-shadow: 0 0 0.5px #321e00;
  z-index: 10;
  animation-name: fadein;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;/* アニメーション後に維持 */
}
@keyframes fadein{
    from{
    opacity: 0;
    transform: translateX(50%) translateY(0);
    }
    to{
    opacity: 1;
    transform: translateX(50%) translateY(0);
    }
}
.headerbg{
  transition: opacity 0.5s;
  z-index: 10;
  background: rgba(50,30,0,0.7);
  animation-name: fadein-bg;
  animation-duration: 0.5s;
}
@keyframes fadein-bg{
    from{
    opacity: 0;
    transform: translateY(-100px);
    }
    to{
    opacity: 1;
    transform: translateY(0);
    }
}

@media(min-width:960px){
  .header{
    max-width: 375px;
    position: absolute;
    right: 210px;
  }
  .header-background{
    max-width: 375px;
  }
  .headerbtn {
  top: 10px;
  transform: translateX(0);
  transition: opacity 0.5s;
  z-index: 10;
}
}

/* フッター */
footer{
  width: 100%;
  background-color:#afaaa6;
  padding-bottom: 50px;
  position: fixed;
  bottom: 0;
  z-index: 100;
}
.footer__copyright{
  width: 180px;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  position: absolute;
  left: 50%;
  bottom: 5px;
  transform: translateX(-50%);
}

/* スクロールボタン */
.top-button p{
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.2rem;
  color: #fff;
  position: absolute;
  bottom: 0;
}
.top-button{
  width: 40px;
  height: 40px;
  border: solid 3px #fff;
  border-radius: 10px;
  text-decoration: none;
  position: absolute;
  right: 20px;
  bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-button:hover{
  background-color:#d0b947;
  opacity: 1;
  transform: scale(0.9);
  transition-duration: 0.5s;
}
.top-button::before,
.top-button::after {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  border-radius: 3px;
}
.top-button::before {
  transform: translate(3px, -8px) rotate(45deg);
}
.top-button::after {
  transform: translate(-3px, -8px) rotate(-45deg);
}
html {
  scroll-behavior: smooth;
}
body {
  height: auto;
}

/* ↑　ここまでスクロールボタン　↑ */
/* ↓　navigation　↓ */
.navigation-top ul li{
  width: 40px;
  height: 40px;
  margin: 20px 15px;
}
.navigation-top ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.navigation-top ul li p{
  color: #fff;
  line-height: 1;
  display: flex;
  justify-content: center;
}
.navigation-top ul li a{
  text-decoration: none;
  display: block;
}
/* マウスオーバーすると画像が小さくなる */
.navigation-top ul li a:hover{
  opacity: 1;
  transform: scale(0.9);
  transition-duration: 0.5s;
}

/* open-close__btn */
.btn {
  color: #fff;
  padding-top: 10px;
  margin: 0 auto;
  display: table;
}
.box {
  height: 160px;
}
/* checkbox non-display */
.navigation-top .chk {
  display: none;
}
/* button control */
.navigation-top #open-close:checked ~ .box {
  display: none;
}
.navigation-top #open-close ~ .btn-open-close::before {
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: solid 4px #fff;
  border-right: solid 4px #fff;
  transform: rotate(45deg);
  margin: 0 auto 10px;
  display: block;
}
.navigation-top #open-close:checked ~ .btn-open-close::before{
  transform: rotate(-135deg);
}

/*=== 9-1-4 矢印が動いてスクロールを促す  ====*/
/*スクロールダウン全体の場所*/
.scrolldown4 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  top: -150px;
  right: 20px;
  /* ↑ スクロールの位置 ↑ */
  z-index: 10;
  width: 2px;
  height: 100px;
  background-color: #fff;
  /*矢印の動き1秒かけて永遠にループ*/
  animation: arrowmove 1s ease-in-out infinite;
  transition: opacity 0.5s;
}
/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
/*Scrollテキストの描写*/
.scrolldown4 span {
  /*描画位置*/
  position: absolute;
  left: 0px;
  bottom: 60px;
  /*テキストの形状*/
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
/* 矢印の描写 */
.scrolldown4:before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  right: -6px;
  /*矢印の形状*/
  width: 2px;
  height: 20px;
  background: #fff;
  transform: skewX(-31deg);
}
.scrolldown4:after {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  right: 0;
  /*矢印の形状*/
  width: 2px;
  height: 100px;
  background: #fff;
}

.scrolldown4.disabled{
  opacity: 0;
  transition: opacity 0.5s;
}

@media(min-width:550px){
  .navigation-top{
  max-width: 550px;
  margin: 0 auto;
}
}
@media(min-width:760px){
  .navigation-top{
    max-width: none;
  }
  .box {
    height: 80px;
  }
}

@media(min-width:960px){
  footer{
    width: 210px;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
  }
  /* PC版のナビゲーションボタンを消す */
  .btn-open-close{
    display: none;
  }
  
  /* PC版ナビゲーションの配置変更 */
  .navigation-top ul {
    display: flex;
    flex-direction:column;
  }
  .navigation-top ul li{
    margin: 12px 0 20px 20px;
  }
  .navigation-top ul li a{
    display: flex;
    align-items: flex-end;
  }
  .navigation-top ul li p{
    line-height: 0.5;
    padding-left: 10px;
  }
  .nav-contact{
    display: none;
  }
  .nav-facebook{
    position: absolute;
    bottom: 30px;
    left: 0;
  }
  .nav-instagram{
    position: absolute;
    bottom: 30px;
    left: 65px;
  }
  .top-button{
    position: absolute;
    bottom: 50px;
  }
  .line-QR__logo{
    width: 105px;
    position: absolute;
    bottom: 220px;
    left: 20px;
  }
  .line-QR{
    width: 105px;
    height: 105px;
    position: absolute;
    bottom: 110px;
    left: 20px;
  }
  .line-QR:hover{
    transform: scale(0.9);
    transition-duration: 0.5s;
  }
  .line-QR a:hover{
    opacity: 1;
  }
  /* PC版スクロールの位置 */
  .scrolldown4 {
    top: 70%;
    right: 0;
    left: -20px;
    bottom: 0;
  }

}
/* 960pxまでは */
@media(max-width:960px){
  .line-QR,.line-QR__logo{
    display: none;
  
  }
}
/* 960px以上になったら */
@media(min-width:960px){
  .pc-responsive{
    max-width: 375px;
    position: absolute;
    top: 60px;
    right: 240px;
  }
  .nav-line{
    display: none;
  }
}

/* coffee-beans　装飾 */
.coffee-beans{
  height: 80px;
  position: relative;
  z-index: 1;
}

.coffee-beans img{
  height: 80px;
  width: auto;
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
}