.swiper-pagination .swiper-pagination-bullet {
  margin-right: 4px;
  opacity: 1;
  width: 4px;
  height: 4px;
  background: #c4c4c4;
}
.swiper-pagination .swiper-pagination-bullet-active {
  background: #c0a79c;
}

@media screen and (min-width: 769px) {
  .product-swiper {
    display: none;
  }
}

.product-swiper {
  position: relative;
}
.p-page-product {
  display: flex;
}
.p-product-width {
  max-width: 440px;
  width: 100%;
}
.p-product_content {
  height: 100vh;
  overflow: auto;
  width: 100vw;
  display: flex;
  justify-content: flex-end;
}
.p-product_content__inner {
  display: flex;
  flex-direction: column;
  width: 50%;
  gap: 100px;
  padding: 200px 40px 0;
}
@media screen and (max-width: 768px) {
  .p-product_content__inner {
    padding: 40px 20px 80px;
  }
}
.p-product_content__inner__lead {
  padding-bottom: 60px;
}
.p-product_content__recommend {
  display: flex;
  flex-wrap: wrap;
}
.p-product_content__small {
  color: #473732;
}
.c-product_info__order__text .p-product_content__emphasis {
  color: #473732;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .p-product_content {
    height: unset;
    overflow: unset;
  }
  .p-product_content__inner {
    align-items: center;
    width: 100%;
    gap: 80px;
  }
  .p-product_content__inner__lead {
    padding-bottom: 40px;
  }
  .p-product_content__recommend {
    flex-direction: column;
  }
}
/* product images for mobile*/
@media screen and (max-width: 768px) {
  .images {
    display: none;
  }
}

/* info */
@media screen and (max-width: 768px) {
  .p-product_content__inner__info {
    width: 100%;
  }
}
.c-product_info .formError {
  width: auto !important;
  height: auto !important;
  background: #e21e1e;
  color: #ffffff;
  font-size: 12px;
  padding: 4px 10px;
  margin: 0 !important;
  top: -6px !important;
  left: auto !important;
  right: -10px !important;
  z-index: 1;
  opacity: 1 !important;
}
@media screen and (max-width: 719px) {
  .c-product_info .formError {
    font-size: 12px;
  }
}
.c-product_info .formError > * {
  margin: 0 !important;
}

.c-product_info__title {
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  .c-product_info__title {
    margin-bottom: 2.5rem;
    padding-top: 10px;
  }
}

.c-product_info__option {
  display: block;
  font-size: 0.625rem;
  color: var(--lightbrown);
  letter-spacing: 0.1rem;
}

@media screen and (max-width: 768px) {
  .c-product_info__option {
    display: block;
  }
}

.c-product_info__details__content {
  padding-bottom: 20px;
}
.p-product_info__order__captions {
  display: flex;
  column-gap: 10px;
}
.p-product_content__inner__img {
  width: 50vw;
  height: 100vh;
  z-index: 5;
  object-fit: cover;
  position: absolute;
  left: 0;
}

.c-product_info__description {
  line-height: 1.4rem;
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 768px) {
  .c-product_info__description {
    margin-bottom: 2.5rem;
  }
}

.c-product_content__inner__small {
  color: #c0a79c;
  display: inline-block;
  line-height: 1.6;
  letter-spacing: 0.02rem;
  margin-bottom: 1.125rem;
}

/* buy button */
.c-product-buy_btn__container {
  display: flex;
}

@media screen and (max-width: 768px) {
  .c-product-buy_btn__container {
    flex-direction: column;
  }

  .c-product_content__inner__small {
    margin-bottom: 0.625rem;
  }
}

.c-product-buy_btn {
  background-color: #473732;
  color: #fff;
  border: none;
  font-size: 0.825rem;
  letter-spacing: 0.1rem;
  width: 100%;
  max-height: 60px;
  min-height: 52px;
  height: 100%;
  border-radius: 5px;
}
.c-product-buy_btn:hover {
  opacity: 0.7;
}
.c-product-buy_btn_text {
  width: 100%;
  display: flex;
  justify-content: center;
  font-weight: 500;
}

.c-product-soldout_btn {
  background-color: #d3d3d3;
  color: #fff;
  font-size: 0.825rem;
  letter-spacing: 0.1rem;
  min-height: 52px;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  cursor: not-allowed;
  pointer-events: none;
}

.c-product-soldout_btn.u-text--head--sm {
  line-height: normal;
}

.c-product-soldout_btn:hover {
  opacity: 0.7;
}

/* popup */
.c-product_info__popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  padding: 15px 30px 30px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  z-index: 1000;
  max-width: 440px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c-product_info__popup {
    max-width: 340px;
  }
}

.c-product_info__popup__content {
  color: #473733;
  line-height: 24px;
}

.c-product_info__popup__content__list {
  list-style: initial;
}

.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 999;
}

.close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  font-size: 30px;
}

.clickable-div {
  cursor: pointer;
  padding: 10px;
  text-align: center;
}

.clickable-div:hover {
  opacity: 0.7;
}

.anygift-validation-modal__wrapper .w-full {
  font-weight: 400;
}

/* .order section */
.c-product_info__order {
  background-color: #fff;
  padding: 20px;
}
.c-product_info__order__heading {
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
}
.c-product_info__order__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
}
.c-product_info__order__caption {
  background-color: #f7f6f4;
  border-radius: 50px;
  color: #473733;
  padding: 2px 6px;
  display: flex;
  align-items: center;
  gap: 2px;
}
.c-product_tag__item {
  padding: 2px 6px 0px 6px;
  font-size: 10px;
  border: 1px solid #473733;
  border-radius: 2px;
  display: inline-block;
  color: #473733;
  width: fit-content;
  line-height: 1.7;
  letter-spacing: 0.8px;
}
.c-product_info__form {
  margin-top: 0.875rem;
}
@media screen and (max-width: 768px) {
  .c-product_info__order__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .c-product_info__form {
    margin-top: 1.125rem;
  }
  .p-product_feature__tag {
    flex-direction: column;
  }
  .p-product_feature__tag .c-product_tag__item {
    align-self: flex-start;
  }
}
/* order choice-BIO */
.p-product_choice__container {
  display: flex;
  flex-direction: column;
}
.p-product_choice {
  width: auto;
  margin: 24px 0 8px;
}
.p-product_choice__info {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.p-product_tag__container {
  display: flex;
  gap: 3px;
  flex-wrap: wrap;
}
.p-product_choice__items--item {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  border-radius: 4px;
  border: 2px solid #c0a79c;
  padding: 10px;
  cursor: pointer;
}
.p-product_choice__items--item.is-select {
  background-color: #fff;
  border: 2px solid #473733;
}
.p-product_choice__items--item.swiper-slide {
  height: auto;
}
.c-product_info__form__submit {
  max-width: 190px;
  width: 100%;
  padding: 16px 0;
  border: none;
}
.c-product_info__order__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid #000;
}
.c-product_info__order__body.c-product_info__order__body--2col {
  display: flex;
  flex-direction: row;
  gap: 10px;
  border: none;
}
.c-product_info__order__body.c-product_info__order__body--2col strong {
  font-weight: 500;
  font-family: TTFirsNeue, "A1 Gothic M", sans-serif;
}

.c-product_info__order__price {
  margin-top: 1.125rem;
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.first-time-price {
  font-size: 1.5rem;
}
.c-product_info__details {
  background-color: #fff;
  padding: 0 20px;
  margin-top: 20px;
}
.p-product_info__order__tag {
  padding-bottom: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.p-product__contents__block {
  display: block;
}

/* feature section */
.c-product_feature__point__card {
  position: relative;
  background-color: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  margin: 40px 0 20px;
  cursor: pointer;
}
.c-product_feature__point__card__head {
  position: relative;
  display: flex;
  gap: 20px;
}
.c-product_feature__point__card__img {
  background-size: cover;
  flex-basis: 150px;
  flex-shrink: 0;
  height: 150px;
}
.c-product_feature__point__card__text__container {
  position: relative;
  flex-grow: 1;
}
.c-product_feature__point__card__text__container::before,
.c-product_feature__point__card__text__container::after {
  content: "";
  width: 11px;
  height: 1px;
  display: block;
  position: absolute;
  background-color: #000;
  transition: transform 0.5s ease;
  bottom: 10px;
  right: 0;
}
.c-product_feature__point__card__text__container::after {
  transform: rotate(90deg);
}
.is-open.c-product_feature__point__card__text__container::after {
  transform: rotate(0deg);
}
@media screen and (max-width: 768px) {
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card {
    padding: 0;
  }
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card__img {
    width: 100%;
    margin-bottom: 20px;
  }
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card__text__container {
    margin-bottom: 20px;
  }
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card__text__container,
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card > .u-text--body {
    padding: 0 20px;
    width: 100%;
  }
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card__text__container::before,
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card__text__container::after {
    right: 20px;
  }
  .c-product_feature__point__card:not(.u-booster2)
    .u-text-default
    u-text--body
    c-product_feature__point__card__contents
    is-open {
    height: auto;
  }
  .c-product_feature__point__card:not(.u-booster2) .c-product_feature__point__card__img {
    flex-basis: 140px;
    height: 140px;
  }
}
.p-product_feature__tag {
  margin-top: 1.125rem;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.c-product_feature__point__card__text {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* usage */
.p-product_content__inner__usage .u-text--body {
  margin-top: 20px;
}

.p-product_content__inner__usage__movie {
  width: 100%;
  height: auto;
  margin-top: 20px;
  margin-bottom: 100px;
}
.p-product__movie__margin-none {
  margin-bottom: 0;
}
.p-product__howto__annotation {
  margin: 40px 0 100px;
}

@media screen and (max-width: 768px) {
  .p-product__howto__annotation {
    margin: 20px 0 40px;
  }
}

/* recommend */
.p-product_content__inner__recommend {
  padding-bottom: 100px;
}
.p-product_content__inner__recommend__container {
  display: flex;
  gap: 20px;
}
.p-product_content__inner__recommend__container a {
  flex: 1;
}
.p-product_content__inner__recommend__img {
  margin-bottom: 1.125rem;
}

@media screen and (max-width: 768px) {
  .p-product_content__inner__recommend {
    padding-bottom: 0;
  }
  .p-product_content__inner__recommend__container .u-square-image {
    width: 200px;
    height: 200px;
    max-height: unset;
    max-width: unset;
  }
}
@media screen and (max-width: 428px) {
  .c-product_feature__point__card {
    padding: 0;
  }
  .c-product_feature__point__card__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .c-product_feature__point__card__img {
    width: 100%;
    margin-bottom: 20px;
  }
  .c-product_feature__point__card__text__container {
    margin-bottom: 20px;
  }
  .c-product_feature__point__card__text__container,
  .c-product_feature__point__card > .u-text--body {
    padding: 0 20px;
    width: 100%;
  }
  .c-product_feature__point__card__text__container::before,
  .c-product_feature__point__card__text__container::after {
    right: 20px;
  }
  .u-text-default u-text--body c-product_feature__point__card__contents is-open {
    height: auto;
  }
  .c-product_feature__point__card__img {
    flex-basis: 140px;
    height: 140px;
  }

  .p-product_content__inner__recommend__container .u-square-image {
    width: auto;
    height: auto;
    aspect-ratio: 1/1;
  }
}
.p-product_content__inner__recommend__text {
  padding-top: 1rem;
}
/* accordion */
.c-product_details__summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 20px 0;
}

.c-product_details__summary_inner {
  padding-right: 8px;
}
@media screen and (max-width: 768px) {
  .c-product_details__summary {
    align-items: center;
  }
}

.p-product_content__inner summary {
  list-style: none;
}

.p-product_content__inner summary::-webkit-details-marker {
  display: none;
}
.c-product_details__summary__border {
  border-bottom: 1px solid #000;
}
.c-product_details__content {
  transition: max-height 0.5s ease-in-out;
  overflow: hidden;
}
details[open] .c-product_details__content {
  max-height: 900px;
}
.c-product_details__content_inner {
  padding: 20px 0;
}
.c-product_details__content_inner .u-text--small {
  line-height: 1.8;
}

.c-product_details__content_inner-tel {
  color: #473732;
  text-decoration: underline;
}
.c-product_details__icon {
  position: relative;
  display: inline-block;
  height: 10px;
  width: 10px;
}
.c-product_details__icon::before,
.c-product_details__icon::after {
  content: "";
  width: 11px;
  height: 1px;
  background-color: black;
  transition: transform 0.5s ease;
  position: absolute;
  top: 50%;
  right: 0;
}
.c-product_details__icon::after {
  transform: rotate(90deg);
}
details[open] .c-product_details__icon::after {
  transform: rotate(0deg);
}

.c-product_details__icon__attention {
  top: 30px;
}

/* scroll */
.images img {
  height: 100vh;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.c-product_feature__point__card__lead > h3 {
  margin-bottom: 0;
  position: relative;
}

.c-product_feature__point__card__lead > h3.is-open:last-of-type::after {
  transform: rotate(0deg);
}

/* Features Accordion */
.c-product_feature__point__card__contents {
  overflow: hidden;
  height: 0;
  transition: 0.5s;
  margin-bottom: 20px;
}
.p-product_feature__point__card__contents {
  overflow: hidden;
  height: 0;
  transition: 0.5s;
}
.p-product__padding__adjustment {
  padding: 0;
}
.p-product__padding-top__adjustment {
  padding-top: 20px;
}
.c-product_feature__point__card__contents.is-open {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .c-product_feature__point__card__contents.is-open {
    margin-top: 0;
    margin-bottom: 20px;
  }
  .p-product__padding__adjustment {
    padding: 0 20px;
  }
  .p-product__container__adjustment {
    padding-bottom: 20px;
  }
  .p-product__padding-top__adjustment {
    padding-top: 0;
  }
}

.c-product_details__accordion__icon::before,
.c-product_details__accordion__icon::after {
  content: "";
  width: 11px;
  height: 1px;
  display: block;
  position: absolute;
  background-color: #000;
  transition: transform 0.5s ease;
  top: 50%;
  right: 0;
}

.c-trial-btn {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  color: #473732;
  border: 1px solid #473732;
  padding: 10px 20px;
  text-decoration: none;
  text-align: center;
  margin-top: 10px;
  font-size: 0.825rem;
  letter-spacing: 0.1rem;
  height: 52px;
  box-sizing: border-box;
}

.c-trial-btn:hover {
  opacity: 0.7;
}
.c-product_feature__note {
  margin-bottom: 60px;
  color: #82655d;
  font-size: 10px;
  line-height: 140%;
}
.c-product_feature__note__bold {
  font-family: var(--gothic-bold) !important;
}
.c-product_details__summary--title {
  display: flex;
  gap: 10px;
  align-items: center;
}
.c-product_details__summary_inner .p-product_content__small {
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 140%;
}
.c-product_details__summary--title strong {
  font-size: 18px;
  line-height: 160%;
  letter-spacing: 2.16px;
  font-weight: 500;
}
.u-badge--brown {
  padding: 4px;
  justify-content: center;
  align-items: center;
  border-radius: 2px;
  background-color: #473733;
  font-size: 10px;
  font-weight: 400;
  line-height: 178%;
  letter-spacing: 0.8px;
  color: #fff;
}
.c-product_details__notice {
  margin-top: 40px;
  margin-bottom: 60px;
}
.c-product_details__content {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.c-product_details__content > a {
  color: #000;
  text-decoration: underline;
  font-size: 13px;
  width: fit-content;
}
.c-product__details .c-product_details__content_inner {
  padding: 0;
}
.c-product_details__content__annotation {
  padding-top: 0;
  padding-bottom: 1px;
}
.c-product_details__notice .c-product_details__content_inner {
  padding: 0;
  margin-bottom: 10px;
}
.c-product_details__notice__list {
  background-color: #fff;
  padding: 10px 5px;
}
.c-product_details__notice__list--item {
  display: flex;
  font-size: 13px;
  letter-spacing: 0.26px;
  gap: 4px;
}
.c-product_details__notice__list--item::before {
  content: "・";
  text-align: center;
  width: 10px;
}
.c-product_content__list.c-product_content__list--dot::before {
  content: "・";
}
.c-product_content__list.c-product_content__list--circle::before {
  content: "●";
}

.c-product_info__title__badge {
  position: absolute;
  top: -17px;
  left: 0;
  display: flex;
  padding: 5px 8px 4px;
  justify-content: center;
  border-radius: 2px;
  background: #473733;
  color: #fff;
  font-size: 10px;
  line-height: 1;
}
