@media (min-width: 768px) {
  :root {
    --logoSize: 308px;
  }
}
@media (min-width: 768px) and (max-width: 1600px) {
  :root {
    --logoSize: calc(120/768 * 100vw);
  }
}

body {
  background: url(../img/background_wallpaper@sp.webp) repeat-y;
  background-size: contain;
}
@media (min-width: 768px) {
  body {
    background: url(../img/background_wallpaper.webp) repeat-y;
    background-size: contain;
  }
}

.header {
  background: none;
}
@media (min-width: 768px) {
  .header__nav {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 768px) {
  .header .logo {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(18px + var(--promotionalBannerHeight));
    margin: auto;
    transition: opacity 0.3s ease, top 0.3s ease;
  }
}

.wrapper {
  padding: 0;
}

.mainContents {
  max-width: 100%;
  padding: 0;
}
@media (max-width: 767px) {
  .mainContents .imageArea {
    padding-bottom: 15px;
    background: white;
  }
}
@media (min-width: 768px) {
  .mainContents .imageArea {
    margin-bottom: 88px;
  }
}
@media (min-width: 768px) {
  .mainContents .imageArea__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.mainContents .imageArea__list img {
  width: 100%;
}
.mainContents .imageArea .item-swiper-container {
  position: relative;
}
@media (max-width: 767px) {
  .mainContents .imageArea .item-swiper-container {
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
  }
  .mainContents .imageArea .item-swiper-container .swiper-wrapper {
    touch-action: pan-y;
  }
}
.mainContents .imageArea .item-swiper-container .swiper-wrapper .swiper-slide.hide {
  display: none;
}
.mainContents .imageArea .item-swiper-container .item-swiper-prev,
.mainContents .imageArea .item-swiper-container .item-swiper-next {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  width: 16px;
  height: 16px;
}
.mainContents .imageArea .item-swiper-container .swiper-button-disabled {
  display: none;
}
.mainContents .imageArea .item-swiper-container .item-swiper-prev {
  background: url(../img/icon/slide-prev.svg) no-repeat center center;
  left: 9px;
}
.mainContents .imageArea .item-swiper-container .item-swiper-next {
  background: url(../img/icon/slide-next.svg) no-repeat center center;
  right: 9px;
}
@media (max-width: 767px) {
  .mainContents .imageArea .item-swiper-container .swiper-zoom-container {
    touch-action: pan-y;
  }
  .mainContents .imageArea .item-swiper-container .swiper-zoom-container img {
    touch-action: pan-y;
  }
}
.mainContents .detailArea {
  background: white;
}
@media (max-width: 767px) {
  .mainContents .detailArea .cart-area {
    position: sticky;
    background: white;
    width: 100%;
    bottom: 0;
  }
}
@media (min-width: 768px) {
  .mainContents .detailArea {
    max-width: 420px;
    bottom: 0;
    margin: auto;
    position: sticky;
    z-index: 10;
    bottom: 30px;
  }
}
.mainContents .detailArea .specArea {
  padding: 15px;
}
@media (min-width: 768px) {
  .mainContents .detailArea .specArea {
    padding: 20px 15px 17px;
  }
}
.mainContents .detailArea__header {
  display: flex;
  justify-content: space-between;
}
.mainContents .detailArea__row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 26px;
}
@media (min-width: 768px) {
  .mainContents .detailArea__row {
    margin-bottom: 16px;
  }
}
.mainContents .detailArea__color-name, .mainContents .detailArea__shipping {
  font-size: 1rem;
}
.mainContents .detailArea .panel-section:not(:last-child) {
  margin-bottom: 26px;
}
@media (min-width: 768px) {
  .mainContents .detailArea .panel-section:not(:last-child) {
    margin-bottom: 16px;
  }
  .mainContents .detailArea .panel-section:last-child .panel-section__content.show {
    padding-bottom: 0;
  }
}
.mainContents .detailArea .panel-section__ttl {
  cursor: pointer;
  display: flex;
  align-items: center;
  width: fit-content;
}
.mainContents .detailArea .panel-section__ttl:after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  background: url(../img/icon/ico-off.svg) no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .mainContents .detailArea .panel-section__ttl.on--sp:after {
    background: url(../img/icon/ico-on.svg) no-repeat center center;
    background-size: contain;
  }
}
@media (min-width: 768px) {
  .mainContents .detailArea .panel-section__ttl.on:after {
    background: url(../img/icon/ico-on.svg) no-repeat center center;
    background-size: contain;
  }
}
.mainContents .detailArea .panel-section__content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}
.mainContents .detailArea .panel-section__content__row {
  overflow: hidden;
}
@media (max-width: 767px) {
  .mainContents .detailArea .panel-section__content.show--sp {
    grid-template-rows: 1fr;
    margin-top: 12px;
  }
}
@media (min-width: 768px) {
  .mainContents .detailArea .panel-section__content.show {
    grid-template-rows: 1fr;
    margin-top: 12px;
    padding-bottom: 10px;
  }
  .mainContents .detailArea .panel-section__content.show .colorList {
    padding-top: 1px;
  }
}
.mainContents .detailArea .controll_btn {
  transition: padding 0.3s ease;
}
@media (max-width: 767px) {
  .mainContents .detailArea .controll_btn {
    position: sticky;
    bottom: 0;
    width: 100%;
  }
}
.mainContents .detailArea .controll_btn .cart_btn .button {
  width: 100%;
  margin: 0;
}
.mainContents .detailArea .controll_btn .cart_btn .add_cart_btn {
  background-color: #000000;
}
.mainContents .detailArea .controll_btn .cart_btn .restock_request_btn {
  background-color: #666666;
}
.mainContents .detailArea .controll_btn .cart_btn .stock_request_btn {
  background-color: #666666;
}
.mainContents .detailArea .controll_btn .cart_btn .commingsoon_btn {
  background-color: #AFAFAF;
}
.mainContents .detailArea .controll_btn .cart_btn .soldout_btn {
  background-color: #AFAFAF;
}
.mainContents .detailArea .add_favorite-area {
  padding: 0 15px;
  margin-top: 15px;
  padding-bottom: 15px;
}
.mainContents .detailArea .add_favorite {
  text-decoration: underline;
}
.mainContents .detailArea .add_favorite:after {
  content: "ADD WISH LIST";
}
.mainContents .detailArea .add_favorite.active:after {
  content: "REMOVE FROM WISHLIST";
}
.mainContents .detailArea .color-item-list {
  display: flex;
  flex-wrap: wrap;
}
.mainContents .detailArea .color-item-list li {
  cursor: pointer;
  width: 80px;
}
.mainContents .detailArea .color-item-list .color-item a:hover {
  opacity: 1;
}
.mainContents .detailArea .color-item-list .color-item.active .color-item__img {
  position: relative;
}
.mainContents .detailArea .color-item-list .color-item.active .color-item__img:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: solid 1px black;
}
.mainContents .detailArea .color-item-list .color-item.active .color-item__name {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mainContents .detailArea .color-item-list .color-item__name {
  margin-top: 6px;
  font-size: 1rem;
}
.mainContents .detailArea .color-item-list .color-item.soldout .color-item__img {
  position: relative;
}
.mainContents .detailArea .color-item-list .color-item.soldout .color-item__img:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.2);
}
.mainContents .detailArea .color-item-list .color-item.soldout .color-item__img:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom right, transparent 49%, #666666 50%, transparent 51%);
  position: absolute;
  left: 0;
  top: 0;
}
.mainContents .detailArea .color-item-list .color-item.soldout .color-item__name {
  color: var(--grayColorC1);
}
.mainContents .detailArea .item-size-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 25px;
}
.mainContents .detailArea .item-size-list.hide {
  display: none;
}
.mainContents .detailArea .item-size-list .item-size_detail {
  cursor: pointer;
}
.mainContents .detailArea .item-size-list .item-size_detail .active {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.mainContents .detailArea .item-size-list .item-size_detail .soldout {
  color: var(--grayColorC1);
}
.mainContents .detailArea .sizeTable th, .mainContents .detailArea .sizeTable td {
  padding: 0;
  font-size: unset;
}
.mainContents .detailArea .sizeTable th {
  padding-right: 26px;
}
.mainContents .detailArea .sizeTable tr:not(:last-child) th, .mainContents .detailArea .sizeTable tr:not(:last-child) td {
  padding-bottom: 10px;
}
.mainContents .detailArea:not(.scroll--done) .add_favorite-area {
  display: none;
}
@media (max-width: 767px) {
  .mainContents .detailArea:not(.scroll--done) .controll_btn .button {
    height: 60px;
  }
}
.mainContents .detailArea.scroll--done .controll_btn {
  padding: 0 15px;
}
.mainContents .add_cart_pop {
  display: none;
  position: fixed;
  bottom: 80px;
  left: 0;
  right: 0;
  margin: auto;
  background: white;
  z-index: 2000;
  max-width: 320px;
  height: 160px;
  padding: 20px 28px;
  text-align: center;
}
.mainContents .add_cart_pop .btn-area {
  margin-top: 15px;
}
.mainContents .add_cart_pop .button {
  margin: 0;
  padding: 0;
  display: grid;
  place-content: center;
  width: 100%;
}
.mainContents .add_cart_pop .button:not(:last-child) {
  margin-bottom: 10px;
}

.sound-play-area {
  position: fixed;
  right: 15px;
  bottom: 73px;
  display: flex;
  align-items: center;
  width: fit-content;
  gap: 10px;
  filter: brightness(0);
  z-index: 1;
}
@media (max-width: 767px) {
  .sound-play-area {
    transition: bottom 0.3s ease;
  }
}
@media (min-width: 768px) {
  .sound-play-area {
    right: 20px;
    bottom: 20px;
  }
}
.sound-play-area.position--bottom {
  position: absolute;
}
@media (min-width: 768px) {
  .sound-play-area.position--bottom {
    bottom: 40px;
  }
}

.sound-play {
  border: none;
  padding: 0;
  width: 25px;
  height: 20px;
  background: url(/assets/front/img/icon/ico-sound.svg) no-repeat right top;
  background-size: contain;
  cursor: pointer;
  display: block;
}
@media (min-width: 768px) {
  .sound-play {
    width: 18px;
    height: 17px;
  }
}
.sound-play--mute {
  background: url(/assets/front/img/icon/ico-mute.svg) no-repeat right top;
  background-size: contain;
}

@media (max-width: 767px) {
  .wrapper:has(.detailArea.scroll--done) .sound-play-area {
    bottom: 15px;
  }
  .wrapper:has(.detailArea.scroll--done) .sound-play-area.position--bottom {
    bottom: 40px;
  }
}

.scroll-trigger {
  position: absolute;
  bottom: 26px;
}
@media (max-width: 767px) {
  .scroll-trigger {
    bottom: 40px;
  }
}
