@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%;
								max-height: 600px;
								margin: auto;
								object-fit: contain;
							}

						#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: 120px;
							}
							.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%;
						}
							.product-cart-info > div {
								width: 100% !important;
							}
								.cartjs_box {
									width: 100%;
								}
									form.product_form {
										width: 100%;
									}
										.cartjs_product_table {
											width: 100%;
										}
											.cartjs_product_table table {
												width: 100% !important;
												margin: 0px !important;
												border: solid 1px #6B0F2B !important;
												text-align: center;
											}
												.cartjs_product_table table tbody {
													width: 100%;
												}
													.cartjs_product_table table tbody tr {
														width: 100%;
														border-bottom: solid 1px #6B0F2B !important;
													}
													.cartjs_sales_price {

													}
													.cartjs_product_num {
														border-bottom: none !important;
													}
														.cartjs_product_table table tbody tr th {
															width: 120px !important;
															padding: 10px 0px !important;
															font-size: 16px !important;
															letter-spacing: 0.4em !important;
															border: none !important;
															color: #6B0F2B !important;
														}
														.cartjs_product_table table tbody tr td {
															width: 130px !important;
															padding: 10px 0px !important;
															font-size: 18px !important;
															font-family: lato, sans-serif !important;
															line-height: 1.4 !important;
															letter-spacing: 0.15em !important;
															border: none !important;
															color: #6B0F2B !important;
														}
															.cartjs_product_table table tbody tr td input {
																padding: 5px 10px;
																outline: none;
																border: solid 1px #6B0F2B !important;
																color: #6B0F2B !important;
															}

										.cartjs_cart_in {
											width: 100%;
										}
											.cartjs_cart_in 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;
												cursor: pointer;
											}
											.cartjs_cart_in input[type=submit]:hover {
												opacity: .9;
											}
						.contact-box{width: 100%; background-color: #799F54; text-align: center; border-radius: 6px; margin-bottom: 8px;}
							.contact-box a{color: #fff; font-weight: 600;display: block; height: 50px; line-height: 50px;}	
						.product-cart-wrap small{font-size: 16px; line-height: 1.6em; display: block}					
			.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%;
								max-height: 500px;
								margin: auto;
								object-fit: contain;
							}

						#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%;
						}
							.product-cart-info > div {
								width: 100% !important;
							}
								.cartjs_box {
									width: 100%;
								}
									form.product_form {
										width: 100%;
									}
										.cartjs_product_table {
											width: 100%;
										}
											.cartjs_product_table table {
												width: 100% !important;
												margin: 0px !important;
												border: solid 1px #6B0F2B !important;
												text-align: center;
											}
												.cartjs_product_table table tbody {
													width: 100%;
												}
													.cartjs_product_table table tbody tr {
														width: 100%;
														border-bottom: solid 1px #6B0F2B !important;
													}
													.cartjs_sales_price {

													}
													.cartjs_product_num {
														border-bottom: none !important;
													}
														.cartjs_product_table table tbody tr th {
															width: 120px !important;
															padding: 10px 0px !important;
															font-size: 16px !important;
															letter-spacing: 0.4em !important;
															border: none !important;
															color: #6B0F2B !important;
														}
														.cartjs_product_table table tbody tr td {
															width: 130px !important;
															padding: 10px 0px !important;
															font-size: 18px !important;
															font-family: lato, sans-serif !important;
															line-height: 1.4 !important;
															letter-spacing: 0.15em !important;
															border: none !important;
															color: #6B0F2B !important;
														}
															.cartjs_product_table table tbody tr td input {
																padding: 5px 10px;
																outline: none;
																border: solid 1px #6B0F2B !important;
																color: #6B0F2B !important;
															}

										.cartjs_cart_in {
											width: 100%;
										}
											.cartjs_cart_in 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;
												cursor: pointer;
											}
											.cartjs_cart_in input[type=submit]:hover {
												opacity: .9;
											}
						.contact-box{width: 100%; background-color: #799F54; text-align: center; border-radius: 6px; }
							.contact-box a{color: #fff; font-weight: 600;display: block; height: 50px; line-height: 50px;}						
						.product-cart-wrap small{font-size: 16px; line-height: 1.6em; display: block}					

						.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 60px;
					}
						.product-cart-info {
							width: 100%;
						}
							.product-cart-info > div {
								width: 100% !important;
							}
								.cartjs_box {
									width: 100%;
								}
									form.product_form {
										width: 100%;
									}
										.cartjs_product_table {
											width: 100%;
										}
											.cartjs_product_table table {
												width: 100% !important;
												margin: 0px !important;
												border: solid 1px #6B0F2B !important;
												text-align: center;
											}
												.cartjs_product_table table tbody {
													width: 100%;
												}
													.cartjs_product_table table tbody tr {
														width: 100%;
														border-bottom: solid 1px #6B0F2B !important;
													}
													.cartjs_sales_price {

													}
													.cartjs_product_num {
														border-bottom: none !important;
													}
														.cartjs_product_table table tbody tr th {
															width: 120px !important;
															padding: 10px 0px !important;
															font-size: 16px !important;
															letter-spacing: 0.4em !important;
															border: none !important;
															color: #6B0F2B !important;
														}
														.cartjs_product_table table tbody tr td {
															width: 130px !important;
															padding: 10px 0px !important;
															font-size: 18px !important;
															font-family: lato, sans-serif !important;
															line-height: 1.4 !important;
															letter-spacing: 0.15em !important;
															border: none !important;
															color: #6B0F2B !important;
														}
															.cartjs_product_table table tbody tr td input {
																padding: 5px 10px;
																outline: none;
																border: solid 1px #6B0F2B !important;
																color: #6B0F2B !important;
															}

										.cartjs_cart_in {
											width: 100%;
										}
											.cartjs_cart_in 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;
												cursor: pointer;
											}
											.cartjs_cart_in input[type=submit]:hover {
												opacity: .9;
											}
						.contact-box{width: 100%; background-color: #799F54; text-align: center; border-radius: 6px;margin-bottom: 11px; }
							.contact-box a{color: #fff; font-weight: 600;display: block; height: 50px; line-height: 50px;}						
						.product-cart-wrap small{font-size: 16px; line-height: 1.6em; display: block}					

						.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;
					}
}