@charset "utf-8";
@media screen and (max-width:767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
/********************************
共通
********************************/
  body, input, textarea, select {
    font-size: 14px;
  }
  .fs-l-page {
    overflow: hidden;
 }
 header.fs-l-header {
    padding: 0;
  }
  h1.fs-c-heading.fs-c-heading--page {
    font-size: 26px;
    padding: 0 0px 15px 0px;
    margin-bottom: 5%;
    font-weight: 400;
  }
  h2.fs-c-documentArticle__heading,h2.fs-c-subSection__title,.fs-p-announcement__title {
    font-size: 22px;
    padding: 0 0 10px 0;
    margin-bottom: 5%;
    font-weight: 400;
  }
  h2.fs-c-documentColumn__heading,h3.fs-c-documentColumn__heading,h3.fs-c-subSection__title {
    font-size: 18px;
    padding: 0 0 5px 0;
    margin-bottom: 5%;
    font-weight: 400;
  }
  aside.side-drawer + section.fs-l-pageMain {
    width: 100%;
  }
  .fs-c-breadcrumb {
    width: 100%;
    padding: 0 3.2vw;
  }
  section.fs-c-documentColumn,.fs-c-explainList + section.fs-c-documentColumn {
    margin-bottom: 40px;
  }
  .fs-c-documentArticle + .fs-c-documentArticle {
    margin-top: 40px;
  }
  .fs-c-documentColumn__content {
    margin-bottom: 40px;
  }
	
	.fs-c-documentArticle, .fs-c-documentColumn__content, .fs-c-documentArticle__content {
    /*margin-bottom: 15%;*/
}
	
  /********************************
  ヘッダー
  ********************************/
	.fs-p-welcomeMsg {
    text-align: right;
}
	
  .fs-c-slick .slick-slide img {
    min-height: 300px;
    object-fit: cover;
  }
  .fs-l-header.fs-clientInfo.sp.is-ready {
    font-size: 10px;
    padding-right: 12px;
  }
  .fs-l-header__contents {
    -ms-grid-rows: auto auto;
    grid-template-rows: auto auto;
    -ms-grid-columns: 7em 1fr 7em;
    grid-template-columns: 7em 1fr 7em;
  }
  .fs-l-header .fs-p-memberInfo {
    justify-content: flex-end;
  }
  .head-sec1 {
    justify-content: center;
    background-color: #fafafa;
    font-size: 10px;
    padding: 1.5px 0;
    height: auto;
  }
  .head-sec1 p.top_title {
    min-width: 100%;
    text-align: center;
}
  section.header_fixed {
    position: relative;
    z-index: 999;
  }
  .fs-l-header, section.header_fixed.m_fixed {
    padding: 0;
  }
  .fs-p-logo, section.header_fixed.m_fixed .fs-p-logo {
    padding: 9.5px;
  }
  .fs-p-logo img, section.header_fixed.m_fixed .fs-p-logo img {
    max-height: 46px;
  }
  #hd_menubox .hd_inner {
    margin: 25px auto 30px;
    padding: 0 3.2vw;
  }
  #hd_menubox .hd_inner::before {
    display: none;
  }
	
	section.header_fixed {
    width: 100%;
}
	
  /* ヘッダメニューBOX(ハンバーガーボタン)*/
  p.menu_txt {
    line-height: 1;
    font-size: 10px;
  }
  header .hd_menu_btn {
    width: 46px;
    height: 46px;
    text-align: center;
  }
  .menu-trigger, .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: relative;
    width: 28px;
    height: 27px;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 28px;
    height: 2px;
    background-color: #101010;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 5px;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 14px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 2px;
  }
  /*  SPハンバーガーメニューオープン時 */
  .hd_menu_btn.open .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
  }
  .hd_menu_btn.open .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  .hd_menu_btn.open .menu-trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
  }
  /*メニュー内*/
  div#hd_menubox-search {
    background: #fff;
    top: 72px;
    max-width: 100%;
  }
  section.hd-search input.fs-p-searchForm__input.fs-p-inputGroup__input, section.hd-search .fs-p-searchForm__button {
    background: #fff;
  }
  #hd_menubox {
    display: none;
    width: 100vw;
    background: #fff;
    position: absolute;
    top: 65px;
    right: 0;
    left: 0;
    z-index: 999;
  }
  #hd_menubox-search > div, #hd_menubox > div {
    height: 90vh;
    -webkit-overflow-scrolling: touch;
    overflow: scroll;
  }
  ul.list_col.list_member {
    display: flex;
    justify-content: space-between;
    padding: 0 3.2vw;
    margin-bottom: 20px;
  }
  ul.list_col.list_member li {
    border: 1px solid #c9c9c9;
    border-radius: 3px;
    width: 48.6%;
    text-align: center;
  }
  ul.list_col.list_member li a {
    line-height: 48px;
  }
  h3.side-h {
    padding: 14.5px 3.2vw;
    margin: 0;
    color: #fff;
    background-color: #2d2d2d;
  }
  h4.menu_ttl {
    font-size: 1.75rem;
    padding-bottom: 18px;
    border-bottom: 1px solid;
    margin-bottom: 8px;
  }
  ul.gnavi:last-child li:last-child {
    border-bottom: 1px solid #e5e5e5;
  }
  ul.gnavi li + li {
    border-top: 1px solid #e5e5e5;
  }
  ul.gnavi_l li a, ul.gnavi li a {
    display: block;
    line-height: 50px;
    padding: 0 4vw;
    position: relative;
  }
  ul.gnavi_l li a::after, ul.gnavi li a::after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 1px solid #353535;
    border-right: 1px solid #353535;
    transform: rotate(45deg);
    top: calc(50% - 6px);
    right: 20px;
  }
  ul.gnavi li a::after {
    right: calc(3.2vw + 20px);
  }
  /*メニュー内閉じるボタン*/
  header .hd_close, footer .hd_close {
    color: #101010;
    text-align: center;
    width: 75px;
    height: 75px;
    margin: 0 auto;
    padding: 6vw 0 34vw;
  }
  header .hd_close span, footer .hd_close span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: #fff;
    width: 75px;
    height: 75px;
    font-size: 12px;
    margin: 0 auto;
  }
  header .hd_close span::before, footer .hd_close span::before {
    content: "×";
    display: inline-block;
    font-size: 50px;
    line-height: 0.6;
    margin-top: 5px;
    vertical-align: middle;
  }
  /**************************
   TOP
  **************************/
  #fs_Top .fs-l-pageMain .container-md .col, #fs_Top .fs-l-pageMain .container-md .col-sm {
    margin-bottom: 22px;
  }
	#fs_Top .fs-l-page .fs-l-main section.scene {
    margin-top: 30px;
}
	
  #fs_Top .fs-l-pageMain section {
    margin-bottom: 60px;
  }
  .top-title {
    margin-bottom: 15px;
  }
  p.serect_ttl {
    margin-top: 6px;
  }
  .top-title .title1 {
    font-size: 25px;
  }
  .top-title .title1, .top-title .title2, .top-title .title3 {
    font-size: 25px;
  }
  .choice-bean {
    padding: 70px 0 22px;
  }
  div.choice-bean {
    padding-top: 10px;
  }
  .top_ranking ul li:first-child {
    margin-bottom: 40px;
  }
  .top_ranking ul li p:first-child {
    text-align: center;
  }
  .news dt, .news dd {
    display: block;
  }
  .news .date {
    margin-bottom: 14px;
  }
  .btn {
    margin: 25px auto 0;
  }
  #fs_Top .fs-l-page .fs-l-main section.item-bnr {
    margin-bottom: 38px;
  }
  .fs-l-main {
    padding-right: 2.5%;
    padding-right: calc(constant(safe-area-inset-right) + 2.5%); /* iPhone X向け記述 */
    padding-left: 2.5%;
    padding-left: calc(constant(safe-area-inset-left) + 2.5%); /* iPhone X向け記述 */
  }
  .top_ranking {
    padding: 45px 0 30px;
  }
  #fs_Top .fs-l-pageMain section.top_ranking {
    margin-bottom: 45px;
  }
  .top_ranking ul li:before {
    margin-bottom: 15px;
  }
  section.news dl {
    display: block;
  }
  .news dt .info_news_icon, .news dt .info_item_icon {
    font-size: 12px;
    margin: 0 10px;
  }
  .news .news_text {
    font-size: 13px;
    margin-top: 10px;
  }
  /**************************
  フッター
  **************************/
  .fs-l-footer {
    background: #fff;
  }
  footer .info-area1 {
    margin: 0 auto;
  }
  footer .info-area2 .tel:before {
    width: 30px;
    height: 30px;
    background-size: contain;
    top: calc(50% - 15px);
  }
  footer .info-area2 .tel {
    padding-left: 40px;
  }
  footer .info-area2 .mail:before {
    width: 30px;
    height: 30px;
    background-size: contain;
  }
  footer .info-area1 p.address {
    margin-bottom: 30px;
  }
  footer .info-area2 .tel span {
    font-size: 13px;
    line-height: 1.38;
  }
  footer ul.foot-utility li:nth-child(3n - 2), footer ul.foot-utility li:nth-child(3n) {
    width: auto;
    margin-right: 0;
	  margin-bottom: 2%;
  }
  footer .container-md {
    padding: 52px 0 45px;
  }
  footer .foot-left {
    display: block;
    text-align: center;
  }
  footer .foot-logo {
    margin-right: 0px;
    margin-bottom: 25px;
  }
  footer .address, footer .tel, footer .mail {
    margin-bottom: 20px;
  }
  footer ul.foot-utility {
    width: 100%;
    display: flex;
    margin-left: 0px;
    margin: 15px auto 0;
    justify-content: space-evenly;
  }
  footer ul.foot-utility li {
    width: auto;
    margin-right: 0;
  }
  footer .info-area2 {
    display: grid;
    align-items: center;
    justify-content: center;
    text-align: left;
  }
  /*フッター固定*/
  div#ft_fixed .flex {
    display: flex;
    justify-content: space-between;
  }
  div#ft_fixed {
    background: #fff;
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 99;
  	padding-bottom: env(safe-area-inset-bottom);
  }
  div#ft_fixed li {
    width: 20%;
    height: 50px;
    border-top: 1px solid #e5e5e5;
  }
  div#ft_fixed li a {
    display: block;
    text-align: center;
    background-color: #fff;
    color: #202020;
    width: 100%;
    height: 100%;
    padding: 10px 0 6px;
    font-size: 10px;
  }
  div#ft_fixed li + li a {
    border-left: 1px solid #e5e5e5;
  }
  div#ft_fixed li img {
    display: block;
    max-width: 18px;
    max-height: 17px;
    margin: 0 auto 3px;
  }
  div#ft_fixed li:nth-child(3) img {
    margin-top: 3px;
  }
  /*検索*/
  section#ft_searchbox {
    display: none;
    width: 100%;
    height: calc(100vh - 50px);
    background: #fff;
    color: #202020;
    padding: 50px 11px 0;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1000;
  }
  footer .fs-p-inputGroup__button {
    background: #fff;
    top: calc(50% - 1em);
    width: 58px;
  }
  footer .fs-p-searchForm__button::before {
    content: "";
    display: block;
    width: 21px;
    height: 21px;
    background: url(../images/top/@2x/sp/icon_searchbtn.png) no-repeat;
    background-size: contain;
    margin: auto;
  }
  footer .fs-p-searchForm__input {
    padding: 8px 25px;
  }
  footer .fs-p-productSearch__search {
    max-height: 100%;
  }
  footer .fs-p-productSearch__search form.fs-p-productSearch__form {
    transform: translateY(0);
  }
  footer .fs-p-productSearch {
    padding: 0;
  }
  button.fs-p-productSearch__searchButton.fs-c-button--secondary {
    background: #880909;
    border: 1px solid #880909;
  }
  .fs-p-productSearch__searchButton::before {
    content: "";
    display: inline-block;
    background: url(../images/top/@2x/sp/icon_searchbtn.png) no-repeat center;
    background-size: contain;
    width: 25px;
    height: 25px;
    left: auto;
    right: 12px;
  }
  .fs-c-inputTable > tbody > tr + tr {
    margin-top: 30px;
  }
  .fs-p-productSearch__inputTable span.fs-c-radio {
    flex-basis: calc(50% - 18px);
  }
  .fs-c-radioGroup {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .fs-p-productSearch__searchButton {
    min-width: 11em;
  }
  footer .fs-p-productSearch {
    border-bottom: 0;
  }
  .fs-p-productSearch__form {
    padding: 0 4px;
    background: #fff;
  }
  .fs-c-inputTable__headerCell {
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
  }
  .fs-p-productSearch label {
    font-weight: bold;
    margin-bottom: 0;
  }
  .fs-p-productSearch label span {
    font-weight: 400;
    font-size: 15px;
  }
  .fs-p-productSearch [type="text"] {
    margin-top: 5px;
    height: 50px;
    border-color: #adadad;
    border-radius: 0;
  }
  .fs-p-productSearch .fs-c-inputTextGroup > * + * {
    line-height: 64.5px;
  }
  .fs-p-productSearch__searchButton {
    width: 88%;
    margin-top: 15px;
    font-size: 18px;
    line-height: 33px;
    position: relative;
  }
  .fs-c-checkboxGroup {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .fs-c-checkboxGroup > * {
    flex-basis: calc(50% - 16px);
  }
  .fs-c-checkboxGroup > * + * {
    margin-top: 0;
  }
  .fs-p-productSearch__inputTable span.fs-c-checkbox, .fs-p-productSearch__inputTable span.fs-c-radio {
    margin: 4px 0 6px 18px;
  }
  table.fs-p-productSearch__inputTable.fs-c-inputTable + table.fs-p-productSearch__inputTable.fs-c-inputTable {
    margin-top: 28px;
  }
	
	
	
	h1.fs-c-heading.fs-c-heading--page::after {
    width: 165px;
    height: 133px;
    right: -13px;
}
	
	
	
/*********************
買い物ガイド
*********************/
  .fs-c-explainList, .fs-c-explainList dt, .fs-c-explainList dd {
    display: block;
    width: 100%;
  }
  #fs_AboutTerms .fs-c-explainList, #fs_CustomPage .fs-c-explainList {
    padding: 5%;
  }
  /*ページトップ*/
  .PageTop ,.fs-p-scrollingCartButton {
    right: 3.2vw;
    margin-left: auto;
    opacity: 1;
  }
  .PageTop a:hover ,.fs-p-scrollingCartButton a:hover{
    opacity: 0.5;
  }
  
  
/*********************
商品一覧
*********************/
.fs-c-subgroupList__item {
  flex-basis: 49%;
  margin-bottom: 9px;
}
.fs-c-subgroupList__link {
  padding: 15px 10px;
}
.fs-c-sortItems {
  border: 0;
}
.fs-c-sortItems__list {
  border-left: 0;
}
article.fs-c-productList__list__item.fs-c-productListItem {
  width: 50%;
}
	

/*************************
商品詳細
**************************/
.fs-l-product2 .fs-l-productLayout > * > * {
  margin-bottom: 4px;
}

/*商品詳細サムネイル画像*/
.fs-c-productCarouselMainImage__thumbnailList {
  margin: 5px -8px 0 0;
}
.fs-c-productCarouselMainImage__thumbnailList > li {
  flex-basis: 83px;
  margin: 0 8px 8px 0;
}

/*商品詳細見出し*/
h1.fs-c-productNameHeading.fs-c-heading {
  font-size: 22px;
  padding-top: 0.48em;
}

/*商品詳細項目選択肢*/
.fs-c-productSelection__selection {
  margin-bottom: 12px;
}
dd.fs-c-productSelection__selection:nth-child(9)::before {
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1.4;
  top: -4px;
}

/*商品詳細数量*/
.fs-l-product2 .fs-l-productLayout > * > .fs-c-productQuantityAndWishlist {
  margin-top: 8px;
}

/*商品詳細お気に入りボタン*/
.fs-c-button--particular.fs-c-button--addToWishList--detail, .fs-c-button--particular.fs-c-button--removeFromWishList--detail {
  padding: 0.574em 1em 0.574em 1.5em;
}

/*商品詳細カートボタン*/
.fs-l-product2 .fs-c-productActionButton .fs-c-button--primary, .fs-l-product2 .fs-c-productActionButton .fs-c-button--secondary {
  min-width: 300px;
  height: 50px;
}

/*商品詳細バリエーションカートボタン*/
.fs-c-variationCart > li {
  -ms-grid-columns: 1fr 4em 125px;
  grid-template-columns: 1fr 4em 125px;
}
.fs-c-variationList__item__cart .fs-c-button--particular.fs-c-button--addToWishList--icon .fs-c-button__label,
.fs-c-variationList__item__cart .fs-c-button--particular.fs-c-button--removeFromWishList--icon .fs-c-button__label {
  display: none;
}

/*商品詳細独自コメント部分*/
h2.dtl_ttl {
  font-size: 20px;
  margin-top: 2em;
  margin-bottom: 0.8em;
}
body#fs_ProductDetails table tr th ,body#fs_ProductDetails table tr td {
  display: block;
  border-bottom: 0;
  padding: 10px 15px;
}
body#fs_ProductDetails table tr td {
  border-top: 0;
  padding: 14px 15px;
}
body#fs_ProductDetails table tr:last-child td {
  border-bottom: 1px solid #d9d9d9;
}


/**********************************
よくあるご質問
**********************************/
/*faqページ内リンク*/
ul.faq_navi li {
  width: 48%;
  margin-bottom: 15px;
}

/*faq本文*/
#faq .question {
  padding: 12.5px 35px 12.5px 5.3125em;
}
#faq .answer{
  padding: 12.5px 25px 2.1em 5.3125em;
  margin-bottom: 20px;
}


/***********************************
新規会員登録
***********************************/
.regist-box ,body#fs_Register ul li:nth-child(2n) .regist-box {
  margin: 0 auto 35px;
}
ul.row.row-cols-1.row-cols-md-2 {
  padding-left: calc(15px + 3.2vw);
  padding-right: 15px;
}
p.regist-ttl {
  left: -15px;
}
	
	
	.fs-c-button--particular.fs-c-button--removeFromWishList--icon{
		margin-top: 7%;
	}
	
	
}