@charset "UTF-8";
/***********************************************************************
import
**********************************************************************/
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;700&display=swap');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanrp.css');

/***********************************************************************
変数設定
**********************************************************************/
:root {
  --ff          : YakuHanRP, 'Roboto', 'Zen Kaku Gothic New', sans-serif;
  --fs_base     : 1.6rem;
  --fs_base-s   : 1.4rem;
  --fs_large    : 1.8rem;
  --fs_large-s  : 1.6rem;
  --fs_small    : 1.4rem;
  --fs_small-s  : 1.2rem;
  --fs_h1       : 3.0rem;
  --fs_h1-s     : 2.4rem;
  --fs_h2       : 2.6rem;
  --fs_h2-s     : 2.2rem;
  --fs_h3       : 2.2rem;
  --fs_h3-s     : 1.8rem;
  --fs_h4       : 1.9rem;
  --fs_h4-s     : 1.6rem;
  --fs_h5       : 1.7rem;
  --fs_h5-s     : 1.5rem;
  --fs_h6       : 1.6rem;
  --fs_h6-s     : 1.4rem;
  --fw_normal   : 400;
  --fw_bold     : 700;
  --ls_normal   : .05em;
  --lh_base     : 1.8;
  --lh_headline : 1.5;
  --c_text      : #111;
  --c_price     : #cc0000;
  --c_main      : #006a6c;
  --c_main-2    : #ff8a0f;
  --c_base-1    : #faf8eb;
  --c_base-2    : #edf7db;
  --c_base-3    : #e0dfd5;
  --c_base-4    : #ffe8ca;
  --c_mono-f    : #fff;
  --c_mono-e    : #eee;
  --c_mono-d    : #ddd;
  --c_mono-c    : #ccc;
  --c_mono-b    : #bbb;
  --c_mono-a    : #aaa;
  --c_mono-9    : #999;
  --c_mono-8    : #888;
  --c_mono-7    : #777;
  --c_mono-6    : #666;
  --c_mono-5    : #555;
  --c_mono-4    : #444;
  --c_mono-3    : #333;
  --c_mono-2    : #222;
  --c_mono-1    : #111;
  --c_mono-0    : #000;
  --c_mono-01   : #d9d9d9;
  --c_mono-02   : #f3f3f3;
  --c_mono-03   : #d3d3d3;
  --c_red       : #f9e9e8;
  --c_border    : #e0dfd5;
  --br_small    : 3px;
  --br_base     : 4px;
  --br_large    : 10px;
  --op_base     : .6;
}

/***********************************************************************
基本設定
**********************************************************************/
body {
  color: var(--c_text);
  font-family: var(--ff);
  font-size: var(--fs_base);
  font-weight: var(--fw_normal);
  line-height: var(--lh_base);
  letter-spacing: var(--ls_normal);
  /* -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale */
}
@media screen and (max-width: 509px) {
  body {
  font-size: var(--fs_base-s);
  }
}

h1,h2,h3,h4,h5,h6 {
  font-weight: var(--fw_bold);
  line-height: var(--lh_headline);
  margin-bottom: 10px;
}
h1 {
  font-size: var(--fs_h1);
}
h2 {
  font-size: var(--fs_h2);
}
h3 {
  font-size: var(--fs_h3);
}
h4 {
  font-size: var(--fs_h4);
}
h5 {
  font-size: var(--fs_h5);
}
h6 {
  font-size: var(--fs_h6);
}
@media screen and (max-width: 509px) {
  h1 {
    font-size: var(--fs_h1-s);
  }
  h2 {
    font-size: var(--fs_h2-s);
  }
  h3 {
    font-size: var(--fs_h3-s);
  }
  h4 {
    font-size: var(--fs_h4-s);
  }
  h5 {
    font-size: var(--fs_h5-s);
  }
  h6 {
    font-size: var(--fs_h6-s);
  }
}

p {
  margin-bottom: 10px;
}

div,
p,
a {
  color: var(--c_text);
  font-size: var(--fs_base);
  font-weight: var(--fw_normal);
  line-height: var(--lh_base);
  letter-spacing: var(--ls_normal);
  transition: all .2s;
}
@media screen and (max-width: 509px) {
  div,
  p,
  a {
    font-size: var(--fs_base-s);
  }
}

a:hover {
  text-decoration: none;
  opacity: var(--op_base);
}

.fs-pt-menu * {
  transition-property: initial;
  transition-duration: .2s;
  transition-timing-function: initial;
  transition-delay: initial;
}

button {
  letter-spacing: var(--ls_normal);
}

[type=hidden],
[type=text],
[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 {
  font-size: var(--fs_base);
  padding: 10px;
}
@media screen and (max-width: 509px) {
  [type=hidden],
  [type=text],
  [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 {
    font-size: var(--fs_base-s);
    padding: 8px;
  }
}

.inner-wrap {
  max-width: 1230px;
  margin: 0 auto;
}
@media screen and (max-width: 1260px) {
  .inner-wrap {
    padding: 0 20px;
  }
}
@media screen and (max-width: 979px) {
  .inner-wrap {
    padding: 0 15px;
  }
}
.fs-l-main {
  max-width: 1230px;
  column-gap: 60px;
  flex-direction: row-reverse;
  margin: 0 auto;
  padding: 45px 0 60px;
}
@media screen and (min-width: 1261px) {
  .fs-body-top .fs-l-main {
    padding: 75px 0;
  }
}
@media screen and (max-width: 1260px) {
  .fs-l-main {
    column-gap: 45px;
    padding: 45px 20px;
  }
}
@media screen and (max-width: 979px) {
  .fs-l-main {
    padding: 15px 20px 45px;
  }
}
@media screen and (max-width: 509px) {
  .fs-l-main {
    padding: 15px 15px 45px;
  }
}

.fs-l-main.c-one {
  flex-direction: column;
}
@media screen and (min-width: 1261px) {
  .fs-l-main.c-one {
    padding: 30px 0 60px;
  }
}
@media screen and (min-width: 980px) {
  .fs-l-main.c-one {
    padding: 30px 20px 45px;
  }
}

.fs-l-main.c-one.narrow {
  max-width: 840px;
}
.section-group {
  margin-bottom: 60px;
}
.content-group {
  margin-bottom: 30px;
}
.fs-l-pageMain > .section-group:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 980px) {
  .fs-l-main.c-one .fs-l-sideArea {
    display: none;
  }
}

@media screen and (min-width: 980px) {
  .is-sp {
    display: none !important;
  }
}
@media screen and (max-width: 979px) {
  .is-pc {
    display: none !important;
  }
}

.button {
  color: var(--c_mono-f);
  background: var(--c_main-2);
  text-align: center;
  display: inline-block;
  padding: 10px 30px;
  border-radius: var(--br_base);
}
.button:hover {
  color: var(--c_mono-f);
}
.button:visited {
  color: var(--c_mono-f);
}
.button [class^="icon-arrow-"]::before {
  border-color : var(--c_mono-f);
}

button,
.fs-c-button--plain,
.fs-c-button--particular,
.fs-c-button--primary,
.fs-c-button--secondary {
  transition: all .2s;
}
button:hover,
a.fs-c-button--plain:hover,
button.fs-c-button--plain:hover,
a.fs-c-button--particular:hover,
button.fs-c-button--particular:hover,
.fs-c-button--primary:hover,
.fs-c-button--secondary:hover {
  text-decoration: none;
  opacity: var(--op_base);
}
.fs-c-button--standard.fs-c-button--cancel {
  line-height: 1.8;
}

.fs-c-button--primary {
  color: var(--c_mono-f);
  background: var(--c_price);
  font-weight: var(--fw_bold);
  text-align: center;
  padding: 10px 30px;
  border-radius: var(--br_base);
}
.fs-c-button--secondary,
.fs-c-button--continueShopping {
  background: var(--c_mono-f);
  font-weight: bold;
  text-align: center;
  padding: 10px 30px;
  border: 1px solid var(--c_text);
  border-radius: var(--br_base);
}
.fs-c-button--standard {
  transition: all .2s;
}
.fs-c-button--standard:hover {
  text-decoration: none;
  opacity: var(--op_base);
}
.fs-c-button--standard.fs-c-button--edit,
.fs-c-button--standard.fs-c-button--delete {
  color: var(--c_text);
  background: var(--c_mono-f);
  font-size: var(--fs_small);
  padding: 10px 15px;
  border: 1px solid var(--c_text);
  box-shadow: none;
}
.fs-c-button--standard.fs-c-button--edit:hover,
.fs-c-button--standard.fs-c-button--edit:visited,
.fs-c-button--standard.fs-c-button--edit:active,
.fs-c-button--standard.fs-c-button--delete:hover,
.fs-c-button--standard.fs-c-button--delete:visited,
.fs-c-button--standard.fs-c-button--delete:active {
  color: var(--c_text);
}

.fs-c-button--standard.fs-c-button--cancel {
  color: var(--c_text);
  background: var(--c_mono-02);
  font-size: var(--fs_small);
  padding: 10px 15px;
  border: none;
  box-shadow: none;
}
.fs-c-button--standard.fs-c-button--cancel:hover,
.fs-c-button--standard.fs-c-button--cancel:visited,
.fs-c-button--standard.fs-c-button--cancel:active {
  color: var(--c_text);
}

.fs-l-pageMain ul,
.fs-l-pageMain ul li {
  list-style-type: disc;
}
.fs-l-pageMain ol,
.fs-l-pageMain ol li {
  list-style-type: decimal;
}
.fs-l-pageMain ul,
.fs-l-pageMain ol {
  padding-left: 20px;
}

.fs-p-searchForm input {
  background: var(--c_mono-f);
  font-size: var(--fs_small);
  padding: 5px 10px;
  border: 1px solid var(--c_border);
  border-radius: var(--br_base) 0 0 var(--br_base);
}
.fs-p-searchForm input:focus {
  border: 1px solid var(--c_border);
}
.fs-p-searchForm .fs-p-searchForm__button {
  color: var(--c_mono-f);
  background: var(--c_text);
  font-size: var(--fs_small);
  display: flex;
  column-gap: 5px;
  align-items: center;
  padding: 5px 15px;
  border-radius: 0 var(--br_base) var(--br_base) 0;
}
.fs-p-searchForm .fs-p-searchForm__button::before {
  content: '';
  background: url('../item/images/icon-search.svg') no-repeat;
  display: block;
  position: initial;
  width: 16px;
  height: 16px;
}

#fs_form[action]:has(.fs-c-fsLoginField),
#fs_form[action]:has(.fs-c-accountPasswordField) {
  background: var(--c_base-1);
  padding: 45px;
}
@media screen and (max-width: 509px) {
  #fs_form[action]:has(.fs-c-fsLoginField),
  #fs_form[action]:has(.fs-c-accountPasswordField) {
    padding: 25px 20px;
  }
  #fs_form[action]:has(.fs-c-fsLoginField) .fs-c-inputTable > tbody > tr + tr,
  #fs_form[action]:has(.fs-c-accountPasswordField) .fs-c-inputTable > tbody > tr + tr {
    margin-top: 20px;
  }
  #fs_form[action]:has(.fs-c-fsLoginField) .fs-c-assist.is-error,
  #fs_form[action]:has(.fs-c-accountPasswordField) .fs-c-assist.is-error {
    margin-bottom: 0;
    padding: 5px 0 0;
  }
  #fs_form[action]:has(.fs-c-fsLoginField) .fs-c-assist__message,
  #fs_form[action]:has(.fs-c-accountPasswordField) .fs-c-assist__message {
    font-size: var(--fs_small-s);
    line-height: var(--lh_headline);
  }
}

/* 見出し */
.page-headline {
  color: var(--c_main);
  width: 100%;
  position: relative;
  margin-bottom: 30px;
  padding: 15px 0 15px 10px;
}
.page-headline::before {
  content: '';
  background: linear-gradient(to bottom, var(--c_main) 0px, var(--c_main) 2px, transparent 2px, transparent 4px, var(--c_main) 4px, var(--c_main) 5px);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
}
.page-headline::after {
  content: '';
  background: linear-gradient(to bottom, var(--c_main) 0px, var(--c_main) 1px, transparent 1px, transparent 3px, var(--c_main) 3px, var(--c_main) 5px);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
}
@media screen and (max-width: 509px) {
  /* .page-headline {
    margin: 0 -15px 30px;
  }
  .page-headline::before,
  .page-headline::after {
    right: -30px;
  } */
}

.headline-h2 {
  color: var(--c_main);
  background: var(--c_base-2);
  margin-bottom: 20px;
  padding: 10px 15px;
}
.headline-h3 {
  margin-bottom: 15px;
  padding-left: 10px;
  border-left: 4px solid var(--c_main);
}
.headline-h4 {
  position: relative;
  padding-left: 20px;
  display: flex;
  align-items: center;
}
.headline-h4::before {
  content: '';
  background: var(--c_main);
  position: absolute;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.icon-arrow-right {
  display: inline-block;
  width: 9px;
  height: 8px;
  position: relative;
  margin-right: 8px;
}
.icon-arrow-right::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-top: 1.5px solid var(--c_text);
  border-right: 1.5px solid var(--c_text);
  transform: rotate(45deg);
}
.icon-arrow-down {
  display: inline-block;
  width: 9px;
  height: 8px;
  position: relative;
  margin: 0 8px 3px 0;
}
.icon-arrow-down::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid var(--c_text);
  border-bottom: 1.5px solid var(--c_text);
  transform: rotate(45deg);
}

/***********************************************************************
共通ヘッダー
**********************************************************************/
.fs-l-header--min {
  padding: 10px 0;
  border-bottom: 1px solid var(--c_border);
}
.fs-l-header--min h1 {
  margin: 0;
}

@media screen and (max-width: 979px) {
  .fs-l-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    background: #fff;
  }
}
.header-top {
  background: var(--c_base-1);
  font-size: var(--fs_small);
  padding: 5px 0;
}
@media screen and (max-width: 979px) {
  .header-top {
    display: none;
  }
}
.header-top .display-flex {
  justify-content: space-between;
}
.header-top p {
  font-size: var(--fs_small);
  font-weight: var(--fw_normal);
  line-height: var(--lh_headline);
  margin-bottom: 0;
}

.header-guide ul {
  display: flex;
  gap: 20px;
}
.header-guide ul li a {
  font-size: var(--fs_small);
  line-height: var(--lh_headline);
  position: relative;
  padding-left: 10px;
}
.header-guide ul li a:before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 0;
  left: -3px;
  bottom: 0;
  margin: auto;
  border-top: 1.5px solid var(--c_text);
  border-right: 1.5px solid var(--c_text);
  transform: rotate(45deg);
}

.header-main {
  background: var(--c_mono-f);
  padding: 15px 0;
}
@media screen and (max-width: 979px) {
  .header-main {
    position: relative;
    padding: 0;
    border-bottom: 1px solid var(--c_border);
    z-index: 99999;
  }
}
.header-main .inner-wrap > .display-flex {
  gap: 45px;
  align-items: center;
}
@media screen and (max-width: 1260px) {
  .header-main .inner-wrap > .display-flex {
    gap: 20px;
  }
}
@media screen and (max-width: 979px) {
  .header-main .inner-wrap {
    max-width: none;
    padding: 0;
  }
  .header-main .inner-wrap > .display-flex {
    gap: 20px;
  }
}

.header-main h1 {
  margin-bottom: 0;
  line-height: 1;
}
.fs-l-header__logo .fs-p-logo {
  padding: 0;
}
.fs-l-header__logo .fs-p-logo__image {
  max-width: 250px;
  width: 100%;
}
@media screen and (max-width: 979px) {
  .fs-l-header__logo {
    padding-left: 20px;
  }
}
@media screen and (max-width: 509px) {
  .fs-l-header__logo {
    padding-left: 15px;
  }
  .fs-l-header__logo .fs-p-logo__image {
    max-width: 200px;
  }
}

.header-main .fs-p-searchForm input {
  background: var(--c_mono-02);
  width: 282px;
  border-color: var(--c_mono-b);
}
.header-main .fs-p-searchForm__button {
  padding: 8px 15px;
}

/* サイドナビ */
.header-side-nav {
  margin-left: auto;
}

.header-side-nav .fs-clientInfo {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 1260px) {
  .header-side-nav .fs-clientInfo {
    gap: 10px;
  }
}

.header-side-nav li {
  position: relative;
}

.header-side-nav a {
  font-size: 1.2rem;
  line-height: var(--lh_headline);
  display: flex;
  gap: 5px;
  flex-direction: column;
  align-items: center;
}
.header-side-nav a::before {
  content: '';
  display: block;
  width: 25px;
  height: 22px;
}
.header-side-nav .utility-menu_login a::before {
  background: url('../item/images/icon-login.svg') center center no-repeat;
}
.header-side-nav .utility-menu_register a::before {
  background: url('../item/images/icon-sign-up.svg') center center no-repeat;
}
.header-side-nav .utility-menu_mypage a::before {
  background: url('../item/images/icon-login.svg') center center no-repeat;
}
.header-side-nav .utility-menu_cart a::before {
  background: url('../item/images/icon-cart.svg') center center no-repeat;
}
@media screen and (max-width: 979px) {
  .header-side-nav .utility-menu_cart a::before {
    background-image: url('../item/images/icon-cart-r.svg');
  }
}
.header-side-nav .utility-menu_wishlist a::before {
  background: url('../item/images/icon-favorite.svg') center center no-repeat;
}
.header-side-nav .utility-menu_login.clientInfo-true,
.header-side-nav .utility-menu_register.clientInfo-true {
  display: none;
}
.header-side-nav .utility-menu_mypage.clientInfo-false {
  display: none;
}
@media screen and (max-width: 979px) {
  .header-side-nav .menu-text {
    display: none;
  }
}

.utility-menu_cart .fs-p-cartItemNumber {
  line-height: 17px;
  text-align: center;
  text-indent: 1px;
  display: block;
  width: 16px;
  height: 16px;
  top: -8px;
  right: 18px;
  padding: 0;
  border-radius: 50%;
}
.utility-menu_cart .fs-p-cartItemNumber.fs-client-cart-count--0 {
  display: none;
}
@media screen and (max-width: 979px) {
  .utility-menu_cart .fs-p-cartItemNumber {
    right: -8px;
  }
}

/* ドロワーメニュートグル */
.header-nav-menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 6px;
  width: 60px;
  height: 60px;
  border-left: 1px solid var(--c_border);
  transition: all 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
}
.header-nav-menu::after {
  content: 'メニュー';
  font-size: 1rem;
  font-weight: var(--fw_bold);
  line-height: 1;
  letter-spacing: -0.15rem;
}
.header-nav-menu.open {
  background: var(--c_main);
}
.header-nav-menu.open::after {
  content: '閉じる';
  color: var(--c_mono-f);
}

.nav-menu-toggle {
  position: relative;
  width: 20px;
  height: 14px;
}
.nav-menu-toggle span {
  background: var(--c_text);
  text-align: center;
  display: block;
  position: absolute;
  left: 0;
  width: 20px;
  height: 2px;
  transition: all .3s;
}
.nav-menu-toggle span:nth-child(1) {
  top: 0;
}
.nav-menu-toggle span:nth-child(2) {
  top: 6px;
}
.nav-menu-toggle span:nth-child(3) {
  top: 12px;
}
.nav-menu-toggle.open span {
  background: var(--c_mono-f);
}
.nav-menu-toggle.open span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.nav-menu-toggle.open span:nth-child(2) {
  background: transparent;
}
.nav-menu-toggle.open span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}
@media screen and (min-width: 980px) {
  .header-nav-menu {
    display: none;
  }
}

/* グローバルナビゲーション */
.header-navigation {
  background: var(--c_main);
}

.header-navigation .header-nav-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  position: relative;
}

.header-navigation .header-nav-item {
  text-align: center;
  list-style: none;
  margin-top: 10px;
  padding-bottom: 10px;
}

.header-navigation .header-nav-item .header-nav-line {
  border-left: 1px solid var(--c_mono-f);
}
.header-navigation .header-nav-item:last-child .header-nav-line {
  border-right: 1px solid var(--c_mono-f);
}

.header-navigation .header-nav-item .header-nav-line > a {
  color: var(--c_mono-f);
  font-size: var(--fs_base);
  font-weight: var(--fw_bold);
  line-height: var(--lh_headline);
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2px 0;
  transition: .2s;
}
@media screen and (max-width: 1260px) {
  .header-navigation .header-nav-item .header-nav-line > a {
    font-size: var(--fs_small);
  }
}

[class*=nav-icon-]::before {
  content: '';
  display: block;
  width: 21px;
  height: 21px;
  margin-right: 10px;
}
_:lang(x)::-internal-media-controls-overlay-cast-button, [class*=nav-icon-]::before {
  margin-bottom: 2px;
}
@media screen and (max-width: 1260px) {
  [class*=nav-icon-]::before {
    width: 18px;
    height: 18px;
    margin-right: 8px;
  }
}
.header-navigation .header-nav-item a .nav-icon-genre::before {
  background: url('../item/images/nav-menu-genre.svg') no-repeat center center;
}
.header-navigation .header-nav-item a .nav-icon-area::before {
  background: url('../item/images/nav-menu-area.svg') no-repeat center center;
}
.header-navigation .header-nav-item a .nav-icon-feature::before {
  background: url('../item/images/nav-menu-feature.svg') no-repeat center center;
}
.header-navigation .header-nav-item a .nav-icon-ranking::before {
  background: url('../item/images/nav-menu-ranking.svg') no-repeat center center;
}
.header-navigation .header-nav-item a .nav-icon-contact::before {
  background: url('../item/images/nav-menu-contact.svg') no-repeat center center;
}
.header-navigation .header-nav-item:hover a:has(.nav-icon-ranking),
.header-navigation .header-nav-item:hover a:has(.nav-icon-inquiry) {
  opacity: var(--op_base);
}
.header-navigation .header-nav-item a .icon-arrow-bottom::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  margin: 0 0 4px 6px;
  border-bottom: 2px solid var(--c_mono-f);
  border-left: 2px solid var(--c_mono-f);
  transform: rotate(-45deg);
  transition: all .2s;
}
.header-navigation .header-nav-item:hover .icon-arrow-bottom::before {
  transform: translateY(3px) rotate(135deg);
  transition: .2s;
}

.header-nav-child {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0);
  border-radius: var(--br_large);
  overflow: visible;
  transition: box-shadow 0.2s ease-in 0.15s;
  pointer-events: none;
}
.header-nav-child[aria-expanded="true"] {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
  pointer-events: auto;
}

.header-navigation .header-nav-child-inner {
  background: var(--c_base-1);
  padding: 45px;
  opacity: 0;
  border-radius: var(--br_large);
  visibility: hidden;
  clip-path: inset(-10px 0 100% 0);
  transition:
    opacity 0.2s ease,
    visibility 0.3s ease,
    max-height 0.3s ease,
    clip-path 0.3s cubic-bezier(.7,0,.2,1);
}
.header-nav-child[aria-expanded="true"] .header-nav-child-inner {
  opacity: 1;
  visibility: visible;
  clip-path: inset(-10px 0 0 0);
}

.nav-child-arrow {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid var(--c_base-1);
  z-index: 1001;
  display: none;
}
.header-nav-child[aria-expanded="true"] .header-nav-child-inner > .nav-child-arrow {
  display: block;
}

.header-navigation .header-nav-child .category-list {
  display: grid;
  column-gap: 30px;
  row-gap: 15px;
  grid-template-columns: repeat(5, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 1260px) and (min-width: 980px) {
  .header-navigation .header-nav-child .category-list {
    column-gap: 45px;
    grid-template-columns: repeat(4, 1fr);
  }
}

.header-navigation .header-nav-child .category-list li {
  margin: 0;
  padding: 0;
}

.header-navigation .header-nav-child .category-list li a {
  color: var(--c_text);
  display: flex;
  align-items: center;
  text-decoration: none;
}

.header-navigation .header-nav-child .category-list li a img {
  width: 38px;
  height: 38px;
  margin-right: 10px;
}

/***********************************************************************
サイドエリア
**********************************************************************/
.fs-l-sideArea + .fs-l-pageMain,
.fs-l-pageMain + .fs-l-sideArea {
  max-width: 240px;
}
@media screen and (max-width: 979px) {
  .fs-l-sideArea + .fs-l-pageMain,
  .fs-l-pageMain + .fs-l-sideArea {
    width: 100vw;
    max-width: none;
    height: 100vh;
  }
  #drawer-menu {
    background: var(--c_mono-f);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: -100vh;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 15px 10px;
    z-index: 9999;
    transition: all 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
    visibility: hidden;
    height: 100vh;
    max-height: 100vh;
    width: 100%;
    box-sizing: border-box;
    /* ハードウェアアクセラレーションの最適化 */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    will-change: transform, top, visibility;
  }
  #drawer-menu.menu-open {
    top: 0;
    visibility: visible;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch !important;
    /* スムーズな開閉のための最適化 */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  #drawer-menu.resizing {
    transition: none;
  }
  
    /* モバイルでのスクロール問題を解決 */
  @media screen and (max-width: 979px) {
    #drawer-menu {
      /* スマホ専用の最適化 */
      transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-perspective: 1000px;
      perspective: 1000px;
      will-change: transform, top, visibility;
    }
    
    #drawer-menu .fs-l-sideArea {
      padding-bottom: 15px;
    }
    
    #drawer-menu .fs-l-sideArea .drawer-wrap {
      padding-bottom: 25px;
    }
    
    #drawer-menu .side-links {
      margin-bottom: 8px;
    }
  }
  
  /* より小さいスマートフォンでの調整 */
  @media screen and (max-width: 509px) {
    #drawer-menu {
      /* より高速なトランジション */
      transition: all 0.35s cubic-bezier(0.4, 0.0, 0.2, 1);
    }
    
    #drawer-menu .fs-l-sideArea .drawer-wrap {
      padding-bottom: 40px;
    }
    
    #drawer-menu .side-links {
      margin-bottom: 12px;
    }
  }
  
  /* モバイルブラウザの機能バー対応 */
  @supports (padding: max(0px)) {
    @media screen and (max-width: 979px) {
      #drawer-menu {
        padding-bottom: max(15px, env(safe-area-inset-bottom));
      }
      
      #drawer-menu .fs-l-sideArea .drawer-wrap {
        padding-bottom: max(25px, calc(25px + env(safe-area-inset-bottom)));
      }
    }
    
    @media screen and (max-width: 509px) {
      #drawer-menu .fs-l-sideArea .drawer-wrap {
        padding-bottom: max(20px, calc(20px + env(safe-area-inset-bottom)));
      }
    }
  }
  
  /* Safari専用の調整 */
  @media screen and (max-width: 979px) {
    @supports (-webkit-touch-callout: none) {
      #drawer-menu {
        /* iOS Safariでの最適化 */
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
      }
      
      #drawer-menu .fs-l-sideArea {
        padding-bottom: 5px;
      }
      
      #drawer-menu .fs-l-sideArea .drawer-wrap {
        padding-bottom: 8px;
      }
      
      #drawer-menu .side-links {
        margin-bottom: 3px;
      }
    }
  }
  
  @media screen and (max-width: 509px) {
    @supports (-webkit-touch-callout: none) {
      #drawer-menu {
        /* より高速なトランジション（iOS Safari） */
        transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
      }
      
      #drawer-menu .fs-l-sideArea .drawer-wrap {
        padding-bottom: 15px;
      }
      
      #drawer-menu .side-links {
        margin-bottom: 5px;
      }
    }
  }

  /* タッチデバイスでの最適化 */
  @media (hover: none) and (pointer: coarse) {
    #drawer-menu {
      /* タッチデバイスでの最適化 */
      transition: all 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
      -webkit-overflow-scrolling: touch;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }
  
  /* PCでの余白調整 */
  @media screen and (min-width: 980px) {
    #drawer-menu .fs-l-sideArea .drawer-wrap {
      padding-bottom: 30px;
    }
    
    #drawer-menu .side-links {
      margin-bottom: 20px;
    }
  }
  
  /* メニューが閉じている間はコンテンツを非表示 */
  #drawer-menu:not(.menu-open) {
    pointer-events: none;
  }
  
  /* メニューが開いている時のみ表示 */
  #drawer-menu.menu-open .drawer-top,
  #drawer-menu.menu-open .side-banner,
  #drawer-menu.menu-open .side-category {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
  }
  #drawer-menu.menu-open .side-links,
  #drawer-menu.menu-open .side-sns {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
  }
}

@media screen and (min-width: 980px) {
  .drawer-top {
    display: none;
  }
}
@media screen and (max-width: 979px) {
  .fs-l-sideArea .drawer-wrap {
    background: var(--c_mono-f);
    display: flex;
    flex-direction: column;
    padding-bottom: 50px;
    width: 100%;
    box-sizing: border-box;
  }
  .fs-l-sideArea .side-banner {
    order: 1;
    margin-top: 15px;
  }
  .fs-l-sideArea .side-sns {
    order: 2;
  }
  .fs-l-sideArea .side-links {
    order: 3;
    margin-bottom: 30px;
    width: 100%;
    display: block;
    position: relative;
  }

  .fs-l-sideArea .fs-p-searchForm,
  .fs-l-sideArea .fs-clientInfo,
  .fs-l-sideArea .drawer-about-button,
  .fs-l-sideArea .drawer-guide-menu {
    margin: 0 30px 10px;
  }

  .fs-l-sideArea .fs-p-welcomeMsg .drawer-name {
    font-weight: var(--fw_bold);
    margin: 0 2px;
  }

  .fs-l-sideArea .banner-area {
    max-width: 510px;
  }
}
@media screen and (max-width: 509px) {
  .fs-l-sideArea .fs-p-searchForm,
  .fs-l-sideArea .fs-clientInfo,
  .fs-l-sideArea .drawer-about-button,
  .fs-l-sideArea .drawer-guide-menu {
    margin: 0 0 10px;
  }
}

.fs-l-sideArea section {
  margin-bottom: 30px;
}
.fs-l-sideArea .banner-area li {
  margin-bottom: 15px;
}
@media screen and (max-width: 979px) {
  .fs-l-sideArea .side-banner {
    margin-bottom: 20px;
  }
  .fs-l-sideArea .side-sns,
  .fs-l-sideArea .side-links {
    margin-bottom: 5px;
  }
  .banner-area .side-sns-list,
  .banner-area .side-links-list {
    display: grid;
    gap: 5px;
    grid-template-columns: 1fr 1fr;
  }
  .banner-area .side-sns-list li,
  .banner-area .side-links-list li {
    margin: 0;
  }
}

.side-category .side-title {
  margin-bottom: 0;
}
.side-category-list li {
  border-bottom: 1px solid var(--c_base-3);
}
.side-category-list li a {
  display: flex;
  align-items: center;
  padding: 10px;
}
.side-category-list li img {
  max-width: 38px;
  margin-right: 10px;
  border-radius: var(--br_base);
}
.side-category-list.search-genre li i {
  margin-left: auto;
}
@media screen and (min-width: 980px) {
  .fs-l-sideArea .side-title a {
    color: var(--c_mono-f);
    background: var(--c_main);
    font-size: 1.9rem;
    font-weight: var(--fw_bold);
    line-height: var(--lh_headline);
    display: block;
    padding: 8px 10px;
    pointer-events: none;
  }
  .fs-l-sideArea .side-title a i {
    display: none;
  }
}
@media screen and (max-width: 979px) {
  .fs-l-sideArea .side-category {
    margin: 0 -10px;
  }
  .fs-l-sideArea .side-category:nth-child(n+2) {
    margin-top: -1px;
  }

  .fs-l-sideArea .side-title a {
    color: var(--c_text);
    background: var(--c_base-1);
    font-size: var(--fs_h5);
    font-weight: var(--fw_bold);
    display: flex;
    align-items: center;
    margin: 0;
    padding: 10px 25px;
    border-top: 1px solid var(--c_border);
    border-bottom: 1px solid var(--c_border);
  }

  .side-category-list {
    display: flex;
    flex-wrap: wrap;
  }

  .side-category-list li {
    width: 50%;
  }
  .side-category-list li:nth-child(odd) {
    border-right: 1px solid var(--c_border);
  }
  .side-category-list li a {
    font-size: var(--fs_small);
  }
  .side-category-list li img {
    max-width: 30px;
    margin-right: 5px;
  }
  .side-category-list.search-genre li i {
    margin-right: 0;
  }
}
@media screen and (max-width: 509px) {
  .fs-l-sideArea .side-title a {
    font-size: var(--fs_h5-s);
  }
}

.fs-p-drawer-client-info {
  margin-bottom: 15px;
}
.fs-p-drawer-client-info .client-info-list {
  display: flex;
  gap: 10px;
  align-items: center;
}
.fs-p-drawer-client-info .client-info-list li {
  flex: 1;
}
.fs-p-drawer-client-info .client-info-list a {
  font-size: var(--fs_small);
  line-height: var(--lh_base);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 20px;
  border: 1px solid var(--c_main);
  border-radius: var(--br_base);
}
.fs-p-drawer-client-info .client-info-list a::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
}
.fs-p-drawer-client-info .client-info-list .utility-menu_login a,
.fs-p-drawer-client-info .client-info-list .utility-menu_mypage a {
  color: var(--c_mono-f);
  background: var(--c_main);
}
.fs-p-drawer-client-info .client-info-list .utility-menu_register a,
.fs-p-drawer-client-info .client-info-list .utility-menu_wishlist a {
  color: var(--c_main);
}
.fs-p-drawer-client-info .client-info-list .utility-menu_login a::before {
  background: url('../item/images/icon-login-w.svg') center center no-repeat;
}
.fs-p-drawer-client-info .client-info-list .utility-menu_register a::before {
  background: url('../item/images/icon-sign-up-g.svg') center center no-repeat;
}
.fs-p-drawer-client-info .client-info-list .utility-menu_mypage a::before {
  background: url('../item/images/icon-login-w.svg') center center no-repeat;
}
.fs-p-drawer-client-info .client-info-list .utility-menu_wishlist a::before {
  background: url('../item/images/icon-favorite-g.svg') center center no-repeat;
}

.fs-p-drawer-client-info .client-info-list .utility-menu_login.clientInfo-true,
.fs-p-drawer-client-info .client-info-list .utility-menu_register.clientInfo-true {
  display: none;
}
.fs-p-drawer-client-info .client-info-list .utility-menu_mypage.clientInfo-false,
.fs-p-drawer-client-info .client-info-list .utility-menu_wishlist.clientInfo-false {
  display: none;
}

.drawer-about-button {
  margin-bottom: 15px;
}
.drawer-about-button .button {
  font-size: var(--fs_small);
  width: 100%;
}

.drawer-guide-menu {
  margin-bottom: 15px;
}
.drawer-guide-menu .guide-menu-list {
  display: flex;
}
.drawer-guide-menu .guide-menu-list li {
  flex: 1;
  border-right: 1px solid var(--c_border);
}
.drawer-guide-menu .guide-menu-list li:last-child {
  border: none;
}
.drawer-guide-menu .guide-menu-list a {
  font-size: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  padding: 10px;
}
.drawer-guide-menu .guide-menu-list a::before {
  content: '';
  display: block;
  width: 28px;
  height: 28px;
}
.drawer-guide-menu .guide-menu-list .utility-menu_guide a::before {
  background: url('../item/images/sp-menu-guide.svg') center center no-repeat;
}
.drawer-guide-menu .guide-menu-list .utility-menu_faq a::before {
  background: url('../item/images/sp-menu-faq.svg') center center no-repeat;
}
.drawer-guide-menu .guide-menu-list .utility-menu_contact a::before {
  background: url('../item/images/sp-menu-contact.svg') center center no-repeat;
}

.drawer-nav-menu {
  margin: 0 -10px;
}
.drawer-nav-menu .nav-menu-list li {
  background: var(--c_base-1);
  padding: 10px 25px;
  border-top: 1px solid var(--c_border);
}
.drawer-nav-menu .nav-menu-list a {
  font-size: var(--fs_h5);
  font-weight: var(--fw_bold);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 509px) {
  .drawer-nav-menu .nav-menu-list a {
    font-size: var(--fs_h5-s);
  }
}

/***********************************************************************
コンテンツエリア
**********************************************************************/
.fs-l-pageMain {
  max-width: 930px;
}
@media screen and (max-width: 1260px) {
  .fs-l-pageMain {
    flex: 1;
  }
}
.fs-l-main.c-one .fs-l-pageMain {
  max-width: 1230px;
}

/***********************************************************************
フッターエリア
**********************************************************************/
.fs-l-footer .footer-guide {
  background: var(--c_base-2);
  padding: 60px 0;
}
.fs-l-footer .footer-guide h2 {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 30px;
  padding: 15px 0;
  border-top: 2px solid var(--c_text);
  border-bottom: 2px solid var(--c_text);
}
.footer-guide-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
}
.footer-guide-item img {
  display: block;
  width: 100%;
  max-width: 140px;
  margin: 0 auto 30px;
  border-radius: 50%;
}
.footer-guide-item h3 {
  text-align: center;
}
@media screen and (max-width: 1260px) {
  .footer-guide-container {
    gap: 45px;
  }
}
@media screen and (max-width: 979px) {
  .fs-l-footer .footer-guide {
    padding: 45px 0;
  }
  .fs-l-footer .footer-guide h2 {
    margin-bottom: 20px;
    padding: 0;
    border: none;
  }
  .footer-guide .sp-footer-guide ul {
    text-align: center;
  }
  .footer-guide .sp-footer-guide li {
    padding: 10px 0;
    border-top: 1px solid var(--c_text);
  }
  .footer-guide .sp-footer-guide li:last-child {
    border-bottom: 1px solid var(--c_text);
  }
}
@media screen and (max-width: 509px) {
  .fs-l-footer .footer-guide {
    padding: 30px 0;
  }
  .fs-l-footer .footer-guide h2 {
    font-size: 1.9rem;
    margin-bottom: 15px;
  }
}

.fs-l-footer .footer-content {
  background: var(--c_text);
  padding: 30px 0;
}
.fs-l-footer .footer-content .row-n {
  column-gap: 30px;
  grid-template-columns: 1fr auto;
}

.footer-info {
  grid-column: 1 / span 1;
  grid-row: 1 / span 2;
}

.fs-l-footer .footer-info h2 {
  color: var(--c_mono-f);
  font-size: 1.9rem;
  margin-bottom: 5px;
}

.fs-l-footer .footer-info p {
  color: var(--c_mono-f);
  font-size: var(--fs_small);
}
.fs-l-footer .footer-info p a {
  color: var(--c_mono-f);
}
.fs-l-footer .footer-info p a:active {
  color: var(--c_mono-f);
}
.fs-l-footer .footer-info p.stop-text {
  margin: 15px 0 0;
}

.fs-l-footer .footer-nav {
  justify-self: end;
}
.fs-l-footer .footer-nav ul {
  display: flex;
  gap: 30px;
}
.fs-l-footer .footer-nav li a {
  color: var(--c_mono-f);
  font-size: var(--fs_small);
}
.fs-l-footer .footer-link {
  align-self: end;
}
.fs-l-footer .footer-link a {
  display: inline-block;
}
.fs-l-footer .footer-link img {
  max-width: 240px;
  width: 100%;
}
@media screen and (max-width: 1260px) {
  .footer-info {
    max-width: 410px;
  }
  .fs-l-footer .footer-nav ul {
    gap: 15px;
  }
}
@media screen and (max-width: 979px) {
  .fs-l-footer .footer-content .row-n {
    grid-template-columns: auto;
  }
  .fs-l-footer .footer-info p.stop-text {
    margin-bottom: 30px;
  }
  .fs-l-footer .footer-nav {
    width: 100%;
    margin-bottom: 15px;
  }
  .fs-l-footer .footer-nav ul {
    display: block;
  }
  .fs-l-footer .footer-nav li {
    padding: 10px;
    border-top: 1px solid var(--c_mono-f);
  }
  .fs-l-footer .footer-nav li:last-child {
    border-bottom: 1px solid var(--c_mono-f);
  }
}
@media screen and (max-width: 509px) {
  .fs-l-footer .footer-link a {
    width: 50%;
  }
}

.fs-l-footer .footer-nav li a .icon-arrow-right::before {
  border-color: var(--c_mono-f);
}

.fs-p-footerCopyright {
  padding: 30px 0;
}
@media screen and (max-width: 509px) {
  .fs-p-footerCopyright {
    padding: 20px 0;
  }
}

.fs-p-footerCopyright__text {
  font-size: var(--fs_small);
}

/***********************************************************************
ページトップへ
**********************************************************************/
.pagetop-link {
  background: rgba(83, 174, 54, .85);
  text-align: center;
  width: 50px;
  height: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  border-radius: 50%;
  z-index: 99;
}
.pagetop-link i {
  color: var(--c_mono-f);
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 509px) {
  .pagetop-link {
    right: 20px;
    bottom: 20px;
  }
}

/***********************************************************************
パーツ
**********************************************************************/
/* カルーセル */
.fs-c-slick .slick-prev,
.fs-c-slick .slick-next {
  background: none;
  width: 50px;
  height: 50px;
  transition: all .2s;
}
.fs-c-slick .slick-prev:hover,
.fs-c-slick .slick-next:hover {
  opacity: var(--op_base);
}
.fs-c-slick .slick-prev {
  left: 28px;
}
.fs-c-slick .slick-next {
  right: 28px;
}
.fs-c-slick .slick-prev:before,
.fs-c-slick .slick-next:before {
  content: '';
  display: block;
  width: 50px;
  height: 50px;
}
.fs-c-slick .slick-prev:before {
  background: url(../item/images/c-arrow-left01.svg);
}
.fs-c-slick .slick-next:before {
  background: url(../item/images/c-arrow-right01.svg);
}

/* 任意商品一覧 */
.fs-c-productListCarousel {
  display: block;
  position: relative;
}
.fs-c-productListCarousel__ctrl {
  width: 30px;
  min-width: auto;
  height: 60px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99;
}
.fs-c-productListCarousel__ctrl.fs-c-productListCarousel__ctrl--prev {
  left: 0;
}
.fs-c-productListCarousel__ctrl.fs-c-productListCarousel__ctrl--next {
  right: 0;
}
.fs-c-button--carousel::before {
  content: '';
  display: block;
  width: 30px;
  height: 60px;
}
.fs-c-button--carousel.fs-c-button--carousel--prev::before {
  background: url(../item/images/c-arrow-left02.svg);
}
.fs-c-button--carousel.fs-c-button--carousel--next::before {
  background: url(../item/images/c-arrow-right02.svg);
}
@media screen and (max-width: 509px) {
  .fs-c-productListCarousel__ctrl {
    width: 20px;
    height: 40px;
  }
  .fs-c-button--carousel::before {
    width: 20px;
    height: 40px;
  }
}

/* 任意商品一覧（トップページ「人気商品ランキング」・商品詳細ページ「おすすめ商品」・カートページ「おすすめ商品」） */
.top-ranking-area span.fs-c-productListCarousel__ctrl {
  display: none !important;
}
.top-ranking-area .fs-c-productListCarousel__list {
  display: block;
}
.top-ranking-area div.slick-track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 15px;
  width: 100% !important;
  transform: none !important;
}
.top-ranking-area div.slick-track::before {
  content: none;
}
.top-ranking-area .fs-c-productListCarousel__list__item {
  min-width: 100%;
  margin: 0;
}
@media screen and (max-width: 1260px) {
  .top-ranking-area div.slick-track {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 25px;
  }
}
@media screen and (max-width: 509px) {
  .top-ranking-area div.slick-track {
    grid-template-columns: repeat(2, 1fr);
  }
}

.fs-body-product .fs-c-featuredProduct,
.fs-body-cart .fs-c-featuredProduct {
  max-width: 930px;
}
.fs-body-product .fs-c-featuredProduct__list span.fs-c-productListCarousel__ctrl,
.fs-body-cart .fs-c-featuredProduct__list span.fs-c-productListCarousel__ctrl {
  display: none !important;
}
.fs-body-product .fs-c-featuredProduct__list .fs-c-productListCarousel__list,
.fs-body-cart .fs-c-featuredProduct__list .fs-c-productListCarousel__list{
  display: block;
}
.fs-body-product .fs-c-featuredProduct__list div.slick-track,
.fs-body-cart .fs-c-featuredProduct__list div.slick-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 15px;
  row-gap: 20px;
  width: 100% !important;
  transform: none !important;
}
.fs-body-product .fs-c-featuredProduct__list div.slick-track::before,
.fs-body-cart .fs-c-featuredProduct__list div.slick-track::before {
  content: none;
}
.fs-body-product .fs-c-featuredProduct__list .fs-c-productListCarousel__list__item,
.fs-body-cart .fs-c-featuredProduct__list .fs-c-productListCarousel__list__item {
  min-width: 100%;
  margin: 0;
}
@media screen and (max-width: 1260px) {
  .fs-body-product .fs-c-featuredProduct__list div.slick-track,
  .fs-body-cart .fs-c-featuredProduct__list div.slick-track {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 509px) {
  .fs-body-product .fs-c-featuredProduct__list div.slick-track,
  .fs-body-cart .fs-c-featuredProduct__list div.slick-track {
    grid-template-columns: repeat(2, 1fr);
  }
}

/***********************************************************************
TOPページ
**********************************************************************/
/* キーワード検索フォーム */
@media screen and (max-width: 979px) {
  .fs-p-searchForm {
    margin-bottom: 10px;
  }
}

.search-keyword {
  padding: 10px 0;
  border-bottom: 1px solid var(--c_base-3);
}
.search-keyword .display-flex {
  align-items: center;
}
.search-keyword .keyword-title {
  margin-right: 10px;
}
.search-keyword p,
.search-keyword-list li,
.search-keyword-list li a {
  font-size: var(--fs_small);
}
.search-keyword p {
  font-weight: var(--fw_bold);
  margin-bottom: 0;
}
.search-keyword-list {
  display: flex;
  gap: 10px;
}
.search-keyword-list li a {
  background: var(--c_base-2);
  text-decoration: none;
  display: inline-block;
  padding: 2px 10px;
  border-radius: var(--br_base);
}
.search-keyword-list li a:hover {
  opacity: var(--op_base);
  transition: .2s;
}
@media screen and (max-width: 979px) {
  .search-keyword {
    padding: 15px 0;
  }
  .search-keyword .display-flex {
    flex-direction: column;
    align-items: start;
  }
  .search-keyword .keyword-title {
    margin-right: 0;
    margin-bottom: 5px;
  }
  .search-keyword-list {
    column-gap: 8px;
    row-gap: 5px;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 509px) {
  .search-keyword {
    padding: 10px 0;
  }
  .search-keyword-list li a {
    font-size: var(--fs_small-s);
  }
}

/* アイキャッチ・特集カルーセル */
@media screen and (max-width: 509px) {
  .top-eyecath-area .inner-wrap {
    padding: 0;
  }
}
.about-link-image {
  margin-top: 10px;
}
.fs-pt-carousel {
  margin: 30px 0
}
.fs-pt-carousel .slick-slide {
  padding: 0 7.5px;
}
@media screen and (max-width: 979px) {
  .fs-pt-carousel {
    margin: 20px 0 10px;
  }
}

/* お知らせ */
.top-info-area {
  background: var(--c_base-1);
  padding: 45px 0;
}
.top-info-area .color-box-white {
  background: var(--c_mono-f);
  padding: 30px;
  border-radius: var(--br_base);
}
.top-info-area h2 {
  font-size: 2.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  padding-right: 30px;
  border-right: 1px solid var(--c_base-3);
}
.top-info-area ul {
  padding-left: 30px;
}
.top-info-area ul li.fs-pt-list__item {
  padding: 0 0 15px;
  border: none;
}
.top-info-area ul li.fs-pt-list__item:last-child {
  padding: 0;
}
.top-info-area ul li.fs-pt-list__item time {
  color: var(--c_text);
  background: initial;
  line-height: var(--lh_base);
  padding: 0 20px 0 0;
}
@media screen and (min-width: 1261px) {
  .top-info-area .color-box-white {
    width: 960px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 979px) {
  .top-info-area {
    padding: 15px 0;
  }
  .top-info-area .color-box-white {
    flex-direction: column;
    padding: 20px 15px;
  }
  .top-info-area h2 {
    font-size: 2.0rem;
    justify-content: start;
    margin-bottom: 15px;
    padding: 0 0 10px;
    border-right: none;
    border-bottom: 2px solid var(--c_border);
  }
  .top-info-area ul {
    padding: 0;
  }
  .top-info-area .fs-pt-list__link {
    display: flex;
    flex-direction: column;
  }
}

.top-info-banner,
.top-recommend-area,
.top-ranking-area,
.top-bargain-area,
.top-season-area {
  margin-bottom: 75px;
}
@media screen and (max-width: 979px) {
  .top-info-banner,
  .top-recommend-area,
  .top-ranking-area,
  .top-bargain-area,
  .top-season-area {
    margin-bottom: 45px;
  }
}

.top-headline {
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--c_base-3);
}
@media screen and (max-width: 509px) {
  .top-headline {
    margin-bottom: 25px;
  }
}

.top-recommend-area .fs-c-productListCarousel__list__item,
.top-bargain-area .fs-c-productListCarousel__list__item {
    max-width: 212.5px;
    margin: 0 10px;
}
@media screen and (max-width: 509px) {
  .top-recommend-area .fs-c-productListCarousel__list__item,
  .top-bargain-area .fs-c-productListCarousel__list__item {
    max-width: 156px;
    margin: 0 7.5px;
  }
}

/* 人気商品ランキング */
.top-ranking-area {
  background: var(--c_base-1);
  padding: 30px;
  border-radius: var(--br_large);
}
@media screen and (max-width: 979px) {
  .top-ranking-area {
    padding: 30px 15px;
  }
}
@media screen and (max-width: 509px) {
  .top-ranking-area {
    margin: 0 -15px 45px;
    border-radius: 0;
  }
}

.top-ranking-area .fs-c-slick .slick-slide::before {
  content: '';
  background: no-repeat center left / 30px 24px;
  font-size: 2.2rem;
  font-weight: var(--fw_bold);
  line-height: 1;
  display: block;
  margin-bottom: 10px;
  padding-left: 35px;
}
@media screen and (max-width: 979px) {
  .top-ranking-area .fs-c-slick .slick-slide::before {
    font-size: 2.0rem;
    background-size: 25px 20px;
    padding-left: 30px;
  }
}

.top-ranking-area .fs-c-slick .slick-slide:nth-child(1)::before {
  content: 'No.1';
  background-image: url(../item/images/rank-1th.svg);
}
.top-ranking-area .fs-c-slick .slick-slide:nth-child(2)::before {
  content: 'No.2';
  background-image: url(../item/images/rank-2th.svg);
}
.top-ranking-area .fs-c-slick .slick-slide:nth-child(3)::before {
  content: 'No.3';
  background-image: url(../item/images/rank-3th.svg);
}
.top-ranking-area .fs-c-slick .slick-slide:nth-child(4)::before {
  content: 'No.4';
  background-image: url(../item/images/rank-other.svg);
}
.top-ranking-area .fs-c-slick .slick-slide:nth-child(5)::before {
  content: 'No.5';
  background-image: url(../item/images/rank-other.svg);
}
.top-ranking-area .fs-c-slick .slick-slide:nth-child(6)::before {
  content: 'No.6';
  background-image: url(../item/images/rank-other.svg);
}
@media screen and (min-width: 1261px) {
  .top-ranking-area .fs-c-slick .slick-slide:nth-child(n+6) {
    display: none !important;
  }
}
@media screen and (max-width: 1260px) {
  .top-ranking-area .fs-c-slick .slick-slide:nth-child(n+7) {
    display: none !important;
  }
}

.top-ranking-area .fs-c-productMarks,
.top-ranking-area .fs-c-productListItem__control {
  display: none !important;
}

.top-ranking-area .fs-c-productListItem__prices{
  grid-column: 1 / span 2;
  margin-bottom: 0;
}
.top-ranking-area .fs-c-productPrices .fs-c-price__value {
  font-size: 2.2rem;
}
.top-ranking-area .fs-c-productPrices .fs-c-price__yen {
  font-size: 1.7rem;
}
.top-ranking-area .fs-c-productPrices .fs-c-productPrice__addon {
  font-size: 1.3rem;
}
@media screen and (max-width: 509px) {
  .top-ranking-area .fs-c-productPrices .fs-c-price__value {
    font-size: 1.8rem;
  }
  .top-ranking-area .fs-c-productPrices .fs-c-price__yen {
    font-size: 1.4rem;
  }
  .top-ranking-area .fs-c-productPrices .fs-c-productPrice__addon {
    font-size: 1.3rem;
  }
}

.top-ranking-area .button {
  width: 300px;
}
@media screen and (max-width: 509px) {
  .top-ranking-area .button {
    width: 80%;
    max-width: 300px;
  }
}

.top-season-area .fs-pt-column__heading {
  color: var(--c_mono-f);
  background: rgba(17, 17, 17, .7);
  font-size: 1.7rem;
  line-height: var(--lh_headline);
  margin: -35px 0 0;
  padding: 5px 10px;
}
@media screen and (max-width: 509px) {
  .top-season-area .top-headline {
    letter-spacing: 0;
  }
}

.top-furusato-area .fs-pt-column__heading {
  display: none;
}

/***********************************************************************
パンくずリスト
**********************************************************************/
.fs-c-breadcrumb .fs-c-breadcrumb__list {
  margin-bottom: 15px;
  padding: 0;
}

.fs-c-breadcrumb__listItem,
.fs-c-breadcrumb__listItem a {
  font-size: 1.2rem;
}

.fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before {
  content: '';
  background: url(../item/images/arrow-right.svg) no-repeat center / contain;
  display: inline-block;
  width: 5px;
  height: 8px;
  margin: 0 15px;
}
@media screen and (max-width: 1260px) {
  .fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before {
    margin: 0 5px;
  }
}
@media screen and (max-width: 979px) {
  .fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before {
    margin: 0 3px;
  }
}

/***********************************************************************
商品一覧
**********************************************************************/
/* 商品一覧・グループページ */
.product-list-headline {
  background: var(--c_base-2);
  margin-bottom: 30px;
  padding: 15px;
}
@media screen and (max-width: 509px) {
  .product-list-headline {
    margin: 0 -15px 25px;
    padding: 15px;
  }
}

.fs-c-subgroup {
  margin: 0 0 45px;
}
.fs-c-subgroup .fs-c-listControl {
  display: none;
}
.fs-c-subgroupList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 0;
  padding: 0 !important;
  list-style-type: none !important;
}
@media screen and (max-width: 1260px) {
  .fs-c-subgroupList {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 599px) {
  .fs-c-subgroupList {
    grid-template-columns: repeat(2, 1fr);
  }
}
.fs-c-subgroupList__item {
  background: var(--c_base-1);
  list-style-type: none !important;
}
.fs-c-subgroupList__link {
  background: none;
  grid-template-columns: 1fr auto;
  grid-template-rows: initial;
  padding: 10px 15px;
  border: none;
  transition: all .2s;
}
.fs-c-subgroupList__link:hover {
  background: none;
  opacity: var(--op_base);
}
.fs-c-subgroupList__label,
.fs-c-subgroupList__link::after {
  grid-column: auto;
  grid-row: auto;
}
.fs-c-subgroupList__link::after {
  content: '';
  background: url(../item/images/arrow-right.svg);
  width: 6px;
  height: 10px;
}
@media screen and (max-width: 979px) {
  .fs-c-subgroupList__label {
    font-size: var(--fs_small);
  }
}

.fs-c-sortItems__list {
  padding: 0 !important;
  list-style-type: none !important;
  border: none;
}
.fs-c-sortItems__list__item {
  padding: 0 !important;
  list-style-type: none !important;
}

/* 並び替え・ページャー */
.fs-c-productList__controller {
  align-items: end;
}
@media screen and (max-width: 1260px) {
  .fs-c-productList__controller {
    gap: 12px;
    flex-direction: column;
    align-items: start;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-productList__controller {
    align-items: start;
  }
  .fs-c-productList__controller:first-child .fs-c-listControl {
    display: none;
  }
  .fs-c-productList__controller:first-child .fs-c-listControl {
    justify-content: end;
  }
  .fs-c-productList__controller:last-child .fs-c-sortItems {
    display: none;
  }
  .fs-c-productList__controller:last-child .fs-c-listControl {
    gap: 10px;
    flex-direction: column;
    align-items: center;
  }
  .fs-c-productList__controller:last-child .fs-c-listControl__status {
    font-size: var(--fs_small-s);
  }
}

.fs-c-sortItems__label {
  font-size: var(--fs_small);
}
.fs-c-sortItems__label::after {
  content: '：';
}
.fs-c-sortItems__list {
  align-items: center;
}
.fs-c-sortItems__list__item.is-active .fs-c-sortItems__list__item__label {
  color: var(--c_main);
  font-weight: var(--fw_bold);
}
.fs-c-sortItems__list__item__label {
  font-size: var(--fs_small);
  line-height: 1;
  padding: 0 8px;
  border-right: 1px solid var(--c_text);
}
@media screen and (max-width: 509px) {
  .fs-c-sortItems__label {
    /* display: none; */
    font-size: var(--fs_small-s);
  }
  .fs-c-sortItems__list__item__label {
    font-size: var(--fs_small-s);
    padding: 0 5px;
    border: none;
  }
  .fs-c-sortItems__list__item:last-child .fs-c-sortItems__list__item__label {
    padding-right: 0;
  }
}

.fs-c-productList__controller .fs-c-listControl {
  align-items: end;
}
@media screen and (max-width: 1260px) {
  .fs-c-productList__controller .fs-c-listControl {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
  }
}
@media screen and (max-width: 979px) {
  .fs-c-productList__controller.fs-c-listControl {
    flex-direction: row;
  }
}

.fs-c-listControl__status {
  font-size: var(--fs_small);
}

.fs-c-pagination {
  align-items: center;
  margin: 0 0 0 10px;
}
.fs-c-pagination__item {
  font-size: var(--fs_small);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 27px;
  height: 27px;
  padding: 0;
  border-radius: var(--br_small);
}
.fs-c-pagination__item.is-active {
  background: var(--c_main);
}
span.fs-c-pagination__item:not(.is-active) {
  width: 20px;
}
[class*=fs-c-pagination__item--] {
  display: flex;
  justify-content: center;
  width: 27px;
  height: 27px;
  border: 1px solid var(--c_border);
  border-radius: var(--br_base);
}
[class*=fs-c-pagination__item--]::before {
  content: '';
  width: 6px;
  height: 8px;
}
[class*=fs-c-pagination__item--]:hover::before {
  opacity: var(--op_base);
}
.fs-c-pagination__item--prev {
  margin-right: 5px;
}
.fs-c-pagination__item--prev::before {
  background: url(../item/images/arrow-left.svg) no-repeat center / contain;
}
.fs-c-pagination__item--next {
  margin-left: 5px;
}
.fs-c-pagination__item--next::before {
  background: url(../item/images/arrow-right.svg) no-repeat center / contain;
}
@media screen and (max-width: 509px) {
  .fs-c-pagination {
    margin-left: 0;
  }
  .fs-c-productList__controller:last-child .fs-c-listControl {
    justify-content: center;
  }
}

/* 商品リスト  */
.fs-c-productList {
  margin: 0;
}
.fs-c-productList__list {
  gap: 45px 25px;
  grid-template-columns: repeat(4, 1fr);
  align-items: start;
  margin: 15px 0;
  padding: 30px 0;
  position: relative;
}
.fs-c-productList__list::before,
.fs-c-productList__list::after {
  content: '';
  background: var(--c_border);
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
}
.fs-c-productList__list::before {
  top: 0;
}
.fs-c-productList__list::after {
  bottom: 0;
}
@media screen and (max-width: 750px) {
  .fs-c-productList__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.fs-c-productListItem,
.fs-c-productListItem form {
  display: grid !important;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 0;
  border: none;
}

.fs-c-productListItem__imageContainer {
  grid-column: 1 / span 2;
  grid-row: 1;
  margin-bottom: 10px;
}
.fs-c-productListItem__imageContainer .fs-c-noImage {
  background: var(--c_base-3);
  font-size: var(--fs_h3);
  font-weight: var(--fw_bold);
  aspect-ratio: 1;
}

.fs-c-productListItem__viewMoreImageButton {
  display: none;
}

.fs-c-productName__copy {
  display: none;
}

.fs-c-productListItem__productName {
  grid-column: 1 / span 2;
  grid-row: 2;
  margin: 0;
}
.fs-c-productListItem__productName .fs-c-productName__name {
  font-size: 1.5rem;
  line-height: var(--lh_headline);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 3px;
  overflow: hidden;
}
@media screen and (max-width: 509px) {
  .fs-c-productListItem__productName .fs-c-productName__name {
    font-size: var(--fs_small);
  }
}

.fs-c-productListItem .fs-c-productMarks {
  grid-column: 1 / span 2;
  grid-row: 4;
  margin-top: 5px;
}
.fs-c-productMark {
  gap: 8px;
  padding: 0 !important;
  list-style-type: none !important;
}
.fs-c-productMark__item {
  padding: 0 !important;
  list-style-type: none !important;
}
.fs-c-productMark__mark {
  color: var(--c_mono-f);
  background: var(--c_main);
  font-size: 1.2rem;
  text-align: center;
  line-height: 1;
  padding: 6px 8px;
  border-radius: var(--br_small);
}
@media screen and (max-width: 979px) {
  .fs-c-productMark {
    gap: 5px;
  }
  .fs-c-productMark__mark {
    width: 65px;
    min-width: auto;
    padding: 5px 2px;
  }
}

.fs-c-productListItem__prices {
  font-weight: var(--fw_bold);
  grid-column: 1;
  grid-row: 3;
}
.fs-c-productListItem__prices .fs-c-productPrice--listed {
  margin-top: 3px;
}
.fs-c-productListItem__prices .fs-c-productPrice--listed .fs-c-productPrice__main__price {
  align-items: stretch;
  text-decoration: line-through;
}
.fs-c-productListItem__prices .fs-c-productPrice--listed .fs-c-price__value {
  font-size: var(--fs_base);
  line-height: 1;
}
.fs-c-productListItem__prices .fs-c-productPrice--listed .fs-c-price__yen {
  font-size: var(--fs_small);
  line-height: 1;
}
.fs-c-productListItem__prices .fs-c-productPrice__main__label {
  display: none;
}
.fs-c-productPrice__main {
  line-height: var(--lh_headline);
}
.fs-c-productPrice__main span {
  font-weight: var(--fw_bold);
}
.fs-c-productListItem__prices .fs-c-price__value {
  font-size: 2.2rem;
}
.fs-c-productListItem__prices .fs-c-price__yen {
  font-size: 1.7rem;
}
.fs-c-productListItem__prices .fs-c-productPrice__addon:where(:not([class*="--listed"])),
.fs-c-productListItem__prices .fs-c-productPrice__main__addon:where(:not([class*="--listed"])) {
  color: var(--c_price);
  font-size: var(--fs_small);
  font-weight: var(--fw_bold);
}
.fs-c-productPrice__addon:where(:not([class*="--listed"]))::before,
.fs-c-productPrice__main__addon:where(:not([class*="--listed"]))::before {
  padding-left: 2px;
}
.fs-c-productListItem__prices .fs-c-productPrice__main__joint {
  color: var(--c_price);
  margin: 0 0 0 4px;
}
.fs-c-productListItem__lowInStock,
.fs-c-productListItem__outOfStock,
.fs-c-productListItem__numberOfStock {
  color: var(--c_price);
  background: var(--c_mono-e);
  font-size: 1.5rem;
  font-weight: var(--fw_bold);
  line-height: var(--lh_base);
  grid-column: 1 / span 2;
  grid-row: 5;
  padding: 1px 8px;
  margin: 8px 0 0;
  border: none;
}
@media screen and (max-width: 979px) {
  .fs-c-productListItem__prices .fs-c-price__value {
    font-size: 1.9rem;
  }
  .fs-c-productListItem__prices .fs-c-price__yen {
    font-size: 1.4rem;
  }
  .fs-c-productListItem__prices .fs-c-productPrice__addon:where(:not([class*="--listed"])),
  .fs-c-productListItem__prices .fs-c-productPrice__main__addon:where(:not([class*="--listed"])) {
    font-size: 1.2rem;
  }
  .fs-c-productListItem__prices .fs-c-productPrice__main__joint {
    font-size: var(--fs_small);
    margin-left: 2px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-productListItem__prices .fs-c-productPrice__main__joint {
    font-size: var(--fs_small-s);
  }
}

.fs-c-productListItem__control {
  grid-column: 2;
  grid-row: 3;
}
.fs-c-productListItem__control > *:last-child {
  margin-right: 4px;
}
.fs-c-button--addToWishList--icon,
.fs-c-button--removeFromWishList--icon {
  transition: all .2s;
}
.fs-c-button--addToWishList--icon:hover,
.fs-c-button--removeFromWishList--icon:hover {
  opacity: var(--op_base);
}
.fs-c-button--addToWishList--icon img,
.fs-c-button--removeFromWishList--icon img {
  width: 23px;
  height: 100%;
}
@media screen and (max-width: 979px) {
  .fs-c-button--addToWishList--icon img,
  .fs-c-button--removeFromWishList--icon img {
    width: 20px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-button--addToWishList--icon img,
  .fs-c-button--removeFromWishList--icon img {
    width: 18px;
  }
}

.fs-c-productListItem__purchaseDisabledMessage {
  margin-right: 8px;
}

/***********************************************************************
商品詳細ページ
**********************************************************************/
.product-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 0;
  column-gap: 30px;
}
@media screen and (max-width: 1260px) {
  .product-info {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}

/* 見出し */
.fs-body-product .product-title,
.fs-c-featuredProduct__title {
  font-size: var(--fs_h3);
  margin: 60px 0 15px;
  padding-left: 10px;
  border-left: 4px solid var(--c_main);
}
.fs-c-featuredProduct__title {
  border-bottom: none;
}
.fs-body-product h3,
.fs-body-product .headline-h3 {
  font-size: var(--fs_h4);
}
@media screen and (max-width: 979px) {
  .fs-body-product .product-title,
  .fs-c-featuredProduct__title {
    font-size: var(--fs_h3-s);
    margin: 45px 0 15px;
  }
}

/* 商品画像 */
@media screen and (max-width: 1260px) {
  .fs-c-productCarouselMainImage__carousel {
    width: 100%;
    max-width: 800px;
  }
}

.fs-c-productCarouselMainImage .slick-arrow {
  display: none !important;
}

.fs-c-productCarouselMainImage .fs-c-slick .slick-list {
  height: 100% !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1;
}

.fs-c-slick.slick-slider .slick-track {
  height: 100% !important;
}

.fs-c-productCarouselMainImage .fs-c-slick .slick-slide {
  aspect-ratio: 1 / 1;
}

.fs-c-productCarouselMainImage .slick-slide > div {
  width: 450px;
}
@media screen and (max-width: 1260px) {
  .fs-c-productCarouselMainImage .slick-slide > div {
    width: 100%;
  }
}

.fs-c-productCarouselMainImage__image {
  height: 100%;
  pointer-events: none;
}

.fs-c-productCarouselMainImage img {
  width: 100%;
  max-height: 100%;
}

.fs-c-productCarouselMainImage__expandButton {
  display: none;
}

.fs-c-productCarouselMainImage .fs-c-productCarouselMainImage__thumbnailList {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, 1fr);
  padding: 0;
  list-style-type: none;
  overflow: auto;
}
@media screen and (max-width: 1260px) {
  .fs-c-productCarouselMainImage .fs-c-productCarouselMainImage__thumbnailList {
    max-width: 540px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-productCarouselMainImage .fs-c-productCarouselMainImage__thumbnailListl {
    gap: 5px;
  }
}

.fs-c-productCarouselMainImage  .fs-c-productCarouselMainImage__thumbnailList > li {
  margin: 0;
  list-style-type: none;
}

.fs-c-productCarouselMainImage .fs-c-productCarouselMainImage__thumbnail__img {
  border: none;
}

/* 商品画像・フリックなしの設定 */
/* @media screen and (max-width: 979px) {
  .product-info-image {
    max-width: 720px;
    margin: 0 auto;
  }
}
.fs-c-productMainImage {
  margin-bottom: 15px;
}
.fs-c-productMainImage__image {
  pointer-events: none;
}
.fs-c-productMainImage__expandButton {
  display: none;
}
.fs-c-productThumbnail {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, 1fr);
}
.fs-c-productThumbnail__image {
  margin: 0;
}
.fs-c-productThumbnail__image.is-active > img {
  border: none;
}
@media screen and (max-width: 979px) {
  .fs-c-productThumbnail {
    max-width: 470px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-productThumbnail {
    gap: 5px;
  }
} */


/* info-text */
.product-info .fs-c-productMarks {
  margin-bottom: 10px;
}

.fs-c-productNameHeading {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c_border);
}
.fs-c-productNameHeading .fs-c-productNameHeading__copy,
.fs-c-productNameHeading .fs-c-productNameHeading__name {
  display: block;
}
.fs-c-productNameHeading .fs-c-productNameHeading__copy {
  font-size: var(--fs_small);
  font-weight: normal;
}
.fs-c-productNameHeading .fs-c-productNameHeading__name {
  font-size: var(--fs_h4);
}
@media screen and (max-width: 509px) {
  .fs-c-productNameHeading .fs-c-productNameHeading__name {
    font-size: var(--fs_h2-s);
  }
}

/* 販売期間 */
.fs-c-productSalesPeriod {
  color: var(--c_price);
  text-align: left;
  margin-bottom: 15px;
  padding: 5px 10px;
  border-radius: var(--br_base);
  border: 1px solid var(--c_price);
}
@media screen and (max-width: 509px) {
  .fs-c-productSalesPeriod {
    font-size: var(--fs_small);
    padding: 5px;
  }
  .fs-c-productSalesPeriod__label {
    font-size: var(--fs_small-s);
  }
}

.fs-l-productLayout .fs-p-productDescription {
  margin-bottom: 30px;
}
@media screen and (max-width: 1260px) {
  .fs-l-productLayout .fs-p-productDescription {
    margin-bottom: 20px;
  }
}

/* 商品価格 */
.product-prices-area {
  display: flex;
  gap: 6px;
  align-items: end;
  margin-bottom: 10px;
}
.fs-c-productPrices--productDetail {
  font-weight: var(--fw_bold);
}
.fs-c-productPrices--productDetail .fs-c-productPrice--listed .fs-c-productPrice__main__price {
  align-items: flex-end;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--listed .fs-c-price__value {
  font-size: 22px;
  line-height: 1;
  text-decoration: line-through;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--listed .fs-c-price__yen {
  font-size: 18px;
  line-height: 1;
}
.fs-c-productPrices--productDetail .fs-c-price__yen {
  font-size: 1.8rem;
}
.fs-c-productPrices--productDetail .fs-c-productPrice__addon:where(:not([class*="--listed"])),
.fs-c-productPrices--productDetail .fs-c-productPrice__main__addon:where(:not([class*="--listed"])) {
  color: var(--c_price);
  font-size: var(--fs_small);
  font-weight: var(--fw_bold);
}
.fs-c-productPrices--productDetail .fs-c-productPrice__main__joint {
  color: var(--c_price);
}
.fs-c-productPrices--productDetail .fs-c-productPrice--selling .fs-c-price__value {
  font-size: 3.2rem;
}
.fs-c-productPointDisplay {
  color: var(--c_price);
  background: none;
  padding: 0 0 10px 0;
}
@media screen and (max-width: 509px) {
  .product-prices-area {
    flex-wrap: wrap;
  }
  .fs-c-productPrices--productDetail .fs-c-productPrice--selling .fs-c-price__value {
    font-size: var(--fs_h1-s);
    line-height: 1;
  }
  .fs-c-productPrices--productDetail .fs-c-price__yen {
    font-size: var(--fs_h5-s);
  }
  .fs-c-productPrices--productDetail .fs-c-productPrice__addon:where(:not([class*="--listed"])),
  .fs-c-productPrices--productDetail .fs-c-productPrice__main__addon:where(:not([class*="--listed"])) {
    font-size: var(--fs_small-s);
  }
  .fs-c-productPointDisplay {
    padding: 0 0 4px 0;
  }
}

/* レビュー */
.product-review {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 15px;
}
.review-count-0 {
  display: none;
}
.review-average {
  display: flex;
  align-items: center;
}
.review-average::before {
  content: '平均評価：';
  font-size: var(--fs_base);
  font-weight: var(--fw_bold);
  line-height: var(--lh_headline);
}
.review-average .fs-c-reviewStars[data-ratingCount="5.0"]::before {
  font-size: 2.2rem;
  line-height: var(--lh_base);
}
.review-average .fs-c-rating__value {
  line-height: var(--lh_headline);
  margin-left: 8px;
}
.review-link a {
  color: var(--c_main-2);
  font-size: var(--fs_small);
  text-decoration: underline;
}
@media screen and (max-width: 509px) {
  .product-review {
    column-gap: 10px;
    row-gap: 5px;
    flex-wrap: wrap;
  }
  .review-average::before {
    font-size: var(--fs_base-s);
  }
  .fs-c-reviewStars[data-ratingCount="5.0"]::before {
    font-size: var(--fs_h3-s);
  }
  .review-average .fs-c-rating__value {
    font-size: var(--fs_small);
    margin-left: 5px;
  }
}

/* 数量 */
.product-selection-area {
  background: var(--c_base-1);
  margin-bottom: 30px;
  padding: 20px;
}
.fs-l-productLayout:has(.fs-c-productNotice.fs-c-productNotice--outOfStock) .product-selection-area {
  display: none;
}

.fs-c-productQuantityAndWishlist__quantity {
  display: flex;
  align-items: center;
  max-width: none;
}
.fs-c-productQuantityAndWishlist__quantity:before {
  content: '注文数量：';
  font-weight: var(--fw_bold);
  margin-right: 5px;
}

.fs-c-productQuantityAndWishlist__quantity .fs-c-quantity__select,
.fs-c-productQuantityAndWishlist__quantity .fs-system-quantity-text {
  text-align: right;
  width: auto;
  max-width: 90px;
  padding: 10px 15px;
  border-color: var(--c_border);
  box-shadow: none;
}

.fs-c-quantity__number:focus:not(.is-error) + .fs-c-quantity__message {
  font-size: 1rem;
  line-height: 1;
  margin-left: 8px;
  padding: 4px ;
}
.fs-c-quantity__number:focus:not(.is-error) + .fs-c-quantity__message::before {
  content: '数字を入力してください';
  font-size: 1rem;
}

/* バリエーション */
.fs-c-productChooseVariation {
  margin-top: 20px;
}

.fs-c-variationPanelList {
  gap: 0;
}

.fs-c-productChooseVariation__variation ul.fs-c-variationPanelList__list {
  background: var(--c_mono-f);
  grid-template-columns: repeat(auto-fill, minmax(123px, 1fr));
  grid-auto-flow: column;
  overflow: auto hidden;
  white-space: nowrap;
  padding: 8px;
  list-style-type: none;
  border: 1px solid var(--c_border);
  border-radius: var(--br_base);

  /* WebKit系ブラウザのスクロールバーのカスタマイズ */
  &::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 10px;
    height: 14px;
  }
  &::-webkit-scrollbar-track {
    background: rgba(126, 126, 126, 0.06); /* トラックの背景色 */
    border-top: 1px solid rgba(126, 126, 126, 0.1);
    border-bottom: 1px solid rgba(126, 126, 126, 0.1);
  }
  &::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.25); /* サム（動く部分）の背景色 */
    width: 8px;
    height: 8px;
    border: 3px solid transparent;
    border-radius: 10px;
    background-clip: padding-box;
  }
}
.fs-c-productChooseVariation__variation ul.fs-c-variationPanelList__list > li {
  white-space: nowrap;
  min-width: 123px;
  list-style-type: none;
}
@media screen and (max-width: 509px) {
  .fs-c-productChooseVariation__variation ul.fs-c-variationPanelList__list {
    grid-template-columns: repeat(auto-fill, minmax(115px, 1fr));
  }
  .fs-c-productChooseVariation__variation ul.fs-c-variationPanelList__list > li {
    min-width: 115px;
  }
}

.fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel:where(:not(.fs-c-variationPanelList__panel--outOfStock)) {
  border-color: var(--c_main);
}
.fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel .fs-c-variationPanelList__panel__content {
  background: var(--c_main);
}

.fs-c-variationPanelList__panel__label {
  font-weight: var(--fw_normal);
}
.fs-c-variationPanelList__panel__content {
  min-height: auto;
  padding: 5px 8px;
}
.fs-c-variationPanelList__panel__price {
  background: var(--c_mono-f);
  padding: 5px 8px;
}
.fs-c-variationPanelList__panel__price :where(.fs-c-productVariationPrice__price) {
  color: var(--c_text);
  font-weight: var(--fw_normal);
}

/* オプション */
.fs-c-productSelection {
  margin-top: 20px;
}

.fs-c-productSelection__name,
.fs-c-productOption__name {
  background: none;
  font-size: var(--fs_base);
  margin-bottom: 5px;
  padding: 0;
}
.fs-c-requiredMark {
  display: inline-flex;
  flex-direction: column;
  width: auto;
  height: 20px;
}
.fs-c-requiredMark::before {
  content: ' 【必須】';
  color: var(--c_price);
  font-size: var(--fs_base);
}
.fs-c-productSelection__selection,
.fs-c-productOption__option {
  margin-bottom: 15px;
}
.fs-c-variationAndActions__variation {
  margin-bottom: 20px;
}
.fs-c-stockSignLegend__legend {
  padding-top: 5px;
}
.fs-c-stockSignLegend__explanation {
  line-height: var(--lh_headline);
}
.fs-c-productSelection__selection .fs-c-dropdown,
.fs-c-productOption__option .fs-c-dropdown,
.fs-c-variationSelect__select.fs-c-dropdown {
  border-radius: var(--br_base);
}
.fs-c-productSelection__selection .fs-c-dropdown__menu,
.fs-c-productOption__option .fs-c-dropdown__menu,
.fs-c-variationSelect__select .fs-c-dropdown__menu {
  line-height: var(--lh_base);
  padding: 5px 10px;
  border: 1px solid var(--c_border);
  border-radius: var(--br_base) 0 0 var(--br_base);
}
.fs-c-productSelection__selection .fs-c-dropdown__menu:focus,
.fs-c-productOption__option .fs-c-dropdown__menu:focus,
.fs-c-variationSelect__select .fs-c-dropdown__menu:focus {
  border: 1px solid var(--c_border);
}
.fs-c-dropdown::after,
.fs-c-productOption__option .fs-c-dropdown::after {
  content: '';
  background: url(../item/images/arrow-down.svg) no-repeat center / 10px 6px;
  background-color: var(--c_border);
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 2px 18px;
  border: 1px solid var(--c_border);
  border-radius: 0 var(--br_base) var(--br_base) 0;
}
@media screen and (max-width: 509px) {
  .product-selection-area {
    margin-bottom: 15px;
  }
  .fs-c-productSelection__name,
  .fs-c-productOption__name {
    font-size: 1.5rem;
  }
  .fs-c-requiredMark::before {
    font-size: var(--fs_small-s);
  }
  .fs-c-variationLabel__label {
    font-size: 1.5rem;
  }
}

/* 品切れ表示 */
.fs-c-productNotice--outOfStock {
  color: var(--c_price);
  font-size: 2.2rem;
  font-weight: var(--fw_bold);
  width: 100%;
  margin-bottom: 15px;
  padding: 20px 30px;
  border-radius: var(--br_base);
}

/* ボタン */
.fs-c-productActionButton .fs-c-button--primary {
  font-size: 2.2rem;
  width: 100%;
  margin-bottom: 15px;
  padding: 20px 30px;
}
.fs-c-button--addToCart--detail .fs-c-button__label {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
}
.fs-c-button--addToCart--detail .fs-c-button__label::before {
  content: '';
  background: url(../item/images/icon-cart-w.svg) no-repeat;
  display: block;
  width: 25px;
  height: 22px;
}
@media screen and (max-width: 979px) {
  .fs-c-productActionButton .fs-c-button--primary {
    width: 88%;
    max-width: 720px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-productActionButton .fs-c-button--primary {
    font-size: 1.8rem;
    width: 100%;
    padding: 15px 30px;
  }
  .fs-c-button--addToCart--detail .fs-c-button__label::before {
    width: 20px;
    height: 18px;
  }
}

.inquiry-favarit-container {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.fs-c-productQuantityAndWishlist,
.fs-c-inquiryAboutProduct {
  display: block;
  width: 50%;
}
.fs-c-productQuantityAndWishlist__wishlist {
  justify-self: unset;
}
.fs-c-button--particular.fs-c-button--addToWishList--detail,
.fs-c-button--particular.fs-c-button--removeFromWishList--detail,
.fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct {
  color: var(--c_text);
  background: var(--c_mono-f);
  font-size: var(--fs_base);
  font-weight: var(--fw_bold);
  line-height: var(--lh_base);
  display: flex;
  gap: 5px;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 10px 20px;
  border: 1px solid var(--c_text);
  border-radius: var(--br_base);
  box-shadow: none;
}
.fs-c-button--particular.fs-c-button--addToWishList--detail:hover,
.fs-c-button--particular.fs-c-button--removeFromWishList--detail:hover,
.fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct:hover {
  text-decoration: none;
}
.fs-c-button--particular.fs-c-button--addToWishList--detail::after,
.fs-c-button--particular.fs-c-button--removeFromWishList--detail::after {
  content: none;
}
.fs-c-button--particular.fs-c-button--addToWishList--detail::before,
.fs-c-button--particular.fs-c-button--removeFromWishList--detail::before {
  content: '';
  display: block;
  width: 20px;
  height: 18px;
}
.fs-c-button--particular.fs-c-button--addToWishList--detail::before {
  background: url(../item/images/fav-off.svg) no-repeat center;
}
.fs-c-button--particular.fs-c-button--removeFromWishList--detail::before {
  background: url(../item/images/fav-on.svg) no-repeat center;
}
.fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct::before {
  content: '';
  display: block;
  background: url(../item/images/icon-contact.svg) no-repeat center;
  width: 19px;
  height: 16px;
}
@media screen and (max-width: 979px) {
  .inquiry-favarit-container {
    width: 88%;
    max-width: 720px;
    margin: 0 auto 20px;
  }
}
@media screen and (max-width: 509px) {
  .inquiry-favarit-container {
    width: 100%;
  }
  .fs-c-button--particular.fs-c-button--addToWishList--detail,
  .fs-c-button--particular.fs-c-button--removeFromWishList--detail,
  .fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct {
    font-size: var(--fs_base-s);
    padding: 10px;
  }
  .fs-c-button--particular.fs-c-button--addToWishList--detail::before,
  .fs-c-button--particular.fs-c-button--removeFromWishList--detail::before {
    width: 16px;
    height: 14px;
  }
  .fs-c-inquiryAboutProduct .fs-c-button--inquiryAboutProduct::before {
    width: 16px;
    height: 12px;
  }
}

.product-info-lst li {
  margin-bottom: 10px;
}
.product-info-lst li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 509px) {
  .product-info-lst li {
    margin-bottom: 3px;
  }
}

/* 商品情報テーブル */
.product-detail table {
  width: 100%;
}
.product-detail table th {
  width: 16.6666%;
}
.product-detail table td {
  width: 83.3333%;
}
@media screen and (max-width: 1260px) {
  .product-detail table th {
    width: 20%;
  }
  .product-detail table td {
    width: 80%;
  }
}
@media screen and (max-width: 979px) {
  .product-detail table th {
    width: 28%;
  }
  .product-detail table td {
    width: 72%;
  }
}
@media screen and (max-width: 509px) {
  .product-detail table th {
    width: 28%;
  }
  .product-detail table td {
    width: 72%;
  }
}

/* 商品レビュー */
.fs-c-productReview {
  background: var(--c_base-1);
  display: flex;
  column-gap: 30px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 30px;
}
.fs-c-aggregateRating {
  gap: 30px;
  flex-basis: 100%;
  margin-bottom: 10px;
}
.fs-c-aggregateRating__rating {
  flex: none;
}
.fs-c-aggregateRating__rating::before {
  content: '平均評価：';
  font-size: var(--fs_base);
  font-weight: var(--fw_bold);
  flex: none;
}
.fs-c-aggregateRating__count::before {
  content: 'レビュー件数：';
}
.fs-c-productReview .fs-c-productReview__reviewList {
  flex-basis: 100%;
  padding: 0;
}
.fs-c-reviewList__item {
  margin-bottom: 15px;
}
.fs-c-reviewList__item__info {
  display: grid;
  grid-template-columns: auto 1fr;
}
.fs-c-productReview .fs-c-reviewInfo--productDescription .fs-c-reviewInfo__reviewer,
.fs-c-productReview .fs-c-reviewInfo__date {
  background: var(--c_mono-f);
  align-items: center;
  margin: 0;
  padding: 15px;
  border-top: 1px solid var(--c_border);
}
.fs-c-reviewInfo--productDescription .fs-c-reviewInfo__reviewer {
  gap: 10px;
  border-left: 1px solid var(--c_border);
}
.fs-c-reviewInfo__reviewer .fs-c-reviewerStatus {
  background: var(--c_text);
  font-size: 1.3rem;
  line-height: var(--lh_base);
  display: inline-block;
  min-width: auto;
  margin: 0;
  padding: 0 15px;
  border-radius: var(--br_small);
}
.fs-c-reviewer__profile {
  font-size: var(--fs_small);
}
.fs-c-reviewInfo__date {
  font-size: var(--fs_small);
}
.fs-c-productReview .fs-c-reviewInfo__date {
  border-right: 1px solid var(--c_border);
}
.fs-c-reviewInfo__date dt {
  font-weight: var(--fw_normal);
}
.fs-c-productReview .fs-c-reviewRating {
  background: var(--c_mono-f);
  grid-column: 1 / span 2;
  padding: 15px 15px 10px;
  border-top: 1px solid var(--c_border);
  border-left: 1px solid var(--c_border);
  border-right: 1px solid var(--c_border);
}
.fs-c-reviewInfo__stars.fs-c-reviewStars::before {
  font-size: 2rem;
  line-height: 1;
}
.fs-c-productReview .fs-c-reviewList__item__body {
  background: var(--c_mono-f);
  margin: 0;
  padding: 0 15px 15px;
  border-top: none;
}
.fs-c-button--viewAllReviews,
.fs-c-button--addReview--detail {
  display: flex;
  gap: 5px;
  justify-content: center;
  align-items: center;
  width: 240px;
  padding: 10px 15px;
  border-radius: var(--br_base);
}
.fs-c-button--plain.fs-c-button--viewAllReviews {
  color: var(--c_mono-f);
  background: var(--c_main-2);
}
.fs-c-button--plain.fs-c-button--viewAllReviews::before {
  content: '';
  background: url(../item/images/arrow-right-w.svg) no-repeat center / contain;
  display: inline-block;
  width: 6px;
  height: 10px;
}
.fs-c-button--plain.fs-c-button--addReview--detail {
  background: var(--c_mono-f);
  border: 1px solid var(--c_text);
}
.fs-c-button--plain.fs-c-button--addReview--detail::before {
  content: '';
  background: url(../item/images/icon-sign-up.svg) no-repeat center / contain;
  display: inline-block;
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 979px) {
  .fs-c-reviewList__item__info {
    grid-template-columns: 1fr;
  }
  .fs-c-productReview .fs-c-reviewInfo--productDescription .fs-c-reviewInfo__reviewer {
    padding: 15px 15px 5px;
    border-right: 1px solid var(--c_border);
  }
  .fs-c-productReview .fs-c-reviewInfo__date {
    padding: 0 15px 15px;
    border-top: none;
    border-left: 1px solid var(--c_border);
  }
  .fs-c-productReview .fs-c-reviewRating {
    grid-column: 1;
  }

  .fs-c-productReview .fs-c-buttonContainer--viewAllReviews,
  .fs-c-productReview .fs-c-buttonContainer--addReview--detail {
    justify-content: center;
    width: 100%;
  }
  .fs-c-productReview .fs-c-buttonContainer--viewAllReviews {
    order: 1;
    margin-top: 15px;
  }
  .fs-c-productReview .fs-c-button--viewAllReviews,
  .fs-c-productReview .fs-c-button--addReview--detail {
    width: 300px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-productReview {
    margin: 0 -15px;
    padding: 25px 15px;
  }

  .fs-c-aggregateRating {
    gap: 0;
    flex-wrap: wrap;
    align-items: center;
  }
  .fs-c-aggregateRating__rating::before {
    font-size: var(--fs_small);
  }
  .fs-c-aggregateRating__count {
    flex-grow: initial;
  }

  .fs-c-productReview .fs-c-reviewInfo--productDescription .fs-c-reviewInfo__reviewer {
    padding: 10px 10px 5px;
  }
  .fs-c-reviewInfo__reviewer .fs-c-reviewerStatus {
    font-size: var(--fs_small-s);
  }
  .fs-c-productReview .fs-c-reviewInfo__date {
    padding: 0 10px 10px;
  }
  .fs-c-productReview .fs-c-reviewRating {
    padding: 10px;
  }
  .fs-c-productReview .fs-c-reviewList__item__body {
    padding: 0 10px 10px;
  }
}

/* 商品を購入する */
.add-cart {
  background: rgba(255,255,255, .9);
  text-align: center;
  display: none;
  width: 100%;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 10px 0;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  z-index: 100;
}
.fs-l-productLayout:has(.fs-c-productNotice.fs-c-productNotice--outOfStock) .add-cart {
  display: none !important;
}

.add-cart .add-cart-button {
  color: var(--c_mono-f);
  background: var(--c_price);
  font-weight: var(--fw_bold);
  text-align: center;
  display: inline-block;
  width: 70%;
  max-width: 510px;
  padding: 10px 30px;
  border-radius: var(--br_base);
}
.add-cart .add-cart-button:hover,
.add-cart a.add-cart-button:visited,
.add-cart a.add-cart-button:active {
  opacity: 1;
}

/***********************************************************************
カート画面
**********************************************************************/
.fs-body-cart .fs-l-cart__contentsArea {
  grid-template-columns: 1fr 300px;
}
.fs-c-cartTableContainer {
  border-color: var(--c_mono-c);
}

.fs-c-cartTable__headerCell {
  background: var(--c_base-1);
  font-size: var(--fs_base);
  text-align: center;
  line-height: var(--lh_headline);
  border-color: var(--c_mono-c);
}

.fs-c-cartTable__headerCell--product {
  width: 510px;
}

@media screen and (max-width: 600px) {
  .fs-c-cartTable__row {
    padding-bottom: 10px;
  }
}
.fs-c-cartTable__dataCell {
  padding: 10px 8px;
  border-color: var(--c_mono-c);
}
@media screen and (max-width: 600px) {
  .fs-c-cartTable__dataCell {
    padding: 0;
  }
  .fs-c-cartTable__product > .fs-c-cartTable__productImage {
    padding: 0;
  }
}

.fs-c-cartTable__message--excludedFromDeliveryService {
  display: none;
}
.fs-c-listedProductName__name {
  font-size: var(--fs_base);
  line-height: var(--lh_headline);
}
.fs-c-listedProductName__variation {
  font-size: var(--fs_small);
}
.fs-c-listedProductName__variation::before {
  content: '[';
}
.fs-c-listedProductName__variation::after {
  content: ']';
}
.fs-c-listedProductName__selection,
.fs-c-cartTable__salesPeriod {
  font-size: var(--fs_small-s);
}
@media screen and (max-width: 509px) {
  .fs-c-cartTable__productName {
    margin-bottom: 3px;
  }
  .fs-c-listedProductName__name {
    font-size: var(--fs_base-s);
  }
  .fs-c-listedProductName__variation {
    font-size: var(--fs_small-s);
  }
}

.fs-c-priceDisplay .fs-c-productPrice__main .fs-c-productPrice__main__price,
.fs-c-priceDisplay .fs-c-productPrice__addon .fs-c-productPrice__addon__label {
  color: var(--c_text);
  font-weight: var(--fw_bold);
}
.fs-c-cartTable__actionButton__container--cancel--cart {
  margin-top: 5px;
}
.fs-c-cartTable__actionButton__container > button {
  min-width: 45px;
  padding: 5px;
  border: 1px solid var(--c_text);
  border-radius: var(--br_base);
}
.fs-c-cartTable__actionButton__container--buyItLater {
  display: none;
}
@media screen and (max-width: 600px) {
  .fs-c-cartTable__actionButton__container > button {
    width: auto;
    padding: 2px;
  }
}

@media screen and (max-width: 600px) {
  .fs-c-cartTable__quantity .fs-c-quantity__select {
    padding: 5px 10px;
  }
}

@media screen and (max-width: 600px) {
  .fs-c-cartTable__dataCell--point::before,
  .fs-c-cartTable__dataCell--quantity::before,
  .fs-c-cartTable__dataCell--subtotal::before {
    font-size: var(--fs_small-s);
  }
  .fs-c-cartTable__dataCell--quantity {
    align-items: center;
  }
}

.fs-body-cart .fs-l-cart__sideColumn {
  border-color: var(--c_mono-c);
}
.fs-c-orderTotalTable > thead > tr th,
.fs-c-orderTotalTable > thead > tr td,
.fs-c-orderTotalTable > tfoot > tr th,
.fs-c-orderTotalTable > tfoot > tr td,
.fs-c-orderTotalTable > tbody > tr th,
.fs-c-orderTotalTable > tbody > tr td,
.fs-c-orderTotalTable > thead > tr:last-of-type,
.fs-c-orderTotalTable > tfoot > tr:last-of-type,
.fs-c-orderTotalTable > tbody > tr:last-of-type {
  background: none;
  padding: 8px 0;
  border-color: var(--c_mono-c);
}
.fs-c-orderTotalTable > thead > tr th,
.fs-c-orderTotalTable > tfoot > tr th,
.fs-c-orderTotalTable > tbody > tr th {
  font-weight: var(--fw_normal);
}
.fs-c-orderTotalTable .fs-c-price {
  font-size: 2.0rem;
}
.fs-c-cartPayment,
.fs-c-payWithAmazon {
  margin-top: 20px;
}
.fs-c-cartPayment p,
.fs-c-payWithAmazon p {
  margin-bottom: 15px;
}
.fs-c-cartPayment__button .fs-c-button--primary,
.fs-c-cartPayment__button .fs-c-button--secondary {
  width: 100%;
  margin-bottom: 15px;
}
.fs-c-cartPayment__button .fs-c-button--primary {
  font-size: 1.8rem;
}
.fs-c-continueShopping {
  text-align: center;
  margin-top: 30px;
}
.fs-c-button--continueShopping {
  width: 40%;
  padding: 15px 30px;
  transition: all .2s;
}
.fs-c-button--continueShopping:hover,
.fs-c-button--continueShopping:visited,
.fs-c-button--continueShopping:active {
  color: var(--c_text);
}
.fs-c-button--continueShopping:hover {
  opacity: var(--op_base);
}

.fs-c-wishlistProduct .fs-c-wishlistProduct__title {
  font-size: var(--fs_h3);
  margin: 60px 0 15px;
  padding-left: 10px;
  border-left: 4px solid var(--c_main);
  border-bottom: none;
}
.fs-c-wishlistProduct__list .fs-c-button--addToCart--list,
.fs-c-wishlistProduct__list .fs-c-button--viewProductDetail {
  display: none;
}
.fs-c-wishlistProduct__list .fs-c-productListItem__salesPeriod {
  display: none;
}
.fs-c-wishlistProduct__list .fs-c-productMarks {
  display: none;
}
.fs-c-wishlistProduct__list .fs-c-productPrice__main__joint {
  margin: 0 0 0 4px;
}
@media screen and (max-width: 509px) {
  .fs-c-wishlistProduct .fs-c-wishlistProduct__title {
    font-size: var(--fs_h3-s);
  }
  .fs-c-wishlistProduct__list .fs-c-productListCarousel__list__item {
    max-width: 156px;
  }
}

/***********************************************************************
ログインして購入
**********************************************************************/
.fs-c-subSection__title,
.fs-c-linkedServiceLogin__title {
  font-size: var(--fs_h3);
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (max-width: 509px) {
  .fs-c-subSection__title,
  .fs-c-linkedServiceLogin__title {
    font-size: var(--fs_h3-s);
  }
}

.fs-body-cart-login .fs-c-loginForm {
  max-width: 690px;
}

.fs-body-cart-login .fs-c-inputInformation__field {
  background: none;
  max-width: 540px;
  margin: 0 auto;
  padding: 0;
}

.fs-c-inputTable__headerCell {
  border: none;
}
.fs-c-inputTable td {
  border: none;
}
.fs-c-inputTable__label {
  display: block;
}
.fs-c-inputField__explanation {
  font-size: var(--fs_small);
  line-height: var(--lh_headline);
  margin-top: 3px;
}

.fs-c-buttonContainer--login .fs-c-button--primary {
  font-size: 1.8rem;
  width: 50%;
}
@media screen and (max-width: 509px) {
  .fs-c-buttonContainer--login .fs-c-button--primary {
    font-size: var(--fs_h4-s);
  }
}

.fs-c-inputInformation__link {
  margin-top: 10px;
}
.fs-c-inputInformation__link .fs-c-textLink {
  color: var(--c_main-2);
  text-decoration: underline;
}

.fs-body-cart-login .fs-c-guestPurchase {
  border: none;
}
.fs-c-button--guestPurchase {
  font-weight: var(--fw_bold);
  padding: 10px 30px;
  border: 1px solid var(--c_text);
  border-radius: var(--br_base);
}
.fs-c-otherServiceLogin:not(:first-child) {
  margin: 60px 0 0;
}

/***********************************************************************
お客様情報入力
**********************************************************************/
.customer-details.fs-c-inputInformation {
  max-width: 840px;
  margin: 0 auto;
}

.fs-c-inputInformation__message {
  margin-bottom: 10px;
}
@media screen and (max-width: 509px) {
.fs-c-inputInformation__message {
    justify-content: start;
  }
}

.fs-c-inputInformation__field .fs-c-dropdown::after {
  border-color: var(--c_mono-c);
}
.fs-c-inputInformation__field .fs-c-dropdown[class*="fs-c-inputDate__"]::after {
  padding: 2px 8px;
}
.fs-c-inputTable__headerCell {
  background: none;
}
.fs-c-agreementConfirmation__message {
  padding: 15px;
  margin-bottom: 10px;
}
.fs-c-checkbox__label {
  gap: 10px;
}
.fs-c-checkbox__labelText {
  line-height: 1.5;
}

.fs-c-agreementConfirmation {
  margin-bottom: 15px;
}
.fs-c-inputInformation__field a {
  color: var(--c_main-2);
  text-decoration: underline;
}
.fs-body-customerDetails .fs-c-agreementConfirmation__checkbox .fs-c-checkbox__labelText a {
  font-size: var(--fs_small);
}
.fs-c-agreementConfirmation__addon {
  margin: 8px 0;
}
.fs-body-customerDetails .fs-c-privacyPolicyAgreeField {
  margin-top: 10px;
  padding-top: 25px;
  border-top: 1px solid var(--c_border);
}
.fs-body-customerDetails .fs-c-inputInformation__button {
  margin-top: 10px;
}
#fs_unregisterAndContinue,
#fs_registerAndContinue {
  width: 50%;
}
#fs_unregisterAndContinue .fs-c-button--secondary,
#fs_registerAndContinue .fs-c-button--primary {
  font-size: 1.8rem;
  width: 100%;
}
#fs_unregisterAndContinue .fs-c-button--secondary {
  background: var(--c_mono-f);
}
@media screen and (max-width: 979px) {
  #fs_unregisterAndContinue,
  #fs_registerAndContinue {
    width: 80%;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-agreementConfirmation {
    margin-bottom: 10px;
  }
  .fs-body-customerDetails .fs-c-privacyPolicyAgreeField {
    margin-top: 10px;
    padding-top: 20px;
  }
  #fs_unregisterAndContinue,
  #fs_registerAndContinue {
    width: 90%;
  }
  #fs_unregisterAndContinue .fs-c-button--secondary,
  #fs_registerAndContinue .fs-c-button--primary {
    font-size: var(--fs_h5-s);
  }
}

/***********************************************************************
ご注文手続き
**********************************************************************/
.fs-l-checkout .fs-l-checkout__mainColumn ul,
.fs-l-checkout .fs-l-checkout__mainColumn li {
  list-style-type: none;
  padding: 0;
}

.fs-c-checkout-preview {
  border-color: var(--c_mono-c);
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-preview {
    padding: 10px;
  }
}

.fs-c-checkout-preview__title {
  font-size: var(--fs_h4);
  line-height: var(--lh_headline);
  border-color: var(--c_mono-c);
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-preview__title {
    font-size: var(--fs_h4-s);
  }
}

.fs-c-checkout-preview__body {
  padding: 15px 0;
}
.fs-c-checkout-preview__body dt {
  font-weight: var(--fw_normal);
}
.fs-c-checkout-buyerInfo__body {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 979px) {
  .fs-c-checkout-buyerInfo__body {
    gap: 10px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-preview__body {
    padding: 10px 0;
  }
  .fs-c-checkout-buyerInfo__body {
    padding: 10px 0;
  }
}

.fs-c-checkout-customerInfo {
  margin: 0;
}

.fs-c-inputTable--inModal > tbody > tr + tr {
  margin-top: 15px;
}

.fs-c-additionalCheckField + fieldset:not(.fs-c-additionalCheckField),
fieldset:not(.fs-c-additionalCheckField) + .fs-c-additionalCheckField {
  margin-top: 20px;
}

.fs-c-checkout-paymentMethod__creditCardRegistration {
  align-items: center;
}

.fs-c-buttonContainer--inputCreditCardData .fs-c-button--inputCreditCardData {
  box-shadow: none;
}

.fs-c-inputInformation__field .fs-c-dropdown:has([id*="fs_input_creditCardExpiration"])::after {
  padding: 2px 8px;
}

.fs-c-checkout-customerInfo__name {
  font-size: var(--fs_h5);
  font-weight: var(--fw_bold);
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-customerInfo__name {
    font-size: var(--fs_h5-s);
  }
}

.fs-c-buttonContainer--changeSmall {
  min-width: auto;
}

.fs-c-button--change--small,
.fs-c-buttonContainer--useCoupon .fs-c-button--standard {
  color: var(--c_text);
  background: var(--c_mono-f);
  font-size: var(--fs_small);
  min-width: 90px;
  padding: 15px;
  border: 1px solid var(--c_text);
  border-radius: var(--br_base);
  box-shadow: none;
}
.fs-c-button--change--small:hover,
.fs-c-button--change--small:visited,
.fs-c-button--change--small:active,
.fs-c-buttonContainer--useCoupon .fs-c-button--standard:hover,
.fs-c-buttonContainer--useCoupon .fs-c-button--standard:visited,
.fs-c-buttonContainer--useCoupon .fs-c-button--standard:active {
  color: var(--c_text);
}
@media screen and (max-width: 509px) {
  .fs-c-button--change--small,
  .fs-c-buttonContainer--useCoupon .fs-c-button--standard {
    padding: 10px;
  }
}

.fs-c-checkout-addDestinationButton {
  justify-content: flex-end;
}
.fs-c-button--multiDestination {
  color: var(--c_mono-f);
  background: var(--c_main-2);
  font-weight: var(--fw_normal);
  border: none;
}
.fs-c-button--multiDestination:hover,
.fs-c-button--multiDestination:visited,
.fs-c-button--multiDestination:active {
  color: var(--c_mono-f);
}
@media screen and (max-width: 509px) {
  .fs-c-button--multiDestination {
    font-size: var(--fs_base-s);
    min-width: auto;
  }
}

[class^=fs-body-checkout] .fs-l-checkout__mainColumn > * + * {
  margin-top: 20px;
}

.fs-c-checkout-shippingOption {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fs-c-checkout-shippingOptionPreview {
  background: none;
  padding: 0;
}
.fs-c-checkout-shippingOptionPreview__label .fs-c-checkout-heading-lv2 {
  font-size: var(--fs_h4);
  font-weight: var(--fw_bold);
  line-height: var(--lh_headline);
  display: inline-block;
}
.fs-c-checkout-shippingOptionPreview__value {
  font-size: var(--fs_base);
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-shippingOptionPreview__label .fs-c-checkout-heading-lv2 {
    font-size: var(--fs_h4-s);
  }
  .fs-c-checkout-shippingOptionPreview__value {
    font-size: var(--fs_h5-s);
  }
}

.fs-c-checkout-heading {
  background: var(--c_base-1);
  font-size: var(--fs_h5);
  padding: 8px;
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-heading {
    font-size: var(--fs_h5-s);
  }
}

.fs-c-checkout-shippingAddress__name {
  font-size: var(--fs_h5);
  font-weight: var(--fw_bold);
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-shippingAddress__name {
    font-size: var(--fs_h5-s);
  }
}

.fs-c-checkout-shippingDestination .fs-c-checkout-shippingDestination__control {
  gap: 10px;
  justify-content: center;
}
.fs-c-buttonContainer--chooseDestination .fs-c-button--chooseDestination {
  font-size: var(--fs_small);
  padding: 15px;
  box-shadow: none;
}
.fs-c-buttonContainer--chooseDestination .fs-c-button--chooseDestination:hover {
  color: var(--c_mono-f);
}
@media screen and (max-width: 509px) {
  .fs-c-buttonContainer--chooseDestination .fs-c-button--chooseDestination {
    padding: 10px;
  }
}

.fs-c-checkout-shippingDetail {
  gap: 25px;
}
.fs-c-checkout-shippingParcel__productList li.fs-c-checkout-shippingParcel__product {
  grid-template-columns: 68px 1fr;
  padding: 8px;
}
.fs-c-checkout-shippingParcel__productList .fs-c-checkout-shippingParcel__productInfo {
  gap: 0 12px;
}
.fs-c-checkout-shippingParcel__productList .fs-c-checkout-shippingParcel__productImage__image {
  width: 90%;
  height: auto;
}
.fs-c-checkout-shippingParcel__quantity .fs-c-quantityDisplay {
  font-size: var(--fs_small);
}
.fs-c-checkout-shippingParcel__productVariation {
  font-size: var(--fs_small);
}
.fs-c-checkout-shippingParcel__productVariation::before {
  content: '[';
}
.fs-c-checkout-shippingParcel__productVariation::after {
  content: ']';
}
.fs-c-checkout-shippingParcel__productSelection {
  font-size: var(--fs_small-s);
}

.fs-c-checkout-shippingDetail__detail {
  gap: 10px;
}
.fs-c-checkout-shippingDetail__shippingCarrier__comment {
  padding: 0 15px;
}
.fs-c-checkout-shippingCarrierComment p {
  margin: 10px 0;
}
.fs-c-checkout-shippingDetail .fs-c-checkout-shippingDetail__deliveryDetail {
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 12px;
}
.fs-c-pairList {
  column-gap: 12px;
  row-gap: 5px;
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-shippingDetail .fs-c-checkout-shippingDetail__deliveryDetail {
    grid-template-columns: auto;
  }
  .fs-c-checkout-shippingDetail__shippingCarrier__value {
    font-size: var(--fs_h5-s);
  }
}

.fs-c-checkout-previewAndEdit {
  grid-template-columns: 1fr auto;
  grid-template-rows: auto;
  align-items: start;
  grid-column-gap: 48px;
}
.fs-c-checkout-previewAndEdit__info {
  column-gap: 12px;
  grid-template-columns: auto 1fr;
  padding: 12px;
  border-width: 2px;
}
.fs-c-checkout-confirmationList > dd {
  font-size: var(--fs_base);
  display: flex;
  gap: 3px;
  align-items: center;
}
.fs-c-checkout-confirmationList > dt::after {
  height: auto;
}
@media screen and (max-width: 979px) {
  .fs-c-checkout-previewAndEdit {
    grid-column-gap: 20px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-previewAndEdit {
    grid-template-columns: auto;
  }
  .fs-c-checkout-confirmationList > dd {
    font-size: var(--fs_base-s);
  }
}

.fs-c-destinationFeeTable {
  font-size: var(--fs_base);
}
@media screen and (max-width: 509px) {
  .fs-c-destinationFeeTable {
    font-size: var(--fs_base-s);
  }
}

.fs-c-checkout-communicationInfo__info {
  padding: 12px;
}

.fs-c-checkout-paymentMethod__title {
  padding: 12px;
}
.fs-c-checkout-paymentMethod__title .fs-c-radio__radioMark {
  margin-right: 8px;
}
.fs-c-checkout-paymentMethod__title .fs-c-radio__radioLabelText {
  line-height: var(--lh_headline);
}

.fs-c-checkout-couponCodeInput__title {
  font-size: var(--fs_small);
}
.fs-c-checkout-couponCodeInput #fs_couponCode {
  padding: 5px;
}
.fs-c-buttonContainer--useCoupon .fs-c-button--standard {
  padding: 8px;
}
.fs-c-checkout-couponList li.fs-c-checkout-couponList__item {
  padding: 10px;
}
.fs-c-checkout-couponList__couponName {
  font-size: var(--fs_small);
}
.fs-c-checkout-couponStatus {
  height: auto;
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-couponCodeInput #fs_couponCode {
    padding: 3px 5px;
  }
}

.fs-c-checkout-pointInfo__usePoint__number {
  font-size: var(--fs_h4);
}
.fs-c-checkout-pointInfo__usePoint__label {
  font-size: var(--fs_base);
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-pointInfo__usePoint__number {
    font-size: var(--fs_h4-s);
  }
  .fs-c-checkout-pointInfo__usePoint__label {
    font-size: var(--fs_base-s);
  }
}

.fs-c-checkout-orderInfo__body .fs-c-cartTable__dataCell {
  line-height: var(--lh_headline);
}
.fs-c-checkout-orderInfo__body .fs-c-cartTable__dataCell--subtotal {
  font-size: var(--fs_h4-s);
}
.fs-c-checkout-orderInfo__body .fs-c-checkout-preview__button {
  justify-content: center;
}
.fs-c-checkout-orderInfo__body .fs-c-button--standard {
  width: 40%;
  margin-top: 15px;
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-orderInfo__body .fs-c-button--standard {
    margin-top: 5px;
  }
}

.fs-c-returnedSpecialContract {
  padding: 0 0 8px;
}
.fs-c-returnedSpecialContract__link a {
  color: var(--c_main-2);
  text-decoration: underline;
}
#fs_orderTotalContainer .fs-c-confirmOrder {
  margin-top: 15px;
}
.fs-c-checkout-deliveryScheduleSetting dd + dt {
  margin-top: 12px;
}
.fs-c-checkout-deliveryScheduleSetting .fs-c-dropdown__menu {
  margin-bottom: 2px;
}
.fs-c-checkout-deliveryScheduleSetting .fs-c-dropdown::after {
  border-color: var(--c_mono-c);
}
.fs-c-checkout-deliveryScheduleSetting__note {
  margin-bottom: 2px;
}

/***********************************************************************
お届け先一覧
**********************************************************************/
#fs-addressList-container ul,
#fs-addressList-container li {
  list-style-type: none;
  padding: 0;
}

.fs-c-checkout-addressee {
  border-color: var(--c_mono-c);
}
.fs-c-checkout-addressee__data,
.fs-c-checkout-addressee__control {
  padding: 15px;
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-addressee__control {
    grid-template-rows: auto auto;
    align-content: center;
    padding: 15px 15px 15px 0;
  }
}

.fs-c-checkout-multiAddress__button {
  display: flex;
  column-gap: 15px;
  justify-content: center;
}
.fs-c-button--standard.fs-c-button--setDestination {
  font-size: var(--fs_small);
  padding: 10px 15px;
  box-shadow: none;
}
.fs-c-button--standard.fs-c-button--setDestination:hover {
  color: var(--c_mono-f);
}
.fs-addressList-container .fs-c-button--standard.fs-c-button--viewAddresseeList,
.fs-addressList-container .fs-c-button--standard.fs-c-button--addAddressee {
  color: var(--c_text);
  font-size: var(--fs_small);
  background: var(--c_mono-f);
  padding: 10px 15px;
  margin: 0;
  border: 1px solid var(--c_text);
  box-shadow: none;
}
.fs-c-buttonContainer--addAddressee .fs-c-button--standard.fs-c-button--viewAddresseeList,
.fs-c-buttonContainer--addAddressee .fs-c-button--standard.fs-c-button--addAddressee {
  width: 22%;
}
@media screen and (max-width: 979px) {
  .fs-c-checkout-multiAddress__button {
    column-gap: 10px;
  }
  .fs-c-buttonContainer--addAddressee .fs-c-button--standard.fs-c-button--viewAddresseeList,
  .fs-c-buttonContainer--addAddressee .fs-c-button--standard.fs-c-button--addAddressee {
    width: 40%;
    max-width: 190px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-multiAddress__button {
    margin: 24px 0 15px;
  }
  .fs-c-buttonContainer--addAddressee .fs-c-button--standard.fs-c-button--viewAddresseeList,
  .fs-c-buttonContainer--addAddressee .fs-c-button--standard.fs-c-button--addAddressee {
    width: 50%;
  }
}

.fs-c-buttonContainer--next .fs-c-button--secondary {
  color: var(--c_mono-f);
  background: var(--c_main-2);
  font-size: 1.8rem;
  width: calc(44% + 15px);
  border: none;
}
.fs-c-buttonContainer--next .fs-c-button--secondary:hover,
.fs-c-buttonContainer--next .fs-c-button--secondary:visited,
.fs-c-buttonContainer--next .fs-c-button--secondary:active {
  color: var(--c_mono-f);
}
@media screen and (max-width: 979px) {
  .fs-c-buttonContainer--next .fs-c-button--secondary {
    width: calc(80% + 15px);
    max-width: 390px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-buttonContainer--next .fs-c-button--secondary {
    width: 100%;
  }
}

.fs-c-buttonContainer--back {
  justify-content: center;
}
.fs-c-buttonContainer--back .fs-c-button--back--moderate {
  background: var(--c_mono-02);
  text-align: center;
  width: 120px;
  padding: 2px 15px;
  border-radius: var(--br_base);
}
@media screen and (max-width: 509px) {
  .fs-c-buttonContainer--back {
    margin-top: 15px;
  }
}

/* お届け先変更ウィンドウ */
li.fs-c-checkout-checkoutMethod {
  margin-bottom: 20px;
}

.fs-c-checkout-checkoutMethod__body {
  padding: 10px;
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-checkoutMethod__body .fs-c-inputTable__label {
    font-size: var(--fs_base-s);
  }
}

.fs-c-buttonContainer--pair {
  display: flex;
  gap: 25px;
  align-items: stretch;
}
.fs-c-buttonContainer--pair .fs-c-button--addAddressee,
.fs-c-buttonContainer--pair .fs-c-button--cancel {
  width: 50%;
  padding: 15px 30px;
}
.fs-c-buttonContainer--pair .fs-c-button--primary {
  width: 50%;
  min-width: auto;
}
.fs-c-buttonContainer--pair .fs-c-button--standard {
  width: 50%;
}
@media screen and (max-width: 979px) {
  .fs-c-buttonContainer--pair {
    gap: 20px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-buttonContainer--pair {
    gap: 15px;
  }
}

.fs-c-modal--checkout-multiDestination-addresseeList .fs-c-buttonContainer--pair {
  gap: 10px;
}
.fs-c-button--cancel.fs-c-button--standard,
.fs-c-button--addDestination.fs-c-button--standard {
  padding: 10px;
}
.fs-c-button--addDestination.fs-c-button--standard:hover {
  color: var(--c_mono-f);
  box-shadow: none;
}

/***********************************************************************
商品数量指定
**********************************************************************/
div.fs-c-checkout-deliveryInfo ul,
div.fs-c-checkout-deliveryInfo li {
  list-style-type: none;
  padding: 0;
}
.fs-c-checkout-multiDestination__title {
  background: var(--c_base-1);
  font-size: 2.0rem;
  padding: 8px 12px;
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-multiDestination__title {
    font-size: var(--fs_h4-s);
  }
}

.fs-c-checkout-productAllocation__product {
  flex-wrap: nowrap;
  padding: 10px;
}
.fs-c-checkout-productAllocation__productImage {
  padding-right: 10px;
}
@media screen and (max-width: 979px) {
  .fs-c-checkout-productAllocation__product {
    display: grid;
    grid-template-columns: 90px 1fr;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-productAllocation__product {
    grid-template-columns: auto;
    gap: 5px;
    padding: 8px;
  }
  .fs-c-checkout-multiDestination__info__name {
    font-size: var(--fs_h3-s);
  }
}

/***********************************************************************
商品数量情報更新
**********************************************************************/
div.fs-c-checkout-productQuantityWarning ul,
div.fs-c-checkout-productQuantityWarning li {
  list-style-type: none;
  padding: 0;
}
.fs-c-checkout-productQuantityWarning__product {
  margin-bottom: 5px;
}
.fs-c-checkout-productQuantityWarning__productInfo {
  padding: 0;
}
.fs-c-checkout-productQuantityWarning__warning {
  font-size: var(--fs_small);
}
.fs-c-checkout-productQuantityWarning__warning > strong {
  padding-right: 3px;
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-productQuantityWarning__warning > strong {
    font-size: var(--fs_h4-s);
  }
}

/***********************************************************************
配送・包装方法選択
**********************************************************************/
.fs-c-checkout-multiDestination__subtitle {
  font-size: var(--fs_h4);
  line-height: var(--lh_headline);
}
.fs-c-checkout-delivery__method__title {
  font-size: var(--fs_base);
}
.fs-c-checkout-delivery__method {
  padding: 12px;
}
.fs-c-checkout-delivery__method__message {
  padding: 0 8px;
}
.fs-c-checkout-multiDestination__control {
  margin-top: 15px;
}
.fs-c-checkout-multiDestination .fs-c-checkout-multiDestination__wrapping__body {
  padding: 15px 0;
}
.fs-c-checkout-previewAndEdit .fs-c-checkout-confirmationList__label {
  font-weight: var(--fw_normal);
}
@media screen and (max-width: 509px) {
  .fs-c-checkout-multiDestination__subtitle {
    font-size: var(--fs_h4-s);
  }
}

/***********************************************************************
ご注文完了
**********************************************************************/
.fs-c-checkoutSuccess .fs-c-subSection__title {
  color: var(--c_main);
  background: var(--c_base-2);
  font-size: var(--fs_h2);
  margin-bottom: 20px;
  padding: 10px 15px;
  border: none;
}
@media screen and (max-width: 509px) {
  .fs-c-checkoutSuccess .fs-c-subSection__title {
    font-size: var(--fs_h2-s);
  }
}

.fs-c-list li, .fs-c-localNavigation__list li {
  margin-left: 0;
  text-indent: 0;
  padding-left: 0;
}
.fs-c-list li::before,
.fs-c-localNavigation__list li::before {
  display: none;
}

/***********************************************************************
お届け方法選択
**********************************************************************/
.fs-c-modal--changeShippingOption .fs-c-buttonContainer--pair {
  grid-column-gap: 25px;
}
@media screen and (max-width: 509px) {
  .fs-c-modal--changeShippingOption .fs-c-buttonContainer--pair {
    grid-column-gap: 15px;
  }
}

/* 会員登録 */
.fs-c-orderedList > li {
  padding: 0;
}
.fs-c-orderedList > li::before {
  content: '';
}

.fs-body-register #fs_form a {
  color: var(--c_main-2);
  text-decoration: underline;
}
.fs-body-register .fs-c-memberPolicyAgreeField {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid var(--c_mono-c);
}
.fs-c-memberPolicyAgreeField,
.fs-c-privacyPolicyAgreeField {
  margin-bottom: 5px;
}
.fs-c-memberPolicyAgreeField .fs-c-inputField,
.fs-c-privacyPolicyAgreeField .fs-c-inputField {
  max-width: 250px;
  margin: 0 auto;
}

.fs-c-buttonContainer--confirmRegister {
  margin-top: 10px;
}
.fs-c-button--confirmRegister {
  font-size: 1.8rem;
  width: 50%;
}
@media screen and (max-width: 509px) {
  .fs-c-memberPolicyAgreeField,
  .fs-c-privacyPolicyAgreeField {
    margin-bottom: 10px;
  }
  .fs-c-buttonContainer--confirmRegister {
    margin-top: 18px;
  }
  .fs-c-button--confirmRegister {
    font-size: 1.5rem;
    width: 75%;
  }
}

/* パスワード再設定 */
.forgot-password.fs-c-inputInformation {
  max-width: 690px;
  margin: 0 auto;
}
.forgot-password .fs-c-inputInformation__field {
  background: none;
  padding: 0;
}

/* 新しいパスワードの登録 */
.reset-password .fs-c-inputInformation__field {
  background: none;
  padding: 0;
}

/***********************************************************************
マイページログイン
**********************************************************************/
.login-form {
  display: flex;
  column-gap: 35px;
}
@media screen and (max-width: 979px) {
  .login-form {
    flex-direction: column;
    max-width: 690px;
    margin: 0 auto;
  }
}

.login-form .fs-c-registeredUsers {
  width: 52%;
}
@media screen and (max-width: 979px) {
  .login-form .fs-c-registeredUsers {
    width: 100%;
  }
  .login-form .fs-c-inputInformation__field {
    max-width: 540px;
    margin: 0 auto;
  }
}

.login-form .fs-c-newUsers {
  width: 48%;
}
.login-form .fs-c-newUsers__message {
  background: var(--c_base-1);
  padding: 25px 35px 20px;
}
.fs-c-buttonContainer--memberRegister {
  background: var(--c_base-1);
  font-size: 1.8rem;
  padding-bottom: 30px;
}
@media screen and (max-width: 1260px) {
  .login-form .fs-c-newUsers__message {
    padding: 25px 25px 20px;
  }
}
@media screen and (max-width: 979px) {
  .login-form .fs-c-newUsers {
    width: 100%;
    margin-top: 60px;
  }
  .fs-c-button--memberRegister {
    font-size: var(--fs_h4-s);
    width: 50%;
  }
}

/***********************************************************************
マイページ
**********************************************************************/
@media screen and (max-width: 979px) {
  .fs-body-my-top .fs-l-account {
    display: block;
  }
}

.fs-l-account .fs-c-accountService {
  justify-content: flex-start;
  margin-left: -8px;
  padding: 0;
}

.fs-c-accountService__page {
  flex-basis: 150px;
  margin: 8px;
}
.fs-c-accountService__page--couponList {
  flex-basis: 316px;
}
@media screen and (max-width: 979px) {
  .fs-c-accountService__page {
    flex-basis: 145px;
  }
  .fs-c-accountService__page--couponList {
    flex-basis: 306px;
  }
}
@media screen and (max-width: 509px) {
  .fs-l-account .fs-c-accountService {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0;
  }
  .fs-c-accountService__page {
    flex-basis: 100%;
    margin: 0;
  }
}

.fs-c-accountService__page:not(.fs-c-accountService__page--accountDelete) .fs-c-accountService__pageLink__label::before {
  color: var(--c_text);
}
.fs-c-accountService .fs-c-accountService__page.fs-c-accountService__page--accountDelete {
  flex-basis: 100%;
  height: auto;
  margin-top: 20px;
}
.fs-c-accountService__page--accountDelete .fs-c-accountService__pageLink {
  font-size: var(--fs_small);
  text-decoration: underline;
}
.account-logout {
  align-self: start;
  width: 100%;
  margin-top: 2px;
}
.account-logout a {
  font-size: var(--fs_small);
  text-decoration: underline;
}
.fs-p-accountInfo__accountName__name {
  font-weight: var(--fw_bold);
}
.fs-p-accountInfo__accountName__nameLabel {
  font-size: var(--fs_small);
}
.fs-p-accountInfo {
  padding: 10px;
}
.fs-p-accountInfo__header {
  margin-bottom: 2px;
  padding: 0 2px;
}
.fs-p-accountInfo__body {
  margin: 0;
}
.fs-p-accountInfo__body {
  padding: 10px;
}
.fs-p-accountInfo__point__label {
  font-size: var(--fs_small);
}
.fs-c-purchasePointExpiration {
  font-size: var(--fs_small);
}
.fs-l-additionalProduct--wishlist {
  margin-top: 60px;
}
.fs-l-additionalProduct--wishlist .fs-c-wishlistProduct__title {
  font-size: var(--fs_h3);
  margin-bottom: 15px;
  padding-left: 10px;
  border-left: 4px solid var(--c_main);
  border-bottom: none;
}
@media screen and (max-width: 509px) {
  .fs-l-additionalProduct--wishlist .fs-c-wishlistProduct__title {
    font-size: var(--fs_h3-s);
  }
}

.fs-l-additionalProduct--wishlist .fs-c-button--addToCart--list,
.fs-l-additionalProduct--wishlist .fs-c-button--viewProductDetail,
.fs-l-additionalProduct--wishlist .fs-c-productMarks,
.fs-l-additionalProduct--wishlist .fs-c-productListItem__salesPeriod {
  display: none;
}
.fs-c-wishlistProduct__footer {
  margin-top: 15px;
  padding: 0;
}
.fs-c-wishlistProduct__viewAllProducts {
  font-weight: bold;
  display: inline-block;
  padding: 5px 30px;
  border: 1px solid var(--c_text);
  border-radius: var(--br_base);
}

/***********************************************************************
注文履歴
**********************************************************************/
.fs-body-my-orders .fs-l-main.c-one.narrow {
  max-width: 1080px;
}

.fs-c-noResultMessage {
  margin: 0;
}

#fs_form[action].fs-c-inputInformation__form {
  background: none;
  padding: 0;
}
.fs-c-history__termCtrl .fs-c-dropdown__menu {
  border: 1px solid var(--c_mono-c);
}
.fs-c-history__termCtrl .fs-c-dropdown__menu:focus {
  border: 1px solid var(--c_mono-c);
}
.fs-c-history__termCtrl .fs-c-dropdown::after {
  padding: 2px 12px;
  border-color: var(--c_mono-c);
}
.fs-c-history__term {
  color: var(--c_text);
  margin-bottom: 8px;
}
.fs-c-history__total dt,
.fs-c-history__total dd {
  margin: 0;
  padding: 8px 0;
  border-color: var(--c_mono-c);
}
.fs-c-history__total .fs-c-pairList {
  border-bottom: 1px solid var(--c_mono-c);
}
.fs-c-pairList > dt {
  font-weight: var(--fw_normal);
}

.fs-c-orderHistoryItem__orderInfo {
  justify-content: start;
}
.fs-c-orderHistoryItem__orderInfo__info dt {
  font-weight: var(--fw_normal);
  line-height: var(--lh_headline);
}
.fs-c-orderHistoryItem__orderInfo__info dd {
  font-weight: var(--fw_bold);
}
.fs-c-orderHistoryItem__orderInfo__info dd .fs-c-string--code {
  font-weight: var(--fw_bold);
}
.fs-c-orderHistoryItem__orderSummary {
  display: block;
  margin: 0 16px 8px;
}
.fs-c-orderHistoryItem__orderSummary .fs-c-price {
  justify-content: start;
}
.fs-c-button--viewOrderHistoryDetail {
  margin-right: 8px;
}
.fs-c-orderHistoryItem__header__button .fs-c-button--plain {
  font-weight: normal;
  text-decoration: underline;
  margin: 0;
}
@media screen and (max-width: 979px) {
  .fs-c-orderHistoryItem__header {
    gap: 5px;
    flex-direction: column;
    align-items: stretch;
    padding: 10px;
  }
  .fs-c-orderHistoryItem__orderInfo {
    column-gap: 45px;
    row-gap: 5px;
    padding: 0;
  }
  .fs-c-orderHistoryItem__orderInfo__info {
    margin: 0;
  }
  .fs-c-orderHistoryItem__header__button {
    justify-content: end;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-orderHistoryItem__orderInfo {
    column-gap: 0;
    justify-content: space-between;
  }
}

.fs-c-orderHistoryItem__product {
  column-gap: 10px;
  row-gap: 3px;
}
.fs-c-orderHistoryItem__productName a {
  line-height: var(--lh_headline);
}
.fs-c-orderHistoryItem__deliveryInfo .fs-c-orderHistoryItem__deliveryStatus {
  font-weight: var(--fw_normal);
}
.fs-c-orderHistoryItem__button .fs-c-button--addReview--detail {
  font-size: var(--fs_small);
  font-weight: var(--fw_bold);
  width: auto;
  padding: 0;
  border: none;
  border-radius: 0;
}
.fs-c-orderHistoryItem__button .fs-c-button--addReview--detail::before {
  width: 14px;
  height: 14px;
}
@media screen and (max-width: 979px) {
  .fs-c-orderHistoryItem__product {
    grid-template-columns: 112px 1fr;
    grid-template-rows: auto;
  }
  .fs-c-orderHistoryItem__productImage {
    grid-row: 1 / span 3;
  }
  .fs-c-orderHistoryItem__productQuantity {
    text-align: right;
    grid-row: 2 / span 2;
    align-self: center;
  }
  .fs-c-orderHistoryItem__deliveryInfo {
    grid-column: 2;
    grid-row: 3;
  }
  .fs-c-orderHistoryItem__button {
    grid-column: 1 / 3;
    grid-row: 4;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-orderHistoryItem__body {
    padding: 0 10px;
  }
  .fs-c-orderHistoryItem__product {
    column-gap: 15px;
    row-gap: 5px;
    grid-template-columns: 110px 1fr;
  }
  .fs-c-orderHistoryItem__productImage__image {
    padding: 0;
  }
  .fs-c-orderHistoryItem__button .fs-c-button--addReview--detail {
    font-size: var(--fs_small-s);
  }
  .fs-c-orderHistoryItem__button .fs-c-button--addReview--detail::before {
    width: 12px;
    height: 12px;
  }
}

.fs-c-button--plain.fs-c-button--myPageTop {
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  padding: 10px 30px;
  border: 1px solid var(--c_text);
  border-radius: var(--br_base);
}

/***********************************************************************
注文履歴詳細
**********************************************************************/
.fs-body-my-orders-details .fs-l-main.c-one.narrow {
  max-width: 1080px;
}

.fs-c-orderDetailList {
  align-items: center;
}

.fs-body-my-orders-details .fs-c-orderDetail__data,
.fs-body-my-orders-details .fs-c-orderDetail__addresseeInfo,
.fs-body-my-orders-details .fs-c-orderDetail__orderInfo,
.fs-body-my-orders-details .fs-c-orderDetail__cancellation {
  margin-bottom: 30px;
}
@media screen and (max-width: 509px) {
  .fs-body-my-orders-details .fs-c-orderDetail__data,
  .fs-body-my-orders-details .fs-c-orderDetail__addresseeInfo,
  .fs-body-my-orders-details .fs-c-orderDetail__orderInfo,
  .fs-body-my-orders-details .fs-c-orderDetail__cancellation {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 979px) {
  .fs-body-my-orders-details .fs-c-orderPerAddressee {
    display: block;
  }
}

.fs-c-orderPerAddressee__heading {
  font-size: var(--fs_h4);
  margin-bottom: 0;
  padding: 8px 12px;
}
@media screen and (max-width: 979px) {
  .fs-c-orderPerAddressee__heading {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-orderPerAddressee__heading {
    font-size: var(--fs_h4-s);
  }
}

.fs-c-addresseeList {
  grid-gap: 4px 12px;
}
.fs-c-addresseeList > dd {
  margin: 0;
}
@media screen and (max-width: 979px) {
  .fs-c-addresseeList {
    display: block;
  }
  .fs-c-addresseeList > dd {
    margin-bottom: 8px;
  }
  .fs-c-addresseeList .fs-c-address {
    display: flex;
    flex-wrap: wrap;
  }
  .fs-c-addresseeList .fs-c-address > *:not(:last-child) {
    margin-right: 8px;
  }
}

.fs-c-orderPerAddressee__cartTable .fs-c-cartTable__headerCell,
.fs-c-orderDetailInfo__cartTable .fs-c-cartTable__headerCell {
  background: rgba(126, 126, 126, 0.08);
  border-color: #b2b2b2;
}

.fs-body-my-orders-details .fs-c-orderHistoryItem__productName__name {
  line-height: var(--lh_headline);
}
.fs-body-my-orders-details .fs-c-cartTable__dataCell--review .fs-c-button--addReview--detail {
  font-size: var(--fs_small);
  white-space: nowrap;
  width: auto;
  padding: 0;
  border: none;
}
.fs-body-my-orders-details .fs-c-cartTable__dataCell--review .fs-c-button--addReview--detail::before {
  width: 14px;
  height: 14px;
}
@media screen and (max-width: 600px) {
  .fs-body-my-orders-details .fs-c-cartTable__row {
    padding-bottom: 0;
  }
  .fs-body-my-orders-details .fs-c-cartTable__dataCell--product {
    padding: 8px 8px 0;
  }
  .fs-body-my-orders-details .fs-c-cartTable__productImage__image {
    padding-right: 0;
  }
}

.fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-deliveryInfoList {
  grid-template-columns: 45% 55%;
  margin-top: 16px;
}
@media screen and (max-width: 979px) {
  .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-deliveryInfoList {
    grid-template-columns: 40% 60%;
  }
}

.fs-c-orderPerAddressee + .fs-c-orderPerAddressee {
  margin-top: 30px;
}

.fs-body-my-orders-details .fs-c-orderDetailInfo {
  row-gap: 8px;
  margin-top: 40px;
}

.fs-c-orderPaymentTable > tbody > tr > th {
  width: 40%;
}
.fs-c-orderDetailInfo__orderTotal .fs-c-orderPaymentTable td {
  font-weight: var(--fw_normal);
  width: 60%;
}

.fs-c-buttonContainer--issueReceipt {
  margin-top: 15px;
}
.fs-c-buttonContainer--issueReceipt .fs-c-button--issueReceipt {
  color: var(--c_text);
  background: var(--c_mono-f);
  padding: 8px 15px;
  border: 1px solid var(--c_text);
  border-radius: var(--br_base);
}
@media screen and (max-width: 509px) {
  .fs-c-buttonContainer--issueReceipt .fs-c-button--issueReceipt {
    font-size: var(--fs_small-s);
  }
}

/***********************************************************************
お届け先リスト
**********************************************************************/
.fs-c-addressBookList__form {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  grid-row-gap: 10px;
  align-items: end;
}
.fs-c-addressBookList__count {
  line-height: 1;
}
.fs-c-addressBookList__list th,
.fs-c-addressBookList__list td {
  border-top: none;
  border-bottom: none;
  border-color: var(--c_mono-c);
}
.fs-c-listTable th:first-child,
.fs-c-listTable td:first-child {
  font-weight: var(--fw_normal);
  line-height: var(--lh_headline);
  letter-spacing: 0;
}
.fs-c-buttonContainer--deleteChange .fs-c-button--changeInfomation {
  font-weight: var(--fw_normal);
  line-height: 1;
  padding: 10px 15px;
}
.fs-c-modal--addressList .fs-c-buttonContainer--pair .fs-c-button--addAddressee,
.fs-c-modal--addressList .fs-c-buttonContainer--pair .fs-c-button--cancel {
  padding: 10px 15px;
}
@media screen and (max-width: 979px) {
  .fs-c-listTable > tbody {
    border: none;
  }
  .fs-c-listTable > tbody > tr {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 5px 0;
    border: 1px solid var(--c_mono-c);
  }
  .fs-c-listTable > tbody > tr:nth-child(even) {
    background: transparent;
  }
  .fs-c-listTable > tbody > tr + tr {
    margin-top: 20px;
  }
  .fs-c-listTable > tbody > tr > th,
  .fs-c-listTable > tbody > tr td {
    display: block;
    padding: 5px 10px;
    border: none;
  }
  .fs-c-listTable > tbody > tr > th::before,
  .fs-c-listTable > tbody > tr td::before {
    content: attr(aria-label);
    display: block;
    font-size: 1.2rem;
    font-weight: var(--fw_bold);
  }
  .fs-c-buttonContainer--deleteChange {
    justify-content: start;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-buttonContainer--addAddressbook .fs-c-button--addToAddressbook {
    font-size: var(--fs_small);
    min-width: auto;
  }
  .fs-c-addressBookList__list .fs-c-buttonContainer--deleteChange .fs-c-button--delete {
    margin-right: 10px;
  }
}

/***********************************************************************
お届け先追加・お届け先変更
**********************************************************************/
form#fs_form .fs-c-buttonContainer--pair {
  margin-top: 45px;
}
form#fs_form .fs-c-buttonContainer--pair .fs-c-button--register,
form#fs_form .fs-c-buttonContainer--pair .fs-c-button--confirmChange,
form#fs_form .fs-c-buttonContainer--pair .fs-c-button--cancel {
  width: 40%;
  max-width: 240px;
}
.fs-body-my-addressbook-new .fs-c-buttonContainer--myPageTop,
.fs-body-my-addressbook-edit .fs-c-buttonContainer--myPageTop {
  justify-content: center;
  margin-top: 25px;
}
.fs-c-button--plain.fs-c-button--myPageTop {
  font-size: var(--fs_small);
  font-weight: var(--fw_normal);
}
@media screen and (max-width: 509px) {
  form#fs_form .fs-c-buttonContainer--pair {
    flex-wrap: wrap;
    margin-top: 35px;
  }
  form#fs_form .fs-c-buttonContainer--pair .fs-c-button--register,
  form#fs_form .fs-c-buttonContainer--pair .fs-c-button--confirmChange {
    font-size: var(--fs_h5-s);
    width: 75%;
    max-width: none;
  }
  form#fs_form .fs-c-buttonContainer--pair .fs-c-button--cancel {
    width: 75%;
    max-width: none;
  }
  .fs-c-button--plain.fs-c-button--myPageTop {
    font-size: var(--fs_small-s);
  }
}

/***********************************************************************
パスワード変更
**********************************************************************/
.fs-body-my-account-password .fs-c-inputInformation__field {
  background: none;
  padding: 0;
}
.fs-body-my-account-password .fs-c-inputInformation {
  max-width: 690px;
  margin: 0 auto;
}
.account-password .fs-c-inputInformation__field {
  max-width: 540px;
  margin: 0 auto;
}
.fs-body-my-account-password .fs-c-buttonContainer--myPageTop {
  justify-content: center;
}
@media screen and (max-width: 509px) {
  form#fs_form .fs-c-buttonContainer--change .fs-c-button--change {
    font-size: var(--fs_h5-s);
  }
}

/***********************************************************************
会員情報詳細
**********************************************************************/
.fs-c-inputInformation__field--display {
  background: var(--c_base-1);
  padding: 45px;
}
@media screen and (max-width: 979px) {
  .fs-c-inputInformation__field--display {
    padding: 30px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-inputInformation__field--display {
    padding: 20px;
  }
}

.fs-c-inputInformation__field--display .fs-c-inputTable__headerCell {
  font-size: var(--fs_base);
}
.fs-c-inputInformation__field--display .fs-c-inputTable__dataCell {
  font-size: var(--fs_base);
  font-weight: var(--fw_normal);
}
@media screen and (max-width: 509px) {
  .fs-c-inputInformation__field--display .fs-c-inputTable__headerCell {
    font-size: var(--fs_base-s);
  }
}

.fs-body-my-account-settings .fs-c-inputInformation__button {
  margin-top: 40px;
}
.fs-body-my-account-settings .fs-c-buttonContainer--myPageTop {
  justify-content: center;
}
@media screen and (max-width: 509px) {
  .fs-body-my-account-settings .fs-c-inputInformation__button {
    margin-top: 35px;
  }
  .fs-body-my-account-settings .fs-c-buttonContainer--myPageTop {
    justify-content: center;
    margin-top: 25px;
  }
}

/***********************************************************************
会員登録内容変更
**********************************************************************/
form#fs_form .fs-c-buttonContainer--confirmChange {
  margin-top: 45px;
}
@media screen and (max-width: 509px) {
  form#fs_form .fs-c-buttonContainer--confirmChange .fs-c-button--confirmChange {
    font-size: var(--fs_h5-s);
  }
}
.fs-body-my-account-settings-edit .fs-c-buttonContainer--myPageTop {
  justify-content: center;
}
@media screen and (max-width: 509px) {
  .fs-body-my-account-settings-edit .fs-c-buttonContainer--myPageTop {
    justify-content: center;
    margin-top: 25px;
  }
}

/***********************************************************************
退会手続き
**********************************************************************/
.fs-c-buttonContainer--leaveCancel {
  flex-direction: row-reverse;
  justify-content: center;
}
form#fs_form .fs-c-buttonContainer--pair {
  margin-top: 45px;
}
form#fs_form .fs-c-buttonContainer--pair .fs-c-button--confirmLeave {
  width: 40%;
  max-width: 240px;
}
.fs-body-my-account-delete .fs-c-buttonContainer--myPageTop {
  justify-content: center;
  margin-top: 25px;
}
@media screen and (max-width: 509px) {
  form#fs_form .fs-c-buttonContainer--pair .fs-c-button--confirmLeave {
    font-size: var(--fs_h5-s);
    width: 75%;
    max-width: none;
  }
}

/***********************************************************************
ポイント履歴
**********************************************************************/
.fs-c-pointSummary__value--limitedPoint {
  padding-right: 8px;
}
.fs-c-history__termCtrl {
  margin-bottom: 10px;
}
.fs-c-history__listContainer .fs-c-pointListTable th {
  background: rgba(126, 126, 126, 0.08);
  font-weight: var(--fw_bold);
  text-align: center;
  border-color: var(--c_mono-c);
}
.fs-c-history__listContainer .fs-c-pointListTable td {
  border-color: var(--c_mono-c);
}
.fs-c-pointListTable__dataDetail {
  margin: 0;
}
.fs-c-pointListTable__dataDetail dt,
.fs-c-pointListTable__dataDetail dd a {
  font-size: var(--fs_small);
}
@media screen and (max-width: 979px) {
  .fs-c-listTable > thead {
    display: none;
  }
  .fs-c-listTable > tbody > tr > th::before,
  .fs-c-listTable > tbody > tr td::before {
    font-size: var(--fs_small);
  }
  .fs-c-pointListTable.fs-c-listTable > tbody > tr td {
    display: flex;
  }
  .fs-c-pointListTable.fs-c-listTable > tbody > tr td::before {
    width: 150px;
    padding-right: 8px;
    box-sizing: content-box;
  }
  .fs-c-pointListTable td[aria-label=日付],
  .fs-c-pointListTable td[aria-label=ポイント状況],
  .fs-c-pointListTable td[aria-label=獲得・利用ポイント],
  .fs-c-pointListTable td[aria-label=有効期限] {
    text-align: left;
  }
.fs-c-pointListTable__data {
    line-height: var(--lh_headline);
  }
}
@media screen and (max-width: 509px) {
  .fs-c-pointListTable.fs-c-listTable > tbody > tr td::before {
    width: 135px;
  }
  .fs-c-pointListTable__dataDetail dt,
  .fs-c-pointListTable__dataDetail dd a {
    font-size: var(--fs_small-s);
  }
  .fs-c-pointListTable td[aria-label=獲得・利用ポイント] {
    font-size: var(--fs_h4-s);
  }
}

/***********************************************************************
レビュー履歴
**********************************************************************/
.fs-c-history ul.fs-c-reviewList {
  margin: 10px 0;
  padding: 0;
}
.fs-c-history .fs-c-reviewList__item {
  grid-column-gap: 15px;
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid var(--c_mono-c);
}
.fs-c-history .fs-c-reviewList__item:has(.fs-c-reviewProduct) {
  grid-template-columns: 135px 1fr 510px;
}
.fs-c-history .fs-c-reviewList .fs-c-reviewList__item:first-child {
  border-top: 1px solid var(--c_mono-c);
}
.fs-c-history .fs-c-reviewList .fs-c-reviewList__item__info {
  display: flex;
  flex-direction: column;
}
.fs-c-history .fs-c-reviewList .fs-c-reviewInfo__reviewer {
  row-gap: 3px;
}
.fs-c-history .fs-c-reviewList .fs-c-reviewBody {
  margin: 0;
  border-color: var(--c_mono-c);
}
@media screen and (max-width: 1260px) {
  .fs-c-history .fs-c-reviewList__item:has(.fs-c-reviewProduct) {
    grid-template-columns: 126px 1fr 510px;
  }
}
@media screen and (max-width: 979px) {
  .fs-c-history .fs-c-reviewList__item {
    display: flex;
    flex-direction: column;
  }
  .fs-c-history .fs-c-reviewList .fs-c-reviewList__item__product,
  .fs-c-history .fs-c-reviewList .fs-c-reviewList__item__info {
    margin-bottom: 10px;
  }
  .fs-c-history .fs-c-reviewList .fs-c-reviewList__item__info {
    column-gap: 10px;
    row-gap: 5px;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-history .fs-c-reviewList .fs-c-reviewList__item__product {
    margin-bottom: 8px;
  }
  .fs-c-history .fs-c-reviewList .fs-c-reviewList__item__info {
    column-gap: 5px;
  }
}

/***********************************************************************
お気に入りログイン・レビューログイン
**********************************************************************/
.fs-c-documentContent {
  justify-content: center;
  margin-bottom: 10px;
}
@media screen and (max-width: 509px) {
  .fs-c-documentContent {
    justify-content: start;
  }
}

.fs-body-wishlist-login .fs-c-registeredUsers,
.fs-body-review-login .fs-c-registeredUsers {
  flex-basis: auto;
}
@media screen and (min-width: 980px) {
  .fs-body-wishlist-login .fs-c-newUsers,
  .fs-body-review-login .fs-c-newUsers {
    margin: 0;
  }
}

/***********************************************************************
お気に入り
**********************************************************************/
.fs-c-wishList .fs-c-productListItem .fs-c-button--addToCart--list,
.fs-c-wishList .fs-c-productListItem .fs-c-button--viewProductDetail {
  display: none;
}

.fs-c-productName__variation {
  font-size: var(--fs_small);
}
.fs-c-productName__variation::before {
  content: '[';
}
.fs-c-productName__variation::after {
  content: ']';
}
@media screen and (max-width: 509px) {
  .fs-c-productName__variation {
    font-size: var(--fs_small-s);
  }
}


/***********************************************************************
クーポン情報
**********************************************************************/
.fs-c-couponList__item {
  border-color: var(--c_mono-c);
  padding: 8px 5px;
}

.fs-c-coupon__info {
  display: grid;
  grid-template-columns: 270px 1fr;
  grid-template-rows: auto;
  grid-template-areas:
    "left-content description"
    "left-content description";
  padding: 5px;
}
@media screen and (max-width: 979px) {
  .fs-c-coupon__info {
    display: flex;
    flex-direction: column;
    padding: 10px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-coupon__info {
    padding: 5px;
  }
}

.fs-c-coupon__image {
  grid-area: image;
}
.fs-c-coupon__name {
  grid-area: name;
}
.fs-c-coupon__description {
  grid-area: description;
}
.fs-c-coupon__info:has(.fs-c-coupon__image) {
  grid-template-rows: 1fr 1fr;
  grid-template-areas:
    "image description"
    "name description";
}
.fs-c-coupon__info:has(.fs-c-coupon__image) .fs-c-coupon__name {
  align-self: start;
}
.fs-c-coupon__info:has(.fs-c-coupon__image) .fs-c-coupon__image {
  align-self: end;
  margin-bottom: 20px;
}
.fs-c-coupon__info:not(:has(.fs-c-coupon__image)) .fs-c-coupon__name {
  grid-area: left-content;
}
@media screen and (max-width: 979px) {
  .fs-c-coupon__info:has(.fs-c-coupon__image) .fs-c-coupon__name {
    align-self: center;
  }
  .fs-c-coupon__info:has(.fs-c-coupon__image) .fs-c-coupon__image {
    align-self: center;
  }
}

.fs-c-coupon__name {
  min-width: 270px;
  margin: 0;
}
@media screen and (max-width: 979px) {
  .fs-c-coupon__name {
    width: 100%;
  }
}

.fs-c-couponName__name {
  color: var(--c_text);
  font-size: var(--fs_large);
  margin-bottom: 5px;
}
@media screen and (max-width: 509px) {
  .fs-c-couponName__name {
    font-size: var(--fs_large-s);
  }
}

.fs-c-couponName__discount {
  font-weight: var(--fw_bold);
}

.fs-c-coupon__image__image {
  width: 100%;
  max-width: none;
}
@media screen and (max-width: 979px) {
  .fs-c-coupon__image__image {
    max-width: 280px;
  }
}
@media screen and (max-width: 509px) {
  .fs-c-coupon__image__image {
    max-width: none;
  }
}

.fs-c-coupon__description {
  margin-left: 10px;
  padding-left: 10px;
}
@media screen and (max-width: 979px) {
  .fs-c-coupon__description {
    margin: 15px 0 0 0;
    padding: 15px 0 0 0;
    border-top: 1px solid var(--c_mono-c);
    border-left: none;
  }
}

.fs-c-couponExpiration__title,
.fs-c-couponAppliedCondition__title {
  font-size: var(--fs_base);
  margin-bottom: 5px;
}
@media screen and (max-width: 509px) {
  .fs-c-couponExpiration__title,
  .fs-c-couponAppliedCondition__title {
    font-size: var(--fs_h5-s);
  }
}

.fs-c-couponExpiration__list__item__title {
  font-size: var(--fs_small);
  margin-right: 8px;
  padding: 0 5px;
  border-radius: var(--br_base);
}
.fs-c-couponExpiration__list__item__body {
  font-size: var(--fs_small);
}
.fs-c-couponExpiration__comment:before {
  content: '※';
}

.fs-c-coupon__description > * + * {
  margin-top: 20px;
}

ul.fs-c-couponExpiration__list {
  padding: 0;
}
.fs-c-couponAppliedCondition__list__item {
  padding-left: 0;
}
.fs-c-couponAppliedCondition__list__item::before {
  display: none;
}

/***********************************************************************
メールマガジン申込・停止
**********************************************************************/
#fs_form[action]:has(fieldset[name="newsletterRegisterField"]),
#fs_form[action]:has(fieldset[name="newsletterCancelField"]) {
  background: var(--c_base-1);
  max-width: 690px;
  margin: 0 auto;
  padding: 45px;
}
@media screen and (max-width: 509px) {
  #fs_form[action]:has(fieldset[name="newsletterRegisterField"]),
  #fs_form[action]:has(fieldset[name="newsletterCancelField"]) {
    padding: 25px 20px;
  }
}

.fs-body-newsletter-subscribe .fs-c-inputInformation__field,
.fs-body-newsletter-unsubscribe .fs-c-inputInformation__field {
  background: none;
  padding: 0;
}

.fs-p-emailDomainNotice {
  margin-top: 30px;
}

.fs-c-button--primary.fs-c-button--confirmDelete {
  font-size: 1.8rem;
  width: 50%;
  min-width: auto;
}
@media screen and (max-width: 509px) {
  .fs-c-button--primary.fs-c-button--confirmDelete {
    font-size: 1.5rem;
    width: 75%;
  }
}

/***********************************************************************
メールマガジン申込・停止完了
**********************************************************************/
.fs-body-newsletter-subscribe-success .fs-c-button--topPage,
.fs-body-newsletter-unsubscribe-success .fs-c-button--topPage {
  font-size: var(--fs_base);
  margin-top: 20px;
}
@media screen and (max-width: 509px) {
  .fs-body-newsletter-subscribe-success .fs-c-button--topPage,
  .fs-body-newsletter-unsubscribe-success .fs-c-button--topPage {
    font-size: var(--fs_base-s);
    margin-top: 10px;
  }
}

/***********************************************************************
レビューログイン
**********************************************************************/
.fs-c-guestReview {
  padding: 0;
  margin-bottom: 45px;
}

.fs-c-buttonContainer--addReview--guest .fs-c-button--addReview--guest {
  max-width: 300px;
}
@media screen and (max-width: 509px) {
  .fs-c-buttonContainer--addReview--guest .fs-c-button--addReview--guest {
    font-size: var(--fs_h4-s);
    max-width: 270px;
  }
}

.fs-body-review-login .fs-c-inputInformation__field {
  background: none;
  padding: 0;
}

/***********************************************************************
レビューを書く
**********************************************************************/
.fs-c-productReviewed {
  grid-template-columns: 152px 1fr;
  grid-template-rows: auto auto 1fr;
  column-gap: 20px;
}
@media screen and (max-width: 509px) {
  .fs-c-productReviewed {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
  }
}

.fs-c-productReviewed__image {
  grid-row: 1 / 4;
}
.fs-c-productReviewed__name {
  grid-row: 1;
}
.fs-c-productReviewed__number {
  grid-row: 2;
}
.fs-c-productReviewed__prices {
  grid-row: 3;
}
.fs-c-productPrice__main__addon:where(:not([class*="--listed"])) {
  color: var(--c_price);
}
.fs-c-productPrice__main__joint {
  color: var(--c_price);
}

.fs-body-review-write .fs-c-reveiwNotes {
  margin-bottom: 25px;
  padding: 20px 0;
  border-color: var(--c_mono-c);
}
.fs-c-reveiwNotes p:last-child {
  margin-bottom: 0;
}

.fs-body-review-write .fs-c-inputTable--child {
  padding: 8px 18px;
}
.fs-body-review-write .fs-c-inputTable--child .fs-c-inputTable__headerCell {
  padding-right: 15px;
}
.fs-body-review-write .fs-c-inputTable--child .fs-c-inputTable__headerCell .fs-system-assistTarget {
  line-height: 1;
}
@media screen and (max-width: 979px) {
  .fs-body-review-write .fs-c-inputTable--child .fs-c-inputTable__headerCell {
    width: 45%;
    padding-right: 10px;
  }
  .fs-body-review-write .fs-c-inputTable--child .fs-c-inputTable__dataCell {
    width: 55%;
  }
}
@media screen and (max-width: 509px) {
  .fs-body-review-write .fs-c-inputTable--child {
    padding: 15px;
  }
  .fs-body-review-write .fs-c-inputTable--child tbody {
    display: block;
  }
  .fs-body-review-write .fs-c-inputTable--child tr {
    display: block;
    margin-bottom: 20px;
  }
  .fs-body-review-write .fs-c-inputTable--child tr:last-child {
    margin-bottom: 0;
  }
  .fs-body-review-write .fs-c-inputTable--child .fs-c-inputTable__headerCell,
  .fs-body-review-write .fs-c-inputTable--child .fs-c-inputTable__dataCell {
    display: block;
    width: 100%;
    margin-bottom: 5px;
    padding: 0;
  }
}

.fs-c-button--primary.fs-c-button--submitReview {
  font-size: 1.8rem;
  font-weight: var(--fw_bold);
}
@media screen and (max-width: 509px) {
  .fs-c-button--primary.fs-c-button--submitReview {
    font-size: var(--fs_h4-s);
  }
}

.fs-c-button--standard.fs-c-button--back {
  color: var(--c_text);
  font-size: var(--fs_base);
  background: var(--c_mono-02);
  line-height: var(--lh_base);
  width: 120px;
  padding: 2px 15px;
  border: none;
  box-shadow: none;
}
.fs-c-button--standard.fs-c-button--back:active,
.fs-c-button--standard.fs-c-button--back:hover,
.fs-c-button--standard.fs-c-button--back:focus {
  color: var(--c_text);
}
@media screen and (max-width: 509px) {
  .fs-c-button--standard.fs-c-button--back {
    font-size: var(--fs_small-s);
    padding: 5px 15px;
  }
}

/***********************************************************************
レビュー書き込み完了
**********************************************************************/
.fs-body-review-success .fs-c-buttonContainer--topPage {
  margin-top: 30px;
}
.fs-body-review-success .fs-c-buttonContainer--back {
  margin-top: 20px;
}

/***********************************************************************
商品のレビュー
**********************************************************************/
.fs-c-reviewer__name__nickname::after {
  font-size: var(--fs_small);
  padding-left: 2px;
}
.fs-c-reviewer__name__reviewNumber {
  font-size: var(--fs_small);
}

@media screen and (max-width: 979px) {
  .fs-c-history .fs-c-reviewList--product .fs-c-reviewList__item__info {
    flex-direction: column;
    align-items: start;
  }
  .fs-c-history .fs-c-reviewList--product .fs-c-reviewInfo__reviewer {
    column-gap: 10px;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
  }
  .fs-c-history .fs-c-reviewList--product .fs-c-reviewInfo__date {
    margin: 0;
  }
}

/***********************************************************************
会員のレビュー
**********************************************************************/
.fs-c-history .fs-c-reviewList .fs-c-productName__name {
  font-size: var(--fs_small);
  line-height: var(--lh_headline);
}

/***********************************************************************
店舗のレビュー
**********************************************************************/
.fs-body-reviews .fs-c-history .fs-c-reviewList .fs-c-reviewList__item__info {
  flex-direction: column;
  align-items: start;
}

.fs-body-reviews .fs-c-history .fs-c-reviewList .fs-c-reviewInfo__reviewer {
  gap: 0;
}

.fs-body-reviews .fs-c-history .fs-c-reviewList .fs-c-reviewInfo__date {
  margin: 0;
}

.fs-c-reviewList__item__editButton {
  margin-top: 5px;
}
.fs-c-button--editReview {
  text-decoration: underline;
}

/***********************************************************************
店舗メンテナンス中
**********************************************************************/
.fs-body-closed .fs-l-main {
  margin: 45px auto;
}
@media screen and (max-width: 1260px) {
  .fs-body-closed .fs-l-main {
    padding: 0 15px;
  }
}

.fs-p-closed .fs-p-closed__image {
  margin-bottom: 20px;
}

@media screen and (max-width: 509px) {
  .fs-p-closed {
    text-align: left;
  }
  .fs-p-closed .fs-p-closed__image {
    margin: 0 auto 20px;
  }
}

/* 特定商取引法に基づく表示 */
.fs-c-documentArticle__heading {
  color: var(--c_main);
  background: var(--c_base-2);
  font-size: var(--fs_h2);
  font-weight: var(--fw_bold);
  text-align: left;
  margin-bottom: 20px;
  padding: 10px 15px;
}
@media screen and (min-width: 1261px) {
  .fs-c-documentArticle__heading {
    font-size: var(--fs_h2-s);
  }
}

.fs-c-documentColumn__heading {
  color: var(--c_text);
  font-size: var(--fs_h3);
  font-weight: bold;
  margin-bottom: 15px;
  padding: 0 0 0 10px;
  border-bottom: none;
  border-left: 4px solid var(--c_main);
}
@media screen and (min-width: 1261px) {
  .fs-c-documentColumn__heading {
    font-size: var(--fs_h3-s);
  }
}

/* 会員規約について */
.fs-c-orderedList > li {
  text-indent: 0;
}
.fs-c-orderedList > li::before {
  content: none;
}
.fs-c-orderedList > li .fs-c-orderedList {
  border: none;
}

/***********************************************************************
ページが見つかりません
**********************************************************************/
@media screen and (max-width: 1260px) {
  .fs-body-notfound .fs-l-main {
    padding: 45px 20px;
  }
}

.fs-p-pageNotFound img {
  margin: 0 auto;
}
.fs-p-pageNotFound__title {
  font-size: 2rem;
  margin: 10px auto;
}

.notfound-category-list ul,
.notfound-category-list li {
  padding: 0;
  list-style-type: none !important;
}

.notfound-category-list .fs-pt-menu__item--lv1 {
  margin-bottom: 30px;
}

.notfound-category-list .fs-pt-menu__item--lv1 > span {
  font-size: var(--fs_h3);
  font-weight: var(--fw_bold);
  line-height: var(--lh_headline);
  margin-bottom: 15px;
  padding-left: 10px;
  border-left: 4px solid var(--c_main);
}
@media screen and (max-width: 509px) {
  .notfound-category-list .fs-pt-menu__item--lv1 > span {
    font-size: var(--fs_h3-s);
  }
}

.notfound-category-list .fs-pt-menu__submenu {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 0;
}
@media screen and (max-width: 1260px) {
  .notfound-category-list .fs-pt-menu__submenu {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 599px) {
  .notfound-category-list .fs-pt-menu__submenu {
    grid-template-columns: repeat(2, 1fr);
  }
}

.notfound-category-list .fs-pt-menu__submenu .fs-pt-menu__item {
  background: var(--c_base-1);
}

.notfound-category-list .fs-pt-menu__submenu .fs-pt-menu__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  transition: all .2s;
}
@media screen and (max-width: 979px) {
  .notfound-category-list .fs-pt-menu__submenu .fs-pt-menu__link {
    font-size: var(--fs_small);
  }
}

.notfound-category-list .fs-pt-menu__submenu .fs-pt-menu__link:hover {
  opacity: var(--op_base);
}

.notfound-category-list .fs-pt-menu__submenu .fs-pt-menu__link::after {
  content: '';
  background: url(../item/images/arrow-right.svg);
  width: 6px;
  height: 10px;
}

/***********************************************************************
フリーページ
**********************************************************************/

@media screen and (max-width: 1260px) {
  .fs-body-custom .fs-l-main {
    padding: 45px 20px;
  }
}
@media screen and (max-width: 509px) {
  .fs-body-custom .fs-l-main {
    padding: 45px 15px;
  }
}

/***********************************************************************
フリーページ：ランキング
**********************************************************************/
.popularity-ranking span.fs-c-productListCarousel__ctrl {
  display: none !important;
}
.popularity-ranking .fs-c-productListCarousel__list {
  display: block;
}
.popularity-ranking div.slick-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 20px;
  row-gap: 30px;
  width: 100% !important;
  transform: none;
  counter-reset: ranking-counter;
}
.popularity-ranking div.slick-track::before {
  content: none;
}
.popularity-ranking .fs-c-productListCarousel__list__item {
  min-width: 100%;
  margin: 0;
}
@media screen and (max-width: 1260px) {
  .popularity-ranking div.slick-track {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
  }
}
@media screen and (max-width: 979px) {
  .popularity-ranking div.slick-track {
    column-gap: 20px;
  }
}

.popularity-ranking .fs-c-slick .slick-slide::before {
  counter-increment: ranking-counter;
  content: 'No.' counter(ranking-counter);
  background: no-repeat center left / 30px 24px;
  font-size: 2.2rem;
  font-weight: var(--fw_bold);
  line-height: 1;
  display: block;
  margin-bottom: 10px;
}
.popularity-ranking .fs-c-slick .slick-slide:nth-child(1)::before {
  padding-left: 35px;
  background-image: url(../item/images/rank-1th.svg);
}
.popularity-ranking .fs-c-slick .slick-slide:nth-child(2)::before {
  padding-left: 35px;
  background-image: url(../item/images/rank-2th.svg);
}
.popularity-ranking .fs-c-slick .slick-slide:nth-child(3)::before {
  padding-left: 35px;
  background-image: url(../item/images/rank-3th.svg);
}

/***********************************************************************
フリーページ：よくある質問
**********************************************************************/
.faq dt,
.faq dd {
  position: relative;
  padding-right: 15px;
  padding-left: 55px;
}
.faq dt {
  font-size: var(--fs_h4);
  padding-top: 30px;
  padding-bottom: 15px;
  border-top: 1px solid var(--c_border);
}
.faq dd {
  margin: 0;
  padding-bottom: 30px;
}
.faq dd:last-child {
  border-bottom: 1px solid var(--c_border);
}
.faq dt::before,
.faq dd::before {
  font-size: var(--fs_h4);
  font-weight: bold;
  line-height: 30px;
  text-align: center;
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  left: 15px;
  border-radius: 50%;
}
.faq dt::before {
  content: 'Q';
  color: var(--c_mono-f);
  background: var(--c_main);
}
.faq dd::before {
  content: 'A';
  color: var(--c_mono-f);
  background: var(--c_text);
  letter-spacing: -.5px;
}
@media screen and (max-width: 509px) {
  .faq dt,
  .faq dd {
    padding-right: 5px;
    padding-left: 40px;
  }
  .faq dt {
    font-size: var(--fs_h4-s);
    padding-top: 20px;
    padding-bottom: 10px;
    border-top: 1px solid var(--c_border);
  }
  .faq dd {
    margin: 0;
    padding-bottom: 20px;
  }
  .faq dd:last-child {
    border-bottom: 1px solid var(--c_border);
  }
  .faq dt::before,
  .faq dd::before {
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 25px;
    text-align: center;
    display: block;
    width: 25px;
    height: 25px;
    position: absolute;
    left: 5px;
    border-radius: 50%;
  }
  .faq dt::before {
    content: 'Q';
    color: var(--c_mono-f);
    background: var(--c_main);
    top: 22.5px;
  }
  .faq dd::before {
    content: 'A';
    color: var(--c_mono-f);
    background: var(--c_text);
    letter-spacing: -.5px;
  }
}

/***********************************************************************
フリーページ：お問い合わせ
**********************************************************************/
.contact-form-area {
  background: var(--c_base-1);
  padding: 45px;
}
.contact-form-area table {
  width: 100%;
  margin-bottom: 20px;
}
.contact-form-area tbody > tr + tr {
  margin-top: 24px;
}
.contact-form-area tbody > tr {
  display: flex;
  flex-direction: column;
}
.contact-form-area table th,
.contact-form-area table td {
  padding: 0;
  border: none;
}
.contact-form-area table th {
  margin-bottom: 2px;
}
.contact-form-area table th span {
  color: var(--c_price);
  font-size: var(--fs_small);
  padding-left: 5px;
}
.contact-form-area .button {
  font-weight: var(--fw_bold);
  width: 250px;
  transition: all .2s;
  cursor: pointer;
}
.contact-form-area .button:hover {
  color: var(--c_mono-f);
  opacity: var(--op_base);
}
@media screen and (max-width: 979px) {
  .contact-form-area {
    background: var(--c_base-1);
    padding: 25px 20px;
  }
}
@media screen and (max-width: 509px) {
  .contact-form-area table {
    margin-bottom: 10px;
  }
  .contact-form-area .button {
    display: block;
    width: 80%;
    max-width: 250px;
    margin: 0 auto;
  }
}