/** Shopify CDN: Minification failed

Line 1401:0 Unexpected "}"

**/
.intro {
  padding: 6.66% 0;
  background: #fff;
}

.bgImg {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  opacity: 0;
}
.bgImg.bgImg01 {
  opacity: 1;
}
.bgImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media only screen and (min-width: 1400px) {
  .bgImg {
    background:var(--light-gray-blue);
  }
.bgImg img {
  width: auto;
  display:block;
  margin:0 auto;
  height: 100%;
  object-fit: cover;
}
}
.sectionWrap {
  display: flex;
  flex-flow: column;
  gap: 100vh;
}
.sectionWrap .section01 {
  margin-top: 100vh;
}
.sectionWrap > figure {
  width: 100%;
  padding: 8% 2%;
  background: #fff;
}

/* ------------------------------
	.fv
------------------------------ */
.content {
  position: relative;
}

.breadcrumb {
  position: absolute;
  z-index: 5;
  top: 54px;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .breadcrumb {
    padding-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .breadcrumb {
    top: 72px;
  }
}

.fv {
  background: #fff;
  padding-bottom: 96px;
}
@media only screen and (max-width: 767px) {
  .fv {
    padding-bottom: 14.8717948718vw;
  }
}
.fv .img_wrap {
  position: relative;
  pointer-events: none;
}
.fv .img_wrap .img {
  width: 100%;
}
.fv .img_wrap .img img {
  width: 100%;
}
.fv .img_wrap .fv_ttl {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0px;
  margin: auto;
  text-align: center;
  line-height: 1;
  font-size: 160px;
  font-weight: 300;
  letter-spacing: -0.02em;
  /*font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
}
@media only screen and (max-width: 767px) {
  .fv .img_wrap .fv_ttl {
    font-size: 16.4102564103vw;
  }
}
.fv .products_nav {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .fv .products_nav {
    margin-top: 4.6153846154vw;
  }
}
.fv .products_nav li {
  position: relative;
  list-style: none;
}
.fv .products_nav li + li {
  margin-left: 24px;
  padding-left: 24px;
}
@media only screen and (max-width: 767px) {
  .fv .products_nav li + li {
    margin-left: 4.1025641026vw;
    padding-left: 4.1025641026vw;
  }
}
.fv .products_nav li + li::before {
  position: absolute;
  top: 2px;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 1px;
  height: 18px;
  background: #B5B5B5;
}
@media only screen and (max-width: 767px) {
  .fv .products_nav li + li::before {
    top: 0.5128205128vw;
    height: 3.5897435897vw;
  }
}
.fv .products_nav li,
.fv .products_nav li a {
  display: block;
  text-align: center;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
@media only screen and (max-width: 767px) {
  .fv .products_nav li,
  .fv .products_nav li a {
    font-size: 5.641025641vw;
  }
}
.fv .products_nav li:not(.current) a {
  color: #B5B5B5;
}

.safari .fv .fv_ttl {
  bottom: -8px;
}
@media only screen and (max-width: 767px) {
  .safari .fv .fv_ttl {
    bottom: -0.7692307692vw;
  }
}
.safari .fv .products_nav li + li::before {
  top: 0;
}
@media only screen and (max-width: 767px) {
  .safari .fv .products_nav li + li::before {
    top: 0;
  }
}

/* ------------------------------
	.lead
------------------------------ */
.lead {
  background: #fff;
  padding-bottom: 96px;
}
@media only screen and (max-width: 767px) {
  .lead {
    padding-bottom: 16.4102564103vw;
  }
}
.lead .ttl {
  margin-bottom: 24px;
  text-align: center;
  font-weight: 300;
  font-size: 128px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.lead .ttl.text--small {
  font-size: 80px;
}
@media only screen and (max-width: 767px) {
  .lead .ttl {
    margin-bottom: 6.1538461538vw;
    font-size: 12.307692307692308vw;
  }
  .lead .ttl.text--small {
    font-size: 10.256410256410255vw;
  }
    .lead .ttl.text--ss-small {
    font-size: 7.456410256410255vw;
      line-height:1.4;
  }
}
.lead .txt {
  margin: 0 auto;
  text-align: center;
  font-size: 18px;
  /*max-width: 803px;*/
}
@media only screen and (max-width: 767px) {
  .lead .txt {
    /*max-width: 58.9743589744vw;*/
    font-size: 4.615384615384616vw;
  }
}

/* ------------------------------
	.spec
------------------------------ */
.spec .spec_cnt {
  margin-top: 100vh;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .spec .spec_cnt {
    margin-top: 0;
    margin-bottom: 0;
    height: 100%;
    filter: none !important;
  }
}
.spec_image_sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .spec_image_sp {
    display: block;
  }
}
.spec .info {
  padding: 36px 0 64px;
}
@media only screen and (max-width: 767px) {
  .spec .info {
    padding: 8.2051282051vw 0 16.4102564103vw;
  }
}
.spec .info .info_num {
  margin-bottom: 16px;
  text-align: center;
  font-size: 64px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1.2;
  font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  .spec .info .info_num {
    margin-bottom: 2.0512820513vw;
    font-size: 9.2307692308vw;
  }
}
.spec .info .info_txt {
  margin-bottom: 16px;
  text-align: center;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.01em;
  font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  .spec .info .info_txt {
    margin-bottom: 3.0769230769vw;
    font-size: 4.6153846154vw;
  }
}
.spec .info .info_ttl {
  margin-bottom: 16px;
  text-align: center;
  font-size: 80px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.02em;
  font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  .spec .info .info_ttl {
    margin-bottom: 4.1025641026vw;
    font-size: 10.256410256410255vw;
  }
}
.spec .info .info_ttl.text--small {
  font-size: 64px;
}
@media only screen and (max-width: 767px) {
  .spec .info .info_ttl.text--small {
    font-size: 9.230769230769232vw;
  }
}
.spec .info .txt {
  text-align: center;
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .spec .info .txt {
    font-size: 4.1025641026vw;
  }
}
.spec .info .txt span {
  font-size: 13px;
}
@media only screen and (max-width: 767px) {
  .spec .info .txt span {
     font-size: 2.564102564102564vw;
  }
}
.spec .info .function_cnt {
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt {
    margin-top: 8.2051282051vw;
  }
}
.spec .info .function_cnt .function_ttl {
  margin-bottom: 24px;
  text-align: center;
  font-size: 42px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.01em;
  font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_ttl {
    margin-bottom: 3.8461538462vw;
    font-size: 6.1538461538vw;
  }
}
.spec .info .function_cnt .function_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_wrap {
    display: block;
  }
}
.spec .info .function_cnt .function_box {
  position: relative;
  width: calc(33% - 20px);
}
@media only screen and (min-width: 768px) {
  .spec .info .function_cnt .function_box {
    max-width: 433px;
  }
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_box {
    width: 100%;
  }
}
.spec .info .function_cnt .function_box + .function_box {
  margin-left: 30px;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_box + .function_box {
    margin-left: 0;
    margin-top: 3.8461538462vw;
  }
}
.spec .info .function_cnt .function_box .bg_box {
  width: 100%;
  padding-top: 100%;
  border-radius: 50%;
  background: url(/cdn/shop/files/function_bg01.svg?v=1724047223) no-repeat center center;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_box .bg_box {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding: 0;
    background: url(/cdn/shop/files/function_bg01_sp.png?v=1724047228) no-repeat center center;
    background-size: 100% 100%;
  }
}
.spec .info .function_cnt .function_box .txt_box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_box .txt_box {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 51.2820512821vw;
    padding: 2.5641025641vw;
  }
}
.spec .info .function_cnt .function_box .txt_box .function_num {
  margin-bottom: 8px;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #636363;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_box .txt_box .function_num {
    margin-bottom: 2.0512820513vw;
    font-size: 3.5897435897vw;
  }
}
.spec .info .function_cnt .function_box .txt_box .txt {
  font-size: 21px;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_box .txt_box .txt {
    font-size: 4.6153846154vw;
  }
}
.spec .info .function_cnt .function_box .txt_box .txt span {
  font-size: 16px;
  line-height: 1.1;
}
@media only screen and (max-width: 767px) {
  .spec .info .function_cnt .function_box .txt_box .txt span {
    font-size: 2.8205128205128207vw;
  }
}
.spec .ingredients {
  background: var(--light-gray-blue);
  padding: 48px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients {
    padding: 6.1538461538vw 6.1538461538vw 5.1282051282vw;
    margin: 0 -4.1025641vw;
  }
}
.spec .ingredients .ttl {
  margin-bottom: 16px;
  text-align: center;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.01em;
  font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ttl {
    margin-bottom: 5.1282051282vw;
    font-size: 6.1538461538vw;
  }
}
.spec .ingredients .ttl + .txt {
  margin-bottom: 16px;
  text-align: center;
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ttl + .txt {
    margin-bottom: 5.1282051282vw;
    font-size: 4.1025641026vw;
  }
}
.spec .ingredients .ingredients_cnt {
  position: relative;
  padding: 36px;
  max-width: 1284px;
  margin: 0 auto;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt {
    padding: 8.2051282051vw 3.0769230769vw;
  }
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt + .ingredients_cnt {
    margin-top: -1.0256410256vw;
  }
}
.spec .ingredients .ingredients_cnt + .ingredients_cnt::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: calc(100% - 72px);
  height: 1px;
  background: #ccc;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt + .ingredients_cnt::before {
    width: calc(100% - 6.1538461538vw);
  }
}
.spec .ingredients .ingredients_cnt .ingredients_ttl {
  margin-bottom: 20px;
  text-align: center;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.01em;
  font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_ttl {
    margin-bottom: 5.1282051282vw;
    font-size: 4.6153846154vw;
  }
}
.spec .ingredients .ingredients_cnt .ingredients_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box + .ingredients_box {
    margin-top: 5.1282051282vw;
  }
}
.spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img {
  position: relative;
  width: 100%;
}
.spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img img {
    height: 100%;
    /*object-fit: cover;*/
  }
}
.spec .ingredients .ingredients_cnt .ingredients_wrap.col1 .ingredients_box .img img {
  max-width: 680px;
}
.spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img .img_cap {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 5px 11px;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #fff;
}
.spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img .img_cap span {
  display: block;
  padding: 3px 6px;
  background: linear-gradient(to bottom, #E962FF 0%, #93C5EC 100%);
  border-radius: 2px;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img .img_cap {
    padding: 0 2.0512820513vw 1.7948717949vw;
    font-size: 3.5897435897vw;
  }
  .spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img .img_cap span {
    padding: 1.2820512821vw 1.5384615385vw 0.2564102564vw;
    border-radius: 0.5128205128vw;
  }
}
.spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .txt_box {
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .txt_box {
    margin-top: 2.0512820513vw;
  }
}
.spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .txt_box .txt {
  text-align: center;
  font-size: 15px;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .txt_box .txt {
    font-size: 4.1025641026vw;
  }
}
.spec .ingredients .ingredients_cnt .ingredients_wrap.col2 .ingredients_box {
  width: calc(50% - 6px);
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col2 .ingredients_box {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col2 .ingredients_box + .ingredients_box {
    margin-left: 12px;
  }
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col2 .ingredients_box + .ingredients_box:nth-child(2n+1) {
    margin-left: 0;
  }
}
/*
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col2 .ingredients_box .img {
    height: 54.8717948718vw;
  }
}*/
.spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box {
  width: calc(33.3333% - 12px);
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box + .ingredients_box {
    margin-left: 18px;
  }
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box + .ingredients_box:nth-child(3n+1) {
    margin-left: 0;
  }
}
/*
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box .img {
    height: 33.8461538462vw;
  }
}*/
.spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box .txt_box {
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box .txt_box {
    margin-top: 2.0512820513vw;
  }
}
.spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box .txt_box .ttl {
  margin-bottom: 8px;
  text-align: center;
  font-size: 24px;
  letter-spacing: -0.01em;
  line-height: 1.1;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box .txt_box .ttl {
    margin-bottom: 1.0256410256vw;
    font-size: 5.641025641vw;
  }
}
.spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box .txt_box .txt {
  font-size: 15px;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .spec .ingredients .ingredients_cnt .ingredients_wrap.col3 .ingredients_box .txt_box .txt {
    font-size: 3.5897435897vw;
  }
}
.spec .spec_wrap {
  padding: 64px 0 96px;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap {
    padding: 8.2051282051vw 0 16.4102564103vw;
  }
}
.spec .spec_wrap .spec_box {
  width: 100%;
  padding: 48px;
  margin: 0 auto;
  background: var(--light-gray-blue);
}
@media only screen and (min-width: 768px) {
  .spec .spec_wrap .spec_box {
    max-width: 580px;
  }
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box {
    padding: 8.2051282051vw 8.9743589744vw;
  }
}
.spec .spec_wrap .spec_box .spec_ttl {
  padding-bottom: 16px;
  margin-bottom: 24px;
  border-bottom: 1px solid #ddd;
  text-align: center;
  font-size: 42px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.01em;
  font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .spec_ttl {
    padding-bottom: 6.1538461538vw;
    margin-bottom: 6.1538461538vw;
    font-size: 6.1538461538vw;
  }
}
.spec .spec_wrap .spec_box .txt_box + .txt_box {
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box + .txt_box {
    margin-top: 6.1538461538vw;
  }
}
.spec .spec_wrap .spec_box .txt_box .ttl {
  margin-bottom: 8px;
  text-align: center;
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #919191;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box .ttl {
    margin-bottom: 2.0512820513vw;
    font-size: 3.5897435897vw;
  }
}
.spec .spec_wrap .spec_box .txt_box .txt {
  text-align: center;
  font-size: 18px;
  color: #636363;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box .txt {
    font-size: 4.1025641026vw;
  }
}
.spec .spec_wrap .spec_box .txt_box .txt.spec_key_features {
  font-size: 16px;
  line-height: 1.1;
  margin-bottom: 4px;
}
.spec .spec_wrap .spec_box .txt_box .txt.spec_key_features:last-of-type {
  margin-bottom: 0;
}
.spec .spec_wrap .spec_box .txt_box .txt.spec_key_features span {
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.spec .spec_wrap .spec_box .txt_box .list .txt {
  list-style: none;
  color: #383838;
  font-size: 16px;
  line-height: 1.1;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box .list .txt {
    font-size: 4.1025641026vw;
    color: #636363;
  }
}
.spec .spec_wrap .spec_box .txt_box .list .txt + .txt {
  margin-top: 4px;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box .list .txt + .txt {
    margin-top: 2.5641025641vw;
  }
}
.spec .spec_wrap .spec_box .txt_box.dl_wrap {
  margin-bottom: -8px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box.dl_wrap {
    margin-bottom: -3.0769230769vw;
  }
}
.spec .spec_wrap .spec_box .txt_box .dl_box {
  position: relative;
  display: inline-block;
  padding-right: 25px;
  margin-bottom: 8px;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box .dl_box {
    padding-right: 6.4102564103vw;
    margin-bottom: 3.0769230769vw;
  }
}
.spec .spec_wrap .spec_box .txt_box .dl_box::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  content: "";
  display: block;
  width: 1px;
  height: 28px;
  background: #ddd;
  transform: rotate(15deg);
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box .dl_box::before {
    right: 2.5641025641vw;
    height: 7.1794871795vw;
  }
}
.spec .spec_wrap .spec_box .txt_box .dl_box:last-child {
  padding: 0;
}
.spec .spec_wrap .spec_box .txt_box .dl_box:last-child::before {
  display: none;
}
.spec .spec_wrap .spec_box .txt_box .dl_box .ttl {
  margin: 0;
  color: #636363;
}
.spec .spec_wrap .spec_box .txt_box .dl_box .txt {
  margin: 0;
  font-size: 16px;
  line-height: 1.1;
  color: #383838;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box .dl_box .txt {
    font-size: 4.1025641026vw;
  }
}
.spec .spec_wrap .spec_box .txt_box .dl_box .txt.dl_box_period {
  display: flex;
  align-items: center;
}
.spec .spec_wrap .spec_box .txt_box .dl_box .ico {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 2px;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .txt_box .dl_box .ico {
    width: 2.8205128205vw;
    height: 2.8205128205vw;
    margin-left: 0.5128205128vw;
  }
}
.spec .spec_wrap .spec_box .txt_box .dl_box .icon_moon {
  background: url(/cdn/shop/files/ico_moon.svg?v=1724047270) no-repeat center center;
  background-size: 100%;
}
.spec .spec_wrap .spec_box .txt_box .dl_box .icon_sun {
  background: url(/cdn/shop/files/icon_sun.svg?v=1725702148) no-repeat center center;
  background-size: 100%;
}
.spec .spec_wrap .spec_box .price_box {
  padding-top: 24px;
  margin-top: 24px;
  border-top: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .price_box {
    padding-top: 6.1538461538vw;
    margin-top: 6.1538461538vw;
  }
}
.spec .spec_wrap .spec_box .price_box .price_ttl {
  margin-bottom: 4px;
  text-align: center;
  font-size: 13px;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: #636363;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .price_box .price_ttl {
    margin-bottom: 1.0256410256vw;
    font-size: 3.5897435897vw;
  }
}
.spec .spec_wrap .spec_box .price_box .price_ttl .min_txt {
  margin-left: 0.25em;
  font-size: 11px;
  color: #919191;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .price_box .price_ttl .min_txt {
    font-size: 3.0769230769vw;
  }
}
.spec .spec_wrap .spec_box .price_box .price_txt {
  text-align: center;
  font-size: 16px;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .price_box .price_txt {
    font-size: 4.6153846154vw;
  }
}
.spec .spec_wrap .spec_box .price_box .price_txt .price_num {
  margin-right: 4px;
  font-size: 24px;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .price_box .price_txt .price_num {
    font-size: 5.641025641vw;
    margin-right: 1.0256410256vw;
  }
}
.spec .spec_wrap .spec_box .price_box .btn_box {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .price_box .btn_box {
    display: block;
    margin-top: 4.1025641026vw;
  }
}
.spec .spec_wrap .spec_box .price_box .btn_box.not_available_txt {
  position: relative;
}
.spec .spec_wrap .spec_box .price_box .btn_box.not_available_txt::after {
  content: "※Not available for sale in your region.";
  position: absolute;
  left: 60px;
  bottom: -30px;
  letter-spacing: 0;
  font-size: 11px;
  line-height: 1;
  color: #636363;
  font-weight: 300;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .price_box .btn_box.not_available_txt::after {
    position: relative;
    left: 0;
    bottom: 0;
    display: block;
    margin-top: 2.5641025641vw;
    font-size: 2.8205128205vw;
  }
}
@media only screen and (max-width: 767px) {
  .spec .spec_wrap .spec_box .price_box .btn_box .btn_item + .btn_item {
    margin-top: 1.0256410256vw;
  }
}
.spec .spec_wrap .spec_box .price_box .btn_box .btn_item.c_grd {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .spec .spec_wrap .spec_box .price_box .btn_box .btn_item:not(.c_grd) {
    flex-shrink: 0;
    width: 194px;
    margin-left: 4px;
  }
}
.spec .spec_wrap .spec_box .price_box .btn_box .btn_item:not(.c_grd) a {
  background: #fff;
}
.spec .spec_wrap .spec_box .price_box .btn_box .btn_item a {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  box-shadow: 2px 16px 24px rgba(0, 0, 0, 0.06);
}

.safari .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img .img_cap span {
  padding: 3px 6px;
}
@media only screen and (max-width: 767px) {
  .safari .ingredients .ingredients_cnt .ingredients_wrap .ingredients_box .img .img_cap span {
    padding: 0.7692307692vw 1.5384615385vw;
  }
}

/* ------------------------------
	.timeless_bloom
------------------------------ */
.timeless_bloom {
  position: relative;
  background: #fff;
}
.timeless_bloom .img {
  width: 100%;
}
.timeless_bloom .img img {
  width: 100%;
}
.timeless_bloom .txt_box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .timeless_bloom .txt_box {
   max-width: 87.78625954198473vw;
  }
}
.timeless_bloom .txt_box .ttl {
  margin-bottom: 24px;
  text-align: center;
  font-size: 128px;
  line-height: 1.1;
  font-weight: 300;
  letter-spacing: -0.02em;
  /*font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;*/
}
@media only screen and (max-width: 767px) {
  .timeless_bloom .txt_box .ttl {
    margin-bottom: 6.1538461538vw;
    font-size: 13.3333333333vw;
  }
}
.timeless_bloom .txt_box .subttl {
  font-size: 28px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.01em;
  margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
  .timeless_bloom .txt_box .subttl {
    font-size: 6.1538461538vw;
    margin-bottom: 6.153846153846154vw;
  }
}
.timeless_bloom .txt_box .txt {
  text-align: center;
  font-size: 18px;
}
@media only screen and (max-width: 767px) {
  .timeless_bloom .txt_box .txt {
    /*max-width: 87.78625954198473vw;*/
    font-size: 4.1025641026vw;
  }
}

/* ------------------------------
	.next_box
------------------------------ */
.next_box {
  position: relative;
  background: #fff;
}
.next_box .img {
  width: 100%;
}
.next_box .img img {
  width: 100%;
}
.next_box a {
  display: block;
}
.next_box .txt_box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 30px;
}
@media only screen and (max-width: 767px) {
  .next_box .txt_box {
    padding: 0 6.1538461538vw;
  }
}
.next_box .txt_box .txt {
  margin-bottom: 12px;
  color: #fff;
  font-size: 24px;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
@media only screen and (max-width: 767px) {
  .next_box .txt_box .txt {
    margin-bottom: 1.5384615385vw;
    font-size: 5.641025641vw;
  }
}
.next_box .txt_box .ttl {
  color: #fff;
  font-size: 120px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.02em;
  /*font-family: YakuHanJP, "ivyora-display", "Gilda Display", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
}
@media only screen and (max-width: 767px) {
  .next_box .txt_box .ttl {
    font-size: 14.358974359vw;
  }
}

/* ------------------------------
	.lineup
------------------------------ */
.lineup {
  padding-bottom: 160px;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .lineup {
    padding-bottom: 25.641025641vw;
  }
}
.lineup .lineup_list {
  max-width: 1380px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 20px;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list {
    grid-template-columns: 1fr;
    gap: 14.358974359vw 0;
  }
}
.lineup .lineup_list .lineup_item {
  list-style: none;
}
.lineup .lineup_list .lineup_item .img {
  position: relative;
  width: 100%;
  padding-top: 100%;
/*  padding-top: 72.7%;*/
  overflow: hidden;
}
.lineup .lineup_list .lineup_item .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lineup .lineup_list .lineup_item .ttl_wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .ttl_wrap {
    margin-top: 4.1025641026vw;
  }
}
.lineup .lineup_list .lineup_item .ttl {
  font-size: 24px;
  letter-spacing: -0.01em;
  line-height: 1.1;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .ttl {
    font-size: 5.641025641vw;
  }
}
.lineup .lineup_list .lineup_item .price_txt {
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.1;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .price_txt {
    margin-top: 1.0256410256vw;
    font-size: 4.1025641026vw;
  }
}
.lineup .lineup_list .lineup_item .review_box {
  flex-shrink: 0;
  margin-left: 5px;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .review_box {
    margin-left: 1.2820512821vw;
  }
}
.jdgm-prev-badge__stars,
.jdgm-prev-badge__text {
  display: block;
  text-align: center;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.jdgm-prev-badge__text {
  color: #919191;
}
.jdgm-prev-badge__text:before {
  content: "(";
}
.jdgm-prev-badge__text:after {
  content: ")";
}
.jdgm-star.jdgm--on:before {
  font-family: 'JudgemeStar' !important;
}
.lineup .lineup_list .lineup_item .review_star,
.lineup .lineup_list .lineup_item .review_txt {
  text-align: center;
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .review_star,
  .lineup .lineup_list .lineup_item .review_txt {
    font-size: 2.8205128205vw;
  }
}
.lineup .lineup_list .lineup_item .review_star {
  color: #636363;
}
.lineup .lineup_list .lineup_item .review_txt {
  color: #919191;
}

.lineup .lineup_list .lineup_item .limited_txt {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.02em;
  margin-top: 8px;
  display: flex;
  align-items: center;
}
.lineup .lineup_list .lineup_item .limited_txt span {
  background: #EFF4F6;
  padding: 2px 8px;
  margin-right: 8px;
  text-wrap: nowrap;
}

.lineup .lineup_list .lineup_item .txt {
  padding-top: 6px;
  border-top: 1px solid rgba(56, 56, 56, 0.1);
  font-size: 18px;
  margin-top: 16px;
  font-weight: 300;
}
.lineup .lineup_list .lineup_item .txt.text--small {
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .txt {
    padding-top: 1.5384615385vw;
    margin-top: 4.1025641026vw;
    font-size: 4.1025641026vw;
  }
}
.lineup .lineup_list .lineup_item .btn_box {
  display: flex;
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .btn_box {
    margin-top: 4.1025641026vw;
  }
}
.lineup .lineup_list .lineup_item .btn_box.not_available_txt {
  position: relative;
}
.lineup .lineup_list .lineup_item .btn_box.not_available_txt::after {
  content: "※Not available for sale in your region.";
  position: absolute;
  left: 0;
  bottom: -24px;
  letter-spacing: 0;
  font-size: 11px;
  line-height: 1;
  color: #636363;
  font-weight: 300;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .btn_box.not_available_txt::after {
    bottom: -6.1538461538vw;
    font-size: 2.8205128205vw;
  }
}
.lineup .lineup_list .lineup_item .btn_item.c_grd {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .lineup .lineup_list .lineup_item .btn_item:not(.c_grd) {
    flex-shrink: 0;
    width: 93px;
    margin-left: 4px;
  }
}
@media only screen and (max-width: 767px) {
  .lineup .lineup_list .lineup_item .btn_item:not(.c_grd) {
    width: 100%;
    margin-left: 2.0512820513vw;
  }
}
.lineup .lineup_list .lineup_item .btn_item:not(.c_grd) a {
  background: #fff;
}
.lineup .lineup_list .lineup_item .btn_item.not_available {
  width: 100%;
  flex-shrink: 1;
  margin-left: 0;
}
.lineup .lineup_list .lineup_item .btn_item.not_available a {
  background: #EBEBEB;
  color: #636363;
  border: none;
}
.lineup .lineup_list .lineup_item .btn_item a {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.not_available_txt {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.02%;
  color: #636363;
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  .not_available_txt {
    font-size: 3.3333333333333335vw;
  }
}

@media only screen and (max-width: 767px) {
  .section07 .wrap {
    width: calc(100% - 8.2051282051vw);
  }
}
  
}
