@charset "utf-8";
/* PC ================================================== */
@media all and (min-width:960px){
#shop {
	width: 100%;
}
	.shop--inner {
		width: 100%;
		padding-top: 82px;
	}
		.shop-main_image {
			width: 100%;
			height: 350px;
		}
			.shop-main_image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

		.product-container {
			width: 90%;
			max-width: 1200px;
			padding: 70px 0px 100px;
			margin: auto auto;
		}
			.shop-heading {
				width: 100%;
				margin: auto auto 50px;
				font-family: lato, sans-serif;
				font-size: 20px;
				font-weight: 700;
				color: #6B0F2B;
				letter-spacing: 0em;
				display: flex;
				justify-content: space-between;
				align-items: center;
			}
				.shop-heading:before,
				.shop-heading:after {
					content: '';
					width: 42%;
					height: 1px;
					background-color: #6B0F2B;
				}

			.product-contents {
				width: 100%;
				padding: 0px 0px 105px;
				display: flex;
				justify-content: space-between;
				align-items: stretch;
			}
				.product-contents_left {
					width: calc(100% - 310px);
				}
					.product-images {
						width: 100%;
						margin: auto auto 25px;
					}	
						#mainImg {
							width: 100%;
							height: auto;
							margin: auto auto 11px;
						}
							#mainImg img {
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						#subImg {
							width: 100%;
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
							flex-wrap: wrap;
						}
							#subImg li {
								width: 52px;
								height: 44px;
								margin-right: 10px;
								margin-bottom: 10px;
							}
								#subImg li img {
									width: 100%;
									height: 100%;
									object-fit: cover;
									cursor: pointer;
								}

					.product-description {
						width: 100%;
						margin: auto auto 35px;
					}
						.product-description p {
							width: 100%;
							font-size: 16px;
							line-height: 1.8;
							text-align: justify;
						}

					.product-info {
						width: 100%;
						padding: 30px 0px;
						margin: auto auto 60px;
						border-top: solid 1px #CCCCCC;
						border-bottom: solid 1px #CCCCCC;
					}
						.product-info-item {
							width: 100%;
							padding: 5px 0px;
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
						}
							.product-info-item dt {
								width: 80px;
							}
							.product-info-item dd {
								width: calc(100% - 80px);
							}

					.shop-back_link {
						font-size: 16px;
						color: #1A1311;
						text-decoration: underline;
					}
						.shop-back_link:hover {
							text-decoration: none;
						}

				.product-contents_right {
					width: 250px;
				}
					.product-cart-wrap {
						width: 100%;
						padding: 0px;
						position: sticky;
						top: 100px;
					}
						.product-cart-category {
							width: 100%;
							margin: auto auto 7px;
							font-family: lato, sans-serif;
							font-size: 14px;
							line-height: 1.0;
							letter-spacing: 0em;
							color: #6B0F2B;
						}
						.product-cart-name {
							width: 100%;
							margin: auto auto 25px;
							font-size: 20px;
							line-height: 1.4;
							letter-spacing: 0.15em;
						}
						.product-cart-info {
							width: 100%;
							border: solid 1px #6B0F2B;
						}
							.product-cart-info-item {
								width: 100%;
								padding: 10px 0px;
								border-bottom: solid 1px #6B0F2B;
								text-align: center;
								color: #6B0F2B;
								display: flex;
								justify-content: space-between;
								align-items: center;
							}
							.product-cart-info-item:last-of-type {
								border-bottom: none;
							}
								.product-cart-info-item dt {
									width: 120px;
									font-size: 16px;
									letter-spacing: 0.4em;
								}
								.product-cart-info-item dd {
									width: 130px;
									font-size: 18px;
									font-family: lato, sans-serif;
									letter-spacing: 0.15em;
								}

						input[type=submit] {
							display: block;
							width: 100%;
							height: 52px;
							border: none;
							background-color: #6B0F2B;
							font-size: 18px;
							text-align: center;
							color: #ffffff;
							line-height: 50px;
							letter-spacing: 0.1em;
							transition: .2s;
							-webkit-transition: .2s;
						}
						input[type=submit]:hover {
							opacity: .9;
						}

			.product-category_select {
				display: none;
			}
			.product-category_list {
				width: 100%;
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				flex-wrap: wrap;
			}
			.product-category_list::before{
				content:"";
				display: block;
				width: 23.5%;
				order:1;
			}
			.product-category_list::after{
				content:"";
				display: block;
				width: 23.5%;
			}
				.product-cat_item {
					width: 23.5%;
					height: 60px;
					margin-bottom: 20px;
					border: solid 1px #6B0F2B;
				}
				.product-cat_item:nth-last-of-type(-n+4) {
					margin-bottom: 0px;
				}
					.product-cat_item a {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 100%;
						height: 100%;
						font-size: 16px;
						font-weight: 500;
						text-align: center;
						color: #6B0F2B;
					}
					.product-cat_item.on a {
						background-color: #6B0F2B;
						color: #ffffff;
					}
}

/* Tablet ================================================== */
@media all and (min-width:560px) and (max-width:959px){
#shop {
	width: 100%;
}
	.shop--inner {
		width: 100%;
	}
		.shop-main_image {
			width: 100%;
			height: 180px;
		}
			.shop-main_image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

		.product-container {
			width: 90%;
			padding: 30px 0px 70px;
			margin: auto auto;
		}
			.shop-heading {
				width: 100%;
				margin: auto auto 30px;
				font-family: lato, sans-serif;
				font-size: 20px;
				font-weight: 700;
				color: #6B0F2B;
				letter-spacing: 0em;
				display: flex;
				justify-content: space-between;
				align-items: center;
			}
				.shop-heading:before,
				.shop-heading:after {
					content: '';
					width: 36%;
					height: 1px;
					background-color: #6B0F2B;
				}

			.product-contents {
				width: 100%;
				padding: 0px 0px 40px;
			}
				.product-contents_left {
					width: 100%;
				}
					.product-cart-category {
						width: 100%;
						margin: auto auto 7px;
						font-family: lato, sans-serif;
						font-size: 12px;
						line-height: 1.0;
						letter-spacing: 0em;
						color: #6B0F2B;
					}
					.product-cart-name {
						width: 100%;
						margin: auto auto 25px;
						font-size: 20px;
						line-height: 1.4;
						letter-spacing: 0.15em;
					}
					.product-images {
						width: 100%;
						margin: auto auto 15px;
					}	
						#mainImg {
							width: 100%;
							height: auto;
							margin: auto auto 11px;
						}
							#mainImg img {
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						#subImg {
							width: 100%;
							margin: auto auto;
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
							flex-wrap: wrap;
						}
							#subImg li {
								width: 52px;
								height: 44px;
								margin-right: 10px;
								margin-bottom: 10px;
							}
								#subImg li img {
									width: 100%;
									height: 100%;
									object-fit: cover;
								}

					.product-description {
						width: 100%;
						margin: auto auto 30px;
					}
						.product-description p {
							width: 100%;
							font-size: 16px;
							line-height: 1.8;
							text-align: justify;
						}

					.product-info {
						width: 100%;
						padding: 20px 0px;
						margin: auto auto 35px;
						border-top: solid 1px #CCCCCC;
						border-bottom: solid 1px #CCCCCC;
					}
						.product-info-item {
							width: 100%;
							padding: 5px 0px;
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
						}
							.product-info-item dt {
								width: 80px;
							}
							.product-info-item dd {
								width: calc(100% - 80px);
							}

				.product-contents_right {
					width: 100%;
					padding: 0px 0px 60px;
					border-bottom: solid 1px #CCCCCC;
					text-align: center;
				}
					.product-cart-wrap {
						width: 100%;
						padding: 0px;
						margin: auto auto 30px;
					}
						.product-cart-info {
							width: 100%;
							border: solid 1px #6B0F2B;
						}
							.product-cart-info-item {
								width: 100%;
								padding: 10px 0px;
								border-bottom: solid 1px #6B0F2B;
								text-align: center;
								color: #6B0F2B;
								display: flex;
								justify-content: space-between;
								align-items: center;
							}
							.product-cart-info-item:last-of-type {
								border-bottom: none;
							}
								.product-cart-info-item dt {
									width: 120px;
									font-size: 16px;
									letter-spacing: 0.4em;
								}
								.product-cart-info-item dd {
									width: 130px;
									font-size: 18px;
									font-family: lato, sans-serif;
									letter-spacing: 0.15em;
								}

					.shop-back_link {
						font-size: 16px;
						color: #1A1311;
						text-decoration: underline;
					}
						.shop-back_link:hover {
							text-decoration: none;
						}
						input[type=submit] {
							display: block;
							width: 100%;
							height: 52px;
							border: none;
							background-color: #6B0F2B;
							font-size: 18px;
							text-align: center;
							color: #ffffff;
							line-height: 50px;
							letter-spacing: 0.1em;
						}

			.product-category_select {
				display: none;
			}
			.product-category_list {
				width: 100%;
				margin: auto auto 40px !important;
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				flex-wrap: wrap;
			}
			.product-category_list::before{
				content:"";
				display: block;
				width: 24%;
				order:1;
			}
			.product-category_list::after{
				content:"";
				display: block;
				width: 24%;
			}
				.product-cat_item {
					width: 24%;
					height: 54px;
					margin-bottom: 10px;
					border: solid 1px #6B0F2B;
				}
				.product-cat_item:nth-last-of-type(-n+4) {
					margin-bottom: 0px;
				}
					.product-cat_item a {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 100%;
						height: 100%;
						font-size: 14px;
						font-weight: 500;
						text-align: center;
						letter-spacing: 0em;
						color: #6B0F2B;
					}
					.product-cat_item.on a {
						background-color: #6B0F2B;
						color: #ffffff;
					}
}

/* SP ================================================== */
@media all and (max-width:559px){
#shop {
	width: 100%;
}
	.shop--inner {
		width: 100%;
	}
		.shop-main_image {
			width: 100%;
			height: 180px;
		}
			.shop-main_image img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

		.product-container {
			width: 90%;
			padding: 30px 0px 100px;
			margin: auto auto;
		}
			.shop-heading {
				width: 100%;
				margin: auto auto 30px;
				font-family: lato, sans-serif;
				font-size: 20px;
				font-weight: 700;
				color: #6B0F2B;
				letter-spacing: 0em;
				display: flex;
				justify-content: space-between;
				align-items: center;
			}
				.shop-heading:before,
				.shop-heading:after {
					content: '';
					width: 23%;
					height: 1px;
					background-color: #6B0F2B;
				}

			.product-contents {
				width: 100%;
				padding: 0px 0px 40px;
			}
				.product-contents_left {
					width: 100%;
				}
					.product-cart-category {
						width: 100%;
						margin: auto auto 7px;
						font-family: lato, sans-serif;
						font-size: 12px;
						line-height: 1.0;
						letter-spacing: 0em;
						color: #6B0F2B;
					}
					.product-cart-name {
						width: 100%;
						margin: auto auto 25px;
						font-size: 20px;
						line-height: 1.4;
						letter-spacing: 0.15em;
					}
					.product-images {
						width: 100%;
						margin: auto auto 15px;
					}	
						#mainImg {
							width: 100%;
							height: auto;
							margin: auto auto 11px;
						}
							#mainImg img {
								width: 100%;
								height: 100%;
								object-fit: cover;
							}
						#subImg {
							width: 100%;
							margin: auto auto;
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
							flex-wrap: wrap;
						}
							#subImg li {
								width: 52px;
								height: 44px;
								margin-right: 10px;
								margin-bottom: 10px;
							}
								#subImg li img {
									width: 100%;
									height: 100%;
									object-fit: cover;
								}

					.product-description {
						width: 100%;
						margin: auto auto 30px;
					}
						.product-description p {
							width: 100%;
							font-size: 16px;
							line-height: 1.8;
							text-align: justify;
						}

					.product-info {
						width: 100%;
						padding: 20px 0px;
						margin: auto auto 35px;
						border-top: solid 1px #CCCCCC;
						border-bottom: solid 1px #CCCCCC;
					}
						.product-info-item {
							width: 100%;
							padding: 5px 0px;
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
						}
							.product-info-item dt {
								width: 80px;
							}
							.product-info-item dd {
								width: calc(100% - 80px);
							}

				.product-contents_right {
					width: 100%;
					padding: 0px 0px 60px;
					border-bottom: solid 1px #CCCCCC;
					text-align: center;
				}
					.product-cart-wrap {
						width: 100%;
						padding: 0px;
						margin: auto auto 30px;
					}
						.product-cart-info {
							width: 100%;
							border: solid 1px #6B0F2B;
						}
							.product-cart-info-item {
								width: 100%;
								padding: 10px 0px;
								border-bottom: solid 1px #6B0F2B;
								text-align: center;
								color: #6B0F2B;
								display: flex;
								justify-content: space-between;
								align-items: center;
							}
							.product-cart-info-item:last-of-type {
								border-bottom: none;
							}
								.product-cart-info-item dt {
									width: 120px;
									font-size: 16px;
									letter-spacing: 0.4em;
								}
								.product-cart-info-item dd {
									width: 130px;
									font-size: 18px;
									font-family: lato, sans-serif;
									letter-spacing: 0.15em;
								}

					.shop-back_link {
						font-size: 16px;
						color: #1A1311;
						text-decoration: underline;
					}
						.shop-back_link:hover {
							text-decoration: none;
						}
						input[type=submit] {
							display: block;
							width: 100%;
							height: 52px;
							border: none;
							background-color: #6B0F2B;
							font-size: 18px;
							text-align: center;
							color: #ffffff;
							line-height: 50px;
							letter-spacing: 0.1em;
						}

			.product-category_select {
				width: 100%;
				margin: auto auto 35px;
				background-color: #6B0F2B;
				font-size: 16px;
				text-align: center;
				color: #ffffff;
				position: relative;
			}
			.product-category_select:after {
				content: "\f2ec";
				font-family: "Font Awesome 5 Pro";
				font-size: 10px;
				font-weight: 700;
				position: absolute;
				top: 50%;
				right: 10px;
				transform: translate(-50%,-50%) rotate(180deg);
				-webkit-transform: translate(-50%,-50%) rotate(180deg);
				pointer-events: none;
			}
				.product-category_select select {
					display: block;
					width: 100%;
					height: 60px;
					background-color: #6B0F2B;
					font-size: 16px;
					text-align: center;
					color: #ffffff;
					opacity: 0;
				}
				.product-category_select-txt {
					width: 100%;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%,-50%);
					-webkit-transform: translate(-50%,-50%);
					pointer-events: none;
				}

			.product-category_list {
				display: none;
			}
				.product-cat_item {
					width: 100%;
					height: 60px;
					margin-bottom: 20px;
					border: solid 1px #6B0F2B;
				}
					.product-cat_item a {
						display: flex;
						justify-content: center;
						align-items: center;
						width: 100%;
						height: 100%;
						font-size: 16px;
						font-weight: 500;
						text-align: center;
						color: #6B0F2B;
					}
					.product-cat_item.on a {
						background-color: #6B0F2B;
						color: #ffffff;
					}
}