﻿
.loadingBackground {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  z-index: 100000;
  top: 0%;
  left: 0%;
  width: 100vw;
  height: 100vh;
}
.loaderWraper {
  background-color: #fff;
  position: fixed;
  z-index: 100000;
  top: 0%;
  left: 50%;
  width: 100svw;
  height: 100svh;
  transform: translate(-50%, 0%);
}
.loadingTitle {
  font-size: 2.5rem;
  font-weight: bold;
  margin: 15rem auto 0 auto;
  color: #fff;
  width: fit-content;
}
.loader {
  width: 5rem;
  height: 5rem;
  border: 0.5rem solid #fff;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  position: absolute;
  top: calc(50% - 5rem);
  left: calc(50% - 5rem);
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
.virtualMakeup {
  display: none;
  background-color: rgba(0, 0, 0, 1);
  position: fixed;
  z-index: 100000;
  top: 0%;
  left: 0%;
  width: 100vw;
  height: 100dvh;
  font-family: 'Noto Sans JP', 'Roboto', sans-serif;
}
#YMK-module {
  position: fixed;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 2;
}
#iVariationImage {
  display: block;
  aspect-ratio: 1;
  object-fit: contain; 
  width: 100%;
  max-width: 8.5rem;
  background-color: #fff; 
}
#functionButtonArea {
  display: flex;
  flex-direction: column;
  position: fixed;
  bottom: 30svh;
  right: 3.0rem;
  z-index: 2;
}
.functionbtn {
  color: #fff;
  cursor: pointer;
  width: 5.0rem;
  height: 5.0rem;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
}
.enableCompareBtn {
  background-image: url(/Contents/ImagesPkg/VirtualMakeupCustomImg/enableCompareBtn.png);
}
.resetBtn {
  background-image: url(/Contents/ImagesPkg/VirtualMakeupCustomImg/resetBtn.png);
}
.disableCompareBtn {
  display: none;
  background-image: url(/Contents/ImagesPkg/VirtualMakeupCustomImg/Close.png);
}
.title {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.33;
  padding: 2rem 0;
  border-bottom: 1px solid #DDDDDD;
}
.selectionArea {
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0%;
  left: 0%;
  z-index: 2;
}
.selectOption {
  max-width: 96rem;
  max-height: 25vh;
  position: fixed;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.selectOptionArea {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  z-index: 2;
}
.selectOptionArea .title {
  font-size: 1.3rem;
  border-bottom: none !important;
}
@media screen and (min-width: 768px) {
  .selectOptionArea .title {
    font-size: 1.5rem;
  }
}
.selectOptionArea .title {
  text-align:center;
  line-height: 1;
  background-color: #000000;
  color: #ffffff;
  font-size: 1.5rem;
  padding: .7rem 0;
}
.selectArea {
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-content: center;
  list-style: none;
  padding: 1.2rem 1.2rem calc(1.0rem) 1.2rem;
  cursor: pointer;
  height: calc(9.2rem);
  border-top: 1px solid #000;
}
.selectArea li{
  position: relative;
  text-align: center;
}
.selectArea li:not(:first-child)::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  height: calc(50 / 69 * 100%);
  width: 1px;
  background-color: #DDDDDD;
}
.categorySelectArea {
  display: none;
  width: 100%;
  position: fixed;
  top: 0%;
  left: 0;
  z-index: 2;
  background-color: #fff;
  height: 100svh;
  overflow-y: auto;
}
.virtualmakeup__selection-tab {
  padding-block: 1.5rem 0;
  border-block: 1px solid  #DDDDDD;
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  margin-bottom: 2rem;
}
.virtualmakeup__selection-tab-title {
  font-size: 1.3rem;
  line-height: 1.46;
  padding-inline: 2rem;
}
.m-select-slide {
  background-color: #fff;
  display: flex;
  list-style: none;
  padding: 0 2rem;
  overflow-x: auto;
  gap: 0.5rem;
  user-select: none;
  max-width: 100%;
  padding-bottom: 1.5rem;
}
.m-select-slide li {
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 1.5rem;
  border: 1px solid #20AFC9;
}
.m-select-slide li a {
  width: max-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-shrink: 0;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0;
  user-select: none;
  -webkit-user-drag: none;
  color: #20AFC9;
  padding-block: 0.3rem;
  padding-inline: 1.5rem;
  overflow: hidden;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.m-select-slide li a:focus,
.m-select-slide li a:hover {
  outline: none;
}
.m-select-slide li a.categoryActive,
.m-select-slide li a.brandActive {
  color: #fff;
  background-color: #20AFC9;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .virtualmakeup__selection-tab-title {
    font-size: 1.3rem;
  }
  .m-select-slide li a {
    font-size: 1.6rem;
  }
}
.brandSelectArea {
  position: relative;
  display: none;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #fff;
  height: 100svh;
  overflow-y: auto;
}
.recentProductArea {
  display: none;
  width: 100%;
  position: fixed;
  top: 0%;
  left: 0;
  z-index: 2;
  background-color: #fff;
  height: 100svh;
  text-align: center;
}
.recentProductListWrapper {
  overflow-y: auto;
  padding-bottom: 6.5rem;
}
.recentProductList li {
  flex: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  padding-block: 2rem;
  padding-inline: 2rem;
}
.recentProductList li label {
  display: none;
}
.recentProductList li input[type="checkbox"] {
  appearance: none;
  width: 2rem;
  height: 2rem;
  border: 1px solid #DDDDDD;
  border-radius: 0.2rem;
  margin-right: 2rem;
  flex-shrink: 0;
  position: relative;
}
.recentProductList li input[type="checkbox"]:checked::after {
  content: '';
  display: block;
  width: 1.3rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.587' height='10.521' viewBox='0 0 14.587 10.521'%3E%3Cpath id='パス_12' data-name='パス 12' d='M23.983,65.712l5.128,4.757,7.378-7.378' transform='translate(-22.963 -62.03)' fill='none' stroke='%2320afc9' stroke-width='3'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
#iVariationImage {
  flex-shrink: 0;
}
.recent-products__detail {
  padding-left: 1.5rem;
  text-align: left;
}
.productArea {
  margin-top: 3rem;
  padding-bottom: 8svh;
}
.productSelectArea {
  background-color: #fff;
  display: flex;
  list-style: none;
  padding: 1rem;
  margin-bottom: 0.5rem;
  overflow-x: none;
  gap: 1.6rem;
  user-select: none;
  border-bottom: solid 0.1rem #808080;
}
.productSelectArea li {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-left: 1rem;
  max-width: 15rem;
}
.productSelectArea li a{
  user-select: none;
  -webkit-user-drag: none;
  font-size: 1.2rem;
  height: 4rem;
  padding-bottom: 2rem;
}
.variationSelectArea {
  display: none;
  width: 100%;
  position: fixed;
  z-index: 2;
  bottom: calc(9.1rem + env(safe-area-inset-bottom));
  left: 0;
  background-color: #fff;
  border-bottom: 1px solid #000;
}
.variationSelect {
  display: flex;
  list-style: none;
  padding: 0 2rem;
  gap: 1.6rem;
  user-select: none;
  overflow-x: auto;
  -ms-overflow-style: none;
  /* scrollbar-width: none; */
  padding-bottom: 10px;
}
.variationSelect li {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 9.5rem;
}
.productDetail a { 
  margin-top: .5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
  font-size: 1.3rem;
  line-height: calc(17/13);
}
.displayProductDetail {
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(50%, -50%);
}
.virtualmakeup:has(.productDetailDesc[style="display: block;"]) .canvasCloseBtn {
  display: none;
}
.productDetailDesc {
  display: none;
  width: 100%;
  height: 100svh;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 5;
  background-color: rgba(0,0,0,0.9);
  overflow-y: auto;
}
.productDetailDesc .modal-inner {
  width: 100%;
  height: 84.7368421053svh;
  position: fixed;
  left: 0;
  bottom: 0;
  background-color: #fff;
  overflow-y: auto;
}
.productDetailDesc::before {
  content: '';
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 15.2631578947svh;
  background-color: rgba(0,0,0,0.7);
}
.productDetailDesc .m-close-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 5rem;
  height: 5rem;
}
.productDetailDesc p {
  margin-left: 1rem;
}
.add-cart {
  width: 100%;
  height: 6.5rem;
  position: fixed;
  z-index: 2;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.7);
  display: flex;
  justify-content: center;
  align-items: center;
}
.add-cart__button {
  width: 32rem;
  height: 4.5rem;
  border-radius: 2.25rem;
  font-size: 1.4rem;
  font-weight: 700;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFB72F;
  color: #000000;
}
.add-cart__button::after {
  content: '';
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg id='arrow' xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Crect id='長方形_17' data-name='長方形 17' width='15' height='15' fill='rgba(255,255,255,0)'/%3E%3Cpath id='パス_2' data-name='パス 2' d='M-25.012,869.5l5,5-5,5' transform='translate(29.512 -867)' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
}
/* .addCart:hover {
  background-color: #ff8900;
  color: #000000;
} */
.add-cart__button.disabled {
  background-color: #D0D0D0;
  color: #888888;
}
.add-cart__button.disabled::after {
  background-image: url("data:image/svg+xml,%3Csvg id='arrow' xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Crect id='長方形_17' data-name='長方形 17' width='15' height='15' fill='rgba(255,255,255,0)'/%3E%3Cpath id='パス_2' data-name='パス 2' d='M-25.012,869.5l5,5-5,5' transform='translate(29.512 -867)' fill='none' stroke='%23888' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-size: contain;
}
.disabled .m-front-block__arrow {
  background-image: url("data:image/svg+xml,%3Csvg id='arrow' xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Crect id='長方形_17' data-name='長方形 17' width='15' height='15' fill='rgba(255,255,255,0)'/%3E%3Cpath id='パス_2' data-name='パス 2' d='M-25.012,869.5l5,5-5,5' transform='translate(29.512 -867)' fill='none' stroke='%23888' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-size: contain;
}
.selectbtn {
  padding-top: 4.5rem;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.5rem;
}
.categorySelect,
.brandSelect,
.recentProduct {
  position: relative;
  display: block;
  width: 100%;
  color:#000000;
  cursor: pointer;
}
.categorySelect::before,
.brandSelect::before,
.recentProduct::before{
  content:"";
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 12rem;
  height: 4.8rem;
}
.categorySelect::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCAxMjAgNDgiPiA8ZyBpZD0iaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC4wMDgpIj4gPHJlY3QgaWQ9ImJhc2UiIHdpZHRoPSIxMjAiIGhlaWdodD0iNDgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDgpIiBmaWxsPSJyZ2JhKDI1NSwyNTUsMjU1LDApIi8+IDxwYXRoIGlkPSJpY29uXy1f44Kr44OG44K044OqIiBkYXRhLW5hbWU9Imljb24gLSDjgqvjg4bjgrTjg6oiIGQ9Ik0xMDI3Mi44NTUsMTQ5MDIuMWwtMjMuMS0yLjMzNmEyLjIzLDIuMjMsMCwwLDEtMi4wMS0yLjQzN2wxLjgwOS0xNy40ODgtMS4wMzEtLjEwOWExLjQ1NywxLjQ1NywwLDAsMS0xLjMxNC0xLjQ4bC4wMzktMS41MzFhMiwyLDAsMCwxLC4zNzktMS4xMTFsMi4zMTgtMy4yMjNhMi40MjIsMi40MjIsMCwwLDEsMS45NjUtMSwyLjE0OCwyLjE0OCwwLDAsMSwuMjUuMDE2bDI0LjE0NSwyLjQ0M2EyLjQsMi40LDAsMCwxLDEuOTY1LDEuNDFsMS42MTUsMy42MTNhMi4wMDgsMi4wMDgsMCwwLDEsLjE0MSwxLjE3MmwtLjI3MywxLjVhMS40NTksMS40NTksMCwwLDEtMS40MzksMS4xOTMsMS4yOTEsMS4yOTEsMCwwLDEtLjE1LS4wMDZsLTEuMDMxLS4xLTEuODA5LDE3LjQ4OGEyLjIzNCwyLjIzNCwwLDAsMS0yLjIzNCwyQTIuMjA4LDIuMjA4LDAsMCwxLDEwMjcyLjg1NSwxNDkwMi4xWm0tMjMuNi00LjYyM2EuNy43LDAsMCwwLC4xNTYuNTMxLjc0OS43NDksMCwwLDAsLjUuMjY4bDIzLjEsMi4zMzRhLjUxMS41MTEsMCwwLDAsLjA3NiwwLC43MzYuNzM2LDAsMCwwLC43MzItLjY1NGwxLjgtMTcuNDg2LTEuNDU1LS4xNS0uMzcxLDMuNmEyLjExOCwyLjExOCwwLDAsMS0yLjExNywxLjksMS4zNjYsMS4zNjYsMCwwLDEtLjIyMS0uMDE2bC02LjIxNS0uNjIxYTIuMTM2LDIuMTM2LDAsMCwxLTEuNDM5LS43NzUsMi4wODEsMi4wODEsMCwwLDEtLjQ2My0xLjU0MWwuMzY5LTMuNi0uNzM4LS4wNzQtLjM3MSwzLjZhMi4xMjQsMi4xMjQsMCwwLDEtMi4xMTksMS45LDEuNjc3LDEuNjc3LDAsMCwxLS4yMjEtLjAxNmwtNi4yMTUtLjYyOWEyLjA5MiwyLjA5MiwwLDAsMS0xLjQzMi0uNzY4LDIuMDU5LDIuMDU5LDAsMCwxLS40NzEtMS41NDNsLjM3MS0zLjYtMS40NTctLjE1Wm0xNS41ODgtMTIuNDU3YS42LjYsMCwwLDAsLjEzNy40NDUuNjIxLjYyMSwwLDAsMCwuNDIuMjNsNi4yMTEuNjIxYS42MTYuNjE2LDAsMCwwLC42ODItLjU0N2wuMzc1LTMuNi03LjQ1MS0uNzU0Wm0tMTEuMi0xLjEzMWEuNi42LDAsMCwwLC4xMzUuNDQ3LjYxMS42MTEsMCwwLDAsLjQyMi4yMjNsNi4yMTEuNjI5YS42MTcuNjE3LDAsMCwwLC42OC0uNTQ5bC4zNzMtMy42LTcuNDQ5LS43NTZabS0yLjQ3NS0xMC42MzEtMi4zMTgsMy4yMjFhLjQ2OC40NjgsMCwwLDAtLjA5NC4yODFsLS4wNDEsMS40ODQsMjkuNTQ5LDIuOTg4LjI2Ni0xLjQ2NWEuNDY4LjQ2OCwwLDAsMC0uMDM1LS4yOTNsLTEuNjExLTMuNjIzYS45LjksMCwwLDAtLjczNi0uNTI1bC0yNC4xNS0yLjQ0MWEuNjc3LjY3NywwLDAsMC0uMDg4LDBBLjkxMy45MTMsMCwwLDAsMTAyNTEuMTcsMTQ4NzMuMjU4Wm0tMjEuOTc1LDI4LjUyN2EyLjE4OCwyLjE4OCwwLDAsMS0yLjItMi4xNzJ2LTExLjE1NmEuNzU0Ljc1NCwwLDAsMSwuNzU4LS43NDhoLjQzMnYtOS45NjVhLjc1NC43NTQsMCwwLDEsLjc1OC0uNzQ2aC41MjV2LTMuOWExLjcxMywxLjcxMywwLDAsMSwuOS0xLjVsNC40NjktMi40MjRhMS40MzUsMS40MzUsMCwwLDEsMS40MjguMDI1LDEuNCwxLjQsMCwwLDEsLjcwOSwxLjIyOVYxNDg3N2guNTI1YS43NTUuNzU1LDAsMCwxLC43NTguNzQ2djkuOTY1aC40MzhhLjc1My43NTMsMCwwLDEsLjc1Mi43NDh2MTEuMTU2YTIuMTg4LDIuMTg4LDAsMCwxLTIuMiwyLjE3MlptLS42ODYtMi4xNzJhLjY4NC42ODQsMCwwLDAsLjY4Ni42NzhoOC4wNTNhLjY4NS42ODUsMCwwLDAsLjY4Ni0uNjc4di0xMC40MDhoLTkuNDI0Wm0xLjE4OS0xMS45aDcuMDQ1di05LjIxNWgtNy4wNDVabTEuMzk1LTE0Ljc5MWEuMi4yLDAsMCwwLS4xMDUuMTg0djMuOWg0LjQ3M3YtNi40NDlabTM5LjIxNywyNS45NjUtNi4yMTUtLjYyOWEyLjExNywyLjExNywwLDAsMS0xLjQzNi0uNzY2LDIuMDgyLDIuMDgyLDAsMCwxLS40NjctMS41NDVsLjYzMy02LjE0OGEyLjEyNCwyLjEyNCwwLDAsMSwyLjEyMy0xLjksMS42MTMsMS42MTMsMCwwLDEsLjIxNS4wMTZsNi4yMTUuNjI5YTIuMTE5LDIuMTE5LDAsMCwxLDEuNDQ1Ljc3NSwyLjA3NiwyLjA3NiwwLDAsMSwuNDU3LDEuNTM1bC0uNjMzLDYuMTQ2YTIuMTIzLDIuMTIzLDAsMCwxLTIuMTIzLDEuOUExLjU2NywxLjU2NywwLDAsMSwxMDI3MC4zMTEsMTQ4OTguODgzWm0tNS45ODItOC45MzYtLjYzMyw2LjE0OGEuNjA5LjYwOSwwLDAsMCwuMTM1LjQ0NS42LjYsMCwwLDAsLjQyMi4yMjNsNi4yMTEuNjI5YS42Mi42MiwwLDAsMCwuNjg0LS41NDNsLjYzMy02LjE1NGEuNi42LDAsMCwwLS4xMzctLjQ0My42MTEuNjExLDAsMCwwLS40MTYtLjIyNWwtNi4yMTUtLjYyN2EuMjMzLjIzMywwLDAsMC0uMDYyLS4wMDZBLjYyNC42MjQsMCwwLDAsMTAyNjQuMzI4LDE0ODg5Ljk0N1ptLTUuMjE1LDcuOC02LjIwOS0uNjI5YTIuMTE5LDIuMTE5LDAsMCwxLTEuNDQ3LS43NzUsMi4wNjcsMi4wNjcsMCwwLDEtLjQ1OS0xLjUzNWwuNjM1LTYuMTQ4YTIuMTE4LDIuMTE4LDAsMCwxLDIuMTE3LTEuODk1LDIuMDM0LDIuMDM0LDAsMCwxLC4yMjEuMDEybDYuMjExLjYyM2EyLjExOSwyLjExOSwwLDAsMSwxLjQ0NS43ODMsMi4wOSwyLjA5LDAsMCwxLC40NjMsMS41MzNsLS42MzcsNi4xNDZhMi4xMjMsMi4xMjMsMCwwLDEtMi4xMTcsMS45QTEuNzA3LDEuNzA3LDAsMCwxLDEwMjU5LjExMywxNDg5Ny43NVptLTUuOTc3LTguOTM0LS42MzcsNi4xNDNhLjYyNy42MjcsMCwwLDAsLjEzMy40NDkuNjQ1LjY0NSwwLDAsMCwuNDI0LjIyNWw2LjIwOS42MjdhLjYxOS42MTksMCwwLDAsLjY4NC0uNTQ3bC42MzctNi4xNDNhLjYyNi42MjYsMCwwLDAtLjU1Ny0uNjc0bC02LjIwOS0uNjI5YS40MTMuNDEzLDAsMCwwLS4wNywwQS42MTYuNjE2LDAsMCwwLDEwMjUzLjEzNywxNDg4OC44MTZabTIzLjgzLTguNTIzLTI2Ljc4My0yLjdhLjc2NC43NjQsMCwwLDEtLjUxMi0uMjc3LjcxNy43MTcsMCwwLDEtLjE2LS41NDUuNzQ3Ljc0NywwLDAsMSwuODI0LS42N2wyNi43ODEsMi43MDVhLjc1Ni43NTYsMCwwLDEsLjY4LjgyNC43NTYuNzU2LDAsMCwxLS43NTQuNjdBLjUxMS41MTEsMCwwLDEsMTAyNzYuOTY3LDE0ODgwLjI5M1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDE5NC4xMTEgLTE0ODYxLjMxNykiIGZpbGw9IiMzMzMiLz4gPC9nPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-size: contain;
}
.brandSelect::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCAxMjAgNDgiPiA8ZyBpZD0iaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSI+IDxyZWN0IGlkPSJiYXNlIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjQ4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIiBmaWxsPSJyZ2JhKDI1NSwyNTUsMjU1LDApIi8+IDxwYXRoIGlkPSJpY29uXy1f44OW44Op44Oz44OJIiBkYXRhLW5hbWU9Imljb24gLSDjg5bjg6njg7Pjg4kiIGQ9Ik0xMDIwMC43ODIsMTQ1NzUuMjc0YS43ODQuNzg0LDAsMCwxLS43NzctLjg3NGwyLjUtMjAuNzM0YS43NzYuNzc2LDAsMCwxLC43NzItLjY4NGgyLjc3NWE1LjgsNS44LDAsMCwxLDExLjQ3OSwwaDIuNjg5YS43ODQuNzg0LDAsMCwxLC43NzguNjg0bDIuNSwyMC43MzRhLjc3Mi43NzIsMCwwLDEtLjE5Mi42MTEuNzgyLjc4MiwwLDAsMS0uNTgyLjI2M1ptLjg3OC0xLjU1N2gyMC4xODdsLTIuMzE0LTE5LjE3OWgtMS45NDR2MS43YS43ODEuNzgxLDAsMCwxLTEuNTYyLDB2LTEuN2gtOC40Njd2MS43YS43ODEuNzgxLDAsMCwxLTEuNTYyLDB2LTEuN2gtMi4wMjNabTE0LjI4Ny0yMC43MzVhNC4yMzQsNC4yMzQsMCwwLDAtOC4zMTEsMFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDE1MS41NjQgLTE0NTM4LjM1KSIvPiA8L2c+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: contain;
}
.recentProduct::before {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCAxMjAgNDgiPiA8ZyBpZD0iaWNvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMSkiPiA8cmVjdCBpZD0iYmFzZSIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI0OCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC4wMDEpIiBmaWxsPSJyZ2JhKDI1NSwyNTUsMjU1LDApIi8+IDxwYXRoIGlkPSJpY29uXy1f44GK6Kmm44GX5LitIiBkYXRhLW5hbWU9Imljb24gLSDjgYroqabjgZfkuK0iIGQ9Ik0xMDIxMC4zOCwxNDczMy4zMjFhLjc4MS43ODEsMCwwLDEsMC0xLjU2MmgyLjkyMXYtNC44MmExNC4zNDEsMTQuMzQxLDAsMCwxLTkuMTYyLTMuODg1LDEyLjk4MSwxMi45ODEsMCwwLDEtNC4xNC05LjQ3Ny43ODEuNzgxLDAsMSwxLDEuNTYyLDBjMCw2LjUxNyw1LjYxNiwxMS44MjEsMTIuNTIsMTEuODIxczEyLjUyNS01LjMsMTIuNTI1LTExLjgyMWEuNzgxLjc4MSwwLDEsMSwxLjU2MywwLDEyLjk4MSwxMi45ODEsMCwwLDEtNC4xNCw5LjQ3NywxNC4zMzgsMTQuMzM4LDAsMCwxLTkuMTY1LDMuODg1djQuODJoMy4yMmEuNzgxLjc4MSwwLDAsMSwwLDEuNTYzWm0tNy4zLTIwLjUyOWExMC43OTQsMTAuNzk0LDAsMSwxLDEwLjc5NSwxMC43OTVBMTAuODEsMTAuODEsMCwwLDEsMTAyMDMuMDc4LDE0NzEyLjc5MlptMS41NjEsMGE5LjIzMyw5LjIzMywwLDEsMCw5LjIzNC05LjIzMUE5LjI0NSw5LjI0NSwwLDAsMCwxMDIwNC42MzksMTQ3MTIuNzkyWm03LjQ5NC4wNDVhLjc4Ny43ODcsMCwwLDEsMC0xLjFsMy40MzgtMy40MzlhLjc4Mi43ODIsMCwwLDEsMS4xMDYsMS4xMDVsLTMuNDQsMy40MzhhLjc3NS43NzUsMCwwLDEtLjU0OS4yMjdBLjguOCwwLDAsMSwxMDIxMi4xMzMsMTQ3MTIuODM3Wm0tMy41MDktMS41NjJhLjc4NS43ODUsMCwwLDEsMC0xLjFsMi41MjEtMi41MThhLjc3OS43NzksMCwwLDEsMS4xLDEuMWwtMi41MTUsMi41MTZhLjc3Mi43NzIsMCwwLDEtLjU1LjIyOEEuNzg5Ljc4OSwwLDAsMSwxMDIwOC42MjQsMTQ3MTEuMjc0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMTUyLjc2NiAtMTQ2OTMuOTk5KSIvPiA8L2c+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: contain;
}
.variationName {
  font-size: 1rem;
  height: 2rem;
  text-align: center;
  margin-top: 0.5rem;
}
.productName,
.variatioName {
  font-size: 1.3rem;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-align: left;
  margin-top: 0.5rem;
}
#iVariationImage {
  user-select: none;
  -webkit-user-drag: none;
}
.hideVariationBorder {
  position: absolute;
  top: 0%;
  right: 0%;
  transform: translate(0%, -100%);
  background-color: #fff;
  width: 5.5rem;
  height: 3rem;
  border-top-left-radius: 1rem;
}
.hideVariation {
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  border-bottom: solid 0.2rem;
  border-left: solid 0.2rem;
  transform: rotate(-45deg);
  color: #000;
  margin: auto;
  translate: 0 0.5rem;
}
.displayVariationBorder {
  display: none;
  position: absolute;
  bottom: 0%;
  right: 0%;
  transform: translate(0%, -340%);
  background-color: #fff;
  width: 6rem;
  height: 3rem;
  border-top-left-radius: 1rem;
  border-top: solid 0.1rem #000000;
}
.displayVariation {
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  border-top: solid 0.2rem;
  border-right: solid 0.2rem;
  transform: rotate(-45deg);
  color: #000;
  margin: auto;
  translate: 0 1.2rem;
}
/* オーバーレイのスタイル(カート投入完了モーダル表示中に表示※クリック対策) */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0); /* オーバーレイの透明度を調整 */
  z-index: 2147483646; /* オーバーレイをモーダルの1つ下のレイヤーに表示 */
  display: none; /* 初期状態では非表示にする */
}
.addCartModalWrapper {
  display: none;
  position: fixed;
  z-index: 20;
}
/*カート投入完了モーダル*/
.addCartModal {
  border-radius: 3.5rem;
  position: fixed;
  text-align: center;
  z-index: 5;
  font-family: 'Roboto','Noto Sans JP', sans-serif;
  color: black;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  margin: auto;
  width: 20vw;
  height: 35vh;
  display: flex;
  flex-direction: column;
  justify-items: center;
}

/*カート投入完了モーダル背景*/
.addCartModalBgc {
  background-color: #dcdcdc;
}

/*カート投入完了メッセージ*/
.addCartMessage {
  position: relative;
  right: auto;
  font-weight: bold;
  font-size: 2rem;
  color: #808080;
}

/*カート投入完了モーダル閉じるボタン*/
.addCartModalCloseBtn {
  display: block;
  text-align: right;
  position: absolute;
  top: 0%;
  right: 5%;
}
.eyeshadowbtn {
  position: relative;
  display: block;
  margin-inline: auto;
  width: 34.5rem;
  color: #20AFC9;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  padding: 1rem 2rem;
  border-radius: 9999px;
  border: 2px solid #20AFC9;
}
@media screen and (min-width: 768px) {
}
.eyeshadowbtn:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2rem;
  width: 2rem;
  height: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Crect width='30' height='30' fill='rgba(255%2C255%2C255%2C0)'/%3E%3Cg transform='translate(5.391 4.252)'%3E%3Ccircle cx='7.233' cy='7.233' r='7.233' transform='translate(2.225)' fill='none' stroke='%2320afc9' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.3'/%3E%3Cline y2='4.046' transform='translate(9.609 17.128)' fill='none' stroke='%2320afc9' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.3'/%3E%3Cline x2='5.563' transform='translate(6.936 21.496)' fill='none' stroke='%2320afc9' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.3'/%3E%3Cline x1='1.818' y2='1.818' transform='translate(6.066 3.919)' fill='none' stroke='%2320afc9' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.3'/%3E%3Cline x1='2.482' y2='2.482' transform='translate(8.6 4.383)' fill='none' stroke='%2320afc9' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.3'/%3E%3Cpath d='M22.468,78.542a9.366,9.366,0,0,1-9.609,9.1,9.366,9.366,0,0,1-9.609-9.1' transform='translate(-3.25 -70.744)' fill='none' stroke='%2320afc9' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.3'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.eyeshadowBtnwrapper {
  margin-block: 2rem;
}
.eyeshadowColorNumberSelect {
  display: none;
  width: 100%;
  position: fixed;
  top: 0%;
  left: 0;
  z-index: 2;
  background-color: #fff;
  height: 100svh;
  text-align: center;
  overflow-y: auto;
  padding: 5rem 2rem;
}
.eyeshadowColorNumberPattern {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  gap: 1rem;
  cursor: pointer;
  margin-top: 4rem;
}
.eyeshadowColorNumberPattern li {
  width: 10.5rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #111111;
  border-radius: 0.8rem;
  padding: 1rem;
}
.eyeshadowColorNumberPattern .selectColor {
  border-radius: 0.8rem;
  padding: 2.5rem 1rem;
}
.eyeshadowColorNumberPattern .selectColor span {
  font-family: "Roboto";
  display: inline-block;
  margin-inline: 0.1em;
  font-size: 2.25rem;
}
.eyeshadowColorNumberPattern .selectColor p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .eyeshadowColorNumberPattern {
    gap: 2rem;
  }
  .eyeshadowColorNumberPattern .selectColor {
    width: 15rem;
    padding: 3rem 2.5rem;
  }
}
.eyeshadowColorNumber {
  margin-bottom: 0.5rem;
}
.eyeshadowMakePatternSelect {
  display: none;
  width: 100%;
  position: fixed;
  top: 0%;
  left: 0;
  z-index: 2;
  background-color: #fff;
  height: 100svh;
  text-align: center;
  overflow-y: auto;
  padding: 5rem 2rem;
}
#makePatternList1,
#makePatternList2,
#makePatternList3 {
  display: none;
}
.makePatternList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 1.5rem;
  cursor: pointer;
  margin-top: 4rem;
}
.makePatternList li {
  width: 16rem;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 0.8rem;
  padding: 1rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.m-back-block {
  margin: 0 auto;
  font-size: 1.4rem;
  cursor: pointer;
  position: fixed;
  z-index: 100000;
  width: 100%;
  bottom: 0;
  left: 0;
  background-color: rgba(0,0,0,0.7);
  height: 6.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
.m-back-block__button {
  height: 4rem;
  border-radius: 2rem;
  font-weight: 700;
  font-size: 1.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
}
.m-back-block__button.--back {
  width: 13rem;
  height: 4rem;
  border-radius: 2rem;
  background-color: #fff;
  border: 2px solid #20AFC9;
  color: #20AFC9;
}
.m-back-block__button.--forward {
  width: 19.5rem;
}
.m-back-block__arrow,
.m-back-block__button.--back:not(:has(.m-back-block__arrow))::after {
  position: absolute;
  top: 50%;
  left: 1rem;
  translate: 0 -50%;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg id='arrow' xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Crect id='長方形_17' data-name='長方形 17' width='15' height='15' fill='rgba(255,255,255,0)'/%3E%3Cpath id='パス_2' data-name='パス 2' d='M-20.012,869.5l-5,5,5,5' transform='translate(30.512 -867)' fill='none' stroke='%2320afc9' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
.m-front-block__arrow {
  position: absolute;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg id='arrow' xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Crect id='長方形_17' data-name='長方形 17' width='15' height='15' fill='rgba(255,255,255,0)'/%3E%3Cpath id='パス_2' data-name='パス 2' d='M-25.012,869.5l5,5-5,5' transform='translate(29.512 -867)' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
.m-back-block__button.--forward:not(.disabled) {
  color: #000000;
  background-color: #FFB72F;
}
.m-back-block__button.--forward.disabled {
  color: #888888;
  background-color: #D0D0D0;
}
.m-back-block__button.--forward:not(.disabled)::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("data:image/svg+xml,%3Csvg id='arrow' xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Crect id='長方形_17' data-name='長方形 17' width='15' height='15' fill='rgba(255,255,255,0)'/%3E%3Cpath id='パス_2' data-name='パス 2' d='M-25.012,869.5l5,5-5,5' transform='translate(29.512 -867)' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
.m-back-block__button.--forward.disabled::after {
  background-image: url("data:image/svg+xml,%3Csvg id='arrow' xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Crect id='長方形_17' data-name='長方形 17' width='15' height='15' fill='rgba(255,255,255,0)'/%3E%3Cpath id='パス_2' data-name='パス 2' d='M-25.012,869.5l5,5-5,5' transform='translate(29.512 -867)' fill='none' stroke='%23888' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
.eyeshadowProductSelectArea {
  display: none;
  width: 100%;
  position: fixed;
  top: 0%;
  left: 0;
  z-index: 2;
  background-color: #fff;
  height: 100svh;
  overflow-y: auto;
}
.productListArea {
  padding-top: 1rem;
  background-color: #fff;
  text-align: left;
  overflow-y: auto;
}
.productList {
  background-color: #fff;
  display: flex;
  list-style: none;
  padding: 0 2rem;
  overflow-x: auto;
  gap: 1rem;
  user-select: none;
}
.productList li {
  flex-shrink: 0;
  width: 9.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.productList li a {
  user-select: none;
  -webkit-user-drag: none;
  font-size: 1.3rem;
}
.eyeshadowTitle2 span{
  color: #c71585;
  background-color: #fff;
}
.eyeshadowFunctionBtn {
  display: flex;
  flex-direction: row;
  justify-items: center;
  margin-bottom: 2rem;
  padding: 1rem;
  justify-content: space-between;
}
.recentPattern {
  margin-bottom: 1rem;
}
.recentPattern p {
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}
.prevArrow {
  position: absolute;
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  border-bottom: solid 0.2rem;
  border-left: solid 0.2rem;
  transform: rotate(45deg);
  color: #000;
  left: 3%;
}
.nextArrow {
  position: absolute;
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  border-bottom: solid 0.2rem;
  border-right: solid 0.2rem;
  transform: rotate(-45deg);
  color: #fff;
  right: 3%;
}
.toNextProduct {
  padding: 1.5rem 0rem;
  border-radius: 3rem;
  max-width: fit-content;
  margin: 0 auto;
  font-size: 1.6rem;
  cursor: pointer;
  background-color: #c71585;
}
.toNextProductBtn {
  padding: 1.5rem 9rem;
  color: #fff;
}
.eyeshadowVariationSelectArea {
  display: none;
  width: 100%;
  transform: 0 0;
  z-index: 2;
  background-color: #F5F5F5;
  padding-block: 2rem;
}
.eyeshadowVariationSelectArea:not(:has(li)) {
  display: none !important;
}

.eyeshadowVariationColorImageSelectArea {
  display: none;
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 2;
  background-color: #fff;
  height: 59.8684210526svh;
  overflow-y: auto;
  padding-block: 3rem;
}
.eyeshadowVariationColorImageSelectArea::after {
  content: '';
  display: block;
  width: 100svw;
  height: 40.1315789474svh;
  background-color: rgba(0,0,0,0.7);
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  pointer-events: none;
}
.eyeshadowVariationColorImageSelectArea #iVariationImage {
  display: none;
}
.variationColorList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  gap: 1rem;
  cursor: pointer;
  margin-top: 4rem;
}
.variationColorList li,
.variationColorList li a {
  width: 7.5rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
}
.variationColorList__image {
  width: 100%;
  border-radius: 50%;
  border: 1px solid #EEEEEE;
  overflow: hidden;
}

.disabled {
  background-color: #33383c;
  color: #fff;
  border-radius: 3rem;
  cursor: default;
  pointer-events: none;
}
.disabled:hover {
  color: #fff;
}
.directSelectedProductVariationSelect {
  padding-top: 1rem;
  background-color: #fff;
  text-align: left;
  height: 55vh;
  overflow-y: auto;
  max-height: 55vh;
}
.directSelectedProductVariationImg {
  display: none;
  width: 100%;
  position: fixed;
  bottom: 0%;
  left: 0;
  z-index: 2;
  height: 59.8684210526svh;
}
.directSelectedProductVariationImg::before {
  content: '';
  display: block;
  width: 100%;
  height: 40.1315789474svh;
  background-color: rgba(0,0,0,0.7);
  position: fixed;
  top: 0;
  left: 0;
}
.directVariationColorSelectBtn {
  padding: 1rem 3rem;
  border-radius: 3rem;
  color: #fff;
  background-color: #c71585;
}
.resetModalBtnArea {
  display: flex;
  flex-direction: column;
  position: fixed;
  bottom: 37svh;
  right: 3.0rem;
  z-index: 2;
}

.m-close-button:has([id*="lbCloseModal"]) {
  position: fixed;
  z-index: 1000000;
  top: 0;
  right: 10px;
  cursor: pointer;
  width: 5rem;
  height: 5rem;
}
.m-close-button a,
.m-close-button > div {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-close-button a::before,
.m-close-button a::after,
.m-close-button > div::before,
.m-close-button > div::after {
  content: '';
  display: block;
  width: 2rem;
  height: 1px;
  background-color: #000000;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.m-close-button a::before,
.m-close-button > div::before {
  rotate: 45deg;
}
.m-close-button a::after,
.m-close-button > div::after {
  rotate: -45deg;
}
.backToLpBtn::before,
.backToLpBtn::after {
  background-color: #FFFFFF !important;
}
.exceptionErrorWrapper {
  display: none;
  background-color: #dcdcdc;
  position: fixed;
  top: 0%;
  left: 50%;
  width: 50vw;
  height: 10vh;
  transform: translate(-50%, 50%);
  z-index: 3;
}
.exceptionError {
  margin: 3.5rem auto;
  max-width: fit-content;
  font-size: 2rem;
  color: #ff0000;
}
.noProductError {
  display: none;
  background-color: #dcdcdc;
  position: fixed;
  top: 0%;
  left: 50%;
  width: 50vw;
  height: 10vh;
  transform: translate(-50%, 50%);
  z-index: 3;
}
.setInsensity {
  display: none;
  position: absolute;
  left: 3rem;
  bottom: 31.5svh;
  z-index: 2;
}
#range {
  appearance: none;
  width: 3px;
  height: 20rem;
  border-radius: 2px;
  background: #888;
  writing-mode: vertical-rl;
  direction: rtl;
  cursor: pointer;
}
#range::-webkit-thumb,
#range::-webkit-slider-thumb,
#range::-moz-range-thumb{
  --webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  margin: 40px;
  border-radius: 10px;
  background: #ff3c7b;
  box-shadow: none;
  translate: 0 40px;
}
input[type="range" i]::-webkit-slider-thumb {
  --webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  margin: 40px;
  border-radius: 10px;
  background: #ff3c7b;
  box-shadow: none;
  translate: 0 40px;
}
.vm-category-name {
  padding: 2.0rem 5.0rem 1.0rem 5.0rem;
  font-size: 1.6rem;
}
.subTitle {
  font-size: 1.3rem;
  line-height: 1;
  padding: 2.0rem 5.0rem 1.0rem 5.0rem;
}
@media (max-width: 767px) {
  .btn__searchCategory,
  .btn__returnTop {
    display: none!important;
  }
  .categorySelect::before, .brandSelect::before, .recentProduct::before {
    width: 10rem;
  }
  .selectbtn{
    padding-top: 4.0rem;
    font-size: 1.2rem;
  }
  .resetModalBtnArea {
    right: 1.5rem;
    bottom: 39svh;
  }
  #functionButtonArea {
    right: 1.5rem;
    bottom: 30svh;
  }
  .productArea {
    margin-top: 0;
  }
  .eyeshadow-selected__image {
    width: 12rem !important;
    margin-bottom: 0rem !important;
    padding: 0rem !important;
  }
  .productArea__title {
    font-size: 1.5rem;
  }
}
/* .virtualmakeup:has(.reSelect[style="display: block;"]) .selectOptionArea {
  display: none;
} */
.reSelect {
  display: none;
  position: fixed;
  bottom: 10.5rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 3;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .reSelect {
    padding-block: 1.5rem;
    bottom: 9.4rem;
  }
}
.reSelectBtn {
  background-color: #fff;
  border-radius: 30px;
  padding: 10px;
  cursor: pointer;
}

.productArea__title {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
  padding-inline: 2rem;
}

.productArea__section {
  padding-block: 2rem;
  border-bottom: 4px solid #F4F4F4;
}
/* .productArea__section + .productArea__section {
  margin-top: 2rem;
} */

.eyeshadow__title {
  text-align: center;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0;
}
.eyeshadow__subtitle {
  text-align: center;
  color: #888888;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.75;
  margin-top: 1rem;
}

.eyeshadow-selected {
  padding: 2.5rem 2rem;
  background-color: #F5F5F5;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.eyeshadow-selected__image {
  background-color: #fff;
  border-radius: 0.8rem;
  overflow: hidden;
  width: 16rem;
  margin-bottom: 2rem;
  padding: 1rem;
}
.eyeshadow-selected__title {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  /*margin-bottom: 1.5rem;*/
}
.eyeshadow-selected__text {
  color: #888888;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}

.eyeshadowProduct__name {
  font-size: 1.3rem;
  line-height: 1.3;
  letter-spacing: 0;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-align: left;
  margin-top: 0.5rem;
}

.eyeshadowProduct {
  padding-bottom: 2.6rem;
  position: relative;
}

.--selected .eyeshadowProduct__image {
  border: 3px solid #20AFC9;
}

.eyeshadowProduct.--selected::after {
  content: '選択中';
  display: block;
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #20AFC9;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 0.3rem;
}

/* .variationSelectArea {
  overflow: hidden;
} */
.variationSelectArea .variation-select-panel {
  position: relative;
}
.variationSelectArea .original-block {
  height: 10.4rem;
}
.variationSelectArea .item-original {
  position: absolute;
  top: 2rem;
  left: 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
  padding-inline: 2rem;
}
/* @media screen and (min-width: 768px) {
  .variationSelectArea .item-original {
    position: absolute;
    top: 2rem;
    left: 0;
  }
} */
.variationSelectArea .item-original img {
  width: 7rem !important;
  max-width: unset;
}
.eyeshadowColorNumber {
  width: 5rem;
  margin-inline: auto;
}
.variationSelectArea .item-original .productName {
  margin-top: 0;
  font-size: 1.3rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}
.variationSelectArea .button-detail {
  position: absolute;
  top: 7.2rem;
  right: 2rem;
  font-size: 1.3rem;
  line-height: 1.5;
  color: #888888;
  border-bottom: 1px solid #888888;
  width: fit-content;
  height: fit-content;
  display: flex;
  gap: 0.4rem;
  align-items: center;
}
.variationSelectArea .button-detail::after {
  content: '';
  display: block;
  width: 1.3rem;
  height: 1.3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.443' height='13.28' viewBox='0 0 13.443 13.28'%3E%3Cg id='icon' transform='translate(-356 -443.72)'%3E%3Crect id='base' width='13' height='13' transform='translate(356 444)' fill='%23fff'/%3E%3Cg id='_blank' transform='translate(338.719 434.305)'%3E%3Cpath id='パス' d='M3599.664,1890.025h-2.635a1.175,1.175,0,0,0-1.177,1.173v6.481a1.175,1.175,0,0,0,1.177,1.173h6.474a1.175,1.175,0,0,0,1.177-1.173v-2.439' transform='translate(-3576.571 -1878.098)' fill='none' stroke='%23888' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3Cg id='arrow' transform='translate(22.501 15.174) rotate(-45)'%3E%3Cline id='線' x1='6.141' transform='translate(0 1.776)' fill='none' stroke='%23888' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3Cpath id='パス-2' data-name='パス' d='M0,0,1.823,1.742,0,3.485' transform='translate(4.512 0)' fill='none' stroke='%23888' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: contain;
}
.variationSelectArea .variationSelect .item-variation {
  width: 7.5rem;
  position: relative;
  padding-bottom: 2.6rem;
}
.variationSelectArea .variationSelect .item-variation .item-variation__image {
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #EEEEEE;
}

.variationSelectContainer {
  border-top: 0.5rem solid #F5F5F5;
  padding-block: 1.5rem;
  min-height: 20rem;
  overflow: hidden;
}
.variationSelectContainer.--hidden {
  height: 0;
  min-height: unset;
  padding-block: 0;
  border-top: none;
}
.variationSelectTitle {
  font-size: 1.3rem;
  padding-inline: 2rem;
  margin-bottom: 1rem;
}
.variationName {
  height: unset;
}

.item-variation.--selected .item-variation__image {
  border: 3px solid #20AFC9 !important;
}

.item-variation.--selected::after {
  content: '選択中';
  display: block;
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #20AFC9;
  position: absolute;
  bottom: 0;
  left: 0;
  border-radius: 0.3rem;
}
.recent-products__name {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}
.recent-products__price--primary {
  font-size: 1.6rem;
  font-weight: 500;
}
.recent-products__price--secondary {
  font-size: 1.3rem; 
}
.eyeshadowVariationSelectArea .productArea__title {
  font-size: 1.3rem;
}

.categorySelectArea,
.brandSelectArea,
.recentProductArea,
.eyeshadowColorNumberSelect,
.eyeshadowMakePatternSelect,
.eyeshadowProductSelectArea,
.directSelectedProductVariationImg,
.eyeshadowVariationColorImageSelectArea {
  z-index: 99999;
}

@media screen and (min-width: 768px) {
  .categorySelectArea,
  .brandSelectArea,
  .recentProductArea,
  .eyeshadowColorNumberSelect,
  .eyeshadowMakePatternSelect,
  .eyeshadowProductSelectArea,
  .directSelectedProductVariationImg,
  .eyeshadowVariationColorImageSelectArea {
    width: min(90svw, 97rem);
    height: min(90svh, 60rem);
    top: 10rem;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    padding: 0;
    overflow-y: unset;
  }
  .modal-inner {
    width: 100%;
    height: 100%;
    background-color: #fff;
    padding: 0 0;
    overflow-y: auto;
  }
  .eyeshadow__title {
    margin-top: 5rem;
  }
  .categorySelectArea .modal-inner:before,
  .brandSelectArea .modal-inner:before,
  .recentProductArea .modal-inner:before,
  .eyeshadowColorNumberSelect .modal-inner:before,
  .eyeshadowMakePatternSelect .modal-inner:before,
  .eyeshadowProductSelectArea .modal-inner:before,
  .directSelectedProductVariationImg .modal-inner:before,
  .eyeshadowVariationColorImageSelectArea .modal-inner:before {
    content: '';
    display: block;
    position: fixed;
    z-index: -10;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100svw;
    height: 100svh;
    background-color: rgba(0,0,0,0.9);
  }
  .m-back-block,
  .add-cart {
    position: absolute;
  }
  .m-close-button {
    position: absolute;
    z-index: 10;
    top: 0;
    right: 30px;
    cursor: pointer;
    width: 5rem;
    height: 5rem;
  }
  .recentProductList li {
    justify-content: flex-start;
    padding-inline: 7rem;
    padding-block: 2rem;
  }
  .recentProductli + .recentProductli {
    border-top: 1px solid #EEEEEE;
  }
  .recentProductli .qrCode {
    width: 10rem;
    height: 10rem;
    margin-left: auto;
    border: 1px solid #EEEEEE;
    padding: 1rem;
  }
  .variationSelectArea .variation-select-panel {
    display: grid;
    grid-template-columns: 26svw 1fr;
    align-items: center;
  }
  .variationSelectArea .item-original {
    width: 18.9285714286svw;
    top: 3.4rem;
    left: 1svw;
    padding-inline: 0;
  }
  .variationSelectArea .button-detail {
    top: 10.4rem;
    left: 15.07142857143svw;
  }
  .variationSelectArea .original-block {
    width: 100%;
    height: 75%;
    border-right: 0.5rem solid #F5F5F5;
  }
  .variationSelectArea .variationSelect {

  }
  .variationSelectTitle {
    display: none;
  }
  .eyeshadow-selected {
    height: 100%;
    padding: 1rem 2rem !important;
  }
  .virtualmakeup:not(:has(.reSelect[style="display: block;"])) .m-close-button:has([id*="lbCloseModal"]) {
    width: min(90svw, 97rem);
    position: fixed;
    top: 10rem;
    left: 50%;
    translate: -50% 0;
    display: flex;
    justify-content: flex-end;
  }
  .m-close-button a,
  .m-close-button > div{
    width: 5rem;
    height: 5rem;
  }
  .variationSelectContainer {
    min-height: unset;
  }
  .displayVariationBorder {
    transform: unset;
  }
  .eyeshadowProductSelectArea__inner {
    height: 100%;
    overflow-y: auto;
    display: grid;
    grid-template-columns: 46.3917525773% minmax(0,1fr);
  }

  .productList {
    width: 100%;
    overflow-x: auto;
    padding-inline: 5rem;
  }
  .productList li {

  }
  .productArea {
    width: 100%;
  }
  .eyeshadowVariationSelectArea {
    bottom: calc(9.3rem + env(safe-area-inset-bottom));
  }
  .directSelectedProductVariationImg::before {
    display: none;
  }
  .eyeshadowVariationColorImageSelectArea::after {
    display: none;
  }
  .eyeshadowColorNumber {
    width: 5.9rem;
    margin: 0 auto 2rem;
  }
}
.variationColorList__item.--selected .variationColorList__image {
  border: 3px solid #20AFC9;
}

.productDetailDesc__inner {
  padding-block: 5rem;
  padding-inline: 2rem; 
}

.descName {
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  margin-bottom: 3rem;
}
.descDetail {
  margin-bottom: 3rem;
}
.descDetail p {
  font-size: 1.5rem;
  line-height: 1.5;
  margin: 0;
}
.productDetailDesc__inner table th {
  white-space: nowrap;
  padding-right: 1rem;
}
.productDetailDesc__inner table th,
.productDetailDesc__inner table td {
  padding-bottom: 1rem;
}
.productArea {
  display: flex;
  flex-direction: column;
}
.productArea__section:has(.--selected) {
  order: -2;
}
.productArea:has(.--selected) .eyeshadowVariationSelectArea {
  order: -1;
}
@media screen and (min-width: 768px) {
  .productDetailDesc__inner {
    padding-inline: 5rem;
  }
  .variationName {
    text-align: left;
  }
  .eyeshadowVariationSelectArea .hideVariationBorder,
  .eyeshadowVariationSelectArea .displayVariationBorder {
    display: none;
  }
}

.virtualmakeup:has(.setInsensity[style="display: block;"]) .selectOptionArea .title {
  display: none;
}

.addCartModalWrapper {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 99999999999999;
}

.eyeshadowProduct.--selected a > img {
  border: 3px solid #20AFC9;
}

	/*カート投入完了モーダル*/
	.addCartModal{
		border-radius: 35px;
		position: fixed;
		text-align: center;
		z-index: 99999999999999;
		font-family: 'Roboto','Noto Sans JP', sans-serif;
		color: black;
	}

	/*カート投入完了モーダル背景*/
	.addCartModalBgc{
		background-color: #dcdcdc;
	}

	/*CPB用カート投入完了モーダル背景*/
	.addCartModalBgcForCpb{
		background-color: #888;
	}

	/* CPB商品用カラー */
	.controlColorForCpb{
		color: white;
	}

	/*カート投入完了メッセージ*/
	.addCartMessage{
		position: relative;
		right: auto;
		font-weight: bold;
	}

	/*カート投入完了モーダル閉じるボタン*/
	.addCartModalCloseBtn{
		display: block;
		text-align: right;
		position: absolute;
		top: 0;
		height: 0;
	}

	/*カートアイコン*/
	.addCartIcon{
		margin-top: 12%;
	}

	/*PC用*/
	@media screen and (min-width: 767px) {
		.addCartModal{
			width: 35rem;
			height: 35rem;
		}

		.addCartMessage{
			font-size: 3rem;
			bottom: 6rem;
		}

		.addCartModalCloseBtn{
			right: 2rem;
			font-size: 4rem;
		}
    .virtualmakeup:has(.variationSelectArea[style="display: block;"]) .m-close-button:has(.canvasCloseBtn) {
      width: 100%;
      top: 0;
      left: auto;
      right: 0;
      translate: unset;
    }
    .modal-inner {
      overflow-y: auto;
    }
    .recentProductArea .modal-inner {
      display: grid;
      height: 100%;
      grid-template-rows: auto 1fr;
    }
	}

	/*SP用*/
	@media screen and (max-width: 766px) {
		.addCartModal{
			width: 24rem;
			height: 24rem;
		}

		.addCartMessage{
			font-size: 2.5rem;
			bottom: 5rem;
		}

		.addCartModalCloseBtn{
			right: 1.5rem;
			font-size: 3.5rem;
		}

    .variation-select-panel:has(.--hidden) {
      height: 0;
      overflow: hidden;
    }
    .displayVariationBorder {
      transform: unset;
    }
    .virtualmakeup:has(.productDetailDesc[style="display: block;"]) {
      padding-block: 5rem;
    }
    .recentProductli {
      padding-block: 2rem;
    }

    .backToLp.m-close-button {
      position: fixed;
      z-index: 99998;
      /* z-index: 10000000; */
      top: 0;
      right: 10px;
      width: 5rem;
      height: 5rem;
    }

    .recentProductArea .modal-inner {      
      display: grid;
      height: 100svh;
      grid-template-rows: auto 1fr;
    }
    .recentProductListWrapper {
      padding-bottom: 6.5rem;
    }
	}

	/* オーバーレイのスタイル(カート投入完了モーダル表示中に表示※クリック対策) */
	#overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0); /* オーバーレイの透明度を調整 */
		z-index: 2147483646; /* オーバーレイをモーダルの1つ下のレイヤーに表示 */
		display: none; /* 初期状態では非表示にする */
	}
  .variationSelectArea .variation-select-panel {
    overflow: hidden;
  }

  .eyeshadowProduct a {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .m-close-button:not(:has(a)) {
    display: none;
  }
  .m-close-button:has(.productDetailClose) {
    display: block;
  }

  .item-variation.--selected a > img {
    border: 3px solid #20AFC9;
  }
  .virtualmakeup a,
  .virtualmakeup a:focus,
  .virtualmakeup a:hover {
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }
  .eyeshadowProduct .variationSelectBtn {
    border: 3px solid transparent;
  }
  .eyeshadowProduct .variationSelectBtn:focus {
    border-color: #20AFC9;
  }
  @media screen and (max-width: 766px) {
    .eyeshadowProduct .variationSelectBtn:hover {
      border-color: #20AFC9;
    }
  }
  .recentProductli {
    position: relative;
  }
  .qrCode__note {
    width: fit-content;
    margin-top: -1rem;
    font-size: 1.1rem;
    text-align: left;
    padding-inline: 4.2rem;
    margin-left: auto;
  }