@charset “UTF-8”;
/* ==============================================================================

CSS Information

 File name:	main.css

 Style Info:	メイン設定
 
 ※ スマフォファースト。CSSの上書きはPC側(device.css)で。

============================================================================== */
/*-------------------------------------------------------------------------------

 共通部分 / 汎用パーツ

-------------------------------------------------------------------------------*/
/* contents
-----------------------------------------------------------*/
.contents {
  clear: both;
  overflow: hidden;
  zoom: 100%;
  padding: 25px 0;
}
.contents.content_bg {
  margin-bottom: 75px;
  padding: 80px 0;
  background: #fafafa;
}
.contents.content_longseller {
  padding-top: 60px;
}
.contents_inner {
  max-width: 1190px;
  margin: 0 auto;
  padding: 0 20px;
}
.contents_inner_wide {
  max-width: 1360px;
}
.contents_inner_slim {
  max-width: 1000px;
}
.contents_inner_min {
  max-width: 840px;
}
.contents.content_howto_navi {
  padding-bottom: 0;
}
.fs-body-top .contents_inner {
  max-width: 1000px;
}
.fs-body-top .content_ranking .contents_inner {
  max-width: 1190px;
  padding-bottom: 40px;
}
/* 見出し
-----------------------------------------------------------*/
.title_block {
  margin-bottom: 35px;
  text-align: center;
}
.title_block h2 > em {
  display: block;
  margin-bottom: 15px;
  padding-left: 0.18em;
  font-size: 1.5rem;
  font-weight: normal;
  letter-spacing: 0.18em;
}
.content_tenohira .title_block h2 > em,
.content_tenohira_gr .title_block h2 > em {
  padding-top: 55px;
  padding-left: 1.1em;
  padding-right: 1em;
  background: url(../product/tenohirad_icon02.svg) 50% 0% no-repeat;
  background-size: 22px auto;
  font-size: 1.125rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  line-height: 2;
  letter-spacing: 0.1em;
}
.content_tenohira_gr .title_block h2 > em {
  background-image: url(../product/tenohirad_icon03.svg);
  color: #50773f;
}
.content_tenohira .title_block h2 > em span,
.content_tenohira_gr .title_block h2 > em span {
  display: inline-block;
}
.title_block h2 > span {
  display: block;
  margin-top: 8px;
  font-size: 0.875rem;
}
.title_block h3 em {
  display: block;
  margin-bottom: 15px;
  padding-left: 0.18em;
  font-size: 1.5rem;
  font-weight: normal;
  letter-spacing: 0.18em;
}
.title_block h3 .case_num {
  display: block;
  margin-bottom: 30px;
  font-size: 0.875rem;
}
.title_block p {
  font-size: 0.875rem;
  line-height: 1.8;
}
.title_block .txt {
  max-width: 540px;
  margin: 30px auto 0;
  padding: 0 20px;
  text-align: left;
}
.title_block .txt02 {
  max-width: 640px;
  margin: 30px auto 0;
  padding: 0 20px;
  font-size: 0.8125rem;
  line-height: 2.3;
  text-align: left;
}

/* category title */
.content_cate_title .contents_inner {
  max-width: 100%;
}
.content_cate_title img {
  width: 100%;
}
.cate_title_block {
  max-width: 100%;
  margin: 0 auto 35px;
  padding: 0 20px;
}
.cate_title_block h2 em {
  display: block;
  margin-bottom: 15px;
  font-size: 1.75rem;
  font-weight: normal;
  letter-spacing: 0.12em;
}
.cate_title_block h2 span {
  display: block;
  margin-top: 8px;
  font-size: 0.75rem;
  font-weight: ;
}
.content_cate_title .cate_txt {
  max-width: 540px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}
.content_cate_title .cate_txt em {
  display: block;
  margin-bottom: 10px;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  letter-spacing: 0.1em;
}
.content_cate_title .cate_txt p {
  display: inline-block;
  margin-top: 50px;
  font-size: 0.875rem;
  text-align: left;
  line-height: 2;
}
/* tenohira tiel */
.content_tenohira_title .tenohira_video_wrap {
  overflow: hidden;
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 62%;
}
.contents.content_tenohira_title02 {
  padding: 25px 20px 50px;
}
.content_tenohira_title02 .tenohira_video_wrap {
  overflow: hidden;
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 62%;
}

.content_tenohira_title .tenohira_video_wrap video,
.content_tenohira_title .tenohira_video_wrap img,
.content_tenohira_title02 .tenohira_video_wrap video,
.content_tenohira_title02 .tenohira_video_wrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 110%;
  height: auto;
  margin-left: -5%;
}

.tenohira_logo_block {
  margin-bottom: 50px;
  text-align: center;
}
.tenohira_logo_block img {
  max-width: 40%;
  width: 200px;
}
.tenohira_logo_block02 {
  margin-bottom: 60px;
  text-align: center;
}
.tenohira_logo_block02 img {
  max-width: 40%;
  width: 145px;
  padding-right: 12px;
}
.tenohira_logo_block02 h2 {
  margin: 20px 0 40px;
  padding-left: 0.2em;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  letter-spacing: 0.2em;
}
.content_tenohira_title02 .tenohira_txt .catch {
  padding-left: 0.1em;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  text-align: center;
  line-height: 2.4;
  letter-spacing: 0.1em;
}
.content_tenohira_title02 .tenohira_txt .catch p {
  display: inline-block;
  max-width: 360px;
  margin: 0;
  text-align: left;
}
.content_tenohira_title02 .tenohira_txt .catch span {
  display: block;
}
.content_tenohira_title02 .tenohira_txt {
  max-width: 590px;
  margin: 40px auto 0;
  padding: 0 20px;
}
.content_tenohira_title02 .tenohira_txt > p {
  margin: 30px 0 0;
  font-size: 0.875rem;
  line-height: 2.1;
}

/* title min */
.title_min {
  margin-bottom: 40px;
  font-size: 1.25rem;
  font-weight: 500;
}
.title_min_center {
  margin-bottom: 30px;
  font-size: 1.25rem;
  font-weight: 500;
  text-align: center;
}
.title_min_recipi {
  position: relative;
  margin-bottom: 20px;
  padding-left: 23px;
  color: #5e835e;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.06em;
}
.title_min_recipi span::before {
  position: absolute;
  content: "";
  top: 49%;
  left: 0;
  width: 16px;
  height: 1px;
  background: #5e835e;
}

/* txt
-----------------------------------------------------------*/
.txt_block,
.txt_block_center {
  max-width: 680px;
  margin: 0 auto;
}
.txt_block p {
  display: inline-block;
  font-size: 0.875rem;
  text-align: left;
  line-height: 2;
}
.txt_block_center p {
  display: inline-block;
  font-size: 0.875rem;
  line-height: 2;
}
/* link btn
-----------------------------------------------------------*/
.more_link {
  margin: 10px 0 30px;
  text-align: right;
}
.more_link.open_win a {
  display: inline-block;
  overflow: hidden;
  padding-right: 26px;
  background: url(../common/icon_openwin.svg) 100% 50% no-repeat;
  background-size: 16px auto;
  text-decoration: none;
}
.navi_block .open_win {
  padding-right: 18px;
  background: url(../common/icon_openwin.svg) 100% 50% no-repeat;
  background-size: 13px auto;
  text-decoration: none;
}
.navi_block a:hover .open_win,
.more_link.open_win a:hover {
  color: #333;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
/* dark gray btn */
.btn {
  margin: 20px 20px;
}
.btn a {
  position: relative;
  display: block;
  max-width: 440px;
  margin: 0 auto;
  padding: 12px 16px;
  background: #555;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  color: #fff;
  text-align: center;
  text-decoration: none;
}
.btn_gr a {
  background: #4c6f50;
}
.btn a::before {
  position: absolute;
  content: "";
  top: calc(50% - 5px);
  right: 10px;
  width: 16px;
  height: 9px;
  background-image: url(../common/icon_ku_up.svg);
  background-size: cover;
  transform: rotate(90deg);
}
.btn.under a::before {
  transform: rotate(180deg);
}
.btn a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
/* light gray */
.btn.btn_logout a {
  background: #dddddd;
  color: #333;
}
.btn.btn_logout a::before {
  content: none;
}
/* floating btn */
.flbtn_itemlist {
  position: fixed;
  z-index: 9999999;
  width: 100%;
  bottom: 20px;
}
.flbtn_itemlist p {
  position: relative;
  margin: 0 auto;
  padding: 0 20px;
}
.flbtn_itemlist p a {
  position: absolute;
  display: inline-block;
  right: 0;
  bottom: 0;
  width: 80px;
  height: 80px;
  margin-right: 20px;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  border-radius: 50%;
  background: #000;
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
  text-decoration: none;
  line-height: 80px;
}
.flbtn_itemlist p a:hover {
  background: #666;
}
/* narrow search
----------------------------------------------------------- */

.narrow_search_area {
  position: relative;
  margin-bottom: 10px;
  text-align: center;
}

.narrow_search_area .narrow_btn {
  display: inline-block;
  width: 190px;
  padding: 10px;
  background: #666;
  color: #fff;
  font-size: 0.875rem;
}
.narrow_search_area .narrow_btn:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

/* modal */

.narrow_search_area .vibtn {
  position: absolute;
  visibility: hidden;
}

.modal_layer {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999995;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.modal_close_layer {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

.narrow_content {
  position: relative;
  align-self: center;
  width: 80%;
  max-width: 720px;
  max-height: 85%;
  overflow-y: auto;
  padding: 20px 20px;
  box-sizing: border-box;
  background: #fff;
  transform: scale(0.3);
  transition: 0.5s;
}

.vibtn:checked + .modal_layer {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.vibtn:checked + .modal_layer .narrow_content {
  transform: scale(1);
}

.modal_close_btn {
  position: fixed;
  cursor: pointer;
  top: 10px;
  right: 20px;
  color: #999;
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
}

/* narrow content */

.narrow_content h2 {
  margin-bottom: 30px;
}

.narrow_list {
  text-align: left;
}
.narrow_list dt {
  margin-bottom: 8px;
  color: #666;
  font-size: 0.75rem;
}
.narrow_list dd {
  margin-bottom: 20px;
  font-size: 0.875rem;
}
.narrow_list dd label {
  display: inline-block;
  margin-bottom: 8px;
  padding-right: 20px;
}

/* radio */
.narrow_list dd span {
  position: relative;
  display: inline-block;
  padding-left: 30px;
}
.narrow_list dd span::before,
.narrow_list dd span::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
.narrow_list dd span::before {
  background: #fff;
  border: 2px solid #707070;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 0px;
}
.narrow_list dd span::after {
  background: #707070;
  border-radius: 50%;
  opacity: 0;
  width: 14px;
  height: 14px;
  left: 5px;
}

.narrow_list dd input:checked + span::after {
  opacity: 1;
}

.narrow_list dd input[type="radio"] {
  position: absolute;
  overflow: hidden;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

/* btn */

.narrow_form_btn {
  margin: 30px -6px 5px;
}
.narrow_form_btn button {
  cursor: pointer;
  width: 220px;
  max-width: 48%;
  margin: 0 2px;
  padding: 12px 0;
  outline: none;
  border: none;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  box-sizing: border-box;
  background: transparent;
  background: #888;
  appearance: none;
  color: #fff;
  font-size: 0.875rem;
}
.narrow_form_btn button.submit {
  background: #4c6f50;
}
.narrow_form_btn button:hover {
  opacity: 0.7;
}

@media only screen and (min-width: 768px) {
  .narrow_search_area {
    margin-bottom: 0;
  }
  .narrow_search_area .narrow_btn {
    position: absolute;
    right: 0;
    bottom: -54px;
  }
  .narrow_content {
    padding: 30px 30px;
  }
  .narrow_form_btn button {
    margin: 0 8px;
  }
}

/* item_list
----------------------------------------------------------- */
.item_list {
  margin: 0 -10px;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
.item_list > li {
  position: relative;
  flex-grow: 0;
  width: 100%;
}
/* 5分割 */
.item_list05 > li {
  width: 50%;
}
.item_list > li > div {
  margin: 0 10px 20px;
}
.item_list_new > li > div {
  margin: 0 10px 40px;
}
.item_list a {
  position: relative;
  display: block;
  text-decoration: none;
}
.item_list .thumb {
  position: relative;
  display: block;
  font-style: normal;
  text-align: center;
}
/* txt装飾 */
.item_list em {
  display: block;
  padding-left: 0.12em;
  font-size: 1.375rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.12em;
}
.item_list span {
  font-size: 0.8125rem;
}
.item_list span.price {
  padding: 0;
  font-size: 1.125rem;
}
.item_list span.price span {
  padding-left: 8px;
  font-size: 0.75rem;
}
.item_list b {
  display: block;
  font-weight: normal;
}
.item_list b.name {
  margin-bottom: 10px;
  font-size: 0.8125rem;
}
/* 共通 : txt wrapp */
.item_list .txt {
  margin: 0;
  padding: 30px 30px 50px;
}
.item_list .txt em {
  margin-bottom: 15px;
}
.item_list .on_txt,
.item_list .on_txt_bl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  text-align: center;
}
.item_list.recipi_list .on_txt {
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 30%,
    rgba(255, 255, 255, 0.95) 100%
  );
}
.item_list .on_txt_bl {
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
}
.item_list .on_txt b,
.item_list .on_txt_bl b {
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: -1.6em;
}
.item_list.recipi_list .on_txt b {
  top: 72%;
  padding: 0 0 0 10px;
  box-sizing: border-box;
  text-align: left;
  line-height: 1.2;
}
.item_list.recipi_list .on_txt b span {
  font-size: 0.75rem;
}
.item_list .on_txt em {
  margin-bottom: 10px;
}
/* 装飾 : readmore */
.item_list_readmore > li a::after {
  position: absolute;
  content: "read more";
  right: 10px;
  bottom: 20px;
  padding-right: 36px;
  background: url(../common/icon_arrow.svg) no-repeat 100% 50%;
  background-size: 30px auto;
  letter-spacing: 0.04em;
  transition: 0.1s ease-in-out;
}
.item_list_readmore > li a:hover::after {
  right: 0px;
  padding-right: 46px;
}
/* 装飾 : arrow */
.item_list_arrow > li a::after {
  position: absolute;
  content: "";
  right: 20px;
  bottom: 20px;
  width: 20px;
  height: 9px;
  background: url(../common/icon_arrow.svg) no-repeat 100% 50%;
  background-size: 100% auto;
  transition: 0.1s ease-in-out;
}
.item_list_arrow_wh > li a::after {
  position: absolute;
  content: "";
  right: 20px;
  bottom: 20px;
  width: 20px;
  height: 9px;
  background: url(../common/icon_arrow_wh.svg) no-repeat 100% 50%;
  background-size: 100% auto;
  letter-spacing: 0.04em;
  transition: 0.1s ease-in-out;
}
.item_list_arrow > li a:hover::after,
.item_list_arrow_wh > li a:hover::after {
  right: 16px;
}
/* line up:conseptページ */
.content_lineup .item_list img {
  width: 100%;
}
/* cate */
.item_list_cate > li div {
  height: calc(100% - 20px);
  background: #fff;
  box-shadow: 0 8px 23px rgba(0, 0, 0, 0.16);
}
.item_list_cate > li div a {
  height: 100%;
}
.item_list_cate > li a::after {
  position: absolute;
  content: "商品はこちら";
  right: 25px;
  bottom: 20px;
  padding-right: 36px;
  background: url(../common/icon_arrow.svg) no-repeat 100% 50%;
  background-size: 30px auto;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  transition: 0.1s ease-in-out;
}
.item_list_cate > li a:hover::after {
  color: #333;
  right: 20px;
}
.item_list .cate_txt {
  margin: 0;
  padding: 25px 25px 70px;
  line-height: 1.6;
}
.item_list .cate_txt em {
  margin-bottom: 15px;
  font-size: 1rem;
  font-weight: 500;
}
/* cate premium */
.item_list_catepr > li {
  margin-bottom: 20px;
}
.item_list_catepr > li div {
  height: calc(100% - 20px);
}
.item_list_catepr em {
  font-size: 1.125rem;
}
.item_list_catepr > li div a {
  height: 100%;
  padding-bottom: 10px;
}
/* cate premium icon */
.item_list .premium_icon {
  position: absolute;
  display: -webkit-flex;
  display: flex;
  top: 15px;
  left: 15px;
  z-index: 99999;
}
.item_list .premium_icon li {
  width: 80px;
  padding-right: 10px;
}
.item_list .premium_icon li span {
  display: block;
  padding: 7px 2px;
  border-radius: 5px;
  background: #fff;
  font-size: 0.72rem;
  line-height: 1.4;
}
.item_list .premium_icon li span.one {
  line-height: 2.8;
}
/* making */
.making_list {
  margin-bottom: 20px;
}
.making_list > li div {
  background: #fff;
  box-shadow: 0 8px 23px rgba(0, 0, 0, 0.16);
}
.making_list > li div img {
  width: 100%;
}
.making_list .on_txt span {
  font-size: 1rem;
  font-weight: 500;
}
/* recipi */
.recipi_list {
  margin-bottom: 20px;
}
.recipi_list > li div {
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 23px rgba(0, 0, 0, 0.16);
}
.recipi_list > li div img {
  width: 100%;
}
/* ranking */
.item_list_rank > li > div {
  padding-bottom: 20px;
}

.item_list_rank {
  counter-reset: number 0;
}
.item_list_rank > li .thumb::before {
  position: absolute;
  content: "";
  counter-increment: number 1;
  content: counter(number);
  bottom: 10px;
  left: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #d3d3d3;
  color: #555;
  line-height: 40px;
  text-align: center;
  z-index: 9999;
}
.item_list_rank > li:nth-child(1) .thumb::before {
  background: #cb9911;
  color: #fff;
}
.item_list_rank > li:nth-child(2) .thumb::before {
  background: #868686;
  color: #fff;
}
.item_list_rank > li:nth-child(3) .thumb::before {
  background: #89682a;
  color: #fff;
}
.item_list_rank .thumb img {
  width: 100%;
}
/* tenohira */
.item_list_tenohira > li div {
  height: calc(100% - 20px);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 23px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
}
.item_list_tenohira > li div a {
  height: 100%;
}
.item_list .tenohira_txt {
  margin: 0;
  padding: 60px 25px 90px;
  line-height: 1.6;
}
.item_list .tenohira_txt em {
  margin-bottom: 15px;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
}
.item_list .tenohira_txt span {
  font-size: 0.875rem;
  text-align: center;
  line-height: 2;
}
.item_list .tenohira_txt span i {
  display: block;
  font-style: normal;
}

/* other list
-----------------------------------------------------------*/

/* howto */
.howto_list_center {
  justify-content: center;
}
.howto_list div {
  padding: 0 30px;
}
.howto_list .howto_txt {
  margin: 0;
  padding: 20px 15px 40px;
}
.howto_list .howto_txt .caption {
  position: relative;
  margin-bottom: 35px;
  padding-left: 0.2em;
  text-align: center;
  letter-spacing: 0.2em;
}
.howto_list .howto_txt .caption::after {
  position: absolute;
  content: "";
  left: calc(50% - 11px);
  bottom: -20px;
  width: 22px;
  height: 3px;
  background: #3e6a44;
}
.howto_flow_list div {
  position: relative;
}
.howto_flow_list .howto_txt {
  padding-bottom: 80px;
}
.howto_flow_list div::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 31px;
  left: calc(50% - 6px);
  bottom: 20px;
  background: url(../common/icon_ku_next.svg);
  background-size: cover;
  transform: rotate(90deg);
}
.howto_flow_list > li:last-child div::after {
  content: none;
}
/* mypage_list */
.mypage_list li div {
  margin: 0 0 40px;
  padding: 0 40px 20px;
  border-bottom: 1px solid #000;
}
.mypage_list li:nth-of-type(3n) div {
  border-right: none;
}
.mypage_list a {
  text-align: center;
}
.mypage_list .icon {
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto;
}
.mypage_list .rireki .icon img {
  width: 98%;
}
.mypage_list .address .icon img {
  width: 62%;
}
.mypage_list .password .icon img {
  width: 98%;
}
.mypage_list .point .icon img {
  width: 80%;
}
.mypage_list .touroku .icon img {
  width: 90%;
}
.mypage_list .card .icon img {
  width: 90%;
}
.mypage_list .wish .icon img {
  width: 90%;
}
.mypage_list .coupon .icon img {
  width: 90%;
}
.mypage_list .review .icon img {
  width: 90%;
}
.item_list.mypage_list .txt em {
  margin: 0 -40px 20px;
  font-size: 1rem;
}
.item_list.mypage_list .txt {
  padding: 20px 40px 20px;
}
.item_list.mypage_list .txt span {
  display: block;
  text-align: left;
}

/*-------------------------------------------------------------------------------

 index

-------------------------------------------------------------------------------*/
/* cover
----------------------------------------------------------- */
.cover_container {
  margin: 0 auto;
  padding: 0 20px;
}
.cover_swiper_pc,
.cover_swiper_sp {
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding-bottom: 30px;
}
.cover_swiper_pc {
  margin-bottom: 40px;
}
.cover_swiper_sp {
}
.cover_swiper_pc img,
.cover_swiper_sp img {
  width: 100%;
  height: auto;
}
.cover_container .swiper-slide {
  background: #fff;
}
.cover_container .swiper-pagination-fraction,
.cover_container .swiper-pagination-custom,
.cover_container .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0;
}
.cover_container .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #999;
  opacity: 1;
}
.cover_container .swiper-pagination-bullet-active {
  background: #50773f;
}
.cover_container .swiper-button-next.swiper-button-black {
  width: 16px;
  height: 29px;
  margin-top: -14px;
  background-image: url(../common/icon_ku_next.svg);
  background-size: cover;
}
.cover_container .swiper-button-prev.swiper-button-black {
  width: 16px;
  height: 29px;
  margin-top: -14px;
  background-image: url(../common/icon_ku_prev.svg);
  background-size: cover;
}
/* longseller
----------------------------------------------------------- */
.slide_longseller li {
  padding: 0 10px 20px;
}
.slide_longseller img {
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.16);
}
/* slick 全ページ共通 */
.contents .slick-prev,
.contents .slick-next {
  width: 13px;
  height: 24px;
  background-size: cover;
}
.contents .slick-prev {
  background-image: url(../common/icon_ku_prev.svg);
}
.contents .slick-next {
  background-image: url(../common/icon_ku_next.svg);
}
/* lineup
----------------------------------------------------------- */
.content_lineup .contents_inner {
  max-width: 1190px;
  margin: 0 auto;
}
/* making
----------------------------------------------------------- */
.content_making {
  position: relative;
}
.content_making .title_block {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px 20px;
  z-index: 99999;
}
.content_making .title_block h2 {
  margin-bottom: 30px;
}
.content_making .title_block p {
  text-align: left;
}
.content_making .title_block h2 em {
  padding-left: 0;
}
.making_image {
  overflow: hidden;
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 55%;
  z-index: 9999;
}
.making_image::after {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.35);
}
.making_image video,
.making_image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.making_list {
  position: relative;
  margin-top: -110px;
  z-index: 99999;
}
/* ranking
----------------------------------------------------------- */
.tab_wrapper {
  position: relative;
  margin: 0 -20px;
}
.tab_area {
  overflow-x: auto;
  width: 100%;
  margin-bottom: 30px;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}
.tab_list {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  min-width: 370px;
  padding: 0 0 0 15px;
  border-bottom: 1px solid #aaa;
  box-sizing: border-box;
  font-size: 0.8125rem;
  text-align: center;
}
.tab_list li {
  position: relative;
  margin: 0 15px -2px 0;
  padding: 0 0 15px;
  color: #aaa;
}
.tab_list li:hover {
  cursor: pointer;
  color: #50773f;
}
.tab_list li.is-active {
  border-bottom: 4px solid #50773f;
  color: #50773f;
}
.tab_list li.is-active::after {
  position: absolute;
  content: "";
  left: calc(50% - 4px);
  bottom: -9px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 4px 0 4px;
  border-color: #50773f transparent transparent transparent;
}
/*.tab_list li:nth-child(3) {
	flex: 6;
}
.tab_list li:nth-child(n+4) {
	flex: 7;
}
.tab_list li:nth-child(6) {
	flex: 6;
}
.tab_list li:last-child {
	flex: 3;
}*/

.panel {
  display: none;
}
.panel.is-show {
  display: block;
}

/* 任意商品パーツ調整 */
.panel .fs-c-productMarks {
  display: none;
}
.panel .slick-track {
  counter-reset: number 0;
}
.panel .slick-track > .slick-slide {
  position: relative;
  padding: 0;
}
.panel .slick-track > .slick-slide .fs-c-productListItem__image {
  position: relative;
  width: 100%;
}
.panel .slick-track > .slick-slide .fs-c-productListItem__image::before {
  position: absolute;
  content: "";
  counter-increment: number 1;
  content: counter(number);
  left: 12px;
  bottom: 12px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #d3d3d3;
  color: #555;
  line-height: 40px;
  text-align: center;
  z-index: 9999;
}
.panel .slick-track a {
  text-decoration: none;
}
.panel
  .slick-track
  > .slick-slide:nth-child(1)
  .fs-c-productListItem__image::before {
  background: #cb9911;
  color: #fff;
}
.panel
  .slick-track
  > .slick-slide:nth-child(2)
  .fs-c-productListItem__image::before {
  background: #868686;
  color: #fff;
}
.panel
  .slick-track
  > .slick-slide:nth-child(3)
  .fs-c-productListItem__image::before {
  background: #89682a;
  color: #fff;
}
.panel .slick-track .fs-c-productListItem__control {
  display: none;
}
/* next/prev */
.panel .fs-c-button--carousel::before {
  content: "";
  width: 13px;
  height: 24px;
  background-size: cover;
}
.panel .fs-c-button--carousel--next::before {
  background-image: url(../common/icon_ku_next.svg);
}
.panel .fs-c-button--carousel--prev::before {
  background-image: url(../common/icon_ku_prev.svg);
}
/* 商品名 */
.panel .fs-c-productName__name {
  overflow: hidden;
  height: 3.5em;
}

/* contents
----------------------------------------------------------- */
.contents_bnr_list {
  display: grid;
  display: -ms-grid;
  -ms-grid-columns: 1fr 16px 1fr;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 16px;
}
.contents_bnr_list li:nth-child(1) {
  -ms-grid-column: 1;
  grid-column: 1 / 3;
  -ms-grid-row: 1;
  grid-row: 1 / 3;
  -ms-grid-column-span: 2;
  -ms-grid-row-span: 2;
}
.contents_bnr_list li:nth-child(2) {
  -ms-grid-column: 1;
  grid-column: 1 / 3;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3 / 4;
  -ms-grid-column-span: 2;
}
.contents_bnr_list li:nth-child(3) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  grid-row: 4 / 5;
}
.contents_bnr_list li:nth-child(4) {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  grid-row: 4 / 5;
}
.contents_bnr_list li:nth-child(5) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  -ms-grid-row: 5;
  -ms-grid-row-span: 1;
  grid-row: 5 / 6;
}
.contents_bnr_list li:nth-child(6) {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
  -ms-grid-row: 5;
  -ms-grid-row-span: 1;
  grid-row: 5 / 6;
}
.contents_bnr_list li:nth-child(7) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  -ms-grid-row: 6;
  -ms-grid-row-span: 1;
  grid-row: 6 / 7;
}
.contents_bnr_list li:nth-child(8) {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
  -ms-grid-row: 6;
  -ms-grid-row-span: 1;
  grid-row: 6 / 7;
}

.contents_bnr_list li img {
  width: 100%;
}
/* recipi
----------------------------------------------------------- */
.content_recipi {
  position: relative;
}
.content_recipi .title_block {
  position: relative;
  max-width: 1040px;
  margin: 0 auto;
  padding: 6% 20px;
  color: #fff;
  z-index: 99999;
}
.content_recipi .title_block h2 {
  display: inline-block;
  margin-bottom: 30px;
  text-align: left;
  text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.08);
}
.content_recipi .title_block h2 em {
  padding-left: 0;
  font-size: 1.875rem;
}
.recipi_image {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  padding-bottom: 78%;
  height: 0;
  width: 100%;
}
.recipi_image::after {
  position: absolute;
  content: "";
  display: block;
  top: 0px;
  left: 0;
  width: 100%;
  height: 120%;
  background: rgba(128, 128, 128, 0.35);
}
.recipi_image video,
.recipi_image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 140%;
  height: auto;
  margin-left: -20%;
}
.recipi_list {
  position: relative;
  z-index: 99999;
}
/*-------------------------------------------------------------------------------

 concept

-------------------------------------------------------------------------------*/
.content_concept_main p,
.content_concept_video p {
  margin-top: 0;
  margin-bottom: 0;
}
/* concept main
----------------------------------------------------------- */
.content_concept_main .contents_inner {
  max-width: 100%;
}
.concept_main_img {
  position: relative;
  margin-bottom: 60px;
}
.concept_main_img .txt {
  margin: -1.5em 0 30px 25px;
}
.concept_main_img .txt span {
  display: block;
  margin-bottom: 15px;
  font-size: 1.5625rem;
  font-weight: 500;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  letter-spacing: 0.16em;
}
.concept_main_img .txt img {
  width: 245px;
}
.concept_main_txt {
  margin-bottom: 40px;
  padding: 0 20px;
}
.concept_main_txt h2 {
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.2;
}
.concept_main_txt h2 span {
  display: block;
}
.concept_main_txt p {
  font-size: 0.875rem;
  line-height: 2.2;
}
/* video
----------------------------------------------------------- */
.concept_video_wrap img,
.concept_video_wrap video {
  width: 100%;
}
.concept_video_wrap p {
  margin-top: 10px;
  font-size: 0.625rem;
}
/* 02 - 06
----------------------------------------------------------- */
.consept_txt h3 {
  margin-bottom: 30px;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  letter-spacing: 0.24em;
}
.consept_txt p {
  font-size: 0.875rem;
  line-height: 2.2;
}
.consept_txt b {
  display: block;
  font-weight: normal;
  line-height: 3.3;
}
.consept_txt em {
  display: block;
  font-weight: normal;
  line-height: 2.5;
  letter-spacing: 0.1em;
}
/* 02
----------------------------------------------------------- */
.content_concept02 .fig {
  max-width: 72%;
}
.content_concept02 .consept_txt {
  padding: 70px 0 0 20%;
}
/* 03
----------------------------------------------------------- */
.content_concept03 .fig01 {
  max-width: 75%;
}
.content_concept03 .fig02 {
  float: right;
  max-width: 40%;
  margin-top: 20%;
  margin-bottom: 15%;
}
.content_concept03 .consept_txt {
  clear: both;
  padding: 0 20px;
}
/* 04
----------------------------------------------------------- */
.content_concept04 .consept_txt {
  display: block;
  width: 680px;
  max-width: 100%;
  margin: 80px auto 40px;
  padding: 0 20px;
  box-sizing: border-box;
  text-align: left;
}
/* 05
----------------------------------------------------------- */
.content_concept05 .fig_area .fig01 {
  width: 48.25%;
  vertical-align: top;
}
.content_concept05 .fig_area .fig02 {
  float: right;
  width: 48.25%;
  margin-top: 10%;
}
.content_concept05 .consept_txt {
  margin-top: 25%;
  padding-left: 51.75%;
  letter-spacing: 0.3em;
}
/* 06
----------------------------------------------------------- */
.content_concept06 .consept_txt {
  padding-top: 12%;
  padding-left: 20px;
  padding-bottom: 12%;
}
/* btn about mm
----------------------------------------------------------- */
.btn_about_mm {
}
.btn_about_mm a {
  position: relative;
  display: block;
  max-width: 640px;
  margin: 0 auto;
  padding: 40px 20px;
  background: #fff;
  box-shadow: 0 35px 40px rgba(0, 0, 0, 0.1);
  text-align: center;
  text-decoration: none;
}
.btn_about_mm .m_logo {
  width: 210px;
  max-width: 32%;
  vertical-align: middle;
}
.btn_about_mm h2 {
  display: inline-block;
  margin-left: 4%;
  font-size: 0.875rem;
  font-weight: normal;
}
.btn_about_mm a::after {
  position: absolute;
  content: "";
  right: 20px;
  bottom: 20px;
  width: 20px;
  height: 9px;
  background: url(../common/icon_arrow.svg) no-repeat 100% 50%;
  background-size: 100% auto;
  letter-spacing: 0.04em;
  transition: 0.1s ease-in-out;
}
.btn_about_mm a:hover::after {
  right: 15px;
}
/*-------------------------------------------------------------------------------

 category product item

-------------------------------------------------------------------------------*/
.contents.content_catelisttitle,
.contents.content_itemlisttitle,
.contents.content_commontitle {
  padding-bottom: 0px;
}
/* pickup
----------------------------------------------------------- */
.content_pickup {
  margin-bottom: 60px;
  background: #fafafa;
}
.slide_pickup li {
  padding: 0 10px 20px;
}
.slide_pickup img {
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.16);
}
/* howto
----------------------------------------------------------- */
/* content */
.contents.content_howto_bg,
.contents.content_howto {
  padding-top: 80px;
}
.contents.content_howto_bg {
  background: #f0f2f0;
}
.content_howto .title_block,
.content_howto_bg .title_block {
  margin-bottom: 50px;
}
.howto_list_wrapper {
  max-width: 1000px;
  margin: 0 auto;
}
/* navi */
.howto_navi {
  display: -webkit-flex;
  display: flex;
  max-width: 660px;
  margin: 0 auto;
  justify-content: center;
}
.howto_navi.howto_navi04 {
  max-width: 860px;
}
.howto_navi li {
  position: relative;
  flex-grow: 0;
  width: 33.33333%;
}
.howto_navi.howto_navi04 li {
  width: 25%;
}
.howto_navi li a {
  position: relative;
  display: block;
  padding: 0 10px 50px;
  text-align: center;
  text-decoration: none;
}
.howto_navi li a:hover {
  color: #333;
  opacity: 0.5;
}
.howto_navi li a::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 21px;
  left: calc(50% - 6px);
  bottom: 10px;
  background: url(../common/icon_ku_next.svg);
  background-size: cover;
  transform: rotate(90deg);
}
.howto_navi li a em {
  display: block;
  margin-bottom: 20px;
  margin-bottom: 10px;
  font-size: 1.75rem;
  font-size: 1.3rem;
}
.howto_navi li a span {
  font-size: 0.75rem;
  font-weight: 700;
}
/* howto making */
.howto03_title {
  position: relative;
  margin-bottom: 30px;
}
.howto03_title em {
  display: block;
  margin-top: 20px;
  font-size: 1.275rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.howto03_txt {
  max-width: 650px;
  margin: 0 auto 80px;
}
.note_area {
  padding-bottom: 4px;
  /*	background-image: linear-gradient(#ccc 1px, transparent 1px);
	background-position: 0 -1px;
	background-size: 100% 2.4em;
	-webkit-background-size: 100% 2.4em;
	-moz-background-size: 100% 2.4em;
	-o-background-size: 100% 2.4em;
	-ms-background-size: 100% 2.4em;*/
  line-height: 2.4;
}
.material_txt_list {
  max-width: 800px;
  margin: 0 auto 40px;
  font-size: 0.875rem;
}
.material_txt_list li {
  position: relative;
  display: inline-block;
  padding-right: 30px;
}
.material_txt_list li::after {
  position: absolute;
  content: "";
  display: inline-block;
  top: calc(50% - 10px);
  right: 12px;
  width: 1px;
  height: 20px;
  border-right: 1px solid #333;
  -webkit-transform: rotate(30deg);
  -moz-transform: rotate(30deg);
  -o-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}
.material_txt_list li:last-child::after {
  border: none;
}
/* cate grid */
.cate_grid {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.cate_grid li {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.cate_grid li a {
  position: relative;
  display: block;
  padding: 10px 35px 10px 10px;
  text-decoration: none;
}
.cate_grid li a::after {
  position: absolute;
  content: "";
  top: calc(50% - 4px);
  right: 20px;
  width: 20px;
  height: 9px;
  background: url(../common/icon_arrow.svg) no-repeat 100% 50%;
  background-size: 100% auto;
}
.cate_grid li a:hover::after {
  right: 10px;
}
.cate_grid li .thumb {
  display: inline-block;
  width: 30%;
  vertical-align: middle;
}
.cate_grid li span {
  display: inline-block;
  width: 65%;
  vertical-align: middle;
}
/* making
----------------------------------------------------------- */
/* making title */
.making_title {
  position: relative;
  margin-bottom: 80px;
}
.making_title .main_title_txt {
  position: relative;
  margin: -95px 20px 0;
  padding: 30px 25px 30px 35px;
  border: 1px solid #000;
  background: #fff;
  font-size: 0.875rem;
  line-height: 2.2;
}
.making_title .main_title_txt h2 span {
  display: block;
  margin-bottom: 15px;
  letter-spacing: 0.27em;
}
.making_title .main_title_txt h2 em {
  display: block;
  margin-bottom: 15px;
  font-size: 1.4375rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.making_title .main_title_txt .time {
  display: block;
  margin-bottom: 20px;
  color: #3e6a44;
}
.making_desc {
  max-width: 660px;
  margin: 0 auto -40px;
}
.making_desc h3 {
  text-align: center;
}
.making_desc h3 span {
  position: relative;
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.making_desc h3 span::before,
.making_desc h3 span::after {
  position: absolute;
  content: "";
  top: 49%;
  width: 40px;
  height: 1px;
  background: #000;
}
.making_desc h3 span::before {
  left: -50px;
}
.making_desc h3 span::before {
  right: -50px;
}
.making_desc p {
  text-align: center;
}
.making_desc p span {
  display: inline-block;
  font-size: 0.875rem;
}
/* material */
.material_block {
  position: relative;
  margin-top: 20px;
  margin-bottom: 80px;
  padding: 30px 20px 30px;
  border: 1px dashed #000;
}
.material_block h3 {
  position: absolute;
  top: -0.8em;
  width: calc(100% - 40px);
  text-align: center;
}
.material_block h3 span {
  display: inline-block;
  padding: 0 0.6em 0 0.8em;
  background: #fff;
  letter-spacing: 0.2em;
}
.material_img_list {
  font-size: 0.875rem;
  line-height: 1.4;
}
.material_img_list li {
  position: relative;
}
.material_img_list li::after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
.material_img_list li.plus,
.material_img_list li.or {
  padding-bottom: 40px;
}
.material_img_list li div {
  padding: 0 20px;
}
.material_img_list li.plus div::after {
  position: absolute;
  content: "";
  width: 38px;
  height: 38px;
  background: url(../common/icon_puls.svg);
  background-size: cover;
}
.material_img_list li.or div::after {
  position: absolute;
  content: "or";
  font-size: 1.75rem;
  font-family: "Lato Light", sans-serif;
  font-weight: 300;
}
.material_img_list span {
  display: inline-block;
  width: 48%;
  vertical-align: middle;
  text-align: center;
}
.material_note_area {
  border-top: 1px solid #000;
  max-width: 826px;
  margin: 0 auto;
}
.material_note {
  position: relative;
  font-weight: 500;
  text-align: center;
  border-bottom: 1px solid #000;
}
.material_note label {
  display: block;
  padding: 20px 20px 15px;
}
.material_note label span {
  display: block;
}
/* アコーディオン */
.material_note .txt {
  overflow: hidden;
  opacity: 0;
  height: 0;
  margin: 0;
  padding: 0 15px;
  font-size: 0.875rem;
  text-align: left;
  transition: 0.4s;
}
.material_note .vibtn:checked + .txt {
  height: auto;
  opacity: 1;
  padding: 0 15px 20px;
}
/* アコーディオン用：チェックを隠す */
.material_note input {
  position: absolute;
  visibility: hidden;
  top: 0;
  right: 0;
}
.material_note .vibtn::after {
  position: absolute;
  visibility: visible;
  content: "";
  top: 20px;
  right: 20px;
  width: 12px;
  height: 21px;
  background-image: url(../common/icon_ku_next.svg);
  background-size: cover;
  transform: rotate(90deg);
}
.material_note .vibtn:checked::after {
  transform: rotate(-90deg);
}
/* flow */
.flow_area {
  max-width: 940px;
  margin: 0 auto;
  padding-top: 20px;
}
.flow_block {
  position: relative;
  margin-bottom: 80px;
}
.flow_block_arrow {
  margin-bottom: 90px;
}
.flow_block_arrow::after {
  position: absolute;
  content: "";
  left: calc(50% - 5px);
  bottom: -75px;
  width: 11px;
  height: 43px;
  background-image: url(../common/icon_arrow02.svg);
  background-size: cover;
}
.flow_block .image .num {
  display: block;
  padding: 0 0 10px 20px;
  font-size: 1.65rem;
  font-family: "Lato Light", sans-serif;
  font-weight: 300;
}
.flow_block .txt {
  padding: 20px 20px 0;
}
.flow_block .txt .num {
  display: none;
  margin-top: -20px;
  margin-bottom: 70px;
  font-size: 3.3125rem;
  font-family: "Lato Light", sans-serif;
  font-weight: 300;
  line-height: 1;
}
.flow_block .txt .caption {
  font-size: 1.375rem;
  font-weight: normal;
  letter-spacing: 0.2em;
}
.flow_block .txt .caption.caption_long {
  letter-spacing: 0.1em;
}
.flow_block .txt p {
  font-size: 0.875rem;
  line-height: 2;
}
.memo_block {
  position: relative;
  max-width: 680px;
  margin: 0 auto 80px;
  padding: 30px 20px 30px;
  border: 1px dashed #000;
}
.memo_block em {
  position: absolute;
  display: block;
  top: -0.8em;
  left: 0px;
  width: 100%;
  text-align: center;
}
.memo_block em span {
  display: inline-block;
  padding: 0 1.6em 0 1.8em;
  background: #fff;
  letter-spacing: 0.2em;
}
.content_making_flow .btn {
  margin-bottom: 80px;
}
.check_list {
  max-width: 520px;
  margin: 0 auto;
}
.check_list li {
  position: relative;
  padding-left: 1em;
}
.check_list li::before {
  position: absolute;
  content: "\02713";
  left: 0;
}
.contents.content_recipi_arenge {
  margin-bottom: 75px;
  padding: 60px 0 20px;
  background: #f5f7f5;
}
.content_recipi_arenge .title_block h2 em {
  color: #5e835e;
  font-family: "Lato Light", sans-serif;
}
.content_recipi_arenge .title_block p {
  margin: 25px 0 40px;
  text-align: center;
}
.content_recipi_arenge .title_block p span {
  display: block;
}
/* premium */
.content_cate_consept {
  position: relative;
  overflow: hidden;
}
.content_cate_consept .txt {
  padding-top: 60px;
}
.content_cate_consept .txt .txt_alpha {
  display: inline-block;
  margin-bottom: 40px;
  font-size: 1.5rem;
}
.content_cate_consept .txt h3 {
  font-size: 1.25rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  letter-spacing: 0.16em;
  line-height: 2.2;
}
.content_cate_consept .txt p {
  font-size: 0.875rem;
  line-height: 2.2;
}
/* series navi */
.series_navi {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 0 auto;
}
.series_navi li {
  position: relative;
  flex-grow: 0;
  width: 33.33333%;
}
.series_navi li a {
  position: relative;
  display: block;
  padding: 0 10px 40px;
  text-align: center;
  text-decoration: none;
}
.series_navi li a:hover {
  color: #333;
  opacity: 0.5;
}
.series_navi li a::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 21px;
  left: calc(50% - 6px);
  bottom: 10px;
  background: url(../common/icon_ku_next.svg);
  background-size: cover;
  transform: rotate(90deg);
}
.series_navi li a em {
  display: block;
  margin-bottom: 10px;
  font-size: 1.75rem;
  font-size: 1.3rem;
}
.series_navi li a span {
  display: block;
  margin-left: -15px;
  margin-right: -15px;
  font-size: 0.75rem;
  font-weight: 700;
}
/* series */
.series_area {
  margin: 0 auto 40px;
  padding-top: 20px;
}
.series_block {
  padding-top: 75px;
}
.series_block .image {
  position: relative;
}
.series_block .image .series_icon {
  position: absolute;
  top: 20px;
  left: 16px;
}
.series_icon li {
  display: inline-block;
  padding: 0 4px;
}
.series_icon li span {
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #eaf0df;
  color: #3e6a44;
  font-size: 0.75rem;
  text-align: center;
  line-height: 50px;
}
.series_block_left .image .series_icon {
  position: absolute;
}
.series_block .txt {
  position: relative;
  padding: 30px 20px 0;
}
.series_block .txt .caption {
  margin-bottom: 20px;
}
.series_block .txt .caption em {
  display: block;
  margin-bottom: 15px;
  font-size: 1.25rem;
  font-weight: normal;
  letter-spacing: 0.12em;
}
.series_block .txt .caption span {
  display: block;
  margin-top: 8px;
  font-size: 0.75rem;
  font-weight: ;
}
.series_block .txt p {
  font-size: 0.875rem;
  line-height: 2;
}
.series_block .txt a {
  position: relative;
  display: block;
  padding-bottom: 60px;
  text-decoration: none;
}
.series_block .txt a:hover {
  color: #333;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.series_block .txt a::after {
  position: absolute;
  content: "read more";
  right: 10px;
  bottom: 20px;
  padding-right: 36px;
  background: url(../common/icon_arrow.svg) no-repeat 100% 50%;
  background-size: 30px auto;
  letter-spacing: 0.04em;
  transition: 0.1s ease-in-out;
}
.series_block .txt a:hover::after {
  padding-right: 46px;
}

/* tokucho */
.tokucho_info {
  margin-bottom: 20px;
  color: #50773f;
  font-size: 0.875rem;
  text-align: right;
}
.icon_circle01 {
  display: inline-block;
  overflow: hidden;
  width: 14px;
  height: 14px;
  text-indent: 100%;
  white-space: nowrap;
  background: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%227%22%20stroke-width%3D%221%22%20stroke%3D%22%2350773f%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E")
    no-repeat;
  background-size: 100%;
  vertical-align: middle;
}
.icon_circle02 {
  display: inline-block;
  overflow: hidden;
  width: 20px;
  height: 20px;
  text-indent: 100%;
  white-space: nowrap;
  background: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2026%2026%22%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2212%22%20stroke-width%3D%221%22%20stroke%3D%22%2350773f%22%20fill%3D%22none%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%226%22%20stroke-width%3D%221%22%20stroke%3D%22%2350773f%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E")
    no-repeat;
  background-size: 100%;
  vertical-align: middle;
}

.tokucho_tbl {
  width: 100%;
  min-width: ;
  border-collapse: collapse;
  font-size: 0.75rem;
  text-align: center;
}

.tokucho_tbl thead {
  border-bottom: 1px solid #aaa;
}

.tokucho_tbl thead th {
  position: relative;
  background: url("data:image/svg+xml,%3Csvg%20preserveAspectRatio%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%2010%22%3E%3Cline%20fill%3D%22none%22%20stroke%3D%22%23AAAAAA%22%20stroke-width%3D%220.1%22%20stroke-miterlimit%3D%2210%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2210%22%20y2%3D%2210%22%2F%3E%3C%2Fsvg%3E")
    no-repeat #fff;
  background-size: 100% 100%;
}

.tokucho_tbl thead th .caption_row {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #50773f;
}

.tokucho_tbl thead th .caption_col {
  position: absolute;
  bottom: 10px;
  left: 10px;
}

.tokucho_tbl thead td {
  color: #50773f;
}

.tokucho_tbl th {
  width: 21.6%;
  padding: 4px 2px;
  border-right: 2px solid #aaa;
  background: #fff;
  font-weight: normal;
  white-space: nowrap;
}

.tokucho_tbl td {
  width: 11.2%;
  padding: 4px 2px;
  border-right: 1px solid #aaa;
  background: #fff;
}

.tokucho_tbl tbody tr:nth-child(even) th,
.tokucho_tbl tbody tr:nth-child(even) td {
  background: #f5f7f4;
}

.tokucho_tbl td:last-child {
  border-right: none;
}

.tokucho_tbl tbody th {
  padding-left: 10px;
  text-align: left;
}

/* tenohira */
.contents_tenohira_menu .title_block {
  padding: 0 20px;
}
.contents_tenohira_menu .contents_inner {
  max-width: 100%;
  padding: 40px 30px 20px;
  background: #fafafa;
}
.contents_tenohira_menu .contents_inner .item_list_tenohira {
  max-width: 1020px;
  margin: 0 auto;
}

.content_tenohira_consept {
  position: relative;
  overflow: hidden;
}
.content_tenohira_consept_top {
  margin-bottom: 100px;
}
.content_tenohira_consept .txt {
  padding: 20px 0 40px;
}
.content_tenohira_consept .txt h3 {
  margin-bottom: 20px;
  font-size: 1.375rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  letter-spacing: 0.16em;
  line-height: 1.8;
}
.content_tenohira_consept .txt h3 span,
.content_tenohira_consept .txt p span {
  display: block;
}
.content_tenohira_consept .txt p {
  font-size: 0.875rem;
  line-height: 2.2;
}

.tenohira_plus_area {
  max-width: 1000px;
  margin: 0 auto -60px;
}
.tenohira_plus_block {
  box-sizing: border-box;
  padding: 0 0 60px;
  text-align: center;
}

.tenohira_plus_block .fig_block {
  display: -webkit-flex;
  display: flex;
}

.tenohira_plus_block .fig_block li {
  position: relative;
  width: 45%;
  padding-bottom: 3.6em;
}

.tenohira_plus_block .fig_block li.plus {
  width: 10%;
  background: url(../common/icon_puls.svg) no-repeat 50% 50%;
  background-size: 30px 30px;
}

.tenohira_plus_block .fig_block li:first-child img {
  width: 30%;
  padding-top: 32px;
}

.tenohira_plus_block .fig_block li:last-child img {
}

.tenohira_plus_block .fig_block em {
  position: absolute;
  display: block;
  bottom: 1.6em;
  left: 0;
  width: 100%;
  font-size: 0.75rem;
}

.tenohira_plus_block .fig_block em.twoline {
  bottom: 0;
}

.tenohira_plus_block .txt_block span {
  font-size: 1.25rem;
}

.tenohira_plus_block .txt_block em {
  display: block;
  margin-top: 10px;
}

.tenohira_plus_block .txt_block p {
  margin-top: 10px;
  padding: 0 20px;
  font-size: 0.8125rem;
}

/* plus */
.tenohira_plus_list {
  max-width: 720px;
  margin: 0 auto -40px;
}

.tenohira_plus_list li {
  text-align: center;
}

.tenohira_plus_list li div {
  padding: 0 20px 40px;
}

.tenohira_plus_list i {
  font-style: normal;
}

.tenohira_plus_list i span {
  display: inline-block;
  font-size: 0.875rem;
  text-decoration: underline;
}

.tenohira_plus_list em {
  display: block;
  margin: 20px 0 10px;
}

.tenohira_plus_list p {
  margin: 0;
  font-size: 0.75rem;
  text-align: left;
}

/* spec */
.tenohira_spec_list {
  max-width: 840px;
  margin: 0 auto -40px;
}

.tenohira_spec_list li {
  text-align: center;
}

.tenohira_spec_list li > div {
  display: -webkit-flex;
  display: flex;
  margin-left: -5px;
  padding: 0 10px 40px 0;
}

.tenohira_spec_list .fig {
  width: 43%;
  padding-right: 2%;
}

.tenohira_spec_list .txt {
  width: 55%;
}

.tenohira_spec_list .fig img {
  max-width: 100%;
}

.tenohira_spec_list .fig span {
  display: block;
  font-size: 0.75rem;
}

.tenohira_spec_list .txt li {
  position: relative;
  padding: 8px 0;
  border-bottom: 1px solid #ccc;
  text-align: left;
}

.tenohira_spec_list .txt li em {
  display: inline-block;
  max-width: 60%;
  color: #50773f;
  font-size: 0.75rem;
}

.tenohira_spec_list .txt li span {
  position: absolute;
  display: block;
  content: "";
  top: calc(50% - 21px);
  right: 0;
  height: 14px;
}

.tenohira_spec_list .txt li span img {
  width: 10px;
  height: 14px;
  margin-left: 5px;
}

.content_tenohira_message {
  position: relative;
  margin: 80px 20px 80px;
  padding-top: 44%;
  background: url(../product/tenohira_img02.jpg) no-repeat 50% 0%;
  background-size: 100% auto;
}
.content_tenohira_message .txt {
  padding: 40px 25px 20px;
  box-sizing: border-box;
  background: #faf7f0;
}
.content_tenohira_message .txt h3 {
  font-size: 1.125rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  line-height: 2.2;
}
.content_tenohira_message .txt h3 span {
  display: block;
}
.content_tenohira_message .txt p {
  font-size: 0.875rem;
  line-height: 2.2;
}

/*-------------------------------------------------------------------------------

 inquiry

-------------------------------------------------------------------------------*/

.inquiry_wrapper {
  max-width: 840px;
  margin: 0 auto;
}

.inquiry_tbl {
  width: 100%;
  margin-bottom: 20px;
  font-size: 0.875rem;
  box-sizing: border-box;
}

.inquiry_tbl th {
  width: 35%;
  padding-bottom: 15px;
  font-weight: normal;
  text-align: left;
  box-sizing: border-box;
}

.inquiry_tbl th em {
  display: inline-block;
  width: 4em;
  margin-left: 10px;
  vertical-align: middle;
  padding: 4px 0;
  background: #c73d3d;
  color: #fff;
  font-size: 0.75rem;
  font-weight: normal;
  line-height: ;
  text-align: center;
  vertical-align: middle;
}

.inquiry_tbl td {
  width: 65%;
  padding-bottom: 35px;
  box-sizing: border-box;
}

.inquiry_tbl td span {
  display: block;
}

.inquiry_tbl td.name div {
  display: -webkit-flex;
  display: flex;
  margin: 0 -2px;
}
.inquiry_tbl td.name span {
  display: block;
  width: 50%;
  padding: 0 2px;
}

.inquiry_tbl input[type="text"] {
  width: 100%;
}

.inquiry_tbl .mail input[type="text"] {
  width: calc(100% - 4em);
}

.inquiry_wrapper .btn_box {
  text-align: center;
}

.inquiry_wrapper .btn_box input[type="submit"] {
  max-width: 100%;
  width: 420px;
  padding: 18px 10px;
}

.inquiry_wrapper .inquiry_tbl .error {
  display: none;
  margin: 2px 0 0 8px;
  color: #da4453;
  font-weight: normal;
}
.inquiry_wrapper .inquiry_tbl .error b {
  font-weight: normal;
}
.inquiry_wrapper .inquiry_tbl .error::before {
  content: "\e915";
  padding-left: 4px;
  font-family: "fs-icon" !important;
}

/*-------------------------------------------------------------------------------

 common

-------------------------------------------------------------------------------*/
/* マージン関係 ------------------- */
.m0 {
  margin: 0;
}
.m10 {
  margin: 10px;
}
.mT10 {
  margin-top: 10px;
}
.mT20 {
  margin-top: 20px;
}
.mB5 {
  margin-bottom: 5px;
}
.mB10 {
  margin-bottom: 10px;
}
.mB20 {
  margin-bottom: 20px;
}
.mR5 {
  margin-right: 5px;
}
.mR10 {
  margin-right: 10px;
}
.mR20 {
  margin-right: 20px;
}
.mL5 {
  margin-left: 5px;
}
.mL10 {
  margin-left: 10px;
}
.mL20 {
  margin-left: 20px;
}
.mRL10 {
  margin: auto 10px;
}
/*　パディング関係 ------------------ */
.p0 {
  padding: 0;
}
.p10 {
  padding: 10px;
}
.pT5 {
  padding-top: 5px;
}
.pT10 {
  padding-top: 10px;
}
.pB10 {
  padding-bottom: 10px;
}
.pR10 {
  padding-right: 10px;
}
.pL10 {
  padding-left: 10px;
}
.pB20 {
  padding-bottom: 20px;
}
.pRL10 {
  padding: auto 10px;
}
/* フロート関係 ------------------- */
.floatLeft {
  float: left;
}
.floatRight {
  float: right;
}
/* 画像関係 --------------------- */
.figLeft,
.figLeft img {
  float: left;
  margin-right: 20px;
  margin-bottom: 10px;
}
img.figRight,
.figRight img {
  float: right;
  margin-left: 20px;
  margin-bottom: 10px;
}
/* テキスト ------------------- */
.attention {
  color: #c34f50;
}
/* リスト -------------------- */
.mark_list {
  padding-left: 1em;
}
.mark_list li {
  text-indent: -1em;
}

/*-------------------------------------------------------------------------------

 fs 全般

-------------------------------------------------------------------------------*/
/* ページタイトル */
.fs-c-heading--page {
  margin-top: 20px;
  margin-bottom: 30px;
  border-bottom: none;
  color: inherit;
  font-size: 1.75rem;
}
/* サブタイトル */
.fs-c-subSection__title {
  margin-bottom: 30px;
  border-bottom: none;
  color: inherit;
  font-size: 1.25rem;
  font-weight: normal;
}
.fs-p-announcement__title {
  color: inherit;
  font-size: 1.25rem;
  font-weight: normal;
}
/* テーブルセル：会員登録/ログインなどフォーム共通 */
.fs-c-inputTable__headerCell,
.fs-c-inputTable__dataCell {
  padding-bottom: 15px;
  font-size: 0.875rem;
  font-weight: normal;
}
[type="text"],
.fs-c-inputGroup--vertical > [type="password"],
[type="search"],
[type="tel"],
[type="url"],
[type="email"],
[type="password"],
[type="datetime"],
[type="date"],
[type="month"],
[type="week"],
[type="time"],
[type="datetime-local"],
[type="number"],
select,
textarea {
  box-sizing: border-box;
  padding: 8px;
  border: 2px solid #ccc;
  border-radius: 0;
}
/* ログインの目アイコン */
.fs-c-button--particular.fs-c-button--displayPassword {
  margin-right: 8px;
}
/* ラジオボタンを横並びに */
.fs-c-radioGroup {
  display: block;
}
.fs-c-radioGroup .fs-c-radio {
  display: inline-block;
  min-height: auto;
  margin-right: 8px;
}
/*** ボタン一般 ***/
.fs-c-button--primary,
.fs-c-button--secondary {
  box-sizing: border-box;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 1rem;
}
.fs-c-button--standard {
  box-sizing: border-box;
  font-size: 1rem;
}
.fs-c-inputInformation__button {
  margin-top: 10px;
}
.fs-c-button--plain {
  color: #333;
}
.fs-c-dropdown::after {
  box-sizing: border-box;
}
/* 商品アイコン */
.fs-c-mark,
.fs-c-productMark__mark {
  margin: 0 4px 4px 0;
  padding: 8px 12px;
}
.fs-c-productMark .no1 {
  background: #b9973a;
  color: #fff;
}
.fs-c-productMark .off_20per {
  padding: 7px 11px;
  border: 1px solid #dc827f;
  color: #dc827f;
}
.fs-c-productMark .newitem {
  padding: 7px 11px;
  border: 1px solid #a7bc7f;
  color: #a7bc7f;
}
.fs-c-productMark .saleitem,
.fs-c-productMark .limitedtime {
  background: #dc827f;
  color: #fff;
}
.fs-c-productMark .recommenditem,
.fs-c-productMark .popularitem {
  background: #75a47b;
  color: #fff;
}
.fs-c-productMark .binditem {
  padding: 7px 11px;
  border: 1px solid #75a47b;
  color: #75a47b;
}
.fs-c-productMark .organic,
.fs-c-productMark .fairtrade {
  background: #e2a76f;
  color: #fff;
}
.fs-c-productMark .mailable {
  padding: 7px 11px;
  border: 1px solid #9fa0a0;
  color: #9fa0a0;
}
.fs-c-productMark .winter_only {
  background: #dbbc65;
  color: #fff;
}
.fs-c-productMark .coupon_applicatable {
  background: #c66;
  color: #fff;
}
.fs-c-productMark .freshly_squeezed {
  background: #66aec9;
  color: #fff;
}
.fs-c-productMark .wildness {
  padding: 7px 11px;
  border: 1px solid #ac8057;
  color: #ac8057;
}
/* 「価格」の文字 */
.fs-c-productPrice__main__label {
  display: none;
}
/*-------------------------------------------------------------------------------

 商品一覧 / fs

-------------------------------------------------------------------------------*/
/* カテゴリリスト
----------------------------------------------------------- */
.fs-c-subgroup {
  padding: 0 20px;
}
/* カテゴリ数 */
.fs-c-subgroup .fs-c-listControl {
  display: none;
}
.fs-c-subgroupList {
  padding: 0;
  border-left: 1px solid #ccc;
}
.fs-c-subgroupList > li {
  flex-grow: 0;
  margin-top: -1px;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.fs-c-subgroupList__link {
  position: relative;
  padding: 10px 60px 10px 10px;
  -ms-grid-columns: 2fr 4fr;
  grid-template-columns: 2fr 4fr;
  border: none;
  background: none;
  text-align: center;
}
.fs-c-subgroupList__link::after {
  position: absolute;
  content: "";
  top: calc(50% - 4px);
  right: 20px;
  width: 20px;
  height: 9px;
  background: url(../common/icon_arrow.svg) no-repeat;
  background-size: 100% auto;
  transition: 0.1s ease-in-out;
}
.fs-c-subgroupList__link:hover::after {
  right: 10px;
}
.fs-c-subgroupList__label {
  padding-bottom: 15px;
  font-size: 0.875rem;
  text-align: left;
}
.fs-c-subgroupList__link:hover {
  background: none;
}
.fs-c-subgroupList__link::after {
  content: "";
}

/* 商品一覧リスト
----------------------------------------------------------- */

.fs-c-productList__controller {
  justify-content: center;
}

/* 並び替えパーツ内:表示非表示 */
.fs-c-productList__controller .fs-c-pagination {
  display: none;
}
.fs-c-productList__list + .fs-c-productList__controller .fs-c-pagination {
  display: flex;
}
.fs-c-productList__list + .fs-c-productList__controller .fs-c-sortItems,
.fs-c-productList__list
  + .fs-c-productList__controller
  .fs-c-listControl__status {
  display: none;
}

.fs-c-productList__list + .fs-c-productList__controller .fs-c-listControl {
  justify-content: center;
}

/* 並び替え */
.fs-c-sortItems {
  border: none;
  align-items: center;
  font-size: 0.75rem;
}

.fs-c-sortItems__label::before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 13px;
  margin: -2px 4px 0 0;
  background-repeat: no-repeat;
  background-image: url(../common/icon_sort.svg);
  background-size: 100% auto;
  vertical-align: middle;
}

.fs-c-sortItems__list {
  border-left: none;
}

.fs-c-sortItems__list > li {
  padding: 0 4px;
}

.fs-c-sortItems__list__item {
  margin-left: 4px;
  padding: 2px 8px;
  background: #e2e2e2;
}

.fs-c-sortItems__list__item__label {
  text-decoration: none;
}

.fs-c-sortItems__list__item.is-active {
  background: #666666;
}

.fs-c-productList__controller .fs-c-listControl {
  justify-content: flex-start;
  font-size: 0.875rem;
}

/* ページャー */
.fs-c-pagination {
  align-items: center;
}

.fs-c-pagination a {
  text-decoration: none;
}
.fs-c-pagination__item {
  margin: 0 4px;
  padding: 12px 13px;
  border-radius: 50%;
}
.fs-c-pagination__item.is-active {
  background: #7da37d;
  font-size: 1rem;
}
.fs-c-pagination__item--prev,
.fs-c-pagination__item--next {
  padding: 8px 13px 12px;
}
.fs-c-pagination__item--prev::before,
.fs-c-pagination__item--next::before {
  font-size: 2.4rem;
}

/* 商品 */
.fs-c-productList__list {
  padding: 0 10px;
}
.fs-c-productList__list__item {
  position: relative;
  padding: 20px 10px 150px;
  border-bottom: none;
}
/* 価格エリア:浮かす */
.fs-c-productList .fs-c-productListItem__prices {
  position: absolute;
  bottom: 90px;
  width: 90%;
  line-height: 1.5;
}
/* お気に入り&カート:浮かす */
.fs-c-productList .fs-c-buttonContainer {
  position: absolute;
  bottom: 40px;
  width: 90%;
  padding: 0;
}

/* 画像 */
.fs-c-productListItem__image {
  width: 80%;
  margin: 0 auto;
}
/* 商品名 */
.fs-c-productListItem__productName {
  font-size: 0.875rem;
  line-height: 1.8;
}
.fs-c-productName__copy,
.fs-c-productName__variation {
  font-size: 100%;
}
/* キャッチコピー */
.fs-c-productListItem__productName .fs-c-productName__copy {
  display: none;
}
/* 価格 */
.fs-c-productPrice__main {
  font-size: 0.875rem;
}
/* 価格右寄せ */
.fs-c-productList .fs-c-productPrice {
  justify-content: flex-end;
}
/* 会員価格非表示[商品一覧/詳細共通] */
.fs-c-productList .fs-c-productPrice--member,
.fs-c-productPrices .fs-c-productPrice--member {
  display: none;
}
/* 会員ステージ価格のみ表示[商品詳細] */
.fs-c-productPrices .fs-c-productPrice--member.fs-c-productPrice--stage1,
.fs-c-productPrices .fs-c-productPrice--member.fs-c-productPrice--stage2,
.fs-c-productPrices .fs-c-productPrice--member.fs-c-productPrice--stage4,
.fs-c-productPrices .fs-c-productPrice--member.fs-c-productPrice--stage5 {
  display: flex;
}
.fs-c-productPrices .fs-c-productPrice--member .fs-c-productPrice__main__label {
  display: block;
  margin-left: 4px;
}
/* 価格文字色 */
.fs-c-productPrice:not(.fs-c-productPrice--listed)
  .fs-c-productPrice__main__price {
  color: #333;
}
/* (税込) */
.fs-c-productPrice__addon {
  padding-left: 8px;
  font-size: 0.75rem;
}
/* 拡大アイコン */
.fs-c-productListItem__viewMoreImageButton {
  display: none;
}

/* お気に入りアイコン */
.fs-c-button--particular.fs-c-button--addToWishList--icon,
.fs-c-button--particular.fs-c-button--removeFromWishList--icon {
}
.fs-c-button--particular.fs-c-button--addToWishList--icon::before,
.fs-c-button--particular.fs-c-button--removeFromWishList--icon::before {
  color: #888;
  font-size: 1.5rem;
}
/* カートボタン */
.fs-c-button--plain.fs-c-button--addToCart--list {
  width: 78%;
  padding: 8px 0;
  background: #7da37d;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
}
.fs-c-button--plain.fs-c-button--addToCart--list:hover {
  background: #9dc19d;
  text-decoration: none;
}
/* icon */
.fs-c-button--plain.fs-c-button--addToCart--list::before {
  display: inline-block;
  content: "";
  width: 16px;
  height: 18px;
  margin-top: -2px;
  margin-right: 4px;
  background-repeat: no-repeat;
  background-image: url(../common/icon_cartwh.svg);
  background-size: auto 100%;
  vertical-align: middle;
}
/* 詳細ボタン */
.fs-c-button--plain.fs-c-button--viewProductDetail {
  width: 76%;
  padding: 6px 0;
  border: 4px solid #7da37d;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  background: #fff;
  color: #7da37d;
  font-size: 0.75rem;
  text-align: center;
}
.fs-c-button--plain.fs-c-button--viewProductDetail:hover {
  text-decoration: none;
}
/* icon */
.fs-c-button--plain.fs-c-button--viewProductDetail::before {
  display: inline-block;
  content: "";
  width: 16px;
  height: 18px;
  margin-top: -2px;
  margin-right: 4px;
  background-repeat: no-repeat;
  background-image: url(../common/icon_syousai.svg);
  background-size: auto 100%;
  vertical-align: middle;
}
/* 販売期間 */
.fs-c-salesPeriod__date {
  padding: 4px;
  border: 1px solid #ccc;
  font-size: 0.875rem;
}
/* 在庫無し */
.fs-c-productListItem__outOfStock {
  background: #eee;
  border: 5px solid #eee;
}
/*-------------------------------------------------------------------------------

 商品詳細 / fs

-------------------------------------------------------------------------------*/
.fs-c-productListItem__notice {
  font-size: 0.875rem;
}
.fs-l-productLayout {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.fs-c-productNameHeading {
  font-size: 1rem;
  line-height: 2.2;
}
/* 画像拡大モーダル */
.fs-c-productImageModal {
  z-index: 99999999;
}
/* 商品名 */
.fs-l-productLayout .fs-c-productNameHeading {
  margin-bottom: 20px;
  line-height: 1.8;
}
.fs-l-productLayout .fs-c-productNameHeading__copy {
  display: block;
  margin-bottom: 10px;
  font-size: 0.875rem;
  font-weight: 500;
}
.fs-l-productLayout .fs-c-productNameHeading__name {
  font-size: 1.25rem;
  font-weight: 500;
}

/* 商品番号 */
.fs-l-productLayout .fs-c-productNumber {
  display: block;
  border: none;
  color: #aaa;
  font-size: 0.75rem;
}
.fs-l-productLayout .fs-c-productNumber__number {
  font-weight: normal;
}
/* ポイント贈呈 */
.fs-l-productLayout .fs-c-productPointDisplay {
  background: none;
  color: #dda973;
  font-size: 0.875rem;
}
/* 価格 */
.fs-l-productLayout .fs-c-productPrice .fs-c-price__currencyMark,
.fs-l-productLayout .fs-c-productPrice .fs-c-price__value {
  font-size: 1.5rem;
}
/* 商品個別送料 */
.fs-c-productSelection__name {
  margin-bottom: 20px;
  padding: 10px 20px;
  font-size: 0.875rem;
  font-weight: normal;
}
/* カートに入れる */
.fs-c-button--addToCart--detail {
  width: 80%;
  padding: 18px 10px;
  background: #7da37d;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  color: #fff;
  text-align: center;
}
.fs-l-product4 .fs-c-button--addToCart--detail {
  width: 100%;
}
/* カートアイコン */
.fs-c-button--addToCart--detail .fs-c-button__label::before {
  display: inline-block;
  content: "";
  width: 24px;
  height: 28px;
  margin-top: -2px;
  margin-right: 15px;
  background-repeat: no-repeat;
  background-image: url(../common/icon_cartwh.svg);
  background-size: auto 100%;
  vertical-align: middle;
}
/* お気に入りボタンと数量エリア */
.fs-c-productQuantityAndWishlist {
  grid-template-columns: 3fr 7fr;
}
/* 数量 */
.fs-c-productQuantityAndWishlist__quantity {
  position: relative;
  padding-left: 2.5em;
}
.fs-c-productQuantityAndWishlist__quantity::before {
  position: absolute;
  top: calc(50% - 0.5rem);
  left: 0;
  content: "数量";
  line-height: 1;
}
/* お気に入りボタン */
.fs-c-button--particular.fs-c-button--addToWishList--detail,
.fs-c-button--particular.fs-c-button--removeFromWishList--detail {
  flex-direction: row-reverse;
  border: none;
  outline: none;
  background: transparent;
  box-shadow: none;
  color: #868686;
  font-size: 0.875rem;
}
.fs-c-button--particular.fs-c-button--addToWishList--detail::after,
.fs-c-button--particular.fs-c-button--removeFromWishList--detail::after {
  margin-left: 0;
  margin-right: 4px;
  font-size: 2rem;
}
/* バリエーションカートレイアウト[商品一覧/商品詳細共通] */
.fs-c-productList__list .fs-c-variationLabel {
  margin-bottom: 20px;
}
.fs-c-variationCart {
  padding: 0;
}
.fs-c-variationCart > li {
  -ms-grid-columns: 2fr 3fr;
  grid-template-columns: 2fr 3fr;
  margin-bottom: 20px;
}
.fs-c-variationCart .fs-c-variationCart__image {
  display: none;
}
.fs-c-variationCart .fs-c-variationCart__variationName {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / 3;
  margin-bottom: 10px;
  padding: 5px 15px;
  background: #f5f5f5;
  font-size: 0.875rem;
}
.fs-c-variationCart .fs-c-variationCart__wishlist {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1 / 2;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2 / 3;
  display: block;
}
.fs-c-variationCart .fs-c-variationCart__cartButton {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2 / 3;
}
/* お気に入りボタン：バリエーション */
.fs-c-variationAndActions
  .fs-c-button--particular.fs-c-button--addToWishList--icon {
  padding-right: 4px;
  color: #868686;
  font-size: 0.875rem;
}
.fs-c-variationAndActions
  .fs-c-button--particular.fs-c-button--addToWishList--icon::before {
  margin-top: 7px;
  margin-right: 4px;
  font-size: 2rem;
}
.fs-c-variationAndActions
  .fs-c-button--particular.fs-c-button--addToWishList--icon
  .fs-c-button__label {
  display: inline-block;
  width: 5em;
  line-height: 1.8;
}
/* カートに入れるボタン */
.fs-c-variationAndActions
  .fs-c-button--primary.fs-c-button--addToCart--variation {
  width: 80%;
  padding: 18px 10px;
  background: #7da37d;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  color: #fff;
  font-size: 1rem;
  text-align: center;
}
/* カートアイコン */
.fs-c-variationAndActions
  .fs-c-button--primary.fs-c-button--addToCart--variation
  .fs-c-button__label::before {
  display: inline-block;
  content: "";
  width: 24px;
  height: 28px;
  margin-top: -2px;
  margin-right: 15px;
  background-repeat: no-repeat;
  background-image: url(../common/icon_cartwh.svg);
  background-size: auto 100%;
  vertical-align: middle;
}
/* カートselect */
.fs-c-productSelection__name {
  margin-bottom: 0;
  padding: 10px 10px;
  background: #f5f5f5;
  font-size: 0.875rem;
}
.fs-c-productSelection__selection {
  margin-top: -2px;
  margin-bottom: 20px;
  padding: 0px 10px 10px;
  background: #f5f5f5;
}
/* 返品交換 */
.fs-p-card {
  font-size: 0.875rem;
}
.fs-p-card__title {
  font-size: 1.25rem;
}
/* お問い合わせ */
.fs-c-button--inquiryAboutProduct {
  padding-left: 30px;
  background: url(../common/icon_mail.svg) no-repeat left center;
  background-size: auto 18px;
}
/* レビュー */
.fs-c-productReview {
  margin-bottom: 80px;
  padding: 25px 25px 15px;
  background: #f8f3e9;
}
.fs-c-reviewBody {
  padding: 0;
  border: none;
}
.fs-c-aggregateRating__rating {
  font-size: 1.25rem;
}
.fs-c-reviewStars {
  margin-top: 10px;
}
.fs-c-reviewStars::before {
  font-size: 1.5rem;
}
.fs-c-rating__value {
  margin-top: 10px;
  font-size: 1.25rem;
}
.fs-c-aggregateRating__count {
  margin-top: 10px;
  font-size: 1.25rem;
  line-height: 1;
}
/* 平均評価 */
.fs-l-product4 .fs-l-productLayout .fs-c-aggregateRating {
  margin-bottom: 20px;
}
.fs-c-aggregateRating__rating {
  font-size: 1.5rem;
}
.fs-l-product4 .fs-l-productLayout .fs-c-reviewList {
  margin-bottom: 0;
}
.fs-c-reviewList__item {
  margin-bottom: 20px;
  padding: 20px 20px;
  border-bottom: none;
  border-radius: 8px;
}
.fs-c-reviewList__item:first-child {
  border-top: none;
}
.fs-c-button--viewAllReviews {
  display: block;
  width: 260px;
  max-width: 80%;
  margin: 0 auto;
  padding: 10px 20px;
  background: #dda973;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  color: #fff;
  font-size: 1.125rem;
  text-align: center;
}
/* 商品説明(大) */
.fs-l-product4 .fs-l-productLayout .fs-p-productDescription--full {
  margin-bottom: 40px;
}
/* 独自コメント：表示非表示は[device.css]で設定 */
.product_comment-1,
.product_comment-2,
.product_comment-3,
.product_comment-11,
.product_comment-12,
.product_comment-13 {
  max-width: 1100px;
  margin: 0 auto;
  font-size: 0.875rem;
}
/* おすすめ商品 */
#fs-recommend--flick .fs-p-heading--lv2 {
  position: relative;
  margin-bottom: 20px;
  border-bottom: none;
  color: inherit;
  font-size: 0.875rem;
  text-align: center;
}
#fs-recommend--flick .fs-p-heading--lv2::before {
  display: block;
  margin-bottom: 20px;
  content: "RECOMMEND";
  font-size: 1.75rem;
  padding-left: 0.28em;
  letter-spacing: 0.28em;
}

/* バリエーションフリック[dead] */
#fs-variation--flick {
  margin-bottom: 40px;
}
#fs-variation--flick .flick_variation_title {
  margin-bottom: 20px;
  padding-left: 20px;
  border: none;
  color: inherit;
  font-size: 1rem;
  font-weight: 400;
}
#fs-variation--flick .fr2-listItem__productName {
  font-size: 0.875rem;
}

/* item tabs
----------------------------------------------------------- */

.item_tab_wrapper {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}
.item_tab_area {
  margin-bottom: 30px;
}
.item_tabs {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-right: -2px;
  box-sizing: border-box;
  text-align: center;
}
.item_tabs li {
  position: relative;
  display: block;
  flex: 1;
  margin-right: 2px;
  margin-bottom: 10px;
  padding: 16px 0;
  height: 16px;
  background: #ededed;
  font-size: 0.6875rem;
  color: #3e6a44;
  line-height: 1;
  box-shadow: 0 15px 20px rgba(0, 0, 0, 0.06);
}
.item_tabs li:hover {
  cursor: pointer;
}
.item_tabs li.is-activetab {
  padding: 19px 0;
  background: #3e6a44;
  color: #fff;
  font-size: 0.8125rem;
  box-shadow: none;
}
.item_tabs li.is-activetab::after {
  position: absolute;
  content: "";
  left: calc(50% - 5px);
  bottom: -10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 5px 0 5px;
  border-color: #50773f transparent transparent transparent;
}

/* item tab contents
----------------------------------------------------------- */

.item_panels {
  position: relative;
  max-width: 860px;
  margin: 0 auto 80px !important;
  padding: 0 8px;
}

.item_content {
  margin-bottom: 40px;
  font-size: 0.875rem;
}

.item_content h2 {
  color: #3e6a44;
  font-size: 1.125rem;
}

.item_content a {
  font-weight: 700;
}

.item_content em {
  display: inline-block;
  padding: 4px 10px;
  background: #f2f2f2;
}

/* .item_content .item_list li {
	width: 25%;
} */

/* 分量：quantity */

.item_content .item_list {
  margin: 0;
}
.item_content .quantity_list span {
  position: relative;
  display: inline-block;
  min-width: 5em;
}
.item_content .quantity_list li span:last-child {
  padding-left: 35px;
}
.item_content .quantity_list li span:last-child::before {
  position: absolute;
  content: "";
  top: 6px;
  left: 0;
  width: 18px;
  height: 8px;
  background: url(../common/icon_arrow.svg) no-repeat 100% 50%;
  background-size: 100% auto;
}

/* logo icon */
.item_cantent_icons {
  display: -webkit-flex;
  display: flex;
  justify-content: start;
}
.item_cantent_icons img {
  width: auto;
  height: 60px;
  margin-right: 10px;
}

/* table */
.item_content table {
  margin: 1em 0;
}
.item_content table th {
  padding: 2px 10px 2px 2px;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}
.item_content table td {
  padding: 2px;
}

/* attention */
.item_attention {
  margin: 1em -8px;
  padding: 20px 20px 20px 30px;
  background: #fcf5f5;
}
.item_attention li {
  text-indent: -1em;
}
.item_attention li::before {
  content: "\30FB";
}

/* dl */
.item_content .dl_tbl {
  margin: 1em 0;
}
.item_content .dl_tbl dt {
  clear: both;
  float: left;
  width: 6em;
}
.item_content .dl_tbl dd {
  padding-left: 6em;
  min-height: 1.6em;
}
/* ↑の記述が不明なため　他のサイズ */
/* 新しくcssを記述　↓↓↓↓ */
.recipes-box-size-inner {
  overflow-x: auto;
  width: 100%;
}
.recipes-box-size-left {
  display: flex;
  gap: 0px 10px;
}
.recipes-box-size {
  padding: 8px;
  min-width: 6rem;
  max-width: 207px;
}
.recipes-box-size a {
  text-decoration: none;
}
.recipes-box-size p {
  margin-bottom: 0;
}
/* 新しくcssを記述↑↑↑↑ */
/* faq */
.item_content .faq_list {
  margin: 2em 0 1em;
}
.item_content .faq_list dt {
  position: relative;
  margin-bottom: 8px;
  padding-left: 30px;
}
.item_content .faq_list dt::before {
  position: absolute;
  content: "Q";
  top: 0;
  left: 0;
  color: #aaa;
}
.item_content .faq_list dd {
  position: relative;
  margin-bottom: 20px;
  padding: 0 0 20px 30px;
  border-bottom: 1px solid #d6d6d6;
}
.item_content .faq_list dd::before {
  position: absolute;
  content: "A";
  top: 0;
  left: 0;
  color: #c1b273;
}

/*-------------------------------------------------------------------------------

 カート / fs

-------------------------------------------------------------------------------*/
/* オリジナル：カートステップ */
.contents.contents_cartstep {
  padding-top: 0px;
}
.cart_step {
  overflow: hidden;
  display: -webkit-flex;
  display: flex;
  max-width: 580px;
  margin: 0 auto;
}
.cart_step li {
  position: relative;
  width: 33.33333%;
  color: #aaa;
  font-size: 0.8125rem;
  text-align: center;
}
.cart_step li::before,
.cart_step li::after {
  position: absolute;
  content: "";
  top: 14px;
  width: 100%;
  height: 2px;
  background: #aaa;
  z-index: -2;
}
.cart_step li::before {
  left: -50%;
}
.cart_step li::after {
  right: -50%;
}
.cart_step em {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto 8px;
  background: #aaa;
  border-radius: 50%;
  color: #fff;
  line-height: 30px;
}
.cart_step .is-active {
  color: #7da37d;
}
.cart_step .is-active em {
  background: #7da37d;
}
.cart_step li.is-active::before,
.cart_step li.is-active::after {
  background: #7da37d;
  z-index: -1;
}
.fs-c-cartTableContainer {
  border: none;
  font-size: 0.875rem;
}
.fs-c-cartTable {
  border-collapse: separate;
}
.fs-c-cartTable__headerCell {
  margin: 0 4px;
  border: none;
  border-bottom: 2px solid #ccc;
  background: none;
}
.fs-c-cartTable__dataCell {
  border: none;
}
.fs-c-cartTable__row {
  width: auto;
  padding: 0 20px;
}
/* 会員価格 */
.fs-c-priceDisplay__memberPrice__label {
  font-size: 0.75rem;
}
/* ポイント */
.fs-c-cartTable__dataCell--point {
  color: #dda973;
}
/* 削除/後で買う */
.fs-c-cartTable__actionButton__container > button {
  display: inline-block;
  background: #e2e2e2;
  color: #333;
  font-size: 0.8125rem;
  white-space: nowrap;
}
.fs-c-cartTable__actionButton__container
  + .fs-c-cartTable__actionButton__container {
  border: none;
}
/* 右側 */
.fs-body-cart .fs-l-cart__sideColumn {
  margin: 0 20px;
  padding: 20px;
  border: none;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  font-size: 0.875rem;
}
.fs-c-orderTotalTable > tbody > tr th,
.fs-c-orderTotalTable > tbody > tr td {
  border: none;
}
.fs-c-orderTotalTable > tbody > tr:last-of-type {
  border: none;
}
.fs-l-cart__sideColumn .fs-c-button--primary,
.fs-l-cart__sideColumn .fs-c-button--secondary {
  width: 100%;
  padding: 18px 10px;
}
/* ご注文手続き… Amazon */
.fs-c-cartPayment,
.fs-c-payWithAmazon {
  font-size: 1rem;
}
.fs-c-payWithAmazon__message {
  margin-bottom: 15px;
  text-align: center;
}
/* オリジナル：Amazon追加 */
.cart_amazon_logo {
  margin-top: 50px;
  padding-top: 30px;
  border-top: 1px solid #000;
  text-align: center;
}
.cart_amazon_logo img {
  width: 65%;
}
.cart_amazon_info {
  margin-top: 30px;
}
.fs-c-orderTotalTable > tbody > .fs-c-orderTotalTable__count th,
.fs-c-orderTotalTable > tbody > .fs-c-orderTotalTable__count td {
  padding-bottom: 0;
}
.fs-c-orderTotalTable > tbody > .fs-c-orderTotalTable__itemPriceSummary th,
.fs-c-orderTotalTable > tbody > .fs-c-orderTotalTable__itemPriceSummary td {
  border-bottom: 2px solid #ccc;
}
/* 項目別選択肢 */
.fs-c-listedProductName__variation,
.fs-c-listedProductName__selection {
  font-size: 0.875rem;
}
/* 価格 */
.fs-c-price .fs-c-price__currencyMark,
.fs-c-price .fs-c-price__value {
  font-size: 1.125rem;
}
/* ログインして進む */
.fs-c-button--loginAndPurchase {
  width: 100%;
}
/* 注文にすすむ */
.fs-c-button--unregisteredUserPurchase {
  width: 100%;
  padding: 10px;
  background: #7da37d;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  color: #fff;
  text-align: center;
}
/* お買い物を続ける */
.fs-c-continueShopping {
  margin-bottom: 40px;
  padding: 0 20px;
}
.fs-c-button--continueShopping {
  display: inline;
  padding: 0 0 0 30px;
  background: url(../common/icon_arrow_rv.svg) no-repeat;
  background-size: 20px auto;
  border: none;
  box-shadow: none;
  font-size: 0.875rem;
}
/* おすすめ商品 ///////////////////////////////////// */
.fs-l-product4 .fs-c-featuredProduct {
  margin-bottom: 120px;
}
.fs-c-wishlistProduct,
.fs-c-featuredProduct {
  margin-bottom: 40px;
  padding: 0 20px;
}
/* おすすめ見出し */
.fs-c-wishlistProduct__title,
.fs-c-featuredProduct__title {
  margin-bottom: 40px;
  border: none;
  color: inherit;
  font-size: 1rem;
  font-weight: 400;
}
/* おすすめ見出し:商品詳細 */
.fs-l-product4 .fs-c-featuredProduct__title {
  display: none;
}
.fs-l-product4 .fs-c-featuredProduct__header::before {
  content: "その他のバリエーション";
}
/* コントロールも含めたラッパー */
.fs-c-productListCarousel a {
  text-decoration: none;
}
/* next/prev */
.fs-c-button--carousel::before {
  content: "";
  width: 13px;
  height: 24px;
  background-size: cover;
}
.fs-c-button--carousel--prev::before {
  background-image: url(../common/icon_ku_prev.svg);
}
.fs-c-button--carousel--next::before {
  background-image: url(../common/icon_ku_next.svg);
}
/* 1商品:左に余白広く */
.fs-c-productListCarousel__list__item {
  margin: 0 4px 0 15px;
}
/* 商品アイコン */
.fs-c-wishlistProduct .fs-c-productMarks,
.fs-c-featuredProduct .fs-c-productMarks {
  display: none;
}
/* カートボタン・お気に入りアイコン非表示 */
.fs-c-wishlistProduct .fs-c-productListItem__control,
.fs-c-featuredProduct .fs-c-productListItem__control {
  display: none;
}
/* ボタン */
.fs-c-wishlistProduct .fs-c-button--plain.fs-c-button--addToCart--list,
.fs-c-wishlistProduct .fs-c-button--plain.fs-c-button--viewProductDetail,
.fs-c-featuredProduct .fs-c-button--plain.fs-c-button--addToCart--list,
.fs-c-featuredProduct .fs-c-button--plain.fs-c-button--viewProductDetail {
  width: 86%;
  font-size: 0.8125rem;
}
.fs-c-wishlistProduct .fs-c-productListItem__control form,
.fs-c-featuredProduct .fs-c-productListItem__control form {
  width: 80%;
}
/* カートアイコン */
.fs-c-wishlistProduct .fs-c-button--plain.fs-c-button--addToCart--list::before,
.fs-c-featuredProduct .fs-c-button--plain.fs-c-button--addToCart--list::before {
  width: 16px;
  height: 18px;
  margin-top: -4px;
  margin-right: 4px;
}
.fs-c-wishlistProduct
  .fs-c-button--plain.fs-c-button--viewProductDetail::before,
.fs-c-featuredProduct
  .fs-c-button--plain.fs-c-button--viewProductDetail::before {
  width: 16px;
  height: 18px;
  margin-top: -4px;
  margin-right: 4px;
}
/* お気に入りアイコン */
.fs-c-wishlistProduct
  .fs-c-button--particular.fs-c-button--addToWishList--icon::before,
.fs-c-wishlistProduct
  .fs-c-button--particular.fs-c-button--removeFromWishList--icon::before,
.fs-c-featuredProduct
  .fs-c-button--particular.fs-c-button--addToWishList--icon::before,
.fs-c-featuredProduct
  .fs-c-button--particular.fs-c-button--removeFromWishList--icon::before {
  margin-right: 10px;
}
/* レビュー非表示 */
.fs-c-productList .fs-c-buttonContainer.fs-c-buttonContainer--viewReview {
  display: none;
}

/* お気に入りリンク */
fs-c-wishlistProduct__footer {
  margin-bottom: 80px;
}
.fs-c-wishlistProduct__viewAllProducts {
  display: inline;
  padding: 0 30px 0 0;
  background: url(../common/icon_arrow.svg) no-repeat 100% 50%;
  background-size: 20px auto;
  border: none;
  box-shadow: none;
  font-size: 0.875rem;
  text-decoration: none;
}

/* カート下層 /////////////////////////////////////////////////////// */

/* ご注文手続き */
.fs-c-checkout-preview {
  border: none;
}
/* 返品 */
.fs-body-checkout .fs-c-returnedSpecialContract {
  padding: 0px 20px;
}
/* 注文を確定ボタン */
.fs-c-totalAndActions button:not(.fs-c-button--image) {
  font-size: 1.25rem;
}

/*-------------------------------------------------------------------------------

 会員登録 / fs

-------------------------------------------------------------------------------*/
.fs-body-register .fs-c-inputInformation,
.fs-body-customerDetails .fs-c-inputInformation {
  padding: 0 30px;
}
.fs-body-register .fs-c-requiredMark,
.fs-body-customerDetails .fs-c-requiredMark {
  width: 3.4em;
  height: 2.2em;
  margin-left: 10px;
  vertical-align: middle;
}
.fs-body-register .fs-c-requiredMark::before,
.fs-body-customerDetails .fs-c-requiredMark::before {
  content: "必須";
  padding: 4px 0;
  background: #c73d3d;
  color: #fff;
  font-size: 0.75rem;
  text-align: center;
}
.fs-c-buttonContainer--confirmRegister .fs-c-button--primary {
  width: 420px;
  max-width: 100%;
  padding: 18px 10px;
}
/* 同意するチェック */
.fs-c-agreementConfirmation__message {
  margin-bottom: 15px;
}
.fs-c-additionalCheckField .fs-c-inputField__field,
.fs-c-agreementConfirmation__checkbox {
  display: block;
  max-width: 300px;
  margin: 0 auto;
}
.fs-body-customerDetails .fs-c-additionalCheckField .fs-c-inputField__field,
.fs-body-customerDetails .fs-c-agreementConfirmation__checkbox {
  display: block;
  max-width: 500px;
  margin: 0 auto;
}
.fs-c-checkbox__label {
  align-items: flex-start;
}
.fs-c-checkbox__checkMark {
  margin-top: 6px;
}
/* パスワード入力 */
.fs-c-agreementConfirmation__password {
  margin-left: 0;
}
/*-------------------------------------------------------------------------------

 ログイン / fs

-------------------------------------------------------------------------------*/
.fs-body-cart-login .fs-c-loginForm {
  max-width: 1100px;
}
.fs-body-login .fs-c-loginForm,
.fs-body-wishlist-login .fs-c-loginForm,
.fs-body-cart-login .fs-c-loginForm {
  display: block;
}
.fs-body-login .fs-c-registeredUsers,
.fs-body-wishlist-login .fs-c-registeredUsers,
.fs-body-cart-login .fs-c-registeredUsers {
  margin-bottom: 40px;
}
.fs-body-login .fs-c-registeredUsers .fs-c-registeredUsers__title,
.fs-body-wishlist-login .fs-c-registeredUsers .fs-c-registeredUsers__title,
.fs-body-cart-login .fs-c-registeredUsers .fs-c-registeredUsers__title {
  text-align: center;
}
.fs-body-login .fs-c-inputInformation__field,
.fs-body-wishlist-login .fs-c-inputInformation__field,
.fs-body-cart-login .fs-c-inputInformation__field {
  margin: 0;
  padding: 16px 30px;
  background: none;
}
.fs-body-login .fs-c-inputTable__headerCell,
.fs-body-wishlist-login .fs-c-inputTable__headerCell,
.fs-body-cart-login .fs-c-inputTable__headerCell {
  text-align: left;
}
/* ログインせずに購入 */
.fs-body-cart-login .fs-c-guestPurchase {
  padding-top: 60px;
}
.fs-body-cart-login .fs-c-guestPurchase .fs-c-button--plain {
  display: inline-block;
  width: 440px;
  max-width: 100%;
  padding: 12px 10px;
  background: #444444;
  box-shadow: 0 15px 46px rgba(0, 0, 0, 0.16);
  color: #fff;
  text-align: center;
}
/* 必須マーク消す */
.fs-body-login .fs-c-requiredMark,
.fs-body-wishlist-login .fs-c-requiredMark,
.fs-body-cart-login .fs-c-requiredMark {
  display: none;
}
/* パスワド忘れ */
.fs-c-inputInformation__link {
  padding: 10px 20px 0 0;
  font-size: 0.875rem;
}
/* Amazon */
.fs-c-otherServiceLogin {
  margin: 0;
  padding: 0 30px;
}
.amazonpay-button-container {
  width: 90%;
  margin: 0 auto;
}
/* 新規登録 */
.fs-body-login .fs-c-newUsers,
.fs-body-wishlist-login .fs-c-newUsers {
  padding: 0 30px;
}
.fs-c-newUsers__title {
  text-align: center;
}
/* メッセージ */
.fs-c-anotherLogin__message--amazon,
.fs-c-newUsers .fs-c-subSection__message {
  font-size: 0.875rem;
}
/* ボタン */
.fs-c-buttonContainer--login {
  padding: 0 20px;
}
.fs-c-buttonContainer--login .fs-c-button--primary {
  width: 100%;
  padding: 18px 10px;
}
.fs-c-newUsers .fs-c-buttonContainer {
  margin-top: 20px;
}
.fs-c-buttonContainer--memberRegister .fs-c-button--primary {
  width: 100%;
  padding: 18px 10px;
}

/*-------------------------------------------------------------------------------

 マイページ / fs

-------------------------------------------------------------------------------*/

.fs-body-my-top .fs-l-pageMain,
.fs-body-my-orders .fs-l-pageMain,
.fs-body-my-account-password .fs-l-pageMain,
.fs-body-my-addressbook .fs-l-pageMain,
.fs-body-my-account-settings .fs-l-pageMain,
.fs-body-my-account-settings-edit .fs-l-pageMain,
.fs-body-my-points .fs-l-pageMain,
.fs-body-my-cards .fs-l-pageMain,
.fs-body-my-wishlist .fs-l-pageMain,
.fs-body-my-coupons .fs-l-pageMain,
.fs-body-my-reviews .fs-l-pageMain {
  padding: 0 20px;
  box-sizing: border-box;
}

.fs-body-my-top .fs-p-accountInfo {
  display: -webkit-flex;
  display: flex;
  padding: 10px;
  background: #faf4ed;
  border-radius: 8px;
}
.fs-p-accountInfo__header {
  flex-basis: 45%;
  padding-top: 14%;
  padding-right: 10px;
  justify-content: center;
  border-right: 1px solid #000;
  text-align: center;
}
.fs-p-accountInfo__accountName__name {
  font-size: 1rem;
}
.fs-p-accountInfo__body {
  padding-left: 10px;
  background: none;
  text-align: left;
  line-height: 1.2;
}
/* ポイント */
.fs-p-accountInfo__point__label {
  font-size: 0.875rem;
}
.fs-p-accountInfo__point__point {
}
.fs-p-accountInfo__point__point__available__number {
  color: #333;
}
.fs-p-accountInfo__point__point__rate {
  display: block;
  font-size: 0.8125rem;
}
.fs-c-purchasePointExpiration__label {
  font-size: 0.8125rem;
}
.fs-c-purchasePointExpiration__expiration {
  font-size: 0.8125rem;
}

/* 退会ボタン */
.account_delete {
  position: relative;
  margin-top: 32px;
}
.account_delete a {
  position: absolute;
  display: inline-block;
  right: 0;
  text-decoration: none;
}
/* マイページトップリンク */
.fs-body-my-account-settings .fs-c-buttonContainer--myPageTop {
  margin-top: 0;
}

/*-------------------------------------------------------------------------------

 ガイド特定商取引など / fs

-------------------------------------------------------------------------------*/

.fs-c-documentArticle {
  max-width: 1000px;
  margin: 0 auto;
}

.fs-c-documentArticle.article_delivery a,
.fs-c-documentArticle.article_payment a {
  font-weight: 500;
}

/* shipping-payment用 追記
-----------------------------------------------------------*/

.guide_min_title {
  margin-bottom: 20px;
  font-size: 1.5rem;
}

.guide_detail {
  padding-top: 20px;
}

.guide_detail em {
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 4px 8px;
  background: #f5f5f5;
  font-weight: 400;
}

.guide_detail figure {
  padding: 20px 0;
}
.guide_detail figure img {
  margin-bottom: 10px;
}

.guide_detail p {
  margin-top: 0;
}

.guide_logo {
  max-width: 230px;
  padding: 20px;
  border: 1px solid #aaa;
}

.guide_payment_list {
  margin-bottom: 40px;
}

.guide_payment_list li {
  position: relative;
  padding-bottom: 40px;
}
.guide_payment_list li:last-child {
  padding-bottom: 0;
}
.guide_payment_list li::after {
  position: absolute;
  content: "";
  left: calc(50% - 10px);
  bottom: 10px;
  width: 20px;
  height: 20px;
  background: url(../common/icon_pulus.svg);
  background-size: cover;
}
.guide_payment_list li:last-child::after {
  content: none;
}

.guide_payment_list li span {
  display: block;
  padding: 10px 15px;
  border: 1px solid #aaa;
  font-size: 1.125rem;
  text-align: center;
  line-height: 1.2;
}
.guide_payment_list li span span,
.guide_payment_list li.notice span span {
  display: inline-block;
  padding: 0;
}
.guide_payment_list li.notice span {
  padding: 10px 20px;
  border: none;
  background: #eaf0df;
}

/* テーブル
-----------------------------------------------------------*/

.tbl {
  margin: 20px 0;
  border-collapse: collapse;
  text-align: left;
}
.tbl th {
  padding: 10px;
  border: 1px solid #aaa;
  background: #f5f5f5;
}
.tbl td {
  padding: 10px;
  border: 1px solid #aaa;
}

.tbl_wide {
  width: 100%;
}

.guide_tbl {
  text-align: center;
}

.guide_tbl thead th {
  border-color: #f5f5f5 #f5f5f5 #aaa #f5f5f5;
  background: #f5f5f5;
  text-align: center;
}
.guide_tbl th {
  padding: 8px;
  border: 1px solid #aaa;
  background: none;
  font-weight: normal;
  text-align: left;
}
.guide_tbl td {
  padding: 8px;
  border: 1px solid #aaa;
}
