@charset "UTF-8";
@keyframes fadeIn {
  0% {
    opacity: 0; }
  1% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translateZ(1px); } }
@keyframes fadeInMove {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    top: 30px;
    opacity: 0; }
  100% {
    display: block;
    top: 0;
    opacity: 1; } }
.l-main {
  border-bottom: 1px solid #c8c8c8; }
  @media screen and (min-width: 768px) {
    .l-main {
      min-width: 1200px; } }

.l-main > section,
.l-main > article,
.l-main > div {
  opacity: 0;
  position: relative;
  top: 30px;
  transition-duration: .6s;
  transition-delay: .2s;
  transition-timing-function: ease-in-out; }

.l-main > section.is-animate,
.l-main > article.is-animate,
.l-main > div.is-animate {
  opacity: 1;
  top: 0; }

@media screen and (min-width: 768px) {
  .pc-none {
    display: none; } }
@media screen and (max-width: 767px) {
  .pc-none {
    display: block; } }

@media screen and (min-width: 768px) {
  .sp-none {
    display: block; } }
@media screen and (max-width: 767px) {
  .sp-none {
    display: none; } }

/*
* .entrance
*/
.entrance {
  width: 100%;
  opacity: 0; }
  @media screen and (min-width: 768px) {
    .entrance {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: center;
      /*height: 46.875vw;*/
      margin-bottom: 161px;
      border-bottom: 1px solid #c8c8c8; } }
  @media screen and (max-width: 767px) {
    .entrance {
      margin-bottom: 10vw; } }

.entrance.is-animate {
  animation: fadeIn .6s ease-in-out 0s 1 normal forwards; }

@media screen and (min-width: 768px) {
  .ontime .entrance {
    border-bottom: 100px; } }

.entrance--picture,
.entrance__description {
  height: 100%; }

@media screen and (min-width: 768px) {
  .entrance--picture {
    width: 50vw;
    height: auto; } }
@media screen and (max-width: 767px) {
  .entrance--picture {
    margin-bottom: 3vw;
    /*border-bottom: 1px solid #f2f2f2;*/ } }
@media screen and (min-width: 751px) and (max-width: 1200px) {
  .entrance--picture {
    width: 600px; } }
@media screen and (max-width: 767px) {
  .entrance--picture {
    width: 100%;
    height: 124.8vw; } }

.entrance--picture picture,
.entrance--picture img {
  width: 100%;
  height: 100%; }

.entrance__description {
  display: flex;
  flex-flow: column;
  box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .entrance__description {
      justify-content: center;
      align-items: flex-start;
      padding-left: 3.8vw; } }
  @media screen and (max-width: 767px) {
    .entrance__description {
      justify-content: center;
      align-items: center; } }

.entrance--title {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.09em; }
  @media screen and (min-width: 768px) {
    .entrance--title {
      margin-bottom: 2.34375vw;
      font-size: 2.1875vw;
      line-height: 1.7;
      width: 400px; } }
  @media screen and (max-width: 767px) {
    .entrance--title {
      width: 84.53334vw;
      margin: 0 auto 4vw;
      font-size: 5.33334vw;
      line-height: 1.3;
      text-align: center;
      max-width: 768px; } }
  .entrance--title span {
    text-transform: uppercase; }

.entrance--name {
  font-family: "Noto Serif JP", serif; }
  @media screen and (min-width: 768px) {
    .entrance--name {
      margin-bottom: 2.3vw;
      font-size: 1.5625vw;
      letter-spacing: .11em;
      line-height: 1.4; } }
  @media screen and (max-width: 767px) {
    .entrance--name {
      text-align: center;
      margin-bottom: 3.5vw;
      font-size: 3.73334vw;
      line-height: 1.5em;
      letter-spacing: 0.06em; } }

@media screen and (min-width: 768px) {
  .entrance--limited {
    margin: 0 0 1vw .2vw;
    font-size: 1.015625vw;
    letter-spacing: .15em; } }
@media screen and (min-width: 751px) and (max-width: 1200px) {
  .entrance--limited {
    font-size: clamp(11px, 1.015625vw, 1000px); } }
@media screen and (max-width: 767px) {
  .entrance--limited {
    margin-bottom: 3.4vw;
    font-size: 3.2vw;
    letter-spacing: .11em; } }

.entrance--price {
  font-family: "Noto Serif JP", serif; }
  @media screen and (min-width: 768px) {
    .entrance--price {
      margin: 0 0 2vw .2vw;
      letter-spacing: .15em;
      font-size: 1.015625vw; } }
  @media screen and (min-width: 751px) and (max-width: 1200px) {
    .entrance--price {
      font-size: clamp(12.2604px, 1.015625vw, 1000px); } }
  @media screen and (max-width: 767px) {
    .entrance--price {
      margin-bottom: 3.4vw;
      font-size: 3.2vw;
      letter-spacing: .11em; } }

.entrance__icon {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start; }
  @media screen and (min-width: 768px) {
    .entrance__icon {
      margin-left: .4vw; } }

.entrance__icon li {
  border: 1px solid #c8c8c8;
  color: #878782;
  font-family: "Poppins", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .entrance__icon li {
      max-width: 5.46875vw;
      margin-left: 0.78125vw;
      padding: 0 .703125vw;
      font-size: 0.859375vw;
      line-height: 1.40625vw; } }
  @media screen and (max-width: 767px) {
    .entrance__icon li {
      max-width: 18.93334vw;
      margin-left: 3vw;
      padding: 0 2.66667vw;
      font-size: 2.66667vw;
      line-height: 4.8vw; } }
  .entrance__icon li:first-child {
    margin-left: 0; }

/*
* .prod
*/
.prod {
  background-color: #ffffff; }
  @media screen and (min-width: 768px) {
    .prod {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      align-items: center;
      width: 1000px;
      margin: 0 auto 116px; } }
  @media screen and (max-width: 767px) {
    .prod {
      margin-bottom: 23vw; } }

@media screen and (min-width: 768px) {
  .detail + .prod {
    margin-bottom: 138px; } }
@media screen and (max-width: 767px) {
  .detail + .prod {
    margin-bottom: 23.4vw; } }

@media screen and (min-width: 768px) {
  .prod--picture {
    margin: 0 110px 0 52px; } }
@media screen and (max-width: 767px) {
  .prod--picture {
    width: 56vw;
    margin: 0 auto 2.6vw; } }

@media screen and (max-width: 767px) {
  .prod__description {
    text-align: center; } }

@media screen and (min-width: 768px) {
  .ontime .prod__description {
    padding-top: 60px; } }

@media screen and (min-width: 768px) {
  .prod--copy {
    margin-bottom: 43px;
    font-size: .875rem;
    letter-spacing: .07em; } }
@media screen and (max-width: 767px) {
  .prod--copy {
    margin-bottom: 5vw;
    font-size: 3.733334vw;
    letter-spacing: .07em;
    line-height: 1.5; } }

@media screen and (min-width: 768px) {
  .prod--name {
    margin-bottom: 9px;
    font-size: 1rem;
    letter-spacing: .09em;
    line-height: 28px; } }
@media screen and (max-width: 767px) {
  .prod--name {
    margin-bottom: 3vw;
    font-size: 4.26667vw;
    line-height: 26px; } }

@media screen and (min-width: 768px) {
  .prod--price {
    margin-bottom: 36px; } }
@media screen and (max-width: 767px) {
  .prod--price {
    margin-bottom: 7vw;
    font-size: 3.73334vw; } }

@media screen and (min-width: 768px) {
  .ontime .prod--price {
    margin-bottom: 72px; } }
@media screen and (max-width: 767px) {
  .ontime .prod--price {
    margin-bottom: 8.8vw; } }

.prod--limited {
  border: 1px solid #878782;
  box-sizing: border-box;
  color: #878782;
  text-align: center;
  box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .prod--limited {
      width: 182px;
      margin-bottom: 31px;
      padding: 4px 0;
      border-radius: 15px;
      font-size: .75rem;
      letter-spacing: .16em; } }
  @media screen and (max-width: 767px) {
    .prod--limited {
      width: 45.86667vw;
      margin: 0 auto 8vw;
      padding: 1vw 0;
      border-radius: 2.4vw;
      font-size: 3.2vw;
      letter-spacing: .1em; } }

@media screen and (min-width: 768px) {
  .cart-in {
    margin-bottom: 20px; } }
@media screen and (max-width: 767px) {
  .cart-in {
    margin-bottom: 5vw; } }

.cart-in a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  background-color: #878782;
  box-sizing: border-box;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
  @media screen and (min-width: 768px) {
    .cart-in a {
      width: 380px;
      height: 50px;
      border-radius: 2px;
      font-size: 1.125rem; } }
  @media screen and (max-width: 767px) {
    .cart-in a {
      width: 80vw;
      border-radius: .53334vw;
      /*padding: 3.6vw 0;*/
      margin: 0 auto; } }
  .cart-in a:hover {
    color: #fff;
    background-color: #c8c8c8; }

.cart-in.reserve a {
  font-weight: bold; }
  @media screen and (max-width: 767px) {
    .cart-in.reserve a {
      padding: 0.5vw 0; } }

.l-main .cart-in a svg,
.l-main .cart-in a img {
  fill: #fff;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
  @media screen and (min-width: 768px) {
    .l-main .cart-in a svg,
    .l-main .cart-in a img {
      width: 30px;
      height: 30px; } }
  @media screen and (max-width: 767px) {
    .l-main .cart-in a svg,
    .l-main .cart-in a img {
      width: 7.46667vw;
      height: 7.46667vw;
      padding-right: 1.2vw; } }

.cart-in a:hover svg,
.cart-in a:hover img {
  fill: #fff; }

@media screen and (max-width: 767px) {
  .prod__notes {
    margin: 0 10vw; } }

.prod__notes li {
  padding-left: 1em;
  color: #878782;
  text-indent: -1em; }
  @media screen and (min-width: 768px) {
    .prod__notes li {
      font-size: .6875rem;
      letter-spacing: -0.3px;
      line-height: 1.8; } }
  @media screen and (max-width: 767px) {
    .prod__notes li {
      font-size: 2.66667vw;
      text-align: left;
      letter-spacing: .04em;
      line-height: 2; } }

.prod__notes li:before {
  content: "※"; }

.prod__notes li a {
  color: #878782;
  text-decoration: underline;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.prod__notes li a:hover {
  opacity: .5; }

/*
* .anchor
*/
@media screen and (min-width: 768px) {
  .anchor {
    margin-bottom: 88px; } }
@media screen and (max-width: 767px) {
  .anchor {
    margin-bottom: 13vw; } }

.anchor--copy {
  color: #3C3C3C;
  font-family: "Noto Serif JP", serif;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .anchor--copy {
      margin-bottom: 40px;
      font-size: 1.5rem;
      line-height: 1.8;
      letter-spacing: 0.02em; } }
  @media screen and (max-width: 767px) {
    .anchor--copy {
      margin: 10.4vw 0;
      font-size: 5.33334vw;
      line-height: 1.6; } }

.anchor__col {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .anchor__col {
      width: 680px;
      padding-right: 7px; } }
  @media screen and (max-width: 767px) {
    .anchor__col {
      width: 340px; } }

.anchor__col-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  align-items: baseline; }
  @media screen and (min-width: 768px) {
    .anchor__col-inner {
      width: 100%; } }
  @media screen and (max-width: 767px) {
    .anchor__col-inner {
      justify-content: center;
      width: 86.93334vw;
      gap: 4vw; } }

.anchor--category {
  order: 3;
  border: 1px solid #e7e5e6;
  text-align: center;
  box-sizing: border-box;
  background-color: #deebf7; }
  @media screen and (min-width: 768px) {
    .anchor--category {
      width: 100px;
      margin: 0 75px;
      padding: 7px 0;
      font-size: .75rem;
      border-radius: 2px; } }
  @media screen and (max-width: 767px) {
    .anchor--category {
      width: 18.66667vw;
      margin: 0 5.86667vw;
      padding: 1vw 0;
      font-size: 2.4vw; } }

.anchor--prod {
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
  @media screen and (min-width: 768px) {
    .anchor--prod {
      flex: 1;
      max-width: 200px;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      margin-bottom: 32px;
      cursor: pointer; } }
  @media screen and (max-width: 767px) {
    .anchor--prod {
      /*width: 25.733334vw;*/
      flex: 0 0 90%;
      margin-bottom: 4vw;
      width: 160px; }
      .anchor--prod:nth-child(2), .anchor--prod:nth-child(3) {
        flex: 0 0 45%; } }
  .anchor--prod:hover {
    opacity: .6; }

.anchor--prod img {
  display: block;
  margin-bottom: 0px; }
  @media screen and (max-width: 767px) {
    .anchor--prod img {
      width: 24px !important;
      height: 200px !important; } }

.anchor--prod p {
  margin-top: 10px;
  line-height: 1.5; }
  @media screen and (max-width: 767px) {
    .anchor--prod p {
      font-size: 14px; } }

.anchor--prod:after {
  display: block;
  margin: 0 auto;
  background: url("../images/anchor_arrow.svg") no-repeat 50% 0;
  background-size: 100% auto;
  content: ""; }
  @media screen and (min-width: 768px) {
    .anchor--prod:after {
      width: 18px;
      height: 12px;
      margin-top: 12px; } }
  @media screen and (max-width: 767px) {
    .anchor--prod:after {
      width: 2.66667vw;
      height: 1.86667vw;
      margin-top: 5.8vw; } }

.anchor--prod .caption {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center; }

.anchor--prod .label {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FCA4CC;
  font-size: 12px;
  padding: 4px 8px;
  margin-top: 15px;
  margin-bottom: 8px;
  min-height: 20px;
  width: 66px; }
  @media screen and (max-width: 767px) {
    .anchor--prod .label {
      width: 62px;
      height: 18px; } }

.anchor--prod .label.empty {
  background: transparent;
  padding: 4px 8px;
  min-height: 20px; }
  @media screen and (max-width: 767px) {
    .anchor--prod .label.empty {
      padding: 0;
      height: 0;
      min-height: 0;
      margin-top: 0; } }

.notice-box {
  margin: 40px auto 40px;
  width: 800px;
  height: 218px;
  border: 1px solid #C8C8C8;
  padding: 30px 175px 20px;
  box-sizing: border-box;
  background-color: #fff;
  line-height: 1.5; }
  @media screen and (max-width: 767px) {
    .notice-box {
      padding: 20px;
      width: 340px;
      height: 260px; } }

.notice-top {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #FCA4CC;
  padding: 0;
  height: 37px;
  font-size: 16px;
  box-sizing: border-box; }
  @media screen and (max-width: 767px) {
    .notice-top {
      flex-direction: column;
      width: 300px;
      height: 74px; } }

.notice-top .label {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FCA4CC;
  padding: 0 8px;
  width: 100px;
  height: 100%; }
  @media screen and (max-width: 767px) {
    .notice-top .label {
      width: 300px;
      padding: 0; } }

.notice-top .datetime {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  width: 350px;
  height: 100%; }
  @media screen and (max-width: 767px) {
    .notice-top .datetime {
      width: 300px; } }

.notice-item {
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  margin-top: 15px;
  margin-bottom: 20px;
  padding-left: 22px; }
  @media screen and (max-width: 767px) {
    .notice-item {
      font-size: 14px;
      padding-left: 0px; } }

.notice-item .first-line {
  flex: none; }
  @media screen and (max-width: 767px) {
    .notice-item .first-line {
      display: block; } }

.notice-item .rest-lines {
  display: inline-block;
  margin-left: 1em; }
  @media screen and (max-width: 767px) {
    .notice-item .rest-lines {
      display: block;
      margin-left: 0; } }

.notice-note {
  font-size: 11px; }
  @media screen and (max-width: 767px) {
    .notice-note {
      font-size: 10px; } }

/*
* .detail
*/
.detail {
  background-color: #fafafc; }
  @media screen and (min-width: 768px) {
    .detail {
      padding: 73px 0 60px; } }
  @media screen and (max-width: 767px) {
    .detail {
      padding: 12vw 4.8vw 2vw; } }

@media screen and (min-width: 768px) {
  .ontime .detail {
    margin-bottom: 100px; } }

.detail__title {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .detail__title {
      margin-bottom: 65px;
      font-size: 1.625rem;
      letter-spacing: .08em; } }
  @media screen and (max-width: 767px) {
    .detail__title {
      margin-bottom: 10vw;
      font-size: 4.8vw;
      letter-spacing: .05em; } }

.detail__inner {
  margin: 0 auto;
  background-color: #fff;
  box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .detail__inner {
      width: 1100px;
      margin-bottom: 19px;
      padding: 70px 150px 57px; } }
  @media screen and (max-width: 767px) {
    .detail__inner {
      margin-bottom: 4.26667vw;
      width: 90.66667vw;
      padding: 10.6667vw 0 0; } }

@media screen and (max-width: 767px) {
  .detail__item {
    margin-bottom: 9vw; } }

@media screen and (min-width: 768px) {
  .detail__item .item-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center; } }

.detail__description {
  order: 2; }
  @media screen and (min-width: 768px) {
    .detail__description {
      padding-top: 9px;
      width: 50%; } }
  @media screen and (max-width: 767px) {
    .detail__description {
      margin-bottom: 9.2vw;
      width: 100%; } }

@media screen and (min-width: 768px) {
  .detail--item-name {
    margin-bottom: 12px;
    font-size: 1rem;
    letter-spacing: .08em; } }
@media screen and (max-width: 767px) {
  .detail--item-name {
    margin-bottom: 3vw;
    text-align: center;
    font-size: 4.26667vw;
    letter-spacing: .08em;
    white-space: nowrap;
    line-height: 1.5em; } }

@media screen and (min-width: 768px) {
  .detail--item-type {
    margin-bottom: 35px;
    font-size: 1rem;
    letter-spacing: .08em; } }
@media screen and (max-width: 767px) {
  .detail--item-type {
    font-size: 4.26667vw;
    text-align: center;
    letter-spacing: .08em; } }
.detail--item-type span {
  color: #fff;
  text-align: center;
  background-color: #878782;
  margin-top: 10px; }
  @media screen and (min-width: 768px) {
    .detail--item-type span {
      display: inline-block;
      padding: 4.5px 10px;
      font-size: .6875rem;
      letter-spacing: .08em;
      vertical-align: 2px; } }
  @media screen and (max-width: 767px) {
    .detail--item-type span {
      display: table;
      min-width: 14.66667vw;
      width: auto;
      margin: 3.2vw auto 9vw;
      padding: 1vw 2.66667vw;
      font-size: 2.93334vw;
      letter-spacing: .14em;
      box-sizing: border-box; } }

@media screen and (max-width: 767px) {
  .detail--item-type02 {
    margin-top: 9vw !important; } }

.detail--item-copy {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .detail--item-copy {
      font-size: .875rem;
      line-height: 1.8;
      letter-spacing: .01em; } }
  @media screen and (max-width: 767px) {
    .detail--item-copy {
      font-size: 3.73334vw;
      line-height: 1.64286;
      text-align: center;
      letter-spacing: .06em;
      margin: 10px auto 5.4vw; } }

.detail--item-feature {
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .detail--item-feature {
      width: 75vw;
      margin-left: 4vw;
      padding: 0 4vw 0; } }

.detail--item-feature li {
  padding-left: 1.6em;
  text-indent: -1.6em; }
  @media screen and (min-width: 768px) {
    .detail--item-feature li {
      margin-top: 8px;
      font-size: .8125rem;
      line-height: 1.69231;
      letter-spacing: .08em; } }
  @media screen and (max-width: 767px) {
    .detail--item-feature li {
      margin-top: 1.2vw;
      font-size: 3.2vw;
      line-height: 1.8;
      letter-spacing: .04em; } }
  .detail--item-feature li:before {
    content: "○"; }
    @media screen and (min-width: 768px) {
      .detail--item-feature li:before {
        margin-right: 6px; } }
    @media screen and (max-width: 767px) {
      .detail--item-feature li:before {
        margin-right: 1.8vw; } }
  .detail--item-feature li:first-child {
    margin-top: 0; }

.detail__picture {
  order: 1;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .detail__picture {
      width: 50%; } }
  @media screen and (max-width: 767px) {
    .detail__picture {
      width: 100%;
      margin-bottom: 8.2vw; } }

.detail--item-picture {
  max-width: 30px; }
  @media screen and (min-width: 768px) {
    .detail--item-picture {
      margin: 0 auto; } }
  @media screen and (max-width: 767px) {
    .detail--item-picture {
      height: auto;
      margin: 0 auto 9.4vw;
      width: 23px; } }
  .detail--item-picture img {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .detail--item-picture img {
        margin-left: -42px; } }

.detail--item-capa {
  letter-spacing: .04em; }
  @media screen and (min-width: 768px) {
    .detail--item-capa {
      margin-bottom: 13px;
      font-size: .875rem; } }
  @media screen and (max-width: 767px) {
    .detail--item-capa {
      margin-bottom: 3vw;
      font-size: 3.73334vw;
      text-align: center; } }

.detail__usage {
  width: 1100px;
  margin: 80px auto;
  border: 1px solid #c8c8c8;
  box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .detail__usage {
      padding: 37px 45px 43px; } }
  @media screen and (max-width: 767px) {
    .detail__usage {
      width: 90.66667vw;
      margin: 60px auto;
      padding: 5.4vw 4vw 7vw; } }

.detail__usage .copy_txt {
  margin-bottom: 20px;
  font-size: .875rem;
  line-height: 1.8;
  letter-spacing: .15em;
  padding-left: 0px;
  text-align: justify; }

@media screen and (min-width: 768px) {
  .item1 .detail__usage {
    padding-right: 95px;
    padding-left: 95px; } }

.detail--usage-title {
  text-align: center; }
  @media screen and (min-width: 768px) {
    .detail--usage-title {
      margin-bottom: 27px;
      font-size: 1.125rem;
      letter-spacing: .08em; } }
  @media screen and (max-width: 767px) {
    .detail--usage-title {
      margin-bottom: 3.8vw; } }

@media screen and (min-width: 768px) {
  .detail__usage-list {
    width: 720px;
    margin: 0 auto; } }

.detail__usage-list li {
  padding-left: 1.4em;
  text-indent: -1.4em;
  letter-spacing: .04em; }
  @media screen and (min-width: 768px) {
    .detail__usage-list li {
      margin-top: 6px;
      font-size: .875rem;
      line-height: 1.2;
      /*hite-space: nowrap;*/ } }
  @media screen and (max-width: 767px) {
    .detail__usage-list li {
      margin-top: 1vw;
      font-size: 3.2vw;
      line-height: 1.8;
      text-align: justify; } }
  .detail__usage-list li:before {
    content: "○\00A0"; }
  .detail__usage-list li:first-child {
    margin-top: 0; }

.detail__usage-list li a {
  　　color: #3c3c3c;
  text-decoration: underline; }

.detail__usage-list li a {
  text-decoration: underline;
  color: #3c3c3c;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.detail__usage-list li a:hover {
  opacity: 0.5; }

.detail__usage-list li span {
  font-size: 11px; }

.detail hr {
  height: 2px;
  margin: 0 auto;
  border: 0;
  background-color: #e5e5e5; }
  @media screen and (min-width: 768px) {
    .detail hr {
      width: 1030px;
      margin: 0 0 80px -115px; } }
  @media screen and (max-width: 767px) {
    .detail hr {
      width: 85.33334vw;
      margin-bottom: 18vw; } }

.detail--notes {
  color: #878782;
  letter-spacing: .04em; }
  @media screen and (min-width: 768px) {
    .detail--notes {
      width: 1100px;
      margin: 0 auto;
      padding-left: 6px;
      font-size: .6875rem;
      line-height: 1.81819;
      box-sizing: border-box; } }
  @media screen and (max-width: 767px) {
    .detail--notes {
      padding-left: 1vw;
      font-size: 2.66667vw;
      line-height: 2; } }

.m--ingredients-btn {
  display: table;
  margin: 19px 0 25px;
  color: #878782;
  cursor: pointer;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
  @media screen and (min-width: 768px) {
    .m--ingredients-btn {
      font-size: .8125rem; } }
  @media screen and (max-width: 767px) {
    .m--ingredients-btn {
      font-size: 3.2vw;
      margin: 0 auto 25px; } }
  .m--ingredients-btn span {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px solid #878782; }
  .m--ingredients-btn:hover {
    opacity: .6; }
  .m--ingredients-btn:after {
    display: inline-block;
    background: url("/contents/shared/images/icon_ingredients_btn.svg") no-repeat 0 0;
    background-size: 100% 100%;
    content: ""; }
    @media screen and (min-width: 768px) {
      .m--ingredients-btn:after {
        width: 16px;
        height: 16px;
        margin-left: 4px;
        vertical-align: -3px; } }
    @media screen and (max-width: 767px) {
      .m--ingredients-btn:after {
        width: 4vw;
        height: 4vw;
        margin-left: 1.06667vw;
        vertical-align: -1vw; } }

.m__ingredients-modal {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2000;
  overflow: auto;
  margin: auto;
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
  opacity: 0; }
  .m__ingredients-modal:after {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    content: ""; }
    @media screen and (min-width: 768px) {
      .m__ingredients-modal:after {
        margin-left: -0.05em; } }
    @media screen and (max-width: 767px) {
      .m__ingredients-modal:after {
        margin-left: -0.3em; } }

.m__ingredients-modal.is-opened {
  display: block;
  animation: fadeIn 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1 normal forwards; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  99% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  1% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.m__ingredients-modal-bg {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2001;
  width: 100%;
  height: 100%;
  background-color: rgba(135, 135, 130, 0.7);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px); }

.m__ingredients-modal-warp {
  display: inline-block;
  position: relative;
  z-index: 2002;
  margin: auto;
  vertical-align: middle;
  background-color: #fff;
  box-sizing: border-box;
  transform: translate3d(0, 0, 0); }
  @media screen and (min-width: 768px) {
    .m__ingredients-modal-warp {
      width: 800px;
      padding: 77px 102px 70px;
      border-radius: 2px; } }
  @media screen and (max-width: 767px) {
    .m__ingredients-modal-warp {
      width: 93.06667vw;
      padding: 13.33334vw 9.33334vw 11.33334vw; } }

.is-opened .m__ingredients-modal-warp {
  animation: zoomOut 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s 1 normal forwards; }

@keyframes zoomOut {
  0% {
    transform: scale(1.04); }
  100% {
    transform: scale(1); } }
.m--ingredients-modal-title {
  color: #c8c8c8;
  font-weight: bold;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .m--ingredients-modal-title {
      font-size: .875rem;
      line-height: 1.5715; } }
  @media screen and (max-width: 767px) {
    .m--ingredients-modal-title {
      font-size: 3.73334vw; } }

.m--ingredients-modal-text {
  color: #2b2e38;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .m--ingredients-modal-text {
      margin-top: 20px;
      font-size: .8125rem;
      line-height: 1.69231; } }
  @media screen and (max-width: 767px) {
    .m--ingredients-modal-text {
      margin-top: 5.33334vw;
      font-size: 3.46667vw;
      line-height: 1.69231; } }

.m--ingredients-modal-close {
  display: block;
  position: absolute;
  z-index: 2002;
  overflow: visible;
  margin: 0;
  padding: 0;
  border: 0;
  background: url("/contents/shared/images/icon_ingredients_close_btn.svg") no-repeat 0 0;
  background-size: 100% 100%;
  cursor: pointer;
  outline: 0;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
  @media screen and (min-width: 768px) {
    .m--ingredients-modal-close {
      top: 16px;
      right: 16px;
      width: 16px;
      height: 16px; } }
  @media screen and (max-width: 767px) {
    .m--ingredients-modal-close {
      top: 4.26667vw;
      right: 4.26667vw;
      width: 4.8vw;
      height: 4.8vw; } }
  .m--ingredients-modal-close:hover {
    opacity: .6; }

/*
* .delivery
*/
.delivery {
  position: relative;
  margin: 0 auto;
  border: 1px solid #c1e6f4;
  text-align: center;
  box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .delivery {
      width: 800px;
      margin-bottom: 102px;
      padding: 172px 0 56px;
      border-radius: 50px; } }
  @media screen and (max-width: 767px) {
    .delivery {
      width: 90.66667vw;
      margin-bottom: 14.8vw;
      padding: 32vw 0 8.4vw;
      border-radius: 6.66667vw; } }
  .delivery:before {
    display: inline-block;
    position: absolute;
    background: url("../images/delivery_car.svg") no-repeat 50% 50%;
    background-size: 100%;
    content: ""; }
    @media screen and (min-width: 768px) {
      .delivery:before {
        top: 70px;
        left: 256px;
        width: 90px;
        height: 64px; } }
    @media screen and (max-width: 767px) {
      .delivery:before {
        top: 12.2vw;
        left: 25vw;
        width: 17.2vw;
        height: 15.2vw; } }
  .delivery:after {
    display: inline-block;
    position: absolute;
    background: url("../images/delivery_gift.svg") no-repeat 50% 50%;
    background-size: 100%;
    content: ""; }
    @media screen and (min-width: 768px) {
      .delivery:after {
        top: 70px;
        right: 239px;
        width: 92px;
        height: 62px; } }
    @media screen and (max-width: 767px) {
      .delivery:after {
        top: 11vw;
        right: 25vw;
        width: 17.2vw;
        height: 15.2vw; } }

.delivery--title {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 1;
  margin: 0 auto;
  text-align: center;
  letter-spacing: .15em;
  background-color: #fff; }
  @media screen and (min-width: 768px) {
    .delivery--title {
      top: -9px;
      width: 300px;
      font-size: 1.125rem; } }
  @media screen and (max-width: 767px) {
    .delivery--title {
      top: -1vw;
      width: 65.33334vw;
      font-size: 3.2vw; } }
  .delivery--title span:before,
  .delivery--title span:after {
    display: inline-block;
    background: url("../images/delivery_snow.svg") no-repeat 50% 50%;
    background-size: 100%;
    content: ""; }
    @media screen and (min-width: 768px) {
      .delivery--title span:before,
      .delivery--title span:after {
        width: 18px;
        height: 18px;
        vertical-align: -2px; } }
    @media screen and (max-width: 767px) {
      .delivery--title span:before,
      .delivery--title span:after {
        width: 2.93334vw;
        height: 2.93334vw;
        vertical-align: -.5vw; } }
  @media screen and (min-width: 768px) {
    .delivery--title span:before {
      margin-right: 5px; } }
  @media screen and (max-width: 767px) {
    .delivery--title span:before {
      margin-right: 2vw; } }
  @media screen and (min-width: 768px) {
    .delivery--title span:after {
      margin-left: 5px; } }
  @media screen and (max-width: 767px) {
    .delivery--title span:after {
      margin-left: 2vw; } }

.delivery--studio-title {
  letter-spacing: .15em; }
  @media screen and (min-width: 768px) {
    .delivery--studio-title {
      margin-bottom: 25px;
      font-size: 1rem; } }
  @media screen and (max-width: 767px) {
    .delivery--studio-title {
      margin-bottom: 5vw;
      font-size: 4vw; } }

@media screen and (min-width: 768px) {
  .delivery--studio-number {
    margin-bottom: 17px; } }
@media screen and (max-width: 767px) {
  .delivery--studio-number {
    margin-bottom: 4.4vw; } }
.delivery--studio-number a {
  color: #3c3c3c;
  text-decoration: none;
  letter-spacing: .15em; }
  @media screen and (min-width: 768px) {
    .delivery--studio-number a {
      font-size: 1.75rem;
      pointer-events: none; } }
  @media screen and (max-width: 767px) {
    .delivery--studio-number a {
      font-size: 6.66667vw; } }
  .delivery--studio-number a:before {
    display: inline-block;
    background: url("../images/delivery_freedial.svg") no-repeat 50% 50%;
    background-size: 100% auto;
    content: ""; }
    @media screen and (min-width: 768px) {
      .delivery--studio-number a:before {
        width: 42px;
        height: 27px;
        margin-right: 14px;
        vertical-align: -3px; } }
    @media screen and (max-width: 767px) {
      .delivery--studio-number a:before {
        width: 10.13333vw;
        height: 6.66667vw;
        margin-right: 2vw;
        vertical-align: -1vw; } }

@media screen and (min-width: 768px) {
  .delivery--studio-business-day {
    margin-bottom: 39px;
    font-size: .875rem;
    letter-spacing: .04em; } }
@media screen and (max-width: 767px) {
  .delivery--studio-business-day {
    margin-bottom: 7vw;
    font-size: 3.2vw; } }

.delivery--text {
  letter-spacing: .04em; }
  @media screen and (min-width: 768px) {
    .delivery--text {
      font-size: .875rem;
      line-height: 2.14286; } }
  @media screen and (max-width: 767px) {
    .delivery--text {
      font-size: 2.66667vw;
      line-height: 2; } }

/*
* .coffret--notes
*/
.coffret--notes {
  margin: 0 auto;
  box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .coffret--notes {
      width: 1100px;
      margin-bottom: 100px;
      padding: 34px 0 0 5px; } }
  @media screen and (max-width: 767px) {
    .coffret--notes {
      width: 93.3334vw;
      margin-bottom: 1vw;
      padding: 9.2vw 4vw 14.6667vw 2vw; } }

.coffret--notes li {
  letter-spacing: .04em; }
  @media screen and (min-width: 768px) {
    .coffret--notes li {
      font-size: .6875rem;
      line-height: 1.81819; } }
  @media screen and (max-width: 767px) {
    .coffret--notes li {
      margin-top: 1vw;
      padding-left: 1em;
      text-indent: -1em;
      font-size: 2.66667vw;
      line-height: 1.8; } }
  .coffret--notes li:before {
    content: "※"; }
  .coffret--notes li:first-child {
    margin-top: 0; }

/****/
.entrance__description .entrance__description__title {
  font-family: "Noto Serif JP", serif;
  line-height: 1.7;
  font-size: 2.1875vw; }
  @media screen and (min-width: 751px) and (max-width: 1200px) {
    .entrance__description .entrance__description__title {
      font-size: clamp(24px, 1.015626vw, 100px); } }

@media screen and (min-width: 768px) {
  .entrance__description .entrance__description__title {
    margin-bottom: 40px;
    letter-spacing: 0.04em; } }
@media screen and (max-width: 767px) {
  .entrance__description .entrance__description__title {
    margin: 0 auto 10px;
    font-size: 20px;
    letter-spacing: -0.02em;
    text-indent: 3vw; } }
@media screen and (min-width: 768px) {
  .entrance__description__title span {
    display: block;
    margin-top: 1.5625vw;
    font-size: 1.40625vw; } }
@media screen and (max-width: 767px) {
  .entrance__description__title span {
    text-indent: -1.4vw;
    display: inline-block;
    letter-spacing: 0.02em;
    margin-top: 2.93333vw;
    font-size: 4.26667vw; } }
.btn__more a {
  width: 340px;
  text-align: center;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid #c8c8c8;
  border-radius: 25px;
  position: relative;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  box-sizing: border-box; }

@media screen and (max-width: 767px) {
  .btn__more a {
    width: 80vw;
    border-radius: 7.33333vw; } }
.btn__more a, .btn__more a span {
  display: inline-block;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__more a span {
  color: #3c3c3c;
  font-size: 14px;
  line-height: 48px;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__more a:before {
  content: "";
  display: block;
  width: 6px;
  height: 48px;
  background-image: url(../images/icon-arrow-gray.svg);
  background-size: 6px auto;
  background-position: center;
  position: absolute;
  right: 26px;
  top: 0;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

@media screen and (max-width: 767px) {
  .btn__more a:before {
    width: 1.73333vw;
    height: 13.6vw;
    background-size: 1.73333vw auto;
    right: 6.93333vw;
    top: 0.1vw; } }
@media screen and (min-width: 768px) {
  .btn__more a:hover {
    color: #fff;
    background-color: #c8c8c8; } }
@media screen and (min-width: 768px) {
  .btn__more a:hover:before {
    background-image: url(../images/icon-arrow-white.svg); } }
@media screen and (min-width: 768px) {
  .btn__more a:hover span {
    color: #fff; } }
.btn__more {
  margin-bottom: 20px; }

.first02 {
  align-items: center;
  justify-content: center;
  margin-top: -60px; }
  @media screen and (max-width: 767px) {
    .first02 {
      margin-top: -60px; } }

@media screen and (min-width: 768px) {
  .first02 .prod--picture {
    margin: 0 95px 0 185px; } }
@media screen and (max-width: 767px) {
  .first02 .prod--picture {
    margin: 0 auto 20px;
    width: 150px !important; } }

@media screen and (min-width: 768px) {
  .first02 .prod--picture img {
    width: 220px;
    height: auto; } }
@media screen and (max-width: 767px) {
  .first02 .prod--picture img {
    width: 150px !important;
    margin: 0 auto; } }

@media screen and (min-width: 768px) {
  .first02 .prod__description {
    width: 50%; } }

@media screen and (min-width: 768px) {
  .anchor--prod img {
    width: 30px; } }
@media screen and (max-width: 767px) {
  .anchor--prod img {
    width: 24px !important; } }

@media screen and (min-width: 768px) {
  .anchor--prod .anchor_item03 {
    width: 66px; } }

.aroma {
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .aroma {
      width: 90%;
      margin: 0 auto 0px;
      padding-bottom: 20px; } }

.aroma .anchor--copy {
  color: #3c3c3c;
  font-size: 18px;
  margin: 80px auto 23px; }
  @media screen and (max-width: 767px) {
    .aroma .anchor--copy {
      font-size: 16px;
      margin: 0px auto 40px; } }

.aroma.aroma03 .anchor--copy {
  font-size: 22px; }
  @media screen and (max-width: 767px) {
    .aroma.aroma03 .anchor--copy {
      font-size: 18px; } }

.aroma .anchor--copy span {
  display: block;
  margin-top: 16px;
  font-size: 16px; }
  @media screen and (max-width: 767px) {
    .aroma .anchor--copy span {
      margin-top: 14px;
      font-size: 14px; } }

.aroma.aroma03 .anchor--copy span {
  font-size: 18px; }
  @media screen and (max-width: 767px) {
    .aroma.aroma03 .anchor--copy span {
      font-size: 16px; } }

.aroma02 .anchor--copy {
  margin: 80px auto 23px; }

.aroma .txt01 {
  margin-bottom: 18px;
  font-size: 1rem;
  letter-spacing: .09em;
  line-height: 28px;
  text-align: center;
  font-family: "Noto Serif JP", serif; }
  @media screen and (max-width: 767px) {
    .aroma .txt01 {
      margin-bottom: 30px;
      letter-spacing: inherit; } }

@media screen and (min-width: 768px) {
  .aroma .box01 {
    display: flex;
    width: 800px;
    margin: 0 auto;
    align-items: center;
    justify-content: center; } }

@media screen and (min-width: 768px) {
  .aroma .box01 img {
    width: 360px;
    padding-right: 40px; } }

@media screen and (min-width: 768px) {
  .aroma .inner {
    width: 400px; } }

.aroma .inner p {
  font-family: "Noto Serif JP", serif;
  margin: 20px auto;
  line-height: 30px; }

.aroma .inner p span {
  color: #65c562;
  font-size: 18px;
  display: block; }

.aroma .inner p b {
  font-size: 13px;
  display: block;
  line-height: 1.7;
  letter-spacing: -0.01em; }
  @media screen and (max-width: 767px) {
    .aroma .inner p b {
      line-height: 21px; } }

.aroma02 .inner p span {
  color: #cc457b; }

.cart-in a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  background-color: #878782;
  box-sizing: border-box;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  font-weight: bold; }

@media screen and (min-width: 768px) {
  .cart-in a {
    width: 340px;
    height: 50px;
    border-radius: 2px;
    font-size: 1.125rem;
    margin-top: 20px; } }
@media screen and (max-width: 767px) {
  .cart-in a {
    width: 80vw;
    border-radius: 0.53334vw;
    margin: 4.8vw auto 0;
    font-weight: 700;
    line-height: 14.66667vw; } }
@media screen and (min-width: 768px) {
  .cart-in a:hover {
    color: #fff;
    background-color: #c8c8c8; } }
.cart-in a svg, .cart-in a img {
  fill: #fff;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }

@media screen and (min-width: 768px) {
  .cart-in a svg, .cart-in a img {
    width: 30px;
    height: 30px;
    margin-right: 5px; } }
@media screen and (max-width: 767px) {
  .cart-in a svg, .cart-in a img {
    width: 7.46667vw;
    height: 7.46667vw;
    padding-right: 1.2vw; } }
.product__description__sold-out {
  font-size: 13px;
  line-height: 1.4;
  color: #fca4cc;
  width: 340px;
  border-radius: 2px;
  background-color: white;
  padding: 6px 20px;
  box-sizing: border-box;
  margin-top: 10px;
  padding-left: 0; }
  @media screen and (max-width: 767px) {
    .product__description__sold-out {
      width: 88%;
      text-align: left;
      padding: 6px 0;
      margin: 10px auto 0; } }

.products.wideInner.cbox .product__description__sold-out {
  border: none;
  padding: 0; }

.product__description__annotation {
  font-size: 11px;
  line-height: 1.45;
  text-align: left !important; }
  @media screen and (max-width: 767px) {
    .product__description__annotation {
      width: 88% !important;
      margin: 5.33333vw auto; } }

@media screen and (max-width: 767px) {
  .product__description__sold-out + .product__description__annotation {
    width: 100%;
    text-align: center;
    margin: 0 auto; } }

sup {
  font-size: 10px;
  vertical-align: text-bottom; }

@media screen and (max-width: 767px) {
  #item3 .detail--item-feature {
    margin-bottom: -35px; } }

/***/
.store-limited {
  border: 1px solid #C8C8C8;
  text-align: center;
  width: 800px;
  margin: 0 auto 20px;
  padding: 30px;
  font-size: 14px;
  line-height: 1.7em; }
  @media screen and (max-width: 767px) {
    .store-limited {
      width: 90%;
      box-sizing: border-box;
      padding: 20px; } }

.store-limited a {
  width: 170px;
  margin: auto;
  color: #787d80;
  display: block;
  text-decoration: none;
  position: relative;
  transition-duration: .3s;
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  text-align: center;
  font-size: 13px;
  margin-top: 8px; }
  @media screen and (max-width: 767px) {
    .store-limited a {
      width: 100%;
      text-align: left; } }

.store-limited a:after {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  top: 32%;
  right: 0px;
  z-index: 1;
  border-right: 1px solid #787d80;
  border-bottom: 1px solid #787d80;
  transform: rotate(-45deg); }
  @media screen and (max-width: 767px) {
    .store-limited a:after {
      right: 137px;
      top: 32%; } }

@media screen and (max-width: 767px) {
  .store-limited p {
    text-align: left; } }

.store-limited .note {
  margin-top: 20px; }

.store-limited .note li {
  padding-left: 20px;
  font-size: 11px; }
  @media screen and (max-width: 767px) {
    .store-limited .note li {
      position: relative;
      text-align: left;
      line-height: 1.5em;
      padding-left: 15px; } }

.store-limited .note li:before {
  content: "※"; }
  @media screen and (max-width: 767px) {
    .store-limited .note li:before {
      position: absolute;
      left: 0px; } }

/***/
.online-limited {
  border: 1px solid #C8C8C8;
  text-align: center;
  width: 800px;
  margin: 0 auto 80px;
  padding: 30px;
  font-size: 14px;
  line-height: 1.7em; }
  @media screen and (max-width: 767px) {
    .online-limited {
      width: 90%;
      box-sizing: border-box;
      padding: 20px; } }

.online-limited__title {
  font-size: 16px; }

@media screen and (max-width: 767px) {
  .online-limited__text {
    text-align: justify; } }

.online-limited .flex-box {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
  align-items: center; }
  .online-limited .flex-box .img01 {
    max-width: 220px;
    width: 100%; }
  .online-limited .flex-box .img02 {
    max-width: 230px;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .online-limited .flex-box .img02 {
        max-width: 220px; } }

.online-limited__price {
  font-size: 12px;
  margin: 20px auto;
  text-align: center; }

.flex-box2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .flex-box2 {
      gap: 16px; } }
  @media screen and (max-width: 767px) {
    .flex-box2 {
      gap: 0px; } }
  .flex-box2 p {
    text-align: left;
    font-size: 12px; }
    @media screen and (max-width: 767px) {
      .flex-box2 p {
        width: 100%; } }

.online-limited ul {
  width: 550px;
  text-align: left;
  margin: 0 auto;
  line-height: 1.3em; }
  @media screen and (max-width: 767px) {
    .online-limited ul {
      width: 100%; } }

.online-limited ul li {
  font-size: 11px;
  position: relative;
  padding-left: 15px; }

.online-limited ul li:before {
  content: "※";
  position: absolute;
  left: 0; }

.online-limited__sold-out {
  font-size: 13px;
  line-height: 1.4;
  color: #fca4cc;
  box-sizing: border-box;
  margin: -10px auto 20px; }
  @media screen and (max-width: 767px) {
    .online-limited__sold-out {
      width: 100%;
      text-align: left; } }

.detail01 {
  background: linear-gradient(180deg, #2980C4, #00AC9E); }

.detail02 {
  background: linear-gradient(180deg, #EEA3BE, #D2CC9C, #C6DE8D); }

.detail03 {
  background: linear-gradient(180deg, #DCEEC6 28%, #F8EBF2 100%); }

.aroma01 .inner p span {
  color: #2980C4; }

.aroma02 .inner p span {
  color: #E55384; }

.aroma03 .inner p span {
  color: #65c562; }

.btn__more a, .btn__more a span {
  display: inline-block;
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__modal a:hover {
  opacity: 0.5; }

.btn__more a {
  width: 380px;
  text-align: center;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid #c8c8c8;
  border-radius: 25px;
  position: relative;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__more a span {
  color: #3c3c3c;
  font-size: 14px;
  line-height: 48px;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__cart a, .btn__more a:before {
  -webkit-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__more a:before {
  content: "";
  display: block;
  width: 6px;
  height: 48px;
  background-image: url(../../assets/images/icon-arrow-gray.svg);
  background-size: 6px auto;
  background-position: center;
  position: absolute;
  right: 26px;
  top: 0;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__more a:hover {
  background-color: #c8c8c8; }

.btn__cart a, .btn__reserve a {
  width: 380px;
  text-align: center;
  text-decoration: none;
  background-color: #878782;
  border-radius: 2px;
  display: inline-block; }

.btn__more a:hover span {
  color: #fff; }

.btn__more a:hover:before {
  background-image: url(../../assets/images/icon-arrow-white.svg); }

.btn__cart a {
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s; }

.btn__cart a span {
  display: inline-block;
  padding-left: 32px;
  font-weight: 700;
  color: #fff;
  font-size: 18px;
  line-height: 50px;
  letter-spacing: .1em;
  background-image: url(../../assets/images/icon-cart.svg);
  background-size: 20px auto;
  background-position: left center; }

.btn__cart a:hover {
  opacity: 0.5; }

.btn__cart a span, .btn__modal a, .btn__more a:before, .remodal-close:before, .voice__list li p {
  background-repeat: no-repeat; }

.product__description__cart {
  margin-bottom: 15px; }

@media (max-width: 767px) {
  .btn__modal a {
    padding-right: 5.33333vw;
    font-size: 3.2vw;
    line-height: 5.86667vw;
    background-size: 4vw auto; }

  .btn__modal a:after {
    width: calc(100% - (20 / 375) * 100vw); }

  .btn__more a {
    width: 80vw;
    border-radius: 7.33333vw; }

  .btn__more a span {
    font-size: 3.73333vw;
    line-height: 13.6vw; }

  .btn__more a:before {
    width: 1.73333vw;
    height: 13.6vw;
    background-size: 1.73333vw auto;
    right: 6.93333vw; }

  .btn__cart a, .btn__reserve a {
    width: 80vw; }

  .btn__cart a span {
    padding-left: 8vw;
    font-size: 4.26667vw;
    line-height: 14.66667vw;
    background-size: 5.33333vw auto; }

  .btn__reserve a span {
    font-size: 4.26667vw;
    line-height: 14.66667vw; }

  .product__description__cart {
    text-align: center; }

  .btn__more {
    text-align: center; } }
.detail--item-restock {
  text-align: center;
  color: #fca4cc;
  font-size: 14px;
  margin-bottom: 5px;
  margin-top: 20px; }
