html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }

body {
	margin: 0;
	font-family: 'Open Sans', sans-serif;
}
img { min-width:20px;max-width: 100%; }
a { text-decoration: none; }

.constrainer {
	max-width: 996px;
	margin: 0 auto;
}

header,
footer { text-align: center; }
header .half {
	display: inline-block;
	width: 50%;
}
header h2 {
	margin: 0;
	padding-left: 20px;
	text-align: left;
	font-size: 180%;
	font-weight: 400;
}
header nav {
	background-color: #fff;
	border-bottom: 50px #ccc solid;
	text-transform: uppercase;
	user-select: none;
}
header nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
header nav ul li { display: inline-block; }
header nav a,
header nav label {
	display: block;
	padding: 10px 50px 10px;
	font-weight: 600;
	cursor: pointer;
}
header nav .constrainer > ul > li > a,
header nav .constrainer > ul > li > label { position: relative; }
header nav .constrainer > ul > li > a:hover:before,
header nav .constrainer > ul > li#mypage > a:before,
header nav .constrainer > ul > li > label:hover:before,
#submenu1:checked + ul:before {
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	bottom: 0px;
	content:"\A";
	margin-left: -10px;
	border-style: solid;
	border-width: 10px;
	border-color: transparent transparent #000 transparent;
}
#submenu1:checked + ul:before { top: -21px; }

header nav ul li ul {
	visibility: hidden;
	opacity: 0;
	width: 200px; 
	position: absolute;
	top: 42px;
	left: 50%;
	margin-left: -100px;
	border: 1px #000 solid;
	background-color: #fff;
	box-shadow: 5px 5px 10px #00000066;
	transition: visibility .3s, opacity 0.3s ease-out;
}
header nav ul li ul li { 
	width: 100%;
	border-bottom: 1px #000 solid;
}
header nav ul li ul li:last-child { border-width: 0; } 
#submenu1 { display: none; }
#submenu1:checked + ul {
	visibility: visible;
	opacity: 1;
}
header nav ul li ul li a:hover { background-color: #ccc; }
header nav li#customer { position: relative; }

/*#theForm { width: 100%; }*/
#theForm h1 {
	display: inline-block;
	width: calc(100% - 105px);
}
#theForm button[type='submit'] {
	width: 100px;
	padding: 10px;
	background-color: green;
	font-size: 16px;
	color: #fff;
	cursor: pointer;
}
#theForm fieldset table input {
	pointer-events:none;	
	background-color: #ff000033;
	text-align: right;
	font-size: 16px;
	color: #999;
}
#theForm .enabeler { display: none; }
#theForm .enabeler:before {
	display: inline-block;
	width: 20px;
	height: 20px;
	background-color: red;
}
#theForm .enabeler:checked + fieldset { color: #000; }
#theForm .enabeler:checked + fieldset input {
	pointer-events: all;
	background-color: #00ff0033;
	color: #000;
}
#theForm fieldset {
	width: 100%;
	margin: 20px 0 20px 0;
	padding: 10px;
	border: 1px #ccc solid;
	color: #999;
}
#theForm fieldset h1 {
	margin: 0;
	display: inline-block;
	font-weight: 600;
	font-size: 155%;
	user-select: none;
}
#theForm fieldset label { cursor: pointer; }
#theForm fieldset label:before {
	content: ' ︎';
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 8px;
	border: 1px #999 solid;
	border-radius: 3px;
	background-image: linear-gradient(rgb(240,240,240),rgb(224,224,224));
	text-align: center;
	font-weight: normal;
	font-size: 25px;
	color: #333;
	line-height: 1;
	cursor: pointer;
	display: none;
}
#theForm .enabeler:checked + fieldset label:before { content: '✔'; }
#theForm figure.image {
	display: inline-block;
	width: 210px;
	vertical-align: top;
	margin: 0 20px 0 0;
}
#theForm figure.table {
	display: inline-block;
	width: calc(100% - 250px);
	vertical-align: top;
	margin: 40px 0 0 	0;
}
#theForm table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
}
#theForm table td.image { vertical-align: top; }
#theForm table td {
	padding: 18px 5px;
	border-top: 1px #ccc solid;
	text-align: right;
}
#theForm table td.name {
	width: 70%;
	text-align: left;
}
#theForm table td.format { white-space: nowrap; }
#theForm table td.number input { width: 7ex; }

footer { min-height: 50px; }

/* mobile last! */

@media (max-width: 760px) {
	#theForm table { font-size: 2.1vmin; }	
	#theForm table td.stk { display: none; }
	footer { margin-top: 0; }
}
@media (max-width: 560px) {
	header nav ul li { display: block; }
	header nav .constrainer > ul > li > a:before { display: none; }
}
@media (max-width: 480px) {
	#theForm figure.image { display: none; }
	#theForm figure.table { width: 100%; }
	#theForm table { font-size: 3.5vmin; }
	}
}
