@charset "utf-8";

body#fs_Top .fs-l-main {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

body#fs_Top .fs-l-pageMain {
    min-width: 100%;
}

body#fs_Top .fs-l-pageMain>section {
  padding-top: 70px;
  padding-bottom: 70px;
}

body .fr2-carousel .rcmd-slick-arrow::before {
    background-image: url(../images/top/arrows.png);
    height: 44px;
}

/*見出し系*/
h2.top_title {
    font-size: 36px;
    margin: 0 auto 30px;
}

h2.top_title::after {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    background: linear-gradient(to right,#c39a0b,#c39a0b 50%,#cacaca 50%,#cacaca 100%);
    margin: 16px auto 0;
}

h1.fs-c-heading.fs-c-heading--page {
    text-align: center;
    font-size: 36px;
    margin: 0 auto 30px;
    padding: 0;
    border: 0;
}

h1.fs-c-heading.fs-c-heading--page::after {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    background: linear-gradient(to right,#c39a0b,#c39a0b 50%,#cacaca 50%,#cacaca 100%);
    margin: 16px auto 0;
}

h2.title, h2.fs-c-subSection__title, h2.fs-c-documentArticle__heading, h2.fs-p-announcement__title, h2.fs-p-heading--lv2, h2.fs-c-wishlistProduct__title, h2.fs-c-featuredProduct__title {
    font-size: 24px;
    background-color: #fff;
    color: #101010;
    padding: 7px 0;
    border-bottom: 1px solid;
}

h3.title, h2.fs-c-documentColumn__heading, h3.fs-c-documentColumn__heading, h3.fs-c-subSection__title {
    font-size: 18px;
    border: 0;
    border-left: 3px solid #c39a0b;
    color: #101010;
    padding: 2px 12px;
    font-weight: bold;
}

dl.fs-c-explainList {
    background-color: #fbf8ee;
}

.fs-c-documentArticle__content a,a.txt-link {
    color: #96514d;
}

a.txt-link {
    border-bottom: 1px solid;
    text-decoration: none;
}

a.txt-link:hover {
    border:0;
}

/*TOP*/
/*スライダー*/
body#fs_Top .fs-pt-carousel__track {
    display: none;
    opacity: 0;
    transition: .3s;
}
body#fs_Top .fs-pt-carousel__track.slick-initialized {
    display: block;
    opacity: 1;
}
body#fs_Top .fs-pt-carousel__track a:hover img {
    opacity: .8;
}
.fs-c-slick .slick-prev, .fs-c-slick .slick-next {
    background-color: #101010;
}

.fs-c-slick .slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
}

.fs-c-slick .slick-dots li {
    height: 15px;
    width: 15px;
    margin: 5px;
}

.fs-c-slick .slick-dots li button {
    height: 15px;
    width: 15px;
}

.fs-c-slick .slick-dots li button:before {
    opacity: 1;
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background-color: #fff;
    border-radius: 50%;
}

.fs-c-slick .slick-dots li.slick-active button:before {
    opacity: 1;
    background-color: #c39a0b;
}

/*商品系*/
body#fs_Top section.fs-l-pageMain .row {
    margin: 0 auto;
}

.product-list li a {
    display: block;
    padding-bottom: 45px;
}

h3.product-name {
    font-size: 1em;
    margin: .8em auto .3em;
}


/*TOP おすすめバナー*/
section.top-reco {
    background: url(../images/common/bg_img01.png) no-repeat bottom right;
}

section.featured_bnr li.col {
    border: 1px solid #cacaca;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #fff;
}

section.featured_bnr li.col + li {
    margin-left: -1px;
}

h3.bnr_txt {
    font-size: 14px;
    margin: 0 auto;
    padding: 1em 0 .4em;
}

h3.bnr_txt span {
    font-size: 1.42em;
    margin-bottom: .3em;
}

/*TOPランキング*/
section.top-ranking.top-bg {
    position: relative;
    z-index: 0;
}
section.top-ranking.top-bg::after {
    content: "";
    display: block;
    width: 348px;
    height: 256px;
    background: url(../images/common/bg_img02.png) no-repeat center;
    background-size: contain;
    position: absolute;
    bottom: -146px;
    left: 0;
    z-index: -1;
}

.top-bg {
    background: url(../images/common/bg01.jpg);
}

ul.panel-area li.panel {
    display: none;
}

ul.panel-area li.panel.is-active {
    display: block;
}

.top-ranking .sp-scroll{
    margin-bottom: 30px;
}

.top-ranking ul.tab-area {
    justify-content: center;
    border-bottom: 1px solid #878787;
}

.top-ranking ul.tab-area li.tab {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 212px;
    height: 60px;
    margin: 0 1px;
    cursor: pointer;
    background-color: #d4d0c1;
}

.top-ranking ul.tab-area li.tab.is-active {
    background-color: #c39a0b;
    color: #fff;
    height: 61px;
    margin-bottom: -1px;
}

.top-ranking .product-list li a {
    text-decoration: none;
    padding-bottom: 0;
}

.top-ranking .product-list li a:hover h3,.top-ranking .product-list li a:hover p.product-price {
    text-decoration: underline;
}

.top-ranking ul.product-list li a::before {
    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: #767676;
    color: #fff;
    margin: 0 auto 10px;
}

.top-ranking ul.product-list li:nth-child(1) a::before {
    content: "1";
    background-color: #e79f15;
}

.top-ranking ul.product-list li:nth-child(2) a::before {
    content: "2";
    background-color: #77a9c3;
}

.top-ranking ul.product-list li:nth-child(3) a::before {
    content: "3";
    background-color: #cc7c66;
}

.top-ranking ul.product-list li:nth-child(4) a::before {
    content: "4";
}

.top-ranking ul.product-list li:nth-child(5) a::before {
    content: "5";
}

/*TOP カテゴリーから探す*/
section.top-category {
    position: relative;
    z-index: 0;
}
section.top-category h2 + section::after {
    content: "";
    display: block;
    width: 407px;
    height: 227px;
    background: url(../images/common/bg_img03.png) no-repeat center;
    background-size: contain;
    position: absolute;
    bottom: 355px;
    right: 0;
    z-index: -1;
}
h3.top-title {
    margin: 0 auto 30px;
    padding-bottom: 18px;
    font-size: 28px;
    border-bottom: 1px solid;
}

.sub-ttl>p {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
}

.sub-ttl>p a {
    font-size: 14px;
    border: 1px solid #cacaca;
    padding: 3px 17px;
    text-decoration: none;
    background-color: #fff;
}

.sub-ttl>p a::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #c39a0b;
    border-right: 2px solid #c39a0b;
    transform: rotate(45deg);
    margin-left: 5px;
    transition: .3s ease-in-out;
}

.sub-ttl>p a:hover {
    background-color: #c39a0b;
    border-color: #c39a0b;
    color: #fff;
}

.sub-ttl>p a:hover::after {
    border-color: #fff;
}

h3.cate-name {
    font-size: 20px;
    margin: 0 auto;
    padding: .9em;
    background-color: #c39a0b;
    color: #fff;
}

.category-list li {
    margin-bottom: 30px;
}

.category-list li a {
    text-decoration: none;
    width: 100%;
}

.category-list li:nth-last-child(-n + 3) {
    margin-bottom: 0;
}

section.top-category section + section {
    margin-top: 50px;
}

/*TOP 用途から探す*/
section.top-use {
    background: url(../images/common/bg_img04.png) no-repeat bottom left;
}

section.top_use a {
    background-color: #fff;
}

.use-border {
    border-radius: 50%;
    border: 1px solid #cacaca;
    background-color: #fff;
    padding: 10px;
    transition: .3s;
    overflow: hidden;
}
a:hover .use-border {
    border-color: #c39a0b;
}
.use-border p.image {
    border-radius: 50%;
}

.use-border p.image img {
    border-radius: 50%;
}

.image .img_txt {
    display: flex;
    justify-content: center;
    align-items: center;
    writing-mode: vertical-rl;
    color: #fff;
    font-size: 24px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
}

.image .img_txt span {
    display: inline-block;
    background-color: #c7a223;
    padding: .85em .334em;
}

p.use_text {
    padding: 30px 0;
}

/*TOP価格帯*/
section.top_price_zone {
    padding: 15px 0 0;
}

section.top_price_zone li {
    margin-bottom: 30px;
}

section.top_price_zone li a {
    display: block;
    border: 1px solid #cacaca;
    background-color: #fff;
    font-size: 18px;
    padding: .585em;
    text-decoration: none;
}

section.top_price_zone li a:hover {
    background-color: #c39a0b;
    border-color: #c39a0b;
    color: #fff;
}

/*TOP贈り物バナー*/
.top_gift_bnr p {
    text-align: right;
}

.top_gift_bnr a {
    display: block;
    margin: 0 15px;
    padding: 8px;
    border: 1px solid #cacaca;
    background-color: #fff;
}

.top_gift_bnr h3.top-gift-ttl {
    font-size: 28px;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 60px;
    transition: .3s;
}

.top_gift_bnr a:hover h3 {
    opacity: .5;
}

.top_gift_bnr h3.top-gift-ttl span {
    display: inline-block;
    font-size: 16px;
    margin-left: 24px;
}

/*寺子屋本舗とは*/
section.top_terakoya {
    background: url(../images/top/about_bg.jpg) no-repeat center;
    background-size: cover;
}

section.top_terakoya .container {
    max-width: 800px;
    background-color: #fff;
    padding: 45px 20px 40px;
}

.shop_info_box {
    max-width: 600px;
    margin: 0 auto;
}

p.shop_info_txt.center {
    margin-bottom: 25px;
}

/*TOP 店舗紹介*/
div#loopSlide {
    margin: 40px auto 20px;
}

.simply-scroll-container {
    position: relative;
}

.simply-scroll-clip {
    position: relative;
    overflow: hidden;
}
ul.shop-list {
    opacity: 0;
    transition: .3s;
}
ul.shop-list.simply-scroll-list {
    opacity: 1;

}
.simply-scroll-list {
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.simply-scroll-list li {
    float: left;
    padding: 0;
    margin: 0 15px;
    background: #fff;
    opacity: 1!important;
}

.simply-scroll-list li .image {
    display: flex;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    transition: .3s;
}

h3.shop-ttl {
    font-size: 1em;
    margin: 0;
    padding: 1.2em 0;
}

h3.shop-ttl span {
    display: block;
}

h3.shop-ttl span.shop-name {
    font-size: 1.5em;
    margin-top: .25em;
}

/*TOPお知らせ*/
section.top-news.top-bg {
    position: relative;
    z-index: 0;
}

section.top-news.top-bg::after {
    content: "";
    display: block;
    width: 348px;
    height: 346px;
    background: url(../images/common/bg_img05.png) no-repeat center;
    background-size: contain;
    position: absolute;
    bottom: -185px;
    left: 0;
    z-index: -1;
}

body#fs_Top .fs-l-pageMain> section.top-news {
    padding-top: 55px;
    padding-bottom: 55px;
}

h2.news_ttl {
    writing-mode: vertical-rl;
    font-size: 26px;
    margin: 0;
    padding: 0 35px;
}

section.top-news ul {
    margin-left: 60px;
}

section.top-news ul li {
    margin-top: 5px;
}

section.top-news ul li + li {
    margin-top: 15px;
}

section.top-news ul p.date {
    min-width: 90px;
    margin-right: 30px;
}

h3.news-title {
    font-size: 1em;
    margin: 0;
    line-height: 1.5;
}


/*商品詳細*/
@media screen and (min-width: 960px) {
    body#fs_Top .fs-l-pageMain> section.top-news {
        padding: 55px 17vw;
    }
    .fs-l-product1 .fs-l-productLayout, .fs-l-product2 .fs-l-productLayout, .fs-l-product3 .fs-l-productLayout, .fs-l-product4 .fs-l-productLayout {
        grid-template-columns: calc(50% - 25px / 2) calc(50% - 75px / 2);
    }
    .fs-l-productLayout__item.fs-l-productLayout__item--2 {
        max-width: 500px;
        width: 100%;
        margin-left: auto;
    }
    dl.fs-c-productSelection dt.fs-c-productSelection__name {
        width: 13em;
    }
    dl.fs-c-productSelection  dd.fs-c-productSelection__selection {
        width: calc(100% - 13em - 7px);
    }
}

.fs-c-slick .slick-slide span.fs-c-productMark__mark--image img {
    max-height: 20px;
}

.fs-c-requiredMark {
    margin-left: 8px;
}

h1.fs-c-productNameHeading.fs-c-heading {
    font-size: 24px;
    border-bottom: 0;
    font-weight: 500;
    padding: .6em 0 .48em;
    margin: 0;
}

.fs-c-productNameHeading__copy {
    font-size: 1em;
}

.fs-c-productPrices.fs-c-productPrices--productDetail {
    font-size: 18px;
}

.fs-c-productPrices.fs-c-productPrices--productDetail .fs-c-productPrice__addon {
    font-size: 1em;
}

.fs-c-productPointDisplay {
    background-color: transparent;
    color: #101010;
    margin: 0;
    padding: 0 0 .25em;
    font-size: 1em;
}

.fs-c-productPostage {
    color: #f00;
}

.fs-c-productMarks .fs-c-productMark__mark:not(.fs-c-mark--coolDelivery),.fs-c-productList .fs-c-productMarks span:not(.fs-c-mark--coolDelivery) {
    padding: 0;
}

.fs-c-productList .fs-c-productMarks li.fs-c-productMark__item img {
    max-height: 20px;
}

dl.fs-c-productSelection {
    background-color: #f8f8f8;
    padding: 20px;
}

dl.fs-c-productSelection dt.fs-c-productSelection__name {
    background-color: #f8f8f8;
    font-size: 14px;
}

dl.fs-c-productSelection  dd.fs-c-productSelection__selection {
    font-size: 14px;
}

dl.fs-c-productSelection dd.fs-c-productSelection__selection select {
    font-size: 1em;
}

.fs-c-button--particular {
    background-color: #efefef;
    border-color: #efefef;
    color: #878787;
}

.fs-c-button--particular.fs-c-button--addToWishList--detail::after, .fs-c-button--particular.fs-c-button--removeFromWishList--detail::after {
    font-size: 2em;
    margin-left: 8px;
}

.fs-c-productQuantityAndWishlist .fs-c-buttonContainer {
    padding: 0;
}

.fs-c-button--primary {
    font-size: 16px;
}

button.fs-c-button--addToCart--detail.fs-c-button--primary {
    height: 70px;
    font-size: 20px;
    background-color: #c8210b;
    border-color: #c8210b;
}

.fs-l-product2 .fs-c-productActionButton .fs-c-button--primary:hover, .fs-l-product2 .fs-c-productActionButton .fs-c-button--secondary:hover,button.fs-c-button--addToCart--detail.fs-c-button--primary:hover {
    background-color: #c39a0b;
    border-color: #c39a0b;
}

.fs-c-button--primary:hover {
    background-color: #101010;
    border-color: #101010;
}

button.fs-c-button--addToCart--detail.fs-c-button--primary {
    position: relative;
}

button.fs-c-button--addToCart--detail.fs-c-button--primary::after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url(../images/dtl/@2x/icon_cart.png) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto 0;
}

.fs-c-returnedSpecialContract__link a::before {
    width: 16px;
    height: 14px;
}

button.fs-c-button--inquiryAboutProduct.fs-c-button--plain span::before {
    width: 16px;
    height: 14px;
}

p.dtl-shopping a {
    font-size: 14px;
}

p.dtl-shopping a::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 12px;
    background: url(../images/dtl/@2x/icon_shipping.png) no-repeat center;
    background-size: contain;
    margin-right: 9px;
}

/*商品説明*/
.fs-c-productCarouselMainImage {
    max-width: 590px;
}

div#fs_productCarouselMainImage {
    border: 0;
}

.fs-c-productCarouselMainImage__image > img {
    max-width: 450px;
    margin: 0 50px;
}

.fs-c-productCarouselMainImage__thumbnailList > li, .fs-c-productThumbnail__image {
    flex-basis: 140px;
    margin: 0 10px 10px 0;
}

.fs-c-productCarouselMainImage__thumbnailList, .fs-c-productThumbnail {
    margin-right: -13px;
}

.slick-active .fs-c-productCarouselMainImage__thumbnail__img {
    border-color: #c39a0b;
}

.dtl> section + section {
    margin-top: 30px;
    margin-bottom: 60px;
}

.dtl .row.row-cols-1.row-cols-xl-2 {
    padding: 0 20px;
}

.dtl .row.row-cols-1.row-cols-xl-2 .col {
    margin-bottom: 30px;
}

.dtl .row.row-cols-1.row-cols-xl-2 .col:nth-child(1) {
    padding-left: 0;
}


/*商品詳細グラフ*/
section.dtl-graph {
    max-width: 580px;
    margin: 0 auto;
}

section.dtl-graph li {
    background-color: #f4f4f4;
    border-radius: 5em;
    padding: 15px 24px;
}

section.dtl-graph li+li {
    margin-top: 10px;
}

.graph01-,.graph02-,.graph03- {
    display: none!important;
}

.graph01-1,.graph01-2,.graph01-3,.graph02-1,.graph02-2,.graph02-3,.graph03-1,.graph03-2,.graph03-3,.graph03-4 {
    display: -ms-flexbox!important;
    display: flex!important;
}

section.dtl-graph .left {
    min-width: 102px;
    margin-right: 20px;
}

section.dtl-graph .left img {
    margin-right: 10px;
}

section.dtl-graph .right {
    width: 100%;
    position: relative;
}

section.dtl-graph .right:not(.flex-wrap) {
    padding-top: 17px;
}

section.dtl-graph .right .graph-point::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-color: #cacaca;
    border-radius: 50%;
    position: relative;
    z-index: 1;
}

section.dtl-graph .right.flex-wrap p {
    width: calc(25% - 4px);
    background-color: #cacaca;
    border-radius: 5em;
    text-align: center;
    padding: 6px 0;
    border: 2px solid #cacaca;
    color: #6d6d6d;
}

section.dtl-graph .right:not(.flex-wrap)::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background-color: #cacaca;
    position: absolute;
    left: 0;
    right: 0;
    top: 17px;
    bottom: 0;
    margin: auto 0;
}

section.dtl-graph .right.graph-point-1 .graph-point:nth-child(1)::after,
section.dtl-graph .right.graph-point-2 .graph-point:nth-child(2)::after,
section.dtl-graph .right.graph-point-3 .graph-point:nth-child(3)::after,
section.dtl-graph .right.graph-point02-1 .graph-point:nth-child(1)::after,
section.dtl-graph .right.graph-point02-2 .graph-point:nth-child(2)::after,
section.dtl-graph .right.graph-point02-3 .graph-point:nth-child(3)::after,
section.dtl-graph .right.graph-point02-4 .graph-point:nth-child(4)::after,
section.dtl-graph .right.graph-point02-5 .graph-point:nth-child(5)::after,
section.dtl-graph .right.graph-point03-1 p:nth-child(1),
section.dtl-graph .right.graph-point03-2 p:nth-child(2),
section.dtl-graph .right.graph-point03-3 p:nth-child(3),
section.dtl-graph .right.graph-point03-4 p:nth-child(4)
{
    background-color: #101010;
    border: 2px solid #c39a0b;
    color: #fff;
}

section.dtl-graph .graph01 .right .graph-point:nth-child(1)::before,section.dtl-graph .graph02 .right .graph-point:nth-child(1)::before,
section.dtl-graph .graph01 .right .graph-point:last-child::before,section.dtl-graph .graph02 .right .graph-point:last-child::before {
    font-size: 12px;
    position: absolute;
    top: 0;
}

section.dtl-graph .graph01 .right .graph-point:nth-child(1)::before {
    content: "やわらかい";
    left: 0;
}

section.dtl-graph .graph01 .right .graph-point:last-child::before {
    content: "かたい";
    right: 0;
}

section.dtl-graph .graph02 .right .graph-point:nth-child(1)::before {
    content: "甘め";
    left: 0;
}

section.dtl-graph .graph02 .right .graph-point:last-child::before {
    content: "辛め";
    right: 0;
}


/*商品詳細商品コメント*/
section.dtl-comment-box {
    border: 1px solid #c39a0b;
    box-shadow: 5px 5px #c39a0b;
    padding: 30px 30px 55px;
}

h3.dtl-ttl {
    display: flex;
    align-items: center;
    margin: 0 auto 1.5em;
    font-size: 1.125em;
}

h3.dtl-ttl::before {
    content: "";
    display: block;
    width: 37px;
    height: 37px;
    background: url(../images/dtl/@2x/icon_comment.png) no-repeat center;
    background-size: contain;
    margin-right: 15px;
}

.table > tbody tr th {
    background-color: #fbf8ee;
}

.dtl table.table tr.off {
    display: none;
}


/*商品一覧*/
@media screen and (min-width: 768px) and ( max-width:959px){
    .fs-c-productList__list article.fs-c-productList__list__item {
        width: 33.333%;
    }
}

@media screen and (min-width: 768px) {
    .fs-c-subgroupList__item {
        margin: 0 0 10px 10px;
        flex-basis: calc(33.333% - 10px);
    }

    ul.fs-c-subgroupList {
        margin-left: -10px;
    }

    section.top-news ul li,section.top-news ul li a {
        display: flex;
        align-items: baseline;
    }

}

.fs-c-subgroupList__link:hover {
    background-color: #c39a0b;
    border-color: #c39a0b;
}

.fs-c-subgroupList__link::after {
    color: #c39a0b;
}

.fs-c-productListItem__control .fs-c-button--plain {
    background-color: #c8210b;
    height: 30px;
}

.fs-c-productList .fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
    font-size: 16px;
    font-weight: bold;
}

.fs-c-productList__list article.fs-c-productList__list__item {
    padding: 13px 15px 27px;
}

.fs-c-productList__list {
    margin: 0 -15px;
}

.fs-c-productList .fs-c-productPrice__addon:not(.fs-c-productPrice__addon--listed) {
    font-weight: bold;
}

.fs-c-productList .fs-c-productPrice.fs-c-productPrice--selling {
    justify-content: flex-end;
}

.fs-c-productListItem__outOfStock.fs-c-productListItem__notice.fs-c-productStock {
    background-color: #878787;
    border-color: #878787;
    color: #fff;
}

.fs-c-button--particular.fs-c-button--addToWishList--icon .fs-c-button__label, .fs-c-button--particular.fs-c-button--removeFromWishList--icon .fs-c-button__label, .fs-c-button--particular.fs-c-button--displayPassword .fs-c-button__label, .fs-c-button--particular.fs-c-button--hidePassword .fs-c-button__label {
    display: block;
    width: 100%;
}

button.fs-c-button--particular:not(.fs-c-button--hidePassword):not(.fs-c-button--displayPassword) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 30px;
    max-width: 200px;
    margin: 0 auto;
    color: #878787;
    background-color: #efefef;
    margin-bottom: 5px;
    position: relative;
}

button.fs-c-button--addToWishList--icon.fs-c-button--particular,.fs-c-button--particular.fs-c-button--removeFromWishList--icon {
    color: #878787;
    background-color: #efefef;
}

.fs-c-button--particular.fs-c-button--removeFromWishList--icon::before {
    color: #ff8ba9;
}

.fs-c-productListItem__salesPeriodNotice {
    background-color: #878787;
}

.fs-c-productListItem__control.fs-c-buttonContainer {
    flex-direction: column-reverse;
}

.fs-c-button--particular.fs-c-button--addToWishList--icon::before, .fs-c-button--particular.fs-c-button--removeFromWishList--icon::before {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto 0;
}

.fs-c-button--plain.fs-c-button--addToCart--list::before, .fs-c-button--plain.fs-c-button--viewProductDetail::before {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: 10px;
    margin: auto 0;
}

.fs-c-button--plain.fs-c-button--addToCart--list::before {
    height: 18px;
    background: url(../images/product-list/cart.png) no-repeat center;
    background-size: contain;
}

span.fs-c-sortItems__label::before {
    content: "[";
    display: inline;
    margin-right: 3px;
}

span.fs-c-sortItems__label::after {
    content: "]";
    margin-left: 1px;
}

li.fs-c-sortItems__list__item.is-active, .fs-c-pagination__item.is-active {
    background-color: transparent;
    color: #c39a0b;
    border-bottom: 3px solid;
}

.fs-c-sortItems__list__item__label {
    padding: 1px;
}

span.fs-c-sortItems__label {
    padding: 1px 6px;
}

.fs-c-sortItems__list > li {
    margin-left: 10px;
}

.fs-c-pagination__item {
    width: 20px;
    height: 25px;
    margin: 0 5px;
}

.fs-c-listControl {
    flex-direction: row;
    align-items: baseline;
}

.fs-c-productListItem__viewMoreImageButton {
    display: block;
    position: relative;
    margin-top: -29px;
}

button.fs-c-button--viewMoreImage.fs-c-button--plain::before {
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background: url(../images/product-list/zoom.png) no-repeat center;
    background-size: contain;
    right: 4px;
}

/*新着・ブログ詳細*/
article.f-article {
    padding: 30px 25px 50px;
    border-top: 1px solid #cacaca;
    border-bottom: 1px solid #cacaca;
}

article.f-article .tag {
    color: #c39a0b;
    font-size: 14px;
    border: 1px solid;
    padding: 1px 13px;
    margin-right: 18px;
}

p.d-flex.align-items-center.txt {
    margin-bottom: 1.7em;
}

article.f-article img {
    display: block;
    margin: 0 auto;
}


/*贈り物ガイド*/
.guide-gift>section + section {
    margin-top: 60px;
}

h2.guide-gift-ttl.mincho {
    font-size: 30px;
    margin: 0;
    padding: 20px 0 40px;
    line-height: 1.5;
}

section.guide-gift-top {
    position: relative;
}

section.guide-gift-top p.txt.txt-right {
    text-align: right;
    font-size: .875em;
}

section.guide-gift-top .left {
    min-width: 447px;
}

section.guide-gift-top::before {
    content: "";
    display: block;
    width: 440px;
    height: 300px;
    background: url(../images/guide-gift/@2x/top_img01.jpg) no-repeat top right;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

section.guide-gift-top .image {
    padding-left: 38px;
}

section.guide-gift-top .right {
    display: flex;
    align-items: flex-end;
}

section.guide-gift-top + section .col a {
    display: flex;
    align-items: center;
    height: 50px;
    border: 1px solid #cacaca;
    padding: 0 20px;
    text-decoration: none;
    position: relative;
}

section.guide-gift-top + section .col a:hover {
    background-color: #c39a0b;
    border-color: #c39a0b;
    color: #fff;
}

section.guide-gift-top + section .col a::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #c39a0b;
    border-bottom: 2px solid #c39a0b;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto 0;
    transition: .3s ease-in-out;
}

section.guide-gift-top + section .col a:hover::after {
    border-color: #fff;
}

#guide-gift1 section.guide-gift-cnt {
    padding: 50px 10px;
    border-top: 1px solid #cacaca;
}

section#guide-gift1 {
    border-bottom: 1px solid #cacaca;
}

#guide-gift1 .guide-gift-cnt.image {
    margin: 30px auto 40px;
}

p.image.gift-image-ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cacaca;
    background-color: #f8f8f8;
    margin-right: 20px;
    width: 31.5%;
    max-height: 119px;
}

#guide-gift1 section.guide-gift-cnt .right {
    width: 68.5%;
}

.fs-l-sideArea + .fs-l-pageMain, .fs-l-pageMain + .fs-l-sideArea {
    max-width: 880px;
}

.txt + .txt,.txt + .image,.txt + table{
    margin-top: 1em;
}

.bg-pink {
    background-color: #ffe8e8;
}

h3.guide-gift-ttl.d-inline-block {
    margin: 0;
    padding: 9px 14px;
    font-size: 20px;
    color: #fff;
}

section.guide-gift-sub ul {
    padding: 30px 45px 40px;
    justify-content: space-between;
}

section.guide-gift-sub + section.guide-gift-sub {
    margin-top: 30px;
}

.txt + .guide-gift-sub {
    margin-top: 25px;
}

section.guide-gift-sub ul li.col-md-6 {
    max-width: 380px;
}

section.guide-gift-sub ul li.col-md-6 .image {
    text-align: center;
}

#guide-gift2 h4.title {
    font-size: 18px;
    text-align: center;
    font-weight: bold;
    margin: 20px 0;
}

.bg-pink h3.guide-gift-ttl.d-inline-block {
    background: #b05858;
}

p.txt-list {
    margin: .5em auto;
}

p.txt-list span {
    min-width: 68.56px;
    padding-left: 10px;
    padding-right: 30px;
    box-sizing: content-box;
    font-weight: bold;
}

.bg-pink p.txt-list span {
    color: #c87171;
}

p.txt.txt_right {
    text-align: right;
}

.bg-blue {
    background-color: #dbe6ff;
}

.bg-blue h3.guide-gift-ttl {
    background-color: #5873b0;
}

.bg-blue p.txt-list span {
    color: #5873b0;
}

section#guide-gift3 section.guide-gift-sub .d-md-flex .image {
    margin-left: auto;
}

table {
    font-size: 1em;
}

section.guide-gift-sub table.table2 tr:first-child th,section.guide-gift-sub table.table2 tr:first-child td {
    text-align: center;
    background-color: #fbf8ee;
}

section.guide-gift-sub table.table2 tr:first-child th {
    font-weight: 500;
}

section.guide-gift-sub table.table2 th,section.guide-gift-sub table.table2 td {
    padding: 11px 20px;
    border-top: 1px solid #cacaca;
    border-bottom: 1px solid #cacaca;
    text-align: left;
}

section.guide-gift-sub table.table2 {
    border-collapse: collapse;
}

section.guide-gift-sub table.table2 th {
    border-right: 1px solid #cacaca;
}

.guide-gift-mnr dt {
    padding: 20px;
    position: relative;
    cursor: pointer;
}

.guide-gift-mnr {
    border-top: 1px solid #cacaca;
}

.guide-gift-mnr dd {
    padding: 20px 20px 50px;
    border: 1px solid #efefef;
    background-color: #fbf8ee;
}

.guide-gift-mnr dl {
    border-bottom: 1px solid #cacaca;
}

.guide-gift-mnr .d-md-flex > div.center {
    min-width: 200px;
    max-width: 200px;
    margin-left: 30px;
    margin-bottom: 1em;
}

.guide-gift-mnr .d-md-flex > div.center .image {
    margin-bottom: .5em;
}

.guide-gift-mnr table.table-scroll {
    border-collapse: collapse;
    min-height: 123px;
}

.guide-gift-mnr table.table-scroll th {
    background-color: #c39a0b;
    font-weight: 400;
    color: #fff;
    min-width: 150px;
}

.guide-gift-mnr table.table-scroll th,.guide-gift-mnr table.table-scroll td {
    border-top: 1px solid #cacaca;
    border-bottom: 1px solid #cacaca;
    vertical-align: baseline;
}

.guide-gift-mnr table.table-scroll td {
    border-left: 1px solid #cacaca;
    background-color: #fff;
    padding: 12px 17px;
}

.guide-gift-mnr table.table-scroll td:nth-of-type(1) {
    min-width: 155px;
}

.guide-gift-mnr table.table-scroll td:nth-of-type(2) {
    min-width: 180px;
    text-align: center;
}

.guide-gift-mnr table.table-scroll td:nth-of-type(3) {
    min-width: 350px;
}

.guide-gift-mnr table.table-scroll td:last-child {
    text-align: left;
}

.guide-gift-mnr table.table-scroll tr:first-child td {
    text-align: center;
}

.guide-gift-mnr dt::before {
    content: "";
    display: block;
    width: 20px;
    height: 3px;
    background-color: #878787;
    position: absolute;
    top: calc(50% - .5px);
    right: 21.5px;
}

.guide-gift-mnr dt::after {
    content: "";
    display: block;
    width: 3px;
    height: 20px;
    background-color: #878787;
    position: absolute;
    top: calc(50% - 9px);
    right: 30px;
}

.guide-gift-mnr dt.guide_open::after {
    opacity: 0;
}

.guide_gift_bnr p {
    text-align: right;
}

.guide_gift_bnr a {
    display: block;
    padding: 8px;
    border: 1px solid #cacaca;
    position: relative;
    text-decoration: none;
}

.guide_gift_bnr h3.guide-gift-ttl {
    display: flex;
    align-items: center;
    font-size: 24px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 53px;
    margin: auto;
}

/*杵つき金ごま*/
.g-goma {
    border-bottom: 1px solid #cacaca;
    padding-bottom: 80px;
}

h2.g-goma-ttl {
    text-align: center;
    font-size: 34px;
    margin: 25px auto;
    padding: 10px 0;
    border-bottom: 1px solid;
}

.g-goma .container {
    max-width: 1000px;
}

.g-goma .container > *:not(h2) {
    width: calc(100% - 50px);
    margin-left: auto;
    margin-right: auto;
}

.g-goma .container .youtube {
    margin-top: 1.875em;
    margin-bottom: 1.875em;
}

.g-goma .container .youtube+p.image {
    margin-bottom: 3.125em;
}

.g-goma-cnt {
    background-color: #fbf8ee;
    padding: 50px;
    margin-bottom: 68px;
}

.g-goma ul.row li a {
    text-decoration: none;
}

.g-goma ul.row li a h3.g-goma-ttl {
    font-size: 20px;
    margin: 0;
    padding: 18px;
    background-color: #c39a0b;
    color: #fff;
}

/*新規会員登録*/
section.regist {
    margin-bottom: 50px;
}

section.regist p.txt.mincho.center {
    margin: 45px auto 40px;
    font-size: 30px;
}

section.regist ul.row.row-cols-1.row-cols-lg-3 {
    margin-bottom: 30px;
}

section.regist li.col >div {
    padding: 30px 1.04vw;
    background: url(../images/regist/@2x/point_bg.jpg) no-repeat top center;
    background-size: contain;
    font-size: 14px;
}

section.regist li.col >div h2.regist-ttl {
    font-size: 20px;
    line-height: 1.5;
    margin: 20px auto 10px;
}

section.regist ul.row.row-cols-2.row-cols-lg-4 h2.regist-ttl.bold.center {
    margin-top: 5px;
}

body#fs_Register .fs-c-inputInformation__message {
    background: #101010;
    max-width: 900px;
    color: #fff;
    padding: 13px;
    font-weight: bold;
}

/*よくあるご質問*/
.corporate .btn a,
#faq .btn a {
    justify-content: left;
    padding: 0 20px;
}

.corporate .btn.btn-border a::after,
#faq .btn.btn-border a::after {
    transform: rotate(135deg);
}

#faq dt::before {
    background-color: #101010;
}

#faq dt p::before {
    width: 21px;
    height: 3px;
    background-color: #878787;
    right: 21px;
}

#faq dt p::after {
    width: 3px;
    height: 21px;
    background-color: #878787;
    right: 30px;
}

#faq dt {
    padding-left: 15px;
}

#faq dt::before, #faq dd::before {
    min-width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    color: #fff;
    margin-right: 20px;
    text-indent: 0;
}

#faq dd {
    padding-left: 15px;
    background-color: #fbf8ee;
}

#faq dd::before {
    background-color: #C39B0C;
}

/*会社概要*/
.corporate > section {
    margin-bottom: 70px;
}

section#corporate1 {
    margin-top: 75px;
}

#corporate1 p.image {
    margin-bottom: 3.125em;
}

#corporate1 .container > p.image {
    margin-bottom: 1.8em;
}

ul.row.shop-image {
    margin: 1.8em auto 4.375em;
}

h4.corpo-ttl {
    font-size: 30px;
    margin: 1.5em auto 1.2em;
    padding: 0 7px;
    line-height: 1.5;
}

section#corporate2 th{
    background: #fbf8ee;
    white-space: nowrap;
    padding-right: 20px;
}

section.corporate-sub {
    margin-top: 50px;
}

section.corporate-sub p.txt.txt-right {
    text-align: right;
    font-size: 12px;
    line-height: 1;
}

section.corporate-sub table td + td {
    text-align: center;
    border-left: 1px solid #cacaca;
}

div.corporate-btn a {
    max-width: 880px;
    height: 100px;
}

.corpo-bnr.d-flex {
    justify-content: space-between;
    align-items: center;
}

.corpo-bnr p.image {
    margin-right: 25px;
}

.btn.btn-border.btn-bnr.corporate-btn a:hover img {
    opacity: 1;
}

.corporate .corporate-btn.btn.btn-border a::after {
    transform: rotate(45deg);
}

/*ログイン*/
.fs-c-fsLogin tr {
    display: block;
}
.fs-c-fsLogin .fs-c-inputInformation__field .fs-c-inputTable > tbody tr th, .fs-c-fsLogin .fs-c-inputInformation__field .fs-c-inputTable > tbody tr td {
    display: block;
    width: 100%;
}
.fs-c-fsLogin .fs-c-inputInformation__field .fs-c-inputTable > tbody tr th {
    border-bottom: 0;
    padding-bottom: 0;
}

/*CMS お問い合わせ*/
.mw_wp_form .fs-c-inputField__field.fs-c-radioGroup span {
    border-color: #c39a0b;
}

.mw_wp_form .fs-c-inputField__field.fs-c-radioGroup input {
    display: none;
}

.mw_wp_form .fs-c-inputField__field.fs-c-radioGroup label span::before {
    border-radius: 50%;
    content: "";
    display: block;
    opacity: 0;
    position: absolute;
    top: 2px;
    bottom: 0;
    left: 4px;
    width: 0;
    height: 0;
    margin: auto;
}

.fs-c-inputField__field.fs-c-radioGroup label {
    position: relative;
}

.mw_wp_form .fs-c-inputField__field.fs-c-radioGroup label::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid #c39a0b;
    vertical-align: middle;
    margin-right: 5px;
}

.mw_wp_form .fs-c-inputField__field.fs-c-radioGroup input:checked + span::before {
    opacity: 1;
    width: 8px;
    height: 8px;
    background-color: #c39a0b;
}

.mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 20px;
}

/*CMS 店舗紹介詳細*/
section#store1 {
    max-width: 1150px;
    margin: 0 auto;
}

.store_cnt {
    margin-top: 55px;
}

.store_cnt .col-12.col-md-7 .txt {
    margin-top: 1em;
    margin-bottom: 1.5em;
}

.d-flex.store-sns {
    justify-content: space-around;
    margin: 1.25em auto;
}

.d-flex.store-sns p {
    padding: 0 8px;
}

.d-flex.store-sns p a {
    display: flex;
    align-items: center;
    height: 100%;
}

.gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 39.13%;
    position: relative;
}

.gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

section#store1 .gmap {
    margin: 30px auto 50px;
}

section#store2 {
    margin-bottom: 25px;
}

section#store2 ul {
    max-width: 1150px;
    margin: 0 auto;
}

section#store2 ul li {
    margin-bottom: 15px;
}

h3.store-ttl {
    font-size: 14px;
}

section#store3 {
    margin-bottom: 90px;
}

section#store3 .txt {
    max-width: 1150px;
    margin: 0 auto;
}

/*CMS 店舗紹介一覧*/
section.store-list {
    max-width: 1150px;
    margin: 0 auto;
}

section.store-list p.image.right {
    float: right;
    margin-left: 3%;
    width: 40%;
}

section.store-list h2.store-list-ttl {
    font-size: 30px;
    line-height: 1.5;
    margin-bottom: 1.1em;
}

section.store-list ul#anchor-list {
    margin-top: 40px;
}

section.store-list ul#anchor-list li {
    min-width: 129px;
    flex-basis: calc(100% / 7);
    flex-grow: unset;
}

section.store-list li.btn.btn-border a {
    padding: 0 20px;
    justify-content: flex-start;
}

article.news_content_area ul.row {
    margin-bottom: 35px;
}

article.news_content_area ul.row li {
    margin-bottom: 20px;
}

article.news_content_area ul.row .image-border {
    border: 1px solid #cacaca;
    padding: 8px;
    transition: .3s;
}

article.news_content_area ul.row a:hover .image-border {
    border-color: #c39a0b;
}

h3.store-list-ttl {
    font-size: 18px;
    margin: .5em auto;
}

/*マイページ*/
.fs-c-accountService__page:not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink {
    color: #101010;
}

/*レコメンド*/
div#recommend--flick {
    margin: 60px auto;
}

h2.reco-ttl.bold {
    font-size: 18px;
    text-align: center;
    margin: 1.1em auto;
}

.fr2-listItem {
    padding: 10px;
}

section.rec_checked_item {
    margin: 30px auto;
}

section.pickup {
    margin: 60px auto;
}

.fs-l-productLayout__item.fs-l-productLayout__item--3 {
    padding-bottom: 50px;
    border-bottom: 1px solid #cacaca;
}

.fs-c-featuredProduct {
    margin-top: 60px;
}

.fs-c-productReview {
    max-width: 1150px;
    margin: 0 auto;
}