body {
	padding: 2rem 0;
	background: #fffff5;
	color: #333;
}

.order h1 {
	padding-bottom: 1rem;
}

.order form * {
	vertical-align: middle;
	line-height: 1;
}

.order .layout {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;

	margin: auto;
	padding: 2rem;
	background: inherit;
	color: inherit;
}

.order .layout > * {
	flex: 0 1 auto;
	width: 100%;
	max-width: 800px;
}

.order .form_page {
	display: block;
}

.order .form_page.hidden {
	display: none;
}

.order .item {
	display: flex;
	flex-flow: row nowrap;
	justify-content: stretch;
	align-items: center;
	padding: 1rem 0;
}

.order .item > * {
	flex: 0 1 auto;
	width: 100%;
}

.order .item > *:nth-child(1) {
	flex: 0 0 8em;
}

.order .item > *:nth-child(2) {
	flex: 1 0 10em;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	align-items: center;
	white-space: nowrap;
}

.order .item > *:nth-child(3) {
	flex: 0 1 400px;
}

.order .item > label {
	display: flex;
	flex-flow: row nowrap;
	justify-content: stretch;
	align-items: center;
}

.order .item_ {
	padding: 1rem 0;
}

.order .item_bottom_border {
	border-bottom: solid thick #0002;
	margin-bottom: 2rem;
	padding-bottom: 3rem;
}

.order .item_label {
}

.order .item_label.required::after {
	content: '（必須）';
	display: inline-block;
	line-height: 1;
	font-size: 75%;
	vertical-align: baseline;
	color: #e68;
}

.order .item_note {
	padding: 0 0 0 1rem;
	word-break: keep-all;
	line-height: 1.5;
	color: #777;
}

.order button {
	border: thin #c89205;
	border-style: none none solid none;
	border-radius: 0.25rem;
	background: #fcc32b;
	color: #fff;
}

.order button.link {
	border-color: transparent;
	border-radius: 0;
	background: none;
	color: inherit;
}

.order input,
.order select,
.order textarea {
	padding: 0.5rem 0.5rem;
	width: 100%;
	border: solid 0.125rem #ccc;
	border-radius: 0.25rem;
	font: inherit;
	color: inherit;
}

.order input[readonly],
.order select[readonly],
.order textarea[readonly] {
	border-color: transparent;
	background: transparent;
	color: inherit;
}

.order textarea {
	min-height: 5em;
}

.order .item_number {
	text-align: right;
}

.order .unit {
}

.order .total_price,
.order .total_price~.unit {
	font-size: 2rem;
	font-weight: bold;
	color: #f66;
}

.order .confirm_list {
	list-style: decimal;
	white-space: normal;
}

.order .confirm_list > li {
	line-height: 1.25;
}

.order .confirm_list > li:empty {
	display: none;
}

@media screen and (min-width: 600px) {
	.order .pc_block {
		display: block;
	}

	.order .sp_block {
		display: none;
	}

}

@media screen and (max-width: 600px) {
	.order .pc_block {
		display: none;
	}

	.order .sp_block {
		display: block;
	}

}

