@charset "utf-8";

	div#main_contents > img {
		width: 100%;
	}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
shop_header
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
section.shop_header {
	margin: 10px auto 0;
}

		section.shop_header > h1 > img {
			width: 100%;
		}
		
	section.shop_header > div {
		width: 100%;
		padding: 107px 0 73px;
		background-image: url('../img/shop_bg.jpg');
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	
		section.shop_header > div > p {
			background-color: rgba(255,255,255,0.5);
			padding: 15px 0;
		}
		
			section.shop_header > div > p > img {
				display: block;
				width: calc(100% - 20px);
				max-width: 440px;
				margin: 0 75px 0 auto;
			}
		
	
			
@media screen and (max-width: 870px) {
			section.shop_header > div > p > img {
				margin: 0 auto;
			}
}

@media screen and (max-width: 600px) {
	section.shop_header > div {
		padding: 50px 0;
	}
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
shop_list
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section.shop_list {
	margin: 20px auto 0;
}

section.shop_list:last-child {
	margin-bottom: 80px;
}

	section.shop_list > h2 {
		color: #9f0e15;
		border: 1px #9f0e15 solid;
		background-color: #f1dddd;
		font-size: 1.3em;
		padding: 0 30px;
		width: 100%;
		height: 50px;
		box-sizing: border-box;
		line-height: 50px;
		border-radius: 25px;
		letter-spacing: 0.2em;
		font-weight: 500;
	}
	
	section.shop_list > ul {
		width: calc(100% - 40px);
		margin: 30px auto 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
		section.shop_list > ul > li {
			width: calc(25% - 10px);
			margin: 0 5px 30px;
			box-sizing: border-box;
			position: relative;
		}
		
		section.shop_list > ul > li.service::after {
			content: '';
			display: block;
			width: 60px;
			height: 60px;
			position: absolute;
			right: -10px;
			top: -10px;
			background-image: url('../img/service.svg');
			background-position: center;
			background-size: contain;
			background-repeat: no-repeat;
			z-index: 1;
		}
		
		section.shop_list > ul > li.none {
			width: 100%;
			margin: 0 0 30px;
		}
		
			section.shop_list > ul > li > p.item_img {
				width: 100%;
				border: 1px #ccc solid;
				padding: 10px;
				box-sizing: border-box;
			}
			
				section.shop_list > ul > li > p.item_img > a {
					display: block;
					width: 100%;
					//background-image: url('../img/shop_bg.jpg');
					background-position: center;
					background-size: contain;
					background-repeat: no-repeat;
					position: relative;
				}
				
				section.shop_list > ul > li > p.item_img > a:hover {
					opacity: 0.5;
				}
				
				section.shop_list > ul > li > p.item_img > a::before {
					content: '';
					display: block;
					width: 100%;
					padding-top: 100%;
				}
				
				section.shop_list > ul > li > p.item_img.no_images > a::before {
					background-color: #ddd;
				}
				
				section.shop_list > ul > li > p.item_img.no_images > a::after {
					content: 'No Images';
					display: block;
					width: 100%;
					text-align: center;
					position: absolute;
					top: calc(50% - 1em);
					left: 0;
					color: #101010;
				}
				
				
			section.shop_list > ul > li > p.item_name {
				margin: 10px auto 0;
				font-size: 0.9em;
				line-height: 1.25em;
			}
			
				section.shop_list > ul > li > p.item_name > a {
					color: #101010;
					font-weight: 500;
				}
			
			section.shop_list > ul > li > p.item_price {
				margin: 5px auto 0;
				font-weight: bold;
			}
			
				section.shop_list > ul > li > p.item_price > span {
					display: inline-block;
				}
			
		
	
	
@media screen and (max-width: 870px) {
	section.shop_list > ul {
		width: 100%;
	}
}

@media screen and (max-width: 600px) {
		section.shop_list > ul > li {
			width: calc(50% - 10px);
		}
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
item_detail
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
section.item_detail {
	margin: 0 auto 80px;
}

	section.item_detail > a {
		display: block;
		width: 100%;
	}
	
	section.item_detail > a:hover {
		opacity: 0.5;
	}
	
		section.item_detail > a > img {
			width: 100%;
		}
	
	section.item_detail > h1 {
		border: 1px #9f0e15 solid;
		border-left: 30px #9f0e15 solid;
		margin: 20px auto 0;
		padding: 12px 5px 10px 20px;
		color: #9f0e15;
		font-size: 1.4em;
		letter-spacing: 0.2em;
		font-weight: bold;
		position: relative;
	}
	
	section.item_detail > h1.service::after {
		content: '';
		display: block;
		width: 68px;
		height: 68px;
		position: absolute;
		right: 5px;
		top: calc(50% - 34px);
		background-image: url('../img/service.svg');
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		z-index: 1;
	}
	
	section.item_detail > p.item_date {
		width: 100%;
		max-width: 600px;
		margin: 5px auto 0;
		font-size: 0.9em;
	}
	
	section.item_detail > div.item_box {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-start;
		margin: 20px auto 0;
	}
	
		div.item_box > div.item_img {
			width: calc(40% - 10px);
			border: 1px #808080 solid;
			padding: 15px;
			box-sizing: border-box;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}
		
			div.item_img > p {
				width: 100%;
				//background-image: url('../img/service.jpg');
				background-position: center;
				background-size: contain;
				background-repeat: no-repeat;
			}
			
			div.item_img > p::before {
				content: '';
				display: block;
				width: 100%;
				padding-top: 100%;
			}
			
			div.item_img > a {
				display: block;
				width: 14px;
				background-color: rgba(0,0,0,0.3);
				border-radius: 50%;
				margin: 5px 3px;
			}
			
			div.item_img > a.active {
				background-color: #9f0e15;
			}
			
			div.item_img > a::before {
				content: '';
				display: block;
				width: 100%;
				padding-top: 100%;
			}
			
		div.item_box > div.item_right {
			width: calc(60% - 10px);
			margin: 0 0 0 20px;
		}
			
			div.item_right > div.item_price {
				text-align: right;
			}
			
				div.item_price > p:first-child {
					color: #9f0e15;
					font-size: 2em;
					font-weight: bold;
					line-height: 1.25em;
				}
				
				div.item_price > p:last-child {
					font-size: 1.1em;
					font-weight: 500;
				}
				
			div.item_right > form > div.item_number {
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-end;
				align-items: center;
			}
			
				div.item_number > button {
					color: #101010;
					background-color: #b09b13;
					padding: 10px 10px 10px 45px;
					background-image: url('../img/cart.svg');
					background-position: 12px center;
					background-size: 30px auto;
					background-repeat: no-repeat;
					border: none;
					border-radius: 6px;
					font-size: 0.85em;
					font-weight: 500;
					cursor: pointer;
				}
				
				div.item_number > button:hover {
					opacity: 0.5;
				}
				
				div.item_number > select {
					display: inline-block;
					border: 1px #b09b13 solid;
					border-radius: 10px;
					padding: 6px 5px 6px 10px;
					margin: 0 20px 0 15px;
				}
				
				div.item_number > p {
					font-size: 0.9em;
					font-weight: bold;
				}
			
			
			div.item_right > dl {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				font-size: 0.9em;
				margin: 20px auto 0;
			}
			
				div.item_right > dl > dt,
				div.item_right > dl > dd {
					border-bottom: 1px #808080 solid;
					margin: 3px 0 0;
				}
				
				div.item_right > dl > dt:first-child,
				div.item_right > dl > dt:first-child + dd {
					margin-top: 0;
				}
				
				
				div.item_right > dl > dt {
					width: 105px;
					box-sizing: border-box;
					padding: 3px 10px;
					position: relative;
				}
				
				div.item_right > dl > dt::after {
					content: ':';
					position: absolute;
					right: 3px;
					top: 2px;
				}
				
				
				div.item_right > dl > dd {
					width: calc(100% - 105px);
					box-sizing: border-box;
					padding: 3px 10px;
				}
				
			div.item_right > p {
				margin: 5px auto 0;
				font-size: 0.8em;
			}
		
		
	section.item_detail > div.item_det {
		width: calc(100% - 20px);
		margin: 10px 0 0 auto;
		background-color: #efebd0;
		box-sizing: border-box;
		padding: 10px 30px 20px 90px;
		background-image: url('../img/item_det.svg');
		background-position: 10px 5px;
		background-size: 57px auto;
		background-repeat: no-repeat;
		font-size: 0.95em;
		line-height: 2em;
	}
	
	section.item_detail > table {
		width: calc(100% - 20px);
		margin: 30px 0 0 auto;
		font-size: 0.9em;
		border-collapse: collapse;
		border: 2px #666666 solid;
	}
	
		section.item_detail > table th,
		section.item_detail > table td {
			border: 1px #666666 solid;
			padding: 5px 20px;
			box-sizing: border-box;
		}
		
		section.item_detail > table th {
			width: 120px;
			letter-spacing: 0.1em;
			background-color: #f7f5e8;
			vertical-align: top;
		}
		
@media screen and (max-width: 500px) {
		section.item_detail > div > div.item_img {
			width: 100%;
			max-width: 300px;
		}
		
		div.item_box > div.item_right {
			width: 100%;
			margin: 20px 0 0;
		}
		
	section.item_detail > div.item_det {
		width: 100%;
		margin: 20px auto 0;
	}
	
	section.item_detail > table {
		width: 100%;
		margin: 30px auto 0;
	}
}

@media screen and (max-width: 400px) {
	section.item_detail > div.item_det {
		padding: 70px 10px 20px;
		background-position: center 8px;
		background-size: 57px auto;
	}
}
