@charset "utf-8";
@media screen and (max-width:1199px) {
  section.top-reco,section.top-use {
    background-size: 40%;
  }
  .fs-l-sideArea + .fs-l-pageMain, .fs-l-pageMain + .fs-l-sideArea {
    margin: 0 auto;
  }
  /*新規会員登録*/
  section.regist li.col >div h2.regist-ttl {
      font-size: 16px;
  }
}
@media screen and (max-width:959px) {
  .menu-box-area {
    display: none;
  }
 /*用途から探す*/
 .image .img_txt span {
  font-size: 19px;
  }

  .use-border {
    padding: 5px;
  }

    p.use_text {
      padding: 15px 0;
  }

  section.top_use ul li {
    margin-bottom: 30px;
  }

  /*TOP価格帯*/
  section.top_price_zone {
    padding: 0;
  }

  /*商品詳細*/
  .fs-l-productLayout__item.fs-l-productLayout__item--2 {
    max-width: 590px;
    width: 100%;
    margin: 0 auto;
  }

  button.fs-c-button--addToCart--detail.fs-c-button--primary {
    width: 100%;
  }

  .fs-c-productCarouselMainImage__thumbnailList, .fs-c-productThumbnail {
    flex-wrap: nowrap;
  }

  /*新規会員登録*/
  section.regist ul.row.row-cols-1.row-cols-lg-3 {
    max-width: 630px;
    margin: 0 auto;
  }
  section.regist li.col >div h2.regist-ttl {
    font-size: 20px;
  }
}

@media screen and (max-width:767px) {
  /**********************
  共通スタイル
  **********************/
  section.top-reco,section.top-use {
    background-size: 70%;
  }
  body#fs_Top .fs-l-pageMain>section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  /*見出し*/
  h2.top_title {
    font-size: 1.75em;
  }
  h3.top-title {
    font-size: 1.25em;
    padding-bottom: 13px;
    margin-top: 32px;
  }
  h1.fs-c-heading.fs-c-heading--page {
    font-size: 1.75em;
  }
  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: 1.25em;
}
  .sub-ttl > p {
    right: 0;
  }

  /*商品系*/
  ul.product-list li {
    max-width: 400px;
  }

  ul.product-list li p.image {
      text-align: center;
  }

  ul.product-list li:first-child {
      margin: 0 auto;
  }

  /*おすすめ商品バナー*/
  .featured_bnr .bnr_list {
      max-width: 382px;
      margin: 0 auto;
  }

  section.featured_bnr li.col + li {
      margin-left: 0;
      border-top: 0;
  }

  /*ランキング*/
  section.top-ranking.top-bg::after,section.top-category h2 + section::after {
    display: none;
  }
  .top-ranking ul.tab-area {
    display: inline-flex;
  }

  .top-ranking ul.tab-area li.tab {
      height: 50px;
      width: 120px;
  }

  .top-ranking ul.tab-area li.tab.is-active {
      height: 51px;
  }

  .top-ranking .product-list li:not(:first-child) {
    margin-top: 40px;
  }

  /*カテゴリーから選ぶ*/
  .sub-ttl>p a {
    font-size: 12px;
  }
  section.top-category ul li h3 {
    min-height: 70px;
    height: 100%;
    padding: 0 10px;
    font-size: 1em;
    width: 40%;
    align-items: center;
    justify-content: center;
    display: flex;
  }
  section.top-category ul li {
    margin-bottom: 5px;
    display: flex;
  }
  section.top-category ul li:last-child {
    margin-bottom: 0px;
  }
  section.top-category .product-list li a {
    padding-bottom: 0;
  }
  .category-list li:nth-last-child(-n + 3):not(:last-child) {
    margin-bottom: 5px;
  }
    .category-list li p img {
    min-width: 175px;
  }
  .category-list p.image.image-zoom {
      width: 60%;
      display: flex;
      align-items: center;
      justify-content: center;
  }

  /*用途から探す*/
  section.top_price_zone li {
    margin-bottom: 10px;
  }

  .top_gift_bnr a {
      margin: 15px 5px 0;
  }

  section.top_price_zone li {
    margin-bottom: 10px;
  }

  .top_gift_bnr a {
      margin: 15px 5px 0;
  }

  .top_gift_bnr h3.top-gift-ttl {
      font-size: 20px;
      left: 16px;
      flex-direction: column;
      align-items: baseline;
      justify-content: center;
      margin: 0;
  }

  .top_gift_bnr h3.top-gift-ttl span {
      font-size: 14px;
      margin-left: 14px;
      margin-top: 5px;
  }

  section.top_price_zone li a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    height: 100%;
    padding-left: 4px;
    padding-right: 4px;
  }

  /*寺子屋本舗とは*/
  section.top_terakoya {
    background-position: left center;
  }

  /*お知らせ*/
  section.top-news.top-bg::after {
    width: 35vw;
    height: 35vw;
    bottom: -17vw;
    left: -4vw;
  }
  section.top-news ul {
      margin-left: 0;
  }


  /*新着・ブログ詳細*/
  article.f-article {
    padding: 20px 3.2vw 30px;
  }

  /*贈り物ガイド*/
  .guide-gift>section + section {
    margin-top: 50px;
}

section.guide-gift-top::before {
    position: static;
    width: 100%;
    height: 60vw;
    margin: 0 auto;
}

h2.guide-gift-ttl.mincho {
    font-size: 20px;
    text-align: center;
}

section.guide-gift-top .left {
    min-width: unset;
}

section.guide-gift-top .image {
    padding: 0 10px;
    text-align: center;
}

section.guide-gift-top .right {
    margin-top: 30px;
    justify-content: center;
}

p.image.gift-image-ttl {
    width: 100%;
    padding: 10px;
    margin-bottom: 20px;
}

#guide-gift1 section.guide-gift-cnt .right {
    width: 100%;
}

section.guide-gift-sub ul {
    padding: 20px 25px;
}

section.guide-gift-sub ul li.col-12 {
    margin: 0 auto 30px;
}

section#guide-gift3 .image {
    text-align: center;
}

.guide-gift-mnr dd {
    padding: 15px 10px 30px;
}

#guide-gift1 section.guide-gift-cnt {
    padding: 30px 10px;
}

h3.guide-gift-ttl.d-inline-block {
    font-size: 18px;
}

.guide-gift-mnr .d-md-flex > div.center {
    margin: 1em auto;
}

.guide_gift_bnr h3.guide-gift-ttl {
  font-size: 20px;
  left: 35px;
}

/*杵つき金ごま*/
h2.g-goma-ttl {
  font-size: 24px;
  margin: 20px auto;
}

.g-goma .container > *:not(h2) {
  width: calc(100% - 20px);
}

.g-goma-cnt {
  padding: 25px 15px;
  margin-bottom: 68px;
}

.g-goma ul.row li {
  margin-bottom: 30px;
}

/*会社概要*/
section.corporate-sub table td + td {
  text-align: left;
  border-left: 0;
}

section#corporate1 {
  margin-top: 45px;
}

.corporate > section {
  margin-bottom: 50px;
}

h4.corpo-ttl {
  font-size: 20px;
  margin-bottom: 0;
}

#corporate1 p.image {
  text-align: center;
  margin-top: 2em;
  margin-bottom: 2em;
}

.youtube-cnt {
  margin-top: 2em;
}

.corporate .btn a, #faq .btn a {
  padding: 0 15px;
}


/*CMS*/
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}

section.store-list h2.store-list-ttl {
  font-size: 25px;
}

section.store-list ul#anchor-list li {
  flex-basis: calc(100% / 4);
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}

}

@media screen and (max-width:599px) {
  .fs-body-top a:hover .image-zoom img {
    transform: scale(1);
  }
  /*お知らせ*/
  h2.news_ttl {
    padding: 0 8vw;
  }

/*商品一覧*/
.fs-c-productListItem__control .fs-c-button--plain {
    min-width: 100%;
    padding: 0;
}

.fs-c-button--plain.fs-c-button--addToCart--list::before {
    display: none;
}

.fs-c-button--plain.fs-c-button--viewProductDetail::before {
    display: none;
}

.fs-c-productListItem__control.fs-c-buttonContainer form {
  width: 100%;
}

.fs-c-productListItem__control .fs-c-button--plain span {display: block;width: 100%;}

  /*お気に入り*/
.fs-c-button--particular.fs-c-button--addToWishList--icon::before, .fs-c-button--particular.fs-c-button--removeFromWishList--icon::before {
  font-size: 12px;
  right: 5px;
}

.fs-c-productList .fs-c-productName__copy, .fs-c-productList .fs-c-productName__name, .fs-c-productList .fs-c-productName__variation, .fs-c-productListItem__prices.fs-c-productPrices, .fs-c-productList .fs-c-productPrice__addon, .fs-c-productList__list article.fs-c-productList__list__item, .fs-c-productListItem__control .fs-c-button--particular.fs-c-button--addToWishList--icon .fs-c-button__label, .fs-c-productListItem__control .fs-c-button--particular.fs-c-button--removeFromWishList--icon .fs-c-button__label, .fs-c-pagination__item, table, .fs-c-productListItem__control, .fs-c-productNumber, .fs-c-productPointDisplay, button.fs-c-button--inquiryAboutProduct.fs-c-button--plain, p.dtl_shopping, .fs-c-button--plain, .fs-c-returnedSpecialContract {
  font-size: 12px;
}

  /*商品詳細*/
  .fs-c-productCarouselMainImage__image > img {
    max-width: calc(100vw - 3.2vw*2);
  }
  section.dtl-graph .right.flex-wrap p {
    width: calc(50% - 4px);
    margin: 4px 0;
    border-radius: 8px;
  }

  .dtl .row.row-cols-1.row-cols-xl-2 {
      padding: 0;
  }

  section.dtl-graph li {
      background-color: transparent;
      padding: 10px 0;
  }

  .dtl .row.row-cols-1.row-cols-xl-2 .col:nth-child(1) {
      padding-left: 5px;
  }

  li.d-flex.graph03 {
      align-items: flex-start;
  }

  section.dtl-comment-box {
      padding: 20px 20px 35px;
  }

  /*新規会員登録*/
  section.regist p.txt.mincho.center {
    font-size: 22px;
    margin: 30px auto 20px;
  }
  section.regist li.col >div h2.regist-ttl {
    font-size: 16px;
  }

  section.store-list p.image.right {
    float: none;
    width: auto;
    text-align: center;
    margin-left: 0;
  }

  section.store-list h2.store-list-ttl {
      text-align: center;
  }

  section.store-list ul#anchor-list li {
      flex-basis: calc(100% / 3);
      min-width: 100px;
  }

  section.store-list li.btn.btn-border a {
    padding: 0 15px;
  }

  h3.store-list-ttl {
      font-size: 16px;
  }

  article.news_content_area ul.row {
      margin-bottom: 15px;
  }

  section.store-list ul#anchor-list li a::after {
      right: 12px;
  }
  article.news_content_area ul.row .image-border {
    padding: 4px;
  }

  /*贈り物ガイド*/
  .guide_gift_bnr h3.guide-gift-ttl {
    font-size: 18px;
    position: static;
    left: 0;
    margin: 1em auto calc(1em - 8px);
    padding: 0 .5em;
  }
  .guide-gift ul.row.row-cols-2 li {
    padding: 5px;
  }

  .category-list p.image.image-zoom,section.top-category ul li h3 {
    width: 50%;
  }

  /*お問い合わせ*/
  .fs-l-pageMain .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
  }
}

@media screen and (max-width:450px) {
  .fs-c-productMarks .fs-c-productMark__mark img {
    max-height: 25px;
  }
}
@media screen and (max-width:320px) {
  /*新規会員登録*/
  section.regist li.col >div h2.regist-ttl {
    font-size: 13px;
  }
  section.regist li.col >div p.txt {
    font-size: 12px;
  }
}