@charset "utf-8";

/*---------------------------

  1. 商品ページ
  2. カテゴリーページ
  3. お気に入りページ、レビュー

---------------------------*/

/*-------------------------
  商品ページ
-------------------------*/
.item-wrap {
    background: url(https://daikon5665.itembox.design/item/img/item/bg-item.png) 0 / 100% 100% no-repeat;
    padding: min(5.5rem, 55px) min(9rem, 90px);
    margin-bottom: min(9rem, 90px);
}
.item-top {
    text-align: center;
    margin-bottom: min(4rem, 40px);
}
.fs-c-productNameHeading.fs-c-heading {
    margin-bottom: min(1.5rem, 15px);
}
.fs-c-productNameHeading.fs-c-heading .fs-c-productNameHeading__name {
    background:linear-gradient(transparent 60%, #faed00 60%);
    display: inline;
    font-size: min(2.4rem, 24px);
    font-weight: 600;
}
.fs-c-productNameHeading__copy {
    display: block;
}
.fs-c-productNumber {
    font-size: min(1.4rem, 14px);
}

/* 商品画像 */
.item-slide-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: min(5rem, 50px);
}
.item-slide {
    width: 80%;
}
.item-slide .slick-list {
    padding: 0 !important;
    width: 100%;
}
.item-thumbnail {
  width: 15%;
  flex-direction: column;
}
.item-thumbnail figure {
    margin-bottom: min(1rem, 10px);
}
.item-slide img[src=""],
.item-thumbnail img[src=""] {
    display: none;
}
.item-thumbnail .slick-track {
    transform:unset!important;
}
.fs-c-slick .slick-prev, .fs-c-slick .slick-next,
.fs-c-productCarouselMainImage__expandButton {
    display: none !important;
}
/* 商品情報 */
.fs-p-productDescription--full {
    margin-bottom: min(7rem, 70px);
}
.item-catch {
    text-align: center;
    font-size: min(1.6rem, 16px);
    font-weight: 600;
    margin-bottom: min(3rem, 30px);
    line-height: min(2.8rem, 28px);
}
.item-txt, .item-info  {
    font-size: min(1.4rem, 14px);
}
.fs-p-productDescription--short {
    border-top: 2px solid #d3d0cd;
    margin-bottom: min(3.5rem, 35px);
}
.item-info {
    display: flex;
    border-bottom: 2px solid #d3d0cd;
    padding: min(2rem, 20px) 0;
    line-height: 1.4;
}
.item-info dt {
    font-weight: 600;
    width: min(13rem, 130px);
}
.item-info dd {
    width: calc(100% - min(13rem, 130px));
}
.fs-c-price {
    display: inline-block;
}
.fs-body-product .fs-c-productPrice.fs-c-productPrice--selling {
    border-bottom: 2px solid #d3d0cd;
    padding-bottom: min(1rem, 10px);
    margin-top: min(4rem, 40px);
    margin-bottom: min(2rem, 20px);
}
.fs-body-product .fs-c-productPrice__main__price {
    color: #c30d23;
    font-size: min(3rem, 30px);
}
.fs-body-product .fs-c-productPrice__addon__label {
    color: #c30d23;
    font-size: min(1.4rem, 14px);
}
.fs-body-product .fs-c-productQuantityAndWishlist {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.fs-body-product .fs-c-button--addToCart--detail.fs-c-button--primary {
    background-color: #3d2e20;
    text-align: center;
    color: #fff;
    border-radius: 10px;
    appearance: none;
    border: none;
    width: min(34rem, 340px);
    line-height: min(5rem, 50px);
    margin: min(5rem, 50px) auto 0;
    display: block;
}
/* 項目選択肢 */
.fs-c-productSelection__name,
.fs-c-productOption__name label {
    font-size: min(1.4rem, 14px);
    margin-bottom: min(1rem, 10px);
    display: block;
}
.fs-c-productOption {
    margin-bottom: min(2rem, 20px);
}
/* カートに入れるボタン */
.fs-body-product .fs-c-button__label {
    font-size: min(1.4rem, 14px);
}


@media only screen and (max-width: 899px) {
    .item-wrap {
        padding: 10rem 4.5rem;
    }
    .fs-c-productNameHeading.fs-c-heading .fs-c-productNameHeading__name {
        font-size: 4rem;
    }
    .fs-c-productNumber {
        font-size: 2.4rem;
    }
    .item-slide-wrap {
        flex-direction: column;
    }
    .item-slide, .item-thumbnail {
        width: 100%;
    }
    .item-slide {
        margin-bottom: 2rem;
    }
    .item-thumbnail {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
    }
    .item-thumbnail .slick-slide {
        margin: 0 2rem;
    }
    .item-thumbnail figure {
        margin: 0;
    }
    .item-thumbnail img {
        aspect-ratio: 1/1;
        object-fit: cover;
        width: 9rem;
        height: 9rem;
    }
    .item-catch {
        font-size: 3.2rem;
        line-height: 5.2rem;
    }
    .item-txt, .item-info {
        font-size: 2.8rem;
    }
    .fs-p-productDescription--short {
        margin-bottom: 8rem;
    }
    .item-info {
        padding: 3.5rem 0;
    }
    .item-info dt {
        width: 17rem;
    }
    .item-info dd {
        width: calc(100% - 17rem);
    }
    .item-info dt,
    .item-info dd {
        line-height: 1.5;
    }
    .fs-c-productSelection__name, .fs-c-productOption__name label {
        font-size: 2.4rem;
    }
    .fs-c-productOption__option {
        font-size: 2rem;
    }
    .fs-body-product .fs-c-productPrice__main__price {
        font-size: 6rem;
    }
    .fs-body-product .fs-c-productPrice__addon__label {
        font-size: 2.8rem;
    }
    .fs-body-product .fs-c-button--addToCart--detail.fs-c-button--primary {
        line-height: 8rem;
        width: 100%;
        margin-top: 9rem;
    }
    .fs-body-product .fs-c-button--addToCart--detail.fs-c-button--primary .fs-c-button__label {
        font-size: 2.8rem;
    }
}
@media only screen and (max-width: 599px) {
    .item-wrap {
        padding: 3rem 2rem 6rem;
    }
    .fs-c-productNameHeading.fs-c-heading .fs-c-productNameHeading__name {
        font-size: 2rem;
    }
    .fs-c-productNumber {
        font-size: 1.6rem;
    }
    .item-thumbnail .slick-slide {
        margin: 0 1rem;
    }
    .item-thumbnail img {
        width: 100%;
        height: auto;
    }
    .item-catch {
        font-size: 1.8rem;
        line-height: 3rem;
    }
    .item-txt, .item-info {
        font-size: 1.6rem;
    }
    .item-info {
        padding: 2rem 0;
    }
    .item-info dt {
        width: 30%;
    }
    .item-info dd {
        width: 70%;
    }
    .fs-p-productDescription--full,
    .fs-p-productDescription--short {
        margin-bottom: 4rem;
    }
    .fs-c-productSelection__name, .fs-c-productOption__name label {
        font-size: 1.6rem;
    }
    .fs-c-productOption__option {
        font-size: 1.4rem;
    }
    .fs-body-product .fs-c-productPrice__main__price {
        font-size: 3rem;
    }
    .fs-body-product .fs-c-productPrice__addon__label {
        font-size: 1.6rem;
    }
    .fs-body-product .fs-c-button--addToCart--detail.fs-c-button--primary {
        line-height: 5rem;
        margin-top: 5rem;
    }
    .fs-body-product .fs-c-button--addToCart--detail.fs-c-button--primary .fs-c-button__label {
        font-size: 1.6rem;
    }
}

/* 独自コメント */
.item-comment {
    display: grid;
    grid-template-rows: auto min-content;
    column-gap: min(7rem, 70px);
    row-gap: min(3rem, 30px);
    margin-bottom: min(3rem, 30px);
}
.item-comment:nth-of-type(odd) {
    grid-template-columns: min(30rem, 300px) auto;
    grid-template-areas: "img title" "img text"
}
.item-comment:nth-of-type(even) {
    grid-template-columns: auto min(30rem, 300px) ;
    grid-template-areas: "title img" "text img"
}
.item-comment .item-comment-ttl {
    grid-area: title;
    padding-top: min(5rem, 50px);
}
.item-comment-ttl {
    font-size: min(1.8rem, 18px);
    font-weight: 600;
}
.item-comment .item-txt {
    grid-area: text;
}
.item-comment .item-img {
    grid-area: img;
    display:grid;
    align-items:center;
	justify-items: center;
	text-align: center;
}
/* .item-comment .item-img img {
    object-fit: cover;
    width: min(30rem, 300px);
    height: min(36rem, 360px);
} */

/* ギフトラッピングについて */
.about-wrapping {
    border-top: 2px solid #e1e1e1;
    border-bottom: 2px solid #e1e1e1;
    padding: min(4.5rem, 45px) min(5rem, 50px);
    margin-bottom: min(8rem, 80px);
}
.about-wrapping .item-comment-ttl {
    text-align: center;
    margin-bottom: min(3rem, 30px);
}
.about-wrapping .btn-page {
    margin: min(3rem, 30px) auto 0;
}

@media only screen and (max-width: 899px) {
    .item-comment-wrap {
        padding: 0 4.5rem;
    }
    .item-comment {
        margin-bottom: 12rem;
    }
    .item-comment:nth-of-type(odd),
    .item-comment:nth-of-type(even) {
        grid-template-columns: initial;
        grid-template-rows: auto;
        grid-template-areas: "img" "title" "text";
        /*grid-auto-flow: column;*/
        column-gap: initial;
        row-gap: 6rem;
    }
    /* .item-comment .item-img img {
        width: 44rem;
        height: 52rem;
    } */
    .item-comment:nth-of-type(even) .item-img {
        text-align: right;
    }
    .item-comment-ttl {
        font-size: 3.6rem;
    }
    .item-comment .item-comment-ttl {
        padding-top: 0;
    }
    .about-wrapping {
        margin: 0 2rem 17rem;
        padding: 10rem 2rem;
    }
    .about-wrapping .item-comment-ttl {
        margin-bottom: 8rem;
    }
    .about-wrapping .btn-page {
        margin: 6rem auto 0;
        line-height: 4rem;
        height: 12rem;
        padding: 2rem;
        width: 94%;
    }
}
@media only screen and (max-width: 599px) {
    .item-comment-wrap {
        padding: 0 2%;
    }
    .item-comment {
        margin-bottom: 6rem;
    }
    .item-comment:nth-of-type(odd), .item-comment:nth-of-type(even) {
        row-gap: 2rem;
    }
    .item-comment-ttl {
        font-size: 2.6rem;
    }
    .item-comment .item-img img {
        width: 80%;
        /* height: 22rem; */
    }
    .about-wrapping {
        margin: 0 0 5rem;
        padding: 3rem 2rem;
    }
    .about-wrapping .item-comment-ttl {
        margin-bottom: 3rem;
    }
    .about-wrapping .btn-page {
        line-height: 1.5;
        height: auto;
        margin: 3rem auto 0;
    }
}


/* レビュー */
.fs-c-productReview {
    border: 12px solid #f0f0f0;
    border-radius: 30px;
    padding: min(4.5rem, 45px) min(5rem, 50px) min(6rem, 60px);
    margin-bottom: min(7rem, 70px);
}
.fs-c-aggregateRating__rating::before {
    content: "この商品の平均評価";
    font-size: min(1.6rem, 16px);
    font-weight: 600;
    margin-right: min(2rem, 20px);
}
.fs-body-reviews-product .fs-c-aggregateRating__rating::before {
    margin: 0 0 min(2rem, 10px);
}
.fs-c-productReview__aggregateRating.fs-c-aggregateRating {
    display: flex;
    align-items: center;
    border-bottom: 2px solid #d3d0cd;
    padding-bottom: min(2rem, 20px);
}
.fs-c-aggregateRating__rating {
    display: flex;
    align-items: center;
}
.fs-c-reviewStars {
    display: flex;
    justify-content: space-between;
}
.fs-c-reviewStars::before {
    font-family: "fs-icon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #1ea662;
    font-size: min(2rem, 20px);
}
.fs-c-reviewStars[data-ratingCount="5.0"]::before {
    content: "\e91d\e91d\e91d\e91d\e91d";
}
.fs-c-reviewRating .fs-c-reviewInfo__stars.fs-c-reviewStars {
    margin-bottom: min(1.5rem, 15px);
}
.fs-c-reviewRating .fs-c-reviewInfo__stars.fs-c-reviewStars:before {
    font-size: min(1.2rem, 12px);
}
.fs-c-rating__value {
    color: #1ea662;
    font-size: min(2rem, 20px);
    font-weight: 600;
    margin: 0 .5em;
}
.fs-c-aggregateRating__count::before,
.fs-c-reviewer__name__reviewNumber::before {
    content: "(";
}
.fs-c-aggregateRating__count::after {
    content: "件)";
}
.fs-c-reviewer__name__reviewNumber::after {
    content: ")";
}
.fs-c-productReview__reviewList.fs-c-reviewList.fs-c-reviewList--productDescription {
    margin-bottom: min(3rem, 30px);
}
.fs-c-reviewList__item {
    padding: min(2.4rem, 24px) 0;
    border-bottom: 2px dotted #e1e1e1;
}
.fs-c-reviewInfo__reviewer.fs-c-reviewer {
    display: flex;
    align-items: baseline;
    margin-bottom: min(1.5rem, 15px);
}
.fs-c-reviewInfo__date {
    display: flex;
    align-items: center;
    color: #808080;
    font-size: min(1.4rem, 14px);
    margin-bottom: min(1.5rem, 15px);
}
.fs-c-reviewInfo__date dt:after {
    content: "：";
}
.fs-c-aggregateRating__count,
.fs-c-reviewer__name__nickname,
.fs-c-reviewer__name__reviewNumber,
.fs-c-reviewer__profile {
    font-size: min(1.2rem, 12px);
}
.fs-c-reviewer__name {
    margin-right: min(2rem, 20px);
}
.fs-c-reviewer__name a {
    line-height: 1;
    text-decoration: underline;
}
.fs-c-reviewerStatus {
    background-color: #99846b;
    color: #fff;
    text-align: center;
    font-size: min(1.2rem, 12px);
    padding: 0 min(1rem, 10px);
    line-height: min(2rem, 20px);
    display: inline-block;
    border-radius: 5px;
    margin-right: min(2rem, 20px);
}
.fs-c-reviewList__item__body.fs-c-reviewBody {
    font-size: min(1.4rem, 14px);
    line-height: min(2.6rem, 26px);
}
.fs-c-productReview__allReviews .fs-c-button__label:before,
.fs-c-productReview__addReview .fs-c-button__label:before {
    content: "";
    height: min(1.3rem, 13px);
    display: inline-block;
    vertical-align: text-bottom;
    margin-right: .5em;
}
.fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews {
    float: left;
}
.fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews .fs-c-button__label:before {
    background: url(../img/common/icon-review01.svg) 0 / contain no-repeat;
    width: min(1.4rem, 14px);
}
.fs-c-productReview__addReview.fs-c-buttonContainer.fs-c-buttonContainer--addReview--detail {
    float: right;
}
.fs-c-productReview__addReview.fs-c-buttonContainer.fs-c-buttonContainer--addReview--detail .fs-c-button__label:before {
    background: url(../img/common/icon-review02.svg) 0 / contain no-repeat;
    width: min(1.2rem, 12px);
}
@media only screen and (max-width: 899px) {
    .fs-c-productReview {
        padding: 7rem 4rem;
    }
    .fs-c-productReview__aggregateRating.fs-c-aggregateRating {
        align-items: baseline;
        padding-bottom: 4rem;
    }
    .fs-c-productReview__reviewList.fs-c-reviewList.fs-c-reviewList--productDescription {
        margin-bottom: 6rem;
    }
    .fs-c-aggregateRating__rating {
        position: relative;
        padding-top: 6rem;
    }
    .fs-c-aggregateRating__rating::before {
        font-size: 3.2rem;
        position: absolute;
        top: 0;
        left: 0;
    }
    .fs-c-reviewStars::before,
    .fs-c-rating__value {
        font-size: 4rem;
    }
    .fs-c-aggregateRating__count,
    .fs-c-reviewer__name__nickname,
    .fs-c-reviewer__name a,
    .fs-c-reviewer__name__reviewNumber,
    .fs-c-reviewer__profile,
    .fs-c-reviewerStatus {
        font-size: 2.4rem;
    }
    .fs-c-reviewList__item {
        padding: 4rem 0;
    }
    .fs-c-reviewerStatus {
        padding: 1rem 2rem;
    }
    .fs-c-reviewInfo__reviewer.fs-c-reviewer {
        margin-bottom: 2rem;
    }
    .fs-c-reviewInfo__date {
        font-size: 2.8rem;
        margin-bottom: 3.5rem;
    }
    .fs-c-reviewRating .fs-c-reviewInfo__stars.fs-c-reviewStars {
        margin-bottom: 2rem;
    }
    .fs-c-reviewRating .fs-c-reviewInfo__stars.fs-c-reviewStars:before {
        font-size: 2.8rem;
    }
    .fs-c-reviewList__item__body.fs-c-reviewBody {
        font-size: 2.8rem;
        line-height: 5.2rem;
    }
    .fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews,
    .fs-c-productReview__addReview.fs-c-buttonContainer.fs-c-buttonContainer--addReview--detail {
        float: none;
    }
    .fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews {
        margin-bottom: 2.8rem;
    }
    .fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews .fs-c-button__label,
    .fs-c-productReview__addReview.fs-c-buttonContainer.fs-c-buttonContainer--addReview--detail .fs-c-button__label {
        font-size: 2.4rem;
    }
    .fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews .fs-c-button__label:before {
        width: 2.8rem;
        height: 2.5rem;
    }
    .fs-c-productReview__addReview.fs-c-buttonContainer.fs-c-buttonContainer--addReview--detail .fs-c-button__label:before {
        width: 2.4rem;
        height: 2.5rem;
    }
}
@media only screen and (max-width: 599px) {
    .fs-c-productReview {
        padding: 3rem 2rem;
    }
    .fs-c-aggregateRating__rating::before {
        font-size: 2rem;
        word-break: keep-all;
    }
    .fs-c-productReview__aggregateRating.fs-c-aggregateRating {
        padding-bottom: 2rem;
    }
    .fs-c-aggregateRating__rating {
        padding-top: 3rem;
    }
    .fs-c-reviewStars::before, .fs-c-rating__value,
    .fs-c-reviewRating .fs-c-reviewInfo__stars.fs-c-reviewStars:before {
        font-size: 2rem;
    }
    .fs-c-reviewer__name,
    .fs-c-reviewerStatus {
        margin-right: 1rem;
    }
    .fs-c-reviewerStatus {
        padding: .5rem 1rem;
    }
    .fs-c-aggregateRating__count, .fs-c-reviewer__name__nickname, .fs-c-reviewer__name a, .fs-c-reviewer__name__reviewNumber, .fs-c-reviewer__profile, .fs-c-reviewerStatus {
        font-size: 1.4rem;
    }
    .fs-c-reviewList__item__body.fs-c-reviewBody {
        font-size: 1.4rem;
        line-height: 3rem;
    }
    .fs-c-reviewList__item {
        padding: 2rem 0;
    }
    .fs-c-reviewInfo__date {
        font-size: 1.4rem;
        margin-bottom: 2rem;
    }
    .fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews {
        margin-bottom: 1rem;
    }
    .fs-c-productReview__reviewList.fs-c-reviewList.fs-c-reviewList--productDescription {
        margin-bottom: 3rem;
    }
    .fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews .fs-c-button__label, .fs-c-productReview__addReview.fs-c-buttonContainer.fs-c-buttonContainer--addReview--detail .fs-c-button__label {
        font-size: 1.4rem;
    }
    .fs-c-button__label:before {
        vertical-align: middle;
    }
    .fs-c-productReview__allReviews.fs-c-buttonContainer.fs-c-buttonContainer--viewAllReviews .fs-c-button__label:before {
        width: 1.8rem;
        height: 1.5rem;
    }
    .fs-c-productReview__addReview.fs-c-buttonContainer.fs-c-buttonContainer--addReview--detail .fs-c-button__label:before {
        width: 1.4rem;
        height: 1.5rem;
    }
}

/* contact */
.fs-body-product .contact-wrap {
    background-color: #e0ecc0;
    border-radius: 30px;
    padding: min(4rem, 40px) min(2rem, 20px);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    text-align: center;
    margin-bottom: min(7rem, 70px);
}
.fs-body-product .contact-item {
    padding: min(1rem, 10px) 0;
}
.fs-body-product .contact-item:nth-child(2) {
    border-right: 2px solid #e1e1e1;
    border-left: 2px solid #e1e1e1;
}
.fs-body-product .contact-item dt {
    font-size: min(1.4rem, 14px);
    font-weight: 600;
    margin-bottom: min(2rem, 20px);
    text-align: center;
}
.fs-body-product .contact-link {
    font-weight: 600;
    color: #3d2e20;
    line-height: min(2rem, 20px);
    margin-bottom: min(1rem, 10px);
    display: block;
}
.fs-body-product .contact-item:not(:last-child) .contact-link {
    font-size: min(1.8rem, 18px);
}
.fs-body-product .contact-item:last-child .contact-link {
    font-size: min(1.4rem, 14px);
}
.fs-body-product .contact-link:before {
    content: "";
    display: inline-block;
    vertical-align: text-bottom;
    margin-right: .5em;
}
.fs-body-product .contact-item:first-child .contact-link:before {
    background: url(../img/common/icon-tel.svg) 0 / contain no-repeat;
    width: min(2rem, 20px);
    height: min(1.8rem, 18px);
}
.fs-body-product .contact-item:nth-child(2) .contact-link:before {
    background: url(../img/common/icon-fax.svg) 0 / contain no-repeat;
    width: min(2rem, 20px);
    height: min(1.7rem, 17px);
}
.fs-body-product .contact-item:last-child .contact-link:before {
    background: url(../img/common/icon-mail.svg) 0 / contain no-repeat;
    width: min(2.2rem, 22px);
    height: min(1.5rem, 15px);
}
.fs-body-product .contact-txt {
    font-size: min(1.2rem, 12px);
    color: #3d2e20;
}

/* ご利用案内 */
.to-guide .page-ttl {
    margin-bottom: min(3rem, 30px);
}
.to-guide-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: min-content;
    column-gap: min(1rem, 10px);
}
.to-guide-item {
    border: 2px solid #989089;
    border-radius: 10px;
    display: grid;
    grid-template-rows: min(5rem, 50px) auto auto;
}
.to-guide-ttl {
    background-color: #3d2e20;
    color: #fff;
    text-align: center;
    font-size: min(1.6rem, 16px);
    border-radius: 8px 8px 0 0;
    line-height: min(5rem, 50px);
}
.to-guide .item-txt {
    padding: min(2.5rem, 25px) min(2rem, 20px);
}
.to-guide .btn-guide {
    margin: 0 min(1.2rem, 12px) min(1.5rem, 15px);
    align-self: end;
}
@media only screen and (max-width: 899px) {
    .fs-body-product .contact-wrap {
        grid-template-columns: initial;
        grid-template-rows: auto auto auto;
        grid-auto-flow: column;
        padding: 0 4rem;
        margin: 0 4% 13rem;
    }
    .fs-body-product .contact-item {
        padding: 5rem 0;
    }
    .fs-body-product .contact-item:nth-child(2) {
        border-top: 2px solid #bfbfbf;
        border-bottom: 2px solid #bfbfbf;
        border-right: none;
        border-left: none;
    }
    .fs-body-product .contact-item dt {
        font-size: 2.8rem;
        margin-bottom: 4rem;
    }
    .fs-body-product .contact-link {
        margin-bottom: 2rem;
    }
    .fs-body-product .contact-item:not(:last-child) .contact-link {
        font-size: 4.4rem;
    }
    .fs-body-product .contact-item:last-child .contact-link {
        font-size: 3.4rem;
    }
    .fs-body-product .contact-item:first-child .contact-link:before {
        width: 4.4rem;
        height: 4.1rem;
    }
    .fs-body-product .contact-item:nth-child(2) .contact-link:before {
        width: 4.6rem;
        height: 3.8rem;
    }
    .fs-body-product .contact-item:last-child .contact-link:before {
        width: 5rem;
        height: 3.5rem;
    }
    .fs-body-product .contact-txt {
        font-size: 2.4rem;
    }
    .to-guide .page-ttl {
        margin-bottom: 6rem;
        font-size: 4rem;
        text-align: center;
    }
    .to-guide-wrap {
        grid-template-columns: initial;
        grid-template-rows: auto auto auto;
        grid-auto-flow: columns;
        column-gap: initial;
        row-gap: 3rem;
        padding: 0 4%;
    }
    .to-guide-item {
        grid-template-rows: 10rem auto auto;
    }
    .to-guide-ttl {
        font-size: 3.2rem;
        line-height: 10rem;
    }
    .to-guide .item-txt {
        padding: 5rem;
    }
    .to-guide .btn-guide {
        margin: 0 5rem 5rem;
    }
}
@media only screen and (max-width: 599px) {
    .fs-body-product .contact-wrap {
        padding: 0 2rem;
        margin: 0 4% 6rem;
    }
    .fs-body-product .contact-item {
        padding: 3rem 0;
    }
    .fs-body-product .contact-item dt {
        font-size: 1.8rem;
        margin-bottom: 2rem;
    }
    .fs-body-product .contact-item:not(:last-child) .contact-link {
        font-size: 2.4rem;
    }
    .fs-body-product .contact-link:before {
        vertical-align: middle;
    }
    .fs-body-product .contact-item:first-child .contact-link:before {
        width: 3.4rem;
        height: 3.1rem;
    }
    .fs-body-product .contact-item:nth-child(2) .contact-link:before {
        width: 3.6rem;
        height: 3rem;
    }
    .fs-body-product .contact-item:last-child .contact-link:before {
        width: 3.4rem;
        height: 3.5rem;
    }
    .fs-body-product .contact-txt {
        font-size: 1.4rem;
    }
    .fs-body-product .contact-item:last-child .contact-link {
        font-size: 1.8rem;
    }
    .to-guide .page-ttl {
        margin-bottom: 3rem;
        font-size: 2.2rem;
    }
    .to-guide-item {
        grid-template-rows: 5rem auto auto;
    }
    .to-guide-ttl {
        font-size: 2rem;
        line-height: 5rem;
    }
    .to-guide .item-txt {
        padding: 3rem 2rem;
    }
    .to-guide .btn-guide {
        margin: 0 2rem 3rem;
    }
}

/*-------------------------
  カテゴリーページ
-------------------------*/
.fs-body-category .kv-txt {
    font-family: "m-plus-rounded-1p", sans-serif;
    font-weight: 600;
    color: #fff;
    font-size: min(6.5rem, 65px);
}
.fs-body-category .kv-txt span {
    font-size: min(2.6rem, 26px);
    letter-spacing: .4em;
    text-transform: uppercase;
}
@media only screen and (max-width: 899px) {
    .fs-body-category .kv-txt {
        font-size: 5rem;
        text-align: center;
    }
}
@media only screen and (max-width: 599px) {
    .fs-body-category .kv-txt {
        font-size: 3.6rem;
    }
    .fs-body-category .kv-txt span {
        font-size: 1.8rem;
    }
}

/* グループコメント */
.cat-comment {
    display: grid;
    grid-template-rows: auto auto;
    row-gap: min(3rem, 30px);
    column-gap: min(4rem, 40px);
    margin-bottom: min(8rem, 80px);
}
.cat-comment:nth-of-type(odd) {
    grid-template-areas: "img img" "title text";
}
.cat-comment:nth-of-type(even) {
    grid-template-areas: "img img" "text title";
}
.cat-img {
    grid-area: img;
}
.cat-comment:nth-of-type(odd) .cat-img {
    text-align: right;
}
.cat-ttl {
    grid-area: title;
    width: min(22rem, 220px);
    height: min(15rem, 150px);
    text-align: center;
    border-radius: 20px;
    background-color: #f0f0f0;
    color: #705c53;
    margin-top: min(-6rem, -60px);
    z-index: 2;
    display: grid;
    grid-template-rows: min-content min-content;
    place-content: center;

}
.cat-ttl span {
    font-size: min(1.8rem, 18px);
    border-bottom: 2px dotted #705c53;
    padding-bottom: min(.5rem, 5px);
    margin-bottom: min(2rem, 20px);
}
.cat-comment .item-txt {
    grid-area: text;
}
@media only screen and (max-width: 899px) {
    .cat-comment {
        grid-template-rows: 30rem auto;
        row-gap: min(3rem, 30px);
        column-gap: 0;
        margin-bottom: 12rem;
        padding: 0 4%;
    }
    .cat-comment:nth-of-type(odd),
    .cat-comment:nth-of-type(even) {
        grid-template-areas: "img" "title" "text";
    }
    .cat-img img {
        max-width: 56rem;
    }
    .cat-ttl {
        grid-template-rows: auto;
        grid-template-columns: auto auto;
        column-gap: 2rem;
        row-gap: 13rem;
        place-items: center;
        font-size: 4.8rem;
        width: max-content;
        height: 14rem;
        padding: 0 5rem;
        margin-top: -8rem;
    }
    .cat-ttl span {
        margin-bottom: 0;
        padding-bottom: 0;
        font-size: 2.8rem;
    }
    .cat-comment:nth-of-type(even) .cat-ttl {
        margin-left: auto;
    }
}
@media only screen and (max-width: 599px) {
    .cat-comment {
        grid-template-rows: auto auto;
        margin-bottom: 8rem;
    }
    .cat-ttl {
        font-size: 2.4rem;
        height: 7rem;
        padding: 0 2rem;
        margin-top: -6rem;
    }
    .cat-ttl span {
        font-size: 2rem;
    }

    .cat-img img {
        max-width: 90%;
    }
}

/* 並び替え */
.fs-c-productList__controller {
    margin-bottom: min(5rem, 50px);
}
.fs-c-sortItems {
    display: grid;
    grid-template-columns: min(10rem, 100px) 1fr;
    background-color: #f0f0f0;
    border-radius: 8px 0 0 8px;
    line-height: min(3.5rem, 35px);
    font-size: min(1.2rem, 12px);
    margin-bottom: min(1.5rem, 15px);
    grid-area: list;
}
.fs-c-sortItems .fs-c-sortItems__label {
    background-color: #3d2e20;
    border-radius: 8px 0 0 8px;
    color: #fff;
    text-align: center;
}
.fs-c-sortItems__list {
    display: grid;
    grid-template-columns: max-content max-content max-content max-content;
    column-gap: min(3rem, 30px);
    padding-left: min(3rem, 30px);
}
.fs-c-sortItems__list__item {
    cursor: pointer;
}
.fs-c-sortItems__list__item.is-active span,
.fs-c-sortItems__list__item:hover a {
    background: linear-gradient(transparent 50%, #faed00 50%);
    padding-bottom: min(.5rem, 5px);
    opacity: 1;
}
.fs-c-listControl {
    text-align: right;
    font-size: min(1.2rem, 12px);
    color: #99918a;
    grid-area: count;
}
.fs-c-productList__list + .fs-c-productList__controller {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-areas: "count" "list";
    row-gap: min(1.5rem, 15px);
}
.item-wrap .fs-c-mark--coolDelivery.fs-c-mark {
    display: inline-block;
    padding: 0 min(2rem, 20px);
    margin-bottom: min(3rem, 30px);
}

/* 商品一覧 */
.fs-c-productList__list {
    padding: 0 min(2rem, 20px);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: min(4rem, 40px);
}
.fs-c-productList__list__item.fs-c-productListItem {
    margin-bottom: min(4rem, 40px);
}
.fs-c-productListItem__productName.fs-c-productName .fs-c-productName__copy,
.fs-c-productListItem__viewMoreImageButton.fs-c-buttonContainer,
.fs-c-productListItem__control.fs-c-buttonContainer {
    display: none;
}
.fs-c-productList__list__item .fs-c-productListItem__productDescription {
    line-height: 1.4;
    margin-top: min(1rem, 10px);
    font-size: min(1.4rem, 14px);
    color: #959595;
}
.fs-c-productListItem__imageContainer {
    margin-bottom: min(1rem, 10px);
}
.fs-c-mark--coolDelivery.fs-c-mark {
    display: block;
    background: #d6e8ee;
    text-align: center;
    font-size: min(1.2rem, 12px);
    line-height: 25px;
    border-radius: 3px;
    margin-bottom: min(1rem, 10px);
}
.fs-c-productListItem__productName.fs-c-productName {
    margin-bottom: min(1rem, 10px);
}
.fs-c-productListItem__productName.fs-c-productName .fs-c-productName__name {
    font-size: min(1.6rem, 16px);
}
.fs-c-productPrice.fs-c-productPrice--selling {
    color: #c30d23;
}
.fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__main {
    font-size: min(1.4rem, 14px);
}
.fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__addon {
    font-size: min(1.2rem, 12px);
}
.fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__addon:before {
    content: "(";
}
.fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__addon:after {
    content: ")";
}
.fs-c-productPrices--productDetail .fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__addon:before,
.fs-c-productPrices--productDetail .fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__addon:after {
    color: #c30d23;
}
.fs-c-productQuantityAndWishlist__quantity {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
}
.fs-c-productQuantityAndWishlist__quantity:before {
    content: "数量";
    font-size: min(1.4rem, 14px);
    margin-right: min(1rem, 10px);
    vertical-align: middle;
}
.fs-c-productQuantityAndWishlist__quantity select {
    background-color: #fff;
    border-radius: 5px;
    text-align: center;
}
.fs-c-productQuantityAndWishlist__wishlist .fs-c-button--particular {
    appearance: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #333;
    line-height: 1.4;
    padding: 3px 16px;
}
.fs-c-dropdown__menu {
    font-size: min(1.4rem, 14px);
}
.fs-c-dropdown__menu.is-empty {
    color: #ccc;
}
.fs-c-pagination {
    justify-content: center;
}
.fs-c-pagination__item {
    flex: inherit;
}
@media only screen and (max-width: 899px) {
    .fs-c-productList {
        padding: 0 6%;
    }
    .fs-c-productList__list {
        grid-template-columns: 1fr 1fr;
    }
    .fs-c-productList__controller {
        margin-bottom: 6rem;
    }
    .fs-c-productList__list + .fs-c-productList__controller {
        margin-bottom: 0;
    }
    .fs-c-sortItems {
        font-size: 2.4rem;
        grid-template-columns: 20rem 1fr;
        border-radius: 8px;
        margin-bottom: 2rem;
    }
    .fs-c-sortItems .fs-c-sortItems__label {
        display: grid;
        place-items: center;
    }
    .fs-c-sortItems__list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 0;
        row-gap: 2rem;
        padding: 2rem;
        text-align: center;
    }
    .fs-c-listControl {
        font-size: 2.4rem;
    }
    .fs-c-productList__list__item.fs-c-productListItem {
        margin-bottom: 6.6rem;
    }
    .fs-c-productListItem__imageContainer {
        margin-bottom: 2rem;
    }
    .fs-c-mark--coolDelivery.fs-c-mark {
        font-size: 2rem;
        line-height: 40px;
        margin-bottom: 2rem;
    }
    .fs-c-productListItem__productName.fs-c-productName {
        margin-bottom: 1rem;
    }
    .fs-c-productListItem__productName.fs-c-productName .fs-c-productName__name,
    .fs-c-productList__list__item .fs-c-productListItem__productDescription {
        font-size: 2.4rem;
    }
    .fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__main,
    .fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__addon {
        font-size: 2.4rem;
    }
    .fs-c-dropdown__menu,
    .fs-c-productQuantityAndWishlist__quantity:before,
    .fs-body-product .fs-c-button__label {
        font-size: 2rem;
    }
}
@media only screen and (max-width: 599px) {
    .fs-c-sortItems,
    .fs-c-listControl {
        font-size: 1.4rem;
        grid-template-columns: auto auto;
    }
    .fs-c-sortItems__list {
        row-gap: 0;
        padding: 1rem;
    }
    .fs-c-productList {
        padding: 0 4%;
    }
    .fs-c-productList__list {
        padding: 0;
        column-gap: 2rem;
    }
    .fs-c-productListItem__imageContainer {
        margin-bottom: 1rem;
    }
    .fs-c-mark--coolDelivery.fs-c-mark {
        font-size: 1.2rem;
        line-height: 25px;
        margin-bottom: 1rem;
    }
    .fs-c-productListItem__productName.fs-c-productName .fs-c-productName__name {
        font-size: 1.6rem;
    }
    .fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__main, .fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__addon {
        font-size: 1.6rem;
    }
    .fs-c-dropdown__menu,
    .fs-c-productQuantityAndWishlist__quantity:before,
    .fs-body-product .fs-c-button__label,
    .fs-c-productList__list__item .fs-c-productListItem__productDescription {
        font-size: 1.4rem;
    }

}
/*-------------------------
  お気に入りページ、レビュー
-------------------------*/
.fs-body-my-wishlist .fs-c-productListItem__control.fs-c-buttonContainer {
    display: flex;
}
.fs-body-my-wishlist .fs-c-aggregateRating__rating::before {
    font-size: min(1.4rem, 14px);
    margin: 0 0 min(1rem, 10px);
}
@media only screen and (max-width: 899px) {
    .fs-body-my-wishlist .fs-c-aggregateRating__rating,
    .fs-body-reviews-product .fs-c-aggregateRating__rating {
        padding-top: 3rem;
    }
    .fs-body-my-wishlist .fs-c-aggregateRating__rating::before,
    .fs-body-my-wishlist .fs-c-aggregateRating__rating::before {
        position: initial;
    }
    .fs-body-my-wishlist .fs-c-reviewStars::before,
    .fs-body-my-wishlist .fs-c-rating__value {
        font-size: initial;
    }
}