.wrapper {
  width: 100%;
  overflow-x: hidden;
  background-image: url(../img/bg_repeat.jpg);
  position: relative;
  z-index: 1;
  font-family: "SourceHanSansJP", "brandon-grotesque", "source-han-sans-japanese", sans-serif;
  font-weight: bold;
}

/* p {
  font-family: "SourceHanSansJP", "brandon-grotesque", "source-han-sans-japanese", sans-serif;
}

*/

img {
  object-fit: contain;
  width: 100%
}

/* top(header) */
.top {
  position: relative;
  text-align: center;
  max-width: 1280px;
}


.logo {
  width: 30%;
  position: absolute;
  top: 20px;
  right: 1%;

}

.logo a {
  display: block
}

.logo img {
  width: 100%;

}


.top_main {
  width: 86%;
  margin: 30px 0 70px 0;
}

.info_open {
  position: absolute;
  width: 48%;
  bottom: 26%;
  right: 10%;
}

.top_info-content {
  position: relative;
  text-align: center;
}

.info_head {
  width: 86%;
  margin: auto;

}

.info_logo {
  width: 66%;

}

.info_text {
  text-align: left;
  line-height: 1.93;
  letter-spacing: 0.7px;
  padding: 21px 8% 0 13%;
  margin: auto;
}

.info_text p {
  font-size: 14px;
}

.info_text address {
  font-size: 14px;
}

.instagram {
  display: block;
  text-align: left;
  margin-top: 10px;
}

.instagram img {
  width: 26px;
}


/* about */
.about {
  margin: 78px auto 245px auto;
  position: relative;
  max-width: 1280px;
}

.about_title {
  width: 72%;
  margin: auto;
}

.about_title img {
  width: 100%
}

.about_text {
  width: 82%;
  margin: 25px auto 0 auto;
  text-align: left;
  font-size: 13px;
  line-height: 2.08;
  letter-spacing: 0.65px;
  font-family: "SourceHanSansJP", "brandon-grotesque", "source-han-sans-japanese";
}

.about_img {
  width: 60%;
  max-width: 260px;
  min-width: 200px;
  position: absolute;
  top: 80%;
  left: 30%;
  z-index: -1;
}

/* menu */
.menu {
  max-width: 1280px;
  margin: auto;
}

.menu_title {
  width: 30%;
  margin: auto;
}

.menu_text {
  width: 80%;
  margin: 25px auto 0 auto;
  text-align: left;
  font-size: 13px;
  line-height: 2.08;
  letter-spacing: 0.65px;
  font-family: "SourceHanSansJP", "brandon-grotesque", "source-han-sans-japanese";
}

.menu_content-wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 96%;
  margin: auto;
}

.menu_content {
  width: 48%;
  margin-bottom: 20px;
  text-align: center;
}

.menu_content:last-child {
  margin-right: 48%;
}

.menu_img {
  width: 90%;
  border-radius: 12.5%;
}

.menu_content-text {
  text-align: center;
  line-height: 1.54;
}

.menu_name {
  font-size: 13px;
}

.price {
  font-size: 12px;
}

.menu_bottom-text {
  width: 74%;
  padding: 10px 17px;
  border: solid 0.5px #222;
  margin: auto;
}

.menu_bottom-text p {
  font-size: 12px;
  line-height: 1.33;
  letter-spacing: 0.6px;
}


/* access */
.access {
  margin: 40px auto 35% auto;
  text-align: center;
  max-width: 1280px;

}

.access_title {
  width: 38%;
  margin: auto;
  margin-bottom: 20px;
}

.access_img {
  position: relative;
}

.shop_img {
  width: 80%;
}

.access_info-open {
  top: 80%;
  right: 7%;
}

/* footer */
footer {
  position: relative;
  max-width: 1280px;
  margin: auto;
}

.footer_logo {
  display: block;
  width: 70%;
  margin: auto;
}

.map {
  display: block;
  width: 80%;
  margin: auto;
}

.link_top {
  display: block;
  opacity: 0;
  width: 70px;
  height: 70px;
  position: fixed;
  right: 5px;
  bottom: 20px;
}

small {
  display: block;
  font-size: 11px;
  text-align: center;
  margin-top: 85px;
  padding-bottom: 10px;
  font-weight: normal;
}

.indent {
  padding-left: 6.4em;
}

.pc {
  display: none;
}

.fadein {
  opacity: 1;
}

.g_map {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

.g_map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/* safari用 */
_::-webkit-full-page-media,
_:future,
:root .indent {
  padding-left: 6.3em;
}

@media screen and (min-width:1023px) {
  .sp {
    display: none;
  }

  .pc {
    display: block
  }

  .top {
    display: flex;
    width: 94%;
    margin: 100px auto 0 auto;
  }

  .logo {
    width: 12.5%;
    top: -9%;
    right: -1.5%;

  }

  .top_content {
    max-width: 1280px;
    margin: auto;
  }

  .top_info-content {
    width: 50%;
    padding-top: 50px;
  }

  .top_main {
    width: 49.5%;
    margin: auto;
    height: 654px;
  }

  .info_head {
    width: 67%;
  }

  .info_logo {
    width: 52%;
    margin-top: 18px;
  }

  .info_text {
    padding-left: 24%;
    padding-top: 30px;
  }

  .info_text p {
    font-size: 15px;
    line-height: 2;
  }

  .info_text address {
    font-size: 15px;
    margin-bottom: 10px;
  }

  .open_box {
    position: relative;
    height: 180px;
  }

  .info_open {
    width: 35%;
    bottom: 12%;
    /* top: 65%;
    right: 5%; */
    min-width: 200px;
  }

  .text_en {
    font-size: 11px;
    line-height: 1.82;
    letter-spacing: 1.1px;
    color: #cf6a72;
    text-align: left;
    font-family: "SourceHanSansJP", "brandon-grotesque", "source-han-sans-japanese", sans-serif;
    width: 50%;
    padding-left: 14%;
  }

  .about {
    width: 94%;
    margin: auto;
    display: flex;
    margin-top: 200px;
  }

  .about_text-box {
    width: 50%;
    padding-left: 9%
  }

  .about_title {
    margin-left: 13%;
    width: 52%;
    margin-bottom: 40px;
  }

  .about_text {
    margin: 0 0 0 13%;
    font-size: 15px;
    line-height: 35px;
    letter-spacing: 0.75px;
  }

  .about_img {
    width: 35%;
    top: -25%;
    left: 55%;
    max-width: 500px;
  }

  .menu {
    margin-top: 170px;
  }

  .menu_title {
    width: 10%;
  }

  .menu_text {
    width: 40%;
    font-size: 15px;
    margin-bottom: 27px;
  }

  .menu_content-wrap {
    width: 65%
  }

  .menu_content-text {
    width: 85%;
  }

  .menu_content-text p {
    font-size: 14px;
    line-height: 1.67;
  }

  .menu_img {
    width: 85%
  }

  .menu_name {
    padding-top: 10px;
    font-size: 15px;
  }

  .price {
    font-size: 14px;
  }


  .menu_content {
    width: 30%;
    margin-bottom: 30px;
  }

  .menu_content:last-child {
    margin-right: 0;
  }

  .menu_content-text {
    margin: auto;
  }

  .menu_bottom-text {
    width: 54%;
    padding: 10px 17px;
    border: solid 0.5px #222;
    margin: auto;
  }

  .menu_bottom-text p {
    font-size: 13px;
    line-height: 1.54;
    letter-spacing: 0.65px;
  }

  footer {
    margin-top: 100px
  }

  .access {
    position: relative;
    margin: 0;
  }

  .access_title {
    width: 14%;
    margin-bottom: 38px;
  }

  .access_flex {
    display: flex;
    margin: auto;
    justify-content: center;
    width: 80%;
  }

  .access_img {
    position: relative;
  }

  .a_box {
    width: 33%;
  }

  .a_box1 {
    width: 35%;
  }

  .info_text-footer {
    padding-left: 15%;
    padding-top: 5px;
    padding-right: 0;
  }

  .info_text-footer p {
    font-size: 14px;
  }

  .info_text-footer address {
    font-size: 14px;
  }

  .shop_img {
    width: 300px;
  }

  .access_info-open {
    width: 55%;
    top: 72%;
    right: 0;
  }

  .link_top {
    right: calc(50% - 48%);
    bottom: 5px;
  }

  /* safari用 */
  _::-webkit-full-page-media,
  _:future,
  :root .top {
    right: 0;
  }
}

@media screen and (min-width:1279px) {
  .link_top {
    right: calc(50% - 625px);
  }
}

@media screen and (max-width:350px) {
  .indent {
    padding-left: 0;
  }

  /* safari用 */
  _::-webkit-full-page-media,
  _:future,
  :root .indent {
    padding-left: 0;
  }
}

/* 2021/3/28修正 */
.open_time {
  font-size: 14px;
  display: flex
}

.open_time dt {
  width: 30%;
  max-width: 76px;
  font: 14px;
}

.open_time dd {
  font-size: 14px;
  width: 65%;
}

@media screen and (min-width:1023px) {