@charset "UTF-8";
/*
|---------------------------------------------------------------
| fs.css
|---------------------------------------------------------------
*/
:root { /* オリジナルCSS設定で上書き可能 */
  --mbs-breadcrumb-color-foreground: var(--mbs-original-breadcrumb-color__text, #1e1e1e);
  --mbs-breadcrumb-color-background: var(--mbs-original-breadcrumb-color__background, #ffffff);
  --mbs-breadcrumb-font-size: var(--mbs-original-breadcrumb-font-size, 12px);
}

:root { /* オリジナルCSS設定で上書き可能 */
  --mbs-price-color--sale: var(--mbs-original-price-color--sale, #ca0000);
}

:root { /* form */
  --mbs-fs-form-input-padding-y: 0.35em;
  --mbs-fs-form-input-padding-x: 0.5em;
  --mbs-fs-form-input-border-color: #dddddd;
  --mbs-fs-form-input-active-border-color: #cccccc;
  --mbs-fs-form-checkbox-checked-color: var(--mbs-color-maincolor);
  --mbs-fs-form-checkbox-checked-color__font: var(--mbs-color-maincolor__font);
  --mbs-fs-form-radio-checked-color: var(--mbs-color-maincolor);
  --mbs-fs-form-radio-checked-color__font: var(--mbs-color-maincolor__font);
}

:root { /* システムパーツ */
  --mbs-fs-c-marks-font-size: 12px;
  --mbs-fs-c-marks-gap: 5px;
  --mbs-fs-c-product-gap: calc(var(--mbs-recommend-gap, 10px) * 1.25);
}
@media (min-width: 750.02px) {
  :root {
    --mbs-fs-c-marks-font-size: 14px;
  }
}

/*
 * ログイン状態
 * 「コマースクリエイターで作成した自動生成ページ」でのみ利用可能
------------------------------------------------*/
.fs-clientInfo *[data-logged-in=false] *[data-fs-status=member] {
  display: none !important;
}
.fs-clientInfo *[data-logged-in=true] *[data-fs-status=guest] {
  display: none !important;
}

/*--------------- 非対応部分でのフォールバック ---------------*/
.mbs-fs-clientInfo.is-ready + .mbs-fs-clientInfo-fallback {
  display: none !important;
}

/*
 * 読み込み中
------------------------------------------------*/
.fs-c-loader__items__item {
  background-color: var(--mbs-color-subcolor1);
}

/*
 * レイアウト
------------------------------------------------*/
.fs-l-main {
  width: 100%;
  max-width: var(--mbs-container-maxwidth, 1300px);
  margin: 0 auto;
  padding: 0 var(--mbs-container-padding, 15px) 50px;
}
.fs-l-main .fs-l-sideArea {
  max-width: 100%;
}
.fs-l-main .fs-l-pageMain {
  max-width: 100%;
}
@media (min-width: 750.02px) {
  .fs-l-main {
    display: flex;
    flex-wrap: wrap;
  }
  .fs-l-main .fs-l-sideArea {
    width: auto;
    margin: 0;
    padding: 0 30px 0 0;
    flex: 0 0 max(25%, 250px);
    max-width: max(25%, 250px);
  }
  .fs-l-main .fs-l-pageMain {
    width: 100%;
    max-width: 100%;
  }
  .fs-l-main .fs-l-sideArea + .fs-l-pageMain {
    flex-grow: 1;
    flex-basis: 0;
  }
}

.mbs-header + .fs-l-main {
  padding-top: 25px;
}

/*
 * パンくず
------------------------------------------------*/
.fs-c-breadcrumb {
  width: 100%;
  margin: 0;
  padding: 10px 0;
  font-size: var(--mbs-breadcrumb-font-size);
  color: var(--mbs-breadcrumb-color-foreground);
  background: var(--mbs-breadcrumb-color-background);
}
.fs-c-breadcrumb__list {
  width: 100%;
  max-width: calc(var(--mbs-container-maxwidth, 100%) + var(--mbs-container-padding, 15px) * 2);
  margin: 0 auto;
  padding: 0 var(--mbs-container-padding, 15px);
}
.fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before {
  margin: 0 0.25em;
}
.fs-c-breadcrumb a {
  color: inherit;
}

/*
 * 見出し
------------------------------------------------*/
.fs-c-subSection__title,
.fs-c-linkedServiceLogin__title {
  color: inherit;
  border-bottom: 2px solid #ccc;
  padding: 0.5em 0;
  font-weight: 600;
}

/*
 * フォーム関連
------------------------------------------------*/
[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 {
  padding: var(--mbs-fs-form-input-padding-y) var(--mbs-fs-form-input-padding-x);
  font-size: max(1em, 16px);
  border-color: var(--mbs-fs-form-input-border-color);
}

[type=hidden]:focus, [type=text]:focus, [type=search]:focus, [type=tel]:focus, [type=url]:focus, [type=email]:focus, [type=password]:focus, [type=datetime]:focus, [type=date]:focus, [type=month]:focus, [type=week]:focus, [type=time]:focus, [type=datetime-local]:focus, [type=number]:focus, select:focus, textarea:focus {
  border-color: var(--mbs-fs-form-input-active-border-color);
  box-shadow: none;
}

/*--------------- selectbox ---------------*/
.fs-c-dropdown__menu {
  padding-top: var(--mbs-fs-form-input-padding-y);
  padding-bottom: var(--mbs-fs-form-input-padding-y);
}

/*--------------- checkbox ---------------*/
.fs-c-checkbox a {
  text-decoration: underline;
}

.fs-c-checkbox__checkbox:checked + label > .fs-c-checkbox__checkMark {
  background: var(--mbs-fs-form-checkbox-checked-color, #1f5da0);
  border-color: var(--mbs-fs-form-checkbox-checked-color, #1f5da0);
}

.fs-c-checkbox__checkbox:checked + label > .fs-c-checkbox__checkMark::before {
  color: var(--mbs-fs-form-checkbox-checked-color__font, #ffffff);
}

/*--------------- radio ---------------*/
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark {
  border-color: var(--mbs-fs-form-radio-checked-color, #2559A8);
}

.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark::before {
  background: var(--mbs-fs-form-radio-checked-color, #2559A8);
}

/*--------------- 住所サジェスト ---------------*/
.fs-c-suggestedAddress {
  max-height: 50vh;
  overflow-y: auto;
  z-index: 10;
}

/*
 * 商品マーク
------------------------------------------------*/
.fs-c-productMarks {
  container-type: inline-size;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: var(--mbs-fs-c-marks-gap);
}
.fs-c-productMarks > * {
  flex: 0 0 auto;
  max-width: 100%;
}

.fs-c-productMark {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mbs-fs-c-marks-gap);
}
.fs-c-productMark__item {
  display: flex;
  flex: 0 0 auto;
  max-width: 100%;
}

.fs-c-productMark__mark,
.fs-c-mark {
  margin: 0;
  border-radius: 0;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  padding: 0.25em 0.3em;
  font-size: var(--mbs-fs-c-marks-font-size);
  line-height: 1;
  font-weight: 400;
  text-align: center;
}

.fs-c-productMark__mark--0 {
  color: var(--color-text, #777777);
  background: var(--color-bg, #ffffff);
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-border, currentColor);
}

.fs-c-mark--preorder {
  color: var(--color-text, #777777);
  background: var(--color-bg, #ffffff);
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-border, currentColor);
  order: -1;
}

/*
 * 販売期間表示
------------------------------------------------*/
.fs-c-productSalesPeriod {
  border: 0;
  line-height: 1.5;
  font-size: 1em;
  font-weight: 500;
  padding: 0.5em 1em;
  text-align: left;
  color: var(--mbs-color-foreground);
  background: #f6f6f6;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  width: 100%;
  margin: 1em 0;
}
.fs-c-productSalesPeriod__label {
  display: flex;
  align-items: baseline;
}
.fs-c-productSalesPeriod__label::after {
  content: "：";
}
.fs-c-productSalesPeriod__date {
  display: block;
}

/*
 * 予約コメントパーツ
------------------------------------------------*/
.fs-c-productPreorderMessage {
  display: block;
  width: 100%;
  margin: 1em 0;
}
.fs-c-productPreorderMessage p {
  margin: 0;
}

/*
 * 商品 システムパーツ
------------------------------------------------*/
.fs-c-productListItem {
  width: 100%;
  /* max-width: 100%; */
  min-width: 0;
  /* margin: 0; */
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: 12px;
  font-size: clamp(12px, 5.56cqw, 14px);
}
.fs-c-productListItem > * {
  display: none;
}
.fs-c-productListItem__imageContainer, .fs-c-productListItem__productName, .fs-c-productListItem__prices, .fs-c-productListItem__productDescription {
  display: block;
}
.fs-c-productListItem > form {
  display: block;
}
.fs-c-productListItem a {
  color: inherit;
  text-decoration: none !important;
}
.fs-c-productListItem__imageContainer {
  display: block;
  width: 100%;
  margin: 0 0 var(--mbs-fs-c-product-gap);
}
.fs-c-productListItem__productName {
  display: block;
  width: 100%;
  margin: 0 0 0.5em;
  font-size: 1em;
  font-weight: 700;
}
.fs-c-productListItem__prices {
  display: block;
  width: 100%;
  margin: 0 0 0.5em;
  font-size: 1.29em;
  font-weight: 700;
}
.fs-c-productListItem__productDescription {
  margin: 0;
}
.fs-c-productListItem__productDescription a {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  line-height: 1;
  padding: 0.25em 0.5em;
  text-decoration: none !important;
  color: #898989;
  border: 1px solid currentColor;
  border-radius: 3px;
}
.fs-c-productListItem__productDescription a[href]::after {
  content: "";
  display: block;
  width: 0.45em;
  height: 0.45em;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-left: 0.25em;
}
.fs-c-productListItem__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  color: #1e1e1e;
  background-color: #ffffff;
  box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.1);
}
.fs-c-productListItem__image a {
  display: block;
  width: 100%;
  height: 100%;
}
.fs-c-productListItem__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.fs-c-productListItem .fs-c-productName__copy {
  display: none;
}
.fs-c-productListItem .fs-c-productPrice__main__label {
  display: none;
}

/*--------------- NO IMAGE ---------------*/
.fs-c-productListItem__productName a::before {
  content: "";
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  margin: 0 0 var(--mbs-fs-c-product-gap);
  color: #1e1e1e;
  background-color: #ffffff;
  box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.1);
  background-image: var(--mbs-noimage-background-image, none);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  pointer-events: none;
}
.fs-c-productListItem__imageContainer ~ .fs-c-productListItem__productName a::before {
  display: none;
}

/*
 * 新規会員登録ページ
------------------------------------------------*/
.fs-c-inputField {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (max-width: 750px) {
  .fs-c-inputField__explanation {
    font-size: 13px;
  }
}
.fs-c-inputField__explanation p {
  margin: 0 0 1em;
}
.fs-c-inputField__explanation a {
  color: var(--mbs-color-link, inherit);
  text-decoration: underline;
}
.fs-c-inputField__field ~ .fs-c-inputField__explanation {
  order: -1;
  margin: 0 0 0.5em;
}

.fs-c-inputInformation {
  --mbs-fs-input-table-head-width: 35%;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.fs-c-inputInformation__field {
  max-width: 100%;
}
.fs-c-inputInformation__field .fs-c-requiredMark {
  text-indent: 0;
  font-size: 0;
  display: inline-block;
  width: auto;
  height: auto;
}
.fs-c-inputInformation__field .fs-c-requiredMark::before {
  content: "必須";
  display: block;
  width: 2em;
  padding: 0.15em 0.25em;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  color: #ffffff;
  background: #ca0000;
}
.fs-c-inputInformation__field .fs-c-inputTable__label {
  padding-right: 3em;
  position: relative;
}
.fs-c-inputInformation__field .fs-c-inputTable__label .fs-c-requiredMark {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: auto;
}
.fs-c-inputInformation__field .fs-c-inputTable {
  --mbs-border-color: #DDDDDD;
  display: block;
  border: 1px solid var(--mbs-border-color);
  border-bottom: 0;
}
.fs-c-inputInformation__field .fs-c-inputTable tr {
  margin: 0;
}
.fs-c-inputInformation__field .fs-c-inputTable th,
.fs-c-inputInformation__field .fs-c-inputTable td {
  padding: 8px;
  border-bottom: 1px solid var(--mbs-border-color);
}
.fs-c-inputInformation__field .fs-c-inputTable__headerCell {
  width: 100%;
  color: inherit;
  background: #f6f6f6;
  text-align: left;
}
.fs-c-inputInformation__field .fs-c-inputTable__dataCell {
  width: 100%;
  color: var(--mbs-color-foreground);
  background: var(--mbs-color-background);
}
.fs-c-inputInformation__field .fs-c-inputTable .is-required {
  background: #fff6ee;
}
@media (min-width: 750.02px) {
  .fs-c-inputInformation__field .fs-c-inputTable {
    display: table;
    border-collapse: collapse;
    border: 1px solid var(--mbs-border-color);
    table-layout: auto;
  }
  .fs-c-inputInformation__field .fs-c-inputTable tbody {
    display: table-row-group;
  }
  .fs-c-inputInformation__field .fs-c-inputTable tr {
    display: table-row;
  }
  .fs-c-inputInformation__field .fs-c-inputTable th,
  .fs-c-inputInformation__field .fs-c-inputTable td {
    display: table-cell;
    padding: 15px 10px;
  }
  .fs-c-inputInformation__field .fs-c-inputTable__headerCell {
    width: var(--mbs-fs-input-table-head-width, 35%);
    text-align: right;
  }
  .fs-c-inputInformation__field .fs-c-inputTable__dataCell {
    width: auto;
  }
}
.fs-c-inputInformation__field .fs-c-birthdayOnceMessage {
  margin-top: 0.5em;
}
.fs-c-inputInformation__field .mbs-overseas-links {
  text-align: center;
  margin: 10px 0;
}
.fs-c-inputInformation__field .mbs-overseas-links a {
  justify-content: center;
}

.fs-c-inputInformation__field--display .fs-c-inputTable__headerCell {
  font-size: 1em;
}

.fs-c-modal--checkout-buyer {
  --mbs-fs-input-table-head-width: 25%;
}

/*--------------- ページ個別 ---------------*/
.fs-body-cart-login .fs-c-inputInformation__field,
.fs-body-forgotPassword .fs-c-inputInformation__field,
.fs-body-merge .fs-c-inputInformation__field,
.fs-body-membershipCardAuth .fs-c-inputInformation__field,
.fs-body-line-login .fs-c-inputInformation__field,
.fs-body-linkOrder .fs-c-inputInformation__field,
.fs-body-login .fs-c-inputInformation__field,
.fs-body-my-account-password .fs-c-inputInformation__field,
.fs-body-my-subscription-cancel .fs-c-inputInformation__field,
.fs-body-my-subscription-changeNextDelivery .fs-c-inputInformation__field,
.fs-body-my-subscription-changeDeliveryCycle .fs-c-inputInformation__field,
.fs-body-newsletter-subscribe .fs-c-inputInformation__field,
.fs-body-newsletter-subscribe-verification .fs-c-inputInformation__field,
.fs-body-newsletter-unsubscribe .fs-c-inputInformation__field,
.fs-body-register-verification .fs-c-inputInformation__field,
.fs-body-resetPassword .fs-c-inputInformation__field,
.fs-body-review-login .fs-c-inputInformation__field,
.fs-body-wishlist-login .fs-c-inputInformation__field {
  padding: 0;
  background: none;
}

/*
 * 会員登録完了ページ
------------------------------------------------*/
.fs-c-registerSuccessMessage {
  text-align: left;
  line-height: 1.75;
}
.fs-c-registerSuccessMessage section {
  margin: 30px 0;
}
.fs-c-registerSuccessMessage p {
  margin: 0 0 1em;
}
.fs-c-registerSuccessMessage h4 {
  margin: 0 0 0.5em;
  font-size: 1.5em;
  font-weight: 600;
}
.fs-c-registerSuccessMessage a {
  color: var(--mbs-color-link);
  text-decoration: underline;
}

/*
 * ログインページ
------------------------------------------------*/
.fs-c-newUsers {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.fs-c-newUsers .fs-c-buttonContainer.fs-c-buttonContainer--memberRegister {
  order: 10;
}

.fs-c-fsLogin {
  --mbs-fs-input-table-head-width: 15em;
}

.fs-c-button--login,
.fs-c-button--memberRegister {
  padding-top: 1.1em;
  padding-bottom: 1.1em;
}

@media screen and (min-width: 960px) {
  .fs-body-login .fs-c-loginForm {
    justify-content: center;
  }
}
/*
 * FS Document
------------------------------------------------*/
.fs-c-documentColumn {
  --mbs-border-color: #CCCCCC;
  line-height: 1.75;
}
.fs-c-documentColumn *:where(a) {
  color: inherit;
  text-decoration: underline;
}
.fs-c-documentColumn__heading {
  display: block;
  width: 100%;
  margin: 0 0 0.5em;
  font-size: clamp(16px, 2.13vw, 18px);
  font-weight: 600;
  color: var(--mbs-color-font--pageHeading);
  border: 0;
  border-bottom: 2px solid var(--mbs-border-color);
  padding: 0.25em 0.25em;
}
.fs-c-documentColumn__content {
  gap: 0.5em;
  padding: 0.25em 0.25em;
}
.fs-c-documentColumn__content *:where(p) {
  margin: 0 0 0.5em;
}

.fs-c-documentArticle {
  line-height: 1.75;
  padding: 8px 0;
}
.fs-c-documentArticle__heading {
  font-size: 1.5em;
  font-weight: 600;
  text-align: left;
  color: var(--mbs-color-font--pageHeading);
  background: none;
  border: 0;
  padding: 0;
}
.fs-c-documentArticle__content {
  padding: 0;
}

.fs-c-documentContent {
  line-height: 1.75;
  padding: 8px 0;
  gap: 0.25em;
}
.fs-c-documentContent__heading {
  font-size: 1em;
  font-weight: 500;
  text-align: left;
  color: var(--mbs-color-font--pageHeading);
  background: none;
  border: 0;
  padding: 0;
}
.fs-c-documentContent__content {
  padding: 0;
  gap: 0.5em;
}

.fs-c-explainList {
  --mbs-border-color: #DDDDDD;
  --mbs-heading-color: var(--mbs-color-foreground);
  --mbs-heading-bgcolor: #F6F6F6;
  gap: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border-width: 1px 0 0 1px;
  border-style: solid;
  border-color: var(--mbs-border-color);
}
.fs-c-explainList dt, .fs-c-explainList dd {
  margin: 0;
  padding: 0.25em 0.5em;
  color: var(--mbs-color-foreground);
  background: var(--mbs-color-background);
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: var(--mbs-border-color);
}
.fs-c-explainList dt {
  font-weight: 500;
  color: var(--mbs-heading-color);
  background-color: var(--mbs-heading-bgcolor);
}
.fs-c-explainList dd {
  font-weight: normal;
  line-height: 1.5;
}
@media (min-width: 750.02px) {
  .fs-c-explainList {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .fs-c-explainList dt, .fs-c-explainList dd {
    padding: 0.75em 1em;
  }
}

.fs-c-explainList dd:not(:last-child) {
  margin-bottom: 0;
}

.fs-c-list {
  list-style: disc;
  display: block;
  padding-left: 2em;
  margin-top: 0;
}
.fs-c-list > li {
  display: list-item;
  margin: 0;
  padding: 0;
  text-indent: 0;
}
.fs-c-list > li::before {
  display: none;
}
