@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,600;1,400&display=swap');

:root{
  --webFont:'Crimson Pro', serif;
  --bgBlack:#000000;
}

.body{
  background-color:var(--bgBlack);
  color: #fff;
  line-height: 1.75;
  font-size: 14px;
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}
.flex{
  display: flex;
}

.header__wrap,.commonWrap{
  padding: 0 6%;
}

/* -------背景画像 */
.heroView__area,.concept__bg{
  width: 100%;
  height: 0;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  position: relative;
}

/* ----------フォント */

.headline,.subHead,.header__navList .header__navListItem a,
.menu__listItem{
  font-family: var(--webFont);
  font-weight: 600;
  font-style: italic; /*iOS*/
}

/* ----------セクション */
.sect{
  margin-bottom: 88px;
  text-align: center;
}

/* ----------見出し */
.common_headline{
  display:inline-block;
  padding: 0 5%;
}

.headline{
  font-size: 48px;
  border-bottom: 2px solid #fff;
  padding-bottom: 0px;
  margin-bottom: 24px;
}
.subHead{
  font-size: 40px;
  background-color: #000000;
}

/* -----------header */
.header__nav{
  padding: 24px 0 0;
}

.header__iconAreaList{
  justify-content: flex-end;
}

.header__iconAreaListItem a .header__iconImg{
  max-width: 40px;
}
.header__iconAreaListItem:last-child{
  margin-left: 8px;
}

.header__navList{
  justify-content: space-between;
  margin-top: 24px;
}
.header__navList .header__navListItem a{
  font-size: 20px;
}

.heroView__area{
  padding-top: 112.91%;
  background-image: url(../images/heroBg_sp.png);
}
.heroView__area .hero__logo{
  max-width: 190px;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

/* -------------Concept */
.concept__bg{
  padding-top: 160.798%;
  background-image: url(../images/conceptBg_sp.png);

}
.concept__cnt{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding:0 10%;
  text-align: center;
}
.concept__cnt p{
  text-align: left;
}

/* ------------menu */
.menu__list{
  padding:0 10%;
  margin-top: 48px;
}
.menu__listItem{
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: 28px;
  text-align:left;
}
.menu__listItem::before{
  content: "";
  background-color: #fff;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin:auto;
  z-index: 99;
}
.menu__listItem .menu__name,.menu__listItem .menu__price{
  display: inline-block;
  background-color:var(--bgBlack);
  position: relative;
  z-index: 999;
}
.menu__listItem .menu__name{
  padding-right: 4%;
  font-size: 24px;
  line-height: 1.2;
}
.menu__listItem .menu__name .menu_smallTxt{
  /* display: block; */
  font-size: 13px;
  font-weight: 400;
}
.menu__listItem .menu__price{
  padding-left: 4%;
  font-size: 18px;
}

/* ------------access */

.gMap-area{
  margin: 48px 0 64px;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 98%;
}
.gMap-area iframe{
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;

}
/* ------------contact */
.contact__area{
  margin-top: 68px;
}
.contact__txtArea{
  margin-top: 56px;
  margin-bottom: 80px;
}

.contact__txtArea p span,.classy__address span{
  display: block;
}
.classy__address,.tel{
  margin-bottom: 32px;
}

.contact__head{
  display:inline-block;
  padding-bottom: 8px;
  border-bottom: 1px solid #fff;
}

.contact__iconList{
  padding: 24px 0 0;
  width: 56%;
  margin: auto;
  justify-content: space-between;
}
.contact__iconListItem-middle{
  margin: 0 5%;
}

.contact__iconListItem a{
  display:block;
}

/* -----------------footer */
footer p small{
  display: block;
  text-align: center;
  padding: 8px 0;
}
/* ----------------topへスクロールするボタン */
.btn__topScroll{
  display: block;
  background-color: #fff;
  border-radius: 50%;
  width:60px;
  height: 60px;
  border: 1px solid var(--bgBlack);
  position: fixed;
  right: 5%;
  bottom: 5%;
  z-index: 9999;
}
.btn__topScroll .arrow-top{
  border: 0;
   border-top: solid 6px var(--bgBlack);
   border-right: solid 6px var(--bgBlack);
   display: inline-block;
   transform: rotate(-45deg);
   width: 20px;
   height: 20px;
   position: absolute;
   top: 6px;
   bottom: 0;
   left: 0;
   right: 0;
   margin:auto;
}

@media screen and (min-width:599px) {
  .body{
    font-size: 16px;
  }
  /* ---------------header */
  .header__nav{
    display:flex;
    flex-direction: row-reverse;
  }

  .header__navList{
    margin-top: 0;
  }
  .header__navListItem{
    margin-right: 16px;
  }

  .heroView__area{
    padding-top:50.877%;
    background-image:url(../images/heroBg_pc.png);
    margin-bottom: 44px;
  }

  /* -----------------contept */
  .concept__bg{
    padding-top: 56.32%;
    background-image: url(../images/conceptBg_pc.png)
  }

  /* ------------------menu */
  .menu__listItem .menu__name{
    font-size: 32px;
  }
  .menu__listItem .menu__price{
    font-size: 24px;
  }

  /* -----------------access */
  .gMap-area{
    padding-top: 41%;
  }
  /* ------------contact */
  .contact__iconList{
    width: 36%;
  }
  .contact__iconListItem-middle{
    margin: 0;
  }
}
/* --------------------------------tab/PC */
@media screen and (min-width:1023px){
  .body{
    font-size: 18px;
  }
  a[href^="tel:"] {
  pointer-events: none;
}
  .headline{
    font-size: 64px;
  }
  /* -------------heroView */
  .heroView__area{
    margin-bottom: 88px;
  }
  .heroView__area .hero__logo{
    max-width: inherit;
  }

  .concept__cnt{
    display: flex;
    flex-direction:column;
    align-items: center;
    left: 0;
    right: 0;
    margin: auto;
  }

  /* ---------------menu */
  .menu__list{
    padding: 0 0;
    max-width: 660px;
    margin: 48px auto 0;
  }
  .menu__listItem .menu__name span.menu_smallTxt{
    font-size: 16px;
  }

  /* -----------------access */
  .sect__access{
    padding: 0 3.66%;
  }

  /* -----------------contact */
  .contact__area{
    display: flex;
    width: 50%;
    max-width: 700px;
    margin:80px auto;
    justify-content: center;
    align-items: center;
  }
  .contact__txtArea{
    margin:0 0 0 12%;
    text-align: left;
  }
  .contact__iconList{
    max-width: 320px;
  }
}
