@charset "utf-8";
/* CSS Document */

/* header */
header {
	padding: 1em;
	text-align: center;
	background: #666;
	color: #fff;
}
h1 {
	font-size: 1.1em;
	font-weight: bold;
}

/* main */
main {
	text-align: center;
}
.head {
	background: #f6f1ee;
}
h2 {
	padding: 0.5em;
	font-size: 1.2em;
	font-weight: bold;
}
.currenttime {
	display: flex;
	justify-content: center;
	align-items: center;
}
.currenttime div:first-of-type {
	margin-right: 1em;
}
.currenttime button {
	padding: 0.5em 1em;
	border-radius: 3px;
}
.waiting {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.5em 0 0.25em;
	line-height: 1;
}
.waiting > span:nth-of-type(1) {
	font-size: 1.5em;
}
.waiting > span:nth-of-type(2) {
	transform: translateY(-5px);
	padding: 0 0.25em;
	font-size: 4em;
	font-weight: bold;
}
.waiting > span:nth-of-type(4) {
	padding: 0 0.25em 0 2em;
	font-size: 1.25em;
}
.input {
	padding: 1.5em;
}
.complete {
	padding: 2em;
	border: solid 1px #ccc;
	background: #fafafa;
}
.complete p + p {
	margin-top: 0.5em;
}
.complete p:nth-of-type(2), 
.complete p:nth-of-type(3) {
	font-weight: bold;
}
.complete p:nth-of-type(3) {
	font-size: 2em;
}
.number {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.5em;
}
.number span:nth-of-type(2) {
	padding: 0 0.5em;
	font-size: 1.5em;
	font-weight: bold;
}
.input table {
	width: 100%;
	table-layout: fixed;
}
.input table th, 
.input table td {
	padding: 0.5em;
	border: solid 1px #a8a8a8;
}
.input table th {
	text-align: center;
	background: #f3f3f3;
}
.input table tr.on td {
	/* background: #ffcfda; */
	background: #f6f1ee;
}
div.submit {
	clear: both;
	padding: 2.5em 0 1.5em;
	text-align: center;
}

/* 入力系 */
label {
	display: block;
	text-align: left;
	margin-bottom: 0.25em;
}
span.req {
	color: #f00;
}
input {
	width: 100%;
	margin-bottom: 1em;
	padding: 5px;
	border: solid 1px #a8a8a8;
	border-radius: 0;
	line-height: 1;
	font-size: 16px;
	box-sizing: border-box;
	-webkit-appearance: none;
}
input:last-of-type {
	margin-bottom: 0;	
}
input:-webkit-autofill {box-shadow: 0 0 0 1000px white inset;}

::placeholder {
	line-height: 100%;
	font-weight: normal;
	color: #ccc;
}

/* ボタン */
button {
	padding: 1em 2em;
	border: solid 1px #999;
	border-radius: 4px;
	line-height: 1;
	font-size: 1.1em;
	text-decoration: none;
	background: #fff;
	box-shadow: #aaa 0 0 3px;
}

/* footer */
footer a {
	position: fixed;
	display: block;
	width: 100%;
	bottom: 0;
	padding: 0.75em 1em;
	font-weight: bold;
	text-decoration: none;
	background: #666;
	color: #fff;
}

/* エラー */
.error {
	padding: 2em;
	border: solid 1px #ccc;
	background: #fafafa;
}
.error p + p {
	margin-top: 0.5em;
}
