@charset "UTF-8";

button {
  cursor: pointer
}

.button {
  width: 100%;
  padding: var(--sp-spacing-16) var(--sp-spacing-32);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: var(--rd-radius-full);
  font-size: 16px;
  line-height: 150%;
  font-weight: 400;
  font-weight: 500;
  text-align: center
}

.button:has(.button__inner br) {
  padding: var(--sp-spacing-8) var(--sp-spacing-32)
}

.button.-primary {
  background: var(--clr-button-red);
  color: var(--clr-bg-white)
}

.button.-primary.-tel:before {
  background: var(--clr-text-white)
}

@media (min-width: 961px) {
  .button.-primary:hover {
    background: var(--clr-button-red-hover)
  }
}

.button.-secondary {
  background: var(--clr-bg-white);
  color: var(--clr-text-red);
  border: 1px solid var(--clr-border-red)
}

.button.-secondary.-tel:before {
  background: var(--clr-text-red)
}

@media (min-width: 961px) {
  .button.-secondary:hover {
    background: var(--clr-bg-palered)
  }
}

.button:disabled, .button.-disabled {
  background: var(--clr-bg-middlegray);
  color: var(--clr-text-white);
  pointer-events: none;
  cursor: not-allowed
}

.button[target=_blank] {
  gap: var(--sp-spacing-6)
}

.button[target=_blank]:after {
  content: "";
  width: 20px;
  height: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask: url(/html/template/default/assets/img/icon_blank.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_blank.svg) no-repeat center/contain
}

.button[target=_blank].-primary:after {
  background: var(--clr-text-white)
}

.button[target=_blank].-secondary:after {
  background: var(--clr-text-red)
}

.button[target=_blank].-disabled:after {
  background: var(--clr-text-white)
}

.button.-whatsapp, .button.-tel {
  gap: var(--sp-spacing-8)
}

.button.-whatsapp:before, .button.-tel:before {
  content: "";
  width: 24px;
  height: auto;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.button.-whatsapp {
  color: var(--clr-text-white);
  background: var(--clr-whatsapp)
}

@media (min-width: 961px) {
  .button.-whatsapp:hover {
    opacity: .7
  }
}

.button.-whatsapp:before {
  background: var(--clr-text-white);
  -webkit-mask: url(/html/template/default/assets/img/icon_whatsapp-white.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_whatsapp-white.svg) no-repeat center/contain
}

.button.-whatsapp:after {
  content: none
}

.button.-tel:before {
  -webkit-mask: url(/html/template/default/assets/img/icon_call.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_call.svg) no-repeat center/contain
}

.button__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.button.sp-only {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media (min-width: 961px) {
  .button.sp-only {
    display: none
  }
}

.button.pc-only {
  display: none
}

@media (min-width: 961px) {
  .button.pc-only {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

.slide-button {
  cursor: pointer;
  width: 32px;
  height: 32px;
  background-color: var(--clr-text-sub);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: var(--rd-radius-full);
  position: absolute;
  z-index: 2
}

.slide-button:before {
  content: "";
  width: 24px;
  height: 24px;
  background: var(--clr-text-white);
  -webkit-mask: url(/html/template/default/assets/img/icon_arrow.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_arrow.svg) no-repeat center/contain
}

@media (min-width: 961px) {
  .slide-button:hover {
    background: var(--clr-bg-black)
  }
}

.slide-button.-prev {
  rotate: 90deg;
  left: 0
}

.slide-button.-next {
  rotate: -90deg;
  right: 0
}

.slide-button.swiper-button-disabled {
  display: none
}

.slide-pagination {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: var(--sp-spacing-10)
}

.slide-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--clr-bg-middlegray);
  border-radius: var(--rd-radius-full)
}

.slide-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--clr-text-red)
}

.text-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: var(--sp-spacing-6) 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: var(--sp-spacing-4);
  font-size: 16px;
  line-height: 150%;
  font-weight: 400;
  font-weight: 500;
  cursor: pointer
}

.text-link:after {
  content: "";
  width: 20px;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: var(--clr-text-black);
  -webkit-mask: url(/html/template/default/assets/img/icon_arrow.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_arrow.svg) no-repeat center/contain;
  rotate: -90deg
}

.text-link:before {
  content: "";
  width: 20px;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: var(--clr-text-black);
  -webkit-mask: url(/html/template/default/assets/img/icon_arrow.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_arrow.svg) no-repeat center/contain;
  rotate: 90deg
}

@media (min-width: 961px) {
  .text-link:hover {
    color: var(--clr-text-red)
  }

  .text-link:hover:before {
    background: var(--clr-text-red)
  }

  .text-link:hover:after {
    background: var(--clr-text-red)
  }
}

.text-link.-next:before {
  display: none
}

.text-link.-prev:after {
  display: none
}

.text-link.-top:before {
  -webkit-mask: url(/html/template/default/assets/img/icon_arrow-upward.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_arrow-upward.svg) no-repeat center/contain;
  rotate: 0deg
}

.text-link.-top:after {
  content: none
}

@media (min-width: 961px) {
  .text-link.-top:hover {
    color: var(--clr-text-red)
  }

  .text-link.-top:hover:before {
    background: var(--clr-text-red)
  }
}

.text-link.-add:before {
  content: "";
  -webkit-mask: url(/html/template/default/assets/img/icon_add.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_add.svg) no-repeat center/contain;
  rotate: 0deg
}

.text-link.-add:after {
  content: none
}

@media (min-width: 961px) {
  .text-link.-add:hover {
    color: var(--clr-text-red)
  }

  .text-link.-add:hover:before {
    background: var(--clr-text-red)
  }
}

.text-link.-add.-is-slider {
  font-size: 16px;
  line-height: 150%;
  font-weight: 400;
  font-weight: 500
}

.text-link.-add.-is-slider .when-closed {
  display: block
}

.text-link.-add.-is-slider .when-opened {
  display: none
}

.text-link.-add.-is-slider.-is-open:before {
  -webkit-mask: url(/html/template/default/assets/img/icon_remove.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_remove.svg) no-repeat center/contain
}

.text-link.-add.-is-slider.-is-open .when-closed {
  display: none
}

.text-link.-add.-is-slider.-is-open .when-opened {
  display: block
}

.tag-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: var(--sp-spacing-8) var(--sp-spacing-16);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: var(--sp-spacing-10);
  border-radius: var(--rd-radius-full);
  border: 1px solid var(--clr-border-darkgray);
  background: var(--clr-bg-white);
  font-size: 12px;
  line-height: 150%;
  font-weight: 400;
  color: var(--clr-text-sub)
}

@media (min-width: 961px) {
  .tag-button:hover {
    background: var(--clr-bg-middlegray)
  }
}

.tag-button.-is-active {
  background: var(--clr-bg-darkgray);
  color: var(--clr-bg-white);
  border: 1px solid transparent
}

.share-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: var(--sp-spacing-6) var(--sp-spacing-10);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: var(--sp-spacing-4);
  border-radius: var(--rd-radius-Lv1);
  border: 1px solid var(--clr-border-middlegray);
  background: var(--clr-bg-white);
  font-size: 12px;
  line-height: 150%;
  font-weight: 400;
  font-weight: 600;
  line-height: 1;
  color: var(--clr-text-sub)
}

.share-button:before {
  content: "";
  width: 20px;
  height: 20px;
  background: var(--clr-text-sub);
  -webkit-mask: url(/html/template/default/assets/img/icon_share.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_share.svg) no-repeat center/contain
}

@media (min-width: 961px) {
  .share-button:hover {
    background: var(--clr-bg-palegray)
  }
}

.share-button.-is-active {
  background: var(--clr-bg-black);
  border: 1px solid var(--clr-bg-black);
  color: var(--clr-text-white)
}

.share-button.-is-active:before {
  background: var(--clr-text-white)
}

.favorite-checkbox {
  width: 100%;
  padding: var(--sp-spacing-16) var(--sp-spacing-24);
  display: grid;
  grid-template-columns: 20px auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: var(--sp-spacing-4);
  position: relative;
  border-radius: var(--rd-radius-Lv1);
  border: 1px solid var(--clr-border-middlegray);
  background: var(--clr-bg-white);
  font-size: 16px;
  line-height: 150%;
  font-weight: 400;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.favorite-checkbox .favorite-checkbox__unchecked {
  color: var(--clr-text-sub);
  display: inline-block
}

.favorite-checkbox .favorite-checkbox__checked {
  color: var(--clr-text-red);
  display: none
}

.favorite-checkbox:before {
  content: "";
  width: 20px;
  height: 20px;
  background: var(--clr-text-red);
  -webkit-mask: url(/html/template/default/assets/img/icon_favorite-before.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_favorite-before.svg) no-repeat center/contain
}

@media (min-width: 961px) {
  .favorite-checkbox:hover {
    background: var(--clr-bg-palegray)
  }
}

.favorite-checkbox:has(input:checked) {
  background: var(--clr-bg-palered)
}

.favorite-checkbox:has(input:checked):before {
  -webkit-mask: url(/html/template/default/assets/img/icon_favorite-after.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_favorite-after.svg) no-repeat center/contain;
  background: var(--clr-text-red)
}

.favorite-checkbox:has(input:checked) .favorite-checkbox__checked {
  display: inline-block
}

.favorite-checkbox:has(input:checked) .favorite-checkbox__unchecked {
  display: none
}

.favorite-checkbox input {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute
}

.helpful-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: var(--sp-spacing-6) var(--sp-spacing-10);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: var(--sp-spacing-4);
  border: 1px solid var(--clr-border-middlegray);
  border-radius: var(--rd-radius-Lv1)
}

.helpful-button:before {
  content: "";
  width: 14px;
  height: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: var(--clr-text-black);
  -webkit-mask: url(/html/template/default/assets/img/icon_thumb-up.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_thumb-up.svg) no-repeat center/contain
}

@media (min-width: 961px) {
  .helpful-button:hover {
    background: var(--clr-bg-palegray)
  }
}

.helpful-button__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: var(--sp-spacing-2);
  font-size: 10px;
  line-height: 150%;
  font-weight: 400;
  line-height: 1
}

.helpful-button__count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.load-more-button {
  padding: var(--sp-spacing-16) var(--sp-spacing-32);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: var(--sp-spacing-6);
  border-radius: var(--rd-radius-full);
  font-size: 16px;
  line-height: 150%;
  font-weight: 400;
  font-weight: 500;
  color: var(--clr-text-red);
  text-decoration: underline;
  z-index: 2
}

.load-more-button:before {
  content: "";
  width: 24px;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: var(--clr-text-red);
  -webkit-mask: url(/html/template/default/assets/img/icon_add.svg) no-repeat center/contain;
  mask: url(/html/template/default/assets/img/icon_add.svg) no-repeat center/contain
}

@media (min-width: 961px) {
  .load-more-button:hover {
    background: var(--clr-bg-palered)
  }
}

.load-more-button.-is-loading:before {
  -webkit-animation: rotateMask 1s linear infinite;
  animation: rotateMask 1s linear infinite
}

@-webkit-keyframes rotateMask {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0)
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@keyframes rotateMask {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0)
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}
