@charset "UTF-8";
.product-variation-select {
  touch-action: manipulation;
}
.product-variation-select .c-modal {
  width: 100%;
  height: fit-content;
  top: auto;
  bottom: 0;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .product-variation-select .c-modal {
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
  }
}
.product-variation-select .c-modal__inner {
  height: 93dvh;
  border-radius: 1rem 1rem 0 0;
}
@media screen and (min-width: 768px) {
  .product-variation-select .c-modal__inner {
    max-height: 61dvh;
    border-radius: 1rem;
  }
}
.product-variation-select .c-modal__head {
  position: relative;
}
.product-variation-select .c-modal__head--back-area {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.product-variation-select .c-modal__head--back-button {
  display: block;
  padding-left: 3rem;
  font-size: 1.1rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-decoration: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%20%3Cg%20transform%3D%22translate(-1166.999%20-2355)%22%3E%20%3Crect%20width%3D%2230%22%20height%3D%2230%22%20transform%3D%22translate(1166.999%202355)%22%20fill%3D%22rgba(255%2C255%2C255%2C0)%22%2F%3E%20%3Cpath%20d%3D%22M24.75%2C18%2C21%2C21.75l3.75%2C3.75%22%20transform%3D%22translate(1159.124%202348.625)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 3rem;
  background-position: center left;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .product-variation-select .c-modal__head--back-button {
    left: 1rem;
    padding-left: 4rem;
    font-size: 1.2rem;
    line-height: 1.5;
    background-size: 4rem;
  }
}
.product-variation-select .c-modal__head .c-modal__head--title {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select .c-modal__head .c-modal__head--title {
    font-size: 2rem;
  }
}
.product-variation-select .c-modal__close {
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .product-variation-select .c-modal__close {
    width: 4rem;
    aspect-ratio: 1;
    bottom: auto;
    top: 0.6rem;
    left: auto;
    right: 0.6rem;
    transform: none;
  }
}
@media screen and (min-width: 768px) {
  .product-variation-select .c-modal__content:has(#colorArea) {
    width: 100%;
    height: 100%;
  }
}
.product-variation-select__product {
  padding: 1.5rem 1.5rem 2rem;
  background-color: var(--color-bg-gray-medium);
}
@media screen and (min-width: 768px) {
  .product-variation-select__product {
    padding: 1.5rem 3rem 1.5rem 5rem;
  }
}
.product-variation-select__product--inner {
  display: grid;
  grid-template-columns: 6rem 1fr auto;
  gap: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .product-variation-select__product--inner #dvSelectedItemPrice {
    grid-column: 1/3;
    justify-self: end;
  }
}
@media screen and (min-width: 768px) {
  .product-variation-select__product--inner {
    grid-template-columns: 6.5rem 1fr auto;
    align-items: center;
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .product-variation-select__product--price {
    grid-column: 1/3;
    text-align: right;
  }
}
.product-variation-select__product--heading {
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  line-height: 1;
}
.product-variation-select__product--brand {
  font-size: 1.2rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--color-text-gray);
}
.product-variation-select__product--variation {
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--color-text-gray);
}
.product-variation-select__product--name {
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__product--name {
    font-size: 1.5rem;
  }
}
.product-variation-select__product--add-favorite {
  height: fit-content;
  align-self: center;
}
.product-variation-select__product--add-favorite :where(svg path) {
  transition: fill var(--transition-default), stroke var(--transition-default);
}
.product-variation-select__product--add-favorite :where(.added svg path) {
  fill: var(--color-gender, var(--color-gender-women));
  stroke: var(--color-gender, var(--color-gender-women));
}
.product-variation-select__color {
  padding-block: 1.5rem;
  background-color: var(--color-bg-gray-light);
}
@media screen and (min-width: 768px) {
  .product-variation-select__color {
    overflow-x: auto;
    width: 100%;
    scrollbar-gutter: auto;
  }
}
.product-variation-select__color--heading {
  padding-left: 2rem;
  font-size: 1.5rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .product-variation-select__color--heading {
    padding-left: 5rem;
  }
}
.product-variation-select__color--container {
  padding-inline: 2rem;
  padding-bottom: 0.5rem;
  margin-top: 1.5rem;
  width: 100%;
  overflow-x: auto;
}
@media screen and (min-width: 768px) {
  .product-variation-select__color--container {
    padding-left: 5rem;
  }
}
.product-variation-select__color--wrapper {
  display: flex;
  column-gap: 0.5rem;
  width: max-content;
}
@media screen and (min-width: 768px) {
  .product-variation-select__color--wrapper {
    gap: 1rem;
  }
}
.product-variation-select__color--item {
  width: 15.2rem;
  height: 100%;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .product-variation-select__color--item {
    padding: 0;
    width: 18.5rem;
  }
}
.product-variation-select__color--label {
  padding: 0.9rem;
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 1rem;
  align-items: center;
  cursor: pointer;
  background-color: var(--color-white);
  border: 1px solid var(--color-secondary);
  border-radius: 1.2rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__color--label {
    padding: 0.8rem;
    grid-template-columns: 7.5rem 1fr;
  }
}
.product-variation-select__color--label:has(input:checked) {
  border: 2px solid var(--color-gender, var(--color-gender-women));
}
.product-variation-select__color--label :where(input) {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 2rem;
  height: 2rem;
  margin: 0;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .product-variation-select__color--label :where(input) {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.product-variation-select__color--label :where(input:checked) {
  background-color: var(--color-gender, var(--color-gender-women));
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.54%22%20height%3D%229.428%22%20viewBox%3D%220%200%2012.54%209.428%22%3E%20%3Cpath%20d%3D%22M34.529%2C84.481l-5.544%2C5.544a.412.412%2C0%2C0%2C1-.583%2C0l-2.569-2.569a.412.412%2C0%2C0%2C0-.583%2C0L24.3%2C88.4a.412.412%2C0%2C0%2C0%2C0%2C.583l4.1%2C4.1a.412.412%2C0%2C0%2C0%2C.583%2C0l7.075-7.075a.413.413%2C0%2C0%2C0%2C0-.583l-.948-.948A.412.412%2C0%2C0%2C0%2C34.529%2C84.481Z%22%20transform%3D%22translate(-23.931%20-84.07)%22%20fill%3D%22%23fff%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%220.5%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 1.2rem 0.885rem;
  background-position: center;
}
.product-variation-select__color--name {
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.08em;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .product-variation-select__color--name {
    font-size: 1.4rem;
    line-height: 1.3929;
  }
}
.product-variation-select__color--soldout {
  display: grid;
  place-content: center;
  position: absolute;
  top: 0;
  left: 0;
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.15em;
  line-height: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(116, 107, 111, 0.7);
  border-radius: 1.2rem;
  color: var(--color-white);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .product-variation-select__color--soldout {
    font-size: 1.5rem;
  }
}
.product-variation-select__size {
  padding: 2rem 1.5rem 6rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__size {
    padding-inline: 5rem;
  }
}
.product-variation-select__size--heading {
  font-size: 1.5rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  line-height: 1;
}
.product-variation-select__size--wrapper {
  margin-top: 1.5rem;
}
.product-variation-select__size--item {
  padding-block: 1.5rem;
  display: grid;
  grid-template-areas: "name price ." "stock_message quantity add_favorite" "icon add_cart add_favorite";
  grid-template-columns: 1fr 16rem 4rem;
  grid-template-rows: repeat(3, auto);
  row-gap: 0.6rem;
  border-bottom: 1px solid #E2E2E2;
}
.product-variation-select__size--item:first-of-type {
  border-top: 1px solid #E2E2E2;
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--item {
    grid-template-areas: "name stock_message price quantity add_cart add_favorite" "name icon price quantity add_cart add_favorite";
    grid-template-columns: 9rem 1fr auto 15rem 22rem 4.5rem;
    grid-template-rows: repeat(2, auto);
    row-gap: 0.5rem;
  }
}
.product-variation-select__size--name {
  grid-area: name;
  font-size: 1.6rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.08em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--name {
    display: grid;
    align-items: center;
    width: 100%;
    height: 100%;
    border-right: 1px solid var(--color-secondary);
  }
}
.product-variation-select__size--stock-message {
  grid-area: stock_message;
  font-size: 1.2rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.08em;
  line-height: 1.375;
  color: var(--color-text-gray);
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--stock-message {
    padding-left: 1.5rem;
    font-size: 1.3rem;
  }
}
.product-variation-select__size--icon-list {
  grid-area: icon;
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--icon-list {
    padding-left: 1.5rem;
  }
}
.product-variation-select__size--icon-list :where(img) {
  width: auto;
  height: 2rem;
}
.product-variation-select__size--select-quanity {
  grid-area: quantity;
  display: grid;
  grid-template-areas: "button_minus quantity_label button_plus";
  grid-template-columns: 3rem 5rem 3rem;
  grid-template-rows: repeat(1, 3rem);
  justify-content: flex-end;
  align-content: center;
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--select-quanity {
    grid-template-columns: 4rem 6rem 4rem;
    grid-template-rows: repeat(1, 4rem);
    justify-content: left;
  }
}
.product-variation-select__size--select-quanity button {
  padding: 0;
  background-color: var(--color-white);
  color: var(--color-text-default);
  border: 0.1rem solid var(--color-secondary);
  font-size: 2.5rem;
  font-weight: var(--fw-medium);
  text-align: center;
  transition: background-color 0.2s;
  cursor: pointer;
}
.product-variation-select__size--select-quanity button:hover {
  background-color: var(--color-bg-gray-light);
}
.product-variation-select__size--select-quanity button[disabled] {
  color: var(--color-text-gray);
  background-color: var(--color-bg-gray-light);
  pointer-events: none;
}
.product-variation-select__size--select-quanity label {
  grid-area: quantity_label;
  color: var(--color-text-default);
  background-color: var(--color-white);
  border: 0.1rem solid var(--color-secondary);
  font-size: 1.3rem;
  font-weight: var(--fw-bold);
  text-align: center;
  align-content: center;
  border-radius: 0px;
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--select-quanity label {
    color: var(--color-text-default);
    font-size: 1.3rem;
  }
}
.product-variation-select__size--select-quanity .quantityMinus {
  grid-area: button_minus;
  border-radius: 0.5rem 0rem 0rem 0.5rem;
  border-right: none;
}
.product-variation-select__size--select-quanity .quantityPlus {
  grid-area: button_plus;
  border-radius: 0rem 0.5rem 0.5rem 0rem;
  border-left: none;
}
.product-variation-select__size--price {
  grid-area: price;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-en);
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--price {
    padding-right: 1.5rem;
  }
}
.product-variation-select__size--add-cart {
  grid-area: add_cart;
}
.product-variation-select__size--add-favorite {
  grid-area: add_favorite;
  height: fit-content;
  align-self: center;
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--add-favorite {
    padding-left: 1rem;
  }
}
.product-variation-select__size--add-favorite svg path {
  transition: fill var(--transition-default), stroke var(--transition-default);
}
.product-variation-select__size--add-favorite.added svg path {
  fill: var(--color-gender, var(--color-gender-women));
  stroke: var(--color-gender, var(--color-gender-women));
}
.product-variation-select__size--button {
  display: grid;
  grid-template-columns: 2.5rem 1fr 2.5rem;
  justify-items: center;
  align-items: center;
  padding: 0.8rem 0.4rem;
  font-family: var(--font-main);
  font-size: 1.3rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  line-height: 1;
  width: 100%;
  background-color: var(--color-gender, var(--color-gender-women));
  text-decoration: none;
  color: var(--color-white);
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__size--button {
    grid-template-columns: 3rem 1fr 3rem;
    font-size: 1.5rem;
  }
}
.product-variation-select__size--button[data-theme=arrival-mail] {
  background-color: var(--color-black-fill);
}
.product-variation-select__size--button[data-theme=soldout] {
  background-color: #ccc;
  pointer-events: none;
}
.product-variation-select__size--button :where(svg) {
  aspect-ratio: 1;
}
.product-variation-select__size--button-text {
  padding-left: 1rem;
}
.product-variation-select__actions {
  overflow-y: auto;
}
.product-variation-select__price--wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__price--wrapper {
    flex-direction: column;
  }
}
.product-variation-select__price--discount-rate {
  padding: 0.4rem;
  font-size: 1.1rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.1em;
  line-height: 1;
  background-color: var(--color-emphasis);
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .product-variation-select__price--discount-rate {
    margin-bottom: 0.2rem;
    font-size: 1.2rem;
    align-self: end;
  }
}
.product-variation-select__price--discount {
  font-size: 1.5rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.08em;
  line-height: 1;
}
.product-variation-select__price--discount + .product-variation-select__price--proper {
  color: var(--color-emphasis);
}
.product-variation-select__price--proper {
  font-size: 1.8rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.08em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .product-variation-select__price--proper {
    font-size: 2rem;
  }
}
.product-variation-select__action-content {
  padding-top: var(--margin-xs);
  padding-inline: var(--margin-xxs);
}
@media screen and (min-width: 768px) {
  .product-variation-select__action-content {
    padding-top: var(--margin-m);
    padding-inline: 0;
    margin-inline: auto;
    width: 88%;
  }
}
.product-variation-select .product-arrivalmail__lead {
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  line-height: 1.6071;
}
.product-variation-select .product-arrivalmail__block {
  padding: var(--margin-m) var(--margin-xs) 9rem;
  margin-top: var(--margin-xs);
  background-color: var(--color-bg-gray-light);
}
@media screen and (min-width: 768px) {
  .product-variation-select .product-arrivalmail__block {
    padding: var(--margin-m) 3.5rem;
    margin-top: var(--margin-s);
    border-radius: 2rem;
  }
}
.product-variation-select .product-arrivalmail__heading {
  font-size: 1.4rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.1em;
  line-height: 1.6071;
}
@media screen and (min-width: 768px) {
  .product-variation-select .product-arrivalmail__heading {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
.product-variation-select .product-arrivalmail__content {
  margin-top: var(--margin-xs);
}
.product-variation-select__input--wrap {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__input--wrap {
    margin-top: 2rem;
  }
}
.product-variation-select__input--text {
  padding: 1rem 1.5rem;
  box-sizing: border-box;
  width: 100%;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  line-height: 1;
  border: 1px solid var(--color-secondary);
  border-radius: var(--margin-xxxxs);
}
@media screen and (min-width: 768px) {
  .product-variation-select__input--text {
    max-width: 50rem;
  }
}
.product-variation-select__input--text::placeholder {
  font-size: 1.2rem;
  color: var(--color-gray-light);
}
@media screen and (min-width: 768px) {
  .product-variation-select__input--text::placeholder {
    font-size: 1.4rem;
  }
}
.product-variation-select__input--check {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__input--check {
    gap: 1rem;
  }
}
.product-variation-select__input--check :where(input[type=checkbox]) {
  margin-top: 0.3rem;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  background-color: var(--color-white);
  border: 1px solid #ccc;
  border-radius: 0.2rem;
  appearance: none;
  -webkit-appearance: none;
}
.product-variation-select__input--check :where(input[type=checkbox]):checked {
  background-color: var(--color-gender);
  border-color: var(--color-gender);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229.781%22%20height%3D%227.02%22%20viewBox%3D%220%200%209.781%207.02%22%3E%20%3Cpath%20d%3D%22M583.233%2C483.626l-4.028-3.9%2C1.3-1.347%2C2.71%2C2.623%2C4.449-4.4%2C1.318%2C1.333Z%22%20transform%3D%22translate(-579.205%20-476.606)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 0.98rem 0.7rem;
}
.product-variation-select__input--check :where(label) {
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.08em;
  line-height: 1.6154;
}
.product-variation-select__check--wrap:nth-of-type(n+2) {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__check--wrap:nth-of-type(n+2) {
    margin-top: 1.5rem;
  }
}
.product-variation-select__option--block {
  padding-inline: 1.5rem;
  padding-block: 2rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__option--block {
    padding-inline: 5rem;
  }
}
.product-variation-select__option--block:nth-of-type(n+2) {
  border-top: 1px solid #EEE;
}
@media screen and (min-width: 768px) {
  .product-variation-select__option--block:nth-of-type(n+2) {
    border-top-style: dashed;
  }
}
.product-variation-select__option--label {
  margin-bottom: 1.5rem;
  font-size: 1.4rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  .product-variation-select__option--label {
    font-size: 1.5rem;
  }
}
.product-variation-select__option--content:nth-of-type(n+2) {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__option--content:nth-of-type(n+2) {
    margin-top: 1rem;
  }
}
.product-variation-select__option--content .c-form__input--select {
  max-width: 30rem;
  padding-right: 4rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%20%3Cg%20transform%3D%22translate(-919%20-349)%22%3E%20%3Crect%20width%3D%2230%22%20height%3D%2230%22%20transform%3D%22translate(919%20349)%22%20fill%3D%22rgba(255%2C255%2C255%2C0)%22%2F%3E%20%3Cpath%20d%3D%22M21%2C18l5%2C5-5%2C5%22%20transform%3D%22translate(957%20340.5)%20rotate(90)%22%20fill%3D%22none%22%20stroke%3D%22%231d181a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.2%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 3rem;
  background-position: center right 0.5rem;
}
.product-variation-select__option--content .c-form__input--check {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  gap: 0 1rem;
}
.product-variation-select__option--content .c-form__input--check > br {
  display: none;
}
.product-variation-select__option--content .c-form__input--check .c-input__check {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  border: 1px solid #ccc;
  border-radius: 0.2rem;
  background-color: var(--color-white);
}
.product-variation-select__option--content .c-form__input--check .c-input__check:checked {
  background-color: var(--color-gender, var(--color-gender-women));
  border-color: var(--color-gender, var(--color-gender-women));
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.042%22%20height%3D%229.36%22%20viewBox%3D%220%200%2013.042%209.36%22%3E%20%3Cpath%20d%3D%22M580.074%2C479.87l4.493%2C4.348%2C6.8-6.722%22%20transform%3D%22translate(-579.205%20-476.606)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.5%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 1.2rem;
  background-position: center center;
}
.product-variation-select__option--content .c-form__input--check .c-input__check:checked::before {
  content: none;
}
.product-variation-select__option--content .c-form__input--radio {
  gap: 0 1rem;
}
.product-variation-select__option--content .c-input__textarea {
  padding: 1.4rem 1.5rem;
  width: 100%;
  min-height: 13rem;
  resize: vertical;
  border: 1px solid var(--color-secondary);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .product-variation-select__option--content .c-input__textarea {
    width: 62.5%;
  }
}
.product-variation-select__bottom-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding: 1rem 0 calc(1rem + env(safe-area-inset-bottom));
  position: sticky;
  bottom: 0;
  background-color: rgba(221, 221, 221, 0.8);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
@media screen and (min-width: 768px) {
  .product-variation-select__bottom-bar {
    padding: 1.2rem 0;
  }
}
.product-variation-select__bottom-bar .c-button__primary {
  display: grid;
  grid-template-columns: 3rem 1fr 3rem;
  align-items: center;
  padding: 0.8rem 1.05rem;
  margin-inline: 0;
  font-size: 1.4rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  line-height: 1;
  text-align: center;
  width: 29.5rem;
  height: 100%;
  background-color: var(--color-gender, var(--color-gender-women));
  border-radius: 0.5rem;
  text-decoration: none;
}
.product-variation-select__bottom-bar .c-button__primary::before {
  aspect-ratio: 1;
  width: 100%;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.product-variation-select__bottom-bar .c-button__primary.require-input {
  background-color: var(--color-gray-light);
  align-items: start;
  pointer-events: none;
}
.product-variation-select__bottom-bar .c-button__primary.require-input::after {
  content: "(必須項目を入力してください)";
  display: block;
  position: absolute;
  left: 52%;
  transform: translateX(-50%);
  bottom: 1.7em;
  font-size: 1rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.15em;
  line-height: 1;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .product-variation-select__bottom-bar .c-button__primary.require-input::after {
    left: 51%;
    bottom: 1.9em;
  }
}
.product-variation-select__bottom-bar .c-button__primary[data-icon=mail]::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_01%22%20data-name%3D%2201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%20%3Crect%20width%3D%2230%22%20height%3D%2230%22%20fill%3D%22rgba(255%2C255%2C255%2C0)%22%20opacity%3D%220.5%22%2F%3E%20%3Cpath%20d%3D%22M922.9%2C3954.27a.9.9%2C0%2C0%2C1-.9-.9V3941.9a.9.9%2C0%2C0%2C1%2C.9-.9h13.105a.9.9%2C0%2C0%2C1%2C.582.269h0c.016.017.031.033.046.051h0l.01.012h0a.9.9%2C0%2C0%2C1%2C.194.481v.038c0%2C.015%2C0%2C.028%2C0%2C.042v11.472a.9.9%2C0%2C0%2C1-.9.9Zm.9-1.8h11.244v-8.764l-5.08%2C3.829a.9.9%2C0%2C0%2C1-.542.181.893.893%2C0%2C0%2C1-.545-.184l-5.077-3.863Zm5.625-6.783%2C3.83-2.887h-7.624Z%22%20transform%3D%22translate(-914.422%20-3932.635)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}
.product-variation-select__bottom-bar .c-button__primary[data-icon=cart]::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225%22%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%3E%20%3Crect%20width%3D%2225%22%20height%3D%2225%22%20fill%3D%22rgba(255%2C255%2C255%2C0)%22%20opacity%3D%220.5%22%2F%3E%20%3Cpath%20d%3D%22M-2291.774%2C4025.935a1.207%2C1.207%2C0%2C0%2C1%2C1.2-1.2%2C1.207%2C1.207%2C0%2C0%2C1%2C1.2%2C1.2%2C1.208%2C1.208%2C0%2C0%2C1-1.2%2C1.2A1.207%2C1.207%2C0%2C0%2C1-2291.774%2C4025.935Zm-7.022%2C0a1.207%2C1.207%2C0%2C0%2C1%2C1.2-1.2%2C1.207%2C1.207%2C0%2C0%2C1%2C1.2%2C1.2%2C1.207%2C1.207%2C0%2C0%2C1-1.2%2C1.2A1.207%2C1.207%2C0%2C0%2C1-2298.8%2C4025.935Zm.12-3.222a1.429%2C1.429%2C0%2C0%2C1-1.111-1.127l-1.751-8.919h-2.524a.834.834%2C0%2C0%2C1-.834-.833.833.833%2C0%2C0%2C1%2C.834-.833h2.721a1.429%2C1.429%2C0%2C0%2C1%2C1.4%2C1.152l.438%2C2.232h9.847a1.427%2C1.427%2C0%2C0%2C1%2C1.067.479%2C1.431%2C1.431%2C0%2C0%2C1%2C.35%2C1.117l-.658%2C5.5a1.425%2C1.425%2C0%2C0%2C1-1.146%2C1.236%2C22.772%2C22.772%2C0%2C0%2C1-4.366.43A21%2C21%2C0%2C0%2C1-2298.676%2C4022.712Zm.494-1.6a20.116%2C20.116%2C0%2C0%2C0%2C7.65%2C0l.606-5.063h-9.25Z%22%20transform%3D%22translate(2308.895%20-4007)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}
.product-variation-select__bottom-bar .c-button__outline {
  padding: 1.65rem 1rem;
  font-size: 1.2rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.15em;
  line-height: 1;
  width: fit-content;
  text-decoration: none;
  background-color: var(--color-white);
  border: 1px solid var(--color-black-text);
  border-radius: 0.5rem;
  color: var(--color-text-default);
}
@media screen and (min-width: 768px) {
  .product-variation-select__bottom-bar .c-button__outline {
    padding: 1.4rem 3.864rem;
    font-size: 1.5rem;
  }
}
.product-variation-select__bottom-bar .c-button__outline + .c-button__primary {
  width: 21rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select__bottom-bar .c-button__outline + .c-button__primary {
    width: 30rem;
    grid-template-columns: 100%;
  }
}
@media screen and (min-width: 768px) {
  .product-variation-select__bottom-bar .c-button__outline + .c-button__primary::before {
    content: none;
  }
}
.product-variation-select__product-slider:not(:empty) {
  margin-inline: auto;
  padding-block: 2rem;
  width: 92%;
}
@media screen and (min-width: 768px) {
  .product-variation-select__product-slider:not(:empty) {
    padding: 2.5rem 0 2rem;
    width: calc(100% - 10rem);
  }
}
.product-variation-select__product-slider:not(:empty):nth-of-type(n+2) {
  border-top: 1px solid #eee;
}
.product-variation-select__recommend--title {
  font-size: 1.3rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .product-variation-select__recommend--title {
    font-size: 1.5rem;
  }
}
.product-variation-select__recommend--slider {
  margin-top: 1.5rem;
}
.product-variation-select__recommend--slider:not(.swiper-initialized) {
  height: 23rem;
}
.product-variation-select [id^=recommender_] {
  margin-inline: auto;
  position: relative;
  transition: opacity var(--transition-default);
  width: 100%;
  box-shadow: none;
  border-radius: 0;
}
.product-variation-select [id^=recommender_]:not(.swiper-initialized) {
  height: 23rem;
  opacity: 0;
}
.product-variation-select [id^=recommender_].swiper-initialized {
  opacity: 1;
}
.product-variation-select [id^=recommender_] .swiper-slide:nth-child(n+2) {
  border: none;
}
.product-variation-select .add-cart-slider__item--link {
  text-decoration: none;
  color: var(--color-text-default);
}
.product-variation-select .add-cart-slider__item--image {
  width: 100%;
  aspect-ratio: 1;
  border: 1px solid #f7f7f7;
}
.product-variation-select .add-cart-slider__item--brand {
  margin-top: 1rem;
  font-size: 1.1rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.08em;
  line-height: 1.6364;
  color: var(--color-text-gray);
}
.product-variation-select .add-cart-slider__item--name {
  margin-top: 1rem;
  padding-inline: 0;
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.product-variation-select .add-cart-slider__item--price {
  margin-top: 1rem;
  padding-inline: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.product-variation-select .add-cart-slider__item--price:has(.dv_rc_price:not(:empty)) {
  color: var(--color-emphasis);
}
.product-variation-select .add-cart-slider__item--price {
  font-family: var(--font-main);
  font-size: 1.4rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.08em;
  line-height: 1.3929;
  display: flex;
  flex-wrap: wrap;
}
.product-variation-select .add-cart-slider__item--price-numric.discount {
  color: var(--color-emphasis);
}
.product-variation-select .add-cart-slider__item--discount-rate:not(:empty) {
  padding: 0.3rem 0.5rem;
  display: block;
  width: fit-content;
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.08em;
  line-height: 1;
  background-color: var(--color-emphasis);
  color: var(--color-white);
}
.product-variation-select .add-cart-slider__control {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: 3rem 1fr 3rem;
}
.product-variation-select .add-cart-slider__control .swiper-pagination-bullets {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .product-variation-select .add-cart-slider__control .swiper-pagination-bullets {
    gap: 2rem;
  }
}
.product-variation-select .add-cart-slider__control .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
  width: 0.4rem;
  height: 0.4rem;
  background-color: #dedede;
  opacity: 1;
}
.product-variation-select .add-cart-slider__control .swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: var(--color-black-text);
}
.product-variation-select .add-cart-slider__arrow {
  padding: 0;
}
.product-variation-select .modal-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 0;
}

/*# sourceMappingURL=product_variation-select.css.map */
