a {
  color: inherit;
  text-decoration: none;
}

.global-contents__inner {
  --container-default: 100%;
}

.productlist {
  --inner-width: 92%;
}

.productlist button {
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .productlist {
    --inner-width: 100%;
  }
}

.c-breadcrumb {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .c-breadcrumb>ol {
    margin-inline: auto;
    padding: 1rem 0;
    width: 91.4285%;
  }
}

.productlist__inner {
  width: 100%;
  max-width: var(--container-default);
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .productlist[data-pattern=leftnav] .productlist__inner {
    display: grid;
    grid-template-columns: 25% 1fr;
    gap: 0;
  }

  .productlist[data-pattern=leftnav] .productlist__leftnav {
    padding: 3rem 14.2857% 2rem 17.1428%;
    background-color: var(--color-tertiary);
  }

  .productlist[data-pattern=leftnav] .productlist__leftnav .form__section--item {
    margin-top: 0;
    border: none;
    border-radius: 0;
    overflow: visible;
  }
}

@media screen and (min-width: 768px) {
  .productlist__headarea {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    padding-bottom: 2rem;
  }
}

.productlist__heading {
  margin: 0;
  --title-direction: row;
}

@media screen and (min-width: 768px) {
  .productlist__heading .c-page-title--ja {
    line-height: 1;
  }
}

@media screen and (max-width: 767px) {
  .productlist__heading {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-gray-300);
  }
}

.productlist__itemcount {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .productlist__itemcount {
    font-size: 1.4rem;
  }
}

.productlist__itemcount .c-pager {
  margin-top: 0;
  font-size: inherit;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}

.productlist__itemcount .c-pager__totalcount {
  display: inline-block;
  font-weight: var(--fw-bold);
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .productlist__itemcount .c-pager__totalcount {
    font-size: 2.1rem;
  }
}

.productlist__itemcount .c-pager__item {
  display: none;
}

.productlist__itemcount .c-pager__button {
  width: 3.2rem;
  grid-template-rows: 1fr;
}

@media screen and (max-width: 767px) {
  .productlist__itemcount {
    padding: 1.5rem 0;
  }

  .productlist__itemcount .c-pager__wrapper {
    display: none;
  }
}

.productlist__controlarea {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5.4545%;
}

.productlist__controlarea .button__category--open {
  min-width: unset;
  height: 4rem;
  padding-block: 0;
  padding-inline: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sortbox__content {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}

@media screen and (min-width: 768px) {
  .sortbox__content {
    display: inline-flex;
    width: 100%;
  }
}

.sortbox .option--active {
  width: 100%;
}

.sortbox__item {
  cursor: pointer;
  width: 100%;
}

.sortbox__item dt {
  width: 100%;
  height: 3.6rem;
  display: grid;
  grid-template-columns: 2rem max-content;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  border: 1px solid #D0D0D0;
}

.sortbox__item dd {
  width: 100%;
  position: relative;
}

.sortbox__options {
  visibility: hidden;
  position: absolute;
  z-index: 3;
  top: -1px;
  left: 0;
  width: var(--option-width);
  background-color: var(--color-white);
  border: 1px solid #D0D0D0;
  border-top: none;
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.05em;
  line-height: 1;
  transition: height var(--transition-default);
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .sortbox__options {
    --option-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .sortbox__options {
    --option-width: 100%;
  }
}

.sortbox__options li {
  font-size: inherit;
  text-align: center;
}

.sortbox__options li a {
  transition: background-color var(--transition-default);
}

.sortbox__options li:not(.active)>a,
.sortbox__options li.active {
  display: block;
  padding: 1.5rem 1rem;
}

.sortbox__options li.active {
  color: var(--color-text-tax);
}

.product__container {
  --grid-columns-mobile: 2;
  --grid-columns-desktop: 3;
  --grid-gap: 0;
}

.product__container[data-column="min"] {
  --grid-columns-mobile: 1;
  --grid-columns-desktop: 3;
}

.product__container[data-column="max"] {
  --grid-columns-mobile: 2;
  --grid-columns-desktop: 4;
}

.productlist__headarea {
  padding-inline: 1rem;
  padding-bottom: 3rem;
  width: 100%;
  display: grid;
  grid-template-columns: 77.4647% 1fr;
  gap: 0 1.5rem;
}

.productlist__headarea .productlist__heading {
  padding-bottom: 0;
  border: none;
  grid-column: 1/3;
}

.productlist__headarea .productlist__heading .c-page-title__item {
  font-family: var(--font-ja);
  font-size: 2.4rem;
  font-weight: var(--fw-medium);
  width: 100%;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
}

.productlist__itemcount {
  margin-bottom: 2rem;
  padding: 0.8rem 0 0;
  justify-content: center;
  grid-column: 1/3;
}

.productlist__itemcount .c-pager__totalcount {
  display: flex;
  gap: 0.4rem;
  align-items: baseline;
  font-family: var(--font-en);
  font-size: 2.4rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.05em;
  line-height: 1.0833;
}

.productlist__itemcount .c-pager__totalcount small {
  font-family: var(--font-ja);
  font-size: 1.2rem;
  font-weight: var(--fw-regular);
}

.productlist__changeview {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  aspect-ratio: 2/1;
  align-self: center;
}

.productlist__changeview .productlist__changeview--button {
  padding: 0.5rem;
  color: #E5E5E5;
}

.productlist__changeview .productlist__changeview--button.active {
  color: var(--color-text-default);
}

@media (min-width: 768px) {
  .productlist__headarea {
    margin-inline: auto;
    padding-inline: 0;
    width: 91.4285%;
    grid-template-columns: 9.375% 10.9375% 1fr 6rem;
  }

  .productlist__headarea .productlist__heading {
    grid-area: 1/3/2/4;
  }

  .productlist__itemcount {
    padding: 0;
    margin: 0;
    grid-column: 1/2;
    justify-content: flex-start;
    align-self: center;
  }

  .productlist__itemcount .c-pager__wrapper {
    display: none;
  }

  .productlist__controlarea {
    display: block;
  }
}

.productlist__no-product {
  padding-inline: 1.5rem;
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.05em;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .productlist__no-product {
    padding-inline: 2rem;
    font-size: 1.6rem;
  }
}

.product__item {
  padding-bottom: 3rem;
}

.product__item--image {
  position: relative;
}

.product__item--image :where(img) {
  aspect-ratio: 263/370;
  object-fit: contain;
}

.product__item--soldout {
  background-color: rgb(0 0 0 / 0.3);
}

.product__item--soldout .product__item--soldout-text {
  font-family: var(--font-en);
  font-size: 1.8rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  line-height: 1;
}

.product__item--image .product__icon--1 {
  --icon-common-position: 1rem;

  padding: 0;
  width: 4.8rem;
  height: auto;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  position: absolute;
  top: var(--icon-common-position);
  right: var(--icon-common-position);
  font-size: 1.2rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  line-height: 1;
  background-color: var(--color-secondary);
  border-radius: 50%;
}

.product__item--icon {
  margin-top: 1.5rem;
  position: static;
  justify-content: center;
  gap: 0.9rem 0.6rem;
}

.product__item--icon:not(:has(.product__icon)) {
  display: none;
}

.product__icon:not(.product__icon--1) {
  padding: 0;
  padding-bottom: 0.4rem;
  font-family: var(--font-ja);
  font-size: 1.1rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.03em;
  line-height: 1.1;
  background-color: transparent;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
}

.product__icon.product__icon--5 {
  color: var(--color-emphasis);
  border-bottom-color: var(--color-emphasis);
}

.product__item--name {
  padding-inline: 1rem;
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.05em;
  line-height: 1.5385;
  text-align: center;
}

.product__item--price {
  margin-inline: auto;
  width: fit-content;
}

@media (min-width: 768px) {
  .product__item {
    padding-bottom: 5rem;
  }

  .product__item--icon {
    padding-inline: 1rem;
    gap: 0.8rem 1rem;
  }
}

.product__price {
  display: grid;
  gap: 0.8rem;
}

.product__price .product__price--item {
  margin-inline: auto;
  align-items: center;
}

.product__price .product__price--proper {
  color: var(--color-text-default);
}

.product__item--price .product__price--numeric {
  font-family: var(--font-en);
  font-size: 1.6rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.03em;
  line-height: 1;
}

.product__item--price .product__price--tax {
  font-family: var(--font-ja);
  font-size: 1rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.03em;
  line-height: 1;
}

.product__item--price .product__price--discountrate:empty {
  display: none;
}

@media (min-width: 768px) {
  .product__price {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.7rem;
  }
}

.categorytree__list[data-structure=parent] {
  padding: 0;
}

.categorytree__list[data-structure=child] {
  overflow: hidden;
  padding-left: 1.5em;
}

.categorytree__item--summary {
  padding: 1rem 0;
  display: grid;
  grid-template-columns: 1.2rem 1fr;
  gap: 1rem;
  align-items: center;
  list-style: none;
  text-align: left;
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.05em;
  line-height: 1.5;
}

summary.categorytree__item--summary::before {
  content: '';
  width: 100%;
  height: 50%;
  display: block;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.406%22%20height%3D%226.91%22%20viewBox%3D%220%200%2012.406%206.91%22%3E%20%3Cpath%20d%3D%22M-17299-12385l5.85%2C5.85%2C5.85-5.85%22%20transform%3D%22translate(17299.354%2012385.354)%22%20fill%3D%22none%22%20stroke%3D%22%23555%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transition: transform var(--transition-default);
}

a.categorytree__item--summary::before {
  content: '';
  display: block;
  width: 0.6rem;
  height: auto;
  aspect-ratio: 1;
  background-color: var(--color-text-default);
}

.categorytree__item--summary::-webkit-details-marker {
  display: none;
}

.categorytree__item--details[data-state-accordion="opened"] .categorytree__item--summary::before,
.categorytree__item--details[open] .categorytree__item--summary::before {
  transform: rotate(180deg);
}

/* .categorytree__item--details.js-accordionDetails>.categorytree__item--summary::before,
.categorytree__item--details.js-accordionDetails>.categorytree__item--summary::after {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1px;
  background-color: var(--color-gray-600);
} */

/* .categorytree__item--details.js-accordionDetails>.categorytree__item--summary::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%) rotate(-90deg);
  transition: transform var(--transition-default);
} */

.categorytree__item--details.js-accordionDetails>.categorytree__item--summary+.categorytree__list li:first-child a {
  padding-top: 0.75rem;
}

/* .categorytree__item--details.js-accordionDetails[data-state-accordion=opened]>.categorytree__item--summary::before {
  transform: translateY(-50%);
} */

.modal__content--head {
  position: relative;
}

/* .modal__content--body {
  overflow: hidden;
  overflow-y: auto;
} */

.modal__button--close {
  padding: 1.2rem;
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 0;
  right: 0;
  background-color: var(--color-text-tax);
}

.modal__button--close span {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.modal__button--close span::before,
.modal__button--close span::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-white);
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform var(--transition-default);
}

.modal__button--close span::before {
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}

.modal__button--close span::after {
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

@media screen and (min-width: 768px) {
  .productlist[data-pattern=leftnav] .form__section--heading {
    --heading-sidepadding: 2rem;
    padding-left: var(--heading-sidepadding);
    padding-right: var(--heading-sidepadding);
    text-align: left;
    position: relative;
  }

  .productlist[data-pattern=leftnav] [data-is-accordion] .form__section--heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
  }

  .productlist[data-pattern=leftnav] [data-is-accordion] .form__section--heading::before,
  .productlist[data-pattern=leftnav] [data-is-accordion] .form__section--heading::after {
    content: "";
    display: inline-block;
    width: 1.4rem;
    height: 2px;
    background-color: var(--color-gray-600);
  }

  .productlist[data-pattern=leftnav] [data-is-accordion] .form__section--heading::before {
    position: absolute;
    top: 50%;
    right: var(--heading-sidepadding);
    transform: translateY(-50%);
    transition: transform var(--transition-default);
  }

  .productlist[data-pattern=leftnav] [data-is-accordion].closed .form__section--heading::before {
    transform: translateY(-50%) rotate(-90deg);
  }

  .productlist[data-pattern=leftnav] [data-is-accordion].closed .modal__content--body {
    display: none;
  }

  .productlist[data-pattern=leftnav] .modal__button--close {
    display: none;
  }

  .productlist[data-pattern=maxwidth] .modal__container {
    display: none;
    position: absolute;
    z-index: 999;
    opacity: 0;
    transition: opacity var(--transition-default);
  }

  .productlist[data-pattern=maxwidth] .modal__content {
    position: fixed;
    z-index: 1000;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    max-width: 70rem;
    height: 70svh;
    background-color: var(--color-white);
    margin: 0 !important;
    display: grid;
    grid-template-rows: auto 1fr;
  }

  .productlist[data-pattern=maxwidth] .modal__content--head {
    padding: 1.5rem;
    font-size: 1.8rem;
  }

  .productlist[data-pattern=maxwidth] .modal__overlay {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100%;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
  }
}

@media screen and (max-width: 767px) {
  .modal__container {
    display: none;
    position: absolute;
    z-index: 999;
    opacity: 0;
    transition: opacity var(--transition-default);
  }

  .modal__content {
    --inner-width: 100%;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    height: 100dvh;
    background-color: var(--color-gray-100);
    margin: 0 !important;
    /* display: grid;
    grid-template-rows: auto 1fr; */
    border: none;
    border-radius: 0;
    overflow-y: auto;
  }

  .modal__overlay {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100%;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.6);
  }
}

.c-heading+.product__container {
  margin-top: 2rem;
}

.product__history {
  width: var(--inner-width);
  margin-inline: auto;
  margin-block: 2rem;
}

@media screen and (max-width: 767px) {
  .product__history .product__container {
    /* max-width: 35.8rem; */
    overflow: hidden;
    overflow-x: auto;
    display: flex;
    padding-bottom: 0.5rem;
  }

  .product__history .product__container .product__item {
    width: 12rem;
    flex-shrink: 0;
  }
}

@media screen and (min-width: 768px) {
  .product__history .product__container {
    --grid-columns: 6;
  }
}

.productlist__pager {
  margin-bottom: 6rem;
}

.productlist__pager .c-pager {
  margin: 3rem 0 0;
}

.l-recommend-rental {
  margin-block: 6rem;
}

@media (min-width: 768px) {
  .productlist__pager .c-pager {
    margin: 4rem 0 0;
  }

  .l-recommend-rental .tab__menu {
    right: 6rem;
  }
}

.l-history .l-history-list {
  margin-top: 3rem;
}

.productlist .m-product-item__image-area :where(img) {
  aspect-ratio: 263/370;
  object-fit: contain;
}

@media (min-width: 768px) {
  .l-history {
    margin: 8rem auto 0;
    width: 91.4285%;
  }

  .l-history .l-history-list {
    margin-top: 4rem;
  }

  .l-history .m-product-item__name {
    font-size: 1.2rem;
  }
}