@charset "UTF-8";
/* CSS Document */
html {
  font-size: 62.5%; /* 16px * 62.5% = 10px */
  width: 100%;
  box-sizing: border-box;
}
body {
  color: #333; /* RGB */
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: 1.6em;
  line-height: 2.4rem;
  text-align: center;
}
section h2 {
  font-size: 2.4rem;
}
a:hover {
  opacity: 0.5;
}
.none {
  display: none;
}
/* 共通 */
#wrap {
  width: 100%;
  margin: 0 auto;
  max-width: 1920px;
}
.header {
  height: 105px;
  background-image: url("../images/common/header_bg_mobile.jpg");
  background-size: cover;
  background-position: center;
  position: relative;
}
.logo_mobile {
  position: absolute;
  top: 0;
  left: calc(50% - 52px);
  width: 104px;
}
.home {
  width: 86px;
  height: auto;
}
.about {
  width: 96px;
  height: auto;
}
.lunch {
  width: 95px;
  height: auto;
}
.nav-drawer__logo {
  display: none;
}
.dinner {
  width: 110px;
  height: auto;
}
.takeout {
  width: 132px;
  height: auto;
}
.access {
  width: 108px;
  height: auto;
}
main {
  background-color: #F9F7E7;
}
@media (max-width:960px) {
  /* ハンバーガーアイコン */
  #nav-drawer {
    position: relative;
    text-align: right;
  }
  #nav-open {
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
    margin: 45px 10px 0 0;
  }
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 5px;
    width: 27px;
    background-color: #00569E;
    border: solid 1px #FFF;
    display: block;
    content: "";
  }
  #nav-open span:before {
    bottom: -10px;
    margin-left: -1px;
  }
  #nav-open span:after {
    bottom: -20px;
    margin-left: -1px;
  }
  #nav-close {
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.5;
  }
  #nav-content {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 300px;
    height: 422px;
    background-image: url("../images/common/hamburger_menu_bg@2x.jpg");
    background-size: contain;
    text-align: left;
    padding: 33px 0 0 40px;
    transform: translateX(-105%);
  }
  #nav-content ul {
    list-style: none;
    display: flex;
    flex-direction: column;
  }
  #nav-content ul li {
    margin-bottom: 43px;
  }
  #nav-input:checked ~ #nav-close {
    display: block;
  }
  #nav-input:checked ~ #nav-content {
    transform: translateX(0%);
    transition: 0.3s ease-in-out;
    box-shadow: 5px 0 25px rgba(0, 0, 0, 0.25)
  }
}
@media (min-width:961px) {
  /* ヘッダー */
  .header {
    height: 176px;
    width: 100%;
    background-image: url("../images/common/header_bg_pc.jpg");
    background-size: cover;
    background-position: center;
    position: relative;
  }
  .logo_mobile {
    position: absolute;
    left: calc(50% - 88px);
    width: 176px;
  }
  .header__navigation__left {
    width: 50%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    padding: 80px 80px 0 0;
    float: left;
  }
  .header__navigation__right {
    width: 50%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    padding: 80px 0 0 80px;
    float: right;
  }
  .home, .about, .lunch, .dinner, .takeout, .access {
    cursor: pointer;
    transition: 0.24s cubic-bezier(0.45, 0, 0.55, 1);
    padding-bottom: 10px;
    position: relative;
  }
  .home::before {
    background: #FC393D;
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .home:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  .about::before {
    background: #FC393D;
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .about:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  .lunch::before {
    background: #FC393D;
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .lunch:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  .dinner::before {
    background: #FC393D;
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .dinner:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  .takeout::before {
    background: #FC393D;
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .takeout:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  .access::before {
    background: #FC393D;
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
  }
  .access:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
/* フッター*/
footer {
  background-image: url("../images/common/footer_bg.jpg");
  background-size: cover;
  background-repeat: repeat-x;
  background-position: center;
  height: 247px;
  position: relative;
}
footer ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  padding: 40px 30px 0;
  max-width: 550px;
  margin: 0 auto;
}
footer ul li {
  width: 100px;
}
footer ul li a {
  font-family: Arial, Helvetica, "sans-serif";
  font-weight: 600;
  font-size: 1.8rem;
  color: #FFF;
}
.li_access {
  margin-right: 0;
}
.sns-icon {
  text-align: right;
  margin: 10px 20px 0 0;
}
.fa-brands {
  color: #FFF;
  font-size: 1.5em;
}
.fa-instagram {
  margin-right: 5px;
}
small {
  color: #FFF;
  font-size: 1.4rem;
  font-family: Arial, Helvetica, "sans-serif";
  font-weight: 400;
  position: absolute;
  bottom: 72px;
  transform: translateX(-50%);
  width: 100%;
}
@media (max-width:659px) {
  /* return to top */
  .scroll-top {
    width: 100px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 10px;
    opacity: 0.8;
  }
  #scroll-top a {
    text-decoration: none;
  }
  #scroll-top a:hover {
    opacity: 0.6;
  }
}
@media (min-width:660px) {
  footer ul {
    max-width: none;
  }
  .scroll-top {
    display: none;
  }
}