@charset "UTF-8";
*:before, *:after {
  box-sizing: border-box;
}


/* ----全体設定---- */

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 14px;
  line-height: 1.5;
  color: #444;
}

.block-switch-banner {
  display: none!important;
}

/* ----カスタム 全体設定---- */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}

/* ----ヘッドライン---- */

h1, .h1 {
  margin: 0 0 30px 0;
  font-size: 24px;
  font-weight: bold;
}

h2 {
  margin: 20px 0;
  font-size: 22px;
  font-weight: normal;
}

h2.after-border {
  text-align: center;
  line-height: 140%;
  padding-bottom: 35px;
  margin-bottom: 50px;
  position: relative;
  letter-spacing: 0.1em;
}

h2.after-border:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2em;
  margin-left: -1em;
  height: 2px;
  background-color: #444;
}

.block-recent-item--header {
  font-size: 22px;
  text-align: center;
  border-top: none;
  padding: inherit;
  text-align: center;
  line-height: 140%;
  padding-bottom: 35px;
  margin: 0 0 50px 0;
  position: relative;
  letter-spacing: 0.1em;
}

.block-recent-item--header:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2em;
  margin-left: -1em;
  height: 2px;
  background-color: #444;
}

h2 span {
  display: block;
  font-size: 13px;
  line-height: 110%;
  letter-spacing: 0;
}

h3 {
  margin: 10px 0;
  font-size: 18px;
  font-weight: normal;
}


/* ----リンク---- */

a {
  text-decoration: underline;
  color: #444;
}

a:hover, a:focus {
  text-decoration: none;
}

a:focus {
  /*outline: 5px auto -webkit-focus-ring-color;outline-offset: -2px;*/
}

a .img-center img:hover {
  /*opacity: 0.65;filter: alpha(opacity=65);*/
  transform: scale(1.02);
  /*画像の拡大率*/
  transition-duration: 0.3s;
  /*変化に掛かる時間*/
}


/* ----タグ---- */

img {
  max-width: 100%;
}

hr {
  border: 0;
  border-bottom: 1px dotted #ccc;
}

*:focus {
  outline: none;
}

.price {
  color: #444;
}


/* ----スクロールバー---- */

body ::-webkit-scrollbar {
  height: 4px!important;
}

body ::-webkit-scrollbar-track {
  background: #fff;
  border: none;
  border-radius: 10px;
  box-shadow: inset 0 0 2px #777;
}

body ::-webkit-scrollbar-thumb {
  background: #ddd;
  border-radius: 10px;
  box-shadow: none;
}


/* ----padding margin---- */

.mt0 {
  margin-top: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}


/* ----input---- */

.form-group.block-order-gift-confirmation--mailnews.last input[type="radio"]+input+label, .form-group.block-order-gift-confirmation--mailnews.last input[type="checkbox"]+input+label {
  padding-left: 30px;
  position: relative;
  margin-right: 30px;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease
}

.form-group.block-order-gift-confirmation--mailnews.last input[type="radio"]+input+label::before, .form-group.block-order-gift-confirmation--mailnews.last input[type="checkbox"]+input+label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #999;
}

.form-group.block-order-gift-confirmation--mailnews.last input[type="radio"]+input+label::before {
  border-radius: 50%;
}

.form-group.block-order-gift-confirmation--mailnews.last input[type="radio"]+input+label::after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease
}

.form-group.block-order-gift-confirmation--mailnews.last input[type="checkbox"]+input+label::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 8px;
  opacity: 0;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease;
  transform: rotate(-40deg);
  -webkit-transform: rotate(-40deg);
  -moz-transform: rotate(-40deg);
}

.form-group.block-order-gift-confirmation--mailnews.last input[type="radio"]:checked+input+label {}

.form-group.block-order-gift-confirmation--mailnews.last input[type="radio"]:checked+input+label::after, .form-group.block-order-gift-confirmation--mailnews.last input[type="checkbox"]:checked+input+label::after {
  opacity: 1;
}


/* ----入力フォーム共通---- */

input, button, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

input[type="text"], input[type="tel"], input[type="email"], input[type="search"], input[type="password"], input[type="url"], input[type="number"] {
  padding: 5px 10px;
  border: 1px solid #ccc;
  background-color: #fff;
  line-height: 40px;
  height: 40px;
}

select {
  border: 1px solid #ccc;
  background-color: #fff;
  line-height: 40px;
  height: 40px;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
}

textarea {
  padding: 20px;
  border: 1px solid #ccc;
  background-color: #fff;
}

input[type="text"]:hover, input[type="tel"]:hover, input[type="email"]:hover, input[type="search"]:hover, input[type="password"]:hover, input[type="url"]:hover, input[type="number"]:hover, select:hover, textarea:hover {
  border: 1px solid #666;
}

input[type="radio"] {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  margin-right: 5px;
}

input[type="checkbox"] {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  margin-right: 5px;
}

label.radio, label.checkbox, input[type="radio"], input[type="radio"]+label, input[type="checkbox"], input[type="checkbox"]+label, select {
  cursor: pointer;
}

input[type="text"][disabled] {
  background: #dcdcdc;
  cursor: not-allowed;
}

input[type="radio"][disabled]+label, input[type="checkbox"][disabled]+label {
  opacity: 0.5;
  cursor: not-allowed;
  /* 禁止カーソル */
}


/* ----ボタン---- */

.btn {
  display: inline-block;
  margin: 0;
  text-align: center;
  border: none;
  vertical-align: middle;
  cursor: pointer;
  white-space: nowrap;
  padding: 10px 20px;
  text-decoration: none;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease
}

.btn a {
  text-decoration: none;
}

.btn:hover {
  opacity: 0.7;
}

.btn:hover, .btn:focus {
  text-decoration: none;
}

.btn:active, .btn.active {
  outline: 0;
  /*box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.125);*/
}

.btn.disabled, .btn[disabled], .btn.disabled:hover, .btn[disabled]:hover, .btn.disabled:active, .btn[disabled]:active {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  box-shadow: none !important;
}

.hidden-btn {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
}


/* ----画面上部メッセージ---- */

.alert {
  margin-top: 5px;
  padding: 10px 10px 10px 30px;
  margin-bottom: 5px;
  position: relative;
  border: 1px solid #ebccd1;
  color: #a94442;
  background-color: #f2dede;
}

.alert:before {
  font-family: FontAwesome;
  content: "\f071";
  position: absolute;
  left: 10px;
}

.success {
  margin-top: 5px;
  padding: 10px 10px 10px 30px;
  margin-bottom: 5px;
  position: relative;
  border: 1px solid #333;
  color: #333;
  background-color: #fff;
}

.success:before {
  font-family: FontAwesome;
  content: "\f05a";
  position: absolute;
  left: 10px;
}


/* ----入力フォームタイトル---- */

.legend {
  margin: 40px 0 20px;
  padding: 0 0 5px 2px;
  font-size: 18px;
  font-weight: bold;
  border-bottom: #c8c8c8 1px solid;
}


/* ----縦型入力フォーム---- */

.fieldset-vertical {
  margin-top: 10px;
  margin-bottom: 10px;
}

.fieldset-vertical .form-group {
  margin: 30px 0 10px 0;
}

.fieldset-vertical .form-label, .fieldset-vertical .constraint {
  margin: 0 0 5px 0;
}

.fieldset-vertical .form-label {
  padding: 10px;
  margin-right: 10px;
  text-align: left;
  background: #f9f9f9;
  vertical-align: middle;
}

.fieldset-vertical .form-label label {
  font-weight: bold;
}

.fieldset-vertical .form-control {
  clear: both;
}


/* ----横型入力フォーム---- */

.fieldset {
  margin-top: 10px;
  margin-bottom: 30px;
  width: 100%;
}

.fieldset .form-group {
  display: table;
  width: 100%;
  border-top: #e5e5e5 1px solid;
}

.fieldset .form-group.last {
  border-bottom: #e5e5e5 1px solid;
}

.fieldset .form-label, .fieldset .constraint, .fieldset .form-control {
  display: table-cell;
}

.fieldset .form-label {
  padding: 43px 10px 35px 15px;
  text-align: left;
  background: #f9f9f9;
}

.form-group.block-login--pwd .form-label {
  padding: 45px 10px 35px 15px;
  text-align: left;
  background: #f9f9f9;
}

.fieldset .form-label label {
  font-weight: normal;
}

.fieldset .constraint {
  width: 65px;
  padding: 5px;
  background: #f9f9f9;
  vertical-align: middle;
}

.fieldset .form-control {
  padding: 35px 0 35px 20px;
  vertical-align: middle;
}


/* ----入力支援---- */

.form-error {
  display: block;
  color: #a94442;
}

.required:after {
  display: inline-block;
  padding: .2em .6em;
  font-size: 11px;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
  color: #fff;
  background-color: #d9534f;
  content: "必須";
}

.help-block {
  display: block;
  font-size: 11px;
  margin-top: 5px;
  color: #737373;
}

.count-msg-another {
  display: block;
  font-size: 11px;
  margin-top: 5px;
  color: #555;
}

.count-msg {
  display: block;
  font-size: 11px;
  margin-top: 5px;
  color: #f66;
}


/* ----入力フォームボタン---- */

.action-buttons {
  margin-top: 40px;
  width: 100%;
  text-align: center;
  display: block;
}

.action {
  display: inline;
  margin-left: 10px;
  margin-right: 10px;
}

.action .btn {
  margin-top: 10px;
  padding: 20px;
  font-size: 16px;
  border-bottom-width: 2px;
  min-width: 250px;
}


/* ----ラジオボタン、チェックボックス---- */

.radio {
  margin-right: 10px;
}

.checkbox {
  margin-right: 10px;
}

/* ----カスタム 入力フォーム---- */
/*お支払い方法　注意書き*/
/* #method_pay の中にある help-block だけを制御対象にする */
#method_pay .help-block {
    display: none;
    margin-top: 10px;
}

/* 選択されたラジオボタンの隣にある help-block を表示 */
#method_pay input[name="method"]:checked ~ .help-block {
    display: block;
}

/* ----EFO---- */

.efo-icon {
  border: none;
  vertical-align: middle;
}

input[type="text"].efo-error, input[type="tel"].efo-error, input[type="email"].efo-error, input[type="search"].efo-error, input[type="password"].efo-error, input[type="url"].efo-error, input[type="number"].efo-error, select.efo-error, textarea.efo-error {
  background-color: #f2dede;
}

input[type="text"].efo-valid, input[type="tel"].efo-valid, input[type="email"].efo-valid, input[type="search"].efo-valid, input[type="password"].efo-valid, input[type="url"].efo-valid, input[type="number"].efo-valid, select.efo-valid, textarea.efo-valid {
  background-color: #e9f2d7;
}


/* ----トピック---- */

.block-top-topic--header {
  font-size: 28px;
  text-align: center;
  line-height: 1.2;
  border-top: #444 2px solid;
  padding: 19px 0 30px;
}

.block-top-topic--header span {
  display: block;
  font-size: 11px;
}

.block-top-topic--body {
  margin-bottom: 60px;
}

.block-top-topic--items li {
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
}

.block-top-topic--items dl, .block-top-topic--items dt, .block-top-topic--items dd {
  display: inline;
}

.block-top-topic--items dt {
  margin-right: 10px;
}

.block-top-topic--next-page {
  text-align: right;
  margin-top: 20px;
}

.block-top-topic--next-page a {
  color: #6fb4c3;
  text-decoration: underline;
  font-size: 14px;
}

.block-top-topic--items img {
  vertical-align: middle;
}

.block-topic-page--article-icon {
  vertical-align: middle;
}

.block-topic-page--article figure {
  font-size: 0;
}

.block-topic-page--article figure img {
  padding-bottom: 10px;
}

.block-topic-details--items dl, .block-topic-details--items dt, .block-topic-details--items dd {
  display: inline;
}

.block-topic-details--items dt {
  margin-right: 10px;
}

.block-topic-details--items img {
  vertical-align: middle;
}

.block-topic-details--items li {
  border-bottom: #ddd 1px solid;
  padding: 10px 0;
}



/* ----最近見た商品---- */

.block-recent-item {
  width: 900px;
}

.block-recent-item--header {
  font-size: 28px;
  text-align: center;
  border-top: #444 2px solid;
  padding: 19px 0 30px;
}

.block-recent-item--items {
  width: 1180px;
}

.block-recent-item--keep-history {
  text-align: right;
  margin-top: 20px;
}

.block-recent-item--keep-history a {
  color: #6fb4c3;
  text-decoration: underline;
  font-size: 14px;
}


/* ----最近チェックした商品(ブランド)---- */

.block-brand-recent-item {
  width: 900px;
}

.block-brand-recent-item--header {
  font-size: 28px;
  text-align: center;
  border-top: #444 2px solid;
  padding: 19px 0 30px;
}

.block-brand-recent-item--items {
  width: 900px;
}

.block-brand-recent-item--keep-history {
  text-align: right;
  margin-top: 20px;
}

.block-brand-recent-item--keep-history a {
  color: #6fb4c3;
  text-decoration: underline;
  font-size: 14px;
}


/* ----最近チェックした商品(カート)---- */

.block-cart-recent-item {
  width: 1200px;
}

.block-cart-recent-item--header {
  font-size: 28px;
  text-align: center;
  border-top: #444 2px solid;
  padding: 19px 0 30px;
}

.block-cart-recent-item--items {
  width: 1200px;
}

.block-cart-recent-item--keep-history {
  text-align: right;
  margin-top: 20px;
}

.block-cart-recent-item--keep-history a {
  color: #6fb4c3;
  text-decoration: underline;
  font-size: 14px;
}


/* ----検索サジェスト---- */

.block-search-suggest {
  position: absolute;
  display: block;
  z-index: 1000;
  text-align: left;
  padding: 5px;
  width: 370px;
  background-color: #fff;
  border: 1px solid #000;
}

.block-search-suggest--keyword {
  padding: 2px;
}

.block-search-suggest--keyword-entry {
  display: block;
  text-decoration: none;
}

.block-search-suggest--goods {
  min-height: 60px;
  padding: 2px;
  display: block;
  clear: both;
}

.block-search-suggest--goods-img {
  display: block;
  float: left;
  width: 60px;
  margin-right: 10px;
}

.block-search-suggest--goods-img img {
  width: 60px;
  height: 60px;
}

.block-search-suggest--goods-name, .block-search-suggest--goods-comment, .block-search-suggest--goods-price-items {
  width: 100%;
}

.block-search-suggest--keyword:hover, .block-search-suggest--goods:hover {
  background-color: #dedede;
  cursor: pointer;
}


/* ----パンくず---- */

.block-topic-path {
  padding: 12px 0;
}

.block-topic-path--list li {
  display: inline-block;
  padding-right: 5px;
}

.block-topic-path--list a {
  text-decoration: underline;
}


/* ----左メニューブロック共通---- */

.pane-left-menu h2 {
  font-size: 16px;
  border-top: #444 1px solid;
  padding: 16px 0;
  font-weight: bold;
  margin-bottom: 0;
}

.pane-left-menu h3 {
  font-size: 14px;
  padding: 8px 0;
  font-weight: bold;
  border-bottom: #eee 1px solid;
  margin-bottom: 5px;
  cursor: pointer;
}


/* ----キーワード検索ブロック---- */

.block-search-box--search-detail a {
  color: #6fb4c3;
  text-decoration: underline;
}

.block-search-box--form {
  background-color: #eee;
  display: flex;
}

input.block-search-box--keyword:hover, input.block-search-box--keyword {
  border: none;
  background-color: transparent;
  flex-grow: 1;
}

button.block-search-box--search-submit {
  border: none;
  background-color: transparent;
  width: 33px;
}

.block-search-box--search-detail {
  margin: 5px 0;
}


/* ----Ajaxカートブロック---- */

.block-jscart--items {
  border-bottom: #eee 1px solid;
  margin-bottom: 5px;
}

.block-jscart--items dd {
  text-align: right;
}

.block-jscart--delete {
  text-align: right;
  margin-bottom: 5px;
}

.block-jscart--cart-to-order {
  text-align: center;
  margin-top: 15px;
}


/* ----エラー画面---- */

.block-validation-alert {
  text-align: center;
  margin: 100px auto;
  padding: 30px;
  width: 500px;
  border: 1px solid #808080;
}

.block-validation-alert--title {
  font-weight: bold;
  margin-bottom: 10px;
}

.block-validation-alert--link {
  display: block;
  margin-top: 10px;
}

.block-common-alert {
  margin-top: 40px;
  margin-bottom: 10px;
  padding: 20px;
  border: 1px solid #ebccd1;
  color: #a94442;
  background-color: #f2dede;
}

.block-common-alert--link {
  display: block;
  margin-top: 10px;
}

.block-common-alert-list {
  margin: 0 auto 20px;
  padding: 20px;
  border: 1px solid #999;
  background-color: #fff;
  width: 800px;
}

.block-common-alert-list--items {
  color: #a94442;
}


/* ----郵便番号サジェスト---- */

.block-ziplist--ziplist-frame {
  z-index: 2000;
}


/* ----サイクル情報編集---- */

.block-regular-cycle--cycle-sub-type {
  margin-bottom: 10px;
  padding: 10px;
  background: #f8f8f8;
  border: 1px solid #ccc;
}

.block-regular-cycle--deliv_date {
  width: 100%;
  margin: 20px 0;
}

.block-regular-cycle--deliv_date--prev-expected-dt {
  border-top: 1px dotted #ccc;
  border-left: 1px dotted #ccc;
  border-right: 1px dotted #ccc;
}

.block-regular-cycle--deliv_date--next-expected-dt {
  border: 1px dotted #ccc;
}

.block-regular-cycle--deliv_date--prev-expected-dt-title, .block-regular-cycle--deliv_date--next-expected-dt-title {
  padding: 8px;
  text-align: center;
  font-weight: bold;
  vertical-align: top;
  background-color: #f8f8f8;
  border-bottom: 1px dotted #ccc;
}

.block-regular-cycle--deliv_date--prev-expected-dt-date, .block-regular-cycle--deliv_date--next-expected-dt-date {
  padding: 8px;
  text-align: center;
  font-weight: bold;
  vertical-align: top;
}


/* ----会員規約画面---- */

.block-member-terms {
  width: 1000px;
  margin: 0 auto;
}

.block-member-terms--header {}

.block-member-terms--message {
  margin-bottom: 40px;
}

.block-member-terms--body {
  margin-top: 10px;
  margin-bottom: 40px;
  width: 100%;
}


/* ----会員登録画面---- */

.block-member-info-confirmation--message {
  margin-bottom: 40px;
}



/*登録時キャンペーンコード*/
p.legend:has(+ .block-member-info--message-promotion), .block-member-info--message-promotion, 
.block-member-info--items-promotion-code {
	display: none;
}


/* ----会員登録完了画面---- */

.block-member-registration-completed>p {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----会員情報変更画面---- */

.block-member-info--customer-name, .block-member-info-confirmation--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-member-info--message {
  margin-bottom: 30px;
}

/* ----アドレス帳の新規登録・変更---- */

.block-shipping-address-registration--message {
  margin-bottom: 30px;
}

.block-shipping-address--customer-name, .block-shipping-address-confirmation--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-shipping-address-confirmation--message {
  margin-bottom: 40px;
}

/* ----アドレス帳の新規登録・変更画面---- */

.block-shipping-address--value-label {
  display: inline-block;
  width: 60px;
  text-align: center;
}

.block-shipping-address input[name="name"], .block-shipping-address input[name="name2"], .block-shipping-address input[name="kana"], .block-shipping-address input[name="kana2"] {
  max-width: 200px;
}



/* ----購入履歴一覧---- */

.block-purchase-history--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-purchase-history--status a {
  display: block;
  text-decoration: none;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease;
}

.block-purchase-history--status a:hover {
  opacity: 0.8;
}

/* ----購入履歴一覧画面---- */

.block-purchase-history--table {
  margin: 5px 0;
  width: 100%;
}

.block-purchase-history--order-id a {}

.block-purchase-history--order-detail-reorder a {}

.block-purchase-history--status a:hover {
  text-decoration: none;
}

/* ----カスタム マイページ画面　購入履歴一覧（.block-purchase-history）---- */
/*この内容で再度購入*/
.block-purchase-history .block-purchase-history--order-detail-reorder {
	display: none;
}

/* ----テーブルタグ調整---- */
/* 1. テーブル全体の文字サイズと余白の調整 */
.block-purchase-history .block-purchase-history--table th,
.block-purchase-history .block-purchase-history--table td {
    font-size: 13px !important;
    padding: 10px 12px !important; 
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

/* 2. 各項目の改行防止と幅の最適化 */
/* 注文日 */
.block-purchase-history .block-purchase-history--order-dt {
    white-space: nowrap !important;
    width: 120px !important;
}

/* オーダーID */
.block-purchase-history .block-purchase-history--order-id {
    white-space: nowrap !important;
}

/* 注文金額合計 */
.block-purchase-history .block-purchase-history--total {
    white-space: nowrap !important;
}

/* 支払方法（見出しと中身） */
.block-purchase-history .block-purchase-history--method,
.block-purchase-history .block-purchase-history--table thead th:nth-child(5) {
    white-space: nowrap !important;
    min-width: 110px !important;
}

/* 3. 6番目の項目名を「手続き内容」に書き換え ＆ 左揃え */
.block-purchase-history .block-purchase-history--table thead th:nth-child(6) {
    font-size: 0 !important;
    width: 180px !important;
    text-align: left !important;
}

.block-purchase-history .block-purchase-history--table thead th:nth-child(6)::after {
    content: "手続き内容";
    font-size: 13px !important;
    display: block;
    font-weight: bold;
}

/* 中身のステータス部分も左揃え */
.block-purchase-history .block-purchase-history--status {
    text-align: left !important;
}

/* 4. 注文内容（商品名）：柔軟な幅調整 */
.block-purchase-history .block-purchase-history--order-detail {
    width: auto !important;
    word-break: break-all !important;
}

/* ---- テーブルタグ調整ここまで ---- */

/*上部の件数count*/
.block-purchase-history .block-purchase-history--pager-top {
	display: none;
}

/*ここまで*/


/* ----購入履歴詳細---- */

.block-purchase-history-detail--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-purchase-history-detail--shipping-info-items th {
  width: 10em;
}

.block-purchase-history-detail--shipment-item .block-purchase-history-detail--invoice {
  margin: 13px 0;
}

/* ----購入履歴詳細画面---- */

.block-purchase-history-detail--order-info {
  margin: 10px 0;
  display: flex;
  width: 100%;
}

.block-purchase-history-detail--order-info-left {
  width: 65%;
}

.block-purchase-history-detail--order-info-right {
  width: 35%;
  padding: 0 0 0 10px;
}

.block-purchase-history-detail--order-info-table {
  width: 100%;
}

.block-purchase-history-detail--order-info-table th {
  width: 250px;
}

.block-purchase-history-detail--order-body {
  margin: 10px 0;
  display: flex;
  width: 100%;
}

.block-purchase-history-detail--order-body-left {
  width: 65%;
}

.block-purchase-history-detail--order-body-right {
  width: 35%;
  padding: 0 0 0 10px;
}

.block-purchase-history-detail--order-detail-items {
  width: 100%;
}

.block-purchase-history-detail--payment-info-items {
  width: 100%;
}

.block-purchase-history-detail--point-message {
  margin: 5px 0;
}

.block-purchase-history-detail--shipping-info {
  margin: 10px 0;
  display: flex;
  width: 100%;
}

.block-purchase-history-detail--shipping-info-left {
  width: 65%;
}

.block-purchase-history-detail--shipping-info-right {
  width: 35%;
  padding: 0 0 0 10px;
}

.block-purchase-history-detail--sender-items {
  width: 100%;
}

.block-purchase-history-detail--shipping-info-items {
  width: 100%;
}

.block-purchase-history-detail--shiment-address {
  border: 1px solid #c8c8c8;
  padding: 20px;
  margin: 10px 0;
}

.block-purchase-history-detail--shipment-items {
  width: 100%;
}

.block-purchase-history-detail--csv-info-items {
  width: 100%;
  margin: 10px 0;
}

.block-purchase-history-detail--csv-info-items th {
  width: 250px;
}

.block-purchase-history-detail--invoice {
  margin: 5px 0;
  width: 100%;
}

.block-purchase-history-detail--invoice dt {
  display: inline-block;
  font-weight: bold;
}

.block-purchase-history-detail--invoice dd {
  display: inline-block;
}

.block-purchase-history-detail--track-shipment {
  margin: 5px 0;
  width: 100%;
}

.block-purchase-history-detail--track-shipment dt {
  display: inline-block;
  font-weight: bold;
}

.block-purchase-history-detail--track-shipment dd {
  display: inline-block;
}

.block-purchase-history-detail--append-items {
  width: 100%;
}

.block-purchase-history-detail--append-items th {
  width: 250px;
}

.block-purchase-history-detail .block-purchase-history-detail--add-goods {
  width: 300px;
}

.block-purchase-history-detail .block-purchase-history-detail--contact {
  width: 300px;
}

.block-purchase-history-detail .block-purchase-history-detail--cancel {
  width: 250px;
}

.block-purchase-history-detail--child-order-id a {
  text-decoration: underline;
}

.block-purchase-history-detail--parent-order-id a {
  text-decoration: underline;
}

.block-purchase-history-detail--regular-sales-include a {
  text-decoration: underline;
}

/* ----カスタム マイページ画面　購入履歴詳細（.block-purchase-history-detail）---- */

/* ポイント使用（値引き）の行を非表示 */
.table.block-purchase-history-detail--payment-info-items tr:has(.block-purchase-history-detail--charge-point) {
    display: none !important;
}
/* ポイント発生の行を非表示 */
.table.block-purchase-history-detail--payment-info-items tr:has(.block-purchase-history-detail--acquire-point) {
    display: none !important;
}
.block-purchase-history-detail--point-message {
	display: none;
}

/* ---- 購入履歴詳細：ボタン調整 ---- */
/* 1. 「もう一度購入する」ボタンを非表示 */
div.block-purchase-history-detail--requests-for-order div.action-buttons div.action:has(.block-purchase-history-detail--add-goods) {
    display: none !important;
}

/* 2. 横並びの指定をより強力に */
div.block-purchase-history-detail--requests-for-order div.action-buttons {
    display: flex !important;
    flex-direction: row !important; /* 横並びを明示 */
    justify-content: center !important;
    gap: 15px !important;
    margin: 30px 0 !important;
}

/* 3. 各ボタンの親(div.action)の幅をリセット */
div.block-purchase-history-detail--requests-for-order div.action-buttons div.action {
    float: none !important; /* もしfloatが残っていたら解除 */
    width: auto !important;
}

/* 4. ボタンのスタイル */
.block-purchase-history-detail--contact,
.block-purchase-history-detail--back {
    display: inline-block !important;
    min-width: 200px !important;
    text-align: center !important;
    padding: 12px 20px !important;
}

/*ここまで*/

/* ----会員IDの変更---- */

.block-member-id--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-member-id--completed-message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----パスワードの変更---- */

.block-member-password--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-member-password--update-completed-message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----お気に入り---- */

.block-favorite--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

/*非表示*/
.block-favorite .block-favorite--pager-top {
	display: none;
}

/* ----お問い合わせ履歴一覧---- */

.block-inquiry-history--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}


/* ----お問い合わせ履歴詳細---- */

.block-inquiry-history-detail--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-inquiry-history-detail--subject {
  font-size: 20px;
}

.block-inquiry-history-detail--title {
  background-color: #f5f5f5;
  padding: 20px 25px;
}

.block-inquiry-history-detail--title h2 {
  margin-top: 0;
  font-weight: bold;
  font-size: 18px;
}

.block-inquiry-history-detail .block-inquiry-history-detail--contact-name, .block-inquiry-history-detail .block-inquiry-history-detail--update-dt {
  font-size: 16px;
}


/* ----退会---- */

.block-withdrawal--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.form-group.block-withdrawal--pwd {
  border-bottom: #e5e5e5 1px solid;
}

.block-withdrawal--message {
  margin-bottom: 20px;
}

.block-withdrawal--completed-message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----ログアウト---- */

.block-logout--message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----メールアドレス変更---- */

.block-mail-address--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-mail-address--update-completed-message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----所持クーポン一覧---- */

.block-coupon-list--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}


/* ----定期購入商品一覧---- */

.block-regular-purcharse-list--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

/* ----定期購入商品一覧画面---- */

.block-regular-purcharse-list--table {
  margin: 5px 0;
  width: 100%;
}

.block-regular-purcharse-list--regular-sales a {
  text-decoration: underline;
}

/* ----カスタム 定期購入商品一覧---- */
/*非表示*/
/*商品を追加する*/
.block-regular-purcharse-list--info-add {
  display: none;
}

/*定期サイクル「変更」*/
.block-regular-purcharse-list--info-cycle a {
  display: none;
}

/*解約はこちら*/
dd.block-regular-purcharse-list--info ul li.block-regular-purcharse-list--info-withdrawal {
  display: none !important;
}

/*同梱物お知らせ*/
.block-regular-purcharse-list--benefits {
	display: none;
}
.block-regular-purcharse-list .pager {
	display: none;
}

.block-regular-purcharse-list .block-regular-purcharse-list--regular-list {
	margin: 20px 0px !important;
}

/*ここまで*/

/* ----定期購入商品詳細---- */

.block-regular-purcharse-detail--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-regular-purcharse-detail--cycle-update .block-regular-purcharse-detail--update-cycle {
  margin-left: 15px;
}

.block-regular-purcharse-detail--body .block-regular-purcharse-detail--shipment-address {
  padding: 20px;
}

.block-regular-purcharse-detail--body .block-regular-purcharse-detail--action-message {
  margin: 30px 0 15px 0;
}

/* ----定期購入商品詳細画面---- */

.block-regular-purcharse-detail--body {
  margin: 10px 0;
  width: 100%;
}

.block-regular-purcharse-detail--regular-sales-items {
  width: 100%;
}

.block-regular-purcharse-detail--regular-sales-items th {
  width: 250px;
}

.block-regular-purcharse-detail--shipment-address {
  border: 1px solid #c8c8c8;
  padding: 10px;
  margin: 10px 0;
}

.block-regular-purcharse-detail--update-address {
  margin: 10px 0;
  text-align: right;
}

.block-regular-purcharse-detail--goods-items {
  width: 100%;
}

.block-regular-purcharse-cycle-info-update--goods-img, .block-regular-purcharse-detail--goods-img {
  width: 200px;
}

.block-regular-purcharse-detail--append-items {
  width: 100%;
}

.block-regular-purcharse-detail--append-items th {
  width: 250px;
}

.block-regular-purcharse-detail--include-items {
  width: 100%;
}

.block-regular-purcharse-detail--include-items th {
  width: 250px;
}

.block-regular-purcharse-detail--action-message {
  margin-top: 10px;
}

.block-regular-purcharse-list--order-id a {
  text-decoration: underline;
}

/* ----カスタム 定期購入商品詳細 商品変更---- */
/*ボタン幅の調整*/
/* 1. 説明文エリア（dd）：全体を左揃えベースに戻す */
.block-goodschange-list .block-thumbnail-t--goods-description {
    margin-left: 0 !important;
    padding: 10px 0 !important;
    text-align: left !important; /* 基本は左揃え */
    width: 100% !important;
}

/* 2. 商品名と価格：左揃えを維持（念のため明示） */
.block-goodschange-list .block-thumbnail-t--goods-name,
.block-goodschange-list .block-thumbnail-t--price-infos {
    text-align: left !important;
    margin-bottom: 8px !important;
}

/* 3. ボタンを包むエリア：ここだけ「中央寄せ」を適用 */
.block-goodschange-list .block-thumbnail-t--goods-description form,
.block-goodschange-list .block-thumbnail-t--goods-description .action {
    width: 100% !important;
    text-align: center !important; /* この中にあるボタンだけが中央へ */
    display: block !important;
    margin: 15px 0 0 0 !important;
    padding: 0 !important;
}

/* 4. ボタン本体：サイズ固定 ＋ 中央配置 */
.block-goodschange-list .block-thumbnail-t--goods-description .action .btn {
    min-width: 0 !important; 
    width: 180px !important;      /* 幅を180pxに固定 */
    padding: 12px 0 !important;
    font-size: 14px !important;
    display: inline-block !important; /* text-align:centerの影響を受ける状態にする */
}

/*ここまで*/


/* ----定期購入商品配送先変更---- */

.block-regular-purcharse-shipment-info-update--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}


/* ----定期購入商品解約---- */

.block-regular-purcharse-cancellation--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-regular-purcharse-cancellation--message {
  margin-top: 50px;
}




/* ----ポイント履歴一覧---- */

.block-point-history-list--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}


/* ----入荷案内申し込み商品---- */

.block-arrival-notice-list--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}


/* ----入荷案内申し込み商品---- */

.block-credit-card-confirmation--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-credit-card-confirmation--message {
  margin-bottom: 20px;
}


/* ----カード情報変更---- */

.block-update-credit-card-info--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}

.block-update-credit-card-info--message {
  margin-bottom: 20px;
}


/* ----ご注文キャンセル---- */

.block-order-cancellation--body .legend {
  margin-top: 0;
}


/* ----ご注文キャンセル完了---- */

.block-order-cancellation-completed--message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----定期購入商品サイクル情報変更---- */

.block-regular-purcharse-cycle-info-update--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 30px;
}


/* ----ユーザーレビュー---- */

.block-user-review-completed--message-header {
  text-align: center;
  margin-top: 80px;
}

.block-user-review-completed--message {
  text-align: center;
  margin-bottom: 80px;
}


/* ----パスワード再設定---- */

.block-reset-password--message {
  margin-bottom: 30px;
}

.block-reset-password-completed--message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----パスワード再設定---- */

.block-update-new-password--message {
  margin-bottom: 30px;
}

.block-reset-new-password--completed-message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----お問い合わせ---- */

.block-inquiry--customer-name, .block-inquiry-completed--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin: 30px 0;
}

.block-inquiry-completed--message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}

.form-group.block-inquiry--inquiry-body .constraint, .form-group.block-inquiry--inquiry-body .form-label {
  vertical-align: middle !important;
}


/* ----アンケート---- */

.block-questionnaire--customer-name, .block-questionnaire-completed--customer-name {
  font-size: 16px;
  font-weight: bold;
  margin: 30px 0;
}

.block-questionnaire-completed--message {
  margin: 80px 0;
  text-align: center;
  line-height: 200%;
}


/* ----マイページ画面---- */

.block-mypage {
  overflow: hidden;
}

.block-mypage--customer-status {
  background: #444;
  border-radius: 3px;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 8px 0;
  margin-bottom: 40px;
}

.block-mypage--sign {
  flex-grow: 1;
  text-align: center;
  padding: 8px 0;
  border-right: #fff 1px solid;
}

.block-mypage--mypoint {
  flex-grow: 2;
  font-size: 18px;
  padding-left: 34px;
}

.block-mypage--rank-status {
  display: flex;
  align-items: center;
  flex-grow: 2;
  justify-content: flex-end;
}

.block-mypage--rank-condition dl {
  display: flex;
  align-items: center;
}

.block-mypage--customer-name {
  font-size: 18px;
}

.block-mypage--logout {
  font-size: 14px;
}

.block-mypage--mypoint-duedate {
  font-size: 14px;
}

.block-mypage--logout a {
  color: #fff;
}

.block-mypage--mypoint-duedate {
  display: block;
}

.block-mypage--rank-info {
  border: #fff 1px solid;
  text-align: center;
  padding: 12px 18px 13px;
}

.block-mypage--rank-title {
  font-size: 12px;
}

.block-mypage--rank-name {
  font-size: 14px;
}

.block-mypage--rank-condition {
  padding: 0 10px 0 17px;
}

.block-mypage--rank-condition-1 {
  margin-bottom: 2px;
}

.block-mypage--rank-condition-1-title, .block-mypage--rank-condition-2-title {
  background: #fff;
  color: #444;
  text-align: center;
  padding: 1px 5px;
  border-radius: 2px;
  font-size: 12px;
  margin-right: 5px;
}

.block-mypage--rank-condition-1-title i, .block-mypage--rank-condition-2-title i {
  padding-right: 3px;
}

.block-mypage--customer-barcode {
  text-align: center;
  padding: 10px;
}

.block-mypage--customer-barcode #customer_barcode_>div {
  margin: 0 auto;
}

.block-mypage--recommend {
  padding: 10px;
  text-align: right;
}

.block-mypage--recommend a {
  text-decoration: underline;
}







.block-mypage--shopping-info, .block-mypage--member-info, .block-mypage--inquiry-info, .block-mypage--snssync-info {
  font-size: 18px;
  font-weight: bold;
  padding: 15px 20px;
  background: #f5f5f5;
  margin-bottom: 10px;
}

.block-mypage--shopping-info i, .block-mypage--member-info i, .block-mypage--inquiry-info i, .block-mypage--snssync-info i {
  padding-right: 15px;
}

.block-mypage--shopping-info-items, .block-mypage--member-info-items, .block-mypage--inquiry-info-items, .block-mypage--snssync-info-items {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.block-mypage--shopping-info-items li, .block-mypage--member-info-items li, .block-mypage--inquiry-info-items li, .block-mypage--snssync-info-items li {
  width: calc(100% / 4);
  width: -moz-calc(100% / 4);
  width: -webkit-calc(100% / 4);
  padding: 0 15px;
  margin-bottom: 30px;
  max-width: inherit;
  flex-grow: inherit;
  border: initial;
  margin: initial;
}

.block-mypage--shopping-info-items li:nth-of-type(4n+1), .block-mypage--member-info-items li:nth-of-type(4n+1), .block-mypage--inquiry-info-items li:nth-of-type(4n+1), .block-mypage--snssync-info-items li:nth-of-type(4n+1) {
  margin-left: 0;
}

.block-mypage--shopping-info-items li dt, .block-mypage--member-info-items li dt, .block-mypage--inquiry-info-items li dt, .block-mypage--snssync-info-items li dt {
  border-bottom: #c8c8c8 1px solid;
  display: block;
}

.block-mypage--shopping-info-items li dt a, .block-mypage--member-info-items li dt a, .block-mypage--inquiry-info-items li dt a, .block-mypage--snssync-info-items li dt a {
  font-size: 15px;
  font-weight: bold;
  padding: 12px 30px 12px 0;
  display: flex;
  text-decoration: none;
  position: relative;
}

.block-mypage--shopping-info-items li dt a:after, .block-mypage--member-info-items li dt a:after, .block-mypage--inquiry-info-items li dt a:after, .block-mypage--snssync-info-items li dt a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 8px;
  height: 8px;
  border-top: 1px #444 solid;
  border-right: 1px #444 solid;
  transform: rotate(45deg);
  margin: -5px 0 0 0;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease;
}

.block-mypage--shopping-info-items li dt a:hover:after, .block-mypage--member-info-items li dt a:hover:after, .block-mypage--inquiry-info-items li dt a:hover:after, .block-mypage--snssync-info-items li dt a:hover:after {
  right: 11px;
}

.block-mypage--shopping-info-items li dt i, .block-mypage--member-info-items li dt i, .block-mypage--inquiry-info-items li dt i, .block-mypage--snssync-info-items li dt i {
  display: none;
  /*margin: 0 10px 0 auto;*/
}

.block-mypage--shopping-info-items li dt a:hover, .block-mypage--member-info-items li dt a:hover, .block-mypage--inquiry-info-items li dt a:hover, .block-mypage--snssync-info-items li dt a:hover {
  text-decoration: none;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease;
}

.block-mypage--shopping-info-items li dd, .block-mypage--member-info-items li dd, .block-mypage--inquiry-info-items li dd, .block-mypage--snssync-info-items li dd {
  padding: 16px 10px 16px 0;
}

.block-mypage--withdrawal-link {
  text-align: right;
  color: #444;
}

.block-mypage--withdrawal {
  text-decoration: underline;
  color: #444;
}

.block-mypage--update-address-book {
  display: block;
  width: 100%;
  height: auto;
  background: #ddd;
  border-radius: 3px;
  text-align: center;
  padding: 5px 0;
  margin: 8px auto 0 auto;
  text-decoration: none;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease;
}

.block-mypage--update-address-book:hover {
  opacity: 0.8;
}

/* ----カスタム マイページ画面---- */
.block-mypage--customer-status {
  background: none; 
  color: #333;
  display: block; 
  padding: 10px 0px 0px 10px;
  margin-bottom: 30px;
  border-bottom: 1px solid #eee; 
}


.block-mypage--sign {
  display: flex;
  align-items: center;
  gap: 10px; /* 名前とログアウトの間の隙間 */
  text-align: left;
  border-right: none; 
}

.block-mypage--customer-name {
  font-weight: bold;
  font-size: 16px;
}

.block-mypage--logout {
  font-size: 13px;
}

.block-mypage--logout a {
  color: #666;
  text-decoration: none;
}

.block-mypage--logout a:hover {
  text-decoration: underline;
}


/* --- マイページなどのアイコン付きタイトル向け微調整 --- */
.block-icon-image--flex-align-left {
  display: flex !important;
  align-items: center !important; 
  justify-content: flex-start !important; 
  gap: 8px !important;
}

.block-icon-image--flex-align-left .block-icon-image--flex-cell:first-child {
  margin-right: 8px !important; 
}

.block-icon-image--flex-align-left .block-icon-image--flex-cell {
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important; 
}

/*非表示 クーポン、ポイント*/
.block-mypage--mypoint {
	display: none;
}

.block-mypage--shopping-info-item-coupon-list, .block-mypage--shopping-info-item-point-history {
	display: none;
}

/*ここまで*/

/* SNS連動設定モーダル */

.modal--snssync-menu {
  width: 660px;
  margin: auto;
  overflow: hidden;
  zoom: 1;
}


.modal--snssync-menu .snslogin {
  display: inline-block;
  margin: 0;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  white-space: nowrap;
  height: 50px;
  background-color: transparent;
  border: none;
}

.modal--snssync-menu .sns_logo {
  width: 40px;
  height: 38px;
  display: inline-block;
  vertical-align: middle;
  float: left;
}

.modal--snssync-menu .snslogin-contents {
  float: left;
}

.modal--snssync-menu-contents-facebook .sns_logo {
  background: #3b579d url(../../img/sys/snslogin/facebook.png) no-repeat;
  background-size: 40px 40px;
}

.modal--snssync-menu-contents-twitter .sns_logo {
  background: #55acee url(../../img/sys/snslogin/twitter.png) no-repeat;
  background-size: 40px 40px;
}

.modal--snssync-menu-contents-gplus .sns_logo {
  background: #de4f3e url(../../img/sys/snslogin/gplus.png) no-repeat;
  background-size: 40px 40px;
}

.modal--snssync-menu-contents-yahoo .sns_logo {
  background: #e61017 url(../../img/sys/snslogin/yahoo.png) no-repeat;
  background-size: 38px 38px;
  width: 38px;
  height: 38px;
  border: 1px solid #e61017;
}

.modal--snssync-menu-contents-line .sns_logo {
  background: #00b900 url(../../img/sys/snslogin/line.png) no-repeat;
  background-size: 40px 40px;
}

.modal--snssync-menu button:focus {
  outline: none;
}

.modal--snssync-menu:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0;
}

.modal--snssync-menu .sns_word {
  width: 195px;
  height: 38px;
  line-height: 38px;
  float: left;
  text-align: left;
  padding: 0 10px;
  margin-left: 1px;
  border-left: solid 1px #ccc;
}

.modal--snssync-menu .snslogin_btn_width {
  width: 280px;
}

.modal--snssync-menu-contents-line .sns_word {
  border: solid 1px #00b900;
}

.modal--snssync-menu-contents-facebook .sns_word {
  border: solid 1px #3b579d;
}

.modal--snssync-menu-contents-twitter .sns_word {
  border: solid 1px #55acee;
}

.modal--snssync-menu-contents-gplus .sns_word {
  border: solid 1px #de4f3e;
}

.modal--snssync-menu-contents-yahoo .sns_word {
  border: solid 1px #e61017;
}

.modal--snssync-menu-contents-line .snssync-release .sns_word {
  background: #00b900;
  color: #fff;
}

.modal--snssync-menu-contents-facebook .snssync-release .sns_word {
  background: #3b579d;
  color: #fff;
}

.modal--snssync-menu-contents-twitter .snssync-release .sns_word {
  background: #55acee;
  color: #fff;
}

.modal--snssync-menu-contents-gplus .snssync-release .sns_word {
  background: #de4f3e;
  color: #fff;
}

.modal--snssync-menu-contents-yahoo .snssync-release .sns_word {
  background: #e61017;
  color: #fff;
}

.modal--snssync-menu {
  margin: 15px;
}


/* マイページ用 > line友達登録用 */

.snslogin-line-friends .snslogin-line-friend-message {
  margin-bottom: 10px;
}

.snslogin-line-friends form {
  float: left;
}

.snslogin-line-friends .snslogin_btn_width {
  color: #fff;
  width: 160px;
  margin: 0 16px;
}

.snslogin-line-friends .snslogin-line-friend-sns_word {
  width: 100%;
  height: 40px;
  line-height: 40px;
  float: left;
  text-align: center;
  margin-left: 1px;
}

.snslogin-line-friend-yes .snslogin-line-friend-sns_word {
  background: #232323;
}

.snslogin-line-friend-no .snslogin-line-friend-sns_word {
  background: #9a9a9a;
}


/* ----会員登録画面---- */

.block-member-info--value-label {
  display: inline-block;
  width: 60px;
  text-align: center;
}

.block-member-info input[name="name"], .block-member-info input[name="name2"], .block-member-info input[name="kana"], .block-member-info input[name="kana2"] {
  max-width: 200px;
}




/* ----ログイン画面---- */

.block-login .block-login--member-header, .block-login .block-login--first-time-header, .block-login .common_headline2_area_ {
  padding-bottom: 25px;
  margin-bottom: 30px;
}

.block-login .block-login--member-header span, .block-login .block-login--first-time-header span, .block-login .common_headline2_area_ span {
  font-size: 22px;
}

.block-login--member {
  margin-bottom: 20px;
}

.block-login--first-time {
  padding: 20px;
  border: 1px #dcdcdc solid;
  border-radius: 4px;
}

.block-login--first-time:first-child {
  margin-bottom: 20px;
}

.block-login--member-message {
  text-align: center;
  margin: 0 auto 20px auto;
}

.block-login--first-time-message {
  text-align: center;
  margin: 0 auto 20px auto;
}

.block-login--input-items {
  margin: 50px auto 20px;
}

.block-login--uid .form-label, .block-login--pwd .form-label {
  width: 138px;
}

.block-login--login-state-saving {
  margin-top: 35px;
  text-align: center;
}

.block-login--amazon-message {
  text-align: center;
}

.block-login--login {
  margin-top: 10px;
  padding: 12px 0;
  font-size: 16px;
  width: 160px;
}

.block-login--body .action .btn {
  width: 300px;
}

.block-login--entry {
  margin-top: 10px;
  padding: 12px 0;
  font-size: 16px;
  width: 160px;
}

.block-login--first-time-body {
  overflow: hidden;
  background: #fff;
}

.block-login--first-time hr {
  margin-top: 20px;
  margin-bottom: 20px;
}

.block-login--member-body {
  display: inherit;
  width: 100%;
  overflow: hidden;
  background: #fff;
  margin: inherit;
}

.block-login--member-frame {
  display: table;
  margin-top: 40px;
  margin-bottom: 20px;
  padding: 20px;
  border: 1px #dcdcdc solid;
  border-radius: 4px;
  width: 100%;
  margin-right: 0;
}

.block-login--member-frame .block-login--input-items {
  width: 880px;
}

.block-login--social-frame {
  display: table-cell;
  padding-left: 0;
  width: 1200px;
}

.block-login--amazon-body {
  display: block;
  width: inherit;
}

.block-login--amazon-login {
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: center;
}

.block-login--body h2 {
  text-align: center;
  line-height: 140%;
  padding-bottom: 35px;
  margin-bottom: 50px;
  position: relative;
  letter-spacing: 0.1em;
}

.block-login--body h2 span:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2em;
  margin-left: -1em;
  height: 2px;
  background-color: #000000 !important;
}

.block-login--guest {
  margin-top: 10px;
  padding: 12px 0;
  font-size: 16px;
  width: 240px;
}

.block-login--member-info-value-label {
  display: inline-block;
  width: 60px;
  text-align: center;
}


/******************************/

.block-login--snslogin-body {
  width: 95%;
  margin: auto;
  padding: 0 0 15px 0;
  overflow: hidden;
  zoom: 1;
}

.block-login--snslogin-body:after {
  clear: both;
}

.block-login--snslogin-body ul {
  justify-content: inherit;
  align-items: center;
  margin-left: inherit;
}

.block-login--snslogin-body ul li {
  float: left;
  width: 220px;
}

.block-login--snslogin-contents-btn {
  display: inline-block;
  margin: 0;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  white-space: nowrap;
  width: 230px;
  height: 50px;
  background-color: transparent;
  border: none;
}

.block-login--snslogin-contents-btn button:focus {
  outline: none;
}

.block-login--snslogin-text {
  text-align: center;
  margin-bottom: 20px;
}

.block-login--snslogin-body .sns_logo {
  width: 40px;
  height: 40px;
  display: inline-block;
  vertical-align: middle;
  float: left;
}

.block-login--snslogin-contents-facebook .sns_logo {
  background: #3b579d url(../../img/sys/snslogin/facebook.png) no-repeat;
  background-size: 40px 40px;
}

.block-login--snslogin-contents-twitter .sns_logo {
  background: #55acee url(../../img/sys/snslogin/twitter.png) no-repeat;
  background-size: 40px 40px;
}

.block-login--snslogin-contents-gplus .sns_logo {
  background: #de4f3e url(../../img/sys/snslogin/gplus.png) no-repeat;
  background-size: 40px 40px;
}

.block-login--snslogin-contents-yahoo .sns_logo {
  background: #e61017 url(../../img/sys/snslogin/yahoo.png) no-repeat;
  background-size: 39px 39px;
  border: 1px solid #e61017;
  width: 41px;
  height: 40px;
}

.block-login--snslogin-contents-line .sns_logo {
  background: #00b900 url(../../img/sys/snslogin/line.png) no-repeat;
  background-size: 40px 40px;
}

.block-login--snslogin-body .sns_word {
  width: 160px;
  height: 40px;
  line-height: 40px;
  float: left;
  text-align: left;
  padding: 2px 6px;
  margin-left: 1px;
  border-left: solid 1px #ccc;
  font-size: 85%;
  color: #fff;
}

.block-login--snslogin-contents-line .sns_word {
  background: #00b900;
}

.block-login--snslogin-contents-facebook .sns_word {
  background: #3b579d;
}

.block-login--snslogin-contents-twitter .sns_word {
  background: #55acee;
}

.block-login--snslogin-contents-gplus .sns_word {
  background: #de4f3e;
}

.block-login--snslogin-contents-yahoo .sns_word {
  background: #e61017;
}

/* ----カスタム ログイン画面---- */
/*amazonコメント変更*/
.block-login .block-cart--amazonpay-description {
    font-size: 0; /* 元のテキストをサイズ0にして見えなくする */
}

.block-login .block-cart--amazonpay-description::before {
    content: "AmazonIDとパスワードで、ご購入いただけます。";
    font-size: 14px; /* ここで本来表示したいサイズに戻す */
    display: block;  /* 必要に応じてブロック要素化 */
}

.block-login--first-time-message {
	display: none;
}

/* ----追加認証画面---- */

.block-additional-authentication {
  height: 510px;
}

.block-additional-authentication--body {
  padding: 20px;
  overflow: hidden;
  border: solid 1px #dcdcdc;
  background: #fff;
}

.block-additional-authentication--message-header {
  font-size: 14px;
  font-weight: bold;
  padding: 0 50px;
}

.block-additional-authentication--message {
  padding: 10px 50px 30px 50px;
}

.block-additional-authentication--input-items {
  width: 600px;
  margin: 10px auto;
}

.block-additional-authentication--authentication-key input[type="text"] {
  width: 330px;
}

.block-additional-authentication--login {
  margin-top: 10px;
  padding: 12px 0;
  font-size: 16px;
  width: 160px;
}


/* ----お気に入り画面---- */

.block-favorite--form li {
  border: 1px solid #ccc;
  border-top: none;
  padding: 20px;
}

.block-favorite--form li:first-child {
  border-top: 1px solid #ccc;
}

.block-favorite--favorite-goods {
  display: flex;
  width: 100%;
}

.block-favorite--checkbox, .block-favorite--delete-item {
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.block-favorite--checkbox {
  flex-basis: 30px;
  padding-right: 10px;
}

.block-favorite--checkbox input[type="checkbox"] {
  display: block;
}

.block-favorite--image {
  flex-basis: 160px;
}

.block-favorite--description {
  flex-basis: 280px;
}

.block-favorite--comment-textarea {
  width: 540px;
  height: 75px;
}

.block-favorite--comment {
  flex-basis: 580px;
  margin: 0 20px;
}

.block-favorite--delete-item {
  flex-basis: 80px;
  text-align: center;
}

.block-favorite--image figure {
  background: #f5f5f5;
  width: 142px;
  height: 142px;
}

.block-favorite--goods-name a {
  color: #000;
}

.block-favorite--edit-comment a {}

.block-favorite--price-items {
  padding-top: 10px;
}

.block-favorite--price-title, .block-favorite--price {
  display: inline-block;
}

.block-favorite--update-dt dt, .block-favorite--update-dt dd {
  display: inline-block;
}


/* ----入荷案内申し込み商品画面---- */

.block-arrival-notice-list--form li {
  margin-bottom: 20px;
}

.block-arrival-notice-list--goods {
  display: flex;
  width: 100%;
}

.block-arrival-notice-list--image {
  flex-basis: 160px;
}

.block-arrival-notice-list--description {
  flex-grow: 1;
}

.block-arrival-notice-list--delete-item {
  flex-basis: 80px;
  text-align: center;
}

.block-arrival-notice-list--image figure {
  background: #f5f5f5;
  width: 142px;
  height: 142px;
}

.block-arrival-notice-list--goods-name a {
  color: #000;
}

.block-arrival-notice-list--price-title, .block-arrival-notice-list--price {
  display: inline-block;
}

.block-arrival-notice-list--update-dt dt, .block-arrival-notice-list--update-dt dd {
  display: inline-block;
}





/* ----ご注文キャンセル画面---- */

.block-order-cancellation--order-info {
  margin: 10px 0 30px 0;
  display: flex;
  width: 100%;
}

.block-order-cancellation--order-info-left {
  width: 60%;
}

.block-order-cancellation--order-info-right {
  width: 40%;
  padding: 0 0 0 30px;
}

.block-order-cancellation--shiment-address {
  border: 1px solid #c8c8c8;
  padding: 20px;
  margin: 10px 0;
}

.block-order-cancellation--payment-info-items {
  width: 100%;
}

.block-order-cancellation--order-items {
  width: 100%;
}







/* ----定期購入商品カード情報確認画面---- */

.block-regular-purchase-creditcard-info-confirmation--regular-purchase-items {
  width: 100%;
}

.block-regular-purchase-creditcard-info-confirmation--regular-purchase-items th {
  width: 250px;
}

.block-regular-purchase-creditcard-info-confirmation--goods-table {
  width: 100%;
  margin: 10px 0;
}

.block-regular-purchase-creditcard-info-confirmation--card-info-items {
  width: 100%;
}

.block-regular-purchase-creditcard-info-confirmation--card-info-items th {
  width: 250px;
}


/* ----定期購入商品カード情報変更画面---- */

.block-update-regular-purchase-creditcard-info--regular-purchase-info-items {
  width: 100%;
}

.block-update-regular-purchase-creditcard-info--regular-purchase-info-items th {
  width: 250px;
}

.block-update-regular-purchase-creditcard-info--goods-table {
  width: 100%;
  margin: 10px 0;
}


/* ----定期購入商品配送先変更画面---- */

.block-regular-purcharse-shipment-info-update--new-address, .block-regular-purcharse-shipment-info-update--old-address {
  border: 1px solid #c8c8c8;
  padding: 20px;
  margin: 10px 0;
}

.block-regular-purcharse-shipment-info-update--new-destination {
  margin-bottom: 30px;
}

.block-regular-purcharse-shipment-info-update--old-info-message {
  margin-top: 20px;
}


/* ----定期購入商品サイクル情報変更画面---- */

.block-regular-purcharse-cycle-info-update h3 {
  font-size: 14px;
  color: #333;
  font-weight: bold;
  margin: 0 0 12px 0;
}

.block-regular-purcharse-cycle-info-update--body {
  margin: 10px 0;
  width: 100%;
}

.block-regular-purcharse-cycle-info-update--regular-sales-items {
  width: 100%;
}

.block-regular-purcharse-cycle-info-update--regular-sales-items th {
  width: 250px;
}



.block-regular-purcharse-cycle-info-update--shipment-address {
  border: 1px solid #c8c8c8;
  padding: 20px;
  margin: 10px 0;
}

.block-regular-purcharse-cycle-info-update--goods-items {
  width: 100%;
}


/* ----定期購入商品解約画面---- */

.block-regular-purcharse-cancellation--goods-items {
  margin: 10px 0;
  width: 100%;
}

.block-regular-purcharse-cancellation--message {
  text-align: center;
}


/* ----カード情報確認画面---- */

.block-credit-card-confirmation--credit-card-info-table {
  width: 100%;
}

.block-credit-card-confirmation--credit-card-info-table th {
  width: 250px;
}


/* ----お問い合わせ画面---- */

.block-inquiry--inquiry-body .form-label, .block-inquiry--inquiry-body .constraint {
  vertical-align: top;
  padding-top: 8px;
}


/* ----お問い合わせ履歴一覧画面---- */

.block-inquiry-history--body {
  border-top: 1px solid #c8c8c8;
}

.block-inquiry-history--body li {
  margin: 5px 0;
  padding: 15px 0;
  border-bottom: 1px solid #c8c8c8;
}

.block-inquiry-history--body li span {
  margin: 0 10px 0 0;
}


/* ----お問い合わせ履歴詳細画面---- */

.block-inquiry-history-detail--form {
  margin: 50px 0;
}

.block-inquiry-history-detail--message {
  text-align: center;
}

.block-inquiry-history-detail--inquiry-body {
  margin: 20px 0;
}

.block-inquiry-history-detail--inquiry-body textarea {
  width: 100%;
}

.block-inquiry-history-detail--item dt {
  width: 100%;
  display: flex;
}

.block-inquiry-history-detail--contact-name {
  width: 80%;
}

.block-inquiry-history-detail--update-dt {
  width: 20%;
  text-align: right;
  font-weight: normal;
}

.block-inquiry-history-detail--message-confirm {
  text-align: center;
}

.block-inquiry-history-detail--inquiry-body-confirm {
  margin: 20px 0;
  padding: 10px;
  border: 1px solid #c8c8c8;
}


/* ----ポイント履歴一覧画面---- */

.block-point-history-list--point {
  font-size: 20px;
  font-weight: bold;
  margin: 0 5px;
}

.block-point-history-list--message {
  margin: 5px 0;
}

.block-point-history-list--items {
  margin: 5px 0;
  width: 100%;
}


/* ----所持クーポン一覧画面---- */

.block-coupon-list--table {
  margin: 5px 0;
  width: 100%;
}

.block-coupon-list--coupon-dt {
  white-space: nowrap;
  width: 300px;
}


/* ----店舗クーポン一覧画面---- */

.block-store-coupon-list--table {
  margin: 5px 0;
  width: 100%;
}

.block-store-coupon-list--coupon-dt {
  white-space: nowrap;
  width: 300px;
}


/* ----ログアウト画面---- */

.block-logout--message a {
  text-decoration: underline;
}


/* ----パスワード再設定---- */

.block-reset-password--tel {
  border-bottom: 1px solid #e5e5e5;
}


/* ----注文フローステップ---- */

.block-order-flow--step {
  padding: 50px 0;
  text-align: center;
}

.block-order-flow--step ul {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  display: table;
  table-layout: fixed;
  width: 100%;
}

.block-order-flow--step1, .block-order-flow--step2, .block-order-flow--step3, .block-order-flow--step4, .block-order-flow--step5 {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  height: 60px;
  padding: 0 27px;
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: bold;
}

.block-order-flow--step1:before {
  content: "STEP1";
}

.block-order-flow--step2:before {
  content: "STEP2";
}

.block-order-flow--step3:before {
  content: "STEP3";
}

.block-order-flow--step4:before {
  content: "STEP4";
}

.block-order-flow--step5:before {
  content: "STEP5";
}

.block-order-flow--step1:before, .block-order-flow--step2:before, .block-order-flow--step3:before, .block-order-flow--step4:before, .block-order-flow--step5:before {
  display: inline;
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px #3a3a3a solid;
}

.block-order-flow--step1:after, .block-order-flow--step2:after, .block-order-flow--step3:after, .block-order-flow--step4:after, .block-order-flow--step5:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;

  border-width: 30px 0 30px 18px;
  border-color: #fff #fff #fff #ebebeb;
  opacity: 0;
}

.block-order-flow--step-current {
  background-color: #ebebeb;
  padding-right: 40px;
  color: #444;
}

.block-order-flow--step-current:after {
  opacity: 1;
}


/* ----注文フロー右サイドエリア----*/

.block-cart--container, .block-order-method--container, .block-order-estimate--container {
  position: relative;
}

.block-cart--container .order-side-area-fixed, .block-order-method--container .order-side-area-fixed, .block-order-estimate--container .order-side-area-fixed {
  display: inline-block;
  position: fixed;
  top: 20px;
  left: 50%;
  margin: 0 0 0 250px;
  z-index: 1;
}

.block-cart--container .order-side-area-end, .block-order-method--container .order-side-area-end, .block-order-estimate--container .order-side-area-end {
  position: absolute;
  bottom: 0;
  right: 0;
}


/* ----カートアイテム ---- */

.block-cart--infomation {
  background: #fff;
  border: 1px solid #999;
  margin: 20px auto;
  padding: 20px;
  text-align: left;
  width: 800px;
}

.block-cart--order-button-description {
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}

.block-cart--amazonpay {
  border-top: 1px solid #9f9c97;
  padding: 0;
  margin-top: 25px;
  margin-bottom: 10px;
  text-align: center;
}

.block-cart--amazonpay-description {
  text-align: left;
  font-size: 13px;
  margin: 25px 0 15px 0;
}

.block-cart--container {
  position: relative;
  overflow: hidden;
}

.block-cart--goods-list-image {
  float: left;
  margin: 0 20px 0 0;
  background: #f5f5f5;
  width: 200px;
  height: 200px;
}

.block-cart--goods-list-item-name {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
}

.block-cart .block-icon {
  margin: 0 15px 0 0;
}

.block-cart--goods-list-item {
  float: left;
  width: 370px;
  margin: 8px 0 8px 0;
}

.block-cart--goods-list-item-price-info {
  float: left;
  width: 100px;
  text-align: right;
  margin: 8px 15px 0 10px;
  font-size: 16px;
  font-weight: bold;
}

.block-cart--goods-list-item-price {
  color: #333;
}

.block-cart--goods-list-item-input {
  float: right;
  width: 100px;
}

.block-cart--goods-list-item-qty {
  position: relative;
  margin: 0 0 10px 0;
}

.block-cart--goods-list-item-qty input {
  width: 100%;
  padding: 6px 10px 6px 10px;
}

.block-cart--goods-list-item-qty:after {
  position: absolute;
  top: 6px;
  right: 28px;
  content: "";
  width: 1px;
  height: 28px;
  background: #ccc;
}

.block-cart--goods-list-item-qty-plus {
  position: absolute;
  top: 6px;
  right: 10px;
}

.block-cart--goods-list-item-qty-minus {
  position: absolute;
  top: 21px;
  right: 10px;
}

.block-cart--goods-list-item-calc-btn {
  display: block;
  margin: 0 0 10px 0;
  width: 100%;
}

.block-cart--goods-list-item-delete {
  cursor: pointer;
  color: #333;
  font-size: 14px;
  border: none;
  text-decoration: underline;
  background: none;
  width: 100%;
}

.block-cart--goods-list-item-delete:hover {
  text-decoration: none;
}

.block-cart--goods-list-item-comment {
  padding: 20px 0 15px;
}


/* カート左エリア */

.block-cart--contents {
  width: 840px;
  float: left;
  background: #fff;
}

.block-cart--goods-list li:last-child {
  border: none;
}

.block-cart--goods-list li {
  margin: 20px 20px 20px 0;
  padding: 0 0 20px 0;
  overflow: hidden;
  border-bottom: solid 1px #dcdcdc;
}


/* カート右サイドエリア */

.block-cart--side-area {
  position: relative;
  float: left;
  padding-top: 20px;
}

.block-cart--side-contents {
  width: 320px;
  margin-left: 20px;
}

.block-cart--procedure {
  border: solid 6px #dcdcdc;
  padding: 15px 20px;
  overflow: hidden;
  margin-bottom: 20px;
}

.block-cart--procedure-container {
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  overflow: inherit;
  background: inherit;
}

.block-cart--procedure-container>div {
  width: 100%;
}

.block-cart--procedure-container .block-cart--order {
  order: 2;
}

.block-cart--procedure-container .block-cart--subtotal {
  order: 1;
  border-bottom: 1px #dcdcdc solid;
  padding-bottom: 15px;
  margin-bottom: 25px;
  font-size: 16px;
  text-align: left;
}

.block-cart--order-btn {
  display: block;
  margin: 0 0 10px 0;
  width: 100%;
  font-size: 17px;
  text-align: center;
  padding: 10px 0;
}

.block-cart--order-btn-gift {
  display: block;
  margin: 0 0 10px 0;
  width: 100%;
  font-size: 17px;
  text-align: center;
  padding: 10px 0;
  background: #000000;
}

.block-cart--subtotal {
  padding: 8px 0;
}

.block-cart .block-exchange-price {
  text-align: center;
  margin-bottom: 8px;
}

.block-cart--subtotal-price {
  display: block;
  font-size: 26px;
  font-weight: bold;
  color: #444;
}

.block-cart--continue-shopping {
  text-align: center;
  margin-bottom: 40px;
}

.block-cart--promotion {
  text-align: center;
}

.block-cart--promotion dd, .block-cart--promotion dt {
  display: inline-block;
  margin-bottom: 10px;
}

.block-cart--promotion-discount {
  font-size: 13px;
  font-weight: bold;
}

.block-cart--continue-shopping-link {
  cursor: pointer;
  color: #333;
  font-size: 14px;
  border: none;
  text-decoration: underline;
  background: none;
}

.block-cart--continue-shopping-link:hover {
  text-decoration: none;
}

.block-promotion-message--content {
  border: 1px solid #f00;
  background-color: #fff;
  text-align: center;
  padding: 10px 0;
  margin: 0 0 10px 0;
  font-size: 12px;
}

.block-promotion-message--content span {
  color: #f00;
  font-weight: bold;
  font-size: 13px;
}

a.block-promotion-message--info {
  text-decoration: none;
}

/* ----カスタム　カート画面---- */
/* ---- 既存のレイアウト干渉をリセット ---- */
.block-cart--container {
    display: flex;
    align-items: flex-start;
    gap: 0; /* システム側の余白がある場合は0、微調整なら20px程度 */
}

/* 各要素のfloatを解除してFlexboxを有効化 */
.block-cart--contents,
.block-cart--side-area,
.block-cart--goods-list li,
.block-cart--goods-list-image,
.block-cart--goods-list-item,
.block-cart--goods-list-item-price-info,
.block-cart--goods-list-item-input {
    float: none !important;
}

/* ---- 商品リストエリア（左） ---- */
.block-cart--contents {
    flex: 1; 
}

.block-cart--goods-list li {
    display: flex;
    align-items: flex-start;
    padding: 15px 0;
    border-bottom: 1.5px dashed #dcdcdc;
    gap: 15px;
    position: relative; 
    min-height: 100px;
}

/* 画像：サイズはシステム側に合わせつつ、余計なマージンを除去 */
.block-cart--goods-list-image {
    margin: 0 !important;
    flex-shrink: 0;
    width: 110px;
    height: 110px; /* デフォルトCSSの200pxを基準に配置を計算 */
}

.block-cart--goods-list-image img {
    width: 100%;
    height: auto;
}

/* アイコン：絶対配置で商品名の上へ飛ばす */
.block-cart .block-icon {
    position: absolute;
    /* left = 画像の幅(110px) + liのgap(15px) */
    left: 125px; 
    top: 15px; /* liのpaddingと同じ値 */
    display: flex;
    gap: 5px;
    margin: 0 !important;
    z-index: 1;
}

.block-icon--src1 img {
    height: 18px;
    width: auto;
    vertical-align: middle;
}

/* 商品名：中央のメインエリア */
.block-cart--goods-list-item {
    display: flex;
    flex-direction: column; 
    flex: 1;
    margin: 0 !important;
    padding-top: 30px !important; 
}

.block-cart--goods-list-item-name {
    margin: 0 !important;
}

.block-cart--goods-list-item-name a {
    font-size: 16px;
    line-height: 1.4;
    color: #333;
    text-decoration: none;
    font-weight: bold;
}

/* 商品コメント */
.block-cart--goods-list-item-comment {
    padding: 10px 0 0 0 !important;
}

/* 価格：右側に寄せる */
.block-cart--goods-list-item-price-info {
    width: 120px !important;
    text-align: right;
    margin: 0 !important;
    padding-top: 30px !important; 
}

.block-cart--goods-list-item-price {
    font-size: 15px;
    color: #333;
}

/* 数量・削除ボタン：右端に配置 */
.block-cart--goods-list-item-input {
    width: 100px !important;
    margin: 0 !important;
    padding-top: 30px !important; 
}

/* ---- サイドエリア（右） ---- */
.block-cart--side-area {
    position: relative !important; 
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 320px !important; 
    flex-shrink: 0;
    margin: 0 !important;
    padding-top: 20px !important; /* デフォルトの余白を再現 */
}

/* 内側のコンテンツ幅を調整 */
.block-cart--side-contents {
    width: 100% !important;
    margin: 0 !important;
}

.block-cart--procedure {
    background: #ffffff;
    border: 1px solid #444 !important;
    padding: 20px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
}

/* 合計金額を上にするためのorder指定（必要に応じて） */
.block-cart--subtotal {
    order: 1; /* 合計を上 */
    border-top: none !important;
    padding: 0 0 15px 0;
    margin-bottom: 15px;
    border-bottom: 1px solid #ddd;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.block-cart--order {
    order: 2; /* ボタン類を下 */
}

.block-cart--subtotal-price {
    font-size: 22px;
}

/* 注文ボタン */
.block-cart--order-btn {
    width: 100% !important; /* 幅をいっぱいに */
    border: none !important;
    height: auto !important;
    padding: 15px 0 !important;
    font-size: 18px !important;
    font-weight: bold;
    transition: 0.2s;
    cursor: pointer;
    border-radius: 4px;
}

.block-cart--order-btn:hover {
    opacity: 0.8;
}

/* Amazon Payエリアの微調整 */
.block-cart--amazonpay {
    border-top: 1px dashed #ccc !important;
    margin-top: 20px !important;
}
.block-cart--amazonpay-description {
    font-size: 12px;
    text-align: left;
}


/* --ここまで-- */


/* ----通常の注文---- */


/* ---- */


/* ----カート画面直後のAmazonPayローディング---- */

.block-order-amazonpay--loading {
  padding: 60px 0;
  text-align: center;
}


/* ----アマゾンウィジェット---- */

.block-order-estimate--amazonpay-address-widget, .block-order-amazonpay--address-widget, .block-amazon--address-widget {
  width: 600px;
  margin: 0 auto;
  height: 270px;
  padding: 5px 0;
  box-sizing: content-box;
}


/* ----注文方法指定画面---- */


/* 共通設定 */

.block-order-method--payment-content, .block-order-method--regular-content, .block-order-method--spec-content, .block-order-method--goods-content, .block-order-method--dest-content, .block-order-method--host-content, .block-order-method--host-confirmation {
  background: #fff;
  border: solid 1px #dcdcdc;
  padding: 20px 20px 20px 20px;
  margin: 0 0 20px 0;
  border-radius: 4px;
}

.block-order-method h2 {
  font-weight: bold;
  font-size: 20px;
  color: #333;
  padding: 10px 0;
  margin: 0 0 10px 0;
}

.block-order-method h3 {
  font-size: 16px;
  color: #333;
  font-weight: bold;
  margin: 0 0 12px 0;
}

.block-order-method address {
  font-size: 13px;
  line-height: 1.6;
  padding-top: 10px;
}

.block-order-method .block-icon {
  margin: 0 15px 0 0;
}

.block-order-method dt {
  font-weight: bold;
}

.block-order-method--container {
  display: block;
  overflow: hidden;
}

.block-order-method--contents {
  width: 820px;
  float: left;
}

.block-order-method--name-sei, .block-order-method--name-mei, .block-order-method--kana-sei, .block-order-method--kana-mei {
  display: inline-block;
}

.block-order-method--value-label {
  display: inline-block;
  width: 60px;
  text-align: center;
}




/* 届け先 */

#address.block-order-method--dest {
  margin: 30px 0;
}

#address.block-order-method--dest .block-order-method--dest-content {
  border: none;
  padding: 0;
}

#address.block-order-method--dest .block-order-method--dest-title-salesinclude {
  margin-top: 20px;
}

#address.block-order-method--dest .block-order-method--dest-note-salesinclude+.block-order-method--dest-list {
  margin-top: 20px;
}

.block-order-method--payment-content .block-order-method--coupon, .block-order-method--payment-content .block-order-method--promotion, .block-order-method--payment-content .block-order-method--point-use, .block-order-method--payment-method {
  margin: 25px 0;
}

.block-order-method--payment .block-order-method--payment-content {
  padding: 0 20px;
}

/*非表示*/
.block-order-method--coupon, .block-order-method--promotion, .block-order-method--point-use {
	display: none;
}


/* 右サイドエリア */

.block-order-method--side-area {
  position: relative;
  float: right;
}

.block-order-method--side-contents {
  background: #eee;
  width: 320px;
  margin: 0 0 0 40px;
}

.block-order-method--procedure {
  border: solid 6px #dcdcdc;
  background: #fff;
  padding: 4px;
  overflow: hidden;
  margin-bottom: 20px;
}

.block-order-method--procedure-container {
  padding: 14px;
  background: #fff;
}

.block-order-method--next-btn {
  width: 100%;
  font-size: 16px;
  text-align: center;
  margin: 5px 0;
  padding: 14px 0;
  font-weight: bold;
}


/* お届け先 */

.block-order-method--dest-item:first-child {
  border-top: solid 1px #dcdcdc;
}

.block-order-method--dest-item {
  border-bottom: solid 1px #dcdcdc;
  padding: 20px;
  overflow: hidden;
}

.block-order-method--dest-item address {
  float: left;
}

.block-order-method--dest-item-nickname {
  font-weight: bold;
}

.block-order-method--dest-title-salesinclude {
  font-weight: bold;
  font-size: 16px;
}

.block-order-method--dest-item-salesinclude {
  font-weight: bold;
}

.block-order-method--dest-change {
  padding: 10px;
  margin: 0 0 10px 0;
  background: #f8f8f8;
  border: 1px solid #dcdcdc;
}

.block-order-method--dest-change strong {
  font-weight: bold;
}

.block-order-method--dest-change span {
  margin-left: 20px;
  font-size: 12px;
}

.block-order-method--dest-add {
  text-align: right;
  padding: 20px;
}

.block-order-method--dest-item-edit {
  text-align: right;
}

.block-order-method--dest-list address {
  margin: 0 0 0 20px;
}

.block-regular-cycle--cycle-type label {
  margin: 5px 0;
  display: inline-block;
}


/* 商品情報 */

.block-order-method--goods-list li {
  position: relative;
  overflow: hidden;
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #dfdfdf;
}

.block-order-method--goods-list li:last-child {
  border-bottom: none;
}

.block-order-method--goods-item-image {
  float: left;
  margin: 0 20px 0 0;
  background: #f5f5f5;
  width: 200px;
  height: 200px;
}

.block-order-method--goods-item-name, .block-order-method--goods-item-set-name {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
}

.block-order-method--goods-item-comment {
  padding: 20px 0 15px;
}

.block-order-method--sales-detail-append-item {
  overflow: hidden;
}

/*saleアイコン*/
.block-order-method--goods-list .block-icon--auto-on-sales{
	display: none;
}

/* 配送方法 */

.block-order-method--spec-content dl {
  margin: 0 0 10px 0;
}

.block-order-method--spec-content dl dt {
  float: left;
}

.block-order-method--spec-content dl dd {
  margin-left: 8em;
}

/* ---- カスタム 配送方法 ---- */
/* --- 1. 不要な項目と改行(br)を一括非表示 --- */
.block-order-method .block-order-method--spec-content > h3,
.block-order-method .block-order-method--date-spec,
.block-order-method .block-order-method--time-spec,
.block-order-method .block-regular-cycle--cycle-type,
.block-order-method .block-regular-cycle--cycle-sub-type,
.block-order-method .block-order-method--spec-content br { 
    display: none !important;
}

/* --- 単品グループ時（サイクル情報がない時）の補完設定 --- */
/* コンテンツエリアにメッセージを表示 */
.block-order-method .block-order-method--spec-content:after {
    content: "最短でのお届け（ご注文確認後、3営業日以内に発送いたします。）";
    display: block;
    padding: 10px 0;      /* 上下に少しだけ余白 */
    text-align: left;     /* 左揃え */
    font-weight: normal;  /* ボールド解除 */
    color: #333;          /* 文字色 */
    border: none;         /* 枠線なし */
}

/* 定期用のテーブル（.block-regular-cycle--deliv_date）がある時はメッセージを消す */
.block-order-method .block-order-method--spec-content:has(.block-regular-cycle--deliv_date):after {
    display: none !important;
}

/* 親コンテナのパディング調整 */
.block-order-method .block-order-method--spec-content {
    padding: 20px !important; 
    margin-top: 0 !important;
}

/* --- 2. テーブル化の設定 --- */
.block-order-method .block-regular-cycle--deliv_date {
    display: table !important;
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0px !important; 
    border: none !important;
}

/* --- 3. テーブルの行(dl)設定 --- */
.block-order-method .block-regular-cycle--deliv_date dl {
    display: table-row !important;
    margin: 0 !important;
}

/* --- 4. セルの設定 --- */
.block-order-method .block-regular-cycle--deliv_date dt,
.block-order-method .block-regular-cycle--deliv_date dd {
    display: table-cell !important;
    border: 1px solid #ccc !important;
    padding: 12px 10px !important;
    vertical-align: middle !important;
    float: none !important;
    margin: 0 !important;
}

/* 左側（見出し） */
.block-order-method .block-regular-cycle--deliv_date dt {
    width: 35% !important;
    background-color: #f8f8f8 !important;
    text-align: center !important;
    font-weight: bold !important;
}

/* 右側（内容） */
.block-order-method .block-regular-cycle--deliv_date dd {
    text-align: center !important;
    /*font-weight: bold !important;*/
}

.block-order-method .block-regular-cycle--deliv_date--prev-expected-dt-date {
	font-weight: normal;
}

/* --- 5. 「次回お届け予定日」を非表示 --- */
.block-order-method dl.block-regular-cycle--deliv_date--next-expected-dt,
.block-order-method dl.block-regular-cycle--deliv_date--next-expected-dt dt,
.block-order-method dl.block-regular-cycle--deliv_date--next-expected-dt dd {
    display: none !important;
}

/*ここまで*/

/* お支払い情報 */

.block-order-method--coupon-content, .block-order-method--promotion-content, .block-order-method--point-use {
  margin: 0 0 10px 0;
}

.block-order-method--payment-method-select li {
  margin: 0 0 10px 0;
}

.block-order-method--payment-method-select li .help-block {
  display: inline-block;
  margin-left: 30%;
}

.block-order-method--point-use-select {
  margin-bottom: 10px;
  padding: 10px;
  background: #f8f8f8;
  border: 1px solid #dcdcdc;
}

.block-order-method--point-use-select label {
  cursor: pointer;
  padding: 0 23px 0 5px;
}

.block-order-method--current-point {
  margin: 0 0 10px 0;
}

.block-order-method--current-point-num {
  font-weight: bold;
}

.block-order-method--coupon-available-btn {
  margin: 0 0 0 14px;
}


/* その他 */

.block-order-method--sales-append-content {
  background: #fff;
  border: solid 1px #dcdcdc;
  margin: 0 0 20px 0;
  padding: 20px 20px 0 20px;
}

.block-order-method--sales-append-content .fieldset {
  margin-top: 0;
  margin-bottom: 20px;
}

.block-order-method--sales-append-content .fieldset .form-group {
  border-left: #e5e5e5 1px solid;
  border-right: #e5e5e5 1px solid;
}

.block-order-method--sales-append-content .form-label, .block-order-method--sales-append-content .constraint {
  background-color: #f8f8f8;
}

.block-order-method--sales-append-content .form-group:not(:last-child) {
  border-bottom: solid 1px #dcdcdc;
}


/* クーポンダイアログ */

.block-order-method--coupondialog-wrapper {
  max-height: 300px;
  overflow-y: auto;
}

.block-order-method--coupondialog-table {
  width: 100%;
}

.block-order-method--coupondialog-table td {
  background: #fff;
}

.block-order-method--coupondialog-header-code {
  width: 180px;
}

.block-order-method--coupondialog-header-select {
  width: 180px;
}

/* ---- カスタム　注文方法指定画面 ---- */
/*ご注文に進む*/
.block-order-method--procedure {
  border: solid 1px #444;
  border-radius: 4px;
  background: #fff;
  padding: 4px;
  overflow: hidden;
  margin-bottom: 20px;
}

/* 注文方法指定画面 商品リスト */
.block-order-method--goods-list li {
    display: flex !important;
    align-items: flex-start !important;
    float: none !important;
    margin: 0 !important;
    padding: 15px 0 !important; /* 20pxから15pxに詰めて隙間を削減 */
    border-bottom: 1.5px dashed #dcdcdc !important; 
    gap: 15px;
    position: relative;
    min-height: 110px;
}

.block-order-method--goods-list li:last-child {
    border-bottom: none !important;
}

/* 画像 */
.block-order-method--goods-item-image {
    float: none !important; 
    margin: 0 !important;
    flex-shrink: 0;
    width: 110px !important;
    height: 110px !important;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.block-order-method--goods-item-image img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* アイコン */
.block-order-method--goods-content .block-icon {
    position: absolute;
    left: 125px; /* 画像110px + gap 15px */
    top: 15px;
    display: flex;
    gap: 5px;
    z-index: 1;
}

.block-icon img {
    height: 18px;
    width: auto;
}

/* 商品情報エリア */
.block-order-method--goods-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 25px !important; 
}

.block-order-method--goods-item-name {
    font-size: 15px !important; 
    font-weight: bold;
    line-height: 1.4 !important;
    color: #333;
}

.block-order-method--goods-item-comment {
    padding: 5px 0 0 0 !important; /* 20px 0 15pxから大幅に削減 */
    font-size: 13px;
    color: #666;
}

.block-order-method--goods-item-quantity {
    margin: 0 !important;
}

/* その他付随コメント */
.block-order-method--sales-detail-append-comment {
    font-size: 12px;
    color: #d00;
}

/*非表示　ノベルティ*/
.block-promotion-message--container, .block-order-estimate--promotion-novelty-helper, .block-order-estimate--novelty, .block-order-estimate--confirmation-list-full {
	display: none;
	margin: 0 !important;
}

/* ---- ここまで ---- */

/* ---- 注文内容確認(通常フロー) ---- */


/* クレジットカード設定 */

.block-order-estimate--pay-input {
  margin-bottom: 10px;
  background: #f8f8f8;
  border: 1px solid #dcdcdc;
}

.block-order-estimate--pay-input .form-group .form-label, .block-order-estimate--pay-input .form-group .form-control {
  padding: 20px 15px;
}

.block-order-estimate--pay-header {
  background: #333;
  padding: 10px;
  margin: 0 0 15px 0;
  color: #fff;
}

.block-order-estimate--pay-input .form-group .form-label {
  width: 25%;
}

.block-order-estimate--pay-savecard, .block-order-estimate--pay-selectcard {
  padding: 0 0 0 20px;
}

.block-order-estimate--pay-input .block-common-alert-list {
  margin: 10px;
}


/* 画面内共通設定 */

.block-order-estimate--container {
  position: relative;
  overflow: hidden;
}

.block-order-estimate h2 {
  font-weight: bold;
  font-size: 20px;
  color: #333;
  padding: 10px 0;
  margin: 0 0 10px 0;
}

.block-order-estimate h3 {
  font-size: 16px;
  color: #333;
  font-weight: bold;
  margin: 0 0 12px 0;
}

.block-order-estimate h3 a {
  font-size: 13px;
  font-weight: normal;
  margin: 0 0 0 20px;
  width: 70px;
  padding: 5px;
}

.block-order-estimate--salesinclude-btn {
  font-size: 13px;
  font-weight: normal;
  margin: 0 0 0 5px!important;
  width: auto !important;
}

.block-order-estimate address {
  font-size: 13px;
  line-height: 1.6;
  padding-top: 10px;
  word-wrap: break-word;
  margin-left: 1em;
}

.block-order-estimate--point {
  color: #f00;
  font-size: 16px;
  font-weight: bold;
}

.block-order-estimate--confirmation, .block-order-estimate--date-spec-confirmation, .block-order-estimate--novelty, .block-order-estimate--goods-content, .block-order-estimate--sales-append, .block-order-estimate--regular-cycle-confirmation, .block-order-estimate--comment-content, .block-order-estimate--amazonpay-login {
  background: #fff;
  border: solid 1px #dcdcdc;
  margin: 0 0 20px 0;
  padding: 20px;
  border-radius: 4px; /*追記*/
}

.block-order-estimate--entry {
  margin-top: 10px;
  padding: 0 10px;
}

.block-order-estimate--register-customer {
  margin-bottom: 10px;
}

.block-order-estimate--register-customer-checkbox {
  display: table-cell;
}

.block-order-estimate--entry-customer {
  margin-bottom: 5px;
}

.block-order-estimate--entry-customer-message {
  font-size: 12px;
}

.block-order-estimate--entry-customer-point {
  color: #f00;
  font-size: 15px;
  font-weight: bold;
}

.block-order-estimate--uid-label {
  margin-bottom: 3px;
}

.block-order-estimate--uid-label-font {
  margin-right: 10px;
}

.block-order-estimate--uid-count {
  margin-top: 0;
}

.block-order-estimate--pwd {
  margin-top: 10px;
}

.block-order-estimate--pwd-label {
  margin-bottom: 3px;
}

.block-order-estimate--pwd-label-font {
  margin-right: 10px;
}

.block-order-estimate--pwd-count {
  margin-top: 0;
}

.block-order-estimate--mailnews {
  margin-top: 10px;
}

.block-order-estimate--mailnews-title {
  font-weight: bold;
}

.block-order-estimate--mailnews-label {
  margin-bottom: 3px;
  font-weight: bold;
  margin-right: 10px;
}

.block-order-estimate--mailnews-message {
  font-size: 12px;
}

.block-order-estimate--procedure {
  background: #fff;
  border: solid 6px #dcdcdc;
  margin: 0 0 20px 0;
  padding: 4px;
}

.block-order-estimate--dest-address-item-register-input-form .block-order-estimate--dest-address-nickname .constraint {
  text-align: right;
}

.block-order-estimate--dest-address-item-register-input-form .block-order-estimate--dest-address-nickname .constraint .required {
  margin: -38px 20px 16px 0;
  display: block;
}


/* 注文内容確認左サイドエリア */

.block-order-estimate--content {
  width: 820px;
  float: left;
}



/* お届け先情報 */

.block-order-estimate--confirmation {
  overflow: hidden;
}

.block-order-estimate--confirmation-list {
  width: 375px;
  display: inline-block;
  vertical-align: top;
}

.block-order-estimate--confirmation-list:nth-of-type(2n+1) {
  margin-right: 20px;
}

.block-order-estimate--confirmation-list li {
  padding: 0 0 20px 0;
  min-height: 185px;
}

.block-order-estimate--confirmation-list li p {
  margin-left: 0.5em;
}

.block-order-estimate--confirmation-list li:nth-child(3) {
  min-height: 120px;
}

.block-order-estimate--confirmation-list li p {
  margin-left: 0.5em;
}

.block-order-estimate--confirmation-title h3 {
  border-bottom: 1px #dcdcdc solid;
  padding-bottom: 5px;
  overflow: hidden;
  height: 35px;
}

.block-order-estimate--confirmation-title h3 span {
  float: right;
}

.block-order-estimate--confirmation-list-full li {
  padding: 0 0 20px 0;
}

.block-order-estimate--amazonpay-wallet {
  color: #333;
  border: 1px solid #dcdcdc;
  clear: both;
}

.block-order-estimate--amazonpay-wallet-header {
  background: #333;
  padding: 10px;
  color: #fff;
}

.block-order-estimate--amazonpay-wallet-content {
  margin: 15px auto;
  height: 270px;
}

.block-order-estimate--amazonpay-wallet-widget {
  margin: 0 auto;
  width: 600px;
}


/* 配送希望情報 */

.block-order-estimate--date-spec-confirmation {
  overflow: hidden;
}

.block-order-estimate--date-spec-confirmation .block-order-estimate--confirmation-list li {
  min-height: 90px;
}

.block-order-estimate--confirmation-message {
  color: #555;
  font-size: 12px;
}


/* ノベルティ商品のノベルティ選択 */

.block-order-estimate--novelty-item label {
  cursor: pointer;
}

.block-order-estimate--novelty-item {
  display: table;
  width: 100%;
  margin-bottom: 10px;
}

.block-order-estimate--novelty-item-image, .block-order-estimate--novelty-item-goods {
  display: table-cell;
  vertical-align: middle;
}

.block-order-estimate--novelty-item-image {
  width: 200px;
}

.block-order-estimate--novelty-item-goods {
  padding-left: 10px;
  width: auto;
}

.block-order-estimate--novelty-item-image figure {
  width: 200px;
  height: 200px;
  background: #f5f5f5;
}


/* ご注文商品 */

.block-order-estimate--goods-list li {
  position: relative;
  overflow: hidden;
  margin: 0 0 10px 0;
}

.block-order-estimate--goods-item-image {
  float: left;
  margin: 0 20px 0 0;
  background: #f5f5f5;
  width: 200px;
  height: 200px;
}

.page-estimate .block-icon {
  margin: 0 15px 0 0;
}

.block-order-estimate--goods-item {
  float: left;
  width: 50%;
}

.block-order-estimate--goods-item-comment {
  overflow: hidden;
  margin-top: 10px;
}

.block-order-estimate--goods-price-items {
  float: right;
}

.block-order-estimate--amt {
  width: 140px;
  text-align: right;
  margin: 0 10px 0 0;
  font-weight: bold;
  color: #333;
}

.block-order-estimate--goods-item-name, .block-order-estimate--goods-item-set-name {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
}

/* ご注文商品 注文明細拡張情報 */

.block-order-estimate--sales-detail-append-link-edit {
  text-decoration: underline;
}

/* ----カスタム　注文内容確認左サイドエリア---- */
/* --- ご注文商品--- */
/* リスト全体の余白リセット */
.block-order-estimate--goods-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.block-order-estimate--goods-content {
	padding-bottom: 10px;
}

/* 商品一行のレイアウト */
.block-order-estimate--goods-list li {
    display: flex;
    align-items: flex-start;
    padding: 15px 0; /* 上下余白を詰めて隙間を少なく */
    border-bottom: 1.5px dashed #dcdcdc; /* 下線を追加 */
    gap: 15px; /* 画像とテキストの間隔 */
    position: relative; /* アイコン配置の基準 */
}

/* 一番最後の項目だけ下線を消す */
.block-order-estimate--goods-list li:last-child {
    border-bottom: none !important;
    margin-bottom: 0px;
}

/* 画像サイズを150pxに調整 */
.block-order-estimate--goods-item-image {
    margin: 0 !important;
    flex-shrink: 0;
    width: 150px !important;
    height: auto !important;
}

.block-order-estimate--goods-item-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* アイコン：商品名の上に配置 */
.block-order-estimate--goods-list .block-icon {
    position: absolute;
    left: 165px; /* 画像150px + gap 15px */
    top: 15px;
    display: flex;
    gap: 5px;
    z-index: 1;
}

.block-icon--src1 img {
    height: 18px;
    width: auto;
}

/* 商品情報エリア */
.block-order-estimate--goods-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 25px !important; /* アイコン分の余白 */
}

.block-order-estimate--goods-item-name {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    margin-bottom: 3px;
}

/* 価格・数量のテキストを少しコンパクトに */
.block-order-estimate--goods-item-comment p {
    margin: 2px 0 !important;
    font-size: 13px;
    color: #666;
}

/* 定期便の2回目以降価格テーブル */
.block-order-estimate--goods-item-regular-price-table {
    margin-top: 5px;
    font-size: 12px;
    border-collapse: collapse;
}

/* 右側の合計金額エリア */
.block-order-estimate--goods-price-items {
    width: 120px;
    text-align: right;
    padding-top: 25px !important;
}

.block-order-estimate--amt {
    font-size: 18px;
    font-weight: bold;
    color: #333;
}


/*2回目以降テーブル調整*/
.block-order-estimate--goods-item-regular-price-table:has(tr) {
    margin-top: -10px;
}

/*非表示*/

/*定期追加「ご利用中の定期から選ぶ」*/
.block-order-estimate--regular-add-info {
	display: none;
}


.block-order-estimate--coupon, .block-order-estimate-usage-point, 
.block-order-estimate--promotion-code, .block-order-estimate--comment {
	display: none !important;
}

.block-order-estimate--regular-cycle-confirmation .block-order-estimate--change-btn {
	display: none;
}

/* ----ここまで---- */

/* その他 */

.block-order-estimate--sales-append-list {
  width: 100%;
}

.block-order-estimate--sales-append-list th {
  padding: 12px;
  text-align: left;
  font-weight: bold;
  vertical-align: top;
  background-color: #999;
  color: #fff;
  border-top: 1px solid #dcdcdc;
  border-left: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  width: 30%;
}


/* AmazonPayログイン */

.block-order-estimate--amazonpay-loginform {
  margin: 10px 0 0 0;
}

.block-order-estimate--amazonpay-loginform .form-label {
  text-align: left;
}


/* 備考 */

.block-order-estimate--comment-content textarea {
  width: 100%;
}


/* 注文内容確認右サイドエリア */

.block-order-estimate--order-terms-link {
  text-decoration: underline;
  cursor: pointer;
}

.block-order-estimate--agreebody {
  width: 100%;
  height: 400px;
}

.block-order-estimate--side-area {
  position: relative;
  float: right;
}

.block-order-estimate--side-contents {
  width: 320px;
  margin: 0 0 0 20px;
}

.block-order-estimate--procedure-container {
  padding: 14px;
  background: inherit;
}

.block-order-estimate--commit {
  text-align: center;
  margin: 0 0 10px 0;
}

.block-order-estimate--commit-btn {
  width: 100%;
  font-size: 20px;
  text-align: center;
  margin: 5px 0;
  padding: 14px 0;
  font-weight: bold;
}

.block-order-estimate--total {
  padding: 15px 0;
  margin: 20px 0;
  background: #fff;
  border-top: 1px #dcdcdc solid;
  border-bottom: 1px #dcdcdc solid;
  font-size: 16px;
}

.block-order-estimate--total>span {
  display: block;
  font-size: 26px;
  font-weight: bold;
  color: #444
}

.block-order-estimate .block-exchange-price {
  text-align: center;
  margin-bottom: 12px;
}

.block-order-estimate--total-price {
  font-size: 18px;
  font-weight: bold;
}

.block-order-estimate--total-tax {
  font-size: 14px;
}

.block-order-estimate--point-add {
  overflow: hidden;
  margin: 0 0 10px 0;
  border-bottom: solid 1px #dcdcdc;
  font-size: 14px;
}

.block-order-estimate--point-add dt {
  float: left;
  width: 40%;
}

.block-order-estimate--point-add dd {
  float: left;
  width: 60%;
  text-align: right;
}

.block-order-estimate--point-add-num {
  color: #f00;
  font-size: 16px;
}

.block-order-estimate--point-add dd+dd {
  width: 100%;
  color: #f00;
  font-size: 12px;
  text-align: left;
  padding-bottom: 20px;
}

.block-order-estimate--price-items {
  letter-spacing: -.4em;
  color: #555;
  margin: 20px 0 0 0;
}

.block-order-estimate--price-items dt {
  display: inline-block;
  letter-spacing: normal;
  width: 60%;
  margin: 0 0 10px 0;
}

.block-order-estimate--price-items dd {
  display: inline-block;
  letter-spacing: normal;
  text-align: right;
  width: 40%;
}


/* ----カスタム　注文内容確認右サイドエリア---- */
/* 注文確定 */

/* 全体コンテナ */
.block-order-estimate--side-contents {
    width: 320px !important;
    margin: 0 0 0 20px !important;
}

/* カート画面のテイスト（白背景・黒枠） */
.block-order-estimate--procedure {
    background: #ffffff !important;
    border: 1px solid #444 !important;
    border-radius: 4px;
    padding: 0 !important;
}

.block-order-estimate--procedure-container {
    display: flex;
    flex-direction: column;
    padding: 20px !important;
    background: transparent !important;
}

.block-order-estimate--entry {
	padding: 0 20px !important;
}

/* 1. 確定ボタン・規約エリアを最上部に (order: 1) */
.block-order-estimate--commit {
    order: 1;
    margin: 0 0 15px 0 !important;
    text-align: center;
}

/* 確定ボタン本体 */
.block-order-estimate--commit-btn {
    color: #fff !important;
    border: none !important;
    border-radius: 4px;
    width: 100%;
    font-size: 20px !important;
    padding: 15px 0 !important;
    font-weight: bold;
    cursor: pointer;
    margin-bottom: 12px !important;
    transition: 0.2s;
}

.block-order-estimate--commit-btn:hover {
    opacity: 0.8;
}

/* 規約テキスト：サイズを絞り、中央揃えで読みやすく */
.block-order-estimate--commit p {
    margin: 6px 0 !important;
    font-size: 14px;
    line-height: 1.5;
    color: #666;
}

/* 規約・返品のリンク装飾 */
.block-order-estimate--return-agree,
.block-order-estimate--order-terms-link {
    display: inline !important;
    color: #333 !important; 
    text-decoration: underline;
    background: transparent !important; 
    border: none !important;
    padding: 0 !important;
    cursor: pointer;
    font-size: inherit;
    transition: color 0.2s;
}

.block-order-estimate--return-agree:hover,
.block-order-estimate--order-terms-link:hover {
    color: #444 !important; /* ホバーで少し濃くして反応を出す */
}

/* 2. 合計金額エリア：横並び1行 (order: 2) */
.block-order-estimate--total {
    order: 2;
    padding: 12px 0 !important;
    margin: 10px 0 !important;
    border-top: 1px solid #ddd !important;
    border-bottom: 1px solid #ddd !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    color: #333;
}

.block-order-estimate--total-price {
    font-size: 22px !important;
    color: #333 !important;
}

.block-order-estimate--total-tax {
    display: none; /* 重複する(税込)を消してスッキリ */
}

/* 3. 内訳詳細：デフォルトの読みやすさを維持 (order: 3) */
.block-order-estimate--price-items {
    order: 3;
    margin: 10px 0 0 0 !important;
    letter-spacing: -.4em; /* デフォルトの隙間調整 */
    color: #555 !important;
}

.block-order-estimate--price-items dt {
    display: inline-block;
    letter-spacing: normal;
    width: 60%;
    margin-bottom: 8px;
    font-size: 13px;
    vertical-align: top;
}

.block-order-estimate--price-items dd {
    display: inline-block;
    letter-spacing: normal;
    text-align: right;
    width: 40%;
    margin-bottom: 8px;
    font-size: 13px;
    vertical-align: top;
    color: #333;
}

/* 4. ポイント発生：最下部 (order: 4) */
.block-order-estimate--point-add {
    order: 4;
    margin-top: 10px !important;
    padding-top: 10px;
    border-top: 1px dashed #ccc;
    font-size: 12px;
}

.block-order-estimate--point-add-num {
    color: #d00;
    font-weight: bold;
}

/* 会員登録チェックボックス制御用スタイル
   定期便グループ: .is-required-member が JS によって付与される
   通常商品グループ: 追加クラスなし（既存スタイルをそのまま使用）
   =================================================================== */


/* 定期便: チェックボックスのスタイル */
 
.is-required-member input[type="checkbox"][name="register_customer"] {
  opacity: 0.5;
  cursor: not-allowed;
}

 
/* ============================================================
   定期便: ラベルをクリック不可に見せる
   JS側でクリックイベントはキャンセル済み。CSSで見た目も合わせる
   ============================================================ */
.is-required-member .block-order-estimate--register-customer-checkbox-message label {
  cursor: default;
  pointer-events: none;
  user-select: none;
}
 
 
/* ============================================================
   定期便: メッセージ内の <strong> （必須の強調部分）
   ============================================================ */
.block-order-estimate--entry-customer-message strong {
  color: #c0392b;
  font-weight: bold;
}
 
/*チェックボックスここまで*/

/*非表示*/
.block-order-estimate--goods-price, .block-order-estimate--goods-item-sales-period {
	display: none;
}

.block-order-estimate--total-tax, .block-order-estimate--point-add, .block-order-estimate--point-out, .block-order-estimate--point-out-price {
	display: none !important;
}


/* ----ここまで---- */

/* メッセージ「クール便追加料金を含む」 */

dd.block-order-estimate--cool-postage {
  width: 100%;
  text-align: right;
  margin: 0 0 10px 0;
}

.block-order-estimate--promotion-novelty-helper {
  border: 1px solid #f00;
  background: #fff;
  text-align: center;
  padding: 10px 0;
  margin: 0 0 10px 0;
  cursor: pointer;
}


/* お届け先の変更(ダイアログ)*/

.block-order-estimate--address-frame {
  background: #f8f8f8;
  max-width: 725px;
  margin: 0 auto;
}

.block-order-estimate--value-label {
  display: inline-block;
  width: 60px;
  text-align: center;
}


/* ×ボタン */

.block-order-estimate--address-frame-close {
  position: relative;
  cursor: pointer;
}

.block-order-estimate--address-frame-close span {
  display: block;
  position: absolute;
  top: 12px;
  right: 12px;
  width: 20px;
  height: 20px;
}

.block-order-estimate--address-frame-close span:before {
  position: absolute;
  top: 6px;
  right: 0;
  content: "";
  width: 15px;
  height: 2px;
  background: #fff;
  transform: rotate(45deg);
}

.block-order-estimate--address-frame-close span:after {
  position: absolute;
  top: 0;
  right: 6px;
  content: "";
  width: 2px;
  height: 15px;
  background: #fff;
  transform: rotate(45deg);
}


/* お届け先の変更 */

.block-order-estimate--address-frame h2 {
  color: #fff;
  background: #333;
  border-bottom: none;
  font-size: 16px;
  margin: 0;
  padding: 10px 10px 10px;
}

.block-order-estimate--dest-address-item-register-input-title {
  font-weight: bold;
}

.block-order-estimate--dest-address-select, .block-order-estimate--amazonpay-address-select {
  padding: 5px 20px;
}

.block-order-estimate--dest-salesinclude-address-select, .block-order-estimate--dest-salesinclude-address-note {
  padding: 0 20px;
}

.block-order-estimate--amazonpay-address-area p {
  margin-left: 20px;
}

.block-order-estimate--dest-address-list {
  padding: 20px;
}

.block-order-estimate--amazonpay-address-container {
  padding: 0 0 10px 0;
}

.block-order-estimate--dest-address-item, .block-order-estimate--dest-address-item-register {
  position: relative;
  display: inline-block;
  width: 220px;
  height: 220px;
  vertical-align: top;
}

.block-order-estimate--dest-address-item-container {
  height: 130px;
  overflow-y: auto;
  overflow-x: hidden;
  margin: 5px 0 0 0;
}

.block-order-estimate--dest-address-item, .block-order-estimate--dest-address-item-register {
  background: #fff;
  border: solid 1px #dcdcdc;
  margin: 0 5px 10px 0;
  padding: 10px;
}

.block-order-estimate--dest-address-item address {
  word-wrap: break-word;
}

.block-order-estimate--dest-address-change-btn {
  width: 100%;
  padding: 5px;
}

input.btn.btn-default.block-order-estimate--dest-address-register-btn {
  padding: 15px;
}

.block-order-estimate--dest-address-item-register .block-order-estimate--dest-address-item-buttons {
  position: absolute;
  top: 50%;
  margin: -20px 0 0 0;
}

.block-order-estimate--dest-address-change {
  text-align: right;
}

.block-order-estimate--dest-address-change, .block-order-estimate--dest-address-item-buttons {
  height: 31px;
}

input.btn.btn-default.block-order-estimate--dest-address-change-dest-btn {
  padding: 5px 10px;
  font-size: 11px;
}

.block-order-estimate--dest-address-title.js-order-estimate-address-title {
  font-weight: bold;
  margin: 9px 0;
  background: #636363;
  text-align: center;
  color: #fff;
}

.block-order-estimate--dest-address-item-buttons__selected {
  cursor: default;
  background: #fffcfc;
  border: 1px solid #f00;
  color: #f00;
  font-weight: bold;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 200px;
}


/* お届け先情報入力 */

.block-order-estimate--dest-address-item-register-input-form .fieldset-vertical, .block-order-estimate--guest-address-input-form {
  background: #fff;
  border: solid 1px #dcdcdc;
  padding: 20px;
}

.block-order-estimate--dest-address-item-register-input-form .fieldset-vertical {
  margin: 10px 0;
}

.block-order-estimate--dest-address-name .checktype_name, .block-order-estimate--dest-address-kana .checktype_kana, .block-order-estimate--guest-address-name .checktype_name, .block-order-estimate--guest-address-kana .checktype_kana {
  margin: 0 0 10px 0;
}


/* お届けサイクル */

.block-order-estimate--regular-cycle {
  width: 80%;
}

.block-order-estimate--regular-cycle th {
  padding: 12px;
  text-align: left;
  font-weight: bold;
  vertical-align: top;
  background-color: #999;
  color: #444;
  border-top: 1px solid #dcdcdc;
  border-left: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  width: 30%;
}

/* ----カスタム　お届けサイクル調整（お届けサイクル→配送方法へ）---- */
/* 1. 見出しの書き換え ＋ 横幅を100%に */
.block-order-estimate--regular-cycle-confirmation .block-order-estimate--confirmation-title h3 {
    position: relative;
    font-size: 0 !important; 
    color: transparent !important; 
    visibility: visible !important; 

    width: 100% !important; 
    display: block !important;
    
    /* 既存デザインの維持 */
    border-bottom: 1px #dcdcdc solid !important;
    padding-bottom: 5px !important;
    height: 35px !important;
    margin: 0 0 12px 0 !important;
    overflow: visible !important;
}

.block-order-estimate--regular-cycle-confirmation .block-order-estimate--confirmation-title h3:after {
    content: "配送方法";
    font-size: 16px !important; /* 文字サイズを戻す */
    visibility: visible;
    position: absolute;
    left: 0;
    top: 0;
    color: #333 !important; 
    line-height: 1.2;
}

/* 2. テーブル内：1行目「お届けサイクル」 */
.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle tr:first-child th {
    visibility: hidden;
    position: relative;
    width: 35% !important; 
}
.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle tr:first-child th:after {
    content: "お届けサイクル";
    visibility: visible;
    position: absolute;
    left: 0; top: 0; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background-color: #f8f8f8;
}

.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle tr:first-child td {
    visibility: hidden;
    position: relative;
}
.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle tr:first-child td:after {
    content: "30日ごとにお届け";
    visibility: visible;
    position: absolute;
    left: 0; top: 0; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    /*font-weight: bold;*/
}

/* 3. テーブル内：2行目「初回お届け予定日」 */
.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle tr:nth-child(2) th {
    visibility: hidden;
    position: relative;
    width: 35% !important;
}
.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle tr:nth-child(2) th:after {
    content: "初回お届け予定日";
    visibility: visible;
    position: absolute;
    left: 0; top: 0; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background-color: #f8f8f8;
}

.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle tr:nth-child(2) td {
    visibility: hidden;
    position: relative;
}
.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle tr:nth-child(2) td:after {
    content: "ご注文確認後、3営業日以内に発送いたします。";
    visibility: visible;
    position: absolute;
    left: 0; top: 0; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    /*font-weight: bold;*/
    color: #333;
}

/* 4. テーブル全体のデザイン（100%化 ＋ 枠線上書き） */
.block-order-estimate--regular-cycle-confirmation .block-order-estimate--regular-cycle,
.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle {
    width: 100% !important; 
    border-collapse: collapse !important;
    border: none !important;
}

.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle th,
.block-order-estimate--regular-cycle-confirmation .table.block-order-estimate--regular-cycle td {
    border: 1px solid #dcdcdc !important; 
    height: 48px;
    padding: 0 !important;
}
.block-order-estimate--regular-cycle-info {
	margin-top: 5px; 
}

/*ここまで*/

/* ---- 注文完了(通常・ギフトフロー共通) ---- */

.block-order-complete--customerentry-wrapper {
  width: 1080px;
  background: #fff;
  border: solid 1px #dcdcdc;
  padding: 40px;
  margin: 0 auto 50px auto;
}

.block-order-complete--message {
  margin: 0 0 30px 0;
}

.block-order-complete--orderinfo dt {
  width: 30%;
  background: #f8f8f8;
  font-weight: bold;
  float: left;
}

.block-order-complete--orderinfo dt, .block-order-complete--orderinfo dd {
  border-bottom: 1px solid #dcdcdc;
  padding: 8px 8px 8px 8px;
}

.block-order-complete--orderinfo dd {
  margin-left: 30%;
}

.block-order-complete--orderinfo dd:after {
  clear: both;
  display: block;
}

.block-order-complete--home {
  margin: 20px auto;
  text-align: center;
}

.block-order-complete--home-btn {
  padding: 20px;
  width: 300px;
}

.block-order-complete--customerentry-form {
  margin: 20px 0 0 0;
}

.block-order-complete--rules {
  margin: 10px 0 0 0;
}

.block-order-complete--orderid {
  width: 100%;
  margin-bottom: 10px;
}

.block-order-complete--orderid th {
  width: 30%;
  padding: 20px 30px;
}

.block-order-complete--orderid td {
  width: 70%;
  padding: 20px 30px;
}

.block-order-complete--salesinclude {
  width: 100%;
  margin-bottom: 10px;
}

.block-order-complete--salesinclude th {
  width: 30%;
}

.block-order-complete--salesinclude td {
  width: 70%;
}

.block-order-complete--convenience {
  width: 100%;
  margin-bottom: 10px;
}

.block-order-complete--convenience th {
  width: 30%;
}

.block-order-complete--convenience td {
  width: 70%;
}


/* ---- */


/* ----ギフトフロー---- */


/* ---- */


/* ---- 配送先選択 ---- */

.block-order-gift-dest h2 {
  font-weight: bold;
  font-size: 20px;
  color: #333;
  padding: 10px 0;
  margin: 0 0 10px 0;
}

.block-order-gift-dest--check-all {
  margin: 0 0 10px 0;
}

.block-order-gift-dest--list-wrapper, .block-order-gift-dest--method-sender-info, .block-order-gift-dest--address-item, .block-order-gift-dest--method-sender-info-edit {
  background: #fff;
  border: solid 1px #dcdcdc;
  margin: 0 0 20px 0;
  padding: 20px 20px 20px 20px;
}


/* お届け先配送情報エリア */

.block-order-gift-dest--address-item {
  background: #f8f8f8;
}

.block-order-gift-dest--address-item-title {
  font-weight: bold;
}

.block-order-gift-dest--address-item address {
  margin: 5px 0 5px 20px;
}

.block-order-gift-dest--address-change {
  text-align: right;
}

.block-order-gift-dest--address-error {
  margin: 0 0 10px 0;
}


/* 贈り主情報エリア */

.block-order-gift-dest--value-label {
  display: inline-block;
  width: 60px;
  text-align: center;
}

.block-order-gift-dest--method-sender-change label {
  font-weight: bold;
}

.block-order-gift-dest--method-sender-info address {
  margin: 0 0 10px 0;
}

.block-order-gift-dest--address-item {
  background: #f8f8f8;
}

.block-order-gift-dest--address-customer .block-order-gift-dest--address-item {
  margin-top: 20px;
}

.block-order-gift-dest--method-sender-info-edit {
  margin: 10px 0 0 0;
}

.block-order-gift-dest--method-sender-btn {
  text-align: right;
}

.block-order-gift-dest--action-buttons {
  margin: 0 0 20px 0;
}


/* ---- 配送先商品追加 ---- */

.block-order-gift-select h2 {
  font-weight: bold;
  font-size: 20px;
  color: #333;
}

.block-order-gift-select h3 {
  font-size: 16px;
  font-weight: bold;
}

.block-order-gift-select--sender-info, .block-order-gift-select--delivery-dest-content, .block-order-gift-select--delivery-date, .block-order-gift-select--payment-content, .block-order-gift-select--point-use-select {
  background: #fff;
  border: solid 1px #dcdcdc;
  margin: 0 0 20px 0;
  padding: 20px 20px 20px 20px;
}

.block-order-gift-select--sender-info {
  margin: 0 0 5px 0;
}

.block-order-gift-select--delivery-dest-add {
  padding: 5px 0 5px 0;
  margin: 0 0 10px 0;
  text-align: right;
}

.block-order-gift-select--delivery-dest-goods-select, .block-order-gift-select--point-use-select {
  padding: 10px 10px 10px 10px;
  margin: 0 0 0 0;
}


/* お届け先 */

.block-order-gift-select--delivery-dest-header {
  position: relative;
}

.block-order-gift-select--delivery-dest-delete {
  position: absolute;
  right: 0;
  top: 3px;
}

.block-order-gift-select--delivery-dest-nickname {
  font-weight: bold;
  margin-bottom: 10px;
}

.block-order-gift-select--delivery-dest-nickname+p {
  margin-bottom: 10px;
}

.block-order-gift-select--delivery-dest-address address {
  margin: 0 0 20px 0;
}

.block-order-gift-select--delivery-dest-goods-content-list table {
  width: 100%;
}

.block-order-gift-select--delivery-dest-goods-name {
  width: 800px;
}

.block-order-gift-select--delivery-dest-goods-qty {
  text-align: right;
}

.block-order-gift-select--delivery-dest-goods-qty input {
  text-align: right;
  margin: 0 0 0 10px;
}


/* お届け先商品 */

.block-order-gift-select--delivery-dest-goods-content-info, .block-order-gift-select--delivery-dest-goods-noshi {
  width: 100%;
  margin: 0 0 20px 0;
}

td.block-order-gift-select--delivery-dest-goods-name img {
  width: 100px;
}

.block-order-gift-select--delivery-dest-goods-price, .block-order-gift-select--delivery-dest-goods-total, .block-order-gift-select--delivery-dest-goods-noshi-charge {
  width: 18%;
  text-align: right;
}

.block-order-gift-select--delivery-dest-goods-sales-qty {
  width: 100px;
}

.block-order-gift-select--delivery-dest-goods-sales-qty input {
  text-align: right;
}

.block-order-gift-select--delivery-dest-goods-content-info-delete, .block-order-gift-select--delivery-dest-goods-noshi-edit {
  width: 70px;
}

.block-order-gift-select--delivery-dest-goods-noshi th, .block-order-gift-select--delivery-dest-goods-noshi td {
  text-align: left;
}

.block-order-gift-select--delivery-dest-total table {
  margin-left: auto;
}


/* 配送方法 */

.block-order-gift-select--delivery-date-content {
  display: table;
}

.block-order-gift-select--delivery-date-content dt, .block-order-gift-select--delivery-date-content dd {
  display: table-cell;
}


/* お支払い情報 */

.block-order-gift-select--method-list li {
  margin: 0 0 10px 0;
}

.block-order-gift-select--method-list li .help-block {
  display: inline-block;
  margin-left: 30%;
}

.block-order-gift-select--method-list label {
  cursor: pointer;
}

.block-order-gift-select--current-point {
  margin: 0 0 10px 0;
}

.block-order-gift-select--current-point-num {
  font-weight: bold;
}

.block-order-gift-select--coupon-available-btn {
  margin: 0 0 0 14px;
}

.block-order-gift-select--point-use-select {
  background: #f8f8f8;
}

.block-order-gift-select--point-use-select label {
  cursor: pointer;
  padding: 0 23px 0 5px;
}


/* その他 */

.block-order-gift-select--sales-append-content {
  background: #fff;
  border: solid 1px #dcdcdc;
  margin: 0 0 20px 0;
  padding: 20px 20px 0 20px;
}

.block-order-gift-select--sales-append-content .fieldset {
  margin-top: 0;
  margin-bottom: 20px;
}

.block-order-gift-select--sales-append-content .fieldset .form-group {

  border-left: #e5e5e5 1px solid;
  border-right: #e5e5e5 1px solid;
}

.block-order-gift-select--sales-append-content .form-group:not(:last-child) {
  border-bottom: solid 1px #dcdcdc;
}


/* ---- のし・ラッピング設定 ---- */

.block-order-gift-noshi h1 {
  font-weight: bold;
  font-size: 24px;
  color: #333;
  padding: 15px 0 0 0;
}

.block-order-gift-noshi h2 {
  font-weight: bold;
  font-size: 20px;
  color: #333;
}

.block-order-gift-noshi h3 {
  font-size: 16px;
  color: #333;
  font-weight: bold;
}

.block-order-gift-noshi--sender {
  font-weight: bold;
}

.block-order-gift-noshi--sender p {
  margin-bottom: 10px;
}

.block-order-gift-noshi--sender address {
  margin-bottom: 15px;
}

.block-order-gift-noshi--noshi-select, .block-order-gift-noshi--purpose-select, .block-order-gift-noshi--paper-wrapper, .block-order-gift-noshi--nameprint-wrapper, .block-order-gift-noshi--covertype-select, .block-order-gift-noshi--wrap-select, .block-order-gift-noshi--bag-wrapper {
  background: #fff;
  border: solid 1px #dcdcdc;
  margin: 0 0 20px 0;
  padding: 20px 20px 20px 20px;
}

.block-order-gift-noshi--noshi-select li, .block-order-gift-noshi--purpose-select li, .block-order-gift-noshi--paper-wrapper li, .block-order-gift-noshi--nameprint-wrapper li, .block-order-gift-noshi--covertype-select li, .block-order-gift-noshi--wrap-select li, .block-order-gift-noshi--bag-wrapper li {
  display: inline-block;
  vertical-align: top;
  margin: 0 10px 0 0;
}

.block-order-gift-noshi--paper-item-price, .block-order-gift-noshi--bag-item-price, .block-order-gift-noshi--wrap-item-price {
  display: block;
}

.block-order-gift-noshi--paper-message, .block-order-gift-noshi--covertype-message, .block-order-gift-noshi--wrap-message, .block-order-gift-noshi--bag-message {
  background: #f8f8f8;
  border: solid 1px #dcdcdc;
  margin: 10px 0 10px 0;
  padding: 20px 20px 20px 20px;
  width: 60%;
}

.block-order-gift-noshi--setting-message {
  text-align: center;
  font-weight: bold;
}

.block-order-gift-noshi--nameprint-input {
  margin: 15px 0 0 0;
}

.block-order-gift-noshi--setting-all-btn {
  margin: 0 0 20px 0;
}


/* ---- 注文内容確認(ギフトフロー) ---- */

.block-order-gift-confirmation h2 {
  font-weight: bold;
  font-size: 20px;
  color: #333;
}

.block-order-gift-confirmation h3 {
  font-size: 16px;
  color: #333;
  font-weight: bold;
  margin: 0 0 12px 0;
}

.block-order-gift-confirmation table {
  width: 100%;
}

.block-order-gift-confirmation table .block-order-gift-confirmation--item-qty-header, .block-order-gift-confirmation table .block-order-gift-confirmation--sending-item-qty-header {
  width: 6em;
}

.block-order-gift-confirmation--item-image figure, .block-order-gift-confirmation--sending-item-image figure {
  width: 200px;
  height: 200px;
  background: #f5f5f5;
}

.block-order-gift-confirmation--item-image, .block-order-gift-confirmation--sending-item-image {
  width: 220px;
}

.block-order-gift-confirmation--order-item-wrapper, .block-order-gift-confirmation--order, .block-order-gift-confirmation--destination-address-wrapper, .block-order-gift-confirmation--other-wrapper, .block-order-gift-confirmation--novelty-content, .block-order-gift-confirmation--order-comment, .block-order-gift-confirmation--payment-method-wrapper {
  background: #fff;
  border: solid 1px #dcdcdc;
  margin: 0 0 20px 0;
  padding: 20px 20px 20px 20px;
  overflow: hidden
}

.block-order-gift-confirmation--order-item-detail {
  float: left;
  width: 65%;
  vertical-align: top;
}

.block-order-gift-confirmation--order-item-summary {
  float: right;
  width: 32%;
  padding: 0 0 0 3%;
}

.block-order-gift-confirmation--order-item-summary-table th, .block-order-gift-confirmation--point-summary th {
  width: 180px;
}

.block-order-gift-confirmation--order-item-summary-table td, .block-order-gift-confirmation--point-summary td {
  text-align: right;
}

.block-order-gift-confirmation--item-qty-header {
  width: 50px;
}

.block-order-gift-confirmation--item-amount, .block-order-gift-confirmation--item-qty {
  text-align: right;
}


/* ノベルティ商品のノベルティ選択 */

.block-order-gift-confirmation--novelty-item label {
  cursor: pointer;
}

.block-order-gift-confirmation--novelty-item {
  display: table;
  margin-bottom: 10px;
  width: 100%;
}

.block-order-gift-confirmation--novelty-item-image, .block-order-gift-confirmation--novelty-item-goods {
  display: table-cell;
  vertical-align: middle;
}

.block-order-gift-confirmation--novelty-item-image {
  width: 200px;
}

.block-order-gift-confirmation--novelty-item-goods {
  padding-left: 10px;
  width: auto;
}

.block-order-gift-confirmation--novelty-item-image figure {
  width: 200px;
  height: 200px;
  background: #f5f5f5;
}


/* 配送情報 */

.block-order-gift-confirmation--shipping-address {
  float: left;
  width: 65%;
  vertical-align: top;
}

.block-order-gift-confirmation--shipping-info {
  float: right;
  width: 35%;
  padding: 0 0 0 3%;
}

.block-order-gift-confirmation--shipping-info-detail th {
  width: 150px;
}


/* お届け先 */

.block-order-gift-confirmation--destination-address {
  margin: 0 0 10px 0;
}

.block-order-gift-confirmation--sending-item-qty-header {
  width: 50px;
}

.block-order-gift-confirmation--sending-item-qty {
  text-align: right;
}

.block-order-gift-confirmation--sending-item-comment-header, .block-order-gift-confirmation--sending-item-noshi-header {
  width: 220px;
}


/* その他 */

.block-order-gift-confirmation--other-detail th {
  width: 300px;
}

.block-order-gift-confirmation--order-comment textarea {
  width: 100%;
}

.block-order-gift-confirmation--order-comment-message {
  font-weight: bold;
  margin: 50px 0;
  text-align: center;
}

.block-order-gift-confirmation--order-comment-message.top {
  margin-bottom: 20px;
}

.block-goods-list--pager.pager {
  text-align: center;
  margin: 55px 0;
}

.block-goods-list--pager .pager-total {
  display: block;
  margin: 15px 0;
}

.pagination li {
  margin-left: 5px;
}

.block-thumbnail-t--goods .price, .block-thumbnail-t--goods .net-price, .block-thumbnail-t--goods .default-price, .block-thumbnail-t--goods .exchange-price, .block-thumbnail-t--goods .block-exchange-price--rate-dt {
  text-align: left;
}


/* ----テーブル---- */

.table, .table td, .table th {
  border-collapse: collapse;
  border: 1px solid #c8c8c8;
}

.table td, .table th {
  padding: 12px 15px;
}

.table th {
  font-weight: bold;
  background-color: #f8f8f8;
}


/* ----テキストカラー----*/

.text-muted {
  color: #777;
}

.text-warning {
  color: #8a6d3b;
}

.text-danger {
  color: #a94442;
}

.price {}

.default-price {
  text-decoration: line-through;
  font-weight: bold;
}

.net-price {}

.exchange-price {}


/* ----テキストサイズ----*/

.price-small {
  font-size: 0.8em;
}

.default-price {
  font-size: 0.9em;
}

.default-price .price-small {
  font-size: 1em;
}


/* ----プロモーションメッセージ--- */

.promotion-criteria, .promotion-benefit {
  color: #f00;
  font-weight: bold;
}


/* ----商品説明リスト---- */

.goods-detail-description {
  display: table;
  width: 100%;
  margin-bottom: 10px;
  margin-top: 10px;
}

.goods-detail-description dt {
  display: table-cell;
  width: 100px;
  font-weight: bold;
  padding: 6px 15px 6px 0;
  position: relative;
}

.goods-detail-description dt:before {
  position: absolute;
  content: "";
  display: block;
  height: 80%;
  width: 1px;
  background: #666;
  right: 0;
  top: 10%;
}

.goods-detail-description dd {
  display: table-cell;
  padding: 6px 0 6px 15px;
}


/* ----パネル---- */

.panel {
  padding: 10px;
  overflow: hidden;
  border: solid 1px #dcdcdc;
  background: #fff;
}


/* ----バッジ---- */

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  border-radius: 10px;
  color: #fff;
  background-color: #777;
}

.badge:empty {
  display: none;
}


/* ----ページャー---- */

.pager {
  margin: 50px 0 60px 0;
  text-align: center;
}

.pager>* {
  display: inline-block;
  vertical-align: top;
}

.pager-scope {
  display: inline-block;
  padding: 3px;
  margin-right: 5px;
}

.pager-total {
  display: block;
  margin: 0 0 25px 0;
}

.pager-total .pager-count {
  font-weight: bold;
}

.pagination {
  display: inline-block;
  margin: 0 5px;
}

.pagination>* {
  border: unset;
}

.pagination>li {
  list-style-type: none;
  float: left;
  margin: 0 3px;
}

.pagination>li:hover {}

.pagination>li.pager-current span {
  color: #ffffff;
  border: none;
}

.pagination span, .pagination a {
  display: block;
  line-height: 50px;
  text-align: center;
  text-decoration: none;
  width: 50px;
  height: 50px;
}

.pagination a {
  border: 1px solid #dcdcdc;
  -webkit-transition: all .4s ease;
  -moz-transition: all .4s ease;
  transition: all .4s ease
}

.pagination a:hover {
  border: 1px solid #777;
}

.pagination>.disabled {
  color: #777;
}

.pager-previous a, .pager-first a, .pager-next a, .pager-last a {
  position: relative;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.pager-previous a:after, .pager-first a:before, .pager-first a:after, .pager-next a:after, .pager-last a:before, .pager-last a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
}

.pager-first a:before {
  left: 48%;
  border-top: 1px #444 solid;
  border-left: 1px #444 solid;
  margin: -3px 0 0 -2px;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.pager-first a:after {
  left: 56%;
  border-top: 1px #444 solid;
  border-left: 1px #444 solid;
  margin: -3px 0 0 -2px;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.pager-previous a:after {
  left: 50%;
  border-top: 1px #444 solid;
  border-left: 1px #444 solid;
  margin: -3px 0 0 -2px;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.pager-next a:after {
  right: 47%;
  margin: -3px 0 0 2px;
  border-top: 1px #444 solid;
  border-right: 1px #444 solid;
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.pager-last a:before {
  right: 44%;
  margin: -3px 0 0 2px;
  border-top: 1px #444 solid;
  border-right: 1px #444 solid;
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.pager-last a:after {
  right: 52%;
  margin: -3px 0 0 2px;
  border-top: 1px #444 solid;
  border-right: 1px #444 solid;
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}


/* ----画像センタリング配置---- */

.img-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.img-center img {
  flex-shrink: 0;
  text-align: center;
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
}


/* ----ツールチップ---- */

.balloontip {
  min-width: 20px;
  padding: 10px;
  border-radius: 6px;
  opacity: 1;
  z-index: 32767;
  text-align: left;
  font-size: 12px;
  border: 1px solid rgb(119, 119, 119);
  box-shadow: rgb(85, 85, 85) 4px 4px 4px;
  color: rgb(255, 255, 255);
  background: #333;
}


/* ----ドロップダウン---- */

.dropdown {
  z-index: 11000;
}

.dropdown li {
  background: #444;
}

.dropdown li span {
  display: block;
  padding: 13px 15px;

  margin: 0;
  text-decoration: none;
  line-height: 1;
  color: #fff;
  cursor: pointer;
}

.dropdown li span:hover {
  background: #616d0b;
}


/* ----モーダルダイアログ---- */

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  z-index: 10000;
}


.modal-overlay-alert {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
  z-index: 10002;
}

.modal-alert {
  width: 400px;
  z-index: 10003;
}

.modal-dialog {
  width: 600px;
  z-index: 10001;
}

.modal-header {
  padding: 15px 20px 15px;
  font-size: 17px;
  font-weight: bold;
  clear: both;
  border-bottom: none;
  line-height: 1;
  color: #fff;
  background-color: #333;
}

.modal-content {
  background: #fff;
}

.modal-body {
  padding: 20px;
}

.modal-body p {
  margin-bottom: 10px;
}

.modal-body li {
  border-bottom: 1px dotted #444;
}

.modal-body li a {
  padding: 12px;
  color: #4da7ba;
  display: flex;
  max-width: 560px;
  font-size: 16px;
}


.modal-body li a i {
  margin: 0 10px 0 auto;
  color: #444;
  font-size: 16px;
}

.modal-body li a:hover {
  text-decoration: none;
}

.modal-body li a:hover i {
  color: #4da7ba;
  text-decoration: none;
}

.modal-footer {
  padding: 0 10px 15px;
}

.modal-alert .modal-footer {
  text-align: center;
}

.modal-alert .modal-footer input {
  width: 40%;
}

.modal-close {
  display: block;
  width: 18px;
  cursor: pointer;
  float: right;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #fff;
}

.modal-dialog .modal-footer {
  text-align: center;
}

.modal-dialog .modal-footer .btn {
  min-width: 150px;
  margin-right: 5px;
}


/* ----ヘッダー警告---- */

.header-warning {
  position: relative;
  padding: 10px;
  background: #fffacd;
  border-bottom: 1px solid #b0c4de;
}

.header-warning-contents {
  display: block;
  padding-right: 18px;
  text-align: center;
  background: transparent;
}

.header-warning-close {
  display: block;
  position: absolute;
  width: 18px;
  cursor: pointer;
  font-weight: bold;
  top: 10px;
  right: 10px;
  background: transparent;
}


/* ----検索エンジン向けH1タグ---- */

.optimaized-h1 {
  margin: 0;
  font-size: 10px;
}


/* ----レビュー---- */

.star-base {
  cursor: pointer;
  width: 120px;
  height: 30px;
  background: url("../../img/usr/user_review/star.png");
  background-repeat: no-repeat;
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
}

.star-select {
  width: 120px;
  height: 30px;
  background: url("../../img/usr/user_review/star.png");
  background-repeat: no-repeat;
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
}


/* ----注文ステータス---- */

.status-order, .status-cancel, .status-income, .status-reserve, .status-rship, .status-ship, .status-verify, .status-return, .status-status_, .status-status_1, .status-status_2, .status-status_3, .status-status_4, .status-status_9 {
  width: 300px;
  height: auto;
  min-height: 50px;
  border: #ccc solid 1px;
  padding: 5px 0;
}

.status-message, .status-percentage {
  display: table-cell;
  vertical-align: middle;
  padding: 0 5px;
}

.status-message {
  width: 70%;
  font-size: 12px;
}

.status-percentage {
  width: 30%;
  color: #031241;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}

[class^="status-progress"] {
  display: block;
  position: relative;
  width: 96%;
  height: 14px;
  margin: 0 auto;
  background: #ccc;
}

[class^="status-progress"]:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 14px;
  border-right: #031241 solid 4px;
  background: #1e5799;
}

.status-progress-20:after {
  width: 20%;
}

.status-progress-40:after {
  width: 40%;
}

.status-progress-60:after {
  width: 60%;
}

.status-progress-80:after {
  width: 80%;
}

.status-progress-100:after {
  width: 100%;
}

.status-reserve .status-message, .status-cancel .status-message, .status-return .status-message, .status-status_ .status-message, .status-status_1 .status-message, .status-status_2 .status-message, .status-status_3 .status-message, .status-status_4 .status-message, .status-status_9 .status-message {
  width: 100%;
}

.status-reserve [class^="status-progress"]:after {
  border-right: #ea7500 solid 4px;
  background: #f79800;
}

.status-return [class^="status-progress"]:after {
  border-right: #028900 solid 4px;
  background: #00ab0b;
}


/* ----ホワイトスペース制御----*/

.white-space-pre-wrap {
  white-space: pre-wrap;
}


/* ----表示・非表示---- */

.hidden {
  display: none;
}

.show {
  display: block;
}




/* ----ページカテゴリ---- */

.block-pagecategory-page-list--auto-new {
  height: 11px;
  display: inline-block;
  margin-left: 10px;
  vertical-align: baseline;
}

.block-pagecategory-page-list--auto-new img {
  max-height: 100%;
}


.block-icon-image-double-small.block-icon-image--angle-right {
    display: none;
}
.block-login--display-password {
    margin-left: 10px;
}

/* ---- 非表示 入力フォーム 会社名・部署名---- */
#host_comp, #host_dept, .form-group.block-member-info--comp, .form-group.block-member-info--dept,
.form-group.block-member-info-confirmation--comp, .form-group.block-member-info-confirmation--dept,
.form-group.block-shipping-address--comp, .form-group.block-shipping-address--dept,
.form-group.block-shipping-address-confirmation--comp, .form-group.block-shipping-address-confirmation--dept {
	display: none;
}

/* 1. 全ての form-group に「下線」をデフォルトでつける */
.fieldset .form-group {
  border-bottom: #e5e5e5 1px solid !important;
}

/* 2. ただし「次に別の form-group が来る」場合だけ、下線を消す */
/* これで「一番最後になった要素」だけ、下線が残ります */
.fieldset .form-group + .form-group {
  border-top: none !important; /* 二重線を防ぐ */
}

/* 3. ボタンが下にある場合、ボタンとの間の余白を調整 */
.fieldset .action-buttons {
  margin-top: 20px;
}
