html {
  font-size: calc((100 / 750) * 1vw);
  font-family: sans-serif;
}
@media screen and (min-width: 750px) {
  html {
    font-size: 1px;
  }
}
.l-container {
  max-width: 750px;
  margin: 0 auto;
  overflow: hidden;
}
.flex-column {
  display: flex;
  flex-direction: column;
}
.flex-column-center {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.full-width-img {
  width: 750rem;
}
.not_full-width-img {
  width: 710rem;
}
section {
  position: relative;
  width: 750rem;
}
section_01 {
  position: relative;
  width: 750rem;
  padding: 40rem;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
a img {
  transition: transform 0.3s;
}
a:hover img {
  transform: scale(1.04);
}

.fv_logo {
  width: 121rem;
  margin: 12rem 0;
}
.fv_wrap {
  position: relative;

  video {
    width: 750rem;
  }
}
.fv {
  position: absolute;
  top: 16rem;
}
.cta_btn_wrap {
  position: relative;
  padding-bottom: 80rem;
}
.cta_btn_amazonrakuten_wrap {
  position: relative;
  text-align: center;
  margin-bottom: 8rem;
}
.cta_btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 90rem;
  width: fit-content;
  margin: auto;

  img {
    width: 590rem;
  }
  &:hover {
    text-decoration: none;
    transform: translateY(3rem);
  }
}
.cta_btn_amazon {
  img {
    width: 320rem;
  }
  &:hover {
    text-decoration: none;
    transform: translateY(3rem);
  }
}
.cta_btn_rakuten {
  img {
    width: 320rem;
  }
  &:hover {
    text-decoration: none;
    transform: translateY(3rem);
  }
}
.img_2 {
  width: 675rem;
  margin: 33rem auto;
  display: flex;
}
.video_1 {
  width: 600rem;
}
.padding_1 {
  padding: 40px;
}
.section_a3 {
  background: url(../img/5.webp);
}
.section_a4 {
  background: url(../img/7.webp);
}
.slide {
  display: flex;
  flex-wrap: wrap;
  gap: 15rem;
  justify-content: center;
  width: 750rem;

  img {
    width: 750rem;
  }
}

.step-item-relative {
  position: relative;
}
.carousel-paginator {
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: absolute;
  top: calc(50% - 57rem);
}
.carousel-paginator .step-prev img {
  width: 39rem;
  cursor: pointer;
}
.carousel-paginator .step-next img {
  width: 39rem;
  float: right;
  cursor: pointer;
}
.mb-0 {
  margin-bottom: 0;
}
.mt-0 {
  margin-top: 0;
}
.toggleWrap {
  margin-bottom: 30rem;
  border-bottom: 1rem solid #d0d0d0;
}
.toggleHeader {
  position: relative;
  width: 750rem;
  height: 110rem;
  background-color: white;
  display: flex;
  padding-left: 90rem;
  align-items: center;
  margin: auto;
  font-weight: bold;
  cursor: pointer;
  border-color: #d0d0d0;
  border-width: 1rem;
  background-image: url(../img/Q.webp);
  background-size: 35rem 57rem;
  background-repeat: no-repeat;
  background-position-x: 30rem;
  background-position-y: 30rem;
  border-bottom: none;

  button {
    position: absolute;
    right: 30rem;
    width: 23rem;
    height: 23rem;
    background: url(../img/plus.webp);
    background-size: 30rem 30rem;
    background-repeat: no-repeat;
    background-position: center;
  }
  img {
    position: absolute;
    top: 22rem;
    left: 30rem;
    width: 23rem;
    height: 23rem;
  }  
}
.toggleHeader.open {
  button {
    background: url(../img/minus.webp);
    background-size: 30rem 4rem;
    background-repeat: no-repeat;
    background-position: center;
  }
}
.toggleContent {
  display: none;
  font-size: 21rem;
  width: 750rem;
  margin: auto;
  padding: 14rem 34rem 20rem;
  line-height: 40rem;
  transition-timing-function: ease-in-out;
  border: 1rem solid #d0d0d0;
  border-top: none;
  border-bottom: none;
}

.toggleContent a {
  color: #ff8c44;
}
.toggleTitle {
  font-size: 30rem;
  color: #005627;
}
.footerCopy {
    padding: calc(13 / 700* 100vw) 0 calc(11 / 700* 100vw);
    font-size: 14rem;
    font-weight: 300;
    color: #000;
    line-height: 1;
    text-align: center;
    background: #E1E1E1;
}
.footerLink {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 16rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}
.footerLink li {
    width: 100%;
    text-align: left;
    padding-top: 6%;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #000000;
    padding: 0;
}
.contact_btn {
  img {
    width: 750rem;
  }
  &:hover {
    text-decoration: none;
    transform: none;
    transition: none;
  }
}
/*====================
      商品詳細
====================*/
.product_box {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.4;
}
@media (min-width: 768px) {
    .product_box {
        width: 670rem;
        line-height: 1.5;
    }
}
.product_box .title {
    font-weight: bold;
    font-size: 14px;
}
@media (min-width: 768px) {
    .product_box .title {
        font-size: 16px;
    }
}
.product_box tbody, .product_box tr {
    border: 1rem solid #d0d0d0;
    font-size: 0.9rem;
    line-height: 1.7em;
}
.product_box th {
    width: 25%;
    border-bottom: 1rem solid #d0d0d0;
    border-right: 1rem solid #d0d0d0;
    padding: 3%;
    font-weight: bold;
    text-align: left;
    font-size: 12px;
    line-height: 1.3;
}
@media (min-width: 768px) {
    .product_box th {
        font-size: 15px;
    }
}
.product_box td {
    padding: 3%;
    font-size: 12px;
    line-height: 1.4;
}
@media (min-width: 768px) {
    .product_box td {
        font-size: 15px;
        padding: 3%;
    }
}

/*栄養成分表示*/
.fs90 {
    font-size: 90%;
}
.product_box dl {
    display: table;
    width: 100%;
    margin: auto;
    line-height: 1.3;
}
@media (min-width: 768px) {
    .product_box dl {
        line-height: 1.5;
    }
}
.product_box dl dt {
    flex-basis: auto;
    width: 40%;
    padding: .25em;
    display: table-cell;
}
@media (min-width: 768px) {
    .product_box dl dt {
        width: 22%;
    }
}
.product_box dl dd {
    flex-basis: auto;
    padding: .25em;
    display: table-cell;
}
.product_btn_wrap {
    display: flex;
    position: absolute;
    bottom: 22rem;
    left: 0;
    right: 0;
    margin: auto;
    justify-content: space-evenly;
    width: 710rem;
}
.qa_title {
    width: 342rem;
    justify-content: center;
    display: flex;
    margin: 100rem auto 40rem;
}
.banner img {
  width: 100%;
}
.mark-super-large {
  font-size: 50rem !important; 
}
.banner {
  display: none;
  position: fixed;
  z-index: 100;
  bottom: 0;
}