body {
  scroll-behavior: smooth;
}

#bg {
  background: url(../img/bg2.png);
  background-size: cover;
}

.hero {
  width: 100%;
  height: 700px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#slideContainer {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  transform: rotate(180deg);
}

.exWrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  overflow: hidden;
}

.exWrapper2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.animeWipe {
  height: 100%;
  width: 100%;
}

.slide {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
  pointer-events: none;
}

#hakubaSignX {
  width: 140px;
  position: absolute;
  top: 12%;
  right: 5%;
  z-index: 3;
  transform: rotate(180deg);
  transition: opacity 1s ease;
}

#ankersContainer {
  transform: translateY(-70px);
  width: 100%;
  z-index: 5;
}

.btn1,
.bgA {
  cursor: pointer;
  background-color: #378c3f;
}
.btn1:hover,
.bgA:hover {
  background-color: #378c3f !important;
}

.btn2,
.bgC {
  cursor: pointer;
  background-color: #FFAD0E;
}
.btn2:hover,
.bgC:hover {
  background-color: #FFAD0E !important;
}

.btn3,
.bgB {
  cursor: pointer;
  background-color: #f35c5c;
}
.btn3:hover,
.bgB:hover {
  background-color: #f35c5c !important;
}

.btn4,
.bgD {
  cursor: pointer;
  background-color: rgb(144, 192, 85);
}
.btn4:hover,
.bgD:hover {
  background-color: rgb(144, 192, 85) !important;
}

.bgA,
.bgB,
.bgC {
  color: #fff !important;
  border: none !important;
  border-radius: 0% !important;
}

.btn1,
.btn2,
.btn3,
.btn4 {
  text-align: center;
  height: 67px;
  position: relative;
  width: 25%;
}

#orderTitle {
  padding: 262px 0 0 0;
  font-family: Ten Mincho;
  font-style: normal;
  font-weight: normal;
  font-size: 2.8rem;
  line-height: 47px;
  text-align: center;
  letter-spacing: 0.203em;
  color: #000000;
  text-align: center;
  width: calc(73% + 60px);
  margin: 0 auto 92px;
}
#orderTitle span {
  display: inline-block;
}

.order {
  max-width: 1300px;
  padding: 7px 7px 10px;
  margin: 0 auto 70px;
  font-family: Noto Sans JP;
  font-style: normal;
  font-weight: normal;
  font-size: 2.6rem;
  line-height: 43px;
  letter-spacing: 0.1em;
  color: #000000;
  background: #ffffff;
  border: 3px solid #3b7b54;
}
.order a {
  font-family: Noto Sans JP;
  font-style: normal;
  font-weight: normal;
  font-size: 2.6rem;
  line-height: 43px;
  letter-spacing: 0.1em;
  color: #000000;
}
.order .nowrap {
  display: inline-block;
}
.order .small {
  font-size: 2rem;
}
.order .small a {
  font-family: Noto Sans JP;
  font-style: normal;
  font-weight: normal;
  font-size: 2rem;
  color: #000000;
}

.orderHead {
  transform: translateX(-7px);
}

.type {
  margin-top: 6px;
  cursor: pointer;
  padding: 0;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 60px;
  height: 60px;
}
.type:hover {
  line-height: 54px;
}

.typeA {
  color: white;
  background-color: #378B3F;
  border: none;
}
.typeA:hover {
  background-color: white;
  border: solid 3px #378B3F;
  color: #378B3F;
}

.typeB {
  color: white;
  background-color: #F35C5B;
  border: none;
}
.typeB:hover {
  background-color: white;
  border: solid 3px #F35C5B;
  color: #F35C5B;
}

.typeC {
  color: white;
  background-color: #FFAD0E;
  border: none;
}
.typeC:hover {
  background-color: white;
  border: solid 3px #FFAD0E;
  color: #FFAD0E;
}

.typeD {
  color: white;
  background-color: rgb(144, 192, 85);
  border: none;
}
.typeD:hover {
  background-color: white;
  border: solid 3px rgb(144, 192, 85);
  color: rgb(144, 192, 85);
}

#trigger2 {
  display: inline-block;
  width: 100%;
}

#ankers {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  margin: auto;
}
#ankers img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 80%;
  max-height: 90%;
  max-width: 90%;
  object-fit: contain;
}
#ankers img:hover {
  opacity: 0.6;
}

.h2 {
  margin-top: 10px;
  margin-bottom: calc(40px + 2vw);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.h2 h2 {
  width: 600px;
  position: relative;
}

.exSpace {
  margin-top: 50px;
}

.h2Title {
  width: 100%;
}

.productContainer {
  width: calc(73% + 30px * 2);
  margin: auto;
}

.p1 {
  position: relative;
}

.p2 {
  position: relative;
  padding-top: 30px;
}

.p3 {
  position: relative;
  padding-top: 30px;
}

.p4 {
  position: relative;
  padding-top: 30px;
}

#dlink1,
#dlink2,
#dlink3,
#dlink4 {
  position: absolute;
  top: 0;
  transform: translateY(-160px);
}

.drawingP {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-100%, -13%);
  width: 150px;
}

.drawingP2 {
  transform: translate(-100%, -13%) rotate(18deg);
}

.drawingP3 {
  transform: translate(-100%, -13%) rotate(-16deg);
}

.cardP {
  position: relative;
  max-height: 450px;
  width: calc((100% - 120px) / 3);
}

.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9990;
  opacity: 0;
  visibility: hidden;
  transition: 0.6s;
}

.popup.is-show {
  opacity: 1;
  visibility: visible;
}

.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  cursor: pointer;
}

.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  height: 80vh;
  padding: 30px;
  max-width: 1000px;
  background-color: white;
  z-index: 9998;
  border-bottom: solid 100px white;
  overflow: scroll;
  overscroll-behavior: none;
}

.popup-inner img {
  width: 100%;
}

/* .back-popup-container{
  position:relative;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:80%;
  max-width:100px;
  height:80vh;
  z-index:1000;
} */
.back-popup {
  z-index: 9999;
  width: 220px;
  position: absolute;
  bottom: 13%;
  left: calc(50% - 110px);
  font-size: 1.5rem;
  text-align: center;
  color: #434343;
  padding: 5px 10px;
  border: solid 1px #434343;
  cursor: pointer;
  transition: 0.1s;
}
.back-popup:hover {
  color: white;
  background-color: #434343;
}

.orderP:nth-last-child(1) {
  transform: translateX(0%);
}
.orderP:nth-last-child(2) {
  transform: translateX(0%);
}

.cmnt {
  position: absolute;
  top: -10%;
  left: 0;
  width: 50%;
  z-index: 3;
  opacity: 0;
  transition: all 0.2s;
  pointer-events: none;
}

.imageContainer {
  width: 100%;
  overflow: hidden;
}

.productImage {
  width: 100%;
  transition: all 0.5s;
  cursor: pointer;
}
.productImage:hover {
  transform: scale(1.1);
}

.orderImg {
  cursor: default;
}
.orderImg:hover {
  transform: scale(1);
}

.mobileText {
  display: none;
}

h4 {
  margin-top: 7px;
  margin-bottom: 3px;
  font-size: 2.3rem;
  letter-spacing: 0.3rem;
  line-height: 120%;
  height: 55px;
  color: black;
  cursor: pointer;
  width: 120%;
}
h4:hover {
  opacity: 0.6;
}
h4 span {
  display: inline-block;
}

.orderProduct {
  cursor: default;
}
.orderProduct:hover {
  opacity: 1;
}

.productWrapper {
  width: 100%;
  padding-left: 16px;
  padding-right: 16px;
  margin-top: 45px;
  margin: auto;
  max-width: 1300px;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 80px;
  column-gap: 60px;
  justify-content: center;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .productWrapper {
    flex-wrap: wrap;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
    width: 100%;
    row-gap: 40px;
    column-gap: 16px;
    margin-bottom: 40px;
  }
}

.greenBox {
  border: 1px solid rgb(55, 140, 63);
}

.redBox {
  border: 1px solid #f35c5c;
}

.mealEx {
  width: 90%;
  margin: 0 auto 28px auto;
  position: relative;
  padding: 0 4% 45px 4%;
}
.mealEx p {
  font-size: 1.5rem;
  line-height: 23px;
  letter-spacing: 0.1rem;
  color: black;
}

.howto {
  display: flex;
  flex-direction: row;
}

.howtoeat {
  position: absolute;
  top: 0;
  left: 0;
  width: 218px;
}

.firstH6 {
  margin-top: 74px;
}

.greenH6,
.redH6,
.yellowH6 {
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 34px;
  margin-bottom: 7px;
}

.greenH6 {
  color: rgb(55, 140, 63);
}

.redH6 {
  color: #f35c5c;
}

.singleBorder {
  margin-top: 15px;
  margin-bottom: 15px;
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.5);
}

.bigCardContainer {
  width: 60%;
  min-width: 320px;
  max-width: 600px;
  height: 90vh;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 12;
  transition: opacity 0.4s;
}

.bgDarken {
  width: 100%;
  height: 100%;
  background-color: rgba(96, 96, 96, 0.571);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
}

.bigCard {
  background-color: #fff;
  max-width: 1400px;
  width: 100%;
  height: 100%;
  max-height: 80vh;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  position: relative;
  overflow: scroll;
}

.recipe {
  height: 84%;
  max-width: 100%;
  object-fit: contain;
  font-family: "object-fit: contain;";
  margin: 20px 0;
}

.cmnt2 {
  position: fixed;
  width: 150px;
  transform: translate(-80%, -80%) rotate(10deg);
  transform-origin: bottom;
  opacity: 0;
  z-index: 130;
}

.fadeAnime {
  transform: translate(-80%, -80%) rotate(0deg);
  transition: all 0.7s ease 1s;
  opacity: 1;
  z-index: 13;
}

.close {
  width: 90%;
  z-index: 7;
  padding: 5px 0;
  cursor: pointer;
  margin-bottom: 50px;
  border-radius: 0 !important;
}

.hakubaLogo {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 80px;
}

h5 {
  margin-top: 20px;
  font-size: 4rem;
  letter-spacing: 0.203em;
  position: relative;
  text-align: center;
}

.sentenceContainer {
  margin-top: 30px;
  margin-bottom: 50px;
  width: 90%;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
}

.sentence {
  width: 100%;
  font-size: 2rem;
  letter-spacing: 0.203em;
  line-height: 37px;
}

.meal {
  width: 100%;
  height: 30vh;
  object-fit: cover;
  object-position: center;
}

.productImageX img {
  padding-right: 20px;
  width: 100%;
}
.productImageX p {
  font-size: 1.6rem;
}

.ankerMobile {
  display: none;
}

.mobileBr {
  display: none;
}

.seriesTitle {
  width: 100%;
}

@media (max-width: 1350px) {
  .order {
    font-size: 2.2rem;
    line-height: 36px;
  }
  .order a {
    font-size: 2.2rem;
    line-height: 36px;
  }
  .order .small {
    font-size: 1.7rem;
    line-height: 20px;
  }
  .order .small a {
    font-size: 1.7rem;
  }
}
@media (max-width: 780px) {
  .popup-inner {
    width: 95%;
    height: 60vh;
    padding: 10px;
    border-bottom: solid 85px white;
  }
  .back-popup {
    bottom: 22%;
  }
  .mobileBr {
    display: inline;
  }
  #orderTitle {
    padding: 164px 0 0 0;
    font-size: 2rem;
    margin: 0 auto 40px;
  }
  .order {
    font-size: 2rem;
    line-height: 30px;
  }
  .order a {
    font-size: 2rem;
    line-height: 30px;
  }
  .order .small {
    font-size: 1.4rem;
  }
  .order .small a {
    font-size: 1.4rem;
  }
}
@media (max-width: 500px) {
  #orderTitle {
    padding: 164px 0 0 0;
    font-size: 1.7rem;
  }
  .order {
    font-size: 1.7rem;
  }
  .order a {
    font-size: 1.7rem;
  }
  #ankers img {
    height: 54%;
    width: auto !important;
  }
  .howtoeat {
    width: 165px;
  }
}
.fvSlider {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .fvSlider {
    width: 100%;
  }
}

.fvSliderSlide {
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translate(0%, -50%);
  width: 100%;
  height: 100%;
  transition: all 1s ease;
  opacity: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  overflow: hidden;
}
.fvSliderSlide.-active {
  transform: translate(0%, -50%);
  opacity: 1;
}

.fvSliderImg {
  width: 110%;
  min-width: 110vw;
  object-fit: cover;
  min-height: 100vh;
  max-height: 100vh;
  transition: all 6s linear;
  transform: translateX(0%);
  height: 100%;
}
.fvSliderImg.-active {
  transform: translateX(10%);
}
@media (max-width: 767px) {
  .fvSliderImg {
    min-height: auto;
    max-height: auto;
  }
}