
@media print {
	@page {
		size: A4 landscape;
		/*
		margin-top: 0.75in;
		margin-left: 1.25in;
		margin-right: 1.25in;
		margin-bottom: 0.75in;
		*/
	}
}

/*
 * NOTE
 * For printing, using max-width does not work properly. In order to get the
 * proper layout, you must use width. To accomplish the same thing as max-width,
 * we leverage the Min() function.
 */

.ls-zero {
	letter-spacing: 0;
}
.no-print {
	display: none;
}

.printable-page {
	margin: 0 auto;
	padding: 30px;
	width: 1447px;
	max-width: 1447px;
}
.printable-page.receipt-mast {
	padding-top: 0;
}
.printable-page .w-1110 {
	width: Min(calc(100% - 20px), 970px);
}
.site-page-mast {
	display: flex;
	align-items: center;
	justify-content: center;
}
.site-page-mast-title {
	color: #000;
	font-size: 37px;
	font-weight: 300;
	line-height: 1.8em;
	margin-bottom: 20px;
	letter-spacing: 1em;
	text-indent: 0.5em;
	/* font-family: 'Zen_Kaku_Gothic_New'; */
}
.site-page-mast-title.receipt-mast-title {
	margin-bottom: 2rem;
	font-size: 2.5rem;
}
.site-page-mast-title .in-parens {
	font-size: 30px;
	line-height: 1.8em;
	letter-spacing: 0;
}
.site-page-head {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

.document-head {
	margin-bottom: 30px;
}
.document-head-client {
	flex: 0 0 60%;
}
.document-head-company {
	flex: 0 0 40%;
	text-align: right;
	padding-top: 23px;
}
.deliveryslip-head .client-name {
	color: #1c1a1b;
	font-size: 40px;
	font-weight: 400;
	line-height: 80px;
	letter-spacing: 0.1em;
	margin-bottom: 7px;
	font-family: 'Zen_Kaku_Gothic_New';
}
.deliveryslip-head .client-name .title-suffix {
	display: inline-block;
	color: #1c1a1b;
	font-size: 25px;
	font-weight: 400;
	line-height: 45px;
	letter-spacing: 0.1em;
	margin: 0 0 0 25px;
}
.deliveryslip-head .boilerplate-these-items {
	color: #1c1a1b;
	font-size: 25px;
	font-weight: 400;
	line-height: 45px;
	letter-spacing: 0.1em;
	margin-bottom: 50px;
	font-family: 'Zen_Kaku_Gothic_New';
}
.deliveryslip-head .final-total-head {
	margin: 0;
	display: inline-block;
	color: #1c1a1b;
	font-size: 50px;
	font-weight: 700;
	line-height: 81px;
	letter-spacing: 0.1em;
	font-family: 'Roboto';
	padding: 0 100px 0 5px;
	border-bottom: 1px solid #1c1a1b;
}
.deliveryslip-head .final-total-head .yen {
	font-size: 42px;
	font-weight: 400;
	line-height: 81px;
	margin: 0 15px 0 0;
	display: inline-block;
}
.deliveryslip-head .pickup-date {
	color: #1c1a1b;
	font-size: 21px;
	font-weight: 400;
	line-height: 40px;
	font-family: 'Roboto';
	letter-spacing: 0.05em;
	margin-bottom: 5px;
}
.deliveryslip-head .pickup-date .dt-sig {
	display: inline-block;
	margin: 0 23px 0 9px;
}
.deliveryslip-head .pickup-date .dt-sig:last-child {
	margin-right: 0;
}
.deliveryslip-head .registration-number,
.deliveryslip-head .reservation-number {
	color: #1c1a1b;
	font-size: 21px;
	font-weight: 400;
	font-style: normal;
	line-height: 40px;
	letter-spacing: 0.1em;
	font-family: 'Roboto';
	margin-bottom: 5px;
}
.deliveryslip-head .registration-number .reg-label,
.deliveryslip-head .reservation-number .num-label {
	display: inline-block;
	margin-right: 9px;
}
.deliveryslip-head .document-company-chop {
	width: 100%;
}
.deliveryslip-head .document-company-chop .chop-image {
	width: 50%;
	height: auto;
	display: block;
	margin-left: auto;
	max-width: 120px;
}
.print-table {
}
table.print-reservations-table{
	width: 100%;
	border: none;
	border-collapse: collapse;
}
.print-table.deliveryslip-items {
	width: 100%;
	border: none;
	border-collapse: collapse;
}
.deliveryslip-items-heading td {
	padding: 10px 15px;
	color: #1c1a1b;
	font-size: 20px;
	font-weight: 500;
	line-height: 30px;
	text-align: center;
	font-family: 'Zen_Kaku_Gothic_New';
	border: 1px solid #90c7a2;
}
.deliveryslip-items-heading td.item-unit-price {
	width: 200px;
}
.deliveryslip-items-heading td.item-amount {
	width: 250px;
}
.deliveryslip-items-heading td.item-quantity,
.deliveryslip-items-heading td.item-tax-rate {
	width: 150px;
}
.deliveryslip-totals td,
.deliveryslip-subtotals td,
.deliveryslip-items-item td {
	position: relative;
	padding: 10px 15px;
	color: #1c1a1b;
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	border: 1px solid #90c7a2;
	font-family: 'Zen_Kaku_Gothic_New';
}
tr.deliveryslip-subtotals td {
	padding-top: 0;
	padding-bottom: 0;
}
.tax-rate-split .tax-rate-label {
	margin: 0;
	color: #1c1a1b;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.04em;
	font-family: 'Roboto';
}
.tax-rate-split .tax-rate-amount {
	margin: 0;
	color: #1c1a1b;
	font-size: 22px;
	font-weight: 400;
	line-height: 34px;
	letter-spacing: 0.04em;
	font-family: 'Roboto';
}
.deliveryslip-subtotals .tax-amount {
	margin: 0;
	color: #1c1a1b;
	font-size: 22px;
	font-weight: 400;
	line-height: 34px;
	text-align: right;
	letter-spacing: 0.04em;
	font-family: 'Roboto';
}
.deliveryslip-subtotals .tax-after {
	margin: 0;
	color: #1c1a1b;
	font-size: 22px;
	font-weight: 400;
	line-height: 34px;
	letter-spacing: 0.04em;
	font-family: 'Zen_Kaku_Gothic_New';
}
.deliveryslip-subtotals .tax-rate-split {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}


.deliveryslip-items-item .item-product-name .item-index {
	font-size: 15px;
	margin-right: 11px;
	display: inline-block;
}
.deliveryslip-items-item .item-quantity {
}
.deliveryslip-totals .totals-tax-amount {
	position: relative;
}
.deliveryslip-items-item .item-amount:before,
.deliveryslip-subtotals .totals-tax-amount:before,
.deliveryslip-items-item .item-unit-price:before {
	content: "￥";
	top: 50%;
	left: 10px;
	position: absolute;
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	transform: translateY(-50%);
}
.deliveryslip-items-item .item-tax-rate {
}
.deliveryslip-items-item .item-quantity,
.deliveryslip-items-item .item-unit-price,
.deliveryslip-items-item .item-amount,
.deliveryslip-items-item .item-tax-rate {
	text-align: right;
	position: relative;
}
.deliveryslip-items-item .item-rice-size {
	text-align: center;
}
.deliveryslip-totals .tax-after,
.deliveryslip-totals .tax-amount {
	color: #1c1a1b;
	font-size: 22.5px;
	font-weight: 400;
	line-height: 34px;
	margin-bottom: 0;
	font-family: 'Roboto';
}
.deliveryslip-totals td {
	padding-top: 0;
	padding-bottom: 0;
}
.delivery-fee-wrap {
	height: 70px;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: space-between;
}
.delivery-fee-wrap:before {
	content: "￥";
	top: 50%;
	left: 90px;
	position: absolute;
	font-size: 25px;
	font-weight: 500;
	line-height: 37px;
	transform: translateY(-50%);
	font-family: 'Zen_Kaku_Gothic_New';
}
.delivery-fee-label {
	margin: 0;
	color: #1c1a1b;
	font-size: 25px;
	font-weight: 400;
	line-height: 37px;
	font-family: 'Zen_Kaku_Gothic_New';
}
.delivery-fee-value {
	margin: 4px 0 0 0;
	color: #1c1a1b;
	font-size: 30px;
	font-weight: 500;
	line-height: 37px;
	letter-spacing: 0.04em;
	font-family: 'Roboto';
}

.tax-totals-split {
	height: 70px;
	display: flex;
	align-items: center;
}
.tax-totals-split .tax-totals-tax-side,
.tax-totals-split .tax-totals-total-side {
	height: 70px;
	flex: 0 0 50%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.tax-totals-split .tax-totals-tax-side {
	padding-right: 15px;
	border-right: 1px solid #90c7a2;
}
.tax-totals-split .tax-totals-total-side {
	padding-left: 15px;
}
.tax-totals-split .tax-totals-tax-side:before,
.tax-totals-split .tax-totals-total-side:before {
	content: "￥";
	top: 50%;
	left: 190px;
	position: absolute;
	font-size: 25px;
	font-weight: 500;
	line-height: 37px;
	transform: translateY(-50%);
	font-family: 'Zen_Kaku_Gothic_New';
}
.tax-totals-tax-label,
.tax-totals-total-label {
	margin: 0;
	color: #1c1a1b;
	font-size: 25px;
	font-weight: 400;
	line-height: 37px;
	font-family: 'Zen_Kaku_Gothic_New';
}
.tax-totals-tax-value,
.tax-totals-total-value {
	margin: 4px 0 0 0; /* NOTE Roboto does not play well with Zen... */
	color: #1c1a1b;
	font-size: 30px;
	font-weight: 500;
	line-height: 37px;
	letter-spacing: 0.04em;
	font-family: 'Roboto';
}
.deliveryslip-totals td.no-cell-borders {
	border: none;
}


.deliveryslip-comment-box {
	min-height: 130px;
	padding: 20px;
	margin-top: 45px;
	border: 1px solid #90c7a2;
}
.deliveryslip-comment {
	color: #1c1a1b;
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
	margin-bottom: 0;
	font-family: 'Zen_Kaku_Gothic_New';
}


body {
/*	counter-reset: pagenum;*/
}
.printable-page.print-reservations {
	counter-reset: pagenum;
}
.print-reservations-table {
}
.print-reservations-head {
	margin-bottom: 30px;
	counter-increment: pagenum;
}
.print-reservations-head .print-reservations-title {
	color: #1c1a1b;
	font-size: 20px;
	font-weight: 700;
	line-height: 23px;
	letter-spacing: 0.08em;
	font-family: 'Roboto';
	margin: 10px 0;
}
.print-reservations .print-reservations-title-x:after { /* Does not seem to work... */
	content: counter(pagenum);
}
.print-reservations-table .dispatch-spacer-row {
	height: 10px;
	min-height: 10px;
}
.print-reservations .dispatch-no-reservations-title {
	color: #1c1a1b;
	border: none;
	box-shadow: none;
}
.print-reservations .reservation-card.via-group {
	min-width: unset;
	box-shadow: unset;
	border: 1px solid #1c1a1b;
	page-break-inside: avoid;
	cursor: default;
}
.print-reservations .reservation-card.via-group via-group-name {
	page-break-inside: avoid;
}
.print-reservations .reservation-card.via-group .card-delivery,
.print-reservations .reservation-card.via-group .reservation-card-foot {
	border-color: #1c1a1b;
}
.print-reservations .reservation-card.via-group .card-bill-wrap .card-bill-timing.post,
.print-reservations .reservation-card.via-group .card-bill-wrap .card-bill-timing.email,
.print-reservations .reservation-card.via-group .card-bill-wrap .card-bill-timing.sameday {
	background-color: #1c1a1b;
}
.print-reservations .reservation-card.via-group .card-delivery-total.post,
.print-reservations .reservation-card.via-group .card-delivery-total.email,
.print-reservations .reservation-card.via-group .card-delivery-total.sameday {
	color: #1c1a1b;
}

