#fvContainer {
  width: 100%;
  height: 100vh;
  position: relative;
}

.fvTitle {
  width: 376px;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}

.fvTitle h1 {
  width: 100%;
}

.fvTitle h1 img {
  width: 100%;
  vertical-align: bottom;
}

.fvTitle p {
  margin-top: 15px;
  font-size: 16.2px;
  line-height: 1.8;
  text-align: right;
  letter-spacing: 0.5px;
}

.slick01 {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: -1;
}

.slick01 li {
  width: 100%;
  height: 100vh;
}

.slick01 li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes zoomUp {
  0% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.add-animation {
  animation: zoomUp 5s ease-in-out both;
}







#aboutContainer {
  width: 100%;
  height: 100vh;
  padding: 150px 0;
  box-sizing: border-box;
  background: url(../img/about1.jpg) center center / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

.aboutContents {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
  display: flex;
}

.aboutText {
  flex: 0 1 37.9%;
  margin-right: 50px;
  color: #fff;
}

.aboutText h2 img {
  width: 138.2px;
}

.aboutText p {
  margin-top: 15px;
}

.aboutImg {
  flex: 0 1 57%;
}

.aboutImg img {
  width: 100%;
  vertical-align: bottom;
}






#sceneContainer {
  width: 100%;
  height: 100vh;
  position: relative;
}

.slick02 {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: -1;
}

.slick02 li {
  width: 100%;
  height: 100vh;
}

.slick02 li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sceneText {
  width: 342px;
  position: absolute;
  top: 50%;
  left: calc(50% + 100px);
  transform: translateY(-50%);
}

.sceneText h2 {
  width: 133px;
}

.sceneText h2 img {
  width: 100%;
  vertical-align: bottom;
}

.sceneText p {
  margin-top: 25px;
}







#onlineshopBtnContainer {
  width: 90%;
  margin: 100px auto 180px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.onlineshopBtn {
  width: 320px;
  height: 50px;
  margin:  0 auto;
  border: 1px solid #000;
  box-sizing: border-box;
}

.onlineshopBtn a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.onlineshopBtn a img {
  width: 123px;
}







#ingredientContainer {
  width: 100%;
  position: relative;
}

.ingredientText {
  width: 90%;
  max-width: 487px;
  text-align: center;
  position: absolute;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
}

.ingredientText h2 {
  width: 266px;
  margin: 0 auto;
}

.ingredientText h2 img {
  width: 100%;
  vertical-align: bottom;
}

.ingredientText p {
  margin-top: 30px;
}

/* #ingredientContainer > img:first-of-type {
  width: calc(50% - 303px);
  position: absolute;
  top: -80px;
  right: 0;
}

#ingredientContainer > img:nth-of-type(2) {
  width: calc(43% - 303px);
  position: absolute;
  top: 200px;
  left: 7%;
}

#ingredientContainer > img:nth-of-type(3) {
  width: 17.8%;
  margin-top: 120px;
  margin-left: calc(50% + 100px);
} */

#ingredientContainer picture {
  width: 93%;
  display: block;
  margin: 0 0 0 auto;
  position: relative;
  z-index: -1;
}

#ingredientContainer picture img:first-of-type {
  width: 100%;
  vertical-align: bottom;
}






#cacaoContainer {
  width: 100%;
  margin-top: 200px;
  position: relative;
}

#cacaoContainer > img {
  width: 614.7px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.cacaoFadein {
  opacity : 0;
  filter: blur(10px);
  transition: opacity 1s, transform 1s, filter 2.5s;
}

.slick03, .slick04 {
  width: 100%;
}

.slick04 {
  margin-top: 20px;
}

.slick03 img, .slick04 img {
  width: 647px;
  margin-right: 26px;
}

/* slick不具合対応 */
.key-slider,
.slick-list,
.slick-track {
  height: 100%;
}







#chefContainer {
  width: 90%;
  max-width: 900px;
  margin: 230px auto 0;
  display: flex;
  justify-content: space-between;
}

.chefImg {
  width: 43.45%;
}

.chefImg img {
  width: 100%;
  vertical-align: bottom;
}

.chefText {
  width: 47.7%;
}

.chefText h2 {
  width: 108.1px;
}

.chefText h2 img {
  width: 100%;
  vertical-align: bottom;
}

.chefText p {
  margin-top: 30px;
}







#howtoContainer {
  width: 100%;
  margin: 200px 0 0;
  padding: 170px 0 170px;
  background: #000;
  color: #fff;
}

.howtoContents {
  width: 90%;
  max-width: 1060px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.howtoText {
  width: 45.9%;
  margin-right: 5%;
}

.howtoText h2 {
  width: 245.5px;
}

.howtoText h2 img {
  width: 100%;
  vertical-align: bottom;
}

.howtoText p {
  margin-top: 25px;
}

.howtoImg {
  width: 47.9%;
}

.howtoImg img {
  width: 100%;
  vertical-align: bottom;
}

#howtoContainer .onlineshopBtn {
  margin-top: 150px;
  border: 1px solid #fff;
}





/* comingsoon */
#csContainer {
  width: 100%;
  height: calc(100vh - 180px);
  display: flex;
  justify-content: center;
  align-items: center;
}


.cs {
  width: 315px;
}

.cs img {
  width: 100%;
  vertical-align: bottom;
}

.back {
  width: 320px;
  margin: 50px auto 0;
}

.back img {
  width: 100%;
  vertical-align: bottom;
}