@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900');
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
body {
  color: #333333;
  font-family: 'Roboto', 'Noto Sans Japanese', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300;
  min-width: 1200px;
  background: linear-gradient(-90deg, rgba(245, 245, 245, 0.5), rgba(75, 0, 130, 0.3), rgba(245, 245, 245, 0.5));
}


/* ----リンク---- */

a {
  color: #333333;
}

a:hover img {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
  transition: 0.3s;
}


/* ----ヘッドライン---- */

.h1, .block-top-event--header, #block_of_category h2, .block-recent-item--header, .block-top-topic--header, .block-accessory-list--name, .block-relate-goods-list--name, .block-inquiry-history-detail--header, .block-favorite--header, .block-user-review-completed--header, .block-user-review--header, .block-quick-order--header, .page-certify h1, .block-mail-news--header, .block-inquiry-completed--header, .block-reset-password-completed--header, .block-update-new-password--header, .block-reset-password--header, .block-inquiry--header, .block-questionnaire-completed--header, .block-questionnaire--header, .block-purchase-history--header, .block-shipping-address-registration--header, .page-entrycomplete h1, .block-member-id--update-header, .page-entry h1, .page-menu h1, .block-member-info-update--header, .block-purchase-history-detail--header, .block-member-terms--header, .block-regular-purcharse-list--header, .block-mail-address--update-header, .block-regular-purcharse-shipment-info-update--header, .block-arrival-notice-list--header, .block-coupon-list--header, .block-point-history-list--header, .block-update-credit-card-info--header, .block-regular-purcharse-cancellation--header, .block-credit-card-confirmation--header, .block-regular-purcharse-detail--header, .block-logout--header, .block-withdrawal--header, .block-member-password--header, .page-login h1, .block-goods-agree--header, .block-topic-details--header, .block-order-gift-noshi h1, .block-cart-recent-item--header, .block-freepage--commontitle1, .block-member-memberscard--header, .block-manual-search--header {
  font-size: 26px;
  font-weight: 500;
  line-height: 1.0;
  letter-spacing: 0.04em;
  text-align: left;
  margin: 0 0 25px;
  padding: 0 0 20px;
  border: 0;
  position: relative;
}

/*.h1:before, .block-top-event--header:before, #block_of_category h2:before, .block-recent-item--header:before, .block-top-topic--header:before, .block-accessory-list--name:before, .block-relate-goods-list--name:before, .block-inquiry-history-detail--header:before, .block-favorite--header:before, .block-user-review-completed--header:before, .block-user-review--header:before, .block-quick-order--header:before, .page-certify h1:before, .block-mail-news--header:before, .block-inquiry-completed--header:before, .block-reset-password-completed--header:before, .block-update-new-password--header:before, .block-reset-password--header:before, .block-inquiry--header:before, .block-questionnaire-completed--header:before, .block-questionnaire--header:before, .block-purchase-history--header:before, .block-shipping-address-registration--header:before, .page-entrycomplete h1:before, .block-member-id--update-header:before, .page-entry h1:before, .page-menu h1:before, .block-member-info-update--header:before, .block-purchase-history-detail--header:before, .block-member-terms--header:before, .block-regular-purcharse-list--header:before, .block-mail-address--update-header:before, .block-regular-purcharse-shipment-info-update--header:before, .block-arrival-notice-list--header:before, .block-coupon-list--header:before, .block-point-history-list--header:before, .block-update-credit-card-info--header:before, .block-regular-purcharse-cancellation--header:before, .block-credit-card-confirmation--header:before, .block-regular-purcharse-detail--header:before, .block-logout--header:before, .block-withdrawal--header:before, .block-member-password--header:before, .page-login h1:before, .block-goods-agree--header:before, .block-topic-details--header:before, .block-order-gift-noshi h1:before, .block-cart-recent-item--header:before, .block-freepage--commontitle1:before, .block-member-memberscard--header:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 5px;
  margin-top: -3px;
  background-image: url(../../img/usr/common/bg-image_dot.png);
  background-position: left top;
  background-repeat: repeat;
  background-size: 2px auto;
  z-index: 1;
}*/


/* ----テーブル---- */

.table, .table td, .table th {
  border-collapse: collapse;
  border: 1px solid #d8d8d8;
}

.table td, .table th {
  padding: 8px 15px 7px;
}

.table th {
  font-weight: bold;
  background-color: #f5f5f5;
}


/* ----会員登録系---- */

.fieldset {
  border-top: 1px solid #d8d8d8;
}

.fieldset .form-group {
  border: 1px solid #d8d8d8;
  border-top: 0;
}

.fieldset .form-label {
  width: 18%;
  padding: 10px 15px 10px;
  background-color: #f5f5f5;
}

.fieldset .form-label label {
  font-weight: normal;
}

.fieldset .constraint {
  width: 50px;
  text-align: center;
  padding: 8px 0 7px 0;
  background-color: #f5f5f5;
}

.fieldset .form-control {
  padding: 10px 15px 10px;
  border-left: 1px solid #d8d8d8;
}


/* ----フォーム---- */

input[type="text"], input[type="tel"], input[type="email"], input[type="search"], input[type="password"], input[type="url"], input[type="number"], select, textarea {
  border: 1px solid #CCCCCC;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}

*:focus {
  outline: none;
}


/* ラジオボタンデザイン */

input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0 5px 3px 0;
  background: #ffffff;
  border: 1px solid #CCCCCC;
  -webkit-border-radius: 10px / 10px;
  border-radius: 10px / 10px;
  position: relative;
}


/* チェックの印を:before疑似要素を使って作成 */

input[type="radio"]:checked:before {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  margin: -4px 0 0 -4px;
  -webkit-border-radius: 10px / 10px;
  border-radius: 10px / 10px;
  content: "";
  width: 8px;
  height: 8px;
  background: -webkit-gradient(linear, left top, left bottom, from(#3C3C3C), to(#3C3C3C));
}


/* チェックボックスデザイン */

input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0 5px 3px 0;
  background: #ffffff;
  border: 1px solid #CCCCCC;
  position: relative;
}


/* タップ後のデザイン */

input[type="checkbox"]:checked:before {
  position: absolute;
  left: 1px;
  top: 12px;
  display: block;
  content: "";
  width: 6px;
  height: 2px;
  background: #3C3C3C;
  -webkit-transform: rotate(45deg);
  -webkit-transform-origin: right center;
}

input[type="checkbox"]:checked:after {
  display: block;
  position: absolute;
  left: 6px;
  top: 12px;
  content: "";
  width: 12px;
  height: 2px;
  background: #3C3C3C;
  -webkit-transform: rotate(-53deg);
  -webkit-transform-origin: left center;
}


/* select */

select {
  padding-right: 22px;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  background-image: url(../../img/usr/common/ico_arrow02.png);
  background-position: 95% center;
  background-repeat: no-repeat;
  background-size: 8px auto;
}

select::-ms-expand {
  display: none;
}


/* ----入力支援---- */

.required:after {
  color: #d9534f;
  background: none;
}


/* ----テキストカラー----*/

.price, .default-price {
  color: #333333;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1.1;
}

.price {
  font-size: 20px;
}

.default-price {
  font-size: 9px;
}

.sale-price {
  color: #FF0000;
  font-size: 20px;
  font-weight: 700 !important;
  line-height: 1.0;
  margin-top: 8px;
}

.price span.price-tax, .sale-price span.price-tax {
  font-size: 12px;
  font-weight: normal !important;
  padding-left: 1px;
}

.default-price span.price-tax {
  font-size: 8px;
}


/* ----入力フォームボタン---- */

.action .btn {
  padding: 12px 36px;
}

.action-buttons {
  margin-top: 30px;
}


/* ----説明文のアラート部---- */

span.attention {
  color: #a94442;
  font-size: 14px;
}

span.attention:before {
  font-family: FontAwesome;
  content: "\f071";
  color: #a94442;
  font-size: 14px;
}

/* ---メンバーズカードのご確認---- */

.block-member-info--form .block-member-info--card-info .form-control .js-efo {
  color: #000000;
}