@charset "utf-8";
@media screen and (max-width:960px) {
    .fs-l-productLayout {
        max-width: 768px;
        margin: 0 auto;
    }
}
@media screen and (max-width:767px) {
    body#fs_Top main.fs-l-main section.fs-l-pageMain > * {
        padding: 18px 3.2vw 50px;
    }
    .bnr-width {
        margin: -5px auto!important;
        max-width: 633px;
    }
    .flex.row2, .flex.row3, .flex.row4 {
        margin: -5px;
    }
    .flex.row2>*, .flex.row3>*, .flex.row4>* {
        width: calc(50% - 10px);
        margin: 5px;
    }


    /*バナー*/
    .flex.row2.fs-pt-column {
        margin: -5px auto;
    }
    .flex.row2.fs-pt-column > * {
        width: 100%;
        margin: 5px auto;
    }
    .bnr-bg.fs-pt-column > * {
        display: flex;
    }
    .bnr-bg.fs-pt-column > * >* {
        width: 50%;
    }
    .bnr-bg span.fs-pt-column__heading {
        display: flex;
        align-items: center;
        font-size: 16px;
        padding: 8.5px 13px;
    }

    /*見出し系*/
    h1.fs-c-heading.fs-c-heading--page {
        font-size: 26px;
        height: 150px;
        margin-bottom: 5px;
    }
    body#fs_ProductCategory h1.fs-c-heading.fs-c-heading--page {
        background-position-x: center;
    }
    h1.fs-c-heading.fs-c-heading--page span {
        background: url(../images/common/@1x/bg06.png);
        padding: .5em 1em;
    }
    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: 22px;
        margin-bottom: 15px;
    }
    h2.heading,h2.fs-c-featuredProduct__title {
        font-size: 21px;
        margin-bottom: 15px;
    }
    h2.heading {
        margin-top: 30px;
    }
    h2.fs-c-featuredProduct__title {
        margin-bottom: 20px;
    }
    
    h2.heading.rec_history {
    padding-left: 0px;
}
    
    h3.title, h2.fs-c-documentColumn__heading, h3.fs-c-documentColumn__heading, h3.fs-c-subSection__title {
        font-size: 20px;
    }
    h2.top_title {
        font-size: 23px;
        margin: 0.5em auto;
    }
    h3.cate_name {
        font-size: 14px;
        text-align: center;
        padding: 6px;
    }
    h2.footer-upper-title {
        font-size: 26px;
    }
    section.footer-upper h3 {
        font-size: 18px;
        text-align: left;
        padding: 18px 15px;
        position: relative;
    }
    section.footer-upper h3::after {
        content: "";
        display: block;
        width: 20px;
        height: 20px;
        background: url(../images/sp/icon_ft_ac.png) no-repeat center;
        background-size: contain;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 15px;
        margin: auto 0;

    }
    section.footer-upper h3.open::after {
        background: url(../images/sp/icon_ft_ac_close.png);
        background-size: contain;
    }
    section.footer-upper h3 span {
        vertical-align: super;
    }
    
    .fs-p-cartItemNumber {
    top: 2vw;
    right: 5vw;
}
    
    /*TOP*/
    .product-list.flex {
        margin: -14px -5px;
    }
    .product-list.flex li {
        width: calc(50% - 10px);
        margin: 14px 5px;
    }

    /*ヘッダー 会員名 ポイント*/
    .fs-l-header__welcomeMsg.flex.fs-clientInfo.is-ready {
    align-items: center;
}
    
    /*ランキング*/
    .sp-scroll {
        overflow-y: hidden;
        overflow-x: scroll;
        white-space: nowrap;
    }
	section.top-ranking {
		margin-top:3vw;
	}
    section.top-ranking ul.tab-area.flex {
        display: block;
    }
    ul.tab-area.flex li {
        padding: 0 24px;
        height: 40px;
    }
    ul.tab-area.flex li.tab.is-active {
        background: #F7B40D;
        border-color: #F7B40D;
        color: #fff;
    }
    section.top-ranking ul.product-list.flex {
        margin: -14px -5px;
    }
    section.top-ranking ul.product-list.flex li::before {
        margin: 5px auto 10px;
    }
    section.top-ranking h3.product-name {
        padding: 1.2em .6em 0;
    }
    section.top-ranking p.product-price {
        padding: 0 .6em 1.2em;
    }
    section.top-ranking ul.product-list.flex li:first-child {
        width: 100%;
    }
    section.top-ranking ul.product-list.flex li:first-child a {
        padding: 25px;
    }
    section.top-ranking ul.product-list.flex li:first-child h3.product-name {
        padding: 1.2em 0 0;
    }
    section.top-ranking ul.product-list.flex li:first-child p.product-price {
        padding: 0;
    }

    /*実店舗のご案内*/
    section.top-guide .flex {
        display: block;
    }
    section.top-guide .box-left {
        width: 100%;
        padding: 20px 25px;
    }
    section.top-guide dl:first-of-type {
        margin-top: 1em;
    }
    section.top-guide dl {
        display: block;
    }
    section.top-guide dl dt {
        font-weight: bold;
        padding: .8em 0 0;
    }
    section.top-guide dl dd {
        width: 100%;
        padding: 0 0 .8em;
    }
    section.top-guide .box-right {
        width: 100%;
        height: 100%;
        display: block;
    }
    section.top-guide .gmap {
        padding-bottom: 95%;
    }

    /*新着情報*/
    section.top-news li.flex {
        display: block;
    }
    section.top-news p.date {
        text-align: left;
        padding: .7em 0 0;
        font-size: 16px;
    }
    .top-news li.flex > div {
        padding: 0 0 .7em;
    }
    section.top-news h3.news-title {
        font-size: 16px;
        line-height: 1.4;
    }
    section.top-news li.flex:first-child {
        border-top: 1px dotted #989898;
    }
    /*よくあるご質問*/
    .fs-c-documentArticle + .fs-c-documentArticle {
        margin-top: 50px;
    }
    #faq>ul.flex {
        display: block;
        margin: 30px auto 50px;
    }
    #faq>ul.flex li {
        width: 100%;
        margin: 10px 0;
    }
    #faq>ul.flex li a {
        height: 60px;
        padding: 10px 30px 10px 15px;
    }
    #faq>ul.flex li a::after {
        width: 15px;
        height: 15px;
        top: calc(50% - 13px);
        right: 22px;
    }
    #faq dt {
        font-size: 16px;
        padding: 19px 43px;
    }
    #faq dt::before {
        width: 25px;
        height: 25px;
        left: 9px;
    }
    #faq dt p::before {
        width: 25px;
        height: 1px;
        top: 50%;
        right: 9px;
    }
    #faq dt p::after {
        width: 1px;
        height: 25px;
        top: calc(50% - 12.5px);
        right: 21px;
    }
    #faq dd {
        padding: 14px 15px 14px 43px;
    }
    #faq dd::before {
        width: 25px;
        height: 25px;
        top: 14px;
        left: 10px;
    }

    /*商品詳細*/
    .fs-c-productCarouselMainImage div#fs_productCarouselMainImage {
        padding: 19px;
    }
    body#fs_ProductDetails .fs-c-slick .slick-prev, body#fs_ProductDetails .fs-c-slick .slick-next {
        height: 35px;
        width: 35px;
    }
    body#fs_ProductDetails .fs-c-slick .slick-prev:before {
        transform: rotate(-45deg) translate(9px,9px);
    }
    body#fs_ProductDetails .fs-c-slick .slick-next:before {
        transform: rotate(45deg) translate(3px,-3px);
    }
    .fs-c-slick .slick-slide img {
        max-height: 100vh;
        min-height: auto;
    }
    .fs-c-slick .slick-slide figure.fs-c-productCarouselMainImage__image img{
        max-width: calc(100vw - 38px - 6.4vw);
    }
    .fs-l-main {
        margin: 8px auto;
    }
    .fs-l-productLayout__item.fs-l-productLayout__item--2 {
        padding: 30px 15px;
    }
    table.upper-table * {
        display: block;
    }
    table.upper-table th {
        border: 0;
        padding: 10px 15px;
    }
    table.upper-table td {
        border-top: 0;
        border-left: 1px solid #cbcbcb;
        padding: 15px;
    }
    .delivery .delivery-inner, .gift .gift-inner, .lower-comment .cool, .carriage_info {
        padding: 20px 15px;
    }
    dl.fs-c-productSelection {
        padding: 0 20px 20px;
    }
    .cart-bg {
        padding: 30px 15px 22px;
    }
    span.fs-c-productQuantityAndWishlist__quantity.fs-c-quantity.fs-system-assistTarget::before {
        margin-left: 5px;
    }
    .fs-c-button--primary {
        width: 100%;
    }
    .fs-c-productCarouselMainImage__thumbnailList > li, .fs-c-productThumbnail__image {
        flex-basis: 81px;
        margin: 0 10px 10px 0;
    }
    .fs-c-productCarouselMainImage__thumbnailList, .fs-c-productThumbnail {
        margin-right: -10px;
    }
    /*商品一覧*/
    .fs-c-productList__list {
        margin: 0 -6.5px;
    }
    
    .fs-c-sortItems__list__item__label {
    padding: 2px 10px;
    }
    
    .fs-c-button--plain.fs-c-button--addToCart--list::before, .fs-c-button--plain.fs-c-button--viewProductDetail::before,.fs-c-productListItem__control .fs-c-button--particular.fs-c-button--addToWishList--icon::before, .fs-c-productListItem__control .fs-c-button--particular.fs-c-button--removeFromWishList--icon::before {
        display: none;
    }
    .fs-c-productListItem__prices.fs-c-productPrices, .fs-c-productList .fs-c-productPrice__addon {
        font-size: 11px;
    }
    .fs-c-productListItem__control .fs-c-button--plain {
        font-size: 16px;
    }
    article.fs-c-productList__list__item.fs-c-productListItem {
        padding: 15px 6.5px 20px;
    }
    .fs-c-subgroupList__item {
        flex-basis: calc(33.333% - 13px);
    }

    /*レビュー一覧*/
    .fs-p-announcement {
        margin: 20px 0 50px;
    }

    /*新規会員登録*/
    body#fs_Register .regist {
        margin-bottom: 50px;
    }
    section.regist-coupon + section.regist-coupon {
        margin-bottom: 50px;
    }
    section.regist-coupon ul.flex.row2 {
        max-width: 498px;
        margin: 0 auto;
    }
    section.regist-coupon ul.flex.row2 li {
        width: 100%;
    }
    ul.regist-list li {
        text-indent: calc(-26px - 1em);
        padding-left: calc(26px + 1em);
        line-height: 1.57;
    }
    ul.regist-list li + li {
        margin-top: 10px;
    }
    body#fs_Register .fs-c-inputInformation__message {
        font-size: 16px;
    }
    /*当店について*/
    .about p.image {
        margin: 0 auto 1em;
        text-align: center;
    }
    .about p {
        margin-bottom: 1em;
    }
    table.site-table * {
        display: block;
    }
    table.site-table th,table.site-table td {
        width: 100%;
        padding: 21px 15px;
        white-space: inherit;
    }
    .fs-c-documentColumn__content.flex {
        display: block;
    }
    .about .fs-c-documentColumn__content.flex table {
        margin: 0 auto 30px;
        width: 100%;
    }
    .about .fs-c-documentColumn__content.flex > div {
        width: 100%;
    }
    /*食べ比べ*/
    body#fs_ProductCategory.fs-body-category-tabekurabe h1.fs-c-heading.fs-c-heading--page,body#fs_ProductCategory.fs-body-category-gift h1.fs-c-heading.fs-c-heading--page {
        height: 250px;
        background-size: cover;
    }
    section.cate-comment .inner {
        display: block;
    }
    section.cate-comment .inner> .image {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }
    section.cate-comment .inner>div {
        width: 100%;
        margin: 1em auto 1.5em;
    }
    section.pop-sec .inner {
        display: block;
        padding: 30px 20px;
    }
    section.pop-sec .image {
        width: 100%;
    }
    section.pop-sec .image img {
        width: auto;
        margin: 0 auto;
    }
    section.pop-sec .inner>div {
        width: 100%;
        margin: 0 auto;
        padding: 20px 0 0;
    }
    section.pop-sec h2 {
        font-size: 26px;
    }
    section.pop-sec h3.bold {
        font-size: 20px;
    }
    .cate_comment_1 section.wborder-bg {
        margin: 50px auto;
        background-size: contain;
    }
    section.wborder-bg > .inner {
        padding: 0 10px 40px;
    }
    section.wborder-bg h2.center {
        font-size: 20px;
    }
    section.wborder-bg h2.center>span {
        padding: 0 .2em;
    }
    section.wborder-bg h2.center span span {
        font-size: 28px;
        line-height: 1;
    }
    section.wborder-bg ul.flex.row3 {
        display: block;
    }
    section.wborder-bg ul.flex.row3 li {
        width: 100%;
        margin: 10px auto;
    }
    section.wborder-bg h3.cate_name {
        font-size: 18px;
    }
    section.wborder-bg .lead_txt .image {
        margin: 0 auto;
    }
    section.wborder-bg section.sec-select {
        padding: 0 3.2vw 30px;
    }
    section.wborder-bg section.sec-select .clearfix h3 {
        font-size: 18px;
    }
    section.sec-select ul.flex.row5 {
        margin: -5px;
    }
    section.sec-select ul.flex.row5 >* {
        width: calc(50% - 10px);
        margin: 5px;
    }
    section.sec-select ul.flex.row5 >* .image {
        padding: 10px 10px 0;
    }
    section.sec-select ul.flex.row5 >* h4.cate_name {
        font-size: 16px;
    }
    section.wborder-bg section.sec-select .clearfix .image {
        margin: 0 auto .2em;
    }
    .cate_comment_1 .fs-c-documentArticle ul.flex {
        display: block;
    }
    .cate_comment_1 .fs-c-documentArticle ul.flex li {
        width: 100%;
        margin: 10px 0;
        padding: 20px 20px 30px;
    }
    .cate_comment_1 .fs-c-documentArticle ul.flex li p.image.float-r {
        max-width: 200px;
        width: 50%;
        margin: 0 auto 1em;
    }
    .cate_comment_1 .fs-c-documentArticle ul.flex li h3 {
        font-size: 20px;
        text-align: center;
    }
    /*ギフト*/
    section.cate-comment h3 {
        font-size: 22px;
        text-align: center;
    }
    section.pop-sec.pop-gift p.image {
        width: 100%;
        min-height: 100px;
        margin: -31px 0 0 -21px;
    }
    section.pop-sec.pop-gift p.image img {
        width: 100%;
        min-height: 100px;
    }
    section.pop-sec.pop-gift ul.flex.row_image {
        padding: 0 10px 30px;
        flex-wrap: wrap;
    }
    section.pop-sec.pop-gift ul.flex.row_image li.image {
        width: 25%;
    }
    section.wborder-bg ul.flex.row3.ranking li+li {
        margin-top: 30px;
    }
    section.wborder-bg ul.ranking li::before {
        margin: 5px auto 8px;
    }
    section.wborder-bg ul.ranking li a {
        height: auto;
    }
    section.wborder-bg section.sec-select .row4 {
        margin: -4px;
    }
    section.wborder-bg section.sec-select .row4 li {
        width: calc(50% - 8px);
        margin: 4px;
        padding: 8px 8px 12px;
    }
}
@media screen and (max-width:599px) {
    .fs-c-productList__controller > .fs-c-sortItems {
        flex-wrap: wrap;
    }
    .fs-c-coordinationList__controller > *, .fs-c-staffList__controller > * {
        margin-top: 0;
    }
    .fs-c-productList__controller >.fs-c-listControl {
        margin-top: 0;
    }
    .fs-c-pagination {
        margin-top: 0;
    }
    .fs-c-productList__controller {
        padding: 0 15px;
    }
    .fs-c-subgroupList__item {
        flex-basis: calc(50% - 13px);
    }
    a.fs-c-subgroupList__link {
        font-size: 16px;
        height: 60px;
        padding: 8px;
    }

    article.news_content_area ul.news_list p.image {
        height: 70vw;
    }

    /*最近見た商品*/
    #fs-recommend--flick_history li.rcmd-slick-slide {
        padding: 0 5px;
    }
    div#fs-recommend--flick_history .rcmd-slick-list.draggable {
        margin: 0 auto;
    }

    /*ヘッダーピックアップ　切り落とし*/

    .picup_inner.pickup_kiriotoshi {
    display: flex;
    justify-content: space-between;
}

.picup_inner.pickup_kiriotoshi a.fs-pt-column__item {
    width: 48%;
}

.picup_inner.pickup_kiriotoshi span.fs-pt-column__image {
    width: 100%;
}

}

@media screen and (max-width:600px) {
    section.top-category a:hover img, .product-list a:hover img {
        transform: scale(1);
    }
}