/***************************/
/* 共通設定                */
/***************************/
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 10px 18px;
  font-size: 15px;
  line-height: 1.42857143;
  border-radius: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #ffffff;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #ffffff;
  background-color: #222222;
  border-color: #222222;
}
.btn-default:focus,
.btn-default.focus {
  color: #ffffff;
  background-color: #090909;
  border-color: #000000;
}
.btn-default:hover {
  color: #ffffff;
  background-color: #090909;
  border-color: #040404;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #ffffff;
  background-color: #090909;
  border-color: #040404;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #ffffff;
  background-color: #000000;
  border-color: #000000;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #222222;
  border-color: #222222;
}
.btn-default .badge {
  color: #222222;
  background-color: #ffffff;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.5;
  border-radius: 0;
}
.pull-right {
  float: right !important;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
/***************************/
/* テーマ設定                */
/***************************/
/* 画面遷移エフェクト無効 */
.l-wrapper-none {
  line-height: 1.5;
  letter-spacing: 0.05em;
  overflow-wrap: break-word;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  overflow: hidden;
  opacity: 1;
  -webkit-transition: 1.6s;
  transition: 1.6s; }
  .l-wrapper-none.is-complete {
    opacity: 1; }
  .l-wrapper-none.is-remove {
    opacity: 0;
    -webkit-transition: 0.4s;
    transition: 0.4s; }

/***************************/
/* LINE ID 連携（PC）       */
/***************************/
/* カート画面 */
.line_ec .button-container {
  width: 100%;
}
.line_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 30px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}
.line_ec .button-container .before-btn-line {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}
.line_ec .button-container .after-btn-line {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}
.line_ec .button-container .btn-line {
  background-color: #31ae36;
}
.line_ec .button-container .btn-line .after-btn-line {
  border-color: #70C053;
}

@media screen and (min-width: 480px) {
  .line_ec .button-container {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .line_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }
  .line_ec .button-container .before-btn-line {
    width: 40px;
    height: 40px;
  }
  .line_ec .button-container .after-btn-line {
    width: 40px;
  }
}

/* 注文情報入力画面 */
.alert {
  text-align: left;
  padding-right: 55px;
  padding-left: 55px;
  margin: 40px 0;
}
.alert > div > p {
  margin-bottom: 10.5px;
}
.alert > div > p > strong {
  font-weight: bold;
}
.alert > div > ul {
  padding-inline-start: 40px;
}
.alert > div > ul > li {
  list-style: disc;
  margin-bottom: 10.5px;
}
 #new-view img {
   pointer-events: auto;
 }
.line_new_ec {
  margin: 0 auto;
  width: 60%;
}
.line_new_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 30px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}
.line_new_ec .button-container .before-btn-line {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}
.line_new_ec .button-container .after-btn-line {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}
.line_new_ec .button-container .btn-line {
  background-color: #31ae36;
}
.line_new_ec .button-container .btn-line .after-btn-line {
  border-color: #70C053;
}

@media screen and (min-width: 350px) {
  .line_new_ec .button-container {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .line_new_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }
  .line_new_ec .button-container .before-btn-line {
    width: 40px;
    height: 40px;
  }
  .line_new_ec .button-container .after-btn-line {
    width: 40px;
  }
}

/***************************/
/* LINE ID 連携（SP）       */
/***************************/
/* カート画面 */
.line_sp_ec .button-container {
  width: 100%;
}
.line_sp_ec .button-container .button {
  position: relative;
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  border-radius: 4px;
  line-height: 50px;
  padding-left: 30px;
  height: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  overflow: hidden;
  text-decoration: none;
}
.line_sp_ec .button-container .button .before-btn-line {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  background-size: 100%;
}
.line_sp_ec .button-container .button .after-btn-line {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 100%;
  border-right-style: solid;
  border-right-width: 1px;
}
.line_sp_ec .button-container .btn-line {
  background-color: #31ae36;
}
.line_sp_ec .button-container .btn-line .after-btn-line {
  border-color: #70C053;
}
@media screen and (min-width: 480px) {
  .line_sp_ec {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .line_sp_ec .button-container {
    margin: 5px;
  }
  .line_sp_ec .button-container .button {
    line-height: 40px;
    padding-left: 40px;
    height: 40px;
  }
  .line_sp_ec .button-container .button .before-btn-line {
    width: 40px;
    height: 40px;
  }
  .line_sp_ec .button-container .button .after-btn-line {
    width: 40px;
  }
}

/**************/
/* Amazon Pay */
/**************/
#addressBookWidgetDiv {
  min-width: 300px;
  max-width: 600px;
  min-height: 228px;
  max-height: 400px;
}
#walletWidgetDiv {
  min-width: 300px;
  max-width:600px;
  min-height: 228px;
  max-height: 400px;
  margin-bottom: 15px;
}
#consentWidgetDiv {
  min-width: 300px;
  max-width:600px;
  min-height: 165px;
  max-height: 400px;
}

.consent_wrapper {
  margin-bottom: 10px;
}

/* Mobile optimized and small window */
#addressBookWidgetDiv {
  width: 100%;
  height: 228px;
}
#walletWidgetDiv {
  width: 100%;
  height: 228px;
}
#consentWidgetDiv {
  width: 100%;
  height: 165px;
}
/* Desktop and tablet */
@media only screen and (min-width: 768px) {
  #addressBookWidgetDiv {
    width: 400px;
    height: 228px;
  }
  #walletWidgetDiv {
    width: 400px;
    height: 228px;
  }
  #consentWidgetDiv {
    width: 400px;
    height: 165px;
  }
}

/*****************************/
/* チェックボックスバリデーション */
/*****************************/
.check_agree .formError {
  top:-20px !important;
  right:-20px !important;
}
.c-form_table__checkbox input {
  min-width: 20px;
}

/*******************************/
/* 郵便番号、電話番号バリデーション */
/*******************************/
.smart_phone .formError{
  top:-30px !important;
}

/*******************************/
/* shop/snippets/_product.html */
/*******************************/
.c-product_item {
  position: relative;
}

.c-product_item__inner {
  position: absolute;
  z-index: 99;
  width: 100%;
  height: 100%;
}

.c-product_item__inner__eyecatch__favorite {
  position: absolute;
  z-index: 99;
}

.product_description {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (min-width: 720px) {
  .p-new_product [data-slides="1"] .product_description, .p-new_product [data-slides="2"] .product_description {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
  }
}

/**************************************/
/* shop/sections/_pickup_product.html */
/**************************************/
.p-pickup_product__inner {
  max-width: initial;
}

/**************************************/
/* shop/customer/invite_coupons.html */
/**************************************/
.p-invite_coupon__list {
  margin-top: 30px; }

.invite_coupon__table {
  table-layout: fixed;
}

.w20 {
  width: 20%;
}

.w40 {
  width: 40%;
}

/**************************************/
/* shop/sections/category_panel.liquid */
/**************************************/
.p-category_panel__block--1 {
  height: 500px;
  position: relative;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }
  @media screen and (max-width: 720px) {
    .p-category_panel__block--1 {
      height: 0;
      padding-top: 60%; } }
  .p-category_panel__block--1:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.6) 100%); }
    @media screen and (max-width: 720px) {
      .p-category_panel__block--1:before {
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.6)));
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.6) 100%); } }
  .p-category_panel__block--1 {
    width: 100%; }

/**************************************/
/* shop/sections/products_show_content.liquid */
/**************************************/
.c-product_img__slider__track__list__item__inner {
  background-size: contain !important;
}
.c-product_img__thumbnail__track__list__item__inner {
  background-size: contain !important;
}

/**************************************/
/* バグ解消するまで表示するメッセージ      */
/**************************************/
.customize_notice p {
  text-align: center;
  font-size: 11px;
  margin-top: 8px;
  margin-bottom: 3px;
  color: #999;
}
/**************************************/
/* shop/snippets/_preview_footer.html.liquid */
/**************************************/
.preview-nav {
  z-index: 10;
  position: fixed;
  width: 100%;
  bottom: 0;
  padding: 10px;
  background-color: #eeeeee;
  opacity: 0.8;
  height: 50px;
  border-color: #fff;
  border-radius: 0;
  border: 1px solid transparent;
}
.preview-btn-col {
  text-align: right;
}

/**************************************/
/* shop/sections/new_product.liquid */
/* 2021/11/4: 暫定対応のため追加 */
/* 後ほどbundle.cssに反映してもらうためSwimmyさんに修正依頼すること */
/**************************************/
.temp-new_product_slider {
  flex-wrap: wrap;
  justify-content: initial;
}

/**************************************/
/* shop/sections/carts_show_content.liquid */
/**************************************/
.c-cart_submit .c-form_input {
  position: relative;
}
@media screen and (max-width: 720px) {
  .c-cart_submit .c-form_input .customer_emailformError {
    top: -33px !important; }
  .c-cart_submit .c-form_input .customer_passwordformError {
    top: -25px !important; } }

/**************************************/
/* shop/contacts/draft.html.liquid */
/**************************************/
@media screen and (max-width: 720px) {
  #contacts-form-view .c-form_table__tel .contact_address_attributes_tel01formError {
    top: -33px !important; }
  #contacts-form-view .c-form_table__tel .contact_address_attributes_tel02formError {
    top: -33px !important; }
  #contacts-form-view .c-form_table__tel .contact_address_attributes_tel03formError {
    top: -33px !important; }
  #contacts-form-view .c-form_table .contact_customer_attributes_emailformError {
    top: -33px !important; }
  #contacts-form-view .c-form_table__newsletter .agreeformError {
    top: -44px !important; } }

/**************************************/
/* shop/customers/registrations/new.html.liquid */
/**************************************/
@media screen and (max-width: 720px) {
  #customers-registrations-sign-up-view .c-form_table__name .customer_billing_address_attributes_kana01formError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table__name .customer_billing_address_attributes_kana02formError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table__postcode .customer_billing_address_attributes_zip01formError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table__postcode .customer_billing_address_attributes_zip02formError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table .customer_billing_address_attributes_tel01formError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table .customer_billing_address_attributes_tel02formError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table .customer_billing_address_attributes_tel03formError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table .customer_emailformError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table .customer_passwordformError {
    top: -33px !important; }
  #customers-registrations-sign-up-view .c-form_table__newsletter .agreeformError {
    top: 55px !important; } }

/**************************************/
/* shop/customers/passwords/new.html.liquid */
/**************************************/
@media screen and (max-width: 720px) {
  #customers-password-new-view .p-account_form__inner .customer_emailformError {
    top: -33px !important; } }

/**************************************/
/* shop/customers/passwords/edit.html.liquid */
/**************************************/
@media screen and (max-width: 720px) {
  #customers-password-edit-view .p-account_form__inner .passwordformError {
    top: -33px !important; }
  #customers-password-edit-view .p-account_form__inner .customer_password_confirmationformError {
    top: -33px !important; } }

/**************************************/
/* 区切り線デザイン                      */
/**************************************/
.section_line {
  border: solid;
  border-width: 1px;
}

/************************************************************/
/* 関連商品デザイン                                            */
/* shop/sections/products_show_recommend.liquid             */
/* shop/sections/carts_show_recommend.liquid                */
/* 2021/11/17: 暫定対応のため追加                              */
/* 後ほどbundle.cssに反映してもらうためSwimmyさんに修正依頼すること */
/************************************************************/
.p-recommend_product__inner__list {
  justify-content: space-evenly;
}

/**************************************/
/* カートデザイン */
/* shop/sections/carts_show_content.liquid */
/**************************************/
.c-cart_item__action__delete > .hide {
  visibility: hidden;
}

/**************************************/
/* セット一覧デザイン */
/* shop/sets/index.html.liquid */
/**************************************/
.price > .origin {
  text-decoration: line-through;
  margin-right: 10px;
}

/**************************************/
/* セット選択画面、セット編集画面　SKUデザイン */
/* shop/sets/show.html.liquid　*/
/* shop/customer/subs_orders/sets/edit.html.liquid　*/
/**************************************/
.fieldset .option_template_basic_theme[style*='display: block']{
  display: flex !important;
}

/***************************************************************/
/* ec_force/shop/customer/subs_orders/variants/show.html.liquid*/
/***************************************************************/
#btn-minus {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  width: 40px;
  height: 40px;
  font-size: 24px;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
#btn-minus:hover {
  opacity: 0.4;
}
#btn-plus {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  width: 40px;
  height: 40px;
  font-size: 24px;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
#btn-plus:hover {
  opacity: 0.4;
}

/************************************************************/
/* ecforce_paymentsデザイン
/* shop/orders/_view_payment_information.html.liquid
/* shop/customer/cards/index.html.liquid
/* font系のstyleはカード名義のみ適用で、他はiframeで表示されているため適用されません
/************************************************************/
.ecforce-payment-card-number,
.ecforce-payment-card-expiry,
.ecforce-payment-card-name,
.ecforce-payment-card-cvv {
  height: 40px !important;
  padding: 10px 20px !important;
  color: #9A9A9A !important;
  font-size: 13px !important;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', 'MS PGothic', sans-serif;
  background: #FFFFFF !important;
  border-color: #BDC1C2 !important;
  border: 1px solid #cccccc !important;
  width: 100%;
}

/************************************************************/
/* 注文情報確認画面(shop/order/confirm), [カスタマイズ]注文情報確認画面(admin/themes/:id/customize?screen=order_confirmation)
/* shop/sections/order_confirmation_button.liquid
/************************************************************/
section[data-section-id="order_confirmation_button"] {
  text-align: center;
}
section[data-section-id="order_confirmation_button"] .p-checkout_confirm__inner__list__block--bottom {
  margin-bottom: 20px;
}
@media screen and (max-width: 718px) {
  .p-checkout_confirm__inner__list__block--bottom.float_checked {
    display: none;
  }
}

/* 注意喚起文 */
.p-checkout_confirm__caution__block {
  margin: 0 auto 40px;
  padding: 18px 20px 19px;
  border: thin solid #D8DDDF;
}
.p-checkout_confirm__caution__pc {
  display: block;
}
.p-checkout_confirm__caution__sp {
  display: none;
}
@media screen and (max-width: 720px) {
  .p-checkout_confirm__caution__block {
    padding: 18px 15px 20px;
  }
  .p-checkout_confirm__caution__pc {
    display: none;
  }
  .p-checkout_confirm__caution__sp {
    display: block;
  }
}



/************************************************************/
/* 商品詳細画面
/* shop/products/show.html.liquid
/************************************************************/
.c-product_img__slider--thumbnail .c-product_img__item img{
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}

/************************************************************/
/* ショップフォーム設定 > 都道府県と住所1の入力不可設定=>有効
/* shop/customers/registrations/new.html.liquid
/* shop/customer/shipping_addresses/_form.html.liquid
/* shop/customer/subs_orders/shipping_addresses/edit.html.liquid
/* shop/customer/orders/shipping_addresses/edit.html.liquid
/* shop/customer/base/edit.html.liquid
/* shop/orders/_view_billing_information.html.liquid
/* shop/orders/_view_shipping_information.html.liquid
/************************************************************/
.disabled-input-shop {
  pointer-events: none;
}

select.disabled-input-shop {
  background-color: #ccc !important;
}

input.disabled-input-shop {
  background-color: #ccc !important;
}


/************************************************************/
/* 配送・決済
/* shop/shipping-policy
/************************************************************/
.c-shipping-table {
    font-size: 16px;
}

.c-shipping-table thead {
}

.c-shipping-table td,
.c-shipping-table th{
    padding: .65em;
    border: solid 1px;
}


.c-shipping-table tr th:nth-child(1),
.c-shipping-table tr td:nth-child(1)
{
    width: 70%;
}

.c-shipping-table tr td:nth-child(1) {
    background: var(--color-red-opacity1);
}


.c-shipping-table thead th {
    background: var(--color-red-opacity);
}


:root {
    --color-beige: rgba(240, 238, 236, 1);
    --color-red: rgba(207, 0, 14, 1);
    --color-red-opacity1: rgba(207, 0, 14, .1);
    --color-red-opacity: rgba(207, 0, 14, .3);
    --color-white: rgba(255, 255, 255, 1);
    --color-green: rgba(0, 55, 35, 1);
    --color-nav-disable: rgba(217, 217, 217, 1);
    --opacity-current: .4;
    --opacity-hover: .6;
    --margin-base: 24px;
    --margin-base2: calc(var(--margin-base)*2);
    --margin-base4: calc(var(--margin-base)*4);
    --margin-base6: calc(var(--margin-base)*6);
    --margin-btm-pagetitle: 64px;
    --grid-base-margin: 64px;
    --margin-logo-top: 24px;
    --line-height-s: 1.55;
    --line-height-m: 1.65;
    --line-height-ml: 1.75;
    --line-height-l: 2.0;
    --p-inner: 48px;
    --innerW: calc(100% - 8px);
    --innerW-center: calc(100% - 96px);
    --innerW-50: var(--innerW-center);
    --bdr-radius: 4px;
    --bdr-radius4: 4px;
    --fs-btn-top: 1.6rem;
    --fs-btn: 2.0rem;
    --fs-mypage-nav: 2.0rem;
    --fs-mypage-nav-info: 1.6rem;
    --fs-nav-logout: 1.6rem;
    --fs-ttl-page-en: 2.0rem;
    --fs-ttl-page-ja: 3.2rem;
    --fs-ttl-section-en: 1.5rem;
    --fs-ttl-section-ja: 3.2rem;
    --fs-ttl-section-ja-small: 2.4rem;
    --fs-lead-section: 1.8rem;
    --fs-ttl-flow: 2.4rem;
    --fs-ttl-product: 2.8rem;
    --fs-ttl-product-en: 1.2rem;
    --fs-product-description: 1.6rem;
    --fs-product-price: 1.6rem;
    --fs-note: 1.2rem;
    --fs-15: 1.5rem;
    --fs-16: 1.6rem;
    --fs-10-10: 1.0rem;
    --fs-12-12: 1.2rem;
    --fs-12-16: 1.2rem;
    --fs-14-14: 1.4rem;
    --fs-14-16: 1.6rem;
    --fs-16-12: 1.6rem;
    --fs-16-14: 1.6rem;
    --fs-16-16: 1.6rem;
    --fs-16-20: 1.6rem;
    --fs-18-18: 1.8rem;
    --fs-20-20: 2.0rem;
    --fs-20-24: 2.0rem;
    --fs-24-24: 2.4rem;
    --fs-24-28: 2.4rem;
    --fs-28-28: 2.8rem;
    --fs-24: 2.4rem;
    --w-col2: calc((100% - 120px)/6*2 + 24px);
    --w-col4: calc((100% - 120px)/6*4 + 72px)
  }
  
  @media all and (min-width: 744px) {
    :root {
      --innerW-center: calc(100% - 160px);
      --margin-base: 40px;
      --margin-btm-pagetitle: 80px;
      --margin-logo-top: 64px;
      --fs-btn-top: 2.0rem;
      --fs-btn: 2.0rem;
      --fs-product-description: 2.0rem;
      --fs-mypage-nav: 2.0rem;
      --fs-ttl-page-en: 2.0rem;
      --fs-ttl-page-ja: 4.0rem;
      --fs-ttl-section-en: 2.0rem;
      --fs-ttl-section-ja: 4.0rem;
      --fs-ttl-section-ja-small: 2.4rem;
      --fs-lead-section: 2.0rem;
      --fs-ttl-flow: 3.2rem;
      --fs-note: 1.2rem;
      --fs-12-16: 1.6rem;
      --fs-14-16: 1.6rem;
      --fs-16-14: 1.2rem;
      --fs-16-14: 1.4rem;
      --fs-16-20: 2.0rem;
      --fs-20-24: 2.4rem;
      --fs-24-28: 2.8rem
    }
  }
  
  @media all and (min-width: 1024px) {
    :root {
      --w-col4: calc((100% - 704px)/12*4 + 192px);
      --w-col6: calc((100% - 704px)/12*6 + 320px);
      --w-col8: calc((100% - 704px)/12*8 + 448px);
      --innerW-50: calc(50% - 32px);
      --margin-logo-top: 0px
    }
  }
  
  @media all and (min-width: 1280px) {
    :root {
      --innerW-center: 80%
    }
  }
  
  html,
  body,
  div,
  span,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  abbr,
  address,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  samp,
  small,
  strong,
  sub,
  sup,
  var,
  b,
  i,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
  }
  
  body {
    line-height: 1
  }
  
  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section {
    display: block
  }
  
  nav ul {
    list-style: none
  }
  
  blockquote,
  q {
    quotes: none
  }
  
  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: "";
    content: none
  }
  
  a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
  }
  
  ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
  }
  
  mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
  }
  
  del {
    text-decoration: line-through
  }
  
  abbr[title],
  dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
  }
  
  table {
    border-collapse: collapse;
    border-spacing: 0
  }
  
  hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
  }
  
  input,
  select {
    vertical-align: middle
  }
  
  html {
    font-size: 62.5%
  }
  
  body {
    font-size: 14px;
    font-size: 1.4rem
  }
  
  @media all and (min-width: 768px) {
    html {
      font-size: 62.5%
    }
  
    body {
      font-size: 14px;
      font-size: 1.4rem
    }
  }
  
  :root {
    --vh: 100vh
  }
  
  html {
    background: var(--color-red)
  }
  
  html.sitetop {
    background: var(--color-beige)
  }
  
  html.sitetop.red {
    background: var(--color-red)
  }
  
  body {
    color: #000;
    background: var(--color-beige);
    font-family: "荳ｸ譏弱が繝ｼ繝ｫ繝� StdN R", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: "palt"1;
    font-feature-settings: "palt"1;
    overscroll-behavior-y: none;
    overflow-x: hidden;
    overflow-y: visible;
    letter-spacing: 0.06em;
    color: var(--color-red);
    transition: opacity .2s ease
  }
  
  body.hide {
    opacity: 0
  }
  
  .disable #wrapper:after {
    opacity: 1
  }
  
  #wrapper:after:after {
    content: "";
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    background: var(--color-beige);
    z-index: 1000;
    opacity: 0;
    transition: opacity .3s ease
  }
  
  a {
    color: #000;
    text-decoration: none
  }
  
  li {
    list-style: none
  }
  
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: normal
  }
  
  img {
    vertical-align: top;
    height: auto
  }
  
  input[type=email],
  input[type=url],
  input[type=text],
  input[type=tel],
  button,
  textarea,
  select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
  }
  
  #wrapper {
    padding-top: var(--margin-base4);
    position: relative;
    z-index: 2;
    background: var(--color-beige)
  }
  
  button[data-menu] {
    width: 48px;
    height: 36px;
    position: fixed;
    inset: 4px 0 0 0;
    z-index: 11;
    top: 6px;
    left: 3px;
  }
  
  button[data-menu] .inr {
    width: 20px;
    height: 20px;
    position: absolute;
    inset: 40% 0 0 50%;
    margin: -8px 0 0 -10px;
  }
  
  button[data-menu] span {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--color-red);
    position: absolute;
    left: 0px;
    transition: transform .15s ease-in
  }
  
  button[data-menu] span:nth-of-type(2) {
    top: 7px
  }
  
  button[data-menu] span:nth-of-type(3) {
    top: 14px
  }
  button[data-menu] small {
    font-size: 10px;
    font-weight: bold;
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    transform: scale(.9);
    transform-origin: center center;
  }
  .family-en {
    font-family: "AGaramondPro-Italic", serif;
    font-weight: 400;
    font-style: italic
  }
  
  h1#logo {
    width: 36px;
    height: 36px;
    position: fixed;
    left: 48px;
    top: 10px;
    z-index: 100
  }
  
  h1#logo a {
    display: block;
    position: absolute;
    inset: 0 0 auto auto;
    width: 100%;
    height: 100%
  }
  
  h1#logo svg {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0
  }
  
  h1#logo svg path {
    fill: var(--color-red)
  }
  
  .c-ec_ui {
    position: fixed;
    inset: 8px 8px auto auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    z-index: 10
  }
  
  .c-ec_ui a {
    display: block;
    background: var(--color-red);
    border-radius: var(--bdr-radius)
  }
  
  .c-ec_ui a svg {
    fill: var(--color-white)
  }
  
  .c-ec_ui a :is(.i-mypage, .i-cart) {
    width: 16px;
    height: 16px
  }
  
  .c-ec_ui a.c-btn_mypage {
    padding: 10px;
    margin-right: 8px
  }
  
  .c-ec_ui a.c-btn_cart {
    padding: 10px
  }
  
  .c-ec_ui a.c-btn_cart .inr {
    display: flex;
    align-items: center
  }
  
  .c-ec_ui a.c-btn_cart span.num {
    line-height: 1;
    color: var(--color-white);
    font-size: var(--fs-15);
    font-family: "nimbus-sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-left: 8px
  }
  
  .icon {
    position: relative
  }
  
  .icon svg {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0 auto auto 0
  }
  
  .icon.circle_arrow .st0 {
    fill: #c2191f
  }
  
  .icon.circle_arrow .st1 {
    fill: #f0edeb
  }
  
  .i-blank {
    width: min(3.85vw, 15px);
    height: min(3.85vw, 15px);
    position: absolute
  }
  
  .c-wrap_btn {
    width: 74.35%;
    box-sizing: border-box;
    margin: auto
  }
  
  .c-wrap_btn.w100 {
    width: 100%
  }
  
  .c-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 50px;
    position: relative
  }
  
  .c-btn[target=_blank] {
    position: relative
  }
  
  .c-btn.round {
    border-radius: var(--bdr-radius)
  }
  
  .c-btn .inr {
    text-align: center
  }
  
  .c-btn .i-blank {
    right: 12.5px;
    top: 50%;
    margin-top: -7.5px
  }
  
  .c-btn .i-downarrow {
    width: 24px;
    height: 24px;
    position: absolute;
    right: 12px;
    top: 50%;
    margin-top: -12px
  }
  
  .c-btn .i-downarrow svg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    fill: var(--color-red)
  }
  
  .c-btn span {
    font-size: var(--fs-btn);
    color: var(--color-red);
    letter-spacing: 0.12em;
    display: block;
    position: relative;
    top: 1px
  }
  
  .c-btn.row2 {
    height: 75px
  }
  
  .c-btn.row2 span {
    line-height: var(--line-height-s)
  }
  
  .c-btn.h40 {
    height: 40px
  }
  
  .c-btn.small {
    display: inline-block
  }
  
  .c-btn.small .inr {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    padding: 0 16px
  }
  
  .c-btn.small.h40 .inr {
    height: 40px
  }
  
  .c-btn.small.h40 .inr span {
    font-size: var(--fs-16-16)
  }
  
  .c-btn.bg_white {
    background: var(--color-white)
  }
  
  .c-btn.bg_white .i-blank svg {
    fill: var(--color-red)
  }
  
  .c-btn.bg_white_green {
    background: var(--color-white)
  }
  
  .c-btn.bg_white_green .i-blank svg {
    fill: var(--color-green)
  }
  
  .c-btn.bg_white_green span {
    color: var(--color-green)
  }
  
  .c-btn.bg_red {
    background: var(--color-red)
  }
  
  .c-btn.bg_red span {
    color: var(--color-white)
  }
  
  .c-btn.bdr_red {
    border: 1px solid var(--color-red)
  }
  
  .c-btn.bdr_white {
    border: 1px solid var(--color-white)
  }
  
  .c-btn.bdr_white span {
    color: var(--color-white)
  }
  
  .c-btn.fs20 span {
    font-size: var(--fs-20-20)
  }
  
  .c-ttl_section {
    width: 100%;
    padding-left: var(--p-inner);
    box-sizing: border-box;
    margin-bottom: 34px
  }
  
  .c-ttl_section .ttl_inner {
    width: var(--innerW)
  }
  
  .c-ttl_section p.en {
    font-size: var(--fs-ttl-section-en);
    line-height: var(--line-height-m);
    margin-bottom: 44px
  }
  
  .c-ttl_section h2 {
    font-size: var(--fs-ttl-section-ja);
    line-height: var(--line-height-s);
    letter-spacing: 0.08em
  }
  
  .c-ttl_section h2.small {
    font-size: var(--fs-20-20)
  }
  
  .c-ttl_section h3 {
    display: flex;
    font-size: var(--fs-ttl-section-ja);
    line-height: var(--line-height-s)
  }
  
  .c-ttl_section h3 span.num {
    margin-right: 8px;
    display: inline-block
  }
  
  .c-ttl_section.white p.en,
  .c-ttl_section.white h2 {
    color: var(--color-white)
  }
  
  .c-ttl_section.white p.en {
    border-bottom: 1px solid var(--color-white)
  }
  
  .c-ttl_section.red p.en {
    border-bottom: 1px solid var(--color-red)
  }
  
  .c-ttl_page {
    width: 100%;
    padding-left: var(--p-inner);
    box-sizing: border-box;
    margin-bottom: var(--margin-btm-pagetitle)
  }
  
  .c-ttl_page .ttl_inner {
    width: var(--innerW)
  }
  
  .c-ttl_page p.en {
    font-size: var(--fs-ttl-page-en);
    line-height: var(--line-height-s);
    margin-bottom: 42px;
    border-bottom: 1px solid var(--color-red)
  }
  
  .c-ttl_page h1 {
    width: calc(100% - 48px);
    font-size: var(--fs-ttl-page-ja);
    line-height: var(--line-height-s);
    letter-spacing: 0.08em
  }
  
  .c-ttl_content {
    width: 100%;
    padding-left: var(--p-inner);
    box-sizing: border-box;
    margin-bottom: 64px
  }
  
  .c-ttl_content .ttl_content_inner {
    width: var(--innerW)
  }
  
  .c-ttl_content h3 {
    font-size: var(--fs-ttl-page-ja);
    line-height: var(--line-height-s);
    position: relative;
    padding-left: 1.5em
  }
  
  .c-ttl_content h3 span.num {
    position: absolute;
    left: 0px;
    top: 0px
  }
  
  .c-ttl_content h3.no_num {
    padding-left: 0px
  }
  
  .c-ttl_mypage {
    margin-bottom: 24px
  }
  
  .c-ttl_mypage h2 {
    font-size: var(--fs-28-28);
    color: var(--color-red)
  }
  
  .c-lead_section,
  .c-lead_account {
    width: var(--innerW-center);
    margin: auto;
    box-sizing: border-box;
    margin-bottom: min(12.82vw, 50px);
    margin-top: 24px
  }
  
  .c-lead_section p,
  .c-lead_account p {
    font-size: var(--fs-20-20);
    line-height: 2;
    letter-spacing: 0.08em
  }
  
  .c-lead_section p br.pc,
  .c-lead_account p br.pc {
    display: none
  }
  
  .c-lead_section.white p,
  .c-lead_account.white p {
    color: var(--color-white)
  }
  
  .bg_beige {
    background: var(--color-beige)
  }
  
  .bg_beige .c-ttl_section p.en,
  .bg_beige .c-ttl_section h2 {
    color: var(--color-red)
  }
  
  .bg_beige .c-ttl_section p.en {
    border-bottom: 1px solid var(--color-red)
  }
  
  .bg_beige .c-lead_section p {
    color: var(--color-red)
  }
  
  .bg_red {
    background: var(--color-red)
  }
  
  .bg_red .c-ttl_section p.en,
  .bg_red .c-ttl_section h2 {
    color: var(--color-white)
  }
  
  .bg_red .c-ttl_section p.en {
    border-bottom: 1px solid var(--color-white)
  }
  
  .bg_red .c-lead_section p {
    color: var(--color-white)
  }
  
  .bg_green {
    background: var(--color-green)
  }
  
  .bg_green .c-ttl_section p.en,
  .bg_green .c-ttl_section h2 {
    color: var(--color-white)
  }
  
  .bg_green .c-ttl_section p.en {
    border-bottom: 1px solid var(--color-white)
  }
  
  .bg_green .c-lead_section p {
    color: var(--color-white)
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu0 {
    padding-bottom: 41px;
    margin-bottom: 46px;
    border-bottom: 1px solid var(--color-white);
    width: 100%
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu0 ul li {
    margin-bottom: 21px;
    white-space: nowrap
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu0 ul li:last-child {
    margin-bottom: 0px
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu0 ul li a {
    display: inline-block;
    color: var(--color-white);
    letter-spacing: 0.1em
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu0 ul li a span {
    font-size: var(--fs-20-20);
    line-height: var(--line-height-s)
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu0 ul li a.current {
    pointer-events: none;
    opacity: var(--opacity-current)
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu1 ul li {
    margin-bottom: 1.35em;
    white-space: nowrap
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu1 ul li:last-child {
    margin-bottom: 0px
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu1 ul li a {
    color: var(--color-white);
    display: inline-block;
    letter-spacing: 0.06em
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu1 ul li a span {
    font-size: var(--fs-14-14)
  }
  
  :is(footer#s-footer, nav#s-glbnav) .menu1 ul li a.current {
    pointer-events: none;
    opacity: var(--opacity-current)
  }
  
  :is(footer#s-footer, nav#s-glbnav) .copy {
    margin-top: 44px
  }
  
  :is(footer#s-footer, nav#s-glbnav) .copy p {
    font-size: var(--fs-12-12);
    font-family: "AGaramondPro-Italic", serif;
    font-weight: 400;
    font-style: italic;
    color: var(--color-white);
    letter-spacing: 0.04em;
    line-height: var(--line-height-s)
  }
  
  [data-page-content] {
    width: 100%;
    position: relative
  }
  
  .f_w footer#s-footer {
    top: 0px;
    bottom: auto
  }
  
  .f_w.move_footer footer#s-footer {
    position: relative;
    top: auto;
    bottom: auto
  }
  
  .f_w.move_footer [data-page-content] {
    padding-bottom: 0px !important
  }
  
  .w_f.move_footer footer#s-footer {
    position: fixed;
    top: auto;
    bottom: 0
  }
  
  footer#s-footer {
    width: 100%;
    background: var(--color-red);
    position: fixed;
    bottom: 0px
  }
  
  footer#s-footer .footer_inner {
    width: calc(100% - 96px);
    padding: 106px 0 90px 0;
    margin: auto;
    box-sizing: border-box
  }
  
  footer#s-footer .cols {
    margin-bottom: 46px
  }
  
  footer#s-footer p.logo_footer {
    width: 162px;
    margin-bottom: 44px
  }
  
  .c-free_dial {
    width: 100%;
    border: 1px solid var(--color-white);
    box-sizing: border-box;
    border-radius: var(--bdr-radius);
    display: block;
    position: relative
  }
  
  .c-free_dial .inner {
    padding: 16px 16px 12px 16px;
    text-align: center
  }
  
  .c-free_dial p,
  .c-free_dial a {
    color: var(--color-white)
  }
  
  .c-free_dial p.ttl_freedial {
    font-size: var(--fs-12-12);
    margin-bottom: 14px
  }
  
  .c-free_dial .free_dial {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px
  }
  
  .c-free_dial .free_dial .icon {
    width: 24px;
    height: 15px;
    margin-right: 8px
  }
  
  .c-free_dial .free_dial .icon svg {
    fill: var(--color-white)
  }
  
  .c-free_dial .free_dial p {
    letter-spacing: 0.05em;
    font-size: var(--fs-24-28)
  }
  
  .c-free_dial .free_dial p.txt_tel {
    position: relative;
    top: 1px
  }
  
  .c-free_dial p.txt_time {
    font-size: var(--fs-16-16)
  }
  
  .c-free_dial .icon_arrow {
    width: 16px;
    height: 16px;
    position: absolute;
    right: 24px;
    top: 50%;
    margin-top: -8px;
    display: none
  }
  
  .c-free_dial .icon_arrow svg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    fill: var(--color-white)
  }
  
  .c-free_dial.red {
    border-color: var(--color-red)
  }
  
  .c-free_dial.red h4,
  .c-free_dial.red p,
  .c-free_dial.red a {
    color: var(--color-red)
  }
  
  .c-free_dial.red .free_dial .icon svg {
    fill: var(--color-red)
  }
  
  .c-free_dial.red .free_dial p {
    letter-spacing: 0.05em;
    font-size: var(--fs-24-28)
  }
  
  .c-free_dial.red .icon_arrow svg {
    fill: var(--color-red)
  }
  
  #bg_nav {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9;
    display: none
  }
  
  nav#s-glbnav {
    width: calc(100% - 48px);
    position: fixed;
    inset: 0;
    background: var(--color-red);
    z-index: 10;
    pointer-events: none;
    transition: transform .3s ease;
    transform: translate3d(-100%, 0, 0)
  }
  
  nav#s-glbnav .nav_inner {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    overflow: auto
  }
  
  nav#s-glbnav .nav_content {
    padding: 96px 0;
    width: var(--innerW-center);
    margin: auto;
    box-sizing: border-box
  }
  
  nav#s-glbnav h6 {
    width: 162px;
    margin-bottom: 48px
  }
  
  nav#s-glbnav .c-free_dial {
    margin-top: 48px
  }
  
  .show-menu #bg_nav {
    display: block
  }
  
  .show-menu nav#s-glbnav {
    transform: translate3d(0%, 0, 0);
    pointer-events: auto
  }
  
  .show-menu button[data-menu] span {
    background: var(--color-white)
  }
  
  :is(.show-menu button[data-menu] span:nth-of-type(1), .show-menu button[data-menu] span:nth-of-type(3)) {
    top: min(1.67vw, 6.5px);
    width: min(3.85vw, 15px)
  }
  
  .show-menu button[data-menu] span:nth-of-type(1) {
    transform: translateX(min(-0.26vw, -1px)) rotate(45deg)
  }
  
  .show-menu button[data-menu] span:nth-of-type(2) {
    display: none
  }
  
  .show-menu button[data-menu] span:nth-of-type(3) {
    transform: translateX(min(-0.26vw, -1px)) rotate(-45deg)
  }
  
  .c-nav_mypage_common .nav_mypage_inner {
    width: var(--innerW-center);
    margin: auto
  }
  
  .c-nav_mypage_common a {
    color: var(--color-red)
  }
  
  .c-nav_mypage_common ul.nav_main {
    margin-bottom: 32px
  }
  
  .c-nav_mypage_common ul.nav_main li {
    border-bottom: 1px solid var(--color-red-opacity)
  }
  
  .c-nav_mypage_common ul.nav_main li:last-child {
    margin-bottom: 0px;
    border-bottom: none
  }
  
  .c-nav_mypage_common ul.nav_main li a {
    display: block;
    font-size: var(--fs-mypage-nav)
  }
  
  .c-nav_mypage_common ul.nav_main li a span {
    line-height: 1;
    display: block
  }
  
  .c-nav_mypage_common ul.nav_main li a.current {
    pointer-events: none;
    opacity: var(--opacity-current)
  }
  
  .c-nav_mypage_common ul.nav_main li .inr {
    display: flex;
    align-items: center;
    position: relative;
    padding: 22px 0 21px 0
  }
  
  .c-nav_mypage_common ul.nav_main li .icon {
    width: 20px;
    height: 20px;
    margin-right: 10px
  }
  
  .c-nav_mypage_common ul.nav_main li .arrow {
    width: 7px;
    height: 10px;
    position: absolute;
    right: 0px;
    top: 50%;
    margin-top: -6px
  }
  
  .c-nav_mypage_common ul.nav_main li svg {
    fill: var(--color-red)
  }
  
  .c-nav_mypage_common ul.nav_info {
    margin-bottom: 48px
  }
  
  .c-nav_mypage_common ul.nav_info li {
    margin-bottom: 7px
  }
  
  .c-nav_mypage_common ul.nav_info li:last-child {
    margin-bottom: 0px
  }
  
  .c-nav_mypage_common ul.nav_info li a {
    text-decoration: underline;
    text-decoration-thickness: 1px
  }
  
  .c-nav_mypage_common ul.nav_info li span {
    font-size: var(--fs-mypage-nav-info);
    line-height: var(--line-height-l)
  }
  
  .c-nav_mypage_common p.c-nav_logout {
    text-align: center
  }
  
  .c-nav_mypage_common p.c-nav_logout a {
    font-size: var(--fs-nav-logout);
    text-decoration: underline;
    text-decoration-thickness: 1px
  }
  
  .c-nav_mypage_common.c-nav_mypage {
    margin-top: -20px
  }
  
  .c-nav_mypage_common.c-nav_mypage ul.nav_info li a {
    display: flex;
    align-items: center
  }
  
  .c-nav_mypage_common.c-nav_mypage ul.nav_info li .icon {
    width: 16px;
    height: 16px;
    margin-right: 5px
  }
  
  .c-nav_mypage_common.c-nav_mypage_bottom {
    padding-bottom: 96px
  }
  
  .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_info li a {
    text-decoration: underline;
    text-decoration-thickness: 1px
  }
  
  .c-nav_mypage_common.c-nav_mypage_bottom p.c-nav_logout {
    text-align: center;
    text-decoration-thickness: 1px
  }
  
  #s-library .c-more {
    margin-top: 38px
  }
  
  #s-library .c-more a {
    width: var(--innerW-center);
    margin: auto
  }
  
  button[data-menu] {
    transition: transform .2s ease
  }
  
  .c-ec_ui,
  h1#logo {
    transition: transform .2s ease
  }
  
  .scrolling h1#logo {
    transform: translate3d(0, -80px, 0)
  }
  
  .scrolling button[data-menu],
  .scrolling .c-ec_ui {
    transform: translate3d(0, -80px, 0)
  }
  
  @media all and (min-width: 744px) {
    button[data-menu] {
      width: 80px;
      height: 36px;
      inset: 42px 0 0 0
    }
  
    h1#logo {
      width: 41px;
      height: 41px;
      inset: 40px auto auto 80px
    }
  
    .c-ec_ui {
      inset: 40px 80px auto auto
    }
  
    .c-ec_ui a.c-btn_mypage {
      padding: 12px;
      margin-right: 8px
    }
  
    .c-ec_ui a.c-btn_cart {
      padding: 12px 17px
    }
  
    .c-ttl_page {
      width: var(--innerW-center);
      margin: auto;
      padding-left: 0px;
      margin-bottom: var(--margin-btm-pagetitle)
    }
  
    .c-ttl_page .ttl_inner {
      width: 100%
    }
  
    .c-ttl_page h1 br.sp {
      display: none
    }
  
    .c-ttl_section {
      width: var(--innerW-center);
      margin: auto;
      padding-left: 0px
    }
  
    .c-ttl_section .ttl_inner {
      width: 100%
    }
  
    footer#s-footer .footer_inner {
      width: var(--innerW-center);
      padding: 156px 0 160px 0
    }
  
    footer#s-footer .cols {
      width: 100%;
      display: flex;
      justify-content: space-between;
      margin-bottom: 58px
    }
  
    footer#s-footer p.logo_footer {
      margin-bottom: 0
    }
  
    footer#s-footer .r-col {
      width: calc((100% - 320px)/6*4 + 192px);
      display: flex;
      justify-content: space-between
    }
  
    footer#s-footer .menu0 {
      width: calc((100% - 192px)/4*2 + 64px)
    }
  
    footer#s-footer .menu1 {
      width: calc((100% - 192px)/4*2 + 64px)
    }
  
    footer#s-footer .menu0 {
      padding-bottom: 0;
      margin-bottom: 0;
      border-bottom: none
    }
  
    footer#s-footer .menu0 ul li {
      margin-bottom: 21px
    }
  
    footer#s-footer .menu0 ul li:last-child {
      margin-bottom: 0px
    }
  
    footer#s-footer .menu1 ul li {
      margin-bottom: 1.4em
    }
  
    footer#s-footer .menu1 ul li:last-child {
      margin-bottom: 0px
    }
  
    footer#s-footer .copy {
      margin-top: 60px
    }
  
    .c-free_dial .inner {
      padding: 20px 16px 22px 16px;
      text-align: center
    }
  
    .c-free_dial p.ttl_freedial {
      font-size: var(--fs-20-20);
      margin-bottom: 19px
    }
  
    .c-free_dial .wrap_free_dial {
      display: flex;
      align-items: flex-end;
      justify-content: center
    }
  
    .c-free_dial .free_dial {
      margin-bottom: 0px
    }
  
    .c-free_dial .free_dial .icon {
      width: 24px;
      height: 15px;
      margin-right: 8px
    }
  
    .c-free_dial p.txt_time {
      font-size: var(--fs-16-16);
      margin-left: 8px;
      position: relative;
      top: -2px
    }
  
    .c-free_dial .icon_arrow {
      display: block
    }
  
    #s-library .c-more {
      margin-top: 70px
    }
  
    .p-account .c-nav_mypage_common .nav_mypage_inner {
      width: 100%
    }
  
    .p-account .c-nav_mypage_common.c-nav_mypage_bottom {
      width: 100%;
      padding-bottom: 160px
    }
  }
  
  @media all and (min-width: 1380px) {
    button[data-menu] {
      display: none
    }
  
    #wrapper {
      min-height: 100vh
    }
  
    :is(.c-ttl_section, .c-ttl_page) {
      width: 100%
    }
  
    :is(.c-ttl_section, .c-ttl_page) .ttl_inner {
      width: var(--innerW-center);
      margin: auto
    }
  
    .c-ttl_section {
      margin-bottom: 34px
    }
  
    .c-ttl_section p.en {
      line-height: var(--line-height-m);
      margin-bottom: 56px
    }
  
    .c-ttl_section h3 br.sp {
      display: none
    }
  
    .c-ttl_page p.en {
      margin-bottom: 56px
    }
  
    .c-ttl_content {
      padding-left: 0;
      margin-bottom: 80px
    }
  
    .c-ttl_content .ttl_content_inner {
      width: var(--innerW-center);
      margin: auto
    }
  
    .c-ttl_content h3 br.sp {
      display: none
    }
  
    .c-lead_section p br.pc,
    .c-lead_account p br.pc {
      display: block
    }
  
    .c-ec_ui,
    h1#logo,
    nav#s-glbnav {
      transition: transform .2s ease
    }
  
    .scrolling .c-ec_ui {
      transform: translate3d(0, -100px, 0)
    }
  
    .scrolling h1#logo,
    .scrolling nav#s-glbnav {
      transform: translate3d(0, -100px, 0);
      transition: transform .2s ease
    }
  
    nav#s-glbnav {
      width: calc(100% - 520px);
      height: 40px;
      position: fixed;
      inset: 40px auto auto 160px;
      display: flex;
      align-items: center;
      background: none;
      z-index: 100;
      opacity: 1;
      transform: translate3d(0, 0, 0);
      pointer-events: auto
    }
  
    nav#s-glbnav .nav_inner {
      width: 100%;
      height: auto;
      position: relative;
      inset: 1px 0 0 0;
      overflow: visible
    }
  
    nav#s-glbnav .nav_content {
      width: 100%;
      padding: 0
    }
  
    nav#s-glbnav .menu0 {
      padding-bottom: 0;
      margin-bottom: 0;
      border-bottom: none;
      width: 100%
    }
  
    nav#s-glbnav .menu0 ul {
      display: flex;
      padding-left: 0px
    }
  
    nav#s-glbnav .menu0 ul li {
      margin-bottom: 0px;
      margin-right: 40px
    }
  
    nav#s-glbnav .menu0 ul li:last-child {
      margin-bottom: 0px
    }
  
    nav#s-glbnav .menu0 ul li a {
      display: inline-block;
      color: var(--color-red);
      letter-spacing: 0.1em
    }
  
    nav#s-glbnav .menu0 ul li a span {
      font-size: var(--fs-16-20);
      line-height: var(--line-height-s)
    }
  
    nav#s-glbnav h6,
    nav#s-glbnav .c-free_dial,
    nav#s-glbnav .menu1,
    nav#s-glbnav .copy {
      display: none
    }
  
    footer#s-footer .r-col {
      width: calc((100% - 704px)/12*8 + 448px)
    }
  
    footer#s-footer .menu0 {
      width: calc((100% - 448px)/8*4 + 256px)
    }
  
    footer#s-footer .menu1 {
      width: calc((100% - 448px)/8*4 + 192px)
    }
  
    .c-nav_mypage_common ul.nav_main {
      margin-bottom: 32px
    }
  
    .c-nav_mypage_common ul.nav_main li {
      margin-bottom: 0px
    }
  
    .c-nav_mypage_common ul.nav_main li:last-child {
      margin-bottom: 0px;
      border-bottom: none
    }
  
    .c-nav_mypage_common ul.nav_main li .inr {
      padding: 44px 0 44px 0
    }
  
    .c-nav_mypage_common ul.nav_info {
      margin-bottom: 48px
    }
  
    .c-nav_mypage_common ul.nav_info li {
      margin-bottom: 7px
    }
  
    .c-nav_mypage_common ul.nav_info li:last-child {
      margin-bottom: 0px
    }
  
    .c-nav_mypage_common ul.nav_info li span {
      font-size: var(--fs-mypage-nav-info);
      line-height: var(--line-height-l)
    }
  
    .c-nav_mypage_common p.c-nav_logout {
      text-align: center
    }
  
    .c-nav_mypage_common.c-nav_mypage .nav_mypage_inner {
      width: 100%;
      margin: 0px
    }
  
    .c-nav_mypage_common.c-nav_mypage ul.nav_main {
      padding-top: 0px;
      margin-bottom: 53px
    }
  
    .c-nav_mypage_common.c-nav_mypage ul.nav_main li {
      border: none;
      margin-bottom: 19px
    }
  
    .c-nav_mypage_common.c-nav_mypage ul.nav_main li .inr {
      padding: 0px
    }
  
    .c-nav_mypage_common.c-nav_mypage .c-nav_logout {
      text-align: left
    }
  
    .c-nav_mypage_common.c-nav_mypage ul.nav_info {
      margin-bottom: 54px
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom {
      padding-bottom: 160px
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom .nav_mypage_inner {
      width: var(--innerW-center)
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_main {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 68px
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_main li {
      width: var(--w-col4);
      margin-right: var(--grid-base-margin)
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_main li:nth-child(3n) {
      margin-right: 0px
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_main li:nth-last-child(1),
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_main li:nth-last-child(2),
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_main li:nth-last-child(3) {
      margin-bottom: 0px;
      border: none
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_main li.w100 {
      width: 100%;
      margin-right: 0px
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom .cols {
      display: flex;
      justify-content: space-between
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_info {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 0px
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_info li {
      margin-right: 48px;
      margin-bottom: 0px
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom ul.nav_info li:last-child {
      margin-right: 0px
    }
  
    .c-nav_mypage_common.c-nav_mypage_bottom p.c-nav_logout {
      text-align: left
    }
  }
  
  .isdebug #grid {
    display: block
  }
  
  #grid {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100vh;
    z-index: 20000;
    pointer-events: none;
    display: none
  }
  
  #grid #g_inner {
    width: 100%;
    margin: auto;
    height: 100vh;
    display: flex
  }
  
  #grid .g {
    width: calc((100% - 216px)/6);
    margin-right: 24px;
    height: 100vh;
    background: rgba(0, 255, 128, .2)
  }
  
  #grid .g.pc {
    display: none
  }
  
  #grid .g:nth-of-type(1) {
    margin-left: 48px
  }
  
  #grid .g:nth-last-of-type(1) {
    margin-right: 48px
  }
  
  @media all and (min-width: 744px) {
    #grid .g {
      width: calc((100% - 320px)/6);
      margin-right: 64px
    }
  
    #grid .g:nth-of-type(1) {
      margin-left: 80px
    }
  
    #grid .g:nth-of-type(6) {
      margin-right: 80px
    }
  }
  
  @media all and (min-width: 1024px) {
    #grid #g_inner {
      width: calc(100% - 160px);
      margin: auto
    }
  
    #grid .g {
      width: calc((100% - 704px)/12);
      margin-right: 64px
    }
  
    #grid .g.pc {
      display: block
    }
  
    #grid .g:nth-of-type(1) {
      margin-left: 0px
    }
  
    #grid .g:nth-last-of-type(1) {
      margin-right: 0px
    }
  
    #grid .g:nth-of-type(6) {
      margin-right: 64px
    }
  
    #s-library .c-more {
      text-align: center
    }
  
    #s-library .c-more a.c-btn {
      display: inline-block;
      width: auto
    }
  
    #s-library .c-more a.c-btn .inr {
      height: 50px;
      padding: 0 16px;
      display: flex;
      align-items: center;
      justify-content: center
    }
  }
  
  @media all and (min-width: 1380px) {
        /* 
    h1#logo {
      left: 10%
    }
  

    nav#s-glbnav {
      width: 588px;
      left: calc(10% + 80px)
    }
      
  
    .c-ec_ui {
      right: 10%
    }
  
    #grid #g_inner {
      width: 80%
    }
      */
  }
  
  main>.l-container__row {
    margin-top: 0px
  }
  
  :is(.c-carousel, .c-product_list) ul li img {
    width: 100%
  }
  
  :is(.c-carousel, .c-product_list) ul li figure {
    margin-bottom: 22px
  }
  
  :is(.c-carousel, .c-product_list) ul li .ttl {
    margin-bottom: 8px
  }
  
  :is(.c-carousel, .c-product_list) ul li :is(h3, p.en, p.txt_price, p.txt_description) {
    color: var(--color-red)
  }
  
  :is(.c-carousel, .c-product_list) ul li h3 {
    font-size: var(--fs-20-20);
    line-height: var(--line-height-s);
    margin-bottom: .1em;
    letter-spacing: 0.08em
  }
  
  :is(.c-carousel, .c-product_list) ul li p.en {
    font-size: var(--fs-14-14);
    line-height: 1.2
  }
  
  :is(.c-carousel, .c-product_list) ul li p.txt_price {
    font-size: var(--fs-12-16);
    line-height: 1;
    letter-spacing: 0.06em;
    margin-bottom: 18px
  }
  
  :is(.c-carousel, .c-product_list) ul li p.txt_description {
    font-size: var(--fs-12-16);
    line-height: var(--line-height-s);
    letter-spacing: 0.08em
  }
  
  :is(.c-carousel, .c-product_list) ul li .c-btn {
    margin-top: 16px
  }
  
  :is(.c-carousel, .c-product_list).white :is(h3, p.en, p.txt_price, p.txt_description) {
    color: var(--color-white)
  }
  
  :is(.c-carousel, .c-product_list).red h3,
  :is(.c-carousel, .c-product_list).red p {
    color: var(--color-red)
  }
  
  .c-carousel {
    width: 100%
  }
  
  .c-carousel ul {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    padding: 0 0 10px var(--p-inner);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    position: relative
  }
  
  .c-carousel ul li {
    flex-shrink: 0;
    scroll-snap-align: center;
    width: 85.96%;
    margin-right: 40px
  }
  
  .c-carousel ul li a {
    display: block;
    width: 100%
  }
  
  .c-carousel ul li:last-child {
    width: 100%;
    margin-right: 0px;
    position: relative;
    display: flex
  }
  
  .c-carousel ul li:last-child a {
    width: 85.965%
  }
  
  .c-carousel ul li:last-child .inner {
    width: 100%
  }
  
  .c-carousel ul li:last-child:after {
    width: 14.035%;
    content: ""
  }
  
  .c-carousel.w-240 ul li {
    width: 70.58%;
    margin-right: 48px
  }
  
  .c-carousel.w-240 ul li:last-child {
    width: calc(70.58% + 48px);
    margin-right: 0px
  }
  
  .c-carousel.w-240 ul li:last-child a {
    display: block;
    width: calc(100% - 48px)
  }
  
  .c-carousel.w-240 ul li:last-child .inner {
    width: 100%
  }
  
  .c-carousel.w-240 ul li:last-child:after {
    width: 48px
  }
  
  .c-carousel.w-240 ul li h3 {
    line-height: var(--line-height-s);
    margin-bottom: 0em
  }
  
  .c-carousel.w-240 ul li p.txt_description {
    font-size: var(--fs-16-16);
    line-height: var(--line-height-s)
  }
  
  .c-carousel button {
    display: none
  }
  
  .c-product_list {
    width: 100%
  }
  
  .c-product_list ul {
    width: var(--innerW-center);
    margin: auto
  }
  
  .c-product_list ul li {
    width: 100%;
    margin-bottom: 48px
  }
  
  .c-product_list ul li:last-child {
    margin-bottom: 0px
  }
  
  .c-product_list ul li p.txt_description {
    margin-top: 16px;
    font-size: var(--fs-16-16)
  }
  
  .show-drawer .s-drawer {
    transform: translate3d(0, 0, 0);
    transition: transform .5s cubic-bezier(0.165, 0.84, 0.44, 1)
  }
  
  .show-drawer .s-drawer button .buy {
    display: none
  }
  
  .show-drawer .s-drawer button .close {
    display: block
  }
  
  .s-drawer {
    width: 100%;
    position: fixed;
    bottom: 0px;
    right: 0px;
    background: var(--color-red);
    transition: transform .3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transform: translate3d(0, calc(100% - 50px), 0);
    z-index: 10
  }
  
  .s-drawer .drawer_inner {
    padding-bottom: 16px
  }
  
  .s-drawer button {
    width: 100%;
    text-align: center;
    color: var(--color-white);
    font-size: var(--fs-16-16);
    line-height: 2;
    height: 50px;
    letter-spacing: 0.08em
  }
  
  .s-drawer button .buy {
    display: flex;
    justify-content: center;
    align-items: center
  }
  
  .s-drawer button .buy .icon {
    width: 24px;
    height: 24px;
    margin-right: 8px;
    position: relative;
    top: -1px
  }
  
  .s-drawer button .buy .icon svg {
    fill: var(--color-white)
  }
  
  .s-drawer button .close {
    display: none
  }
  
  .s-drawer .c-list-drawer {
    margin-bottom: 16px
  }
  
  .s-drawer .c-contact_drawer .inner {
    padding: 17px 14px
  }
  
  .s-drawer .c-contact_drawer p.ttl_freedial {
    font-size: 1.2rem
  }
  
  .s-drawer .c-contact_drawer .wrap_free_dial {
    display: flex;
    justify-content: center;
    align-items: center
  }
  
  .s-drawer .c-contact_drawer .wrap_free_dial .free_dial {
    margin-bottom: 0px
  }
  
  .s-drawer .c-contact_drawer .wrap_free_dial p.txt_tel {
    font-size: 2rem;
    top: 2px
  }
  
  .s-drawer .c-contact_drawer .wrap_free_dial p.txt_time {
    margin-top: 0px;
    top: 3px;
    position: relative
  }
  
  .c-list-drawer ul {
    padding: 8px 24px 0px 24px;
    box-sizing: border-box
  }
  
  .c-list-drawer ul li {
    margin-bottom: 16px;
    position: relative
  }
  
  .c-list-drawer ul li:last-child {
    padding-bottom: 0px;
    margin-bottom: 0px
  }
  
  .c-list-drawer ul li a {
    display: block
  }
  
  .c-list-drawer ul li .cols {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative
  }
  
  .c-list-drawer ul li figure {
    width: 77px;
    aspect-ratio: 1/1;
    background: #fff;
    border-radius: var(--bdr-radius);
    overflow: hidden
  }
  
  .c-list-drawer ul li .col_r {
    width: calc(100% - 93px)
  }
  
  .c-list-drawer ul li h3,
  .c-list-drawer ul li p {
    color: var(--color-white)
  }
  
  .c-list-drawer ul li h3 {
    font-size: 1.6rem;
    line-height: var(--line-height-s)
  }
  
  .c-list-drawer ul li p {
    font-size: 1.2rem;
    line-height: var(--line-height-s)
  }
  
  .c-list-drawer ul li a.c-btn {
    margin-top: 4px;
    height: 30px
  }
  
  .c-list-drawer ul li a.c-btn .inr {
    padding: 0 16px;
    height: 30px
  }
  
  .c-list-drawer ul li a.c-btn.h40 {
    height: 30px
  }
  
  .c-list-drawer ul li a.c-btn.h40 .inr {
    height: 30px
  }
  
  @media all and (min-height: 650px) {
    .mobile .s-drawer .drawer_inner {
      padding-bottom: 32px
    }
  
    .mobile .s-drawer button {
      font-size: var(--fs-16-16);
      height: 50px
    }
  
    .mobile .s-drawer button .buy .icon {
      width: 24px;
      height: 24px;
      margin-right: 8px;
      top: -1px
    }
  
    .mobile .s-drawer .c-list-drawer {
      margin-bottom: 24px
    }
  
    .mobile .s-drawer .c-contact_drawer .inner {
      padding: 17px 14px
    }
  
    .mobile .s-drawer .c-contact_drawer p.ttl_freedial {
      font-size: var(--fs-16-16)
    }
  
    .mobile .s-drawer .c-contact_drawer .wrap_free_dial p.txt_tel {
      font-size: var(--fs-24-24);
      top: 5px
    }
  
    .mobile .s-drawer .c-contact_drawer .wrap_free_dial p.txt_time {
      margin-top: 0px;
      top: 5px
    }
  
    .mobile .c-list-drawer ul {
      padding: 8px 24px 0px 24px
    }
  
    .mobile .c-list-drawer ul li {
      margin-bottom: 24px
    }
  
    .mobile .c-list-drawer ul li figure {
      width: 106px
    }
  
    .mobile .c-list-drawer ul li .col_r {
      width: calc(100% - 122px)
    }
  
    .mobile .c-list-drawer ul li h3 {
      font-size: var(--fs-20-20)
    }
  
    .mobile .c-list-drawer ul li p {
      font-size: var(--fs-16-16)
    }
  
    .mobile .c-list-drawer ul li a.c-btn {
      margin-top: 8px
    }
  
    .mobile .c-list-drawer ul li a.c-btn .inr {
      padding: 0 16px
    }
  
    .mobile .c-list-drawer ul li a.c-btn.h40 {
      height: 40px
    }
  
    .mobile .c-list-drawer ul li a.c-btn.h40 .inr {
      height: 40px
    }
  }
  
  .c-contact_drawer {
    width: calc(100% - 48px);
    margin: auto;
    box-sizing: border-box;
    border: 1px solid var(--color-white);
    border-radius: var(--bdr-radius)
  }
  
  .c-contact_drawer .inner {
    padding: 14px 16px;
    display: block
  }
  
  .c-contact_drawer :is(h4, p) {
    color: var(--color-white)
  }
  
  .c-contact_drawer p.ttl_freedial {
    text-align: center;
    font-size: var(--fs-16-16);
    margin-bottom: .1em
  }
  
  .c-contact_drawer .free_dial {
    display: flex;
    justify-content: center;
    align-items: end
  }
  
  .c-contact_drawer .free_dial .icon {
    width: 26px;
    height: 17px;
    margin-right: 10px
  }
  
  .c-contact_drawer .free_dial .icon svg {
    fill: var(--color-white)
  }
  
  .c-contact_drawer .free_dial p.txt_tel {
    font-size: var(--fs-24-24);
    white-space: nowrap;
    line-height: 1;
    letter-spacing: 0em;
    position: relative;
    top: 5px;
    margin-right: .2em
  }
  
  .c-contact_drawer .free_dial p.txt_tel a {
    color: var(--color-white);
    display: block;
    line-height: 1
  }
  
  .c-contact_drawer p.txt_time {
    text-align: center;
    font-size: var(--fs-12-12);
    margin-top: 9px
  }
  
  .b-about_product form {
    margin-bottom: 20px;
    padding-bottom: 0px
  }
  
  .c-product_info {
    margin: auto;
    padding-top: 60px
  }
  
  .c-product_info .c-product_header {
    width: var(--innerW-center);
    margin: auto
  }
  
  .c-product_info h1 {
    color: var(--color-red);
    font-size: var(--fs-ttl-product);
    line-height: var(--line-height-ml)
  }
  
  .c-product_info p {
    color: var(--color-red)
  }
  
  .c-product_info p.en {
    font-family: "AGaramondPro-Italic", serif;
    font-weight: 400;
    font-style: italic;
    font-size: var(--fs-16-16);
    margin-bottom: 27px
  }
  
  .c-product_info p.description {
    font-size: var(--fs-product-description);
    line-height: var(--line-height-ml);
    text-align: left
  }
  
  .c-product_info p.c-product_info__price {
    font-size: var(--fs-product-price);
    line-height: var(--line-height-l)
  }
  
  .c-product_info p.note {
    font-size: var(--fs-12-12);
    line-height: 1.5;
    margin-top: 18px
  }
  
  .c-award {
    display: inline-block;
    margin: 0 0 24px 0
  }
  
  .c-award p {
    display: flex;
    align-items: center;
    border: 1px solid var(--color-red);
    border-radius: var(--bdr-radius);
    height: 41px;
    padding: 0 8px;
    font-size: var(--fs-12-12)
  }
  
  .c-award p span {
    position: relative;
    top: 1px;
    line-height: 1.3
  }
  
  .c-price_quantity {
    display: flex;
    justify-content: space-between
  }
  
  .c-price_quantity .c-product_info__form__quantity .c-product_info__form__quantity__wrap {
    margin-bottom: 0px
  }
  
  .p-block_product_buy {
    width: calc(100% - 48px);
    margin: auto;
    margin-bottom: 48px
  }
  
  .p-block_product_buy .c-block_buy {
    padding: 24px;
    border-bottom: 1px solid var(--color-red)
  }
  
  .p-block_product_buy .c-block_buy:nth-last-of-type(1) {
    border: none
  }
  
  .p-block_product_buy .c-block_buy form {
    padding-bottom: 0px
  }
  
  .p-block_product_buy .c-block_buy .note {
    margin-top: 16px
  }
  
  .p-block_product_buy .c-block_buy .note p {
    font-size: var(--fs-12-12);
    line-height: var(--line-height-ml);
    color: var(--color-red)
  }
  
  .p-block_product_buy .c-block_buy.subscription .note {
    margin-top: 16px;
    text-align: center
  }
  
  .p-block_product_buy .c-block_buy.subscription .note a {
    font-size: var(--fs-12-12);
    color: var(--color-red);
    text-decoration: underline
  }
  
  .b-about_product {
    width: var(--innerW-center);
    margin: auto
  }
  
  .c-ttl_buy {
    display: flex;
    align-items: center;
    margin-bottom: 16px
  }
  
  .c-ttl_buy h2 {
    color: var(--color-red);
    font-size: var(--fs-20-20)
  }
  
  .c-ttl_buy .free_shipping {
    height: 24px;
    display: flex;
    align-items: center;
    background: var(--color-red);
    color: var(--color-white);
    padding: 0 8px;
    border-radius: var(--bdr-radius4);
    margin-left: 8px;
    position: relative;
    top: -1px
  }
  
  .c-ttl_buy .free_shipping span {
    font-size: var(--fs-12-12);
    display: block;
    position: relative;
    top: 1px
  }
  
  .c-product_info__form__quantity .c-product_info__form__quantity__wrap {
    margin-bottom: 40px
  }
  
  .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl {
    display: flex;
    align-items: center
  }
  
  .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl dt {
    color: var(--color-red);
    font-size: var(--fs-16-16);
    margin-right: 8px
  }
  
  .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl dd {
    width: 60px;
    padding: 0 10px;
    height: 30px;
    border: 1px solid var(--color-red);
    border-radius: var(--bdr-radius);
    box-sizing: border-box;
    position: relative;
    top: -2px
  }
  
  .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl dd select {
    width: 100%;
    height: 30px;
    color: var(--color-red);
    font-size: var(--fs-16-20)
  }
  
  .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl dd .icon {
    width: 10px;
    height: 5px;
    pointer-events: none;
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: -2px
  }
  
  .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl dd .icon svg {
    fill: var(--color-red)
  }
  
  .c-product_info__form__quantity button {
    margin-top: 0px;
    margin-bottom: 10px
  }
  
  .c-product-variation {
    width: 100%;
    margin-bottom: 20px
  }
  
  .c-product-variation a {
    display: block;
    border: 1px solid var(--color-red)
  }
  
  .c-product-variation .inr {
    display: flex;
    align-items: center;
    width: calc(100% - 24px);
    margin: auto;
    padding: 12px 0;
    position: relative
  }
  
  .c-product-variation .inr figure {
    width: 82px
  }
  
  .c-product-variation .inr .r_col {
    width: calc(100% - 106px);
    box-sizing: border-box;
    padding-left: 24px
  }
  
  .c-product-variation .inr .r_col p {
    color: var(--color-red);
    font-size: var(--fs-20-20)
  }
  
  .c-product-variation .inr .icon {
    position: absolute;
    right: -2px;
    top: 50%;
    margin-top: -10px;
    width: 20px;
    height: 20px
  }
  
  .c-product-variation .inr .icon svg {
    fill: var(--color-red)
  }
  
  .b-about_product .c-link span {
    font-size: var(--fs-20-20)
  }
  
  .c-accordion {
    width: 100%;
    border-bottom: 1px solid var(--color-red)
  }
  
  .c-accordion.last {
    border-bottom: none
  }
  
  .c-accordion p {
    color: var(--color-red);
    font-size: var(--fs-16-16)
  }
  
  .c-accordion [data-toggle-accordion] {
    padding: 24px 0 20px 0;
    position: relative;
    display: block
  }
  
  .c-accordion [data-toggle-accordion] p {
    line-height: var(--line-height-l);
    font-size: var(--fs-20-20)
  }
  
  .c-accordion [data-toggle-accordion] .icon {
    width: 11px;
    height: 11px;
    position: absolute;
    right: 4px;
    top: 50%;
    margin-top: -5.5px
  }
  
  .c-accordion [data-toggle-accordion] .icon svg {
    fill: var(--color-red)
  }
  
  .c-accordion [data-toggle-accordion] .icon .st1 {
    transition: transform .2s ease-out;
    will-change: transform;
    transform-origin: center
  }
  
  .c-accordion .accordion_content {
    overflow: hidden;
    height: 0px;
    transition: height .2s ease-out;
    will-change: height
  }
  
  .c-accordion .accordion_content .content_inner {
    padding: 0 0 25px 0
  }
  
  .c-accordion .accordion_content p {
    line-height: var(--line-height-ml);
  }

  .c-accordion .accordion_content p.set_cm {
    margin-bottom: 15px;
  }

  .c-accordion .accordion_content p span.empha {
    display: block;
    margin-bottom: 6px;
  }
  
  .c-accordion.open [data-toggle-accordion] .icon .st1 {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
  }
  
  .c-accordion_btn {
    background: var(--color-red);
    border-radius: var(--bdr-radius);
    overflow: hidden
  }
  
  .c-accordion_btn [data-toggle-accordion] {
    padding: 0 40px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer
  }
  
  .c-accordion_btn [data-toggle-accordion] p {
    font-size: var(--fs-20-20);
    color: var(--color-white);
    width: auto;
    line-height: 1;
    margin: 0
  }
  
  .c-accordion_btn [data-toggle-accordion] .icon {
    width: 16px;
    height: 16px;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -8px
  }
  
  .c-accordion_btn [data-toggle-accordion] .icon svg {
    fill: var(--color-white);
    transition: transform .2s ease-out;
    will-change: transform;
    transform-origin: center
  }
  
  .c-accordion_btn .accordion_content {
    height: 0px;
    overflow: hidden;
    transition: height .2s ease-out
  }
  
  .c-accordion_btn .accordion_content .list_hometown_tax {
    padding: 8px 16px 16px 16px
  }
  
  .c-accordion_btn .accordion_content .list_hometown_tax li {
    margin-bottom: 16px
  }
  
  .c-accordion_btn .accordion_content .list_hometown_tax li:last-child {
    margin-bottom: 0px
  }
  
  .c-accordion_btn .accordion_content .list_hometown_tax li .i-blank path {
    fill: var(--color-red)
  }
  
  .c-accordion_btn.open [data-toggle-accordion] .icon .st1 {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
  }
  
  .c-accordion_tsubaki {
    border-bottom: 1px solid var(--color-red)
  }
  
  .c-accordion_tsubaki [data-toggle-accordion] {
    height: 80px;
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer
  }
  
  .c-accordion_tsubaki [data-toggle-accordion] p {
    font-size: var(--fs-20-20);
    width: auto;
    line-height: 1;
    margin: 0
  }
  
  .c-accordion_tsubaki [data-toggle-accordion] .icon {
    width: 16px;
    height: 16px;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -8px
  }
  
  .c-accordion_tsubaki [data-toggle-accordion] .icon svg {
    fill: var(--color-red);
    transition: transform .2s ease-out;
    will-change: transform;
    transform-origin: center
  }
  
  .c-accordion_tsubaki .accordion_content {
    height: 0px;
    overflow: hidden;
    transition: height .2s ease-out
  }
  
  .c-accordion_tsubaki .accordion_content .content_inner {
    padding: 0 0 32px 0
  }
  
  .c-accordion_tsubaki .accordion_content p {
    font-size: var(--fs-20-20);
    line-height: var(--line-height-ml)
  }
  
  .c-list_set_content li {
    margin-bottom: 16px
  }
  
  .c-list_set_content li:last-child {
    margin-bottom: 0px
  }
  
  .c-list_set_content .col2 {
    display: flex;
    align-items: center
  }
  
  .c-list_set_content .col2 figure {
    width: 82px
  }
  
  .c-list_set_content .col2 .col_r {
    width: calc(100% - 106px);
    padding-left: 24px
  }
  
  .c-list_set_content .col2 .col_r h4 {
    font-size: var(--fs-20-20);
    margin-bottom: 12px;
    color: #5c5c5c;
  }
  
  .c-list_set_content .col2 .col_r dl {
    display: flex
  }
  
  .c-list_set_content .col2 .col_r dl dt,
  .c-list_set_content .col2 .col_r dl dd {
    font-size: var(--fs-16-16);
    color: #5c5c5c;
  }
  
  .c-list_set_content .col2 .col_r dl dt {
    margin-right: 1em
  }
  
  .c-back_to_list {
    margin-bottom: 42px
  }
  
  .c-back_to_list a {
    color: var(--color-red)
  }
  
  .c-back_to_list a .inr {
    display: flex;
    align-items: center
  }
  
  .c-back_to_list a .icon {
    width: 16px;
    height: 16px
  }
  
  .c-back_to_list a .icon svg {
    fill: var(--color-red)
  }
  
  .c-back_to_list a span {
    font-size: var(--fs-20-20);
    margin-left: 8px;
    position: relative;
    top: 1px
  }
  
  .c-link {
    width: 100%;
    display: block
  }
  
  .c-link.last {
    border-bottom: none
  }
  
  .c-link .inr {
    padding: 25px 0 25px 0;
    position: relative;
    display: block
  }
  
  .c-link .inr:after {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    right: 0px;
    top: 50%;
    margin-top: -8px;
    background: url("data:image/svg+xml;base64,CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojQzIxOTFGO30KPC9zdHlsZT4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTUsMTVjLTAuMywwLTAuNS0wLjEtMC43LTAuM2MtMC40LTAuNC0wLjQtMSwwLTEuNEw5LjYsOEw0LjMsMi43Yy0wLjQtMC40LTAuNC0xLDAtMS40czEtMC40LDEuNCwwbDYsNgoJQzExLjksNy41LDEyLDcuNywxMiw4cy0wLjEsMC41LTAuMywwLjdsLTYsNkM1LjUsMTQuOSw1LjMsMTUsNSwxNXoiLz4KPC9zdmc+Cg==");
    background-size: cover;
    background-repeat: no-repeat
  }
  
  .c-link span {
    display: block;
    color: var(--color-red);
    font-size: var(--fs-16);
    line-height: var(--line-height-ml);
    position: relative;
    top: 2px
  }
  
  .s-ingredient {
    padding-top: 96px
  }
  
  .s-howtouse {
    padding-top: 86px
  }
  
  .s-howtouse .c-carousel ul li {
    position: relative
  }
  
  .s-howtouse .c-carousel ul li .item_info {
    border: 1px solid var(--color-red);
    box-sizing: border-box;
    width: 100%;
    aspect-ratio: 1/1;
    position: relative;
    box-sizing: border-box
  }
  
  .s-howtouse .c-carousel ul li .item_info .num {
    position: absolute;
    left: 24px;
    top: 24px
  }
  
  .s-howtouse .c-carousel ul li .item_info .num p {
    font-size: var(--fs-28-28)
  }
  
  .s-howtouse .c-carousel ul li .item_info .txt {
    width: calc(100% - 48px);
    position: absolute;
    bottom: 24px;
    left: 24px
  }
  
  .s-howtouse .c-carousel ul li h3,
  .s-howtouse .c-carousel ul li p {
    color: var(--color-red)
  }
  
  .s-howtouse .c-carousel ul li:last-child .inner {
    width: calc(100% - 48px)
  }
  
  .s-movie_product {
    width: 100%;
    position: relative;
    height: 200vh;
    margin-top: 96px
  }
  
  .s-movie_product #bg_movie {
    position: sticky;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100vh
  }
  
  .s-movie_product #bg_movie #player {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0px;
    left: 0px;
    overflow: hidden
  }
  
  .s-movie_product #bg_movie #player iframe {
    aspect-ratio: 16/9;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translate3d(-50%, 0, 0)
  }
  
  .s-movie_product #bg_movie #player:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    background: #000;
    opacity: 0;
    transition: opacity .3s ease-out
  }
  
  .s-movie_product #bg_picture {
    position: sticky;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100vh
  }
  
  .s-movie_product #bg_picture:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    background: #000;
    opacity: 0;
    transition: opacity .3s ease-out
  }
  
  .s-movie_product #bg_picture img {
    width: 100%;
    height: 100%;
    object-fit: cover
  }
  
  .s-movie_product.show_text #bg_movie #player:after {
    opacity: .3
  }
  
  .s-movie_product.show_text #bg_picture:after {
    opacity: .3
  }
  
  .s-movie_product .content {
    width: 100%;
    height: 100vh;
    position: relative;
    display: flex;
    align-items: center
  }
  
  .s-movie_product .content .content_inner {
    width: var(--innerW-center);
    margin: auto
  }
  
  .s-movie_product .content h3,
  .s-movie_product .content p {
    color: var(--color-white)
  }
  
  .s-movie_product .content h3 {
    font-size: var(--fs-20-20);
    line-height: var(--line-height-l);
    margin-bottom: 42px;
    letter-spacing: 0.16em
  }
  
  .s-movie_product .content h3 br {
    display: none
  }
  
  .s-movie_product .content p {
    font-size: var(--fs-14-14);
    line-height: var(--line-height-l);
    letter-spacing: 0.16em
  }
  
  .s-movie_product .content p br {
    display: none
  }
  
  .c-list_ingredient {
    width: 100%;
    margin: auto
  }
  
  .c-list_ingredient ul li:last-child {
    margin-bottom: 0px
  }
  
  .c-list_ingredient ul li figure {
    margin-bottom: 20px
  }
  
  .c-list_ingredient ul li h3,
  .c-list_ingredient ul li p {
    color: var(--color-red)
  }
  
  .c-list_ingredient ul li h3 {
    font-size: var(--fs-20-20);
    margin-bottom: .5em
  }
  
  .c-list_ingredient ul li p {
    font-size: var(--fs-16-16);
    line-height: var(--line-height-ml)
  }
  
  .c-list_ingredient ul li sup {
    font-size: var(--fs-12-12);
    vertical-align: super
  }
  
  .c-list_ingredient ul li p.note {
    font-size: var(--fs-12-12);
    margin-top: 24px
  }
  
  .s-lineup {
    padding-top: 96px;
    margin-bottom: 96px
  }
  
  .s-lineup .c-carousel ul li {
    width: 68.23%;
    margin-right: 40px
  }
  
  .s-lineup .c-carousel ul li a {
    display: block;
    width: 100%
  }
  
  .s-lineup .c-carousel ul li:last-child {
    width: calc(68.23% + 48px);
    margin-right: 0px
  }
  
  .s-lineup .c-carousel ul li:last-child:after {
    width: 48px
  }
  
  .s-lineup .c-carousel ul li:last-child a {
    width: calc(100% - 48px)
  }
  
  .s-lineup .c-carousel ul li:last-child a .inner {
    width: 100%
  }
  
  .s-lineup .c-carousel ul li .c-btn {
    background: var(--color-red)
  }
  
  .s-lineup .c-carousel ul li .c-btn span {
    color: var(--color-white)
  }
  
  #s-library .section_inner {
    padding: var(--margin-base4) 0
  }
  
  .c-product_slideshow .slideshow_inner ul {
    position: relative;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px
  }
  
  .c-product_slideshow .slideshow_inner ul li {
    flex-shrink: 0;
    width: 100%;
    scroll-snap-align: center
  }
  
  .c-product_slideshow .nav_slideshow nav ul {
    display: flex;
    justify-content: center
  }
  
  .c-product_slideshow .nav_slideshow nav ul li {
    width: 4px;
    height: 4px;
    display: block;
    border-radius: 50%;
    background: var(--color-nav-disable);
    margin-right: 10px
  }
  
  .c-product_slideshow .nav_slideshow nav ul li:last-child {
    margin-right: 0px
  }
  
  .c-product_slideshow .nav_slideshow nav ul li.active {
    background: var(--color-red)
  }
  
  .c-product_slideshow .nav_slideshow nav ul li img {
    display: none
  }
  
  .c-cols_container {
    padding-bottom: var(--margin-base4)
  }
  
  .c-cols_container .r_col {
    width: var(--innerW-center);
    margin: auto;
    margin-bottom: 64px
  }
  
  .border_round {
    border: 1px solid var(--color-red);
    border-radius: var(--bdr-radius)
  }
  
  .border_round.padding_inner {
    padding: 24px 24px;
    box-sizing: border-box
  }
  
  .border_round.p-block_product_buy {
    border-radius: 0px
  }
  
  .p-history_list__item,
  .p-subscription_list__item {
    margin-bottom: 24px
  }
  
  .p-subscription_list__item .c-buttons,
  .p-account__inner__content .c-buttons {
    margin-top: 24px
  }
  
  .p-subscription_list__item .c-buttons ul,
  .p-account__inner__content .c-buttons ul {
    display: flex
  }
  
  .p-subscription_list__item .c-buttons ul li,
  .p-account__inner__content .c-buttons ul li {
    margin-right: 8px
  }
  
  .p-subscription_list__item .c-buttons ul li a,
  .p-account__inner__content .c-buttons ul li a {
    padding: 0 16px
  }
  
  p.note_default {
    font-size: var(--fs-12-12);
    line-height: var(--line-height-s);
    margin-top: 8px
  }
  
  .p-history_list__item__detail {
    margin-top: 20px
  }
  
  .c-block_btn {
    margin-top: 24px
  }
  
  .p-history_list .p-history_list__item h3 {
    line-height: var(--line-height-s);
    margin: 24px 0
  }
  
  .p-history_list .p-history_list__item dl {
    margin-bottom: 20px
  }
  
  .p-history_list .p-history_list__item dl:nth-last-of-type(1) {
    margin-bottom: 0px
  }
  
  .p-history_list .p-history_list__item dl dt,
  .p-history_list .p-history_list__item dl dd {
    color: var(--color-red);
    line-height: var(--line-height-s)
  }
  
  .p-history_list .p-history_list__item dl dt {
    font-size: var(--fs-12-12);
    margin-bottom: .1em
  }
  
  .p-history_list .p-history_list__item dl dd {
    font-size: var(--fs-20-20)
  }
  
  .p-history_list a.p-history_list__item__header__btn {
    margin-top: 24px;
    width: auto
  }
  
  .p-history_list .c-cart_item {
    width: 100%;
    padding: 0px;
    border: none;
    margin-top: 48px
  }
  
  .p-history_list .c-cart_item:nth-of-type(1) {
    margin-top: 0px
  }
  
  .p-history_list .c-cart_item .c-cart_item__info {
    width: 100%;
    margin-left: 0px
  }
  
  .p-history_detail__block,
  .p-subscription_detail__block {
    border-bottom: 1px solid var(--color-red);
    padding-bottom: 24px;
    margin-bottom: 24px
  }
  
  .p-history_detail__block:nth-last-of-type(1),
  .p-subscription_detail__block:nth-last-of-type(1) {
    border: none;
    padding-bottom: 0px;
    margin-bottom: 0px
  }
  
  .p-history_detail__block .c-wrap_btn,
  .p-subscription_detail__block .c-wrap_btn {
    width: 100%;
    margin-top: 24px
  }
  
  .p-history_detail__block .c-wrap_btn a.c-btn,
  .p-subscription_detail__block .c-wrap_btn a.c-btn {
    color: var(--color-red)
  }
  
  .card_registered {
    margin: 24px 0 0 0
  }
  
  .c-account_table tr {
    margin-bottom: 20px;
    display: block
  }
  
  .c-account_table tr:last-child {
    margin-bottom: 0px
  }
  
  .c-account_table th,
  .c-account_table td {
    color: var(--color-red);
    line-height: var(--line-height-s);
    display: block
  }
  
  .c-account_table th {
    font-size: var(--fs-12-12)
  }
  
  .c-account_table td {
    font-size: var(--fs-20-20)
  }
  
  #orders-detail-view .p-history_detail__block:not(:last-child) {
    margin-bottom: 24px
  }
  
  #orders-detail-view .p-history_detail__block.last {
    margin-bottom: 0px !important;
    border-bottom: none;
    padding-bottom: 0px
  }
  
  #orders-detail-view .c-billing_list__total {
    padding-top: 24px;
    margin-top: 24px;
    border-top: 1px solid var(--color-red-opacity)
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item {
    width: 100%;
    border-color: var(--color-red-opacity);
    padding-bottom: 24px
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item_cols {
    display: flex
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item a.c-cart_item__img {
    width: 82px
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info {
    width: calc(100% - 106px)
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info .c-cart_item__info__total {
    display: block
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info a.c-cart_item__info__title {
    font-size: var(--fs-20-20);
    color: var(--color-red);
    line-height: var(--line-height-s);
    text-decoration: underline
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info .c-cart_item__info__total__price {
    font-size: var(--fs-12-12);
    color: var(--color-red);
    margin-bottom: 12px
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info dl {
    display: flex;
    width: 100%;
    justify-content: space-between
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info dl dt,
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info dl dd {
    font-size: var(--fs-16-16);
    color: var(--color-red)
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info__total__price {
    margin-top: 24px
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info__total__price dl {
    display: flex;
    width: 100%;
    justify-content: space-between
  }
  
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info__total__price dl dt,
  :is(.p-history_detail__block__list, .p-subscription_detail__block__list, .p-subscription_edit__block) .c-cart_item .c-cart_item__info__total__price dl dd {
    font-size: var(--fs-16-16);
    color: var(--color-red)
  }
  
  .p-subscription_edit__block .c-cart_item {
    border: none;
    padding-bottom: 0px
  }
  
  .p-subscription_edit .p-subscription_edit__block__title {
    font-size: var(--fs-24-24);
    line-height: var(--line-height-s);
    margin-bottom: 24px
  }
  
  .p-subscription_edit .p-account__inner__content__form__bottom,
  .p-subscription_edit form .p-account_form__inner__bottom,
  .p-subscription_edit form .p-account__inner__content__form__bottom {
    margin-top: 24px
  }
  
  [data-page-type=subs_orders_item_index] .p-subscription_edit__block:nth-last-of-type(1),
  #subs-order-edit-view .p-subscription_edit__block:nth-last-of-type(1) {
    border: none;
    padding-bottom: 0
  }
  
  .c-billing_list ul.c-billing_list__detail li {
    padding-bottom: 24px;
    margin-bottom: 24px
  }
  
  .c-billing_list ul.c-billing_list__detail li dl.c-billing_list__detail__item__row {
    margin-bottom: 0px
  }
  
  .c-billing_list ul.c-billing_list__detail {
    padding-top: 24px
  }
  
  .c-billing_list ul.c-billing_list__detail li {
    margin-bottom: 16px;
    padding-bottom: 0px
  }
  
  #payment-method-edit-view {
    border: 1px solid var(--color-red);
    padding: 24px;
    background: rgba(207, 0, 14, .05)
  }
  
  #payment-method-edit-view .lead p {
    color: var(--color-red);
    font-size: var(--fs-12-12);
    line-height: var(--line-height-s)
  }
  
  #payment-method-edit-view .p-account__inner__content__form__bottom {
    margin-top: 24px;
    display: block
  }
  
  #payment-method-edit-view .p-account__inner__content__form__bottom input {
    width: auto;
    padding: 0 16px
  }
  
  .p-account__inner__content__copy {
    margin-bottom: 24px
  }
  
  .p-account__inner__content__form .p-account__inner__content__form__text {
    color: var(--color-red)
  }
  
  .c-form_table__tel {
    display: flex;
    justify-content: space-between
  }
  
  .c-form_table__tel .c-form_table__select {
    width: calc((100% - 120px)/6*4 + 72px);
    margin-right: 0 !important
  }
  
  .c-form_table__tel a.p-account__inner__content__copy__btn {
    width: calc((100% - 120px)/6*2 + 24px);
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center
  }
  
  .p-payment_list {
    margin-top: 48px
  }
  
  p.p-account__inner__content__lead {
    font-size: var(--fs-12-12);
    color: var(--color-red);
    margin-top: 0px;
    line-height: var(--line-height-s)
  }
  
  p.p-account__inner__content__lead a {
    color: var(--color-red)
  }
  
  p.p-account__inner__content__lead.nocard {
    margin-top: 48px
  }
  
  .p-payment_list__add button {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center
  }
  
  .p-payment_list__add button .inr {
    padding: 0 16px
  }
  
  .p-account__inner__content h2 {
    font-size: var(--fs-28-28);
    color: var(--color-red);
    margin-bottom: 48px
  }
  
  #customers-sessions-sign-in-view .control-alert,
  #customers-sessions-sign-in-view .alert,
  #customers-sessions-sign-in-view .alert-danger,
  #customers-password-new-view .control-alert,
  #customers-password-new-view .alert,
  #customers-password-new-view .alert-danger {
    width: calc(100% - 48px);
    margin-left: 0px
  }
  
  #customers-sessions-sign-in-view .p-login {
    width: var(--innerW-center);
    margin: auto;
    padding-bottom: 96px
  }
  
  #customers-sessions-sign-in-view .p-login__inner__login__bottom__forget {
    margin-top: 8px;
    color: var(--color-red);
    display: inline-block
  }
  
  #customers-sessions-sign-in-view .c-register_new {
    margin-top: 24px;
    text-align: center;
    width: 100%
  }
  
  #customers-sessions-sign-in-view .c-register_new a {
    color: var(--color-red);
    text-decoration: underline;
    font-size: var(--fs-20-20)
  }
  
  #customers-password-new-view .p-account_form {
    padding-bottom: 48px
  }
  
  #customers-password-new-view .password_inner {
    width: var(--innerW-center);
    margin: auto;
    padding-bottom: 96px
  }
  
  #customers-password-new-view input.p-account_form__inner__bottom__mailbtn {
    color: var(--color-white);
    font-size: var(--fs-20-20);
    height: 50px
  }
  
  #customers-password-new-view .p-account_form__inner__bottom__link {
    color: var(--color-red);
    text-decoration: underline;
    font-size: var(--fs-20-20);
    margin-top: 24px;
    display: inline-block
  }
  
  .c-caution_password {
    border: 1px solid var(--color-red);
    border-radius: var(--bdr-radius);
    box-sizing: border-box;
    padding: 24px
  }
  
  .c-caution_password h3,
  .c-caution_password p {
    color: var(--color-red)
  }
  
  .c-caution_password h3 {
    font-size: var(--fs-16-16);
    margin-bottom: 1em
  }
  
  .c-caution_password p {
    font-size: var(--fs-16-16);
    line-height: var(--line-height-s);
    margin-bottom: 1em
  }
  
  .c-caution_password p:nth-last-of-type(1) {
    margin-bottom: 0px
  }
  
  [data-slideshow] {
    width: 100%
  }
  
  [data-slideshow] ul.slide {
    width: 100%;
    position: relative
  }
  
  [data-slideshow] ul.slide li {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    transition: opacity .6s ease;
    opacity: 0
  }
  
  [data-slideshow] ul.slide li.active {
    opacity: 1
  }
  
  [data-slideshow] .nav_current {
    margin-top: 16px
  }
  
  [data-slideshow] .nav_current ul {
    display: flex;
    justify-content: center
  }
  
  [data-slideshow] .nav_current ul li {
    width: 4px;
    height: 4px;
    margin-right: 10px
  }
  
  [data-slideshow] .nav_current ul li:last-child {
    margin-right: 0px
  }
  
  [data-slideshow] .nav_current ul li button {
    width: 4px;
    height: 4px;
    display: block;
    background: var(--color-nav-disable);
    border-radius: 50%;
    text-indent: -100000px
  }
  
  [data-slideshow] .nav_current ul li button.active {
    background: var(--color-red)
  }
  
  [data-slideshow] .nav_current ul li.active button {
    background: var(--color-red)
  }
  
  [data-slideshow=vertical] ul.slide {
    aspect-ratio: 390/585
  }
  
  [data-slideshow=horizontal] {
    width: 100%
  }
  
  [data-slideshow=horizontal] ul.slide {
    aspect-ratio: 390/260
  }
  
  .c-story_list_skincare {
    padding-bottom: 96px
  }
  
  .c-story_list_skincare ul li {
    margin-bottom: 96px
  }
  
  .c-story_list_skincare ul li:last-child {
    margin-bottom: 0px
  }
  
  .c-story_list_skincare ul .l-col {
    margin-bottom: 48px
  }
  
  .c-story_list_skincare ul .r-col {
    width: var(--innerW-center);
    margin: auto
  }
  
  .c-story_list_skincare ul .lead {
    margin-bottom: 24px
  }
  
  .c-story_list_skincare ul .lead p {
    font-size: var(--fs-20-20);
    line-height: var(--line-height-ml);
    letter-spacing: 0.1em
  }
  
  .c-story_list_skincare ul h3 {
    font-size: var(--fs-28-28);
    line-height: var(--line-height-s);
    margin-bottom: 12px;
    letter-spacing: 0.05em
  }
  
  .c-story_list_skincare ul p.price {
    font-size: var(--fs-16-16);
    line-height: var(--line-height-s);
    margin-bottom: 28px
  }
  
  .c-story_list_skincare ul .description {
    margin-bottom: 28px
  }
  
  .c-story_list_skincare ul .description p {
    font-size: var(--fs-16-16);
    line-height: var(--line-height-l);
    letter-spacing: 0.12em;
    text-align: justify
  }
  
  .c-story_list_skincare ul .note {
    margin-bottom: 34px
  }
  
  .c-story_list_skincare ul .note p {
    font-size: var(--fs-12-12);
    line-height: var(--line-height-ml)
  }
  
  .c-list_library ul {
    width: var(--innerW-center);
    margin: auto
  }
  
  .c-list_library ul li {
    margin-bottom: 48px
  }
  
  .c-list_library ul li h2,
  .c-list_library ul li p {
    color: var(--color-red)
  }
  
  .c-list_library ul li figure {
    margin-bottom: 20px
  }
  
  .c-list_library ul li figure,
  .c-list_library ul li img {
    pointer-events: none;
    user-select: none
  }
  
  .c-list_library ul li h2 {
    font-size: var(--fs-20-20);
    line-height: var(--line-height-ml);
    margin-bottom: 8px
  }
  
  .c-list_library ul li p.excerpt {
    font-size: var(--fs-16-12);
    line-height: var(--line-height-ml);
    margin-bottom: 17px
  }
  
  .c-prof {
    border-left: 1px solid var(--color-red);
    width: var(--innerW-center);
    margin: auto;
    box-sizing: border-box;
    padding-left: 24px;
    margin-top: 96px
  }
  
  .c-prof figure {
    border-radius: var(--bdr-radius);
    overflow: hidden
  }
  
  .c-prof .r-prof_img {
    width: 54.421%;
    margin: auto;
    margin-bottom: 24px
  }
  
  .c-prof figure,
  .c-prof img {
    pointer-events: none;
    user-select: none
  }
  
  .c-prof h2 {
    font-size: var(--fs-16-20);
    margin-bottom: 16px
  }
  
  .c-prof p {
    font-size: var(--fs-12-16);
    line-height: var(--line-height-ml);
    margin-bottom: .7em
  }
  
  .c-prof p:nth-last-of-type(1) {
    margin-bottom: 0px
  }
  
  .c-contact_tel {
    margin-top: var(--margin-base2);
    text-align: center
  }
  
  .c-contact_tel h4 {
    font-size: var(--fs-16-16);
    margin-bottom: 12px
  }
  
  .c-contact_tel p.tel {
    font-size: var(--fs-28-28);
    margin-bottom: 12px
  }
  
  .c-contact_tel p.time {
    font-size: var(--fs-12-12)
  }
  
  .c-list_col2 ul {
    width: var(--innerW-center);
    margin: auto
  }
  
  .c-list_col2 ul li {
    margin-bottom: var(--grid-base-margin)
  }
  
  .c-list_col2 ul li:last-child {
    margin-bottom: 0px
  }
  
  .c-list_col2 ul .img {
    width: var(--w-col4);
    margin: auto;
    margin-bottom: 32px
  }
  
  .c-list_col2 .col_r h3 {
    font-size: var(--fs-28-28);
    margin-bottom: 16px;
    line-height: 1.8
  }
  
  .c-list_col2 .col_r p {
    width: 100%;
    font-size: var(--fs-20-20)
  }
  
  @media all and (min-width: 744px) {
    .c-carousel ul {
      padding: 0 0 0 80px
    }
  
    .c-carousel ul li {
      width: calc((100% - 144px)/2);
      flex-shrink: 0;
      margin-right: 64px;
      margin-bottom: 0px
    }
  
    .c-carousel ul li:last-child {
      width: calc((100% - 144px)/2 + 80px);
      margin-right: 0px;
      margin-bottom: 0px
    }
  
    .c-carousel ul li:last-child .inner {
      width: 100%
    }
  
    .c-carousel ul li:last-child a {
      width: calc(100% - 80px)
    }
  
    .c-carousel ul li:last-child:after {
      width: 80px
    }
  
    .c-carousel.w-240 ul {
      padding: 0
    }
  
    .c-carousel.w-240 ul li {
      width: calc((100% - 144px)/2);
      flex-shrink: 0;
      margin-right: 64px;
      margin-bottom: 0px
    }
  
    .c-carousel.w-240 ul li:last-child {
      width: calc((100% - 144px)/2 + 80px);
      margin-right: 0px;
      margin-bottom: 0px
    }
  
    .c-carousel.w-240 ul li:last-child a {
      width: calc(100% - 80px)
    }
  
    .c-carousel.w-240 ul li:last-child:after {
      width: 80px
    }
  
    .c-product_list ul {
      display: flex;
      flex-wrap: wrap;
      padding-left: 0px
    }
  
    .c-product_list ul li {
      width: calc((100% - 64px)/2);
      margin-right: var(--grid-base-margin);
      margin-bottom: var(--grid-base-margin)
    }
  
    .c-product_list ul li:nth-child(2n) {
      margin-right: 0px
    }
  
    .b-product_header .l-container__row {
      margin-top: 0px
    }
  
    .p-block_product_buy {
      width: calc(100% - 96px);
      margin: auto;
      margin-bottom: 64px
    }
  
    .c-product_info {
      width: 100%
    }
  
    .c-product_info p.note {
      margin-top: 18px
    }
  
    .p-block_product_buy {
      margin-bottom: 64px
    }
  
    .p-block_product_buy .c-block_buy {
      padding: 32px
    }
  
    .c-accordion [data-toggle-accordion] {
      cursor: pointer
    }
  
    :is(#s-library) .c-carousel {
      width: 100%;
      box-sizing: border-box;
      padding-left: 0px
    }
  
    .s-howtouse .c-carousel ul {
      padding-left: 80px
    }
  
    .s-howtouse .c-carousel ul li:last-child .inner {
      width: calc(100% - 80px)
    }
  
    .s-lineup {
      padding-top: 160px;
      margin-bottom: 160px
    }
  
    .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl dd {
      width: 76px;
      padding: 0 18px;
      height: 40px;
      box-sizing: border-box
    }
  
    .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl dd select {
      width: 100%;
      height: 40px
    }
  
    #s-library {
      margin-bottom: 160px
    }
  
    .s-movie_product {
      margin-top: 128px
    }
  
    .s-movie_product .content h3 {
      font-size: var(--fs-24-24);
      margin-bottom: 56px
    }
  
    .s-movie_product .content p {
      font-size: var(--fs-16-16)
    }
  
    .s-movie_product .content h3 br,
    .s-movie_product .content p br {
      display: block
    }
  
    .s-lineup .c-carousel {
      padding-left: 0px
    }
  
    .s-lineup .c-carousel ul {
      padding: 0 0 0 80px
    }
  
    .s-lineup .c-carousel ul li {
      width: calc((100% - 144px)/2);
      flex-shrink: 0;
      margin-right: 64px;
      margin-bottom: 0px
    }
  
    .s-lineup .c-carousel ul li:last-child {
      width: calc((100% - 144px)/2 + 80px);
      margin-right: 0px;
      margin-bottom: 0px
    }
  
    .s-lineup .c-carousel ul li:last-child .inner {
      width: 100%
    }
  
    .s-lineup .c-carousel ul li:last-child a {
      width: calc(100% - 80px)
    }
  
    .s-lineup .c-carousel ul li:last-child:after {
      width: 80px
    }
  
    .c-list_ingredient {
      width: 100%;
      box-sizing: border-box
    }
  
    .c-list_ingredient ul {
      display: flex
    }
  
    .c-list_ingredient ul li {
      flex-shrink: 0;
      width: calc((100% - 144px)/2);
      margin-right: 64px;
      margin-bottom: 0px
    }
  
    .c-list_ingredient ul li:last-child {
      width: calc((100% - 144px)/2 + 80px);
      margin-right: 0px;
      margin-bottom: 0px;
      display: flex
    }
  
    .c-list_ingredient ul li:last-child .inner {
      width: calc(100% - 80px)
    }
  
    .c-list_ingredient ul li:last-child:after {
      width: 80px;
      content: "";
      height: 1px
    }
  
    .c-list_ingredient ul li figure {
      margin-bottom: 20px
    }
  
    .c-list_ingredient ul li h3 {
      margin-bottom: .5em
    }
  
    #s-library {
      margin-bottom: 0px
    }
  
    #customers-sessions-sign-in-view .control-alert,
    #customers-sessions-sign-in-view .alert,
    #customers-sessions-sign-in-view .alert-danger {
      width: 100%;
      margin: 64px auto 64px auto
    }
  
    #customers-sessions-sign-in-view .p-login {
      padding-bottom: 160px
    }
  
    #customers-password-new-view .password_inner {
      padding-bottom: 160px
    }
  
    #customers-password-new-view .password_inner form,
    #customers-password-new-view .password_inner .c-caution_password {
      width: calc((100% - 64px)/2);
      margin: 0
    }
  
    #customers-password-new-view .password_inner .p-account_form__inner__bottom {
      margin-top: 48px
    }
  
    .c-list_library ul {
      display: flex;
      flex-wrap: wrap
    }
  
    .c-list_library ul li {
      width: calc(50% - 32px);
      margin-bottom: 64px;
      margin-right: 64px
    }
  
    .c-list_library ul li:nth-child(2n) {
      margin-right: 0px
    }
  
    .c-prof {
      max-width: 608px;
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
      box-sizing: border-box;
      padding-left: 24px;
      margin-top: 96px
    }
  
    .c-prof .r-prof_img {
      width: 170px;
      margin: 0 0 0 32px
    }
  
    .c-prof .l-prof_text {
      width: calc(100% - 202px)
    }
  
    .c-prof p {
      font-size: var(--fs-12-16);
      line-height: var(--line-height-ml)
    }
  
    .p-subscription_edit .p-account__inner__content__form__bottom,
    .p-subscription_edit form .p-account_form__inner__bottom,
    .p-subscription_edit form .p-account__inner__content__form__bottom {
      margin-top: 32px
    }
  
    .p-account__inner__content__form__bottom {
      margin-top: 32px
    }
  
    .p-subscription_edit__block .p-subscription_edit__block__title {
      margin-bottom: 28px
    }
  
    .p-payment_list {
      margin-top: 64px
    }
  
    .p-account__inner__content h2 {
      margin-bottom: 64px
    }
  
    .c-back_to_list {
      margin-bottom: 64px
    }
  
    .p-subscription_list__item .c-buttons,
    .p-account__inner__content .c-buttons {
      margin-top: 32px
    }
  
    .s-ingredient {
      padding-top: 160px
    }
  
    .s-howtouse {
      padding-top: 160px
    }
  
    .c-list-drawer ul {
      padding: 8px 24px 0px 24px
    }
  
    .c-list-drawer ul li {
      margin-bottom: 24px
    }
  
    .c-list-drawer ul li figure {
      width: 106px
    }
  
    .c-list-drawer ul li .col_r {
      width: calc(100% - 122px);
      box-sizing: border-box;
      padding-right: 1em
    }
  
    .c-list-drawer ul li h3 {
      font-size: var(--fs-20-20)
    }
  
    .c-list-drawer ul li p {
      font-size: var(--fs-16-16)
    }
  
    .c-list-drawer ul li a.c-btn {
      margin-top: 8px
    }
  
    .c-list-drawer ul li a.c-btn .inr {
      padding: 0 16px
    }
  
    .c-list-drawer ul li a.c-btn.h40 {
      height: 40px
    }
  
    .c-list-drawer ul li a.c-btn.h40 .inr {
      height: 40px
    }
  }
  
  @media all and (min-width: 1024px) {
    :is(.c-carousel, .c-product_list) ul li .ttl {
      margin-bottom: 10px
    }
  
    :is(.c-carousel, .c-product_list) ul li p.en {
      line-height: 1.2
    }
  
    :is(.c-carousel, .c-product_list) ul li p.txt_description {
      margin-bottom: 0px
    }
  
    .c-carousel {
      width: 100%;
      position: relative;
      overflow: hidden
    }
  
    .c-carousel ul {
      overflow: visible;
      padding-bottom: 0;
      transition: transform .5s ease;
      padding-left: 80px
    }
  
    .c-carousel ul li {
      width: calc((100% - 784px)/12*4 + 192px)
    }
  
    .c-carousel ul li:last-child {
      width: calc((100% - 784px)/12*4 + 272px)
    }
  
    .c-carousel ul li:last-child:after {
      content: "";
      width: 80px
    }
  
    .c-carousel ul li:last-child .inner {
      width: calc(100% - 80px)
    }
  
    .c-carousel ul li:last-child a {
      width: calc(100% - 80px)
    }
  
    .c-carousel ul li:last-child a .inner {
      width: 100%
    }
  
    .c-carousel.w-240 ul {
      padding-left: 80px
    }
  
    .c-carousel.w-240 ul li {
      width: calc((100% - 208px)/3);
      margin-right: 64px
    }
  
    .c-carousel.w-240 ul li:last-child {
      width: calc((100% - 208px)/3 + 80px);
      margin-right: 0px
    }
  
    .c-carousel.w-240 ul li h3 {
      line-height: var(--line-height-s);
      margin-bottom: 0em
    }
  
    .c-carousel.w-240 ul li p.txt_description {
      font-size: var(--fs-16-16);
      line-height: var(--line-height-s)
    }
  
    .c-carousel.noscroll button {
      display: none !important
    }
  
    .c-carousel[data-nav-color=white] button {
      background: var(--color-white)
    }
  
    .c-carousel[data-nav-color=white] button .icon svg {
      fill: var(--color-red)
    }
  
    .c-carousel button {
      position: absolute;
      display: block;
      top: 50%;
      width: 120px;
      height: 120px;
      background: var(--color-red);
      margin-top: -60px;
      display: flex;
      align-items: center;
      justify-content: center
    }
  
    .c-carousel button.btn_prev {
      left: 0px;
      border-top-right-radius: 8px;
      border-bottom-right-radius: 8px;
      border-bottom-left-radius: 0;
      border-top-left-radius: 0;
      -webkit-background-clip: padding-box;
      background-clip: padding-box
    }
  
    .c-carousel button.btn_next {
      right: 0px;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 8px;
      border-top-left-radius: 8px;
      -webkit-background-clip: padding-box;
      background-clip: padding-box
    }
  
    .c-carousel button .icon {
      width: 16px;
      height: 16px
    }
  
    .c-carousel button .icon svg {
      fill: var(--color-white)
    }
  
    .c-carousel button.disable {
      opacity: 0;
      pointer-events: none
    }
  
    .s-howtouse .c-carousel ul li:last-child .inner {
      width: calc(100% - 80px)
    }
  
    .c-product_list ul li {
      width: calc((100% - 128px)/3)
    }
  
    .c-product_list ul li:nth-child(2n) {
      margin-right: 64px
    }
  
    .c-product_list ul li:nth-child(3n) {
      margin-right: 0px
    }
  
    .c-product_info {
      padding-top: 0px;
      margin-bottom: 0px
    }
  
    .c-product-variation {
      margin-bottom: 48px
    }
  
    .c-product-variation .inr {
      padding: 24px 0;
      width: calc(100% - 48px)
    }
  
    .c-price_quantity {
      align-items: center
    }
  
    .c-product_info p.c-product_info__price {
      line-height: 1
    }
  
    .s-drawer .drawer_inner {
      padding-bottom: 64px
    }
  
    .s-drawer button {
      font-size: var(--fs-20-20);
      line-height: 2;
      height: 50px;
      letter-spacing: 0.08em
    }
  
    .s-drawer .c-list-drawer {
      margin-bottom: 64px
    }
  
    .s-drawer .c-contact_drawer .inner {
      padding: 25px 14px 25px 14px
    }
  
    .s-drawer .c-contact_drawer p.ttl_freedial {
      font-size: var(--fs-16-16)
    }
  
    .s-drawer .c-contact_drawer .wrap_free_dial p.txt_tel {
      font-size: var(--fs-28-28)
    }
  
    .c-list-drawer ul {
      width: calc(100% - 128px);
      margin: auto;
      padding: 64px 0px 0px 0px;
      box-sizing: border-box;
      display: flex;
      flex-wrap: wrap
    }
  
    .c-list-drawer ul li {
      width: 33.3333333333%;
      margin-bottom: 0px;
      margin-right: 0px
    }
  
    .c-list-drawer ul li:last-child {
      padding-bottom: 0px;
      margin-bottom: 0px;
      border-bottom: none
    }
  
    .c-list-drawer ul li figure {
      width: 106px;
      margin-right: 16px
    }
  
    .c-list-drawer ul li .col_r {
      width: calc(100% - 122px)
    }
  
    .c-list-drawer ul li a.c-btn {
      margin-top: 12px
    }
  
    .c-contact_drawer {
      width: calc(100% - 128px)
    }
  
    .c-contact_drawer .inner {
      padding: 24px;
      display: flex;
      align-items: center;
      justify-content: center
    }
  
    .c-contact_drawer p.ttl_freedial {
      margin-bottom: 0em;
      margin-right: 64px;
      position: relative;
      top: 2px
    }
  
    .c-contact_drawer .wrap_free_dial {
      display: flex;
      align-items: flex-end;
      justify-content: center
    }
  
    .c-contact_drawer .free_dial {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 0px;
      margin-top: 0px
    }
  
    .c-contact_drawer .free_dial .icon {
      width: 32px;
      height: 21px;
      margin-right: 16px
    }
  
    .c-contact_drawer .free_dial .icon svg {
      fill: var(--color-white)
    }
  
    .c-contact_drawer .free_dial p.txt_tel {
      font-size: var(--fs-28-28);
      letter-spacing: 0.06em;
      top: 0px;
      margin-right: .2em
    }
  
    .c-contact_drawer p.txt_time {
      margin-top: 0px;
      font-size: var(--fs-16-16);
      top: -2px;
      position: relative
    }
  
    .s-movie_product #bg_movie #player iframe {
      width: auto;
      min-width: 100%;
      min-height: 100%;
      height: auto;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0)
    }
  
    .s-movie_product .content {
      position: relative
    }
  
    .s-movie_product .content .content_inner {
      width: calc(50% - 64px);
      margin: 0;
      margin-left: 80px;
      position: absolute;
      bottom: 80px
    }
  
    .s-movie_product .content h3,
    .s-movie_product .content p {
      color: var(--color-white)
    }
  
    .s-movie_product .content h3 {
      font-size: var(--fs-20-20);
      line-height: var(--line-height-l);
      margin-bottom: 42px
    }
  
    .s-movie_product .content h3 br {
      display: block
    }
  
    .s-movie_product .content h3 br.sp {
      display: none
    }
  
    .s-movie_product .content p {
      font-size: var(--fs-14-14);
      line-height: var(--line-height-l)
    }
  
    .c-list_ingredient ul li {
      width: calc((100% - 208px)/3);
      margin-right: 64px
    }
  
    .c-list_ingredient ul li:last-child {
      width: calc((100% - 208px)/3 + 80px)
    }
  
    .s-lineup .c-carousel {
      padding-left: 0px;
      width: 100%;
      margin: auto
    }
  
    .s-lineup .c-carousel ul li {
      width: calc((100% - 208px)/3);
      margin-right: 64px;
      margin-bottom: 64px
    }
  
    .s-lineup .c-carousel ul li:last-child {
      margin-bottom: 0px
    }
  
    .s-lineup .c-carousel ul li:last-child {
      width: calc((100% - 208px)/3 + 80px);
      margin-right: 0px
    }
  
    .s-lineup .c-carousel ul li:last-child a {
      width: calc(100% - 80px)
    }
  
    .c-product_info__form__quantity .c-product_info__form__quantity__wrap {
      margin-bottom: 30px
    }
  
    .c-product_info__form__quantity .c-product_info__form__quantity__wrap dl dt {
      margin-right: 12px
    }
  
    .c-product_info__form__quantity button {
      margin-top: 0px;
      margin-bottom: 10px
    }
  
    .c-product_info__form__quantity .note {
      margin-top: 12px
    }
  
    .b-about_product {
      width: 100%;
      margin: 0
    }
  
    .b-about_product form {
      margin-bottom: 20px;
      padding-bottom: 0px
    }
  
    .c-product_slideshow .slideshow_inner ul {
      display: block;
      position: relative;
      width: 100%;
      aspect-ratio: 1/1;
      overflow-x: visible;
      padding-bottom: 0px;
      scroll-snap-type: initial
    }
  
    .c-product_slideshow .slideshow_inner ul li {
      position: absolute;
      width: 100%;
      aspect-ratio: 1/1;
      opacity: 0;
      transition: opacity .6s ease
    }
  
    .c-product_slideshow .slideshow_inner ul li img {
      height: 100%
    }
  
    .c-product_slideshow .slideshow_inner ul li.active {
      opacity: 1
    }
  
    .c-product_slideshow .nav_slideshow nav ul {
      display: block
    }
  
    .c-product_slideshow .nav_slideshow nav ul li {
      width: 100%;
      height: auto;
      margin-bottom: 20px;
      border: 1px solid var(--color-beige);
      border-radius: 0;
      transition: border .15s linear;
      box-sizing: border-box
    }
  
    .c-product_slideshow .nav_slideshow nav ul li.active {
      border-color: var(--color-red)
    }
  
    .c-product_slideshow .nav_slideshow nav ul li:last-child {
      margin-bottom: 0px
    }
  
    .c-product_slideshow .nav_slideshow nav ul li img {
      display: block
    }
  
    .p-block_product_buy {
      margin-bottom: 64px
    }
  
    .p-block_product_buy .c-block_buy {
      padding: 32px
    }
  
    .c-cols_container {
      display: flex;
      width: var(--innerW-center);
      margin: auto
    }
  
    .c-cols_container .l_col {
      width: var(--w-col4);
      margin-top: 0px
    }
  
    .c-cols_container .r_col {
      width: var(--w-col6);
      margin: 0 0 0 64px
    }
  
    .c-cols_container.reverse {
      flex-direction: row-reverse;
      justify-content: flex-end
    }
  
    .c-cols_container.reverse .p-account__inner__menu {
      width: 100%
    }
  
    .c-cols_container.reverse .r_col .l-container__row {
      margin-top: 0px
    }
  
    .c-nav_mypage_common.c-nav_mypage {
      margin-top: 0px
    }
  
    .border_round.padding_inner {
      padding: 32px 32px
    }
  
    .p-history_detail__block,
    .p-subscription_detail__block {
      padding-bottom: 64px;
      margin-bottom: 64px
    }
  
    .c-block_btn {
      margin-top: 32px
    }
  
    .p-history_list__item,
    .p-subscription_list__item {
      margin-bottom: 32px
    }
  
    .p-subscription_list__item .c-buttons ul {
      display: flex
    }
  
    .p-subscription_list__item .c-buttons ul li {
      margin-right: 8px;
      width: 150px
    }
  
    .p-subscription_list__item .c-buttons ul li a {
      padding: 0
    }
  
    .p-history_list .p-history_list__item dl {
      margin-bottom: 28px
    }
  
    .p-history_list .p-history_list__item h3 {
      margin: 24px 0
    }
  
    .p-history_list a.p-history_list__item__header__btn {
      margin-top: 24px
    }
  
    .p-history_list .c-cart_item {
      margin-top: 64px
    }
  
    .card_registered {
      margin: 32px 0 0 0
    }
  
    .c-account_table tr {
      margin-bottom: 28px
    }
  
    .c-account_table tr:last-child {
      margin-bottom: 0px
    }
  
    #orders-detail-view .p-history_detail__block:not(:last-child) {
      margin-bottom: 32px
    }
  
    #orders-detail-view .c-billing_list__total {
      padding-top: 32px;
      margin-top: 32px
    }
  
    :is(.p-history_detail__block__list, .p-subscription_detail__block__list) .c-cart_item {
      padding-bottom: 32px
    }
  
    :is(.p-history_detail__block__list, .p-subscription_detail__block__list) .c-cart_item .c-cart_item__info .c-cart_item__info__total__price {
      margin-bottom: 12px
    }
  
    :is(.p-history_detail__block__list, .p-subscription_detail__block__list) .c-cart_item .c-cart_item__info__total__price {
      margin-top: 32px
    }
  
    #payment-method-edit-view .p-account__inner__content__form__bottom input {
      width: 150px;
      padding: 0
    }
  
    .p-account__inner__content__copy {
      margin-bottom: 32px
    }
  
    .c-form_table__tel .c-form_table__select {
      width: calc((100% - 320px)/6*4 + 256px);
      margin-right: 0 !important
    }
  
    .c-form_table__tel a.p-account__inner__content__copy__btn {
      width: calc((100% - 320px)/6*1 + 64px);
      height: 50px;
      display: flex;
      align-items: center;
      justify-content: center
    }
  
    #customers-sessions-sign-in-view .control-alert,
    #customers-sessions-sign-in-view .alert,
    #customers-sessions-sign-in-view .alert-danger,
    #customers-password-new-view .control-alert,
    #customers-password-new-view .alert,
    #customers-password-new-view .alert-danger {
      width: calc((100% - 224px)/2);
      margin: 64px auto 64px 80px
    }
  
    #customers-sessions-sign-in-view .p-login {
      width: var(--innerW-center);
      margin: auto;
      padding-bottom: 160px
    }
  
    #customers-sessions-sign-in-view .p-login__inner {
      width: calc((100% - 64px)/2)
    }
  
    #customers-sessions-sign-in-view .p-login__inner__login__bottom__forget {
      margin-top: 8px;
      color: var(--color-red);
      display: inline-block
    }
  
    #customers-sessions-sign-in-view .c-register_new {
      margin-top: 24px;
      text-align: center;
      width: 100%;
      max-width: a;
      max-width-color: var(--color-red);
      max-width-text-decoration: underline;
      max-width-font-size: var(--fs-20-20)
    }
  
    #customers-password-new-view .password_inner form,
    #customers-password-new-view .password_inner .c-caution_password {
      width: calc((100% - 64px)/2);
      margin: 0
    }
  
    #customers-password-new-view .password_inner .p-account_form__inner__bottom {
      margin-top: 48px
    }
  
    p.p-account__inner__content__lead.nocard {
      margin-top: 64px
    }
  
    [data-slideshow] {
      width: 100%
    }
  
    [data-slideshow] ul.slide {
      width: 100%;
      position: relative
    }
  
    [data-slideshow] ul.slide li {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0px;
      left: 0px
    }
  
    [data-slideshow] .nav_current {
      margin-top: 16px
    }
  
    [data-slideshow] .nav_current ul {
      display: flex;
      justify-content: center
    }
  
    [data-slideshow] .nav_current ul li {
      width: 4px;
      height: 4px;
      margin-right: 10px
    }
  
    [data-slideshow] .nav_current ul li:last-child {
      margin-right: 0px
    }
  
    [data-slideshow] .nav_current ul li button {
      width: 4px;
      height: 4px;
      display: block;
      background: var(--color-nav-disable);
      border-radius: 50%;
      text-indent: -100000px
    }
  
    [data-slideshow] .nav_current ul li button.active {
      background: var(--color-red)
    }
  
    [data-slideshow=vertical] ul.slide {
      aspect-ratio: 2/1
    }
  
    [data-slideshow=horizontal] ul.slide {
      aspect-ratio: 2/1
    }
  
    .c-story_list_skincare {
      padding-bottom: 160px
    }
  
    .c-story_list_skincare ul {
      width: var(--innerW-center);
      margin: auto
    }
  
    .c-story_list_skincare ul li {
      margin-bottom: 120px
    }
  
    .c-story_list_skincare ul li:last-child {
      margin-bottom: 0px
    }
  
    .c-story_list_skincare ul .c-cols {
      display: flex;
      justify-content: space-between
    }
  
    .c-story_list_skincare ul .l-col {
      margin-bottom: 0px
    }
  
    .c-story_list_skincare ul .l-col,
    .c-story_list_skincare ul .r-col {
      width: calc(50% - 32px)
    }
  
    .c-story_list_skincare ul .r-col {
      margin: 0
    }
  
    .c-list_library ul li {
      width: calc((100% - 704px)/12*3 + 128px)
    }
  
    .c-list_library ul li:nth-child(2n) {
      margin-right: 64px
    }
  
    .c-list_library ul li:nth-child(4n) {
      margin-right: 0
    }
  
    .c-list_col2 ul {
      width: 100%
    }
  
    .c-list_col2 ul li {
      display: flex;
      align-items: center;
      margin-bottom: 80px
    }
  
    .c-list_col2 ul li:last-child {
      margin-bottom: 0px
    }
  
    .c-list_col2 ul .img {
      width: var(--w-col4);
      margin: 0;
      margin-bottom: 0px;
      margin-right: var(--grid-base-margin)
    }
  
    .c-list_col2 ul .img figure {
      width: 100%
    }
  
    .c-list_col2 .col_r {
      width: calc(100% - var(--w-col4) - 64px)
    }
  
    .c-list_col2 .col_r h3 {
      margin-bottom: 24px;
      line-height: 1
    }
  }
  
  @media all and (min-width: 1280px) {
    :is(#s-library) .c-carousel {
      padding-left: 0px
    }
  
    :is(#s-library) .c-carousel li {
      width: calc((80% - 192px)/4)
    }
  
    :is(#s-library) .c-carousel li:last-child {
      width: calc((80% - 192px)/4 + 64px)
    }
  
    :is(#s-library) .c-carousel li:last-child a {
      width: calc(100% - 64px)
    }
  
    .s-howtouse .c-carousel[data-carousel],
    .s-howtouse .c-carousel.w-240 {
      padding-left: 0px !important
    }
  
    .c-carousel {
      width: 100%
    }
  
    .c-carousel.w-240 {
      padding-left: 0px
    }
  
    .c-carousel.w-240 ul {
      padding-left: 0px
    }
  
    .c-carousel.w-240 ul li {
      width: calc((100% - 272px)/4);
      margin-right: 64px
    }
  
    .c-carousel.w-240 ul li:last-child .inner {
      width: 100%
    }
  
    .c-carousel.w-240 ul li:last-child:after {
      display: none
    }
  
    .c-carousel[data-max="3"] ul {
      padding-left: 0px
    }
  
    .c-carousel[data-max="3"] ul li {
      width: calc((80% - 128px)/3)
    }
  
    .c-carousel[data-max="3"] ul li:last-child {
      width: calc((80% - 128px)/3);
      margin-right: 0px
    }
  
    .c-carousel[data-max="3"] ul li:last-child:after {
      display: none
    }
  
    .c-carousel[data-max="3"] ul li h3 {
      line-height: var(--line-height-s);
      margin-bottom: .6em
    }
  
    .c-carousel[data-max="3"] ul li p.txt_description {
      font-size: var(--fs-16-16);
      line-height: var(--line-height-s)
    }
  
    .c-carousel ul {
      padding-left: 0px
    }
  
    .c-carousel ul li {
      width: calc((80% - 192px)/4)
    }
  
    .c-carousel ul li:first-child {
      margin-left: 10%
    }
  
    .c-carousel ul li:last-child {
      width: calc((80% - 192px)/4 + 64px)
    }
  
    .c-carousel ul li:last-child a {
      width: calc(100% - 64px)
    }
  
    .c-carousel ul li:last-child .inner {
      width: 100%
    }
  
    .c-carousel ul li:last-child:after {
      display: none
    }
  
    .c-product_list ul li {
      width: calc((100% - 192px)/4)
    }
  
    .c-product_list ul li:nth-child(3n) {
      margin-right: 64px
    }
  
    .c-product_list ul li:nth-child(4n) {
      margin-right: 0px
    }
  
    .c-product-variation {
      margin-bottom: 45px
    }
  
    .s-movie_product .content .content_inner {
      width: calc(40% - 64px);
      margin: 0;
      margin-left: 10%
    }
  
    .s-movie_product .content h3,
    .s-movie_product .content p {
      color: var(--color-white)
    }
  
    .s-movie_product .content h3 {
      font-size: var(--fs-20-20);
      line-height: var(--line-height-l);
      margin-bottom: 42px
    }
  
    .s-movie_product .content p {
      font-size: var(--fs-14-14);
      line-height: var(--line-height-l)
    }
  
    .c-list_ingredient ul li {
      width: calc((100% - 272px)/4)
    }
  
    .c-list_ingredient ul li:last-child {
      width: calc((100% - 272px)/4 + 80px)
    }
  
    .s-lineup .c-carousel ul {
      padding-left: 0%
    }
  
    .s-lineup .c-carousel ul li {
      width: calc((100% - 448px)/4);
      margin-bottom: 0px
    }
  
    .s-lineup .c-carousel ul li:last-child {
      width: calc((100% - 448px)/4);
      margin-right: 0px
    }
  
    .s-lineup .c-carousel ul li:last-child a {
      width: 100%
    }
  
    .s-lineup .c-carousel ul li a {
      width: 100%
    }
  }
  
  @media all and (min-width: 1280px) {
  
    #customers-sessions-sign-in-view .control-alert,
    #customers-sessions-sign-in-view .alert,
    #customers-sessions-sign-in-view .alert-danger,
    #customers-password-new-view .control-alert,
    #customers-password-new-view .alert,
    #customers-password-new-view .alert-danger {
      width: calc((80% - 64px)/2);
      margin: 64px auto 64px 10%;
      position: relative
    }
  
    .s-lineup .c-carousel ul {
      padding-left: 0%
    }
  
    .s-lineup .c-carousel ul li {
      width: calc((80% - 192px)/4);
      margin-bottom: 0px
    }
  
    .s-lineup .c-carousel ul li:last-child {
      width: calc((80% - 192px)/4);
      margin-right: 0px
    }
  }
  
  #s-flow .section_inner {
    padding: var(--margin-base4) 0
  }
  
  #s-flow .c-ttl_section {
    margin-bottom: 48px
  }
  
  #s-flow .c-ttl_section h2 {
    font-size: var(--fs-ttl-flow)
  }
  
  #s-flow .c-list_flow {
    width: 100%
  }
  
  #s-flow .c-list_flow ul {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: min(2.56vw, 10px)
  }
  
  #s-flow .c-list_flow ul li {
    flex-shrink: 0;
    scroll-snap-align: end;
    position: relative;
    width: calc((100% - 216px)/6*5 + 96px);
    margin-right: 24px
  }
  
  #s-flow .c-list_flow ul li:first-child {
    margin-left: 48px
  }
  
  #s-flow .c-list_flow ul li .flow {
    width: calc((100% - 96px)/5*4 + 72px)
  }
  
  #s-flow .c-list_flow ul li figure {
    margin-bottom: 16px
  }
  
  #s-flow .c-list_flow ul li p {
    font-size: var(--fs-16-16);
    color: var(--color-red);
    text-align: left;
    line-height: var(--line-height-s)
  }
  
  #s-flow .c-list_flow ul li .arrow_r {
    width: calc((100% - 96px)/5*1);
    height: auto;
    aspect-ratio: 24/14;
    position: absolute;
    right: 0px;
    top: 50%;
    margin-top: max(-1.15vw, -4.5px)
  }
  
  #s-flow .c-list_flow ul li .arrow_r svg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    fill: var(--color-red)
  }
  
  @media all and (min-width: 744px) {
    #s-flow .c-list_flow ul {
      padding-bottom: 10px
    }
  
    #s-flow .c-list_flow ul li {
      position: relative;
      width: 265px;
      margin-right: 0px
    }
  
    #s-flow .c-list_flow ul li:first-child {
      margin-left: 80px
    }
  
    #s-flow .c-list_flow ul li:last-child {
      width: 265px
    }
  
    #s-flow .c-list_flow ul li:last-child .flow {
      width: 188px
    }
  
    #s-flow .c-list_flow ul li .flow {
      width: 188px
    }
  
    #s-flow .c-list_flow ul li figure {
      margin-bottom: 16px
    }
  
    #s-flow .c-list_flow ul li .arrow_r {
      width: 77px;
      height: auto;
      aspect-ratio: initial;
      height: 14px;
      top: 50%;
      margin-top: -7px;
      right: 0px;
      margin-top: 0
    }
  
    #s-flow .c-list_flow ul li .arrow_r svg {
      width: 24px;
      aspect-ratio: 24/14;
      height: auto;
      left: 50%;
      margin-left: -12px
    }
  }
  
  @media all and (min-width: 1024px) {
    #s-flow .c-ttl_section {
      margin-bottom: 48px
    }
  
    #s-flow .c-ttl_section h2 {
      font-size: var(--fs-ttl-flow);
      text-align: center
    }
  
    #s-flow .c-ttl_section h2 br {
      display: none
    }
  
    #s-flow .c-list_flow ul {
      padding-bottom: 0px;
      justify-content: center;
      width: 683px;
      margin: auto;
      display: flex;
      flex-wrap: wrap;
      scroll-snap-type: initial;
      overflow-x: visible
    }
  
    #s-flow .c-list_flow ul li {
      flex-shrink: auto;
      position: relative;
      width: 249px;
      margin-right: 0px
    }
  
    #s-flow .c-list_flow ul li:nth-child(1),
    #s-flow .c-list_flow ul li:nth-child(2),
    #s-flow .c-list_flow ul li:nth-child(3) {
      margin-bottom: 24px
    }
  
    #s-flow .c-list_flow ul li:nth-child(3) {
      margin-right: 0px;
      width: 185px
    }
  
    #s-flow .c-list_flow ul li:nth-child(3) .arrow_r {
      display: none
    }
  
    #s-flow .c-list_flow ul li:nth-child(4) {
      width: 313px
    }
  
    #s-flow .c-list_flow ul li:nth-child(4) .arrow_r.ar0 {
      right: auto;
      left: 0px
    }
  
    #s-flow .c-list_flow ul li:nth-child(4) .flow {
      margin-left: 64px
    }
  
    #s-flow .c-list_flow ul li:first-child {
      margin-left: 0px
    }
  
    #s-flow .c-list_flow ul li:last-child {
      width: 185px
    }
  
    #s-flow .c-list_flow ul li:last-child .flow {
      width: 185px
    }
  
    #s-flow .c-list_flow ul li .flow {
      width: 185px
    }
  
    #s-flow .c-list_flow ul li .flow figure {
      width: 160px;
      margin: auto
    }
  
    #s-flow .c-list_flow ul li p {
      text-align: center
    }
  
    #s-flow .c-list_flow ul li figure {
      margin-bottom: 16px
    }
  
    #s-flow .c-list_flow ul li .arrow_r {
      width: 64px;
      height: auto;
      height: 14px;
      top: 50%;
      margin-top: -7px;
      right: 0px;
      margin-top: 0
    }
  
    #s-flow .c-list_flow ul li .arrow_r svg {
      width: 32px;
      aspect-ratio: 24/14;
      margin-left: -16px
    }
  }
  
  @media all and (min-width: 1576px) {
    #s-flow .c-list_flow ul {
      width: 100%
    }
  
    #s-flow .c-list_flow ul li:nth-child(1),
    #s-flow .c-list_flow ul li:nth-child(2),
    #s-flow .c-list_flow ul li:nth-child(3) {
      margin-bottom: 0px
    }
  
    #s-flow .c-list_flow ul li:nth-child(3) {
      margin-right: 0px;
      width: 185px
    }
  
    #s-flow .c-list_flow ul li:nth-child(4) {
      width: 313px
    }
  }
  
  :is([data-page-type=shop_policy], [data-page-type=contact]) .p-page_content .p-page_content__inner {
    width: var(--innerW-center);
    margin: auto;
    padding-bottom: var(--margin-base4)
  }
  
  [data-page-type=contact] .c-lead {
    margin-bottom: 48px
  }
  
  [data-page-type=contact] .c-lead p {
    font-size: var(--fs-16-16);
    line-height: var(--line-height-ml)
  }
  
  [data-page-type=contact] .c-lead ul {
    margin-top: 48px
  }
  
  [data-page-type=contact] .c-lead ul li {
    font-size: var(--fs-12-12);
    line-height: var(--line-height-s);
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 1em
  }
  
  [data-page-type=contact] .c-lead ul li:last-child {
    margin-bottom: 0px
  }
  
  [data-page-type=contact] .c-lead ul li:before {
    content: "繝ｻ";
    position: absolute;
    left: 0px;
    top: 0px;
    font-size: var(--fs-12-12)
  }
  
  [data-page-type=contact] .c-lead.complete p {
    margin-bottom: 1.5em
  }
  
  [data-page-type=contact] .c-free_dial {
    margin-top: 48px
  }
  
  [data-page-type=contact] .p-account_form__inner__bottom__link {
    text-decoration: none;
    margin-top: 16px
  }
  
  [data-page-type=contact] .c-wrap_btn {
    width: 100%;
    margin: 0
  }
  
  [data-page-type=contact] .c-wrap_btn a {
    text-decoration: none
  }
  
  [data-page-type=shop_policy] .p-page_content .policy_lead {
    margin-bottom: 64px
  }
  
  [data-page-type=shop_policy] .p-page_content ul li {
    padding-bottom: 64px;
    margin-bottom: 64px;
    border-bottom: 1px solid var(--color-red)
  }
  
  [data-page-type=shop_policy] .p-page_content ul li:last-child {
    margin-bottom: 0px;
    padding-bottom: 0px;
    border: none
  }
  
  [data-page-type=shop_policy] .p-page_content ul li p:nth-last-of-type(1) {
    margin-bottom: 0px
  }
  
  [data-page-type=shop_policy] .p-page_content h2,
  [data-page-type=shop_policy] .p-page_content h3,
  [data-page-type=shop_policy] .p-page_content p,
  [data-page-type=shop_policy] .p-page_content dt,
  [data-page-type=shop_policy] .p-page_content dd {
    color: var(--color-red)
  }
  
  [data-page-type=shop_policy] .p-page_content h2 {
    font-size: var(--fs-24-24);
    line-height: var(--line-height-s);
    letter-spacing: 0.05em;
    position: relative;
    margin-bottom: 48px
  }
  
  [data-page-type=shop_policy] .p-page_content h3 {
    font-size: var(--fs-20-20);
    line-height: var(--line-height-s);
    margin-bottom: .4em;
    margin-top: 48px
  }
  
  [data-page-type=shop_policy] .p-page_content p,
  [data-page-type=shop_policy] .p-page_content dl {
    margin-bottom: 1.5em
  }
  
  [data-page-type=shop_policy] .p-page_content p,
  [data-page-type=shop_policy] .p-page_content dt,
  [data-page-type=shop_policy] .p-page_content dd {
    font-size: var(--fs-16-16);
    line-height: 2;
    letter-spacing: 0.05em
  }
  
  [data-page-type=shop_policy] .p-page_content a {
    color: var(--colo-red);
    text-decoration: underline
  }
  
  [data-page-type=shop_policy] .p-page_content .chart {
    width: 100%;
    border-top: 1px solid var(--color-red);
    border-left: 1px solid var(--color-red);
    border-right: 1px solid var(--color-red);
    box-sizing: border-box
  }
  
  [data-page-type=shop_policy] .p-page_content .chart h4,
  [data-page-type=shop_policy] .p-page_content .chart dt,
  [data-page-type=shop_policy] .p-page_content .chart dd {
    color: var(--color-red);
    font-size: var(--fs-12-12);
    padding: 0 16px;
    text-align: justify
  }
  
  [data-page-type=shop_policy] .p-page_content .chart h4 {
    height: 40px;
    background: var(--color-red-opacity);
    display: flex;
    align-items: center;
    box-sizing: border-box;
    border-bottom: 1px solid var(--color-red);
    line-height: 1.3
  }
  
  [data-page-type=shop_policy] .p-page_content .chart dl {
    display: flex;
    margin-bottom: 0px;
    border-bottom: 1px solid var(--color-red)
  }
  
  [data-page-type=shop_policy] .p-page_content .chart dl dt,
  [data-page-type=shop_policy] .p-page_content .chart dl dd {
    width: 50%;
    height: 40px;
    display: flex;
    align-items: center;
    box-sizing: border-box
  }
  
  [data-page-type=shop_policy] .p-page_content .chart dl dt {
    border-right: 1px solid var(--color-red)
  }
  
  [data-page-type=shop_policy] .p-page_content .cards {
    margin: 48px 0 0 0
  }
  
  [data-page-type=shop_policy] .p-page_content .cards ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px
  }
  
  [data-page-type=shop_policy] .p-page_content .cards ul li {
    border: none;
    padding: 0px;
    width: 82px;
    margin-bottom: 0px
  }
  
  [data-page-type=shop_policy] .p-page_content .cards ul li img {
    width: 100%;
    height: auto
  }
  
  [data-page-type=shop_policy] .p-page_table {
    width: var(--innerW-center);
    margin: auto;
    padding-bottom: 96px
  }
  
  [data-page-type=shop_policy] .p-page_table table.c-table tbody {
    width: 100%;
    display: block
  }
  
  [data-page-type=shop_policy] .p-page_table table.c-table tr {
    margin-bottom: 32px;
    padding-bottom: 32px;
    display: block;
    border-bottom: 1px solid var(--color-red)
  }
  
  [data-page-type=shop_policy] .p-page_table table.c-table tr:last-child {
    margin-bottom: 0px
  }
  
  [data-page-type=shop_policy] .p-page_table table.c-table tr:last-child {
    margin-bottom: 0px
  }
  
  [data-page-type=shop_policy] .p-page_table table.c-table tr th {
    color: var(--color-red);
    font-size: var(--fs-12-12);
    vertical-align: top;
    white-space: nowrap;
    text-align: left;
    margin-bottom: 14px;
    display: block
  }
  
  [data-page-type=shop_policy] .p-page_table table.c-table tr td {
    color: var(--color-red);
    width: 100%;
    display: block;
    font-size: var(--fs-20-20);
    line-height: var(--line-height-s);
    word-break: break-all;
    word-wrap: break-word
  }
  
  @media all and (min-width: 1024px) {
    :is([data-page-type=shop_policy], [data-page-type=contact]) .p-page_content {
      width: var(--innerW-center);
      margin: auto
    }
  
    :is([data-page-type=shop_policy], [data-page-type=contact]) .p-page_content .p-page_content__inner {
      width: calc(50% - 32px);
      margin: 0px
    }
  
    [data-page-type=contact] .c-free_dial .wrap_free_dial {
      display: block
    }
  
    [data-page-type=contact] .c-free_dial .wrap_free_dial p.txt_time {
      margin-top: 16px
    }
  
    [data-page-type=shop_policy] .p-page_content .policy_lead {
      margin-bottom: 96px
    }
  
    [data-page-type=shop_policy] .p-page_content ul li {
      margin-bottom: 80px;
      padding-bottom: 80px
    }
  
    [data-page-type=shop_policy] .p-page_content h2 {
      padding-bottom: 8px;
      margin-bottom: 48px
    }
  
    [data-page-type=shop_policy] .p-page_content .cards ul {
      gap: 24px 24px
    }
  
    [data-page-type=shop_policy] .p-page_content .cards ul li {
      margin-bottom: 0px
    }
  
    [data-page-type=shop_policy] .p-page_table {
      padding-bottom: 160px
    }
  
    [data-page-type=shop_policy] .p-page_table table.c-table {
      width: calc((100% - 704px)/12*6 + 320px);
      margin: 0px
    }
  }
  
  .c-slideshow {
    width: 100%;
    position: relative
  }
  
  .c-slideshow .slideshow {
    width: 100%;
    overflow: hidden;
    position: relative
  }
  
  .c-slideshow.touching ul.list_slideshow,
  .c-slideshow.notransition ul.list_slideshow {
    transition: transform 0s ease
  }
  
  .c-slideshow ul.list_slideshow {
    width: 100%;
    aspect-ratio: 16/9;
    position: relative;
    display: flex;
    transition: transform .6s cubic-bezier(0.7, 0, 0.3, 1)
  }
  
  .c-slideshow ul.list_slideshow li {
    width: 100%;
    aspect-ratio: 16/9;
    position: relative;
    flex-shrink: 0
  }
  
  .c-slideshow ul.list_slideshow li button {
    position: absolute;
    bottom: 20px;
    right: 25px;
    z-index: 2;
    width: 24px;
    height: 24px
  }
  
  .c-slideshow ul.list_slideshow li button svg {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    fill: var(--color-white)
  }
  
  .c-slideshow ul.list_slideshow li button svg.on-off {
    display: none
  }
  
  .c-slideshow ul.list_slideshow li.off button svg.off-on {
    display: none
  }
  
  .c-slideshow ul.list_slideshow li.off button svg.on-off {
    display: block
  }
  
  .c-slideshow ul.list_slideshow .player {
    width: 100%;
    height: 100%;
    position: relative
  }
  
  .c-slideshow ul.list_slideshow .player iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    pointer-events: none
  }
  
  .c-slideshow .info_slideshow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: var(--innerW-center);
    margin: auto;
    margin-top: 20px
  }
  
  .c-slideshow .info_slideshow .caption_slideshow {
    width: 72.413%;
    position: relative;
    height: 1em
  }
  
  .c-slideshow .info_slideshow .caption_slideshow li {
    text-align: right;
    font-size: var(--fs-12-12);
    color: var(--color-red);
    position: absolute;
    top: 0px;
    right: 0px;
    opacity: 0;
    transition: opacity .3s ease
  }
  
  .c-slideshow .info_slideshow .caption_slideshow li.active {
    opacity: 1
  }
  
  .c-slideshow .nav_slideshow {
    width: 28%
  }
  
  .c-slideshow .nav_slideshow ul {
    display: flex
  }
  
  .c-slideshow .nav_slideshow ul li {
    margin-right: 10px
  }
  
  .c-slideshow .nav_slideshow ul li:last-child {
    margin-right: 0px
  }
  
  .c-slideshow .nav_slideshow ul li button {
    width: 4px;
    height: 4px;
    display: block;
    background: var(--color-nav-disable);
    border-radius: 50%;
    overflow: hidden;
    text-indent: -100000px;
    pointer-events: none
  }
  
  .c-slideshow .nav_slideshow ul li.active button {
    background: var(--color-red)
  }
  
  @media all and (min-width: 744px) {
    .c-slideshow .info_slideshow {
      margin-top: 24px
    }
  }
  
  @media all and (min-width: 1280px) {
    .c-slideshow .info_slideshow {
      width: 100%
    }
  }
  
  /*# sourceMappingURL=common.css.map */