@charset "utf-8";

/* +++++++++++++++++++++++++++++++

cart.css

+++++++++++++++++++++++++++++++ */

/* レイアウト
-----------------------------------*/
#main .section.form {
    margin-bottom: 50px;
}
#main .section > .section {
    width: 920px;
    margin: 30px auto;
}
#flow + p,
.form > p {
    margin: 20px;
    font-size: 14px;
}
.form .column {
    float: left;
    width: 440px;
}
.form .column + .column { margin-left: 60px; }

.form .column .image {
    margin: 20px 0;
    text-align: center;
}

.form ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.form .column ul li {
    padding-left: 1em;
    text-indent: -1em;
}
.form ul li:not(:last-child ) { margin-bottom: 8px; }

/* ラジオ系ボックス */
.box_check {
    padding-top: 20px;
    border-top: 1px dotted #aaa;
}
.box_check:not(:last-child) { margin-bottom: 20px; }

.box_check label  {
	position: relative;
	display: inline-block;
	padding-left: 40px;
	padding-right: 20px;
	font-size: 16px;
	font-weight: bold;
}
.box_check label input {
    position: absolute;
    top: 5px;
    left: 18px;
}
.box_check label span { font-size: 13px; }
.box_check label .payment {
    margin-left: 5px;
    font-size: 11px;
    font-weight: normal;
}
.box_check label .commission {
    margin-left: 5px;
    color: #c20000;
    font-size: 11px;
    font-weight: normal;
}
.box
.box_check table {
    margin: 20px;
    width: 920px;
}

/* フロー
-----------------------------------*/
#flow {
    margin: 40px 0;
    padding: 0;
    text-align: center;
    list-style: none;
}
#flow li {
    position: relative;
    display: inline-block;
    min-width: 140px;
    margin: 0 15px;
    padding: 10px 30px;
    border-radius: 3px;
    background: #e9e9e9;
    font-size: 14px;
    font-weight: bold;
}
#flow li.current { background: #f9d4b4; }
#flow li:not(:last-child):after {
    position: absolute;
    top: 50%;
    right: -22px;
    display: block;
    width: 9px;
    height: 16px;
    margin-top: -8px;
    background: url(//d1hmck1dafa717.cloudfront.net/ec/images/cart/ico_flow_arrow.png) no-repeat left top;
    content: " ";
}


/*入力テーブル
-----------------------------------*/
.table_form {
    width: 920px;
    margin: 0 auto;
    border-bottom: 2px solid #c9c9c9;
}
.table_form th,
.table_form td {
    padding: 13px 10px 10px 20px;
    border-top: 1px dotted #aaa;
}
.table_form tr:first-child th,
.table_form tr:first-child td { border-top: 2px solid #c9c9c9; }
.table_form th {
    width: 130px !important;
    background: #f5f5f5;
    color: #444;
    font-size: 14px;
    text-align: left;
}
.table_form .support {
    color: #666;
    font-size: 11px;
}
.table_form p {
    margin: 5px 0 0;
    font-size: 11px;
}
.table_form p:not(:last-child) { margin-bottom: 10px; }
.form .txt_attention,
.require {
    color: #c00000;
    font-size: 12px;
    font-weight: normal;
}

.table_form + .box_button { margin-top: 30px; }

/* カラム内テーブル */
.column table {
    width: 100%;
}
.column th,
.column td { padding: 10px; }
.column th {
    padding-top: 18px;
    font-size: 13px;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
}
.column td { font-size: 12px; }

/*カートテーブル
-----------------------------------*/
.table_cart {
    width: 920px;
    margin: 0 auto;
    border-bottom: 2px solid #c9c9c9;
}
.table_cart td {
    padding: 13px 20px;
    border-top: 1px dotted #aaa;
    font-size: 14px;
}
.table_cart th {
    padding: 10px 20px;
    border-top: 2px solid #c9c9c9;
    background: #f5f5f5;
    color: #333;
    font-size: 14px;
}
.table_cart th span { font-size: 11px; }
.table_cart .item {
    width: 540px;
    font-weight: bold;
    text-align: left;
}
.table_cart .price {
    width: 72px;
    color: #333;
    text-align: right;
}
.table_cart td.price { font-weight: normal; }
.table_cart .quantity {
    width: 30px;
    text-align: right;
}
.table_cart .sub_total {
    width: 80px;
    text-align: right;
}

.table_cart .total {
    padding: 5px 20px 5px;
    border-top: none;
    background: transparent;
    font-weight: bold;
    text-align: right;
}
.table_cart .total.first th,
.table_cart .total.first td {
    padding: 10px 20px 5px;
    border-top: 1px solid #ccc;
}
.table_cart .total.last th,
.table_cart .total.last td {
    padding: 5px 20px 10px;
}

.setTable td {
	font-size: 90% !important;
    font-weight: normal;
}

/*フォームパーツ
-----------------------------------*/
input[type="text"],
input[type="password"] {
/*     width: 330px; */
    padding: 5px 10px;
    border: 1px solid #bababa;
    border-radius: 3px;
}
input.number { width: 150px; }
input.long { width: 580px; }
input.date { width: 40px; }

textarea {
    box-sizing: border-box;
    width: 100%;
    height: 160px;
    padding: 20px;
    border: 2px solid #bababa;
    font-size: 14px;
}

/* ボタン */
.change_area { text-align: right; }
.table_form .button_input {
    width: 180px;
    padding: 3px 0 2px;
    font-size: 13px;
}

/* ラベル */
label {
/*
	position: relative;
    display: inline-block;
    padding-left: 40px;
*/
}
td label {
    min-width: 80px;
    padding-left: 0;
}
td label input {
    position: relative;
    top: 0;
    left: 0;
    margin-right: 5px;
}

/* select */
.wrap_select.prefecture { width: 150px; }
.wrap_select.year,
.wrap_select.month {
    display: inline-block;
    margin-right: 3px;
    vertical-align: middle;
}
.wrap_select.year { width: 100px; }
.wrap_select.month { width: 60px; }
.wrap_select.category { width: 350px; }
.wrap_select.category:not(:first-child) { margin-top: 10px; }

/* エラー */
.error,.message {
    background: #ffefef;
    color: #d00000;
	padding: 15px 13px;
	margin: 20px 10px 5px;
	border: 1px solid #f5bebe;
	font-size: 120%;
	line-height: 120%;
	font-weight: bold;
}

/*ボタン
-----------------------------------*/
.box_button.multiple p {
    margin: 30px 0 40px;
    font-size: 14px;
}
.button_prev { background: #aaa !important; }
.button_prev:after {
    position: absolute;
    top: 50%;
    left: 10px;
    display: block;
    width: 6px;
    height: 10px;
    margin-top: -5px;
    background: url(//d1hmck1dafa717.cloudfront.net/ec/images/common/ico_arrow_lw.png) no-repeat left top;
    content: " ";
}
.button_purchase { background: #eb7007 !important;  }

/*カート
-----------------------------------*/
#box_cart {
    border-top: 1px solid #ddd;
}
#box_cart > p {
    margin: 30px 20px 10px;
    font-size: 14px;
}
#box_cart .table_cart { width: 960px; }
#box_cart th,
#box_cart td { padding: 10px 0; }
#box_cart .item { width: 590px; }
#box_cart th.item { text-align: center; }
#box_cart .price,
#box_cart .sub_total { width: 80px; }
#box_cart .quantity { width: 52px; }
#box_cart .action {
    width: 50px;
    padding-left: 25px;
}
#box_cart .price,
#box_cart .sub_total,
#box_cart .quantity { text-align: right; }

#box_cart input[type="text"] {
    width: 30px;
    text-align: right;
}

#box_cart .image {
    float: left;
    width: 80px;
}
#box_cart .image img { max-width: 80px; }
#box_cart .data {
    margin-left: 100px;
}
#box_cart .data a {
    color: #00468c;
    font-weight: normal;
}
#box_cart .data li {
    margin: 0;
    font-weight: normal;
    font-size: 13px;
}

.button_delete {
    padding: 5px 8px 5px 18px;
    background: #999 url(//d1hmck1dafa717.cloudfront.net/ec/images/cart/ico_delete.png) no-repeat 5px center;
}

#cart_footer {
    margin: 20px 0;
    text-align: right;
}
#cart_footer + .box_calc { float: right; }


/*注文者情報入力
-----------------------------------*/
.radio_paidy_disabled label {
	background: #D3D3D3;
}
.radio_paidy_disabled p {
	padding-left: 40px;
	margin-top: 0px;
}

/* お届け先 */
.add_item label {
	position: relative;
	display: inline-block;
	padding-left: 40px;
	line-height: 1.8;
}
.add_item label input {
    position: absolute;
    top: 5px;
    left: 18px;
}
.add_item .wrap_add { margin-top: 10px; }

/* お支払い */
.box_check label + .wrap_select {
    width: 200px;
    margin: 10px 0 0 40px;
}
.box_check label + table { margin-left: 40px; }
.table_credit input { width: 200px; }
.table_credit .year,
.table_credit .month { width: 60px; }
.table_credit .code { width: 30px; }
.table_credit input:not(:first-child) { margin-left: 3px; }
.table_credit input:not(:last-child) { margin-right: 3px; }
.table_credit p { margin: 3px 0 0; }

/* プライバシーポリシー */
.box_privacy {
    overflow: auto;
    height: 320px;
    padding: 20px;
    border: 1px solid #ccc;
    background: #fff;
}

/*住所検索
-----------------------------------*/
.table_address {
    width: 920px;
    margin: 0 auto;
    border-bottom: 2px solid #c9c9c9;
}
.table_address td {
    padding: 13px 0 13px 20px;
    border-top: 1px dotted #aaa;
    font-size: 14px;
}
.table_address th {
    padding: 10px 0 10px 20px;
    border-top: 2px solid #c9c9c9;
    background: #f5f5f5;
    color: #333;
    font-size: 14px;
}
.table_address th:last-child { text-align: left; }
.table_address span {
    display: inline-block;
    padding-right: 16px;
    text-align: center;
}
.table_address .check { width: 30px; }
.table_address .zip { width: 80px; }

/*確認
-----------------------------------*/
.box_update { padding-top: 30px; }
.button_update {
    position: absolute;
    top: -2px;
    right: 0;
    width: auto;
    padding: 6px 20px 5px 45px;
    font-size: 13px;
}
.button_update:after {
    position: absolute;
    top: 50%;
    left: 10px;
    display: block;
    width: 14px;
    height: 14px;
    margin-top: -7px;
    background: url(//d1hmck1dafa717.cloudfront.net/ec/images/cart/ico_update.png) no-repeat left top;
    content: " ";
}

.comment {
    min-height: 80px;
    padding: 20px;
    border: 2px solid #ccc;
    font-size: 14px;
}

/* お支払い金額 */
.box_calc {
    width: 360px;
    margin: 20px auto;
    padding: 10px;
    background: #fdf0e6;
}
.box_calc table { width: 360px; }
.box_calc th {
    width: 160px;
    text-align: right;
    font-size: 16px;
}
.table_calc th { font-weight: normal; }
.box_calc th span { font-size: 11px; }
.box_calc td {
    padding: 5px 40px;
    text-align: right;
    font-size: 16px;
}

.table_total {
    border-top: 1px solid #fff;
        width: 160px;
    text-align: right;
    font-size: 16px;
}
.table_total tr:first-child th,
.table_total tr:first-child td {
	padding-top: 15px;
}
.table_total th,
.table_total td {
    color: #eb7006;
}


/* メールマガジン */
.form .list_check {
    padding-bottom: 30px;
    border-bottom: 2px solid #ccc;
}
.form .list_check label { font-size: 16px; }


/*完了
-----------------------------------*/
#thanks {
    margin: 60px auto;
    text-align: center;
}

#thanks .order_number {
    margin: 0;
    font-size: 16px;
    font-weight: bold;
}
#thanks p {
    margin: 20px 0 30px;
    font-size: 14px;
    line-height: 1.8;
}
#thanks p:last-child { margin-bottom: 0; }

/* 会員登録誘導 */
#for_guest {
    padding: 15px 10px 30px;
    background: #fef8f2;
}

#for_guest > p { margin: 0 40px; }
#for_guest .txt_attention {
    margin-top: 5px;
    color: #c00000;
}
#for_guest .privacy { margin: 30px 20px 20px; }
#for_guest .privacy .title {
    margin: 0 0 10px;
    font-size: 14px;
}

/* プレゼントバナー */
.present {
    margin-top: 50px;
    text-align: center;
}

/* アドレス帳（調整）
-----------------------------------*/
#contentsContainer {
    width: 960px;
    margin: 0 auto;
}

.infomationContainer p {
    margin: 20px;
    font-size: 14px;
}
.Read2 span { color: #fb6600; }

.AddFormTable {
    width: 920px;
    margin: 0 auto;
    border-bottom: 2px solid #c9c9c9;
}
.AddFormTable tr:first-child th { border-top: 2px solid #c9c9c9; }
.AddFormTable th {
    padding: ５px 20px;
    border-top: 1px dotted #aaa;
    background: #f5f5f5;
    color: #444;
    font-size: 14px;
}

.AddFormTable td {
    padding: 13px 10px 10px 20px;
    border-top: 1px dotted #aaa;
}
.AddFormTable .Row01,
.AddFormTable .AreaCheck { width: 30px; }
.AddFormTable .Row02,
.AddFormTable .Row03,
.AddFormTable .Row05 { width: 130px; }
.AddFormTable .Row04 { width: 230px; }
.AddFormTable .Row06 { width: 60px; }

/* ------------------
 最終確認
------------------ */
/* 完了メッセージ */
.box_complete01 {
	margin: 55px 13px 0;
	text-align: center;
}
.box_complete01 p {
	margin: 8px 0 0;
}
.box_complete01 p.tit {
	font-size: 16px;
	font-weight: bold;
}
/* 注文番号 */
.cart_oderno01 {
	margin: 34px 0 0;
	padding: 21px;
	background: #ebebeb;
	font-size: 14px;
	text-align: center;
}
.cart_oderno01 p.no {
	margin: 8px 0 0;
	color: #0054de;
	font-size: 20px;
	font-weight: bold;
}

/* ------------------
 セット商品
------------------ */
.setTable {
	width: 100%;
}

/*--------　campaignTable　--------*/
table.campaignTable {
	margin-bottom: 40px;
	/*margin-left: 20px;*/
	width: 815px;
	line-height: 1.6;
}
	table.campaignTable th,
	table.campaignTable td {
		padding: 10px;
	}
	table.campaignTable thead th {
		background: #fff4c0;
		text-align: center;
		font-weight: bold;
		border-bottom: 1px solid #dddddd;
		padding: 5px 10px;
	}
	table.campaignTable th.t-price {
		width: 90px;
		border-right: 1px solid #dddddd;
		border-left: 1px solid #dddddd;
	}
	table.campaignTable th.c-name {
		border-right: 1px solid #dddddd;
		border-left: 1px solid #FFF;
	}
	table.campaignTable th.qty {
		width: 130px;;
		border-left: 1px solid #FFF;
		border-right: 1px solid #dddddd;
	}
	table.campaignTable tbody th,
	table.campaignTable tbody td {
		border-bottom: 1px solid #dddddd;
	}
	table.campaignTable tbody th {
		border-right: 1px solid #dddddd;
		border-left: 1px solid #dddddd;
		background: #fff7e9;
	}
	table.campaignTable tbody td.c-photo {
		width: 100px;
		text-align: center;
	}
		table.campaignTable tbody td.c-photo img {
			width: 100px;
			border: 1px solid #dddddd;
		}
	table.campaignTable tbody td.c-name {
		border-right: 1px solid #dddddd;
	}
		table.campaignTable tbody td.c-name a {
			color: #158ce0 !Important;
		}
	table.campaignTable tbody td.qty {
		width: 130px;
		/* text-align: center; */
		border-right: 1px solid #dddddd;
	}
		table.campaignTable tbody td.qty select {
			margin: 0 5px 5px 0;
		}
