@charset "UTF-8";
/* ===============================================
  * ProductList - 商品一覧のスタイル *
=============================================== */
.product__icon--1 {
  --color-cicon-border: var(--color-project-accent);
  background-color: var(--color-project-accent);
  --color-cicon-text: var(--color-white);
}

.c-overlay__dialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  max-width: none;
  height: fit-content;
  max-height: 80dvh;
  margin: auto;
  background-color: var(--color-white);
  border: none;
  width: min(90%, 70rem);
  border-radius: 0.4rem;
  overflow-y: auto;
  opacity: 0;
  transition: opacity var(--transition-default);
}
.c-overlay__dialog[data-state=active] {
  opacity: 1;
}
.c-overlay__dialog::backdrop {
  background-color: rgba(17, 17, 17, 0.8);
}

.c-overlay__dialog-inner {
  position: relative;
  display: grid;
  row-gap: 1.6rem;
  padding: 2rem;
}

.c-overlay__sticky-button {
  position: sticky;
  top: 1.6rem;
  right: 0;
  display: flex;
  justify-content: flex-end;
  height: 0;
}

.c-overlay__button--close-heading {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  padding: 0.25rem;
  background-color: var(--color-white);
  border: solid 1px var(--color-black);
  border-radius: 50%;
}

.c-overlay__content-wrapper {
  font-size: var(--text-m);
  letter-spacing: 0.025em;
  line-height: 1.5;
}

.l-body.productlist {
  overflow: clip;
}

.l-contents__inner {
  padding-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .l-contents__inner {
    width: 100%;
    padding-bottom: 10rem;
  }
}

a {
  color: inherit;
  text-decoration: none;
}

.productlist {
  --inner-width: 92%;
}
@media screen and (min-width: 768px) {
  .productlist {
    --inner-width: 100%;
  }
}
.productlist button {
  cursor: pointer;
}
.productlist .productlist__inner {
  width: 100%;
  max-width: var(--container-default);
  margin: 0 auto;
  padding-bottom: 6rem;
}
.productlist .productlist__inner:has(.product__sale-login) .productlist__listarea {
  padding-bottom: 0;
}
.productlist .productlist__inner:has(.product__sale-login) .productlist__searchrarea {
  display: none;
}
.productlist .productlist__headarea {
  display: grid;
  gap: 1rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .productlist .productlist__headarea {
    padding: 0 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .productlist .productlist__headarea {
    gap: 2rem;
    margin-bottom: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-productlist {
    width: min(90%, var(--design-default-width, 120rem));
    margin: 0 auto;
  }
}

.productlist__listarea:has(.category-section__parents) {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .productlist__listarea:has(.category-section__parents) {
    padding-bottom: 5rem;
  }
}
.productlist__listarea:has(.category-section__parents) .productlist__pagerarea,
.productlist__listarea:has(.category-section__parents) .productlist__controlarea,
.productlist__listarea:has(.category-section__parents) .product__container[data-list-layout=list],
.productlist__listarea:has(.category-section__parents) #pagination,
.productlist__listarea:has(.category-section__parents) .c-noitem {
  display: none !important;
}
.productlist__listarea:has(.c-noitem) .productlist__summary {
  display: none;
}

.productlist__heading {
  margin: 0;
  --title-direction: row;
}
.productlist__heading .c-page-title--ja {
  font-size: 2.4rem;
  line-height: 1.4166666667;
  letter-spacing: 0.05em;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .productlist__heading .c-page-title--ja {
    font-size: 3rem;
    line-height: 1;
  }
}

.productlist__summary p {
  letter-spacing: 0.05em;
  line-height: 1.7692307692;
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .productlist__summary p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .productlist__summary--bottom {
    padding: 0 1.5rem;
  }
}
.c-pager {
  margin-top: 0;
  font-size: inherit;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  justify-content: center;
  width: 100%;
}

.c-pager__wrapper {
  column-gap: 0.8rem;
}
@media screen and (min-width: 768px) {
  .c-pager__wrapper {
    gap: 1rem;
  }
}

.c-pager__item {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-project-text);
}
@media screen and (min-width: 768px) {
  .c-pager__item {
    width: 3.6rem;
    height: 3.6rem;
  }
}
.c-pager__item:not(.c-pager__separator) {
  border: 1px solid var(--color-project-text-sub);
  border-radius: 0.4rem;
  font-size: 1.2rem;
  font-weight: var(--fw-bold);
}
@media screen and (min-width: 768px) {
  .c-pager__item:not(.c-pager__separator) {
    font-size: 1.6rem;
  }
}

.c-pager__num--active {
  border-color: var(--color---color-project-text);
  background-color: var(--color-project-text);
  color: var(--color-white);
}

.c-pager__button {
  width: 1.5rem;
  height: 2.5rem;
  grid-template-rows: 1fr;
  padding: 0.6rem 0;
}
@media screen and (min-width: 768px) {
  .c-pager__button {
    height: 3.6rem;
    width: 2rem;
  }
}
.c-pager__button--prev {
  justify-content: start;
}
.c-pager__button--next {
  justify-content: end;
}
.c-pager__button svg {
  width: 0.8rem;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .c-pager__button svg {
    width: 1rem;
  }
}

.productlist__itemcount {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .productlist__itemcount {
    font-size: 1.4rem;
    padding: 1.5rem 0 0;
  }
}
.productlist__itemcount .c-pager__totalcount {
  display: inline-block;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .productlist__itemcount .c-pager__totalcount {
    font-size: 1.6rem;
  }
}
.productlist__itemcount .c-pager__totalcount--number {
  font-weight: var(--fw-bold);
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .productlist__itemcount .c-pager__totalcount--number {
    font-size: 2.6rem;
  }
}
.productlist__itemcount .c-pager {
  margin-top: 0;
  font-size: inherit;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  justify-content: space-between;
  width: 100%;
}

.productlist__pagerarea {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .productlist__pagerarea {
    padding: 0 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .productlist__listarea {
    padding: 0;
    padding-bottom: 6rem;
  }
}
@media screen and (min-width: 768px) {
  .productlist__listarea {
    padding-bottom: 8rem;
  }
}

.productlist__controlarea {
  padding: 1.5rem 1.5rem;
  background-color: var(--color-project-bg-sub);
}
@media screen and (max-width: 767px) {
  .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 (max-width: 767px) {
  .sortbox__content {
    display: grid;
    grid-template-columns: 38.66vw 1fr;
    gap: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .sortbox__content {
    display: inline-flex;
  }
}

.sortbox .option--active {
  display: inline-block;
  font-weight: var(--fw-semibold);
  padding-right: 3rem;
  background-image: var(--asset-link-arrow-bottom-black);
  background-repeat: no-repeat;
  background-size: 1.2rem 0.8rem;
  background-position: top 50% right 0.5rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sortbox .option--active {
    background-size: 1rem 0.6rem;
  }
}
.sortbox__item {
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .sortbox__item {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sortbox__item {
    --option-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .sortbox__item {
    --option-width: 20rem;
  }
}
.sortbox__item dt {
  display: flex;
  gap: 0.6rem;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .sortbox__item dt {
    align-items: center;
    font-size: 1.2rem;
  }
}
.sortbox__item dt .opton--wrap {
  display: flex;
  align-items: center;
  height: 4rem;
  padding: 0 1rem;
  border-radius: 0.4rem;
  border: 1px solid var(--color-project-text-sub);
  background-color: var(--color-white);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .sortbox__item dt .opton--wrap {
    width: 20rem;
  }
}
.sortbox__item dd {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .sortbox__item dd {
    width: 20rem;
    position: relative;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .sortbox__item--dpcnt {
    --option-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .sortbox__item--dpcnt {
    --option-width: 10rem;
  }
}
.sortbox__item--dpcnt dt .opton--wrap {
  width: 9rem;
}
@media screen and (min-width: 768px) {
  .sortbox__item--dpcnt dt .opton--wrap {
    width: 10rem;
  }
}
.sortbox__item--dpcnt dd {
  width: 9rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .sortbox__item--dpcnt dd {
    width: 10rem;
    position: relative;
  }
}
.sortbox__options {
  visibility: hidden;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: var(--option-width);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-300);
  border-radius: 0.4rem;
  font-size: 1.3rem;
  transition: height var(--transition-default);
  overflow: hidden;
}
.sortbox__options li {
  --color-active: var(--color-secondary);
  font-size: inherit;
}
.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;
  font-size: 1.4rem;
}
.sortbox__options li.active {
  font-weight: var(--fw-semibold);
  background-color: var(--color-active);
  color: var(--color-white);
}

.modal__content--head {
  position: relative;
}
.modal__content--body {
  overflow: hidden;
  overflow-y: auto;
}
.modal__content .modal__button--close {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  margin: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .modal__content .modal__button--close {
    width: 1.8rem;
    height: 1.8rem;
    right: 1rem;
  }
}
.modal__content .modal__button--close span {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.modal__content .modal__button--close span::before, .modal__content .modal__button--close span::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: var(--color-gray-600);
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform var(--transition-default);
}
.modal__content .modal__button--close span::before {
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}
.modal__content .modal__button--close span::after {
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

.productlist[data-pattern=maxwidth] .categorytree__container {
  display: none;
}
.productlist[data-pattern=maxwidth] .modal__content {
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .productlist[data-pattern=maxwidth] .modal__content {
    position: fixed;
    z-index: 1000;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    max-width: 92vw;
    height: 90svh;
    background-color: var(--color-white);
    margin: 0 !important;
    display: grid;
    grid-template-rows: auto 1fr;
  }
}
@media screen and (min-width: 768px) {
  .productlist[data-pattern=maxwidth] .modal__content {
    position: fixed;
    z-index: 1000;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    max-width: 80rem;
    height: 70svh;
    max-height: 54rem;
    background-color: var(--color-white);
    margin: 0 !important;
    display: grid;
    grid-template-rows: auto 1fr;
  }
}
.productlist[data-pattern=maxwidth] .modal__content--head {
  background-color: var(--color-project-bg-sub);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .productlist[data-pattern=maxwidth] .modal__content--head {
    height: 5.2rem;
  }
}
@media screen and (min-width: 768px) {
  .productlist[data-pattern=maxwidth] .modal__content--head {
    padding: 1.5rem;
    font-size: 1.8rem;
    height: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .productlist[data-pattern=maxwidth] .modal__overlay {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100%;
    inset: 0;
    background-color: rgba(17, 17, 17, 0.8);
  }
}
@media screen and (min-width: 768px) {
  .productlist[data-pattern=maxwidth] .modal__overlay {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100%;
    inset: 0;
    background-color: rgba(17, 17, 17, 0.8);
  }
}

.c-heading + .product__container {
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  [aria-labelledby=section-history] {
    margin-bottom: 5rem;
  }
}
@media screen and (min-width: 768px) {
  [aria-labelledby=section-history] {
    margin-bottom: 10rem;
  }
}
@media screen and (min-width: 768px) {
  [aria-labelledby=section-history] .l-content__fluid-wrapper--large {
    width: 100%;
    max-width: var(--container-default);
    margin: 0 auto;
    padding: 0;
  }
}

.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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .product__history .product__container {
    --grid-columns: 6;
  }
}
@media screen and (max-width: 767px) {
  .product__history .product__container .product__item {
    width: 12rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

/* ===========================================================
  商品一覧（通常表示）
=========================================================== */
@media screen and (max-width: 767px) {
  [data-list-layout=list] {
    display: grid !important;
    grid-template-columns: 1fr;
    --grid-gap: 0;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] {
    --grid-columns: 1;
    --grid-gap: 0;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
[data-list-layout=list] .product__item {
  display: grid;
  grid-template-columns: min(24.166667vw, 35rem) 1fr;
  column-gap: 5rem;
  grid-auto-rows: auto;
  padding: 4rem 5rem;
}
@media screen and (max-width: 767px) {
  [data-list-layout=list] .product__item {
    padding: 3rem 0;
    grid-template-columns: 1fr;
    column-gap: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item {
    align-items: center;
  }
}
[data-list-layout=list] .product__item:first-of-type {
  padding-top: 0;
}
[data-list-layout=list] .product__item:last-of-type {
  border-bottom: 0.5rem solid var(--color-gray-200);
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item:last-of-type {
    border-width: 0.2rem;
  }
}
[data-list-layout=list] .product__item + .product__item {
  border-top: 0.5rem solid var(--color-gray-200);
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item + .product__item {
    border-width: 0.2rem;
  }
}
@media screen and (max-width: 767px) {
  [data-list-layout=list] .product__item--detail {
    padding: 0 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  [data-list-layout=list] .product__item--name__container {
    display: grid;
    grid-template-columns: 32vw 56vw;
    column-gap: 4vw;
    margin-bottom: 2rem;
  }
}
[data-list-layout=list] .product__item--image {
  height: fit-content;
}
[data-list-layout=list] .product__item--icon {
  position: relative;
}
[data-list-layout=list] .product__item--name {
  margin-top: 0;
}
[data-list-layout=list] .product__item--name,
[data-list-layout=list] .product__item--name > a {
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item--name,
  [data-list-layout=list] .product__item--name > a {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
[data-list-layout=list] .product__item--id {
  margin-top: 0.8rem;
  margin-bottom: 0;
  font-size: 1.1rem;
  font-weight: var(--fw-regular);
  color: var(--color-project-text-sub);
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item--id {
    font-size: 1.3rem;
  }
}
[data-list-layout=list] .product__item--catchcopy {
  font-size: 1.3rem;
  line-height: 1.7692307692;
  letter-spacing: 0.05em;
  font-weight: var(--fw-semibold);
  margin-bottom: 1.2rem;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item--catchcopy {
    font-size: 1.6rem;
  }
}
[data-list-layout=list] .product__item--outline:not(:empty) {
  margin-bottom: 1.4rem;
  border: 1px solid #999;
  padding: 1.2rem;
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item--outline:not(:empty) {
    font-size: 1.3rem;
  }
}
[data-list-layout=list] .product__status {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--color-project-text-sub);
  line-height: 1;
  margin-top: 0.2rem;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__status {
    margin-top: 0.7rem;
    font-size: 1.8rem;
  }
}
[data-list-layout=list] .product__status:empty {
  display: none;
}
[data-list-layout=list] .product__status:not(:empty) + .product__status--soldout {
  display: none;
}
[data-list-layout=list] .variation__list {
  display: grid;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .variation__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
[data-list-layout=list] .variation__list .variation__item > div {
  display: flex;
  align-items: center;
  grid-gap: 0.8rem;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .variation__list .variation__item > div {
    grid-gap: 1rem;
  }
}
@media screen and (max-width: 767px) {
  [data-list-layout=list] .variation__list .variation__item > div:has(.variation__item--image) {
    border-bottom: 1px solid var(--color-project-border);
  }
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .variation__list .variation__item > div:has(.variation__item--image) {
    position: relative;
  }
  [data-list-layout=list] .variation__list .variation__item > div:has(.variation__item--image)::after {
    content: "";
    width: 95.5223880597%;
    height: 1px;
    background-color: var(--color-project-border);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
  }
}
[data-list-layout=list] .variation__list .variation__item--actions {
  display: none;
}
[data-list-layout=list] .variation__list .variation__item .variation__item--image {
  width: 6rem;
  padding: 1rem 0 1rem 1rem;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .variation__list .variation__item .variation__item--image {
    width: 8rem;
    padding: 1.5rem 0;
  }
}
[data-list-layout=list] .variation__list .variation__item .variation__item--name {
  width: 100%;
  padding-right: 1rem;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  [data-list-layout=list] .variation__list .variation__item--container:first-of-type .variation__item .variation__item--detail:has(.variation__item--image) {
    border-top: 1px solid var(--color-project-border);
  }
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .variation__list .variation__item--container:nth-of-type(odd) .variation__item .variation__item--detail:has(.variation__item--image) {
    position: relative;
  }
  [data-list-layout=list] .variation__list .variation__item--container:nth-of-type(odd) .variation__item .variation__item--detail:has(.variation__item--image)::before {
    content: "";
    width: 1px;
    height: 72.7272727273%;
    background-color: var(--color-project-border);
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .variation__list .variation__item--container:first-of-type .variation__item .variation__item--detail:has(.variation__item--image)::after, [data-list-layout=list] .variation__list .variation__item--container:nth-of-type(2) .variation__item .variation__item--detail:has(.variation__item--image)::after {
    content: none;
  }
}
[data-list-layout=list] .product__item--icon:has(.product__icon) {
  margin-bottom: 0.8rem;
  gap: 0.3rem;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item--icon:has(.product__icon) {
    gap: 0.4rem;
    margin-bottom: 1rem;
  }
}
[data-list-layout=list] .product__item--icon:has(.product__icon) .product__icon {
  font-size: 1rem;
  padding: 0.3rem 0.4rem;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item--icon:has(.product__icon) .product__icon {
    font-size: 1.2rem;
  }
}
[data-list-layout=list] .product__item--detail > .product__item--price .product__price--numeric {
  font-size: 2.4rem;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item--detail > .product__item--price .product__price--numeric {
    font-size: 3rem;
  }
}
[data-list-layout=list] .product__item--detail > .product__item--price .product__price--tax {
  font-size: 1.1rem;
  font-weight: var(--fw-medium);
}
[data-list-layout=list] .product__item--detail .product__price--proper .product__price--numeric {
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  [data-list-layout=list] .product__item--detail .product__price--proper .product__price--numeric {
    font-size: 2rem;
  }
}
[data-list-layout=list] .product__item--detail .product__price--proper .product__price--tax {
  font-size: 1rem;
}

.product__item--detail .product__item--price {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 1.4rem;
  justify-content: space-between;
  margin-top: 1.7rem;
}
@media screen and (min-width: 768px) {
  .product__item--detail .product__item--price {
    grid-template-columns: auto min(30vw, 40.8rem);
  }
}
.product__item--detail .product__item--price .product__only-member {
  width: 100%;
  color: var(--color-project-accent);
  letter-spacing: 0.05em;
  font-weight: var(--fw-medium);
}
@media screen and (min-width: 768px) {
  .product__item--detail .product__item--price .product__only-member {
    grid-column: 1/3;
  }
}
.product__item--detail .product__item--price .product__only-member .product__only-member--text {
  font-size: 1.2rem;
}
.product__item--detail .product__item--price .product__only-member .product__only-member--link {
  font-size: 1.2rem;
  text-decoration-line: underline;
  display: block;
  margin-top: 0.3rem;
  width: fit-content;
}
.product__item--detail .product__item--price .product__price--discountrate:not(:empty) {
  font-size: 1.2rem;
  padding: 0.3rem 0.4rem;
}

.product__cta--wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  grid-gap: 0.8rem;
}
@media screen and (min-width: 768px) {
  .product__cta--wrapper {
    display: flex;
    justify-content: flex-end;
  }
}
.product__cta--wrapper .product__cta--button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border: 1px solid var(--color-text-default);
  color: var(--color-text-default);
  border-radius: 0.4rem;
  padding: 1rem 0.5rem;
  font-size: 1.3rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .product__cta--wrapper .product__cta--button {
    width: min(16.66vw, 20rem);
    font-size: min(1.12vw, 1.5rem);
  }
}
.product__cta--wrapper .product__detail--button {
  color: var(--color-white) !important;
  border-color: var(--color-project-accent);
  background-color: var(--color-project-accent);
}
.product__cta--wrapper .product__favorite--button svg {
  display: block;
}
@media screen and (min-width: 768px) {
  .product__cta--wrapper .product__favorite--button svg {
    width: 1.6rem;
  }
}
.product__cta--wrapper .product__favorite--button svg path#favorite_icon {
  fill: var(--color-text-default);
}
.product__cta--wrapper .product__favorite--button svg path#favorite_icon-2 {
  fill: transparent;
}
.product__cta--wrapper .product__favorite--button:has(.added) {
  border-color: var(--color-project-text-sub);
  background-color: var(--color-project-bg-sub);
  color: var(--color-project-text-sub);
}
.product__cta--wrapper .product__favorite--button:has(.added) svg path#favorite_icon {
  fill: var(--color-project-text-sub);
}
.product__cta--wrapper .product__favorite--button:has(.added) svg path#favorite_icon-2 {
  fill: var(--color-project-text-sub);
}
@media (hover: hover) {
  .product__favorite--button {
    transition: fill var(--transition-default);
  }
  .product__favorite--button svg path {
    transition: fill var(--transition-default);
  }
  .product__favorite--button .added {
    transition: fill var(--transition-default);
  }
  .product__favorite--button:hover {
    border-color: var(--color-project-text-sub);
    color: var(--color-project-text-sub);
    background-color: var(--color-project-bg-sub);
  }
  .product__favorite--button:hover svg path#favorite_icon {
    fill: var(--color-project-text-sub);
  }
  .product__favorite--button:hover svg path#favorite_icon-2 {
    fill: var(--color-project-text-sub);
  }
}
.c-form__input--select {
  padding-right: 3rem;
  background-image: var(--asset-link-arrow-bottom-black);
  background-repeat: no-repeat;
  background-size: 1.2rem 0.8rem;
  background-position: top 50% right 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-form__input--select {
    background-position: top 50% right 2rem;
  }
}

.product__item--guarantee {
  --color-guarantee: #0B51B3;
  --icon-guarantee: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3CclipPath%20id%3D%22clip-path%22%3E%0A%20%20%20%20%20%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_24259%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2024259%22%20width%3D%2230%22%20height%3D%2230%22%20transform%3D%22translate(972%20690)%22%20fill%3D%22%23fff%22%20stroke%3D%22%23707070%22%20stroke-width%3D%221%22%2F%3E%0A%20%20%20%20%3C%2FclipPath%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cg%20id%3D%22%E3%83%9E%E3%82%B9%E3%82%AF%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_98%22%20data-name%3D%22%E3%83%9E%E3%82%B9%E3%82%AF%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2098%22%20transform%3D%22translate(-972%20-690)%22%20clip-path%3D%22url(%23clip-path)%22%3E%0A%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66526%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066526%22%20d%3D%22M23.141%2C3.321C23.078%2C3.315%2C17%2C2.071%2C12.826-.8a1.214%2C1.214%2C0%2C0%2C0-.688-.2H12.1a1.214%2C1.214%2C0%2C0%2C0-.688.2C7.247%2C2.071%2C1.165%2C3.315%2C1.1%2C3.321A1.13%2C1.13%2C0%2C0%2C0%2C0%2C4.383v7.465C0%2C22.022%2C11.154%2C26.5%2C11.628%2C26.686a1.36%2C1.36%2C0%2C0%2C0%2C.985%2C0c.475-.185%2C11.629-4.664%2C11.629-14.838V4.383a1.13%2C1.13%2C0%2C0%2C0-1.1-1.062m-.05%2C8.527c0%2C9.529-10.5%2C13.737-10.944%2C13.912H12.1c-.447-.175-10.944-4.383-10.944-13.912V4.383A.055.055%2C0%2C0%2C1%2C1.2%2C4.331%2C29.275%2C29.275%2C0%2C0%2C0%2C12.105.013h.028A29.286%2C29.286%2C0%2C0%2C0%2C23.045%2C4.331a.055.055%2C0%2C0%2C1%2C.046.051Z%22%20transform%3D%22translate(974.323%20692.212)%22%20fill%3D%22%230b51b3%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66526_-_%E3%82%A2%E3%82%A6%E3%83%88%E3%83%A9%E3%82%A4%E3%83%B3%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066526%20-%20%E3%82%A2%E3%82%A6%E3%83%88%E3%83%A9%E3%82%A4%E3%83%B3%22%20d%3D%22M12.182-1.5h.033a1.782%2C1.782%2C0%2C0%2C1%2C1.015.305c3.934%2C2.706%2C9.728%2C3.951%2C10.066%2C4.02a1.692%2C1.692%2C0%2C0%2C1%2C1.6%2C1.634v7.465c0%2C10.581-11.507%2C15.185-12%2C15.375a1.937%2C1.937%2C0%2C0%2C1-1.406%2C0C11.006%2C27.109-.5%2C22.5-.5%2C11.925V4.459A1.692%2C1.692%2C0%2C0%2C1%2C1.1%2C2.825c.335-.069%2C6.131-1.313%2C10.066-4.02A1.783%2C1.783%2C0%2C0%2C1%2C12.182-1.5ZM22.591%2C4.93A31.527%2C31.527%2C0%2C0%2C1%2C12.2.776%2C31.3%2C31.3%2C0%2C0%2C1%2C1.805%2C4.925v7c0%2C8.567%2C8.938%2C12.686%2C10.393%2C13.3%2C1.455-.613%2C10.393-4.732%2C10.393-13.3Z%22%20transform%3D%22translate(974.246%20692.135)%22%20fill%3D%22%230b51b3%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66502%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066502%22%20d%3D%22M11.87%2C16.721%2C6.7%2C11.985l1.334-1.222%2C3.835%2C3.513L18.7%2C8.01l1.335%2C1.221Z%22%20transform%3D%22translate(973.785%20692.798)%22%20fill%3D%22%230b51b3%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66502_-_%E3%82%A2%E3%82%A6%E3%83%88%E3%83%A9%E3%82%A4%E3%83%B3%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066502%20-%20%E3%82%A2%E3%82%A6%E3%83%88%E3%83%A9%E3%82%A4%E3%83%B3%22%20d%3D%22M11.927%2C17.165l-5.6-5.128%2C1.761-1.613%2C3.835%2C3.513%2C6.829-6.266%2C1.763%2C1.612ZM7.184%2C12.037l4.743%2C4.345%2C7.736-7.1-.908-.83L11.926%2C14.72%2C8.091%2C11.207Z%22%20transform%3D%22translate(973.728%20692.746)%22%20fill%3D%22%230b51b3%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A");
}
.product__item--guarantee .guarantee__heading {
  font-weight: var(--fw-bold);
  font-size: 1.3rem;
  margin-bottom: 1rem;
}
.product__item--guarantee .guarantee__contents--list {
  display: grid;
  grid-gap: 0.6rem;
}
@media screen and (min-width: 768px) {
  .product__item--guarantee .guarantee__contents--list {
    grid-template-columns: repeat(2, calc((100% - 0.8rem) / 2));
    grid-gap: 0.8rem;
  }
}
.product__item--guarantee .guarantee__contents--list-item {
  border: 1px solid var(--color-guarantee);
  padding: 0.7rem 1.2rem;
  font-size: 1.2rem;
  line-height: 1.6;
  color: var(--color-guarantee);
  letter-spacing: 0.05em;
  justify-content: space-between;
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: 2.4rem 1fr 7.2rem;
}
.product__item--guarantee .guarantee__contents--list-item::before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  display: block;
  background-image: var(--icon-guarantee);
  background-repeat: no-repeat;
  background-size: contain;
}
.product__item--guarantee .guideline__contents--heading {
  font-weight: var(--fw-bold);
  font-size: 1.2rem;
  line-height: 1;
}
.product__item--guarantee .guideline__contents--heading .guideline__contents--year {
  font-size: 1.5rem;
}
.product__item--guarantee .guideline__contents--annotation {
  display: block;
  font-size: 1rem;
  font-weight: var(--fw-regular);
  margin-top: 0.3rem;
}
.product__item--guarantee .guideline__contents--trigger {
  display: flex;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  align-items: center;
  gap: 0.4rem;
  border-bottom: 1px solid var(--color-guarantee);
  font-weight: var(--fw-medium);
}
.product__item--guarantee .guideline__contents--trigger::after {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  display: block;
  background-image: var(--asset-link-overlay-blue);
  background-repeat: no-repeat;
  background-size: contain;
}
.product__item--guarantee .guideline-guarantee__title {
  font-size: 1.8rem;
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description__section {
  letter-spacing: 0.05em;
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description--paragraph {
  font-size: 1.3rem;
  line-height: 1.7;
  color: var(--color-text-default);
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description--paragraph a {
  font-size: inherit;
  color: var(--color-primary);
  text-decoration-line: underline;
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description--paragraph + .guarantee__description--paragraph {
  margin-top: 1rem;
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description--annotation {
  font-size: 1.3rem;
  color: var(--color-primary);
  margin-top: 0.5rem;
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description--heading {
  font-size: 1.5rem;
  font-weight: var(--fw-semibold);
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description--list, .product__item--guarantee .guideline-guarantee__description .guarantee__description--list ul {
  display: grid;
  grid-gap: 0.7rem;
  margin-bottom: 1rem;
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description--list li {
  font-size: 1.3rem;
  line-height: 1.7;
  color: var(--color-text-default);
}
.product__item--guarantee .guideline-guarantee__description .guarantee__description .list-circle li::before {
  content: "";
  background: var(--color-text-default);
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  position: relative;
  margin-right: 6px;
  border-radius: 50%;
  top: -0.2rem;
}

.product__item--soldout {
  width: unset;
  height: unset;
  background-color: unset;
  display: block;
  position: unset;
}

.productlist .product__favorite--popup {
  width: min(35rem, 90%);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  display: grid;
  row-gap: 2rem;
  padding: 4rem;
  position: fixed;
  top: 50%;
  right: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
.productlist .product__favorite--popup .c-button {
  min-width: 0;
  background-color: var(--color-project-text);
  border-color: var(--color-project-text);
}
.productlist .product__favorite--popup-text {
  text-align: center;
  font-size: 1.4rem;
}

/* ===========================================================
  ProductVariationList
=========================================================== */
.p-productlist__sale .product__container {
  border-top: 0.5rem solid var(--color-gray-200);
}
@media screen and (min-width: 768px) {
  .p-productlist__sale .product__container {
    border-width: 0.2rem;
  }
}
.p-productlist__sale .product__item--soldout {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  place-content: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  background-color: rgba(243, 243, 243, 0.8);
}
.p-productlist__sale .product__item--soldout .product__item--soldout-text {
  width: 100%;
  height: 1.9rem;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  background: var(--color-project-border);
  color: var(--color-project-text-sub);
  font-size: 1rem;
  letter-spacing: 0.05em;
  font-weight: var(--fw-bold);
}
@media screen and (min-width: 768px) {
  .p-productlist__sale .product__item--soldout .product__item--soldout-text {
    height: 3rem;
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .p-productlist__sale .product__item--detail .product__item--price {
    align-items: end;
  }
}
@media screen and (max-width: 767px) {
  .p-productlist__sale .product__cta--wrapper {
    grid-template-columns: auto;
    grid-gap: 0;
  }
}
.p-productlist__sale .product__cta--button {
  height: 5.3rem;
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-productlist__sale .product__cta--button {
    width: 30rem;
    height: 5.6rem;
    font-size: 1.8rem;
  }
}
.p-productlist__sale .product__cta--button svg {
  width: 2rem;
  height: 2rem;
}
@media screen and (min-width: 768px) {
  .p-productlist__sale .product__cta--button svg {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.p-productlist__sale .product__cta--soldout {
  background-color: var(--color-project-border);
  border-color: var(--color-project-border);
  border-radius: 0;
  letter-spacing: 0.05em;
  font-weight: var(--fw-bold);
  color: var(--color-project-text-sub);
}
.p-productlist__sale .c-product__alert {
  margin-top: 2rem;
  text-align: center;
  color: var(--color-emphasis);
}

.productlist__searchrarea {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .productlist__searchrarea {
    padding: 0 1.5rem;
    margin-bottom: 5rem;
  }
}
.productlist__searchrarea .product__searchbox {
  display: grid;
  width: 100%;
  grid-gap: 1rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__searchbox {
    align-items: center;
    grid-template-columns: auto 56rem;
    grid-gap: 2rem;
    justify-content: center;
    background-color: var(--color-project-bg-sub);
    padding: 2rem 0;
  }
}
.productlist__searchrarea .product__searchbox--heading {
  font-size: 1.4rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__searchbox--heading {
    font-size: 1.6rem;
  }
}
.productlist__searchrarea .product__searchbox--input {
  width: 100%;
  position: relative;
}
.productlist__searchrarea .product__searchbox--input input {
  width: 100%;
  box-sizing: border-box;
  color: var(--color-project-text);
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 1rem 1.5rem;
  display: block;
  background-color: var(--color-white);
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0.4rem;
  border-color: var(--color-project-dark-gray);
  border-width: 1px;
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__searchbox--input input {
    font-size: 1.5rem;
  }
}
.productlist__searchrarea .product__searchbox--input input::placeholder {
  color: var(--color-project-dark-gray);
}
.productlist__searchrarea .product__searchbox--btn {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  color: var(--color-white);
  background-color: var(--color-project-text);
  padding: 1.2rem;
  border-radius: 0 0.4rem 0.4rem 0;
  display: block;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__searchbox--btn {
    width: 8rem;
    font-size: 1.5rem;
  }
}
.productlist__searchrarea .product__category-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 0.9rem;
  display: none;
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__category-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 1.5rem;
  }
}
.productlist__searchrarea .product__category-link {
  display: grid;
  display: none;
  border: 1px solid var(--color-project-border);
  align-items: center;
  justify-items: center;
  --column-num: 3;
  --gap: 1.6rem;
  --arrow-size: .7rem;
  position: relative;
  transition: all var(--transition-default);
}
@media screen and (max-width: 767px) {
  .productlist__searchrarea .product__category-link {
    grid-template-rows: 26.6vw 5.4rem;
    row-gap: 0.9rem;
    padding: 1rem 0 0;
  }
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__category-link {
    grid-template-columns: 13rem auto;
    align-items: center;
    column-gap: 2rem;
    padding: 1rem 5rem 1rem 1rem;
  }
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__category-link::after {
    content: "";
    width: var(--arrow-size);
    aspect-ratio: 6.11/10;
    background-image: var(--asset-link-arrow-right-red);
    background-repeat: no-repeat;
    background-size: contain;
    transition: translate var(--transition-default);
    position: absolute;
    right: 3rem;
  }
}
.productlist__searchrarea .product__category-link:hover, .productlist__searchrarea .product__category-link:focus-visible {
  box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.16);
}
.productlist__searchrarea .product__category-link:hover::after, .productlist__searchrarea .product__category-link:focus-visible::after {
  translate: 1rem;
}
.productlist__searchrarea .product__category-link:hover .product__category-name::after, .productlist__searchrarea .product__category-link:focus-visible .product__category-name::after {
  translate: 1rem;
}
@media screen and (max-width: 767px) {
  .productlist__searchrarea .product__category-image {
    width: auto;
    height: 100%;
  }
}
.productlist__searchrarea .product__category-name {
  font-weight: var(--fw-bold);
}
@media screen and (max-width: 767px) {
  .productlist__searchrarea .product__category-name {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 0 3.2rem 0 1.2rem;
    background-color: var(--color-project-bg-sub);
    font-size: 1.4rem;
    --column-num: 3;
    --gap: 1.6rem;
    --arrow-size: .7rem;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__category-name {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .productlist__searchrarea .product__category-name::after {
    content: "";
    width: var(--arrow-size);
    aspect-ratio: 6.11/10;
    background-image: var(--asset-link-arrow-right-red);
    background-repeat: no-repeat;
    background-size: contain;
    transition: translate var(--transition-default);
    position: absolute;
    right: 1.5rem;
  }
}
.productlist__searchrarea .product__category-all {
  width: 100%;
  max-width: 60rem;
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__category-all {
    margin-top: 5rem;
  }
}
.productlist__searchrarea .product__category-all--btn {
  padding: 1.6rem 0;
  border: 1px solid var(--color-project-border);
  display: grid;
  align-items: center;
  justify-items: center;
  --column-num: 3;
  --gap: 1.6rem;
  --arrow-size: .7rem;
  position: relative;
  width: 100%;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  line-height: 1;
  transition: all var(--transition-default);
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__category-all--btn {
    padding: 2rem 0;
    font-size: 2rem;
  }
}
.productlist__searchrarea .product__category-all--btn::after {
  content: "";
  width: var(--arrow-size);
  aspect-ratio: 6.11/10;
  background-image: var(--asset-link-arrow-right-red);
  background-repeat: no-repeat;
  background-size: contain;
  transition: translate var(--transition-default);
  position: absolute;
  right: 1.5rem;
}
@media screen and (min-width: 768px) {
  .productlist__searchrarea .product__category-all--btn::after {
    right: 3rem;
  }
}
.productlist__searchrarea .product__category-all--btn:hover, .productlist__searchrarea .product__category-all--btn:focus-visible {
  box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.16);
}
.productlist__searchrarea .product__category-all--btn:hover::after, .productlist__searchrarea .product__category-all--btn:focus-visible::after {
  translate: 1rem;
}
.productlist__searchrarea #sale-categorylist {
  display: none;
}
.productlist__searchrarea #sale-categorylist.cid001 + .product__category-list .category001 {
  display: grid;
}
.productlist__searchrarea #sale-categorylist.cid002 + .product__category-list .category002 {
  display: grid;
}
.productlist__searchrarea #sale-categorylist.cid003 + .product__category-list .category003 {
  display: grid;
}
.productlist__searchrarea #sale-categorylist.cid004 + .product__category-list .category004 {
  display: grid;
}
.productlist__searchrarea #sale-categorylist.cid005 + .product__category-list .category005 {
  display: grid;
}
.productlist__searchrarea #sale-categorylist.cid006 + .product__category-list .category006 {
  display: grid;
}
.productlist__searchrarea #sale-categorylist.cid007 + .product__category-list .category007 {
  display: grid;
}
.productlist__searchrarea #sale-categorylist.cid008 + .product__category-list .category008 {
  display: grid;
}
.productlist__searchrarea #sale-categorylist.cid009 + .product__category-list .category009 {
  display: grid;
}

@media screen and (max-width: 767px) {
  .productlist__guidearea {
    padding: 0 1.5rem;
  }
}
.productlist__guidearea .productlist__guide--section {
  padding-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section {
    padding-bottom: 8rem;
  }
}
.productlist__guidearea .productlist__guide--section .productlist__guide--list {
  display: grid;
  grid-gap: 5rem;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .productlist__guide--list {
    grid-gap: 6rem;
  }
}
.productlist__guidearea .productlist__guide--section .productlist__guide--heading {
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: var(--fw-bold);
  line-height: 1.5625;
  border-bottom: 1px solid #707070;
  padding-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .productlist__guide--heading {
    font-size: 2rem;
    padding-bottom: 0.7rem;
    margin-bottom: 3rem;
    margin-top: 3rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__intro--block {
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__intro--block {
    margin-bottom: 6rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__intro--heading {
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: var(--fw-bold);
  line-height: 1.5625;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__intro--heading {
    font-size: 1.8rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__intro--paragraph {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.7857142857;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__intro--paragraph {
    font-size: 1.5rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__intro--paragraph:not(:last-of-type) {
  margin-bottom: 2rem;
}
.productlist__guidearea .productlist__guide--section .guide__intro--paragraph + .guide__frame {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__intro--paragraph + .guide__frame {
    margin-top: 6rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__heading {
  margin-bottom: 0.7rem;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  font-weight: var(--fw-bold);
  line-height: 1.7692307692;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__heading {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    margin-top: 3rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__paragraph {
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  line-height: 1.7692307692;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__paragraph {
    font-size: 1.4rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__paragraph:not(:last-of-type) {
  margin-bottom: 1.2rem;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__paragraph:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__link {
  color: var(--color-project-accent);
  text-decoration-line: underline;
  font-size: inherit;
}
.productlist__guidearea .productlist__guide--section .guide__frame {
  border: 3px solid var(--color-project-border);
  padding: 1.8rem;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__frame {
    padding: 3rem;
  }
}
.productlist__guidearea .productlist__guide--section .guide__frame .guide__heading {
  margin-bottom: 1.2rem;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .productlist__guidearea .productlist__guide--section .guide__frame .guide__heading {
    margin-bottom: 2rem;
    margin-top: 0;
  }
}
.productlist__guidearea .productlist__guide--section .guide__frame:not(:last-of-type) {
  margin-bottom: 1.5rem;
}

.product__sale-login {
  display: grid;
  grid-gap: 2rem;
  justify-content: center;
  justify-items: center;
  font-size: 1.8rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .product__sale-login {
    grid-template-columns: 48rem;
  }
}

.product__item--option:has(dt) {
  margin-top: 1.5rem;
  padding: 1.5rem 2rem;
  background-color: var(--color-project-bg-sub);
}
@media screen and (min-width: 768px) {
  .product__item--option:has(dt) {
    padding: 2rem 2.5rem;
    margin-top: 2rem;
  }
}
.product__item--option select, .product__item--option input {
  font-family: var(--font-main);
  border-color: var(--color-project-light-gray);
  border-radius: 0.4rem;
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .product__item--option select, .product__item--option input {
    font-size: 1.5rem;
  }
}
.product__item--option .c-form__input--check label,
.product__item--option .c-form__input--radio label {
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .product__item--option .c-form__input--check label,
  .product__item--option .c-form__input--radio label {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .product__item--option dt {
    font-size: 1.6rem;
  }
}
.product__item--option dt .necessary {
  margin-left: 1rem;
  padding: 0.3rem 0.3rem 0.2rem;
  color: var(--color-white);
  background-color: var(--color-project-accent);
  font-size: 1rem;
  line-height: 1;
  font-weight: var(--fw-bold);
}
.product__item--option dt:not(:first-of-type) {
  margin-top: 1.6rem;
}
@media screen and (min-width: 768px) {
  .product__item--option dt:not(:first-of-type) {
    margin-top: 2rem;
  }
}
.product__item--option dd {
  margin-top: 0.8rem;
}
@media screen and (min-width: 768px) {
  .product__item--option dd {
    margin-top: 1rem;
  }
}
.product__item--option .option__check-box {
  display: flex;
  gap: 2.5rem;
}

/* ===========================================================
  カテゴリHTML
=========================================================== */
.p-productlist:has([aria-labelledby=section-history]) .category-section__parents::after {
  content: "";
  width: 100vw;
  height: 0.6rem;
  background-color: var(--color-gray-200);
  position: absolute;
  bottom: -5rem;
  left: 0;
  margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  .p-productlist:has([aria-labelledby=section-history]) .category-section__parents::after {
    bottom: -10rem;
    height: 0.8rem;
  }
}

.category-section {
  margin-bottom: 5rem;
  /*  親カテゴリ  */
  /*  子カテゴリ  */
}

@media screen and (max-width: 767px) {
  .category-section {
    padding: 0 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .category-section {
    margin-bottom: 8rem;
  }
}
.category-section__parents {
  position: relative;
}

.category-section .category-section__child-list {
  display: grid;
  grid-gap: 1rem;
}

@media screen and (min-width: 768px) {
  .category-section .category-section__child-list {
    grid-template-columns: repeat(2, calc(50% - 0.8rem));
    grid-gap: 1.6rem;
  }
}
.category-section .category-section__child-list-item a {
  display: grid;
  grid-template-columns: 10rem 1fr;
  grid-gap: 1rem;
  align-items: center;
  border: 1px solid var(--color-project-border);
  padding: 1.5rem 3.5rem 1.5rem 1.5rem;
  --column-num: 3;
  --gap: 1.6rem;
  --arrow-size: .7rem;
  position: relative;
}
.category-section .category-section__child-list-item a:hover, .category-section .category-section__child-list-item a:focus-visible {
  box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.16);
}

@media screen and (min-width: 768px) {
  .category-section .category-section__child-list-item a {
    --arrow-size: 1rem;
    grid-template-columns: 18rem 1fr;
    grid-gap: 2rem;
    padding: 2rem 5.5rem 2rem 2rem;
    transition: all var(--transition-default);
  }
}
.category-section .category-section__child-list-item a::after {
  content: "";
  width: var(--arrow-size);
  aspect-ratio: 6.11/10;
  background-image: var(--asset-link-arrow-right-red);
  background-repeat: no-repeat;
  background-size: contain;
  transition: translate var(--transition-default);
  position: absolute;
  right: 1.5rem;
}

@media screen and (min-width: 768px) {
  .category-section .category-section__child-list-item a::after {
    right: 3rem;
  }
}
/* .category-section .category-section__child-list-item[data-type=new] .child-list__img {
  position: relative;
}
.category-section .category-section__child-list-item[data-type=new] .child-list__img::before {
  content: "NEW";
  position: absolute;
  top: -1rem;
  left: -1rem;
  width: 3.5rem;
  height: 1.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-project-accent);
  font-size: 1rem;
  color: var(--color-white);
  letter-spacing: 0.05em;
} */
/* -------------------- 2025 0509 add style */
.category-section .category-section__child-list-item .child-list__img:has(.child-list__img--new) {
  position: relative;
}

.category-section .category-section__child-list-item .child-list__img .child-list__img--new {
  position: absolute;
  top: -1rem;
  left: -1rem;
  width: 3.5rem;
  height: 1.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-project-accent);
  font-size: 1rem;
  color: var(--color-white);
  letter-spacing: 0.05em;
}

/* -------------------- 2025 0509 add style */
@media screen and (min-width: 768px) {
  /* .category-section .category-section__child-list-item[data-type=new] .child-list__img::before {
    width: 3.9rem;
    height: 2.4rem;
    font-size: 1.2rem;
  } */
  .category-section .category-section__child-list-item .child-list__img--new {
    width: 3.9rem;
    height: 2.4rem;
    font-size: 1.2rem;
  }
}
/* 
.category-section .category-section__child-list-item[data-sell=soldout] {
  position: relative;
}
.category-section .category-section__child-list-item[data-sell=soldout]::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(243, 243, 243, 0.8);
  z-index: 1;
}
.category-section .category-section__child-list-item[data-sell=soldout]::after {
  content: "ご好評につき完売しました。";
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2.6rem;
  font-size: 1.1rem;
  color: var(--color-project-text);
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-project-border);
  z-index: 1;
} */
/* -------------------- 2025 0509 add style */
.category-section .category-section__child-list-item:has(.category-section__child-list-item--soldout) {
  position: relative;
}

.category-section .category-section__child-list-item .category-section__child-list-item--soldout-cover {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(243, 243, 243, 0.8);
  z-index: 1;
}

.category-section .category-section__child-list-item .category-section__child-list-item--soldout {
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2.6rem;
  font-size: 1.1rem;
  color: var(--color-project-text);
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-project-border);
  z-index: 2;
}

/* -------------------- 2025 0509 add style */
@media screen and (min-width: 768px) {
  /* .category-section .category-section__child-list-item[data-sell=soldout]::after {
    height: 3.5rem;
    font-size: 1.3rem;
  } */
  .category-section .category-section__child-list-item .category-section__child-list-item--soldout {
    height: 3.5rem;
    font-size: 1.3rem;
  }
}
.category-section .category-section__child-list-item[data-sell=soldout] a {
  pointer-events: none;
}

.category-section .category-section__child-list .child-list-description {
  display: grid;
  grid-gap: 1.2rem;
}

.category-section .category-section__child-list .child-list-description .child-list-name {
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.05em;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .category-section .category-section__child-list .child-list-description .child-list-name {
    font-size: 2.4rem;
  }
}
.category-section .category-section__child-list .child-list-description .child-list-spec {
  display: flex;
  gap: 0.2rem;
}

@media screen and (min-width: 768px) {
  .category-section .category-section__child-list .child-list-description .child-list-spec {
    gap: 0.4rem;
  }
}
.category-section .category-section__child-list .child-list-description .child-list-spec__detail {
  width: fit-content;
  padding: 0.1rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-project-text-sub);
  font-size: 1rem;
  color: var(--color-white);
  letter-spacing: 0.05em;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .category-section .category-section__child-list .child-list-description .child-list-spec__detail {
    padding: 0.1rem 0.6rem;
    font-size: 1.2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .category-section .category-section__child-list-item a {
    transition: none;
  }
  .category-section .category-section__child-list-item a::after {
    transition: none;
  }
}
.category-section .category-section__child-list-item a:hover::after, .category-section .category-section__child-list-item a:focus-visible::after {
  translate: 1rem;
}

.category-section .category-section__image img {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .category-section .category-section__image img {
    margin-bottom: 2.5rem;
  }
}
.category-section .category-section__lead {
  display: grid;
  grid-gap: 1.5rem;
}

.category-section .category-section__lead p {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}

@media screen and (min-width: 768px) {
  .category-section .category-section__lead p {
    font-size: 1.6rem;
    line-height: 2;
  }
}

/*# sourceMappingURL=productlist.css.map */
