h1{
	margin:60px auto 30px;
	font-size:20px;
}

.mainVis{
	width:100%;
}
.mainVis img{
	width:100%;
}

#main{
	width:92%;
	max-width:900px;
	margin:0 auto;
}
/*-----------------------------------*/
#product{
	display:flex;
	flex-wrap:wrap;
	/*justify-content:space-between;*/
	justify-content:center;
}
#product li{
	width:24%;
	margin:0 5px 0 0;
	text-align:left;
}
#product li .product{
	border:1px solid #ddd;
}
#product li h2{
	height:100px;
	margin:10px auto;
	font-size:16px;
	line-height:1.4em;
	letter-spacing:-2px;
	font-weight:600;
}
#product li .price{
	margin:5px auto 15px 0;
}
#product li dl{
	display:flex;
	justify-content:space-between;
	background:#EFEDD7;
}
#product li dt{
	margin:10px;
}
#product li dd{
	margin:10px;
	text-align:right;
}

.priceArea{
	margin:40px auto;
	padding:20px 0;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	text-align:right;
}
.priceArea:first-line{
	font-size:18px;
	font-weight:600;
}
.priceTotal{
	margin:0 0 0 15px;
}

.send { margin:-30px 0 0; font-size:14px; text-align:right; }
.send a { color:#999; }
.send a:hover { text-decoration:underline; }

/*-----------------------------------*/

.table{
	display:flex;
	flex-wrap:wrap;
	border-bottom:1px solid #ddd;
	text-align:left;
}
.table dt{
	width:30%;
	padding:20px 0 20px 10px;
	border-top:1px solid #ddd;
	border-left:1px solid #ddd;
	background:#EAF6FD;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.table dd{
	width:70%;
	padding:20px 0 20px 20px;
	border-top:1px solid #ddd;
	border-right:1px solid #ddd;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

label{
	margin:0 10px 0 0;
}
input[type="text"]{
    width: 90%;
    font-size: 14px;
    padding: 8px;
	margin:0 0 10px 0;
}
input[type="text"].number{
	width:auto;
}

textarea{
	width:90%;
	padding: 8px;
	margin:0 0 10px 0;
	border:1px solid #ddd;
}

.info{
	margin:20px auto;
}

button:not(.columnMod){
	width:50%;
	height:50px;
	max-width:300px;
	margin:0 auto 40px;
	background:#004098;
	color:#fff;
	font-size:18px;
}

.pay { margin:-20px 20px 0 0; font-size:14px; text-align:right; }
.pay a { color:#999; }
.pay a:hover { text-decoration:underline; }

/*-------------------------------------*/
#itemconfirm{
	width:100%;
	border-collapse:collapse;
	border:1px solid #ddd;
}
#itemconfirm tr:nth-of-type(1){
	background:#EAF6FD;
	font-weight:600;
	font-size:600;
	text-align:center;
}
#itemconfirm td{
	padding:10px 0;
	border:1px solid #ddd;
}

#confirmAreaScreen{
	display:none;
	width:100%;
	height:100%;
	text-align:center;
	z-index:801;
	overflow:auto;
}

#confirmArea{
	width:100%;
	margin:30px auto 30px auto;
	padding:30px 0 60px 0;
	z-index:10000;
	overflow-y:auto;
}

#confirmation{
	display:flex;
	flex-wrap:wrap;
	color:#333;
	margin:10px auto 30px auto;
	border-bottom:1px solid #ddd;
	text-align:left;
}
#confirmation dt{
	width:40%;
	padding:20px 0 20px 10px;
	border-top:1px solid #ddd;
	border-left:1px solid #ddd;
	background:#EAF6FD;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
#confirmation dd{
	width:60%;
	padding:20px 0 20px 20px;
	border-top:1px solid #ddd;
	border-right:1px solid #ddd;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}


.textRed,.red{
	color:#f7795d;
}
.red{
	font-size:12px;
}


@media screen and (max-width: 750px) {
	#product li{
		width:212px;
		margin:0 0 30px 0;
		text-align:left;
	}
	
	#product li h2{
		height:70px;
		margin:10px auto;
		font-size:14px;
		line-height:1.4em;
		letter-spacing:-2px;
		font-weight:600;
	}
	
	.pay { margin:10px 20px 0 0; font-size:14px; text-align:right; }
}