@charset "utf-8";

/* --------------------------------------------------------------
  添付ファイルページ（写真注文ページ）
  Template: image.php
-------------------------------------------------------------- */

/* 写真注文情報
---------------------------------------- */

.order_photo_wrap {
	padding: 15px 0 10px 0;
}
.order_img {
	width: 100%;
}
.att_img {
	padding: 5px;
	border: solid 1px #ccc;
}
.order_data {
	width: 100%;
	padding: 15px 0 0 0;
}
.order_data p {
	padding: 0 0 5px 0;
    line-height: 1.5;
}
.order_data p span {
	font-weight: bold;
}
.order_data p.attension {
    padding: 10px 0 0 0;
    font-size: 1.3rem;
}

@media (min-width: 768px) {

	.order_photo_wrap {
        display: flex;
		padding: 30px 0 0 0;
		margin-bottom: 20px;
	}
	.order_img {
		width: 50%;
	}
	.order_data {
		width: 50%;
		padding: 5px 0 0 15px;
		font-size: 1.5rem;
	}
    .order_data p {
        line-height: 1.7;
    }
    .order_data p.attension {
        font-size: 1.4rem;
    }

}

/* サイズ選択
---------------------------------------- */

.skuform {
	padding: 0 0 10px 0;
}
table.photo_some_sku {
	margin: 0 auto 15px;
	padding: 10px 10px 5px 10px;
	border: solid 1px #ccc;
	border-collapse: separate;
}
table.photo_some_sku:last-of-type {
	margin: 0 auto;
}
table.photo_some_sku td {
	border: solid 1px #fff;
}
table.photo_some_sku td.sku_disp_name {
	font-weight: bold;
    padding: 0 0 10px 0;
}
table.photo_some_sku td.price {
	text-align: right;
	padding-bottom: 5px;
}
table.photo_some_sku td.price span.price {
    color: #d00000;
}
table.photo_some_sku td.add_to_cart {
	text-align: right;
}
table.photo_some_sku td.add_to_cart input.skuquantity { /* テキストボックス */
	width: 45px;
	height: 34px;
	margin-right: 5px;
	padding: 0 1%;
	text-align: right;
	vertical-align: bottom;
}
table.photo_some_sku td.add_to_cart select.skuquantity { /* セレクトボックス（写真） */
	width: 60px;
	height: 34px;
	margin-right: 5px;
	padding: 0 1%;
	text-align: right;
	vertical-align: bottom;
}
#itempage .skuform .skuquantity { /* セレクトボックス（書籍注文） */
	width: 60px !important;
	height: 34px;
	margin-right: 5px;
	padding: 0 1%;
	text-align: right;
	vertical-align: bottom;
}
table.photo_some_sku td.add_to_cart input[type="submit"].skubutton {
	height: 34px;
	margin-left: 10px;
    padding: 0 10px;
	background-color: #014190;
    color: #fff;
	vertical-align: bottom;
    border-radius: 3px;
}
table.photo_some_sku td.error_message {
    padding: 5px 0 0 0;
	color: #f00;
    font-size: 1.3rem;
    line-height: 1.6;
	text-align: right;
}

@media (min-width: 768px) {

	.skuform {
		padding: 0;
	}
    table.photo_some_sku {
        padding: 15px 15px 10px 15px;
    }

}


/* --------------------------------------------------------------
  商品ページ（書籍注文ページ）
  Template: wc_item_single.php
-------------------------------------------------------------- */

article.order_container {
    padding: 15px 0 10px 0;
}
article.order_container .order_img {
    text-align: center;
}
.product_sub_img {
    padding: 0 0 5px 0;
}
.product_sub_img ul {
    display: flex;
    flex-wrap: wrap;
}
.product_sub_img ul li {
    width: 30%;
    margin: 0 10px 10px 0;
    border: solid 1px #e9e9e9;
}
.product_sub_img ul li img {
    width: 100%;
}

@media (min-width: 768px) {

    article.order_container {
        padding: 30px 0 0 0;
    }
    .product_sub_img {
        padding: 0 0 15px 0;
    }
    .product_sub_img ul li {
        width: 18.5%;
        margin: 0 10px 10px 0;
    }
    
}

/* SKUが1つの場合
---------------------------------------- */

.order {
    padding: 10px 10px 0 10px;
    border: solid 1px #ccc;
}
.order .item_name { /* 商品名 */
    padding: 0 0 15px 0;
    font-weight: bold;
    font-size: 1.5rem;
}
.order .item_code { /* 商品コード */
    padding: 0 0 10px 0;
    font-size: 1.3rem;
    text-align: right;
}
.order .stock_status { /* 在庫状態 */
    padding: 0 0 10px 0;
    font-size: 1.3rem;
    text-align: right;
}
.order .price { /* 価格 */
    text-align: right;
}
.order .price .listprice { /* 定価 */
    padding: 0 0 10px 0;
    font-size: 1.3rem;
}
.order .price .sellingprice { /* 販売価格 */
    padding: 0 0 10px 0;
}
.order .price .sellingprice span.price {
    color: #d00000;;
}
.order .add_to_cart input.skuquantity { /* 購入数 */
    width: 45px;
    height: 34px;
    margin-right: 5px;
    padding: 0 1%;
    text-align: right;
    vertical-align: bottom;
}
.order .add_to_cart input[type="submit"].skubutton { /* カートへ入れるボタン */
    height: 34px;
    margin-left: 10px;
    padding: 0 10px;
    background-color: #014190;
    color: #fff;
    vertical-align: bottom;
    border-radius: 3px;
}

@media (min-width: 768px) {
    
    .order {
        padding: 17px;
    }
    .order .item_name { /* 商品名 */
        padding: 0 0 10px 0;
        font-size: 1.6rem;
    }
    .order .item_code, /* 商品コード */
    .order .stock_status,  /* 在庫状態 */
    .order .price .listprice { /* 定価 */
        font-size: 1.5rem;
    }
    
}

/* SKUが複数の場合
---------------------------------------- */

table.order_some_sku {
	margin: 0 auto 15px;
	padding: 10px 10px 5px 10px;
	border: solid 1px #ccc;
	border-collapse: separate;
}
table.order_some_sku:last-of-type {
	margin: 0 auto;
}
table.order_some_sku td {
	border: solid 1px #fff;
}
table.order_some_sku td.sku_disp_name {
	font-weight: bold;
    padding: 0 0 10px 0;
}
table.order_some_sku td.sku_code {
    padding: 0 0 10px 0;
    font-size: 1.3rem;
    text-align: right;
}
table.order_some_sku td.stock_status {
    padding: 0 0 10px 0;
    font-size: 1.3rem;
    text-align: right;
}
table.order_some_sku td.price {
	text-align: right;
	padding-bottom: 5px;
}
table.order_some_sku td.price span.cprice {
    display: inline-block;
    padding: 0 0 10px 0;
    font-size: 1.3rem;
}
table.order_some_sku td.price span.price {
    color: #d00000;
}
table.order_some_sku td.add_to_cart {
	text-align: right;
}
table.order_some_sku td.add_to_cart input.skuquantity {
	width: 45px;
	height: 34px;
	margin-right: 5px;
	padding: 0 1%;
	text-align: right;
	vertical-align: bottom;
}
table.order_some_sku td.add_to_cart input[type="submit"].skubutton {
	height: 34px;
	margin-left: 10px;
    padding: 0 10px;
	background-color: #014190;
    color: #fff;
	vertical-align: bottom;
    border-radius: 3px;
}
table.order_some_sku td.error_message {
    padding: 5px 0 0 0;
	color: #f00;
    font-size: 1.3rem;
    line-height: 1.6;
	text-align: right;
}

@media (min-width: 768px) {

    table.order_some_sku {
        padding: 15px 15px 10px 15px;
    }
    table.order_some_sku td.sku_code,
    table.order_some_sku td.stock_status,
    table.order_some_sku td.price span.cprice {
        font-size: 1.5rem;
    }

}


/* --------------------------------------------------------------
  カートページ
  Template: wc_cart_page.php
-------------------------------------------------------------- */

.catbox {
	padding: 0 10px;
}
.catbox .post .entry {
	border-bottom: none !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* 進捗表示 */
div.usccart_navi {
	display: none;
}

/* 説明書き */
.header_explanation {
	padding: 0 0 10px 0 !important;
    line-height: 1.5;
}

/* 数量更新ボタン */
.upbutton {
	padding-right: 0 !important;
	padding-bottom: 10px;
	text-align: left !important;
    line-height: 1.5;
}
.upbutton input {
	display: block;
	height: 34px;
	margin: 5px auto 0 0;
    padding: 0 10px;
	background-color: #014190;
    color: #fff;
    border-radius: 3px;
}

/* 横スクロール */
.scroll_table {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
}
.scroll_table::-webkit-scrollbar{
	height: 5px;
}
.scroll_table::-webkit-scrollbar-track{
	background: #F1F1F1;
}
.scroll_table::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}

/* カートテーブル */
#cart table#cart_table {
    margin-bottom: 0 !important;
}
table#cart_table {
	width:100%;
}
table#cart_table th {
    padding: 8px 5px 6px;
	color: #333;
	background-color: #E5E5E5;
	border: solid 1px #ccc;
    font-weight: bold;
}
table#cart_table td {
    padding: 5px;
	border: solid 1px #ccc;
	white-space: nowrap;
	font-size: 1.2rem;
    line-height: 1.5;
}
table#cart_table td img {
	max-width: none;
}

/* 削除ボタン */
input.delButton {
	height: 30px;
	padding: 0 10px !important;
	background-color: #999;
    color: #fff;
    border-radius: 3px;
}

/* 通貨 */
.currency_code {
    display: none;
}

/* カートに商品がない */
.no_cart {
    margin: 30px 0 !important;
    color: #d00000 !important;
    font-size: 1.4rem !important;
}

/* 送信ボタン */
.send {
    padding-top: 5px !important;
	border-top: none !important;
	text-align: center;
}
.send input.continue_shopping_button,
.send input.to_customerinfo_button {
    padding: 10px 0;
    width: 40%;
    font-weight: bold;
    border-radius: 3px;
}
.send input.continue_shopping_button { /* 買い物を続ける */
    background-color: #DEE6F1;
    color: #00418F;
}
.send input.to_customerinfo_button { /* 次へ */
    background-color: #00418F;
    color: #fff;
}

@media (min-width: 768px) {

	.catbox {
		padding: 0 0 30px 0;
	}
	
	/* 進捗 */
	div.usccart_navi {
		display: block;
		margin-left: -20px;
		margin-right: -20px;
	}
	div.usccart_navi ol.ucart {
		display: table !important;
		table-layout: fixed !important;
		margin: 20px auto 0 !important;
		padding-bottom: 30px !important;
		border-collapse: separate !important;
		border-spacing: 20px 0 !important;
	}
	
	/* グレーアウト */
	div.usccart_navi li.usccart, /* カート */
	div.usccart_navi li.usccustomer, /* お客様情報 */
	div.usccart_navi li.uscdelivery, /* 発送・支払方法 */
	div.usccart_navi li.uscconfirm { /* 内容確認 */
		position: relative;
		float: none !important;
		display: table-cell !important;
		height: 40px !important;
		background-color: #ddd !important;
		color: #fff !important;
		vertical-align: middle !important;
		text-align: center !important;
		border-radius: 3px;
	}
	div.usccart_navi li.usccart:after,
	div.usccart_navi li.usccustomer:after,
	div.usccart_navi li.uscdelivery:after {
		content: "";
		position: absolute;
		right: -16px;
		top: 12px;
		border: 8px solid transparent;
		border-left: 8px solid #ddd;
	}
	
	/* 現在地 */
	div.usccart_navi li.usccart_cart,
	div.usccart_navi li.usccart_customer,
	div.usccart_navi li.usccart_delivery,
	div.usccart_navi li.usccart_confirm {
		position: relative;
		background-image: none !important;
		background-color: #00418f !important;
		color: #fff !important;
	}
	div.usccart_navi li.usccart_cart:after,
	div.usccart_navi li.usccart_customer:after,
	div.usccart_navi li.usccart_delivery:after {
		content: "";
		position: absolute;
		right: -16px;
		top: 12px;
		border: 8px solid transparent;
		border-left: 8px solid #00418f;
	}
    .header_explanation {
        line-height: 1.7;
    }
	.upbutton {
		padding-top: 0;
		text-align: right !important;
	}
	.upbutton input {
		display: inline;
        font-size: 1.4rem;
	}
	table#cart_table td {
		font-size: 1.5rem;
	}
	table#cart_table td img {
		max-width: none;
	}
	table#cart_table td.aleft,
	table#cart_table td.productname {
		white-space: normal;
	}
    input.delButton {
        font-size: 1.4rem;
    }
    .no_cart {
        margin: 50px 0 !important;
        font-size: 1.8rem !important;
    }
    .send {
        padding-top: 35px !important;
    }
	.send input.continue_shopping_button,
    .send input.to_customerinfo_button {
        width: 220px;
        height: 44px;
        margin: 0 5px;
	}

}


/* --------------------------------------------------------------
  お客様情報
  Template: wc_customer_page.php
-------------------------------------------------------------- */

#customer-info table {
	margin-top: 0 !important;
	border-bottom: solid 1px #ccc;
}
#customer-info table th {
	display: block;
	width: auto;
	padding: 4px 5px;
	border: none;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	background-color: #E5E5E5;
	font-size: 1.3rem;
}
#customer-info table td {
	display: block;
	padding: 15px 10px;
	border: none;
}
#customer-info table td + td {
	padding: 0 10px 15px;
}
#customer-info input[type="text"] {
    padding: 7px 5px 5px;
    border: solid 1px #5685BF;
    border-radius: 3px;
    box-shadow: 2px 2px 0 0px #E5E5E5 inset;
    font-size: 13px;
}
#customer-info select {
    padding: 4px 5px 2px;
    border: solid 1px #5685BF;
    border-radius: 3px;
    box-shadow: 2px 2px 0 0px #E5E5E5 inset;
    font-size: 13px;
}
#customer-info input[name="customer[mailaddress1]"],
#customer-info input[name="customer[mailaddress2]"] {
	width: 100% !important;
}
#customer-info table td span.ex {
	display: block;
	padding: 3px 0 0 0;
}

/* 住所検索 */
input.search-zipcode {
	height: 30px;
	padding: 0 10px !important;
	background-color: #00418F;
    color: #fff;
	vertical-align: bottom;
    border-radius: 3px;
}

input.back_cart_button,
input.to_deliveryinfo_button {
    padding: 10px 0;
    width: 40%;
    font-weight: bold;
    border-radius: 3px;
}
input.back_cart_button { /* 戻る */
    background-color: #DEE6F1;
    color: #00418F;
}
input.to_deliveryinfo_button { /* 次へ */
    background-color: #00418F;
    color: #fff;
}

@media (min-width: 768px) {

	#customer-info table {
		margin: 20px 0 10px 0 !important;
	}
    #customer-info table th {
        display: table-cell;
        width: 280px;
        padding: 0 15px;
        background-color: #F2F2F2;
        font-size: 1.5rem;
    }
    #customer-info table td {
        display: table-cell;
        padding: 14px 20px;
        border-top: solid 1px #ccc;
    }
    #customer-info table td + td {
        padding: 14px 20px 14px 0;
    }
    #customer-info input[type="text"] {
        height: 34px;
        padding: 9px 10px 7px;
        font-size: 15px;
    }
    #customer-info select {
        padding: 5px 5px 2px;
        font-size: 15px;
    }
	#customer-info input[name="customer[mailaddress1]"],
	#customer-info input[name="customer[mailaddress2]"] {
		width: 60% !important;
	}
    #customer-info table td span.ex {
        display: inline;
        padding: 0 0 0 3px;
    }
    input.search-zipcode {
        height: 34px;
    }
    input.back_cart_button,
    input.to_deliveryinfo_button {
        width: 220px;
        height: 44px;
        margin: 0 5px;
    }

}


/* --------------------------------------------------------------
  発送・支払方法
  Template: wc_delivery_page.php
-------------------------------------------------------------- */

#delivery-info table.customer_form {
    margin-bottom: 0 !important;
}
#delivery-info table.customer_form:last-of-type {
	border-bottom: solid 1px #ccc;
}
#delivery-info table.customer_form th {
	display: block;
	width: auto;
	padding: 4px 5px;
	border: none;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	background-color: #E5E5E5;
	font-size: 1.3rem;
}
#delivery-info table.customer_form td {
	display: block;
	padding: 15px 10px;
	border: none;
}
#delivery-info table.customer_form td.adjust {
	padding: 0 10px 15px 10px;
}
#delivery-info table.customer_form td input[type="radio"] {
	vertical-align: middle;
}
#delivery-info #time {
    margin-top: 0 !important;
}
#delivery-info .customer_form input[type="text"],
#delivery-info .customer_form textarea {
    padding: 7px 5px 5px;
    border: solid 1px #5685BF;
    border-radius: 3px;
    box-shadow: 2px 2px 0 0px #E5E5E5 inset;
    font-size: 1.3rem;
}
#delivery-info .customer_form textarea {
    width: 100%;
}
#delivery-info .customer_form select {
    padding: 4px 5px 2px;
    border: solid 1px #5685BF;
    border-radius: 3px;
    box-shadow: 2px 2px 0 0px #E5E5E5 inset;
    font-size: 1.3rem;
}
#delivery-info .customer_form select[disabled="disabled"] {
    border: solid 1px #eee;
    color: #eee;
    box-shadow: 2px 2px 0 0px #eee inset;
}

#delivery-info table.customer_form td.payment_method input[type="radio"] {
    margin: 0 5px 0 0;
}
#delivery-info .customer_form td.payment_method dd {
    padding-top: 5px;
    padding-bottom: 5px;
}
input.back_to_customer_button,
input.to_confirm_button {
    margin: 0 3px;
    padding: 10px 0;
    width: 40%;
    font-weight: bold;
    border-radius: 3px;
}
input.back_to_customer_button { /* 戻る */
    background-color: #DEE6F1;
    color: #00418F;
}
input.to_confirm_button { /* 次へ */
    background-color: #00418F;
    color: #fff;
}

@media (min-width: 768px) {

	#delivery-info table.customer_form:first-child  {
		margin: 20px 0 0 0 !important;
	}
	#delivery-info table.customer_form th {
        display: table-cell;
        width: 280px;
        padding: 0 15px;
        background-color: #F2F2F2;
        border-bottom: none;
        font-size: 1.5rem;
	}
	#delivery-info table.customer_form td {
        display: table-cell;
        padding: 14px 20px;
        border-top: solid 1px #ccc;
	}
    #delivery-info table.customer_form td.adjust {
        padding: 0 20px 14px 20px;
        border-top: none;
    }
    #delivery-info table.customer_form td input[type="radio"],
    #delivery-info table.customer_form td.payment_method input[type="radio"] {
        height: 20px;
        width: 20px;
    }
    #delivery-info .customer_form input[type="text"],
    #delivery-info .customer_form textarea {
        padding: 9px 10px 7px;
        font-size: 15px;
    }
    #delivery-info .customer_form select {
        padding: 5px 5px 2px;
        font-size: 15px;
    }
    #delivery-info .customer_form.shipping_address input[type="radio"] + label,
    #delivery-info .customer_form td.payment_method label {
        height: 20px;
        line-height: 20px;
        font-size: 1.5rem;
        vertical-align: middle;
    }
    input.back_to_customer_button,
    input.to_confirm_button {
        width: 220px;
        height: 44px;
        margin: 0 5px;
    }

}


/* --------------------------------------------------------------
  内容確認
  Template: wc_confirm_page.php
-------------------------------------------------------------- */

#info-confirm .confiem_notice {
    line-height: 1.5;
}
#info-confirm table#cart_table {
    margin-top: 10px;
}
table#confirm_table {
	width: 100%;
}
table#confirm_table tr.ttl,
table#confirm_table td.ttl {
	background-color: #eee;
}
table#confirm_table h3 {
	color: #333;
	font-weight: bold;
}
table#confirm_table th {
	color: #333;
	background-color: #f8f8f8;
	border: solid 1px #ccc;
	font-weight: normal;
}
table#confirm_table td {
	border: solid 1px #ccc;
	font-size: 1.4rem;
}

input.back_to_delivery_button,
input.checkout_button {
	display: block;
    padding: 10px 0;
    width: 80%;
    font-weight: bold;
    border-radius: 3px;
}
input.back_to_delivery_button { /* お届けお支払方法入力に戻るボタン */
	margin: 0 auto;
    background-color: #DEE6F1;
    color: #00418F;
}
input.checkout_button { /* 上記内容で注文するボタン */
	margin: 15px auto 0;
    background-color: #00418F;
    color: #fff;
}

@media (min-width: 768px) {
    
    #info-confirm table#cart_table {
        margin-top: 20px;
    }
	table#confirm_table {
        margin-top: 30px !important;
	}
	table#confirm_table h3 {
		font-size: 1.6rem;
	}
	table#confirm_table th,
	table#confirm_table td {
		font-size: 1.5rem;
	}
    input.back_to_delivery_button,
    input.checkout_button {
        display: inline-block;
        width: 280px;
        height: 44px;
        margin: 0 7px;
    }

}


/* --------------------------------------------------------------
  ご注文完了
  Template: wc_completion_page.php
-------------------------------------------------------------- */

.catbox.complate {
    width: 100%;
}
#cart_completion {
	padding-top: 20px;
	padding-bottom: 20px;
}
#cart_completion .header_explanation,
#cart_completion .footer_explanation {
    line-height: 1.5;
}
#cart_completion a.back_to_top_button {
	display: block;
    width: 80%;
	margin: 0 auto;
    padding: 10px 0;
    background-color: #00418F;
    color: #fff;
    font-weight: bold;
    border-radius: 3px;
}

@media (min-width: 768px) {

	#cart_completion {
        margin: 0 auto;
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#cart_completion .header_explanation,
	#cart_completion .footer_explanation {
		text-align: center;
	}
	#cart_completion .header_explanation {
		padding-bottom: 10px !important;
	}
    #cart_completion a.back_to_top_button {
        width: 280px;
        height: 44px;
        line-height: 44px;
        padding: 0;
    }

}


/* --------------------------------------------------------------
  クレジット決済エラー
  Template: wc_cart_error_page.php
-------------------------------------------------------------- */

#error-page .post {
    margin-bottom: 20px;
    line-height: 1.5;
}





