html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal;
  color: #4B4B4B;
}

.pc {
  display: block !important;
 }

.sp {
  display: none !important;
 }

/* header */
header {
  position: fixed;
  display: flex;
  z-index: 1;
  font-size: 18px;
  font-weight: bold;
  color: white;
  z-index: 10;
}

header .call {
  margin-left: 10px;
  margin-right: auto;
}

header .call img {
  width: 50%;
}

header .call a:hover {
  filter: brightness(1.25);
}

.nav_r .instaicon img {
  width: 25px;
}

.nav_r a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav_r a:hover {
  color: #FFCD4E;
  transition: all 0.5s ease;
  text-shadow:3px 3px 15px #fff;
}

header nav {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  right: 0;
  border-radius: 0 0 0 15px;
}

header nav ul {
  padding: 25px 0;
  text-align: right;
  display: flex;
}

header ul li {
  border-right: 1px solid #fff;
  padding: 0 35px;
  writing-mode: vertical-rl;
  text-align: center;
}

.border_none {
  border: none;
}
/* header */ 

/* https://rico-notes.com/programming/css/css-fade-in/ */
.slide-bottom {
  opacity: 0;
  transform: translateY(120px);
  transition: all 1.2s 0s ease-out;
}

/* kv */
.kv {
  position: relative;
  background-image: url(../img/kv.png);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 64vw;
  z-index: -2;
}

.h1_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  text-align: center;
  color: #fff;
  z-index: 1;
}

h1 img{
  width: 50%;
  height: auto;
}

.kv .tagline {
  font-size: 36px;
  margin-bottom: 20px;
}
/* kv */

/* about */
h2 {
  text-align: center;
  font-size: 40px;
  font-weight: bold;
  color: #4B4B4B;
  text-shadow:3px 3px 4px #b4a06c;
  margin-bottom: 80px;
} 

h2::first-letter {
  font-size: 2em;
  color: #FFCD4E;
  line-height: 1;
}

#about {
  display: flex;
  max-width: 1200px;
  margin: 80px auto;
}

.about_paragraph_l {
  position: relative;
  width: 50%;
  text-align: right;
  z-index: -1;

}

.about_paragraph_l img {
  position: absolute;
  top: -280px;
  right: 0;
}

.about_paragraph_r {
  width: 50%;
}

.about_paragraph_r p {
  letter-spacing: 0.2em;
  line-height: 1.6;
}
/* about */

/* popular */
.main_bg {
  background-image: url(../img/bg.png);
  background-size: 100% auto;
}

#popular {
  margin-bottom: 80px;
  padding-top: 80px;
}

.pf1,.pf2 {
  display: flex;
}

.pf1 img,.pf2 img {
  width: 50%;
  object-fit: contain;
}

.pf1 dl,.pf2 dl {
  width: 50%;
  padding-left: 25px;
}  

.pf1 dl dt {
  font-size: 38px;
  font-weight: bold;
  background-image: url(../img/text_bg1.png);
  background-size: 100% auto;
  background-position: left bottom;
  background-repeat: no-repeat;
  max-width: 320px;
  margin-bottom: 30px;
}

.pf1 dd,.pf2 dd {
  letter-spacing: 0.2em;
  line-height: 1.6;
}

.pf2 {
  flex-direction: row-reverse;
  position: relative;
}

.pf2 img {
  position: absolute;
  top: -10vh;
}

.pf2 dl {
  position: absolute;
  top: 60px;
  left: 0;
}

.popular_food {
  height: 500px;
}

.pf2 dl dt {
  font-size: 38px;
  font-weight: bold;
  background-image: url(../img/text_bg2.png);
  background-size: 100% auto;
  background-position: left bottom;
  background-repeat: no-repeat;
  max-width: 320px;
  margin-bottom: 30px;
}

#popular .swiper-wrapper {
  transition-timing-function: linear;
}

#popular .swiper-slide img {
  width: 100%;
}

#popular .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

#popular .lemon_sour {
  text-align: center;
}

#popular .lemon_sour img {
  max-width: 1200px ;
  width: 100%;
  margin-top: 40px;
}

/* interior */
#interior {
padding-top: 80px;
text-align: center;
max-width: 1200px;
margin: 0 auto;
}

#interior .interior_img {
  display: flex;
  width: 100%;
}

.table {
  margin-right: 50px;
  width: 50%;
  height: 100%;
}

.table img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#interior .slider2 {
  width: 50%;
  height: 100%;
}

#interior .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

#interior .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper-pagination-bullet-active {
  background: #FFCD4E;
}
/* interior */

/* access info */
#info {
  max-width: 1200px;
  margin: 80px auto 160px;
}

.info_paragraph {
  display: flex;
}

.info_paragraph_l {
  width: 50%;
}

.info_paragraph_l iframe {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.info_paragraph_r {
  width: 50%;
  margin-left: 40px;
}

.info_paragraph_r dl{
  border-bottom: 1px solid #C0C0C0;
  display: flex;
  align-items: center;
  position: relative;
  padding: 20px 0;
}

.info_paragraph_r dl::before {
  position: absolute;
  content: "";
  bottom: -1px;
  left: 0;
  border-bottom: 2px solid #FFCD4E;
  width: 130px;
  z-index: 2;
}

.info_paragraph_r dd {
  padding-left: 20px;
}

.info_paragraph_r dt {
  width: 130px;
}

.info_paragraph_r dd a {
  -webkit-text-stroke-width: 2px;
  font-size: 20px;
  opacity: 0.6;
  letter-spacing: 0.2em;
}

.info_paragraph_r dd a:hover {
color: #FFCD4E;
transition: all 0.5s ease;
text-shadow:3px 3px 15px #fff;
}
/* access info */


/* footer */
footer {
  background-image: url(../img/footerbg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: auto;
  padding-top: 7%;
  align-items: flex-end;
}

.footer_logo {
  margin-left: 20px;
}

footer small {
  margin-bottom: 20px;
}

.footer_icon {
  width: 25px;
  margin-right: 20px;
  margin-bottom: 20px;
}
/* footer */

/* menu html */
/* menu */
#menu img{
  max-width: 1200px;
}

#menu {
  margin: 80px auto;
  text-align: center;
}

#menu h2 {
  position: relative;
}

#menu h2::before {
  content: url(../img/taku.png);
  position: absolute;
  top: -350px;
  left: 0px;
  transform: scale(0.7);
  z-index: 0;
}

/* #menu h2::after {
  content: url(../img/ryo.png);
  position: absolute;
  top: 0;
  right: 0;
} */

#menu img{
  width: 100%;
  padding-bottom: 40px;
  object-fit: cover;
}

#menu .swiper {
  width: 100%;
  padding-top: 2px;
  padding-bottom: 20px;
}

#menu .swiper-slide {
  background-position: center;
  background-size: cover;
  width: 300px;
  height: auto;
}

#menu .swiper-slide img {
  display: block;
  width: 100%;
}

/* menu */
/* menu html */



@media (max-width: 768px) {
  .pc {
    display: none !important;
   }
  
  .sp {
    display: block !important;
   }

   .humburger {
    position: relative;
    width: 38px;
    height: 35px;
    margin: 0 0 0 auto;
    z-index: 5;
  }

  header nav {
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 0;
    padding: 10px;
  }

  header .call img {
    width: 40%;
  }
  

  /* 三本線のスタイルを決める */
  .humburger span {
    display: block;
    width: 38px;
    height: 1px;
    position: absolute;
    transition: all 0.5s ease;
  }

  /* 線の縦位置の調整 */
  .btn_bar1 { 
    top: 0;
    background-color: #ffffff;
  }

  .btn_bar2 {
    top: 17.5px;
    background-color: #ffffff;
  }

  .btn_bar3 {
    bottom: 0;
    background-color: #ffffff;
  }

  .btn_bar1.open {
    top: 17.5px;
    transform: rotate(45deg);
  }
  
    /* ハンバーガーメニューがクリックされたら
    真ん中の線は透明化して見えないようにする */
  .btn_bar2.open { 
    opacity: 0;
   }

    /* ハンバーガーメニューがクリックされたら
    下の線は真ん中に移動させて-45℃回転 */
  .btn_bar3.open {
    top: 17.5px;
    transform: rotate(-45deg);
  }

  .nav_about_container {
    transition: opacity 0.3s ease;
    background-color: black;
    width: 102vw;
    position: fixed;
    top: 0;
    right: 0;
    padding: 40px 0;
    text-align: center;
    opacity: 0;
    visibility: hidden;
  }

  .active {
    opacity: 0.9;
    visibility: visible;
  }


  header nav ul {
    padding: 25px 0;
    text-align: center;
    flex-direction: column;
  }

  header ul li {
    border-bottom: 1px solid #fff;
    border-right: none;
    padding: 35px 0;
    writing-mode: horizontal-tb;
    width: 200px;
    margin: 0 auto;
  }

  header .call{
    z-index: 20;
  }

  /* kv */
  .kv .h1_text p span::after {
    content: "<br/>";
  }

  .h1_text p {
    font-size: 12px;
  }

  .kv .h1_text .tagline {
    font-size: 28px;
  }
  /* kv */

  /* about */
  h2 {
    font-size: 28px;
    margin-bottom: 40px;
  }

  #about {
    margin: 40px auto;
    width: 100%;
    display: inline-block;
  }

  .about_paragraph_l {
    position: relative;
    width: 100%;
    text-align: right;
  }

  .about_paragraph_r {
    width: 100%;
  }

  .about_paragraph_r p {
    padding: 0 10px
  }

  .about_paragraph_l img {
    position: absolute;
    top: -200px;
    left: 0;
    width: 30%;
    z-index: -1;
    -webkit-transform: translate3d(0,0,0);
  }
  /* about */

  /* popular */
  #popular {
    padding-top: 40px;
    margin-bottom: 20px;
  }

  .popular_food {
    height: auto;
    margin-bottom: 80px;
  }

  .pf1,.pf2 {
    flex-direction: column;
    margin-bottom: 40px;
  }

  .pf1 img,.pf2 img {
    width: 100%;
    object-fit: contain;
  }
  
  .pf1 dl,.pf2 dl {
    width: 100%;
    padding-left: 5px;
  } 

  .pf1 dl dt,.pf2 dl dt {
    font-size: 32px;
    max-width: 280px;
    margin-bottom: 15px;
  }

  .pf2 img {
    position: static;
  }

  .pf2 dl {
    position: static;
    top: 0;
    left: 0;
  }
  #popular .lemon_sour img {
    margin-top: 40px;
  }
  /* popular */

  /* interior */
  #interior .interior_img {
    flex-direction: column;
  }
  
  #interior .table,#interior .slider2 {
    width: 90%;
    height: auto;
    margin: 0 auto;
  }
  /* interior */

  /* access info */
  #info {
    margin-bottom: 80px;
  }
  
  .info_paragraph {
    flex-direction: column;
  }

  .info_paragraph_l {
    height: 300px;
    margin-bottom: 40px;
  }

  .info_paragraph_l,.info_paragraph_r {
    width: 100%;
    margin-left: 5px;
    font-size: 14px;
  }

  .info_paragraph_r dl::before {
    width: 120px;
  }

  .info_paragraph_r dd a {
    letter-spacing: 0em;
  }

  .info_paragraph_r dt {
    width: 120px;
  }
  /* access info */

  /* footer */
  footer {
    flex-direction: column;
    padding-top: 0%;
    text-align: center;
    justify-content: center;
    margin: 0 auto;
    align-items: center;
  }

  .footer_logo {
    margin-right: auto;
    width: 15%;
    
  }

  footer small {
    margin-bottom: 0px;
  }
  /* footer */

  #menu {
    width: 100%;
  }
  
  #menu h2::before {
    transform: scale(0.37);
    left: -130px;
    top: -315px;

  }

}

@media (min-width: 1450px) {
    .popular_food {
      height: 650px;
  }
}

@media (min-width: 768px) {
  #menu .swiper-slide {
    width: 500px;
  }
}

@media (max-width: 500px) {
  .about_paragraph_l img {
    top: -100px;
  }
}