/* ヘッダー・フッター・などこここから削除していた、eccubeのlayout側で制御するので削除 */
/*
.cart_page .header_mypage,
.cart_page .header_top,
.cart_page .gnavi,
.cart_page .footer .container div.sp,
.cart_page footer,
.other_page .header_mypage,
.other_page .header_top,
.other_page .gnavi,
.other_page .footer .container div.sp,
.other_page footer {
    display: none!important;
}
*/


.sec_main {
    margin-top: 20px
}

/* 買い物を続けるボタン  */
.confirm-or-continue {
	display: flex;
	flex-direction: column;
	align-items: center;
}

@media (min-width: 865px) {
	.confirm-or-continue {
		flex-direction: row-reverse;
		justify-content: space-around;
		align-items: flex-start;
	}
}

.btn_box0622 .confirm-or-continue .right {
	width: 46%;
	padding-top: 0;
	padding-bottom: 0;
}

@media (max-width: 864px) {
	.btn_box0622 .confirm-or-continue .right {
		width: auto;
	}
}

@media (min-width: 865px) {
	.btn_box0622 .confirm-or-continue .right {
		width: 50%;
	}
	.btn_box0622 .confirm-or-continue .right:nth-child(1) {
		margin-left: 10px;
	}
	.btn_box0622 .confirm-or-continue .right:nth-child(2) {
		margin-right: 10px;
	}
}

.btn_box0622 .right .continue {
	padding-top: 0;
}

@media (max-width: 864px) {
	#AmazonPayButton {
		width: 296px;
	}
}
.btn_box0622 a.btn.btn-primary.btn-block {
	min-width: 218px;
}
@media (max-width: 864px) {
	.btn_box0622 a.btn.btn-primary.btn-block {
		margin-bottom: 0;
		width: 296px;
	}
}

.continue.no-cart {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

@media (max-width: 864px) {
	.btn_box0622 a.btn.continue.btn-block {
		width: 296px;
	}
}
/* 買い物を続けるボタン（カートに商品がない時）*/
.right.continue.no-cart {
	padding-top: 0;
}
.right.continue.no-cart a.btn.continue.btn-block {
	color: #232323;
	text-decoration: underline;
	font-weight: normal;
	padding-top: 0;
}
/* 購入内容を確認するボタン */
@media only screen and (max-width: 768px) {
	.btn_box0622 a.btn.btn-primary.btn-block.confirm-item {
		width: 296px;
		max-width: 100%;
	}
}

/* ご注文手続きへボタンの背景色設定 */
.cart_page .btn_box0622 a.btn.btn-primary.btn-block.confirm-item,
.cart_page .btn_box0622 a.btn-primary.confirm-item,
.cart_page .btn-primary.confirm-item {
	background-color: #f55e94;
	border-color: #f55e94;
	background-image: none;
}

.cart_page .btn_box0622 a.btn.btn-primary.btn-block.confirm-item,
.cart_page .btn_box0622 a.btn.continue.btn-block,
.cart_page #AmazonPayButton {
	padding: 0;
	margin-bottom: 10px;
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
    height: 45px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 2em;
}

.no_cart_continue {
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
    height: 45px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 2em;
    margin: 0 auto;
    background-color: #FFFFFF;
    color: #333333;
    border: 2px solid #CCCCCC;
    background-image: none;
    width: fit-content;
    min-width: 240px;    /* 最低限の幅を確保 */
    padding: 0 24px;     /* 左右の余白でテキストとの間隔を作る */
}

/* ご注文手続きへボタン（右矢印）のスタイル */
.cart_page .btn.btn-primary.btn-block.confirm-item {
	position: relative;
	text-align: center;
}

.cart_page .btn.btn-primary.btn-block.confirm-item .arrow-right {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-weight: bold;
	color: inherit;
}

.cart_page .btn.btn-primary.btn-block.confirm-item span:not(.arrow-right) {
	display: inline-block;
	text-align: center;
}

/* 買い物を続けるボタン（左矢印）のスタイル */
.cart_page .btn.continue.btn-block {
	position: relative;
	text-align: center;
}

.cart_page .btn.continue.btn-block .arrow-left {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-weight: bold;
	color: inherit;
}

.cart_page .btn.continue.btn-block span:not(.arrow-left) {
	display: inline-block;
	text-align: center;
}


.mt50 { margin-top:50px;}
.btn_box0622 { border-left:1px solid #B8BEC4; border-right:1px solid #B8BEC4; border-top:1px solid #B8BEC4; border-bottom:1px solid #B8BEC4;padding:1% 3%; width:100%; margin-bottom:30px; }
.btn_box0622 .left { float:left; width:64%; text-align:left;}
.btn_box0622 .right { float:left; width:36%;}
.btn_box0622 .right2 { float:left; width:36%; padding-top:15px;}
.btn_box0622 .left .ttl { font-size:18px; font-weight:bold; color:#DA4A3A; margin-bottom:20px;}
.btn_box0622 .left .ttl2 { font-size:18px; font-weight:bold; color:#FF7F00; margin-bottom:0;}
.btn_box0622 .left .text2 { color:#525263; font-size:14px; margin-bottom:0px; margin-top: 0;}
.btn_box0622 .left .texts2 { color:#525263; font-size:12px; margin-top: 5px;}
.btn_box0622 .bb { border-bottom:1px dashed #B8BEC4; padding-bottom:20px;}
.btn_box0622 a.btn.btn-primary.btn-block {
/*width: 296px; height: 60px;*/
padding: 0.3em 0;
height: 45px;
border:1px solid #B20000;
display: inline-block;
/*font-size: 20px; */
font-weight: bold;
color: #fff;
letter-spacing: 0;
border-radius: 5px;
text-decoration: none;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #D83E2D), color-stop(0.00, #DE5C4F));
background: -webkit-linear-gradient(top, #DE5C4F 0%, #D83E2D 88%);
background: -moz-linear-gradient(top, #DE5C4F 0%, #D83E2D 88%);
background: -o-linear-gradient(top, #DE5C4F 0%, #D83E2D 88%);
background: -ms-linear-gradient(top, #DE5C4F 0%, #D83E2D 88%);
background: linear-gradient(to bottom, #DE5C4F 0%, #D83E2D 88%);
line-height: 2.0em;
}
.back0622 a.btn.btn-info.btn-block { width: 296px; height: 60px; border:1px solid #1C1C20;
display: inline-block;
font-size: 20px;
font-weight: bold;
color: #fff;
letter-spacing: 0;
border-radius: 5px;
text-decoration: none;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0.88, #3F3F4C), color-stop(0.00, #515162));
background: -webkit-linear-gradient(top, #515162 0%, #3F3F4C 88%);
background: -moz-linear-gradient(top, #515162 0%, #3F3F4C 88%);
background: -o-linear-gradient(top, #515162 0%, #3F3F4C 88%);
background: -ms-linear-gradient(top, #515162 0%, #3F3F4C 88%);
background: linear-gradient(to bottom, #515162 0%, #3F3F4C 88%);
line-height: 2.0em;
}
.back0622 { text-align:center;}
.back0622 a:hover { color:#fff; text-decoration:none;}
.or20170703 {position: relative; width:30px; margin:0 auto;}
.or20170703 p{position: absolute; top: -28px; background: #fff; width: 30px; text-align: center;}
@media only screen and (min-width: 768px) {
.total_box {min-width: inherit;float: none;}
}
@media only screen and (max-width: 768px){
.btn_box0622 { padding:0; border-left:none; border-right:none; border-top:1px solid #B8BEC4; border-bottom:1px solid #B8BEC4;}
.btn_box0622 .left { float:none; width:100%; text-align:left;}
.btn_box0622 .right { float:none; width:100%;}
.btn_box0622 .right2 { float:none; width:100%; padding-top:0px; text-align:center; padding: 0 3% 3%;}
.btn_box0622 a.btn.btn-primary.btn-block { width: 100%;}
.back0622 a.btn.btn-info.btn-block { width: 100%; }
.btn_box0622 .left .ttl { font-size:16px; font-weight:bold; padding:2%; text-align:center; margin-bottom: 0px;margin-top: 20px;}
.btn_box0622 .left .ttl2 { font-size:16px; font-weight:bold; padding:2%; text-align:center; margin-bottom: 0px;margin-top: 20px;}
.btn_box0622 .left .text2 { color:#525263; font-size:14px; padding: 3% 0 0; text-align:left; max-width: 100%;}
.btn_box0622 .left .texts2 { color:#525263; font-size:12px; padding:0 3% 3% 3%;}
.btn_box0622 .right { text-align:center; padding:3%;}
.total_box .btn_group p.ttl { margin: 0px;}
.total_box .btn_group p.ttl2 { margin: 0px;}
.btn_box0622 .bb { padding-bottom:0px;}
.or20170703 { width:30px; margin:0 auto;}
.or20170703 p{position: absolute; top: -20px; left: 0px; background: #fff; width: 30px; text-align: center;}
}
@media (max-width: 767px) {
  .btn_box0622 .left .text2 {
    padding: 28px 3% 0;
  }
}
@media (min-width: 1200px) {
  .btn_box0622 .left { padding-right: 39px;}
}
@media (max-width: 1199px) and (min-width: 768px) {
  .btn_box0622 .left {
    padding-right: 18px;
  }
}
@media (max-width: 1000px) {
  .btn_box0622 .left .ttl2 {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .btn_box0622 .left {
    padding-top: 10px;
  }
}
@media (max-width: 864px) and (min-width: 768px) {
  .btn_box0622 .left {
    float: none;
    width: 96%;
    margin: 0 auto;
    text-align: left;
  }
  .btn_box0622 .right2 {
    float: none;
    width: 100%;
    text-align: center;
    padding-top: 15px;
  }
}
@media (max-width: 1062px) and (min-width: 992px) {
  .btn_box0622 .right2 {
    text-align: center;
    width: 100%;
  }
  .btn_box0622 .left {
    width: 100%;
  }
}

.btn {
    color: #fff;
    background-color: #FD7523;
    border-color: #FD7523;
    margin: 10px 0;  /* ← これ */
}

.btn_box0622 .bb {
    border-bottom: none;
    padding-bottom: 0;
}



/* 商品内容カラムのデザイン設定 */
.cart_page #cart_item_list__product_detail.item_name a {
	color: #333333;
}

.cart_page #cart_item_list__class_category.item_pattern {
	color: #999999;
}


/* ボタン群の統一サイズ・外枠削除設定 */
.cart_page .btn_box0622 {
	border: none;
	padding: 0;
	background: none;
}

/* カートページ全体の左右余白 */
.cart_page .ec-cartRole {
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

@media (max-width: 864px) {
	.cart_page .ec-cartRole {
		padding-left: 12px;
		padding-right: 12px;
	}
}

.cart_page .btn_box0622 .bb {
	border: none;
	padding: 0;
	margin-bottom: 10px;
}

/* AmazonPay SDK が <p> にインライン style="width:450px;height:45px;" を書くので !important で上書き */
/* 高さは shadow-root 内 .amazonpay-next-gen-button-container の max-height:72px までしか伸びない */
.cart_page [id^="AmazonPayButton"] {
	width: 100% !important;
	max-width: 100% !important;
	height: 60px !important;
	margin: 30px 0 10px !important;
	display: block;
	box-sizing: border-box;
}

/* カートページの￥マークを薄いグレーにするスタイル */
.cart_page .currency-symbol {
    color: #999999;
}

/* カートページの商品詳細情報（保証・工事場所・工事日・送料）を薄いグレーにするスタイル */
.cart_page #cart_item_list__class_category.item_pattern {
    color: #999999;
}

/* カートページの商品詳細情報のdd要素を薄いグレーにするスタイル */
.cart_page .item_detail dd:not(#cart_item_list__item_price):not(#cart_item_list__item_subtotal) {
    color: #999999;
}


.cart_page .item_detail .item_name {
    margin-bottom: 8px;
	line-height: 1.5;
}

.cart_page .item_detail .item_name a {
    word-wrap: break-word;
    word-break: break-all;
    display: block;
}

.cart_page .item_detail dd {
    margin-bottom: 5px;
    line-height: 1.5;
}

/* スマートフォン版カート表示の改善 */
/* デスクトップ版では新しい構造を非表示 */
.cart_page .item_quantity_wrapper {
	display: none;
}

.cart_item .item_box > .td {
	border-bottom: 0px;
}

@media (max-width: 767px) {
	/* スマートフォン版では新しい構造を表示 */
	.cart_page .item_quantity_wrapper {
		display: flex;
	}

	/* スマートフォン版では既存の構造を非表示 */
	.cart_page #cart_item_list__item .icon_edit.td,
	.cart_page #cart_item_list__item .item_quantity.td,
	.cart_page #cart_item_list__item .item_subtotal.td {
		display: none;
	}

	.cart_page #cart_item_list__item.item_box {
		display: block;
		border: 1px solid #ddd;
		margin-bottom: 15px;
		padding-left: 10px;
		padding-right: 10px;
		padding-top: 10px;
		border-radius: 5px;
	}

	.cart_page #cart_item_list__item .td {
		display: block;
		width: 100%;
		margin-bottom: 10px;
	}

	.cart_page #cart_item_list__item .td.table {
		margin-bottom: 15px;
	}

	/* 商品情報部分 */
	.cart_page #cart_item_list__item .td.table .item_photo {
		float: left;
		width: 80px;
		margin-right: 10px;
	}

	.cart_page #cart_item_list__item .td.table .item_detail {
		overflow: hidden;
		margin-left: 90px;
	}

	/* 数量と小計の配置 */
	.cart_page #cart_item_list__item .item_quantity_wrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: auto;
		padding: 8px 0 0 0;
	}

	.cart_page #cart_item_list__item .quantity_section {
		display: flex;
		align-items: center;
		margin-left: auto;
		margin-right: 0px;
	}

	/* 数量グループ */
	.cart_page #cart_item_list__item .quantity_group {
		display: flex;
		flex-direction: column;
		text-align: center;
		align-items: center;
		justify-content: center;
		margin-right: 10px;
		height: 100%;
	}

	.cart_page #cart_item_list__item .quantity_section .quantity_label {
		font-size: 14px;
		color: #999999;
		font-weight: bold;
		text-align: center;
		padding: 0;
		margin: 5px;
		line-height: 1.2;
		height: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.cart_page #cart_item_list__item .quantity_section .quantity_controls {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 10px;
		margin: 0px;
		height: 30px;
	}

	/* 金額グループ */
	.cart_page #cart_item_list__item .price_group {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		margin: 5px;
		height: 100%;
	}

	.cart_page #cart_item_list__item .subtotal_label {
		font-size: 14px;
		color: #999999;
		font-weight: bold;
		text-align: center;
		padding: 0;
		margin: 0;
		line-height: 1.2;
		height: 50%;
		display: flex;
		margin: 5px;
		align-items: center;
		justify-content: center;
	}

	.cart_page #cart_item_list__item .subtotal_value {
		font-size: 16px;
		font-weight: bold;
		color: #333;
		padding: 10px;
		margin: 0;
		text-align: center;
	}

	.cart_page #cart_item_list__item .quantity_section .quantity_controls a,
	.cart_page #cart_item_list__item .quantity_section .quantity_controls span {
		display: inline-block;
		width: 30px;
		height: 30px;
		line-height: 30px;
		text-align: center;
		border: 1px solid #cccc;
		text-decoration: none;
		color: #333;
		border-radius: 50%;
	}

	.cart_page #cart_item_list__item .quantity_section .quantity_controls .quantity_value {
		display: inline-block;
		width: 30px;
		justify-content:
		 center;
		font-size: 16px;
		font-weight: bold;
		margin: 0 5px;
		border: none;
		background: none;
	}



	/* 削除ボタンの配置 */
	.cart_page #cart_item_list__item .delete_section {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-end;
		margin: 10px;
		align-self: flex-end;
	}

	.cart_page #cart_item_list__item .delete_section a {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.cart_page #cart_item_list__item .delete_section img {
		width: 20px;
		height: 20px;
	}

	.cart_page #cart_item_list__item .delete_section .delete_label {
		font-size: 14px;
		color: #b6b6b6;
		font-weight: bold;
		padding-right: 5px;
	}
	.cart_page #cart_item_list__item .td.table {
		margin-bottom: 2px;
	}

	.cart_page .total_box dl {
		margin-left: 0%;
	}
}

/* 買い物を続けるボタン（左矢印）のスタイル */
.cart_page .btn.continue.btn-block {
	position: relative;
	text-align: center;
}

.cart_page .btn.continue.btn-block .arrow-left {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-weight: bold;
	color: inherit;
}

.cart_page .btn.continue.btn-block span:not(.arrow-left) {
	display: inline-block;
	text-align: center;
}


.cart_page .cart_item .item_box .item_quantity {
	width: 120px;
	min-width: 120px;
	text-align: center;
	font-weight: bold;
	border-bottom: 0px;
}



.cart_page .item_subtotal {
	width: 150px;
	min-width: 150px;
	text-align: right;
	font-size: 1.2em;
	font-weight: bold;
	border-bottom: 0px;
}

/* 買い物を続けるボタンの設定 */
.cart_page .btn_box0622 a.btn.continue.btn-block,
.cart_page .btn.continue,
.cart_page .right.continue a.btn.continue.btn-block {
	background-color: #ffffff;
	color: #333333;
	border: 1px solid #cccccc;
	background-image: none;
}

/* カート内小計金額の太文字・大きく設定 */
.cart_page #cart_item_list__subtotal.item_subtotal.td {
	font-weight: bold;
	font-size: 1.2em;
}

.ec-cartRole__actions {
    margin-top: 15px;
}

/* 合計金額ボックスの背景色・文字色設定 */
.cart_page #total_box__total_price.total_price {
	background-color: #f5f5f5;
	padding: 10px;
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: bold;
}

.cart_page #total_box__total_price.total_price dt {
	color: #333333;
	font-size: 16px;
	text-align: left;
	margin: 0;
	width: 40%;
}

.cart_page #total_box__total_price.total_price dd {
	color: #333333;
	font-size: 24px;
	text-align: right;
	margin: 0;
	width: 100%;
	padding-left: 0;
}

/* カートページのヘッダー背景色設定 */
.cart_item_list__header {
	background-color: #cccc;
}

/* カートページのヘッダーリスト項目の背景色設定 */
.cart_item_list__header li {
	background-color: #cccc;
	color: #ffffff;
}


/* カートに商品がない場合の警告 */
.ec-alert-warning {
    width: 90%;
    padding: 10px;
    text-align: center;
    background: #F99;
    margin: 0 auto 20px;
}

.ec-alert-warning .ec-alert-warning__inner {
    display: inline-block;
}

.ec-alert-warning .ec-alert-warning__inner__item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.ec-alert-warning .ec-alert-warning__icon {
    display: inline-block;
    margin-right: 1rem;
    width: 20px;
    height: 20px;
    color: #fff;
    fill: #fff;
    vertical-align: top;
}

.ec-alert-warning .ec-alert-warning__text {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    position: relative;
    flex: 1;
    word-break: break-all;
}

..flow_wrap .frow-contents-wrap {
 	background-image: url(../img/css_custom/flow/frow-contents-wrap-bg.png);
 	background-size: contain;
 	margin: 0 -10px 0;
 	padding: 0 10px;
 }