@charset "UTF-8";
/*=======================================
　main_ttl
=======================================*/
.main_ttl {
  height: 30.25vw;
  background-image: none;
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .main_ttl {
    height: 34.8vw;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 768px) {
  .main_ttl h1 .jp {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .main_ttl h1 .en {
    font-size: 16px;
  }
}

/*=======================================
ttl_area
=======================================*/
.ttl_area {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .ttl_area {
    margin-bottom: 24px;
  }
}
.ttl_area .sttl_02 {
  font-family: "Marcellus", serif;
  letter-spacing: 0.2em;
  font-size: 40px;
  margin-bottom: 25px;
}
@media screen and (max-width: 1400px) {
  .ttl_area .sttl_02 {
    font-size: clamp(20px, 2.8571428571vw, 40px);
  }
}
@media screen and (max-width: 768px) {
  .ttl_area .sttl_02 {
    font-size: 20px;
    margin-bottom: 12px;
  }
}
.ttl_area p {
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ttl_area p {
    font-size: 12px;
  }
}

.mv {
  margin-top: 96px;
}
.mv .mv_item img {
  width: 100%;
}
.concept_sec {
  background: #000 url(../img/nikushokudo/concept_img01.jpg) no-repeat center/cover;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 900px;
}
.concept_sec .inner {
  margin-bottom: 35px;
  text-shadow: 0 0 10px rgba(0,0,0,.5);
}
.concept_sec .inner .ttl {
  font-size: 20px;
  margin-bottom: 100px;
  font-family: "Marcellus", serif;
  color: #a6a6a6;
}
.concept_sec .inner strong {
  display: block;
  font-size: 22px;
  margin-bottom: 70px;
  line-height: 1.7;
}
.concept_sec .inner p {
  margin-top: 30px;
  font-size: 14px;
  line-height: 2;
}
@media screen and (max-width: 1390px) {
  .concept_sec {
    height: 64.75vw;
  }
}
@media screen and (max-width: 1000px) {
  .concept_sec {
    height: 650px;
  }
}
@media screen and (max-width: 768px) {
  .concept_sec {
    background: #000 url(../img/nikushokudo/concept_img01.jpg) no-repeat center right 8%/cover;
  }
  .concept_sec .inner .ttl {
    margin-bottom: 15%;
  }
  .concept_sec .inner strong {
    margin-bottom: 10%;
  }
  .concept_sec .inner p {
    margin-top: 5%;
  }
}
@media screen and (max-width: 500px) {
  .concept_sec {
    height: auto;
    padding: 10% 0;
  }
}
.img_area {
  padding: 100px 0;
}
.img_area .btn {
  color: #fff;
  max-width: 400px;
  width: 90%;
  background: #000;
  height: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 100px auto 0;
  font-size: 18px;
  letter-spacing: .2em;
}
.img_area .swiper {
  position: relative;
}
.img_area .swiper .swiper-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5%;
  margin: auto;
  width: 20px;
  height: 50px;
  background: url(../img/nikushokudo/icon_arrow.svg) no-repeat center/contain;
  z-index: 2;
  cursor: pointer;
}
.img_area .swiper .swiper-arrow.swiper-next {
  left: auto;
  right: 5%;
  transform: scale(-1,1);
}
.shop_area .inner {
  padding: 100px 0;
  max-width: 1100px;
}
.shop_area .inner .shop_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.shop_area .inner .shop_list ul li {
  width: 45%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}
.shop_area .inner .shop_list ul li:nth-child(n+3) {
  margin-top: 50px;
}
.shop_area .inner .shop_list ul li .image {
  width: 40.5%;
}
.shop_area .inner .shop_list ul li .text {
  width: 55.5%;
  position: relative;
  padding-bottom: 25px;
}
.shop_area .inner .shop_list ul li .text .label {
  display: block;
  max-width: 180px;
  width: 100%;
  margin-bottom: 5px;
  margin-left: 5px;
}
.shop_area .inner .shop_list ul li .text .name {
  font-size: 22px;
  display: block;
  margin-bottom: 20px;
}
.shop_area .inner .shop_list ul li .text div {
  font-size: 14px;
  line-height: 1.5;
}
.shop_area .inner .shop_list ul li .text div p {
  margin-bottom: 5px;
}
.shop_area .inner .shop_list ul li .text .google {
  font-size: 14px;
  display: block;
  border-bottom: 1px solid #000;
  text-align: right;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  padding-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .shop_area .inner .shop_list ul li {
    margin-top: 5%;
    width: 100%;
  }
  .shop_area .inner .shop_list ul li .image {
    width: 30%;
  }
  .shop_area .inner .shop_list ul li .text {
    width: 65%;
  }
}