@charset "utf-8";
html {
  height: 100%;
}
body {
  background-image: url("../images/blank-abstract-textured-background.jpg");
  color: #282828;
  font-family: 'Kiwi Maru', 'Dangrek', sans-serif;
  font-size: 16px;
  height: 100%;
  line-height: 1.5;
}
img {
  max-width: 100%;
  height: auto;
}
/*ハンバーガーメニュー*/
#gMenu {
  z-index: 10;
}
#gMenu-bar {
  width: 40px;
  height: 40px;
  cursor: pointer;
  position: fixed;
  top: 45px;
  left: 16px;
}
.bar {
  height: 5px;
  width: 100%;
  background-color: #ea5514;
  display: block;
  border-radius: 5px;
  transition: 0.3s ease;
}
#bar1 {
  transform: translateY(-6px);
}
#bar3 {
  transform: translateY(6px);
}
.nav {
  transition: 0.3s ease;
  display: none;
}
.nav ul {
  padding-top: 100px;
  padding-left: 22px;
}
.nav li {
  list-style: none;
  padding: 12px 0;
}
.nav li a {
  color: white;
  font-size: 20px;
  text-decoration: none;
}
.nav li a:hover {
  font-weight: bold;
}
.gMenu-bg, #gMenu {
  top: 45px;
  left: 16px;
  position: fixed;
}
.gMenu-bg {
  z-index: 5;
  width: 0;
  height: 0;
  margin: 30px 0 20px 20px;
  background: radial-gradient(circle, #ea5514, #ea5514);
  border-radius: 50%;
  transition: 0.3s ease;
}
.change {
  display: block;
}
.change .bar {
  background-color: white;
}
.change #bar1 {
  transform: translateY(4px) rotateZ(-45deg);
}
.change #bar2 {
  opacity: 0;
}
.change #bar3 {
  transform: translateY(-6px) rotateZ(45deg);
}
.change-bg {
  width: 520px;
  height: 460px;
  transform: translate(-60%, -30%);
}
/*ハンバーガーメニュー　ここまで*/
/*ファーストビュー*/
.logo {
  display: block;
  width: 60%;
  height: 60%;
  margin: 0 auto;
}
.welcome {
  text-align: center;
}
.scroll {
  position: absolute;
}
.scrollP {
  color: #ea5514;
  font-family: 'Dangrek';
  font-size: 22px;
  margin: 35px 16px 0;
  writing-mode: vertical-rl;
}
.scrollP::before { /* スクロールの線 */
  position: absolute;
  animation: scroll 2s infinite;
  background-color: #ea5514;
  width: 1px;
  height: 100px;
  content: "";
  left: 25px;
  bottom: -100px;
  z-index: 1;
}
@keyframes scroll { /* 線のアニメーション */
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.firstView {
  position: relative;
}
.interior { /*アーチ型の画像*/
  margin-top: 25px;
}
/*ファーストビュー　ここまで*/
/*topPage 共通のスタイル*/
.topPage {
  text-align: center;
}
.topPage section {
  height: 100%;
  margin-top: 86px;
}
.topPage h2 {
  font-size: 24px;
  margin-bottom: 46px;
  text-align: center;
}
.headerTape01, .headerTape02, .headerTape03, .headerTape04 { /*マステ*/
  background-image: url("../images/tape.png");
  background-size: cover;
  color: #ffd80b;
  font-family: 'Dangrek';
  font-size: 36px;
  padding: 25px 0;
  writing-mode: vertical-rl;
}
.headerTape01 {
  position: absolute;
  left: 0;
  background-repeat: no-repeat;
  transform: translate(-8px);
}
.headerTape02 {
  position: absolute;
  right: 0;
  background-repeat: no-repeat;
  transform: translate(8px);
}
.headerTape03 {
  position: absolute;
  left: 0;
  background-repeat: no-repeat;
  transform: translate(-8px);
}
.headerTape04 {
  position: absolute;
  right: 0;
  background-repeat: no-repeat;
  transform: translate(8px);
}
/*topPage 共通のスタイル ここまで*/
/*ごあいさつ*/
.about {
  position: relative;
}
.about p {
  margin-bottom: 46px;
}
/*おしながき*/
.menu {
  position: relative;
  padding-bottom: 15px;
}
.btn-box {
  display: block;
  width: 170px;
  margin: 40px auto 0;
}
.btn {
  display: block;
  width: 170px;
  height: 48px;
  line-height: 48px;
  font-size: 20px;
  background-color: #ea5514;
  border-radius: 50px;
  color: #fff;
  cursor: pointer;
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
  text-decoration: none;
}
.btn:hover {
  background-color: #fff;
  border: 2px solid #ea5514;
  color: #ea5514;
}
/*お知らせ*/
.news {
  position: relative;
}
.spNone {
  display: none;
}
.pcNone {
  display: block;
  width: 266px;
  margin: 0 auto;
}
.bird {
  position: absolute;
  right: 0;
  top: -20px;
  width: 70%;
  z-index: 1;
}
/*店舗情報*/
.store {
  padding-bottom: 15px;
}
/*footer*/
footer {
  background-color: #ea5514;
  margin-top: 86px;
  padding-bottom: 15px;
}
.sns {
  display: flex;
  gap: 40px;
  justify-content: center;
  padding-top: 130px;
  padding-bottom: 15px;
}
small {
  color: #fff;
}
/*menuPage & storePage 共通のスタイル*/
.menuPage, .storePage {
  text-align: center;
}
.menuPage h1, .storePage h1 {
  font-size: 32px;
  margin-top: 100px;
  margin-bottom: 40px;
}
.subPageImg {
  margin-bottom: 40px;
}
/*menuPage*/
.mealsList, .drinkList {
  position: relative;
}
.menuPage h2 {
  font-family: 'Dangrek';
  font-size: 32px;
  margin-top: 40px;
  margin-bottom: 20px;
  text-transform: uppercase;
}
.menuPage p {
  font-size: 14px;
}
.meals01 {
  width: 50vw;
  margin-bottom: 10px;
}
.mealsList {
  position: relative;
  height: 100%;
}
.meals02 {
  margin: 0 auto;
  width: 40vw;
  margin-bottom: 15px;
}
.meals03 {
  margin: 0 auto;
  width: 40vw;
  margin-bottom: 30px;
}
.meals04 {
  width: 50vw;
  margin-right: 20px
}
.mealsBox01, .mealsBox02, .treatsBox, .drinkBox01, .drinkBox02 {
  display: flex;
  align-items: center;
}
.mealsCaption01, .mealsCaption02, .mealsCaption03, .mealsCaption04, .treatsCaption, .drinkCaption01, .drinkCaption02 {
  display: block;
  align-self: center;
  margin: 0 auto;
}
.drinkBox01 {
  justify-content: space-around;
}
.treats {
  margin: 0 auto;
  width: 40vw;
}
.drinkList {
  position: relative;
  height: 100%;
}
.drink01 {
  margin-left: 20px;
  width: 40vw;
}
.drink02 {
  margin-right: 20px;
  width: 40vw;
}
/*storePage*/
.storePage h2 {
  font-size: 24px;
}
.storePage p {
  font-size: 14px;
  margin-top: 1em;
  margin-bottom: 2.5em;
}
form {
  text-align: start;
}
.form {
  display: block;
  width: 310px;
  margin: 2em auto;
}
select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
}
.send {
  background-color: #ea5514;
  border-radius: 30px;
  color: #fff;
  padding: 10px 55px;
}
.orange {
  color: #ea5514;
}
.center {
  text-align: center;
}
/*タブレット表示*/
@media screen and (min-width: 768px) {
  /*topページ*/
  .headerTape01 {
    transform: translate(0);
  }
  .headerTape02 {
    transform: translate(0);
  }
  .headerTape03 {
    transform: translate(0);
  }
  .headerTape04 {
    transform: translate(0);
  }
  #ufo {
    width: 50vw;
  }
  .bird {
    top: -80px;
    width: 50%;
  }
}
/*PC表示*/
@media screen and (min-width: 960px) {
  /*topページ ファーストビュー*/
  .logo {
    width: 25%;
  }
  .welcome {
    font-size: 32px;
    margin-bottom: 25px;
  }
  .scrollP {
    font-size: 38px;
    margin: 35px 16px 0;
    writing-mode: vertical-rl;
  }
  /* 線のアニメーション部分 */
  .scrollP::before {
    width: 2px;
    height: 200px;
    left: 30px;
    bottom: -200px;
  }
  .topPage h2 {
    font-size: 32px;
  }
  .greetings {
    font-size: 24px;
  }
  #ufo {
    width: 30vw;
  }
  /*topPage　おしながき*/
  .menuImg {
    display: block;
    margin: 0 auto 40px;
    width: 60%;
  }
  /*topPage news*/
  .spNone {
    display: block;
    margin: 0 auto;
    width: 800px;
  }
  .pcNone {
    display: none;
  }
  .bird {
    top: -200px;
    width: 50%;
  }
  /*topPage　店舗情報*/
  .storeImg {
    display: block;
    margin: 0 auto 40px;
    width: 60%;
  }
  /*menuPage*/
  .subPageImg {
    width: 30%;
  }
  h3 {
    font-size: 32px;
  }
  .menuPage p {
    font-size: 24px;
  }
  .mealsList, .treatsList, .drinkList {
    display: inline-block;
    margin: 0 auto;
  }
  .meals01 {
    width: 30vw;
  }
  .meals02, .meals03 {
    width: 25vw;
  }
  .meals04 {
    width: 25vw;
  }
  .treats {
	  margin-right: 20px;
    width: 15vw;
  }
  .drink01, .drink02 {
    width: 25vw;
  }
  .drink02 {
    margin: 0 auto;
  }
}
/* safariでのform崩れを修正 */
@media only screen and (min-width: 320px) and (-webkit-min-device-pixel-ratio: 2) {
/* Retinaディスプレイの場合に適用 */
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
max-width: 100%;
}
}