:root {
  --color-orenge: #F4AC4B;
  --color-light-green: #ECF2F0;
  --color-border-gray:#888888;
  --base-letter-spacing: 0.025em;
  --inner-width: 94.66667%;
}
.productdetail {
  --inner-width: 92%;
}
@media screen and (min-width: 768px) {
  .productdetail {
    --inner-width: 100%;
  }
}
.productdetail .c-heading--border {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .productdetail .c-heading--border {
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .productdetail .grid-container {
    display: grid;
    grid-template-columns: 50rem 1fr;
    column-gap: 9rem;
  }
}
.productdetail .swiper:not(.swiper-initialized) {
  visibility: hidden;
}
.productdetail__imagearea {
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .productdetail__imagearea {
    width: 100%;
  }
}
.productdetail__imagearea .main-slider {
  width: 100vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  .productdetail__imagearea .main-slider {
    width: 100%;
  }
}
.productdetail__imagearea .thumbnail-slider {
  width: 100%;
  margin-top: 1rem;
  padding-inline: 1rem;
}
.productdetail__imagearea .thumbnail-slider .swiper-slide {
  cursor: pointer;
}
.productdetail__imagearea .thumbnail-slider .swiper-slide-thumb-active {
  border: 1px solid var(--color-black);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .productdetail__imagearea .thumbnail-slider {
    padding-inline: 0;
  }
  .productdetail__imagearea .thumbnail-slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 0.9rem;
  }
  .productdetail__imagearea .thumbnail-slider .swiper-slide {
    width: 100% !important;
  }
}
.productdetail__descarea {
  width: var(--inner-width);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .productdetail__descarea {
    margin-top: 3.8rem;
  }
}
.productdetail__descarea .product__desc--icon {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-block: 1rem;
}
.productdetail__descarea .product__desc--sellterm {
  font-size: 1.2rem;
  margin-block: 1rem;
}
.productdetail__descarea .product__desc--catchcopy {
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.productdetail__descarea .product__desc--name {
  font-size: 1.8rem;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.02em;
  line-height: 1.6667;
}
@media screen and (min-width: 768px) {
  .productdetail__descarea .product__desc--name {
    font-size: 2rem;
    line-height: 1.5;
  }
  .productdetail__descarea .product__desc--catchcopy {
    font-size: 1.5rem;
  }
  .productdetail__descarea .product__desc--outline {
    font-size: 1.4rem;
    margin-block: 1rem;
  }
}
.productdetail__descarea .product__desc--id {
  font-size: 1.2rem;
  margin-block: 1rem;
}
.productdetail__descarea .product__desc--outline {
  font-size: 1.3rem;
  margin-block: 1rem;
}
.productdetail__descarea .product__desc--price {
  margin-top: 3.5rem;
}
.productdetail__descarea .product__desc--price .product__price--numeric {
  font-size: 2.5rem;
}
.productdetail__descarea .product__desc--price .product__price--tax {
  font-size: 1.2rem;
  margin-left: -1.0rem;
}
.productdetail__buyarea .product__count {
  display: grid;
  grid-template-columns: max-content 8rem;
  column-gap: 1rem;
  align-items: center;
  margin-block: 1rem;
}
.productdetail .variation__item {
  border-bottom: 1px solid var(--color-gray-200);
  display: grid;
  grid-template-columns: 10% 1fr 52%;
  align-items: center;
  column-gap: 1rem;
  padding-block: 2rem;
}
.productdetail .variation__item:first-of-type {
  border-top: 1px solid var(--color-gray-200);
}
.productdetail .variation__item--container {
  margin-block: 2rem;
}
.productdetail .variation__item--variation-name2 {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  font-size: 1.3rem;
  font-weight: var(--fw-bold);
}
.productdetail .variation__item .variation__item--stock {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
}
.productdetail .variation__item--actions {
  display: grid;
  row-gap: 0.25rem;
}
.productdetail .variation__item--actions .c-button {
  min-width: auto;
  width: 100%;
  padding-inline: 1.0rem;
  padding-block: 1rem;
}
.productdetail .variation__panel {
  margin-block: 2rem;
}
.productdetail .variation__panel--wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.productdetail .variation__panel--heading {
  font-size: 1.4rem;
  margin-block: 1rem;
}
.productdetail .variation__panel--item {
  border: 1px solid var(--color-gray-200);
  border-radius: 0.5rem;
  color: inherit;
  padding: 1.5rem;
  text-decoration: none;
}
.productdetail .variation__panel--item.selected {
  border: 2px solid var(--color-black);
}
.productdetail .variation__matrix {
  margin-block: 2rem;
  /* overflow-x: auto; */
}
.productdetail .variation__matrix--table {
  --table-border: 1px solid var(--color-black);
  /* width: max-content; */
  border: var(--table-border);
  border-collapse: collapse;
}
.productdetail .variation__matrix--table tr:not(:last-of-type) {
  border-bottom: var(--table-border);
}
.productdetail .variation__matrix--table tr > *:not(:last-child) {
  border-right: var(--table-border);
}
.productdetail .variation__matrix--table th, .productdetail .variation__matrix--table td {
  padding-block: 1rem;
  padding-inline: 1rem;
}
.productdetail .variation__matrix .c-form__input--radio-nolabel {
  display: grid;
  place-content: center;
}
.productdetail .product__option {
  margin-block: 1rem;
}
.productdetail .product__share {
  width: 100%;
  background-color: var(--color-gray-200);
  margin-block: 1rem;
  padding: 2rem;
}
.productdetail .product__share--list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}
.productdetail .product__share--item {
  width: 4rem;
  aspect-ratio: 1;
}
.productdetail .product__share--item-x {
  padding: 0.5rem;
}
.productdetail .product__addcart {
  display: grid;
  row-gap: 1rem;
}
.productdetail .product__arrivalmail {
  --inner-width: 100%;
  margin-top: 2rem;
  padding: 2rem;
}

.productdetail .product__arrivalmail .c-form__input--check + .c-form__input--text{
  margin-top: 1rem;
}

.productdetail .product__arrivalmail .form__changearea{
  margin-top: 1.5rem;
}

.productdetail .product__arrivalmail .c-form__item{
  margin-top: 2rem;
}

.productdetail .product__arrivalmail .c-form__item dt{
  display: flex;
  align-items: center;
  gap: 1rem;
}
.productdetail .product__tabarea {
  margin-block: 4rem;
}
.productdetail .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;
}
.productdetail .product__favorite--popup .c-button {
  min-width: 0;
}
.productdetail .product__favorite--add {
  --color-favorite-accent: #E25858;
  width: 6rem;
  height: 6rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: 50%;
  display: grid;
  justify-content: center;
  align-items: center;
  row-gap: 0.5rem;
  padding: 1rem;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  text-decoration: none;
  z-index: 2;
}
@media (hover: hover) {
  .productdetail .product__favorite--add:hover .product__favorite--icon path {
    fill: var(--color-favorite-accent);
  }
}
.productdetail .product__favorite--icon {
  width: 3.5rem;
  aspect-ratio: 1;
}
.productdetail .product__favorite--icon path {
  transition: fill var(--transition-default);
}
.productdetail .product__favorite--icon.added path {
  fill: var(--color-favorite-accent);
}
.productdetail .product__favorite--count {
  color: var(--color-black);
  text-align: center;
  line-height: 1;
}
.productdetail .product__desc--fullwidth {
  grid-column: 1/3;
  margin-block: 2rem;
}

.productdetail .product__stock-area{
  margin-block: 2rem;
}

.productdetail .product__stock-area:not(:has(.product__stock)){
  display: none;
}

.productdetail .product__stock-area .product__stock:only-child{
  margin: 0;
}

.productdetail .product__stock{
  margin-block: 0.5rem;
}

.product__history,
.product__upsell,
.product__crosssell {
  width: var(--inner-width);
  margin-inline: auto;
  margin-block: 5rem;
}

.product__content--bottom + .product__content--bottom {
  margin-top: 5rem;
}

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

@media screen and (max-width: 767px) {
  .productdetail__descarea .product__desc--price .product__price--tax {
    margin-left: -0.5rem;
  }
  .productdetail .product__favorite--add {
    scale: 0.833;
    right: 0.5rem;
    bottom: 0.5rem;
  }
  .product__upsell .product__container,
  .product__crosssell .product__container {
    /* max-width: 35.8rem; */
    overflow: hidden;
    overflow-x: auto;
    display: flex;
    padding-bottom: 0.5rem;
  }
  .product__upsell .product__container .product__item,
  .product__crosssell .product__container .product__item {
    width: 15.2rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  .product__upsell,
  .product__crosssell {

    padding-inline: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .product__history .product__container,
  .product__upsell .product__container,
  .product__crosssell .product__container {
    --grid-columns: 5;
  }
}
.product__review {
  width: var(--inner-width);
  margin-inline: auto;
  margin-block: 2rem;
}
.product__review .product__container {
  --grid-columns: 3;
}

.product__review .allReview{
  display: block;
  margin-top: 1rem;
  text-align: center;
}


@media screen and (min-width: 768px) {
  .product__review .product__container {
    --grid-columns: 6;
  }
}
.product__review .form__view > dd {
  word-break: break-all;
}

.product__upsell,
.product__crosssell {
  grid-column: 1/3;
}

.p-product-detail__text--arrival-mail {
  margin-top: 1rem;

  font-weight: var(--fw-bold);
  text-align: center;
}

/* ============================================================================================ add style 2026 0508 */
@media screen and (min-width: 768px) {
  .global-contents__inner {
      width: min(81.25%, 130rem);
      padding-bottom: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .global-contents__inner {
    padding-bottom: 6.0rem;
  }
}
@media screen and (min-width: 768px) {
  .productdetail__descarea .product__desc--name {
    font-size: 2.4rem;
    line-height: 1.75;
  }
  .productdetail__descarea {
    width: auto;
  }
}
.productdetail__descarea .product__desc--catchcopy {
  margin-top: 2.0rem;
  font-weight: var(--fw-semibold);
  font-size: 1.5rem;
  line-height: calc(26.2/15);
}
.productdetail__descarea .product__desc--price .product__price--numeric {
  font-size: 2.8rem;
  font-family: var(--font-en);
}
.p-product-info + .p-product-info {
  margin-top: 3.0rem;
}
.p-product-info__title {
  display: flex;
  gap: 1.0rem;
  padding: 2.0rem;
  background-color: #F8F7F4;
}
.p-product-info__icon {
  width: 1.8rem;
  align-self: center;
}
@media screen and (max-width: 767px) {
  .productdetail__descarea .product__desc--price .product__price--numeric {
    font-size: 2.4rem;
  }
  .productdetail__descarea .product__price--icon {
    padding: 0.5rem 0.46rem;
    font-size: 1.2rem;
  }
  .product__price--discountrate:not(:empty) {
    font-size: 1.0rem;
  }
  .p-product-info__title {
    padding: 1.3rem 1.5rem 1.2rem 1.5rem;
  }
  .productdetail__descarea .product__desc--catchcopy {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }
}
/* ================================================ p-product-info__spec */
.p-product-info__spec {
  margin-top: 3.0rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.p-product-info__spec-list {
  display: flex;
  gap: 1.0rem;
}
.p-product-info__spec-label {
  position: relative;
  display: flex;
  min-width: 8.0rem;
  font-size: 1.4rem;
  font-weight: var(--fw-bold);
  justify-content: space-between;
}
.p-product-info__spec-label::after {
  content: "：";
  display: block;
}
.p-product-info__spec-data {
  flex: 1;
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
}
.product__addcart-icon {
  display: block;
  width: 3.6rem;
  aspect-ratio: 1/1;
}
.c-button__product {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 5px;
  font-size: 1.5rem;
  background-color: var(--color-orenge);
  color: var(--color-white);
  border: none;
}
.productdetail__buyarea .c-form__error {
  margin-block: 0.5em;
}
.productdetail .variation__panel--item.selected {
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
  background-color: var(--color-light-green);
}
.productdetail .variation__panel--item {
  padding: 1.2rem 1.5rem;
}
.p-product-inqury {
  margin-top: 6.0rem;
}
.p-product-inqury__button {
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: 1.7rem 2.8rem 1.8rem;
  border: 1px solid var(--color-border-gray);
  border-radius: 5px;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  color: var(--color-black);
}
@media screen and (max-width: 768px) {
  .p-product-info__spec-label {
    font-size: 1.3rem;
  }
  .p-product-inqury__button {
    font-size: 1.3rem;
  }
  .p-product-info__spec {
    margin-top: 2.0rem;
  }
  .p-product-inqury {
    margin-top: 4.0rem;
  }
  .p-product-inqury__button {
    padding: 1.25rem 2.365rem 1.35rem;
  }
  .productdetail__descarea .c-button {
    padding-block: 1rem;
  }
}
/* ================================================ p-product-sns */
.p-product-sns {
  margin-top: 3.7rem;
}
.productdetail .product__share--item {
  width: 3.6rem;
}
.productdetail .product__share--item-x {
  padding: 0;
}
.p-product-info-wrapper {
  margin-block: 6.0rem;
}
.productdetail__descarea .product__desc--outline {
  font-size: 1.5rem;
  line-height: calc(30/15);
  letter-spacing: var(--base-letter-spacing);
  margin-block: 1.5rem;
}
.product__price.product__price--special {
  display: flex;
  flex-direction: row;
  gap: 1.0rem;
}
.product__price--special .product__price--proper .product__price--numeric {
  font-size: 2.0rem;
  letter-spacing: 0.03em;
}
.product__price--proper {
  align-self: end;
}
.product__variation-select {
  margin-top: 4.0rem;
}
.productdetail__buyarea .product__count {
  margin-block: 2.0rem;
}
.product__addcart {
  margin-top: 2.0rem;
}
@media screen and (max-width: 768px) {
  .productdetail__descarea .product__desc--outline {
    font-size: 1.3rem;
  }
  .product__variation-select {
    margin-top: 3.0rem;
  }
  .productdetail .product__share--item {
    width: 3.0rem;
  }
  .p-product-sns {
    margin-top: 2.7rem;
  }
  .p-product-info-wrapper {
    margin-block: 4.0rem;
  }
}
/* ============================================================================================ product__review */
.product__review-wrapper {
  margin-top: 8rem;
}
.product__review {
  padding-block: 6.0rem;
  background-color: #F5F5F5;
}
.product__review .c-heading {
  display: flex;
  flex-direction: column;
  font-size: 4.0rem;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  font-family: var(--font-en);
  font-weight: var(--fw-regular);
}
.product__review .c-heading span {
  font-size: 1.4rem;
  color: #888888;
}
.c-review-list {
  display: flex;
  padding-inline: 15rem;
  gap: 1.2rem;
  flex-direction: column;
}
.c-review-item {
  border-radius: 1.0rem;
  padding: 2.1rem 4.0rem;
  background-color: #fff;
  border: 1px solid #EAEAEA;
}
.c-review-list {
  margin-top: 4.0rem;
}
.c-review-item__stars div {
  color: #EBD664;
  font-size: 1.8rem;
}
.c-review-item__title {
  margin-top: 1.0rem;
  font-size: 1.4rem;
  font-weight: var(--fw-medium);
}
.c-review-item__comment {
  margin-top: 0.5rem;
  font-size: 1.4rem;
  font-weight: var(--fw-regular);
  line-height: calc(28/14);
  letter-spacing: 0.02em;
}
.c-review-item__meta {
  display: flex;
  gap: 1.2rem;
  margin-top: 0.6rem;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  color: #A5B7B4;
  font-family: var(--font-en);
}
.product__review .allReview {
  margin-top: 2.5rem;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  font-weight: var(--fw-medium);
  color: #000;
  text-decoration: none;
}
.product__review .c-button {
  min-width: 24rem;
  border: 1px solid #000;
  color: #000;
  background-color: #fff;
  font-weight: var(--fw-regular);
}
.product__review .c-button__primary {
  background-color: #000;
  color: var(--color-white);

}
.product__review-wrapper {
  grid-column: 1 / 3;
}
.c-review-leading {
  text-align: center;
  margin-block: 4.0rem;
  font-size: 1.4rem;
}
@media screen and (min-width: 767px) {
.product__review-wrapper {
    grid-column: 1 / -1;
    width: auto;
    margin-inline: -5rem;
}
}
@media screen and (max-width: 768px) {
  .c-review-list {
    margin-top: 3.0rem;
  }
  .c-review-item__stars div {
    line-height: 1;
  }
  .product__review {
    padding-block: 4.0rem;
  }
  .product__review-wrapper {
    margin-top: 6rem;
  }
  .productdetail__descarea .product__desc--outline {
    font-size: 1.3rem;
  }
  .product__review {
    --inner-width: 100%;
    width: var(--inner-width);
    margin-inline: auto;
    margin-block: 2rem;
  }
  .product__review .c-heading {
    font-size: 3.0rem;
    gap: 0.2rem;
  }
  .product__review .c-button {
    min-width: 20rem;
    width: fit-content;
    margin-inline: auto;
    font-weight: var(--fw-regular);
    padding-block: 1.1rem;
  }
}
/* ==================================================================  c-review-input */
.c-review-input {
  width: 80rem;
  margin-inline: auto;
}
.c-review-input .c-form__item {
  display: flex;
}
.c-review-input dt {
  margin-top: 1.4rem;
  width: 20rem;
}
.c-review-input dd {
  margin-top: 0;
  width: calc(100% - 20rem);
}
.c-review-input [id*="ddlReviewRating"] {
  width: fit-content;
  min-width: 24rem;
}
.c-review-input .required {
  margin-left: 1.0rem;
}
.required {
  font-size: 1.2rem;
  background-color: var(--color-white);
  border: 1px solid var(--color-emphasis);
  color: var(--color-emphasis);
}
.c-review-preview-header,
.c-review-complete__header {
  text-align: center;
}
.c-review-complete__actions .c-button {
  width: fit-content;
  min-width: 24rem;
  margin-inline: auto;
}
.c-review-complete__actions {
  margin-top: 4.0rem;
}
.c-review-item__body {
  display: flex;
  flex-direction: wrap;
  gap: 4.0rem;
}
.c-review-item__content {
  flex: 1;
}
.c-review-item__image-area {
  margin-top: 1.0rem;
  display: flex;
  gap: 1.0rem;
  align-self: baseline;
}
.c-review-item__image {
  display: block;
  aspect-ratio: var(--green-product-image-ratio);
  border-radius: 5px;
  overflow: hidden;
  width: 10rem;
}
.c-review-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.form__changearea .c-button__product--stock {
  width: 100%;
  background-color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .c-review-input {
    width: 100%;
  }
  .c-review-input .c-form__item {
    flex-direction: column;
    gap: 1.2rem;
  }
  .c-review-input dt {
    margin-top: 0;
    width: auto;
    font-size: 1.4rem;
  }
  .c-review-input {
    padding-inline: 1.0rem;
  }
  .c-review-input dd {
    width: 100%;
  }
  .c-form__item:nth-of-type(n+2) {
    margin-top: 2.0rem;
  }
  .button__group {
    flex-direction: column-reverse;
  }
  .button__group a {
    min-width: 20rem;
  }
  .product__review .c-button {
    min-width: 20rem;
    padding-inline: 1rem;
  }
  .c-review-list {
    gap: 1.0rem;
    padding-inline: 1.0rem;
  }
  .c-review-item__title {
    font-size: 1.3rem;
  }
  .c-review-item__comment {
    font-size: 1.3rem;
  }
  .c-review-item {
    padding: 2.5rem 1.5rem;
  }
  .c-review-item__meta {
    font-size: 1.2rem;
  }
  .product__review .allReview {
    font-size: 1.3rem;
  }
  .c-review-item__date {
    white-space: nowrap;
  }
  .c-review-item__body {
    flex-direction: column;
    gap: 1.5rem;
  }
  .c-review-item__image-area {
    margin-top: 0;
  }
}
.product__review .c-pager__button--arrow {
  position: relative;
  z-index: 1;
}
.product__review .c-pager__button--arrow::after {
  content: "";
  display: block;
  width: 4.0rem;
  height: 4.0rem;
  background-color: #fff;
  border-radius: 9999px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  border: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
.product__review .c-pager__button--arrow::after {
  width: 3.5rem;
  height: 3.5rem;

}
}
/* ============================================================================================ product__crosssell / product__upsell */
.product__crosssell.common-section {
  border-top: none;
  margin-top: 2rem; 
}
.product__upsell .product__price.product__price--special,
.product__crosssell .product__price.product__price--special,
.product__history .product__price.product__price--special
{
  flex-direction: column;
  gap: 0.7rem;
}
.product__upsell .product__price--proper,
.product__crosssell .product__price--proper,
.product__history .product__price--proper {
  align-self: auto;
}
.product__history,
.product__upsell,
.product__crosssell {
  --inner-width: 100%;
  width: var(--inner-width);
  margin-inline: auto;
  margin-block: 6rem 0;
}
@media screen and (min-width: 768px) {
  .product__upsell,
  .product__crosssell {
    grid-column: 1 / -1;
    width: auto;
    margin-inline: -5rem;
    margin-block: 6rem 0;
  }
}
.product__upsell .product__price--tax,
.product__crosssell .product__price--tax {
  font-size: 1.2rem;
}

.product__upsell .product__container,
.product__crosssell .product__container {
  margin-top: 3.0rem;
}
.c-page-title {
  margin-top: 6rem;
}
.c-form__input--check input:checked {
  background-color: var(--color-black);
}
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
}

/* 共通スタイル */
.swiper-button-prev,
.swiper-button-next {
  width: 6.0rem;
  height: 6.0rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: calc(50% - 0.6rem);
}
.swiper-button-prev {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgdmlld0JveD0iMCAwIDYwIDYwIj4KICA8ZyBpZD0iYXJyb3ciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwIDYwKSByb3RhdGUoMTgwKSI+CiAgICA8ZyBpZD0i5qWV5YaG5b2iXzM0NCIgZGF0YS1uYW1lPSLmpZXlhoblvaIgMzQ0IiBmaWxsPSIjZmZmIiBzdHJva2U9IiNkZGQiIHN0cm9rZS13aWR0aD0iMSI+CiAgICAgIDxjaXJjbGUgY3g9IjMwIiBjeT0iMzAiIHI9IjMwIiBzdHJva2U9Im5vbmUiLz4KICAgICAgPGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgcj0iMjkuNSIgZmlsbD0ibm9uZSIvPgogICAgPC9nPgogICAgPHBhdGggaWQ9IuODkeOCuV81MzY5MSIgZGF0YS1uYW1lPSLjg5HjgrkgNTM2OTEiIGQ9Ik0zNTA5LjIxMSwxNjU4LjM3MWwxMCwxMC0xMCwxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM0ODMuNzExIC0xNjM4Ljg3MSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgPC9nPgo8L3N2Zz4=');
  left: -9.0rem;
}
.swiper-button-next {
  background-image: url('data:image/svg+xml;base64,PHN2ZyBpZD0iYXJyb3ciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiB2aWV3Qm94PSIwIDAgNjAgNjAiPgogIDxnIGlkPSLmpZXlhoblvaJfMzQ0IiBkYXRhLW5hbWU9IualleWGhuW9oiAzNDQiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2RkZCIgc3Ryb2tlLXdpZHRoPSIxIj4KICAgIDxjaXJjbGUgY3g9IjMwIiBjeT0iMzAiIHI9IjMwIiBzdHJva2U9Im5vbmUiLz4KICAgIDxjaXJjbGUgY3g9IjMwIiBjeT0iMzAiIHI9IjI5LjUiIGZpbGw9Im5vbmUiLz4KICA8L2c+CiAgPHBhdGggaWQ9IuODkeOCuV81MzY5MSIgZGF0YS1uYW1lPSLjg5HjgrkgNTM2OTEiIGQ9Ik0zNTA5LjIxMSwxNjU4LjM3MWwxMCwxMC0xMCwxMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM0ODMuNzExIC0xNjM4Ljg3MSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIxIi8+Cjwvc3ZnPg==');
  right: -9.0rem;
}
@media screen and (max-width: 767px) {
  .product__crosssell.common-section {
    margin-top: 6rem;
  }
  .productdetail__imagearea .main-slider {
    width: calc(100vw - 7.0rem);
    margin-inline: auto;
  }
  .swiper-button-prev {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNSIgaGVpZ2h0PSI0MDciIHZpZXdCb3g9IjAgMCAzNSA0MDciPiA8ZyBpZD0iYXJyb3ciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM1IDQwNykgcm90YXRlKDE4MCkiPiA8cmVjdCBpZD0i6ZW35pa55b2iXzcwMzIiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDcwMzIiIHdpZHRoPSIzNSIgaGVpZ2h0PSI0MDciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM1IDQwNykgcm90YXRlKC0xODApIiBmaWxsPSIjZmZmIi8+IDxwYXRoIGlkPSLjg5HjgrlfNTM2OTEiIGRhdGEtbmFtZT0i44OR44K5IDUzNjkxIiBkPSJNMzUwOS4yMTEsMTY1OC4zNzFsMTAsMTAtMTAsMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNDk2LjcxMSAtMTQ2NC4zNzEpIiBmaWxsPSJub25lIiBzdHJva2U9IiMzNDlmODciIHN0cm9rZS13aWR0aD0iMSIvPiA8L2c+PC9zdmc+");
    left: -3.5rem;
  }
  .swiper-button-next {
    background-image: url("data:image/svg+xml;base64,PHN2ZyBpZD0iYXJyb3ciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjM1IiBoZWlnaHQ9IjQwNyIgdmlld0JveD0iMCAwIDM1IDQwNyI+IDxyZWN0IGlkPSLplbfmlrnlvaJfNzAzMSIgZGF0YS1uYW1lPSLplbfmlrnlvaIgNzAzMSIgd2lkdGg9IjM1IiBoZWlnaHQ9IjQwNyIgZmlsbD0iI2ZmZiIvPiA8cGF0aCBpZD0i44OR44K5XzUzNjkxIiBkYXRhLW5hbWU9IuODkeOCuSA1MzY5MSIgZD0iTTM1MDkuMjExLDE2NTguMzcxbDEwLDEwLTEwLDEwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzQ5NC4yMTIgLTE0NjQuMzcxKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzQ5Zjg3IiBzdHJva2Utd2lkdGg9IjEiLz48L3N2Zz4=");
    right: -3.5rem;
  }
  .swiper-button-prev, .swiper-button-next {
    margin-top: 0;
    width: 3.5rem;
    height: 100%;
    top: 0;
  }
  .c-page-title {
    margin-top: 4rem;
  }
  .product__history,
  .product__upsell,
  .product__crosssell {
    width: var(--inner-width);
    margin-inline: auto;
    margin-block: 4rem 0;
  }
  .product__upsell,
  .product__crosssell {
    padding-inline: 1rem 0;
  }
  .product__upsell .product__container,
  .product__crosssell .product__container {
    padding-right: 2rem;
  }
  .common-section {
    border-top: 1px solid #DDDDDD;
  }
}
@media screen and (max-width: 767px) {
  .common-section[data-section="history"] {
    border-top: none;
  }
}
@media screen and (min-width: 768px) {
  .productdetail .grid-container {
      display: grid;
      grid-template-columns: 50rem 1fr;
      column-gap: 19rem;
      padding-inline: 5.0rem;
  }
}
@media (min-width: 768px) {
  .common-section[data-section="history"] .common-section__inner {
      margin: auto;
      width: min(100%, 130rem);
  }
  .common-section[data-section="history"] .swiper {
    width: 100%;
  }
}
.productdetail__imagearea .thumbnail-slider .swiper-slide-thumb-active {
  border: none;
  position: relative;
  box-sizing: border-box;
}
.productdetail__imagearea .thumbnail-slider .swiper-slide-thumb-active::after {
  content: "";
  position: absolute;
  inset: 0 0 0 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 5px;
}
.productdetail__imagearea .main-slider .swiper {
  border-radius: 5px;
}
.productdetail__imagearea .thumbnail-slider .swiper-slide img {
  border-radius: 5px;
}
@media (max-width: 766px) {
  .productdetail__imagearea .thumbnail-slider .swiper-slide {
    width: 4.5rem!important;
  }
  .productdetail__imagearea .thumbnail-slider {
    margin-top: 1.4rem;
  }
}
/* ================================================ p-product-message */
.p-product-message {
  margin-block: 3.6rem 2.0rem;
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  letter-spacing: 0.02em;
  color: var(--color-primary);
}
.p-product-message.p-product-message--homecenter {
  font-weight: var(--fw-medium);
  color: var(--color-common-primary);
}
.productdetail__descarea .product__price {
  margin-top: 1.0rem;
  row-gap: 1.0rem;
}
.productdetail__descarea .product__desc--price {
  margin-top: 3.5rem;
}
.productdetail__descarea .product__price--item {
  column-gap: 1.4rem;
}
.productdetail__descarea .product__price:nth-of-type(n+2) {
  margin-top: 1.1rem;
}
.product__count--form .c-form__input--text, .c-form__input--select {
  padding: 1.35rem 1.5rem 1.35rem;
}
.p-text-row {
  display: inline-block;
  min-width: 7.0rem;
}
.product__favorite--icon #Fav-filled {
  display: none;
}
.product__favorite--icon #Fav-outline {
  display: block;
  fill: #000; 
}
.productdetail .product__favorite--icon.added #Fav-outline {
  display: none;
}
.productdetail .product__favorite--icon.added #Fav-filled {
  display: block;
}
@media (max-width: 767px) {
  .product__count--form .c-form__input--text, .c-form__input--select,
  .c-form__input--text, .c-form__input--select {
    padding: 1.15rem 1.5rem 1rem;
  }
  .c-breadcrumb__text {
    white-space: nowrap;
  }
  .p-product-message {
    margin-block: 2.5rem 2.0rem;
    font-size: 1.4rem;
  }
  .productdetail__descarea .product__desc--price {
    margin-top: 2.2rem;
  }
  .productdetail__descarea .product__price--item {
    column-gap: 0.7rem;
  }
  .productdetail__descarea .product__price:nth-of-type(n+2) {
    margin-top: 0.6rem;
  }
}
@media (min-width: 768px) {
  .common-section[data-section="history"] .product-slider__navigation--prev {
      left: -9.8rem;
  }
  .common-section[data-section="history"] .product-slider__navigation--next {
    right: -9.8rem;
  }
}
@media (hover: hover) {
  .main-slider .swiper-button-prev,
  .main-slider .swiper-button-next {
    transition: scale var(--transition-default);
  }
  .main-slider .swiper-button-prev:hover,
  .main-slider .swiper-button-next:hover {
    scale: 1.3333;
  }
  .main-slider .swiper-button-prev:hover::after,
  .main-slider .swiper-button-next:hover::after {
    scale: 0.75;
  }
}
.productdetail__descarea .c-bg-area {
  --bg-padding-block: 3.0rem;
  --bg-padding-inline: 2.5rem;
  border-radius: 1.0rem;
  border: none;
}
.form__section--item {
  border-radius: none;
  border: none;
  background-color: var(--color-gray-100);
}
.product__arrivalmail .c-button {
  background-color: #fff;
  color: #333333;
  border: 1px solid #333333;
  font-weight: var(--fw-regular);
}
.c-review-input .c-form__item .c-form__item--drop-area{
  font-weight: var(--fw-medium);
}
.productdetail__descarea .product__price.product__price--memberrank {
  flex-direction: row;
  gap: 1.0rem;
}
.productdetail__descarea .product__price.product__price--memberrank .product__price--proper .product__price--numeric {
  font-size: 2.0rem;
}
@media (max-width: 767px) {
  .product__arrivalmail .c-button {
    max-width: 20rem;
    min-width: auto;
    margin-inline: auto;
  }
  .productdetail__descarea .c-bg-area {
    --bg-padding-block: 2.5rem;
    --bg-padding-inline: 1.5rem;
  }
  .productdetail__descarea .product__price.product__price--memberrank .product__price--proper .product__price--numeric {
    font-size: 1.8rem;
  }
}
#expansionImageWindowBackground {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.65);
}
#expansionImageWindow {
  display: none;
  width: min(90vw, 80rem);
  max-height: 90vh;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 10001;
  transform: translate(-50%, -50%);
  background: #fff;
  padding-bottom: 2rem;
}
#expansionImageWindow .slick-list {
  overflow: hidden;
}
  #expansionImageWrapper {
    padding-inline: 2.0rem;
  }
#expansionImageWrapper img {
  display: block;
  width: 100%;
  max-height: 65vh;
  object-fit: contain;
}
.expansionImageWindowHeader {
  position: relative;
  display: flex;
  justify-content: flex-end;
  height: 6.0rem;
  background-color: var(--color-primary);
  margin-bottom: 2.0rem;
}
.expansionImageWindowHeader button {
  position: absolute;
  top: 50%;
  right: 1.0rem;
  transform: translateY(-50%);
  border-radius: 50%;
  width: 3.0rem;
  height: 3.0rem;
  background: #fff;
  border: none;
  color: var(--color-black);
  font-size: 1.5rem;
}
.product__review .slick-prev,
.product__review .slick-next {
  width: 3.0rem;
  height: 3.0rem;
}
.product__review .slick-prev {
  left: -3.5rem;
}
.product__review .slick-next {
  right: -3.5rem;
}
.product__review .slick-prev:before, .product__review .slick-next:before {
  font-size: 3.0rem;
  opacity: 1;
  color: lightgray;
}
.product__review .slick-dots {
  left: 50%;
  transform: translateX(-50%);
}
.product__review .slick-dots {
  bottom: -3.5rem;
}
.product__review .slick-dots li button:before {
  font-size: 1.0rem;
}
@media screen and (max-width: 767px) {
  #expansionImageWindow {
    width: calc(100vw - 3rem);
    max-height: calc(100dvh - 3rem);
    padding-bottom: 1.5rem;
  }
  .expansionImageWindowHeader {
    height: 4.8rem;
    margin-bottom: 1.5rem;
  }
  .expansionImageWindowHeader button {
    right: 1rem;
    width: 3.2rem;
    height: 3.2rem;
  }
  #expansionImageWrapper {
    padding-inline: 1.5rem;
  }
  #expansionImageWrapper img {
    max-height: calc(100dvh - 10rem);
  }
  #expansionImageWindow .slick-track {
    display: flex;
    align-items: center;
  }
  .product__review .slick-prev,
  .product__review .slick-next {
    display: none!important;
  }
}
/* ================================================================== ホームセンター */
body:has([data-brand="homecenter"]) .main-slider .swiper-slide img, 
body:has([data-brand="homecenter"]) .thumbnail-slider .swiper-slide img,
body:has([data-brand="homecenter"]) [data-section="crosssell"] .product__item--image img,
body:has([data-brand="homecenter"]) [data-section="upsell"] .product__item--image img {
  aspect-ratio: var(--homecenter-product-image-ratio);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* ================================================================== 園芸、植物 */
body:has([data-brand="green"]) .main-slider .swiper-slide img, 
body:has([data-brand="green"]) .thumbnail-slider .swiper-slide img,
body:has([data-brand="green"]) [data-section="crosssell"] .product__item--image img,
body:has([data-brand="green"]) [data-section="upsell"] .product__item--image img {
  aspect-ratio: var(--green-product-image-ratio);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* ================================================================== product-stock-matrix */
.product-stock-matrix {
  width: 100%;
  margin-top: 1.6rem;
  overflow-x: auto;
}
.product-stock-matrix__table {
  width: 100%;
  min-width: 48rem;
  border-collapse: collapse;
  border: 0.1rem solid var(--color-gray-300);
  background-color: var(--color-white);
  color: var(--color-text-default);
  font-size: 1.4rem;
  line-height: 1.5;
}
.product-stock-matrix__head,
.product-stock-matrix__row-head,
.product-stock-matrix__cell {
  padding: 1rem 1.2rem;
  border: 0.1rem solid var(--color-gray-300);
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
.product-stock-matrix__head {
  background-color: var(--color-secondary);
  font-weight: var(--fw-semibold);
}
.product-stock-matrix__row-head {
  background-color: var(--color-gray-100);
  font-weight: var(--fw-semibold);
}
.product-stock-matrix__head--empty {
  background-color: var(--color-secondary);
}
.product-stock-matrix__cell {
  font-weight: var(--fw-regular);
}

@media screen and (min-width: 768px) {
  .product-stock-matrix {
    margin-top: 2rem;
  }
  .product-stock-matrix__table {
    min-width: auto;
    font-size: 1.5rem;
  }
  .product-stock-matrix__head,
  .product-stock-matrix__row-head,
  .product-stock-matrix__cell {
    padding: 1.2rem 1.6rem;
  }
}



