@charset "Shift_JIS";

/* ---------------------------------------
 カート投入時アラート画面
---------------------------------------- */
div.page_goodsagree_ div.cartlist_header_ h1.agree_ { margin: 0 0 30px 0;}
div.page_goodsagree_ div.agreelist_ img { width: auto !important; margin: 0 auto 40px;}

/* ---------------------------------------
 カート画面
---------------------------------------- */
div.page_cart_ { padding-top: 0;}
div.page_cart_ p.price_long_ { margin-bottom: 0 !important;}

/* オーダーフロー */
div.page_cart_ div.order_flow_ { margin: 33px auto 45px; text-align: center;}

/* タイトル */
div.page_cart_ div.cartlist_header_ h1.common_headline1_.nm_ { margin: 0 0 40px 0;}

/* タイトル下の注意文 */
div.page_cart_ p.CautionText { width: 100%; padding: 0; margin: 0; font-size: 16px; font-weight: 400; line-height: 1.8;}

/* メッセージ */
div.page_cart_ div.info_:has(div.cartlist_info_) { margin: 0 auto 40px;}
div.page_cart_ div.info_ span.info_ p.error_ { margin: 5px 0; font-size: 16px;}
div.page_cart_ div.info_ ul.error_ + span.info_ { margin: 0 2em 20px; display: block;}
div.page_cart_ div.info_ > span.info_ p.error_ + .message { margin-left: 2em; color: #EC0000;}
div.page_cart_ div.cartlist_info_ { width: 100%; font-size: 16px; font-weight: 400; color: #003CAD;}
div.page_cart_ .cartlist_message_frame_ { width: 100%; margin: 0 auto;}
div.page_cart_ .cartlist_message_frame_ p.cartlist_message_ { font-size: 14px;}

/* ボタン類 */
div.page_cart_ .button-area_ .button_ {
  width: 100%;
  height: 56px;
	margin: 0 auto;
  border-radius: 28px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 注文へ進む ボタン */
div.page_cart_ .button-area_ .button_.yellow_button_ { width: 260px;}

/* お買い物を続ける ボタン */
div.page_cart_ .btn_back_top_wrap_ { padding: 0 0 40px 0; margin: 0 0 40px 0; border-bottom: #DDD 1px solid; text-align: center;}
div.page_cart_ .btn_back_top_wrap_ a.btn_back_top_ { font-size: 16px; font-weight: 400; text-align: center; text-decoration: underline; color: #1D3994; transition: 0.2s;}
div.page_cart_ .btn_back_top_wrap_ a.btn_back_top_:hover { text-decoration: none; opacity: 0.7;}

/* お買い物を続ける（カートが空の場合） */
div.page_cart_.cart-empty .btn_back_top_wrap_ { padding: 40px 0 0 0; margin: 0 0 20px 0; border-top: #DDD 1px solid; border-bottom: none;}
div.page_cart_.cart-empty .btn_back_top_wrap_ a.btn_back_top_ { 
	width: 337px;
	height: 56px;
	margin: 0 auto;
	border-radius: 56px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #CC0000;
	transition: 0.2s;
}

/* よくある問い合わせはこちら ボタン */
div.page_cart_ div.faq_link_ { margin: 0 0 40px 0;}
div.page_cart_ div.faq_link_ a { 
	width: 337px;
	height: 56px;
	margin: 0 auto;
	border: #333 1px solid;
	border-radius: 56px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #FFF;
	transition: 0.2s;
}
div.page_cart_ div.faq_link_ a:hover { text-decoration: none; opacity: 0.7;}

/* ---------------------------------------
 カートフレーム
---------------------------------------- */
div.page_cart_ form[name="form"] { width: 100%; margin: 40px auto 0; overflow: hidden;}
div.page_cart_ div.cartlist_area_ { margin: 0 0 100px 0; overflow: hidden;}
div.page_cart_ div.cartlist_area_ > h2 { width: 100%; padding: 0; margin: 0 0 40px 0; border: none; font-size: 28px; font-weight: 400;}
div.page_cart_ div.cartlist_frame_ { width: calc(100% - 450px); max-width: 1020px; margin: 0 auto; float: left;}
div.page_cart_ div.cartlist_frame_ .cartlist_ttl_ { font-size: 18px; font-weight: bold; line-height: 1.5; display: none;}
div.page_cart_ div.cartlist_line_ { width: 100%; padding: 0; border: #D8D8DB 1px solid; border-radius: 6px; border-collapse: separate; border-spacing: 0; overflow: hidden;}
div.page_cart_ div.cartlist_line_ + .cartlist_ttl_ + div.cartlist_line_, 
div.page_cart_ div.cartlist_line_ + div.cartlist_line_ { margin-top: 40px;}
div.page_cart_ div.cartlist_line_ .cartlist_line_normal_ { width: 100%; padding: 20px; display: flex; justify-content: space-between; position: relative;}
div.page_cart_ div.cartlist_line_ .cartlist_line_normal_ + .cartlist_line_normal_::before {
	content: ''; width: calc(100% - 40px);
	border-top: #D8D8DB 1px solid;
	display: block;
	position: absolute;
	top: 0;
	left: 20px;
}
div.page_cart_ div.cartlist_line_ .favorite_ { display: flex; justify-content: flex-end; align-items: center;}
div.page_cart_ div.cartlist_line_ .favorite_ .bookmark_btn { width: 22px; height: 20px; padding: 0; margin: 0; color: #FFF; display: block; position: relative; overflow: hidden;}
div.page_cart_ div.cartlist_line_ .favorite_ .bookmark_btn::before {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: url(../../img/usr/icon/icon_bookmark02.png) center center / contain no-repeat;
  position: relative;
  z-index: 2;
}
div.page_cart_ div.cartlist_line_ .favorite_ .bookmark_btn.block-goods-favorite-registed--btn { background: none !important;}
div.page_cart_ div.cartlist_line_ .favorite_ .bookmark_btn.block-goods-favorite-registed--btn::before { background: url(../../img/usr/icon/icon_bookmark02_on.png) center center / contain no-repeat;}
div.page_cart_ div.cartlist_line_ .img_ { width: 190px; padding: 0; border: none; display: block;}
div.page_cart_ div.cartlist_line_ .img_ a { display: block;}
div.page_cart_ div.cartlist_line_ .img_ img { width: 100%; vertical-align: top;}
div.page_cart_ div.cartlist_line_ .desc_ { width: calc(100% - 220px); padding: 0; border: none; display: flex; flex-direction: column;}
div.page_cart_ div.cartlist_line_ .name_ { margin: 0 0 20px 0; font-size: 16px; font-weight: 400;}
div.page_cart_ div.cartlist_line_ .name_ a { font-size: 16px; font-weight: 400; color: #333; text-decoration: none;}
div.page_cart_ div.cartlist_line_ .name_ .name2_ { font-size: 14px;}
div.page_cart_ div.cartlist_line_ .money_ { white-space: nowrap; text-align: right;}
div.page_cart_ div.cartlist_line_ .price_box_ { margin: 0 0 20px 0; text-align: right;}
div.page_cart_ div.cartlist_line_ .price_box_ > span { font-size: 14px;}
div.page_cart_ div.cartlist_line_ .price_box_ .price_ { margin: 0 0 5px 0; font-size: 24px;}
div.page_cart_ div.cartlist_line_ .price_box_ .price_ span { font-size: 11px;}
div.page_cart_ div.cartlist_line_ .price_box_ .price_ span.yen_ { font-size: 20px;}
div.page_cart_ div.cartlist_line_ .point_box_ .point_ { margin-bottom: 8px; font-size: 14px;}
div.page_cart_ div.cartlist_line_ .point_box_ .include_ { margin: 0 0 5px; font-size: 14px;}
div.page_cart_ div.cartlist_line_ .point_box_ .delivery_limit_ { margin: 0 0 5px; font-size: 14px; color: #EC0000;}
div.page_cart_ div.cartlist_line_ .point_box_ span.promotion_point_total_ { font-weight: 500;}
div.page_cart_ div.cartlist_line_ .point_box_ p.pointup_name_tag_ { margin: 0 0 7px 0; word-break: break-word;}
div.page_cart_ div.cartlist_line_ .button_box_ { margin: auto 0 0 0; display: flex; justify-content: flex-end; align-items: center;}
div.page_cart_ div.cartlist_line_ .button_box_ .qty_box_ { margin: auto 0 0 0; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center;}
div.page_cart_ div.cartlist_line_ .button_box_ .qty_select_ { width: 75px; height: 40px; padding: 0 28px 0 16px; text-align: center;}
div.page_cart_ div.cartlist_line_ .button_box_ input[name^="qty"] { width: 90px; height: 40px; min-height: 40px; margin: 0; text-align: center; text-decoration: none; display: none;}
div.page_cart_ div.cartlist_line_ .button_box_ input[name="update"] {
  width: 90px;
	height: 40px;
	min-height: 40px;
  padding: 0;
  margin: 0;
  border: #CC0000 1px solid;
  border-radius: 6px;
  font-size: 16px;
	font-weight: 700;
  text-align: center;
	text-decoration: none;
	line-height: 38px;
	color: #FFF;
	display: none;
  background: #CC0000;
  cursor: pointer;
}
div.page_cart_ div.cartlist_line_ .button_box_ .update_ { margin: 0 0 0 10px; display: none;}
div.page_cart_ div.cartlist_line_ .button_box_ .update_text_ { width: 100%; margin: 5px 0 0; font-size: 12px; text-align: right; color: #414143; display: none;}
div.page_cart_ div.cartlist_line_ .button_box_ .delete_ { margin: 0 0 0 20px;}
div.page_cart_ div.cartlist_line_ .button_box_ .delete_ input[name^="del"] { 
	padding: 0;
	border: 0;
	font-size: 16px;
	text-decoration: underline;
	color: #1D3994;
	display: inline-block;
	background: none;
	cursor: pointer;
	position: relative;
	top: -4px;
}
div.page_cart_ div.cartlist_line_ .cartlist_line_total_ { padding: 26px 38px 26px 263px; border-top: #D8D8DB 1px solid; background: #F2F2F2;}
div.page_cart_ div.cartlist_line_ .cartlist_line_total_ .price_frame_ { font-size: 20px; font-weight: 400; word-break: keep-all; white-space: nowrap; display: flex; align-items: center;}
div.page_cart_ div.cartlist_line_ .cartlist_line_total_ .price_frame_ + .price_frame_ { margin-top: 14px;}
div.page_cart_ div.cartlist_line_ .cartlist_line_total_ .price_frame_ .desc_ { font-size: 12px;}
div.page_cart_ div.cartlist_line_ .cartlist_line_total_ .price_frame_ .price_ { margin: 0 0 0 auto; font-size: 20px; font-weight: 400;}
div.page_cart_ div.cartlist_line_ .cartlist_line_total_ .price_frame_.total_ .price_ { font-size: 24px; font-weight: 400;}
div.page_cart_ div.cartlist_line_ .cartlist_line_total_ .price_frame_.total_ .price_ .yen_ { font-size: 20px; font-weight: 400;}
div.page_cart_ div.cartlist_line_ input.calc_ { width: 0; height: 0; padding: 0; margin: 0; border: none; outline: none; display: none;}

@media only screen and (max-width: 1210px) {
	div.page_cart_ div.cartlist_line_ .cartlist_line_total_ { padding: 26px 38px;}
}

/* ---------------------------------------
 カートフレーム内 右カラム - 商品合計
---------------------------------------- */
div.cartlist_area_ div.summally-area_ { width: 420px; margin: 0; border-radius: 6px; float: right;}
div.cartlist_area_ div.sum_frame_inner_ { padding: 20px 40px; border-radius: 6px; background: #F2F2F2; overflow: hidden;}
div.cartlist_area_ div.sum_frame_inner_ .subtotal_ { display: flex; align-items: center; justify-content: space-between;}
div.cartlist_area_ div.sum_frame_inner_ .subtotal_ dt { font-size: 16px; font-weight: 400;}
div.cartlist_area_ div.sum_frame_inner_ .subtotal_ dd { font-size: 24px; font-weight: 400;}
div.cartlist_area_ div.sum_frame_inner_ .subtotal_ dd .yen_ { font-size: 20px; font-weight: 400;}
div.cartlist_area_ div.sum_frame_inner_ .postage_ { margin-top: 10px; display: flex; justify-content: space-between;}
div.cartlist_area_ div.sum_frame_inner_ .postage_ dt { font-size: 16px; font-weight: 400;}
div.cartlist_area_ div.sum_frame_inner_ .postage_ dt span { width: 100%; margin-top: 8px; font-size: 12px; font-weight: 400; font-feature-settings: "palt"; display: block;}
div.cartlist_area_ div.sum_frame_inner_ .postage_ dd { font-size: 20px; font-weight: 400; flex-shrink: 0;}
div.cartlist_area_ div.sum_frame_inner_ .message_ { margin-top: 30px; font-size: 14px; text-align: justify; line-height: 1.7; color: #EC0000;}
div.cartlist_area_ div.sum_frame_inner_ + .button-area_ { padding-bottom: 20px; margin-top: 27px;}

/* お届け先の選択 */
div.page_cart_ .destination-title { margin: 0 0 20px 0; font-size: 16px; font-weight: 400; text-align: center;}
div.page_cart_ .destination-list { margin: 0 0 17px 0; display: flex; justify-content: space-between; column-gap: 20px;}
div.page_cart_ .destination-item { width: calc(50% - 10px); min-height: 129px; border-radius: 6px; display: block; background: #FFF; position: relative;}
div.page_cart_ .destination-item label {
  width: 100%;
  height: 100%;
  padding: 86px 10px 13px;
  margin: 0;
  border: #333 1px solid;
  border-radius: 6px;
  line-height: 1;
  display: block;
  background: #FFF;
  position: relative;
  z-index: 2;
  cursor: pointer;
}
div.page_cart_ .destination-item label .itemIcon { width: auto; height: 50px; padding: 0; margin: 0; position: absolute; top: 19px; left: 50%; transform: translateX(-50%);}
div.page_cart_ .destination-item label .itemIcon img { width: auto; height: 100%;}
div.page_cart_ .destination-item label p { padding: 0; margin: 0; font-size: 16px; font-weight: 700; text-align: center; position: relative;}
div.page_cart_ .destination-item input { display: none;}
div.page_cart_ .destination-item.disabled_ { pointer-events: none;}
div.page_cart_ .destination-item.disabled_ label { border-color: #D2D2D2; background: #FFF;}
div.page_cart_ .destination-item.disabled_ label p { padding: 0 !important; color: #D2D2D2;}
div.page_cart_ .destination-item.disabled_ label p::after { display: none;}
div.page_cart_ p.destination-notes { margin: 0 0 20px 0; font-size: 14px; font-weight: 400; text-align: center;}

/* ソーシャルギフトで贈るボタン */
div.page_cart_ .check_social_gift_button_area_ { margin: 0 0 20px 0;}
div.page_cart_ .check_social_gift_button_ {
	width: 300px;
  height: 60px;
  padding: 0 0 0 20px;
  margin: 0 auto;
  border: #333 1px solid;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  position: relative;
  cursor: pointer;
}
div.page_cart_ .check_social_gift_button_::before {
  content: '';
  width: 25px;
  height: 25px;
  display: block;
  background: url(../../img/usr/icon/icon_gift.png) center center / contain no-repeat;
  position: absolute;
  top: 50%;
  left: 34px;
  transform: translateY(-50%);
}
div.page_cart_ p.destination-notes { padding: 0 0 0 1em; margin: 0 0 20px 0; font-size: 14px; font-weight: 400; text-indent: -1em; text-align: center;}
div.page_cart_ p.socialgift-notes { padding: 0 0 0 1em; margin: 0 0 20px 0; font-size: 14px; font-weight: 400; text-indent: -1em; text-align: center;}

/* ソーシャルギフト有効期限モーダル */
div.page_cart_ .cart-list-modal {
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	opacity: 0;
	display: none;
	position: fixed;
	top: 0;
	left: 50%;
	z-index: 300;
	transform: translateX(-50%);
	transition: 0.3s ease-in-out;
	pointer-events: none;
}
div.page_cart_ .cart-list-modal.is-open { opacity: 1; pointer-events: all; display: block;}
div.page_cart_ .cart-list-modal .overlay { width: 100%; height: 100%; background: rgb(0,0,0,0.75); transition: 0.3s ease-in-out; opacity: 0;}
div.page_cart_ .cart-list-modal.is-open .overlay { opacity: 1;}
div.page_cart_ .cart-list-modal .modal-body {
  width: calc(100% - 30px);
  max-width: 600px;
  max-height: calc(100% - 100px);
  padding: 0;
  margin: 0;
  border-radius: 12px;
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  overflow: hidden;
  transform: translate(-50%, -50%);
}
div.page_cart_ .cart-list-modal .modal-body .body-slide { padding: 40px 56px; display: flex; flex-direction: column;}
div.page_cart_ .cart-list-modal .modal-body .body-slide .modal-close {
  width: 163px;
  height: 40px;
  padding: 0 0 0 15px;
	margin: 0 auto 0 0;
  border: #333 1px solid;
  border-radius: 20px;
  font-size: 16px;
	font-weight: bold;
  text-decoration: none;
  color: #333;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FFF;
	position: relative;
}
div.page_cart_ .cart-list-modal .modal-body .body-slide .modal-close::before {
  content: '';
  width: 6px;
  height: 12px;
  display: block;
  background: url("../../img/usr/common/back_arrow.png") center center / contain no-repeat;
  position: absolute;
  top: 50%;
  left: 8px;
  transform: translate(100%, -50%);
}
div.page_cart_ .cart-list-modal .modal-body .modal-slide-item { padding: 25px 0 15px;}
div.page_cart_ .cart-list-modal .modal-body .modal-title { padding: 0; margin: 0 0 25px 0; font-size: 24px; font-weight: 400; text-align: center; line-height: 1.8;}
div.page_cart_ .cart-list-modal .modal-body .modal-content { margin: 0 -20px;}
div.page_cart_ .cart-list-modal .modal-body .modal-content p { margin: 0 0 40px 0; font-size: 14px; font-weight: 400; text-align: center; line-height: 1.8;}
div.page_cart_ .cart-list-modal .modal-body .modal-content p span { color: #CC0000;}
div.page_cart_ .cart-list-modal .modal-body .modal-content .button_ { width: 240px; height: 56px; margin: 0 auto;	text-decoration: none;}

/* ソーシャルギフトで贈る場合 */
div.page_cart_ .socialgift_cart_goods_comment_ h3.title_ { margin: 0 0 15px 0; font-size: 24px; font-weight: 500; text-align: center;}
div.page_cart_ .socialgift_cart_goods_comment_ p.text_ { font-size: 14px; font-weight: 400; text-align: justify; line-height: 1.6;}
div.page_cart_ .socialgift_cart_goods_comment_ p.text_.line1_ { margin: 0 auto 40px;}
div.page_cart_ .socialgift_cart_goods_comment_ figure.sample_ { width: 292px; margin: 0 auto 40px;}
div.page_cart_ .socialgift_cart_goods_comment_ figure.sample_ img { width: 292px;}

/* ソーシャルギフトとは？ */
div.page_cart_ .social_gift_link_ { text-align: center;}
div.page_cart_ .social_gift_link_ a { font-size: 14px; font-weight: 500; text-decoration: underline; color: #1D3994; transition: 0.2s;}
div.page_cart_ .social_gift_link_ a:hover { text-decoration: none;}

/* ---------------------------------------
 新レコメンド
---------------------------------------- */
div.page_cart_ div.recommendbox_ { margin: 0;}

/* ---------------------------------------
 カートが空の場合
---------------------------------------- */
div.page_cart_ div.nodata_ { margin: 0 0 40px 0; font-size: 16px; line-height: 2.0;}
