﻿/* ヘッダー
----------------------------------------------------------*/
#purchase-step {
  margin-bottom: 1em;
  margin-top: 20px;
  text-align: center;
}
/* 最終確認
----------------------------------------------------------*/
#div-order-confirm-container{
  font-size: 13px;
}
.waku_block {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #ccc;
  padding: 25px;
  margin-top: 20px;
}
.waku_block input[type="text"], textarea, select, button.button-mini {
  margin-bottom: 7px;
}
waku_block input[type="text"] {
  width: 100%;
  height: 36px;
}
.waku_block a {
  text-decoration: underline;
}
/* TABLE （支払方法エリア）
----------------------------------------------------------*/
.payment_area {
  border-spacing: 0 10px;
}
.payment_area th {
  text-align: left;
  width: 86px;
  vertical-align: top;
}
.payment_area td, th {
  display: table-cell;
  vertical-align: inherit;
}
.center_area_info {
  color: #333;
  font-size: 1.2rem;
  border: solid #e2dfa7 1px;
  background-color: #fffeec;
  margin-bottom: 8px;
  padding: 8px;
  border-radius: 5px;
}
.center_area_error {
  color: #333;
  font-size: 1.2rem;
  background: #fff2f2;
  border: 1px solid #ff0000;
  margin-bottom: 1em;
  padding: 0.5em 1em;
}
.center_area_info.PaymentAttention {
  margin-bottom: 24px;
}
/*お支払方法選択*/
select.CardType, select.CardExpirationDate {
  width: 100%;
  height: 36px;
}
h2 {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 10px 0;
  color: #333;
}
.waku_block h3, .modal-main h3 {
  color:#fe70AC;
  font-size: 16px;
  font-weight: normal;
  margin: 0;
  background-color: #fff;
  padding: 0;
  line-height:1.8;
}
.line {
  border-bottom: 1px solid #555;
  height: 5px;
  margin-bottom: 5px;
}
.waku_block ol, ul {
  list-style: outside none none;
  margin: 0;
  padding: 0;
}
.waku_block p {
  padding: 0;
}
.waku_inner_block {
  width: 100%;
}
/*
#jsok1 {
  background: #fe70ac;
  width: 365px;
  height: 55px;
  margin-bottom: 10px;
  font-size: 20px;
  background-color: #fe70ac;
  border-radius: 4px;
  color: #fff;
  font-size: 20px;
  border: solid 1px #fe70ac;
  padding: 10px 20px;
  line-height: 40px;
  cursor: pointer;
}
#jsok2 {
  background: #fe70ac;
  width: 365px;
  height: 55px;
  margin-bottom: 10px;
  font-size: 20px;
  background-color: #fe70ac;
  border-radius: 4px;
  color: #fff;
  font-size: 20px;
  border: solid 1px #fe70ac;
  padding: 10px 20px;
  line-height: 40px;
  cursor: pointer;
}
*/
.btn-purchase {
  box-sizing: border-box;
  cursor: pointer;
  width: 100%;
  max-width: 432px;
  color: #fff;
  font-size: 22px;
  line-height: 35px;
  border-radius: 4px;
  background-color: #fe70ac;
  border: solid 1px #fe70ac;
  text-align: center;
  padding: 15px 0 8px;
  box-shadow: 0 5px #e94087;
  display: inline-block;
  margin-bottom: 24px;
}
.btn-purchase:hover{
  opacity:0.8;
}
.display_out {
  display: none;
}
.on_msg_red {
  background: #fff2f2 none repeat scroll 0 0;
  border: 1px solid #ff0000;
  color: #ff0000;
}
.submit_hide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  color: #000000;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 1050;
  opacity: 0;
  filter: alpha(opacity=0); /* ie lt 8 */
  -ms-filter: "alpha(opacity=0)"; /* ie 8 */
}
#order_info ul {
  line-height: 20px;
  font-size: 13px;
}
#order_info ul li {
  padding: 3px 0;
  vertical-align: baseline;
}
#order_info ul li.total {
  border-bottom: medium none;
  border-top: 3px double #666;
  font-size: 1.5rem;
  margin-bottom: 10px;
  padding: 7px 0;
  vertical-align: baseline;
}
#order_info li:last-child {
  border-bottom: none;
}
#point-info ul li{
  line-height: 1.7;  
}
#div-order-confirm-container .point{
  color: #bfa202;
  font-weight: bold;
  font-size: 15px;
}
.selected {
  font-size: 15px;
  font-weight: bold;
  line-height: 20px;
}
.terms {
  height: 140px;
  padding: 5px 0 10px 10px;
  border: 1px solid #ccc;
  text-align: left;
  overflow: auto;
  margin: 5px 0 10px 0;
  border-radius: 4px;
}
.terms li {
  list-style: outside decimal none;
  margin-left: 20px;
}
.item_table td {
  padding-bottom: 18px !important;
  height: 80px;
  vertical-align: top;
}
.item_table td:last-child {
  padding-bottom: 0 !important;
}
.item_table img {
  padding-top: 5px;
}
.btn_order {
  float: left;
  width: 100%;
  text-align: center;
}
.btn_text {
  text-decoration: underline;
  padding:0 10px;
  background: none;
  border: 0;
  font-size: 14px;
  line-height: 2;
  cursor: pointer;
  vertical-align: bottom;
  position: relative;
}
.btn_text:hover {
  color: #989898;
  text-decoration: underline;
}
.btn_text:after{
  height: 6px;
  width: 6px;
  right:0;
  top: 36%;
  border-top: 2px solid gray;
  border-right: 2px solid gray;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;  
}
.btn-gray1 {
  color: #888888;
  background-color: #f5f5f5;
  border: solid 1px #c6c6c6;
  border-radius: 3px;
  padding: 3px 15px;
  vertical-align: baseline;
  font-size: 1.3rem;
}
.btn-gray1:hover {
  opacity: 0.6;
}
/* TABLE （ポイントエリア）
    ----------------------------------------------------------*/
#pc_grp {
  margin-bottom: 24px;
}

.point_area {
  width: 100%;
}

  .point_area th {
    text-align: left;
    width: 104px;
    vertical-align: top;
  }

  .point_area input[type="text"] {
    margin: 0;
    padding: 7px 5px;
    width: 80px;
    height: 40px;
  }

  .point_area td {
    padding-bottom: 5px;
    vertical-align: top;
  }

.PointList {
  margin-bottom: 16px;
}

.PointListOwned {
  font-weight: bold;
  font-size: 15px;
}
/* お届け時期
    ----------------------------------------------------------*/
.PaymentConfirmDateOfArrival {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #ccc;
  padding: 25px;
  margin-top: 20px;
}

.PaymentConfirmDateOfArrivalTitle {
  color: #fe70AC;
  font-size: 16px;
  font-weight: normal;
  margin: 0;
  background-color: #fff;
  padding: 0;
  line-height: 1.8;
}

.PaymentConfirmDateOfArrivalList {
  margin: 10px;
  font-size: 14px;
}

.PaymentConfirmDateOfArrivalListItem {
  margin-bottom: 16px;
}
.form-fields {
  margin-bottom: 0.5em;
}
#order-details .form-fields th {
  text-align: center;
}
.cost-details td {
  text-align: right;
}
.cost-details.domestic {
  margin-bottom: 1em;
}
.product-name span.gift-wrap {
  margin-left: 1em;
}
table.confirmed-address th, table.payment-type th {
  width: 100px;
}
#new-card th {
  width: 160px;
}
#card-info-note li {
  list-style-type: square;
}
.confirm-purchase {
  background: url(/img/cart/buttons/confirm_purchase.gif) no-repeat;
  height: 40px;
  width: 220px;
  display: block;
  margin: 0 auto;
}
.confirm-purchase.disabled {
  background-position: 0 -40px;
}
.button-gyay {
  color: #999;
  display: inline-block;
 *display: inline;
 *zoom: 1;
  border-radius: 4px;
  text-decoration: none;
  line-height: 2.5;
  font-weight: bold;
  white-space: nowrap;
  background: #f5f5f5 -moz-linear-gradient(90deg, rgba(0, 0, 0, 0.1) 0%, rgba(255, 255, 255, 0.3) 100%);
  background: #f5f5f5 -webkit-linear-gradient(90deg, rgba(0, 0, 0, 0.1) 0%, rgba(255, 255, 255, 0.3) 100%);
  box-shadow: 0px 0px 3px 0px rgba(17, 5, 11, 0.4);
  border: medium none;
  width: 100%;
  font-size: 20px;
  margin: 5px 0 10px;
}

.button-mini {
  height: 40px;
  width: 88px;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  line-height: 25px;
  font-size: 12px;
  box-sizing: border-box;
  display: block;
  padding: 7px 10px;
  background-color: #f3f3f3;
  border: 1px solid #cdcdcd;
  color: #5b5b5b;
  box-shadow: 0 1px #cdcdcd;
  font-weight: 700;
}
.button-mini:hover {
  opacity: 0.8;
}

/* クーポンダイアログ
----------------------------------------------------------*/

#modal-bg {
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
}
.modal-main {
  display: none;
  width: 500px;
  height: 400px;
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  color: #666666;
  position: fixed;
  z-index: 1001;
  padding: 20px;
  overflow-x: hidden;
  overflow-y: auto;
  transform:initial;
}
.modal-close:after {
  display: block;
  font-size: 21px;
  margin: -4px 0 0;
}
.modal-close {
  background-color: #ebebeb;
  border-radius: 20px;
  color: #333;
  cursor: pointer;
  height: 13px;
  line-height: 1;
  margin: 0;
  padding: 10px;
  position: fixed;
  right: 7px;
  text-align: center;
  top: 7px;
  width: 13px;
  z-index: 200000;
}
.no-scroll {
  overflow: hidden;
}
/* サンキュー
----------------------------------------------------------*/
.detail-product-image {
  display: table-cell;
  vertical-align: middle;
  width: 100px;
}
.detail-line-item {
  border-bottom: 1px dotted #ccc;
  display: flex;
  margin-bottom: 10px;
  padding-bottom: 10px;
  position: relative;
}
.detail-line-item .detail-center {
  flex: 1 0 0%;
}
.detail-line-item .detail-right {
  font-size: 1.5rem;
  line-height: 1.7em;
  margin-left: 30px;
  text-align: right;
  width: 190px;
}
.sub-total-line-item {
  font-size: 1.5rem;
  text-align: right;
}
/* クーポン
----------------------------------------------------------*/
#main-body-container {
  width: 930px;
  margin: 0 auto;
}
.coupon-select {
  border-bottom: 1px dotted #b3b3b3;
  box-sizing: border-box;
  display: table;
  font-size: 1.4rem;
  line-height: 20px;
  padding: 10px 0;
  width: 100%;
  table-layout: fixed;
}
.coupon-select a {
  display: block;
  color: #333;
  text-decoration: none;
}
.coupon-select a:hover {
  color: #333;
  text-decoration: underline;
}
.coupon-select:first-child {
  padding-top: 0;
}
.coupon-select:last-child {
  border: medium none;
}
.coupon-img {
  display: table-cell;
  vertical-align: middle;
  width: 25%;
}
.coupon-img img {
  width: 85%;
}
.coupon-detail {
  display: table-cell;
  vertical-align: middle;
  width: 80%;
}
/* クーポン利用一覧
----------------------------------------------------------*/
.waku_block .coupon-img {
  display: table-cell;
  vertical-align: middle;
  width: 25%;
}
.waku_block .coupon-img img {
  width: 85%;
}
.waku_block .coupon-detail {
  display: table-cell;
  font-size: 1.35rem;
  vertical-align: top;
  width: 40%;
}
.waku_block .coupon-btn {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  width: 40%;
}
.coupon-select-notavailable {
  border-bottom: 1px dotted #b3b3b3;
}
.coupon-select-notavailable, .coupon-select-notavailable p a {
  color: #b3b3b3;
  line-height: 20px;
  padding: 10px 0;
}
.coupon-select-notavailable img, .coupon-select-notavailable button {
  opacity: 0.5;
}
.over_p .btn-coupon-get {
  font-weight: bold;
  background-color: #f2f2f2;
  border: solid 1px #ffb0d1;
  border-radius: 4px;
  box-shadow: 0 2px #fe70ac;
  color: #fe70ac;
  padding: 3.5%;
  font-size: 12px;
  box-sizing: border-box;
  text-align: center;
  display: block;
  width: 100%;
  margin-bottom: 16px;
}

.PaymentConfirmCoupon {
  float: left;
}

#coupon_code_cancel_btn {
  float: right;
}
/* eペイメント
----------------------------------------------------------*/
.EPaymentLink {
  display: block;
  margin: 8px 0;
}
#order-items {
  width: 940px;
  margin-bottom: 15px;
  font-size: 1.4rem;
  text-align: center;
}
#order-items th {
  text-align: center;
  background-color: #eeeeee;
  border: solid 1px #cccccc;
  font-size: 1.4rem;
}
#order-items th, #order-items td {
  padding: 15px;
}
#order-items, #order-items th, #order-items td {
  border: solid 1px #cccccc;
  border-collapse: collapse;
}
/* コンビニ払い
----------------------------------------------------------*/
.center_area_info .terms {
  height: 330px;
  margin: 0;
  border: none;
}
.NetprotectionsBanner {
  display: block;
  margin-top: 16px;
}
.NetprotectionsBanner img {
  height: auto;
  width: 100%;
}
/* 3Dセキュア
----------------------------------------------------------*/
.threeDsecureImage{
  width: 100%;
}

/* 定期購入
----------------------------------------------------------*/
.DeliveryTitle {
  margin-top: 8px;
  font-weight: bold;
  display: inline-block;
}

.DeliveryDateStartSelect {
  width: 100%;
}

.DeliveryIntervalSelect {
  width: 74%;
}

.DeliveryIntervalSelectText {
  text-align: right;
  display: inline-block;
  width: 24%;
}

.DeliveryIntervalNote {
  margin-top: 16px;
}
/* 定期購入によるお支払いのイメージ
----------------------------------------------------------*/
.PaymentConfirmSubscription {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #ccc;
  padding: 25px;
  margin-top: 20px;
}

.PaymentConfirmSubscriptionTitle {
  color: #fe70AC;
  font-size: 16px;
  font-weight: normal;
  margin: 0;
  background-color: #fff;
  padding: 0;
  line-height: 1.8;
}

.PaymentConfirmSubscriptionList {
  display: flex;
  flex-wrap: wrap;
  margin: 10px;
  width: 50%;
}

.PaymentConfirmSubscriptionListTitle,
.PaymentConfirmSubscriptionListPrice {
  width: 50%;
}

.PaymentConfirmSubscriptionListTitle {
  margin-bottom: 8px;
}

.PaymentConfirmSubscriptionListPrice {
  text-align: right;
  font-weight: bold;
  font-size: 15px;
}

.PaymentConfirmSubscriptionNoteRed,
.PaymentConfirmSubscriptionNote {
  font-size: 12px;
  margin: 0 10px 4px;
}

.PaymentConfirmSubscriptionNoteRed {
  color: #F50028;
}

.PaymentConfirmSubscriptionNote:last-of-type {
  margin-bottom: 0;
}

/* ゲスト購入
----------------------------------------------------------*/
.btn_order .btn-common-pink {
  box-sizing: border-box;
  cursor: pointer;
  width: 100%;
  max-width: 432px;
  color: #fff;
  font-size: 22px;
  line-height: 35px;
  border-radius: 4px;
  background-color: #fe70ac;
  border: solid 1px #fe70ac;
  text-align: center;
  padding: 15px 0 8px;
  box-shadow: 0 5px #e94087;
  display: inline-block;
  margin-bottom: 24px;
}

/* 輸入代行規約
----------------------------------------------------------*/
.PaymentConfirmTermsTitle {
  color: #fe70AC;
  font-size: 16px;
  font-weight: normal;
  margin: 0;
  background-color: #fff;
  padding: 0;
  line-height: 1.8;
}