@charset "utf-8";

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

 purchase.css

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


/*
買い物かごレイアウト
-----------------------------------*/
#purchase {
   position: relative;
    width: 920px;
    margin-bottom: 0;
    padding-right: 280px;
}
#purchase_calc {
    position: absolute;
    top: 0;
    right: 0;
    width: 250px;
}
#purchase > section { margin-bottom: 50px; }

#purchase .text {
    margin: 20px 0;
    font-size: 16px;
}

.nonlist{
    list-style: none;
    padding: 0;
}

/*
買い物かごテーブル
-----------------------------------*/
.table_cart {
    width: 100%
}
.table_cart th {
     padding: 5px 0;
    background: #e6e6e6;
    font-weight: normal;
}
table.table_cart>tbody>tr>th {
    background: #c0bb97;
    color: #fff;
}

table.table_cart>tbody>tr>th.graybox{
    background: #e7e6de;
    color: #666666;
    border-bottom: 1px solid #989898;
    border-top: 1px solid #989898;
}
.table_cart td { border-bottom: 1px solid #d2d2d2; }

.table_cart td.image {
    width: 150px;
    padding: 20px 0 10px 20px;
    vertical-align: top;
}
.table_cart td.image img {
    width: 100%;
    background-color: #fff;
}
.table_cart .image a,
.table_cart div.image {
    display: block;
    width: 150px;
}
.table_cart .image  a:hover {
    filter:alpha(opacity=60);
    opacity: 0.6;
}
.table_cart .image img { vertical-align: bottom; }
.table_cart .item {
    padding: 20px;
    vertical-align: top;
}

.table_cart .item .code {
    margin: 10px 0;
    font-size: 12px;
}
.table_cart .item .code span {
    display: inline-block;
    margin-right: 1em;
}
.table_cart .item .name {
    margin: 0;
    font-size: 16px;
    font-weight: bold;
}
.table_cart .item a.name {
    color: #5959db;
    font-size: 20px;
    font-weight: bold;
    text-decoration: underline;
}
.table_cart .item .name:hover { text-decoration: none; }
.table_cart .item .selected,
.table_cart .item .option {
    margin: 5px 0 0;
    font-size: 14px;
}
.table_cart .item .brand {
	margin: 0;
}
.table_cart .item .authorname {
    margin: .2em 0 .5em;
}
.table_cart .item a {
    text-decoration: underline;
}
.table_cart .item a:hover {
    text-decoration: none;
}
.table_cart .item .brand a {
	font-size: 14px;
}
.table_cart .item .table_set .selected {
    float: left;
}
.table_cart .item .option:not(:first-child) { margin-top: 0; }


.table_cart td.price {
    width: 125px;
    background: #e7e6de;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}
.table_cart .price strong {
    font-size: 18px;
}
.table_cart .price span {
    display: block;
    font-size: 10px;
}
.table_cart .price .price_set ,
#purchase .table_cart .price .price_set {
    display: -ms-flexbox;
	display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    padding-left: 1.4em;
}
.cart_shop .table_cart .price .price_set {
    padding-left: 2.5em;
}
.table_cart .price .price_set .tax ,
#purchase .table_cart .price .tax {
    padding-top: .8em;
    margin-left: 0.2em;
}
#purchase .table_cart .price .price {
    clear: left;
}
.table_cart .quantity { padding-right: 20px; }

.table_cart td.quantity {
    width: 80px;
    font-size: 30px;
    background: #e7e6de;
    text-align: center;
}
#purchase .table_cart td.quantity {
    font-size: 18px;
}
.table_cart td.quantity input {
    display: block;
    width:70px;
    text-align: center;
    padding: 5px 0px;
    margin: 0 auto;
}
.table_cart .action { padding-right: 10px; }
.table_cart td.action {
    width:80px;
    background: #e7e6de;
}

/* セット商品テーブル */
.table_set {
    width: 100%;
    margin-top: 10px;
    border: 1px solid #d2d2d2;
}
.table_set th {
    padding: 5px;
    background: #e7e6de;
    font-size: 12px;
}
.table_set th:first-child { text-align: left; }
.table_set td {
    padding: 10px;
    border-top: 1px solid #d2d2d2;
    background-color: #fff;
}
.table_set th:last-child,
.table_set td:last-child {
    width: 30px;
    text-align: center;
}
.table_set td .name {
    float: left;
    box-sizing: border-box;
    margin: 0;
    padding-right: 15px;
}
.confirm .block .table_cart .authorname ,
.table_cart .table_set .authorname {
    margin-top: 0;
    clear: both;
}
.table_set td .selecter {
    width: 50%;
    margin: 0;
}
.table_set td:first-child {
    width: 230px;
    vertical-align: top;
}

/* テーブル操作フッター */
.footer_cart {
    padding: 10px;
    background: #c0bb97;
}
.footer_cart .button_small{
    font-size: 16px;
}
.footer_cart .button_prev{
    font-weight: normal;
}

.footer_cart .button { width: 200px; }
.footer_cart .button_prev { float: left; }
.footer_cart .button_prev:after { left: 10px; }
.footer_cart .button_delete{ float: right; }

/*
購入テーブルパーツ
-----------------------------------*/
/* テキスト入力 */
.table_form input.number {
    width: 100px;
    margin-right: 5px;
}

/* チェックボックス・ラジオとinput要素等が組み合わさったリスト */
.list_select_conditon label {
    display: inline-block;
    min-width: 260px;
    padding: 8px 10px 7px 35px;
    background: #e6e6e6;
}
.list_select_conditon label.checked { background: #f7ba67;}
.list_select_conditon label:after {
    top: 50%;
    left: 10px;
    margin-top: -8px;
}

/* 入力テーブル */
.table_form .action {
    background: #f2f2f2;
    text-align: center;
}


/*
買い物かご　ボタン
-----------------------------------*/
.button_action {
    width: 50px;
/*     font-size: 18px; */
}

/* 更新ボタン */
.button_update { padding-right: 30px; }
.button_update:after {
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    width: 16px;
    height: 16px;
	margin-top: -8px;
    background:  url(/ec/images/purchase/ico_update.png) no-repeat left top;
    content: " ";
}

/* 削除ボタン */
.button_delete {
    padding-right: 30px;
    margin-right: .5em;}
.button_delete:after {
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    width: 13px;
    height: 13px;
	margin-top: -6px;
    background:  url(/ec/images/purchase/ico_delete.png) no-repeat left top;
    content: " ";
}

/* ２行ボタン */
.button_box {
    height: 62px;
    padding: 12px 30px 11px;
}
.button_box span {
    display: block;
    font-size: 14px;
}




/*
買い物かごトップ
-----------------------------------*/
.cart_shop:not(:last-child) { margin-bottom: 80px; }
.cart_shop .box_button {
    margin-top: 30px;
    text-align: center;
}
.cart_shop .box_button .button {
    width: 400px;
    margin: 0 20px;
    font-size: 22px;
    vertical-align: middle;
}

/*
注文者情報入力
-----------------------------------*/
/* 会員登録誘導 */
#for_guest {
    width: 880px;
    margin: 0 auto 80px;
    padding: 20px;
    background: #f2f2f2;
}
#for_guest .heading01 { text-align: center; }

#for_guest ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#for_guest li {
    float: left;
    width: 250px;
    padding: 15px;
    background: #fff;
}
#for_guest li:nth-child(2) { margin: 0 20px; }
#for_guest .title {
    text-align: center;
    margin: 0 0 15px;
    font-size: 16px;
}
#for_guest p { margin:0; }

#for_guest .box_button {
    margin-top: 30px;
    text-align: center;
}
#for_guest .button {
    width: 400px;
    margin-top: 10px;
}

/*
お届け先入力
-----------------------------------*/
#container .addressee_control {
    margin-bottom: 30px;
    text-align: center;
}
.addressee_control ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.addressee_control li { display: inline-block; }
.addressee_control li:not(:nth-child(4)) { margin-right: 8px; }
.addressee_control .button { width: 200px; }
.addressee_control .status {
    padding: 20px;
    border: 2px solid #ccc;
    font-size: 16px;
    font-weight: bold;
}.addressee {
    position: relative;
    padding: 20px 0;
    background :#f2f2f2;
}
#container .addressee:not(:last-child) { margin-bottom: 20px; }
.addressee .button_sub {
    position: absolute;
    top: 10px;
    right: 20px;
    padding: 8px 20px 7px;
}
.addressee p { margin: 10px 20px 0; }

/*
アドレス帳・注文履歴
-----------------------------------*/
#members {
    width: 920px;
    margin: 0 auto 20px;
}
#members strong { margin-right: 3px; }

/* 検索 */
#container .search_group,
#container .search_history { margin-bottom: 30px; }
.search_group th,
.search_group td,
.search_history th,
.search_history td {
    padding: 10px;
    font-size: 14px;
}
.search_group select {
    width: 300px;
    vertical-align: middle;
}
.search_history select { margin-rights: 5px; }
.search_history select:not(:first-child) { margin-left: 5px; }
.form .search_group .button,
.form .search_history .button  {
    margin: 0;
    padding: 5px 20px 4px;
    vertical-align: middle;
}

/* アドレス帳 */
#address_book .pagination { margin: 20px 0; }
.book_control {
    padding: 5px 10px;
    background: #f2f2f2;
}
.table_address {
    width: 100%;
    margin: 10px 0;
}
.table_address th {
    padding: 5px 10px;
    background: #e6e6e6;
    border-bottom: 1px solid #ccc;
}
.table_address td {
    padding: 20px 10px;
    border-bottom: 1px solid #ccc;
}
.table_address p { margin: 0 0 10px; }
.table_address p:last-child { margin-bottom: 0; }

.table_address td.check {
    width: 50px;
    padding: 0;
    background :#f2f2f2;
}
.table_address .check label {
    display: block;
    width: 50px;
    height: 16px;
    padding: 0;
}
.table_address .check label:after {
    left: 50%;
    margin-left: -8px;
}

.table_address td.group {
    width: 120px;
    background: #f2f2f2;
    text-align: center;
}
.table_address td.action {
    width: 40px;
    padding-left: 0;
    background: #f2f2f2;
}
.table_address td.order {
    width: 80px;
    background: #f2f2f2;
}
.table_address td.order_id {
    width: 110px;
    background: #f2f2f2;
    text-align: center;
}

#edit_address {
    box-sizing: border-box;
    margin-top: 30px;
    padding: 20px;
    background: #fef7e7;
    text-align: center;
}
#edit_address p {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: bold;
}
#edit_address .button { width: 300px; }

/*
依頼者変更
-----------------------------------*/
#easy_set {
    box-sizing: border-box;
    margin: 30px auto;
    padding: 20px;
    background: #fef7e7;
    text-align: center;
}
#easy_set p {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: bold;
}
#easy_set .button { width: 200px; }

/*
商品の選択
-----------------------------------*/
.table_cart td.group {
    width: 60px;
    background: #f2f2f2;
    text-align: center;
}

/*
配送日時の指定
-----------------------------------*/
.shipping_year { width: 100px; }
.shipping_month,
.shipping_day { width: 80px; }
.shipping_time { width: 300px; }

/*
のし・名入れ・包装形態
-----------------------------------*/
.table_form th span { font-size: 14px; }
.table_form .box_supplement {
    margin-top: 10px;
    padding: 10px;
    background :#e6e6e6;
    line-height: 1.6;
}
.table_form td .box_supplement .title {
    margin-bottom: 5px;
    font-size: 14px;
}
.table_form td .box_supplement p {
    margin: 0;
    font-size: 12px;
}
.signature {
    position: relative;
    display: table;
    width: 100%;
    margin-bottom: 10px;
    border-top: 1px solid #d6d6d6;
    border-bottom: 1px solid #d6d6d6;
}
.signature p {
    display: table-cell;
    margin: 0;
    padding: 15px 10px;
    font-size: 14px;
    vertical-align: middle;
}
.signature .title {
    width: 150px;
    background: #f2f2f2;
}
.table_form .signature .button {
    position: absolute;
    top: 8px;
    right: 0;
    margin: 0;
}

.list_inline + div { margin-top: 10px; }


/*
お支払い方法の選択
-----------------------------------*/
.box_acc .acc {
    padding: 15px;
    border: 10px solid #e6e6e6;
    background: #fff;
}

#set_payment label {
    margin-top: 15px;
    padding: 15px 15px 14px 45px;
    border: 2px solid #e6e6e6;
    font-size: 16px;
    font-weight: bold;
}
#set_payment .checked { border-color: #f28d00; }
#set_payment label:after {
    top: 17px;
    left: 20px;
}
/* クレジット情報入力テーブル */
.table_credit {
    float: left;
    width: 580px;
}
.table_credit th,
.table_credit td {
    padding: 10px;
    font-size: 14px;
}
.table_credit td input { font-size: 14px; }
.table_credit input.credit_number { width: 70px; }
.table_credit + .credit {
    float: right;
    width: 240px;
    padding: 10px;
    border: 1px solid #ccc;
}
.credit .image { margin: 10px 0; }
.credit p { margin: 0; }
.credit p:last-child { font-size: 12px; }

/*
注文内容編集・確認
-----------------------------------*/
#purchase .confirm {
    position: relative;
    padding: 20px;
}
#purchase .confirm:not(:last-child) { margin-bottom: 30px; }

#purchase .confirm .heading01 {
    margin: 0 0 20px;
    font-size: 22px;
    font-weight: bold;
    }

#purchase .confirm section { position: relative; }
#purchase .wrap section:not(.block) {
    float: left;
    clear: left;
    width: 430px;
}
#purchase .wrap section:not(.block):nth-child(even)  {
    clear: none;
    margin-left: 15px;
}
#purchase .confirm .wrap section,
#purchase .confirm .block:not(:last-child) { margin-bottom: 30px; }
#purchase .confirm .block { clear: left; }
#purchase .confirm section > p {
    margin: 0 10px;
    font-size: 16px;
}
#purchase .confirm section > p:not(:last-child) { margin: 0 10px 20px; }


/* 編集・削除ボタン */
#purchase .confirm .button_sub {
    position: absolute;
    top: 20px;
    right: 20px;
    margin: 0;
    width: 80px;
    padding: 8px 0 7px;
    font-size: 14px;
}
#purchase .confirm .button_white {
    position: absolute;
    top: 8px;
    right: 30px;
    margin: 0;
    padding: 5px 20px 4px;
}
#purchase .confirm .wrap .button_white ,
#purchase .confirm .block .button_white {
    position: absolute;
    top: 8px;
    right: 10px;
    margin: 0;
    padding: 5px 20px 4px;
}

/* 注文者情報・お支払い */
/** #order_info { background: url(/ec/images/purchase/bg_order_info.png) repeat-y center top; } */
#purchase #order_info > section {
    float: left;
    width: 410px;
    margin-bottom: 0;
}
#purchase #order_info > section:last-child { margin-left: 56px; }
#purchase #order_info section:not(:last-child) { margin-bottom: 30px; }

/* 情報確認テーブル */
.table_simple th,
.table_simple td {
    font-weight: normal;
    text-align: left;
    vertical-align: top;
}
.table_simple tr:not(:last-child) th,
.table_simple tr:not(:last-child) td { padding-bottom: 10px; }

#order_info .table_simple { font-size: 16px; }
#order_info .table_simple th { width: 80px; }
.box_shipping .table_simple th {
    width: 90px;
    padding-right: 20px;
}
.confirm .table_form th,
.confirm .table_form td {
    padding: 10px 10px 9px;
    font-size: 14px;
}

/* 一括変更 */
#purchase .change_all {
    position: relative;
    margin-bottom: 30px;
    padding: 10px;
    background: #c0bb97;
    font-size: 16px;
}
#purchase .change_all p {
    float: left;
    margin: 0;
    padding-top: 3px;
    color: #fff;
}
#purchase .change_all .button {
    float: right;
    margin: 0;
    padding: 5px 10px;

}
#purchase .confirm .change_all .button {
    position: relative;
    top: 0;
    right: 0;
}

/* お届け先 */
.message_attention {
    margin: 0 0 20px;
    padding: 10px 10px 9px;
    background: #e7e6de;
    color: #cd3333;
}

#purchase .confirm .price { width: 110px; }
#purchase .confirm .quantity {
    width: 70px;
    padding-right: 0;
}
#purchase .confirm .quantity:last-child { width: 65px; }
#purchase .box_shipping.confirm .quantity:last-child { width: 115px; }
#purchase .confirm .point {
    color: #c00000;
    font-size: 12px;
}
.cart_total { width: 100%; }

.cart_total tr:nth-child(odd)  th,
.cart_total tr:nth-child(odd) td {
    padding: 20px 0 0;
}
.cart_total tr:nth-child(even) th,
.cart_total tr:nth-child(even) td {
    padding: 10px 0 20px;
    border-bottom: 1px solid #ccc;
}
#purchase .confirm .cart_total tr th {
    width: 670px;
    padding-right: 20px;
    background: #e7e6de;
    font-size: 14px;
    font-weight: normal;
    text-align: right;
}
.cart_total .price {
    width: 100px;
    font-size: 12px;
    text-align: right;
}
.cart_total .price strong {
    margin-right: 5px;
    font-size: 16px;
    font-weight: normal;
}
.cart_total .tax {
    width: 50px;
    font-size: 12px;
    vertical-align: bottom;
}
.cart_total + .table_form { margin-top: 20px; }

#purchase .block .heading01 {
    padding: 10px 10px 9px;
    border-bottom: 2px solid #666;
    background: #f2f2f2;
    font-size: 18px;
}
#purchase .block .button_sub {
    top: 6px;
    right: 10px;
}

/* Amazonペイメント */
#purchase p + .payment { margin: -10px 10px 0; }

#purchase .tab {
    margin: 0 0 20px;
    padding: 0;
    border-bottom: 2px solid #444;
    list-style: none;
}
#purchase .tab li {
    float: left;
    width: 200px;
    margin-left: 10px;
}
#purchase .tab label {
    display: block;
    padding: 5px 0 4px;
    background: #e6e6e6;
    text-align: center;
}
#purchase .tab .checked {
    background: #444;
    color: #fff;
}
#purchase .box_tab p {
    margin: 0 10px 20px;
    font-size: 16px;
}

/* 未選択 */
.button_empty {
    padding-right: 40px;
    border: 2px solid #cd3333;
    background: #fff;
    color: #cd3333;
}
.button_empty:after {
    position: absolute;
    top: 50%;
    right: 20px;
    display: block;
    width: 15px;
    height: 28px;
    margin-top: -14px;
    background: url(/ec/images/purchase/ico_empty.png) no-repeat left top;
    content: " ";
}

/*
キャンペーン商品選択
-----------------------------------*/
.form .campaign .box_condition {
    margin: -10px 0 10px;
    padding: 5px 10px;
    border-top: 1px solid #ccc;
    background:  #f2f2f2;
}
.form .campaign .label {
    display: inline-block;
    padding: 5px 10px 4px;
    border-radius: 3px;
    border: 1px solid #ccc;
    background: #fff;
    font-size: 12px;
}
.form .campaign strong {
    margin-right: 3px;
    font-size: 15px;
}
.form .campaign .txt_condition {
    display: inline-block;
    margin-left: 10px;
    font-size: 13px;
}
.form .campaign .txt_condition span:not(.status) { font-weight: bold; }
.form .campaign .txt_condition .status:before { content: "｜"; }
.form .campaign .description {
    margin: 5px 0;
    font-size: 12px;
}
.form .campaign .quantity {
    width: 80px;
    padding: 0 10px;
}
.form .campaign .quantity select {
	width: 80px;
	font-size:10pt
}
/*
注文完了
-----------------------------------*/
.form .thanks {
    width: 870px;
    padding: 20px;
    border: 5px solid #f7ce6d;
}
.form .thanks p { margin: 0; }
.form .thanks .title {
    font-size: 22px;
    text-align: center;
}
#order_number {
    margin: 20px 0;
    padding: 15px 0;
    background: #fcefce;
    font-size: 18px;
    text-align: center;
}
#order_number strong { font-size: 20px; }

/* マルチペイメント支払い */
.form .guidance {
    width: 876px;
    padding: 20px;
    border: 2px solid #ccc;
    text-align: center;
}
.form .guidance p {
    margin: 0 0 20px;
    color: #c00000;
    font-size: 16px;
}
/* 買い物かご誘導 */
.form .unsettled {
    width: 870px;
    padding: 20px;
    border: 5px solid #ccc;
}
.form .unsettled .title {
    margin: -20px -20px 0;
    padding: 10px;
    background: #ccc;
    font-size: 18px;
    text-align: center;
}
.form .unsettled p {
    margin: 20px 0;
    text-align: center;
}

/*
右カラム
-----------------------------------*/
#purchase_calc .inner {
   padding: 10px;
   background: #e7e6de;
   margin-bottom: 30px;
}
#purchase_calc .inner .title {
    margin: 10px 0;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}
#purchase_calc table {
    width: 100%;
    background: #fff;
}
#purchase_calc th,
#purchase_calc td {
    padding: 10px 0;
    border-bottom: 1px solid #999999;
    font-weight: normal;
}
#purchase_calc table tr:last-child th,
#purchase_calc table tr:last-child td {
    border-bottom: none;
}
#purchase_calc .table_simple_time tr:last-child th,
#purchase_calc .table_simple_time tr:last-child td {
    border-bottom: 1px solid #999999;
}
#purchase_calc th {
    width: 125px;
    padding-left: 10px;
    text-align: left;
}
#purchase_calc span { font-size: 10px; }
#purchase_calc .number {
  width: 80px;
    padding-right: 10px;
    text-align: right;
}
#purchase_calc .emphasis { color: #c00000; }

#purchase_calc .emphasis th ,
#purchase_calc .emphasis td ,
#purchase_calc .point th ,
#purchase_calc .point td {
    font-weight: bold;
}

#purchase_calc .point {
    color: #c00000;
    text-align: center;
    font-size: 16px;
}
#purchase_calc .point strong { margin-left: 1em; }

#purchase_calc .summary div {
    float: left;
    width: 110px;
}
#purchase_calc .summary div:last-child { margin-left: 10px; }
#purchase_calc .summary .title {
    margin-top: 0;
    font-size: 14px;
}
#purchase_calc .summary p:not(.title) {
    padding: 10px 0 9px;
    border-radius: 3px;
    background :#fff;
    font-size: 12px;
    text-align: center;
}
#purchase_calc .summary strong {
    margin-right: 3px;
    font-size: 16px;
    font-weight: bold;
}
#purchase_calc .button {
    width: 250px;
    margin-top: 10px;
}
#purchase_calc .button.button_decision.button_next {
    padding: 10px;
}
#purchase_calc .button.button_sub {
    font-weight: bold;
    padding: 10px;
}
#purchase_calc .button_change {
    width: 230px;
    margin-top: 10px;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
}
#purchase_calc .settlement {
    margin-bottom: 30px;
}
#purchase_calc .coupon_point {
    margin-top: 20px;
}
#purchase_calc .coupon_point table tr td {
    padding: 10px;
}
#purchase_calc .settlement .paymethod table tr td{
    line-height: 30px;
    padding: 10px;
    text-align: center;
}
#purchase_calc .settlement .paymethod table tr td div.usual {
	font-size: 14px;
    color: #e40d0d;
    font-weight: bold;
/*     padding-bottom: 1em; */
    position: relative;
	line-height: 1.7;
/* 	padding: 15px 0 40px; */
}
    content: " ";
}
.btn_padding{
padding: 1.4em 0 1.2em;
font-size: bold;
}
