/* Layout
------------------------------------------*/
.main {
  padding: 0 5%;
}
.front_page .main{
	padding: 0;
}

/* header
------------------------------------------*/
.header {
  display: none;
}
.sp-header {
  display: block;
}

.mainvisual{
	.mv-btn{
		right: 4vw;
		width: 25vw;
	}
}


.drawer-category {
	margin-bottom: 5vw;
	.drawer-cat-base{
		display: none;
	}
	.drawer-cat{
		&>ul{
			&>li{
				list-style-type: none;
				&>a{
					position: relative;
					display: block;
					padding: 0 15px;
					width: 100%;
					height: 56px;
					line-height: 56px;
					color: var(--bodyBgColor);
					background: var(--bgColorSub);
					font-size: 1.8rem;
					font-weight: 500;
					&::before{
						position: absolute;
						top: 50%;
						transform: translateY(-50%);
						right: 13px;
						content: '\f138';
						font-weight: bold;
						font-family: 'Font Awesome 5 Free';
						line-height: 1;
						-webkit-font-smoothing: antialiased;
						-moz-osx-font-smoothing: grayscale;
					}
				}
				&>ul{
					padding: 1.0em 2vw 2em;
					&>li{
						&>a{
							display: block;
							padding-left: 1.5em;
							position: relative;
							color: var(--textColor);
							font-size: 1.6rem;
							font-weight: 500;
							&::before{
								position: absolute;
								top: .5em;
								left: 0;
								font-size: 1.5rem;
								content: '\f005';
								color: var(--keyColor);
								font-weight: bold;
								font-family: 'Font Awesome 5 Free';
								line-height: 1;
								-webkit-font-smoothing: antialiased;
								-moz-osx-font-smoothing: grayscale;
							}
						}
						&>ul{
							padding: .5em 0 1em .7em;
							&>li{
								&>a{
									display: block;
									padding-left: 1em;
									position: relative;
									color: var(--textColor);
									font-size: 1.5rem;
									font-weight: 500;
									&::before{
										position: absolute;
										top: .5em;
										left: 0;
										font-size: 1.2rem;
										content: '\f105';
										color: var(--keyColor);
										font-weight: bold;
										font-family: 'Font Awesome 5 Free';
										line-height: 1;
										-webkit-font-smoothing: antialiased;
										-moz-osx-font-smoothing: grayscale;
									}
								}
								&>ul{
									padding: .5em 0 1em 1.7em;
									&>li{
										&>a{
											display: block;
											padding-left: 1em;
											position: relative;
											color: var(--textColor);
											font-size: 1.4rem;
											font-weight: 500;
											&::before{
												position: absolute;
												top: .85em;
												left: 0;
												content: '';
												width: 8px;
												height: 1px;
												background: var(--keyColor);
											}
										}
										&>ul{
											padding: .5em 0 1em 1.7em;
											&>li{
												&>a{
													display: block;
													padding-left: 1.2em;
													position: relative;
													color: var(--textColor);
													font-size: 1.2rem;
													font-weight: 500;
													&::before{
														position: absolute;
														top: .05em;
														left: 0;
														content: '・';
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
	.drawer-cat02{
		&>ul{
			&>li{
				&>ul{
					&>li{
						&>a{
							padding-right: 1.5em;
						}
					}
				}
			}
		}
		.simple-accordion-is-animation .simple-accordion-btn{
			height: 14px;
			width: 14px;
			-webkit-border-radius: 50%;
			-moz-border-radius: 50%;
			border-radius: 50%;
			border:solid 1px var(--keyColor);
			transform: translateY(-50%);
			&::after,
			&::before{
				width: 8px;
				top: 5px;
				right: 2px;
				background: var(--keyColor);
			}
		}
	}
	.drawer-cat03{
		&>ul{
			&>li{
				&>a{
					margin-bottom: 1.0em;
				}
				.scroll-area{
					height: 60vw;
					position: relative;
					overflow: hidden;
					.cs-bar{
						position: absolute;
						top: 0;
						right: 0;
						width: 6px;
						background: var(--bgColor);
						height: 60vw;
						.cs-bar-inner {
							height: 60vw;
							position: absolute;
							top: 0;
							right: 0;
							width: 6px;
							.cs-drag {
								background: var(--bgColorSub);
							}
						}
					}
					.cs-content{
						padding-right: 1.0em;
						&>ul{
							&>li{
								&>a{
									display: block;
									padding-left: 1.5em;
									position: relative;
									color: var(--textColor);
									font-size: 1.6rem;
									font-weight: 500;
									&::before{
										position: absolute;
										top: .5em;
										left: 0;
										font-size: 1.5rem;
										content: '\f005';
										color: var(--keyColor);
										font-weight: bold;
										font-family: 'Font Awesome 5 Free';
										line-height: 1;
										-webkit-font-smoothing: antialiased;
										-moz-osx-font-smoothing: grayscale;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}
/* /side_category */

/* footer
------------------------------------------*/
/* .footer {
  display: none;
}
.sp-footer {
  display: block;
} */

.footer {
	margin: 8vw 0 0 0;
	padding: 8vw 4vw;
	.footer-main{
		.footer-logo{
	  width: 70vw;
	  margin: 0 auto 8vw;
		}
		.footer-nav{
			margin-bottom: 8vw;
			gap: 0;
			ul{
				display: block;
				li{
					a{
						font-size: 3.5vw;
					}
				}
			}
		}
		.footer-tel{
			margin-bottom: 10vw;
			h2{
				font-size: 4vw;
			}
			.tel-main{
				display: block;
				a,span{
					display: block;
					font-size: 7vw;
					img{
						margin-right: 1vw;
					}
				}
			}
		}
		.footer-copyright {
			font-size: 2.8vw;
			font-weight: 500;
		}
	}
}
.footer-btn{
	bottom: 15vw;
	right: 4vw;
	width: 25vw;
}
.pagetop-btn {
	bottom: 5vw;
	right: 4vw;
}
.pagetop-btn a {
	width: 10vw;
	height: 10vw;
	line-height: 10vw;
}


/* common
------------------------------------------*/
.common-block {
	padding: 8vw 4vw;
	h2{
		margin-bottom: 4vw;
		.ja{
			font-size: 6vw;
		}
		.en{
			font-size: 4vw;
		}
	}
}

/* home
------------------------------------------*/
.main-news{
	padding: 8vw 4vw;
	.main-news-main{
		ul{
			li{
				h3{
					height: auto;
					display: block;
					.date{
						margin: 0 1.0em;
					}
					a{
						display: -webkit-box;
						-webkit-line-clamp: 2;
						-webkit-box-orient: vertical;
						overflow: hidden;
						margin-top: .5em;
					}
				}
			}
		}
		.links{
			display: grid;
			grid-template-columns: repeat(1, 1fr);
			gap: 2vw;
			.cats{
				ul{
					display: grid;
					grid-template-columns: repeat(2, 1fr);
					gap: 2vw;
					height: auto;
					li{
						a{
							width: 45vw;
						}
					}
				}
			}
			.more{
				a{
					width: 45vw;
				}
			}
		}
	}
}

.main-banner {
	padding: 8vw 4vw;
	.main-banner-main{
		p{
			gap: 2vw;
		}
	}
}

.main-newitems{
	.main-newitems-main{
		ul{
			.slick-list{
				.slick-track{
					margin: -1vw;
					li{
						margin: 0 1vw;
					}
				}
			}
			.slick-arrow{
				top: 30vw;
				&::before{
					font-size: 10vw;
				}
				&:hover{
					opacity: .7;
				}
			}
			.slick-prev{
				left: -4vw;
			}
			.slick-next{
				right: -4vw;
			}
		}
	}
}

.main-ranking{
	.main-ranking-main{
		ul{
			grid-template-columns: repeat(2, 1fr);
			gap: 3vw 2vw;
			li{
				.image{
					margin-bottom: 2vw;
					.rank{
						width: 10vw;
						height: 10vw;
						line-height: 10vw;
						font-size: 4vw;
					}
				}
				.text{
					.stock{
						width: 20vw;
						height: 5vw;
						line-height: 5vw;
						font-size: 3vw;
					}
					.price{
						font-size: 4vw;
					}
				}
			}
		}
	}
}


.main-restock{
	.main-restock-main{
		ul{
			grid-template-columns: repeat(2, 1fr);
			gap: 3vw 2vw;
			li{
				.image{
					margin-bottom: 2vw;
				}
				.text{
					.stock{
						width: 20vw;
						height: 5vw;
						line-height: 5vw;
						font-size: 3vw;
					}
					.price{
						font-size: 4vw;
					}
				}
			}
		}
	}
}

.main-maker{
	.main-maker-main{
		padding: 3vw;
		ul{
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 2vw;
		}
	}
}

.main-category{
	.main-category-main{
		&>ul{
			&>li{
				&>a{
					height: 12vw;
					line-height: 12vw;
				}
				&>ul{
					padding: 2vw 0 4vw;
					grid-template-columns: repeat(1, 1fr);
					gap: .5em;
					&>li{
						&>a{
							font-size: 3.7vw;
							&::before{
								font-size: 3.2vw;
							}
						}
						&>ul{
							padding: .5em .7em 1em;
							grid-template-columns: repeat(2, 1fr);
							gap: 0 1em;
							&>li{
								a{
									font-size: 3.4vw;
									&::before{
										font-size: 3vw;
									}
								}
							}
						}
					}
				}
				&:nth-child(2){
					&>ul{
						grid-template-columns: repeat(1, 1fr);
					}
				}
			}
		}
	}
}
.main-shop{
	margin-bottom: 8vw;
	padding: 0 4vw;
	.texts{
		margin: -15vw auto 0;
		padding-top: 4vw;
		h3{
			font-size: 4.2vw;
			-ms-word-break: keep-all;
			word-break: keep-all;
		}
		.text{
			margin-bottom: 2em;
			font-size: 3.5vw;
			br{
				display: none;
			}
		}
		.data{
			gap: 2vw;
			.hours,.address{
				height: 30vw;
				border-width: 2px;
				font-size: 3.5vw;
				h4{
					font-size: 3.5vw;
				}
			}
		}
	}
}

.main-link{
	ul{
		grid-template-columns: repeat(1, 1fr);
		gap: 2vw;
		li{
			a{
				width: 92vw;
			}
		}
	}
}

.main-sns{
	a{
		width: 15vw;
		height: 15vw;
		font-size: 7vw;
	}
}


/* page
------------------------------------------*/

/* title */
.page-title {
	background-position: center right;
	margin-bottom: 5vw;
	.page-title-inner {
		padding: 0 4vw;
		height: 25vw;
		h1,p{
			font-size: 4vw;
			/* font-size: 7vw; */
		}
	}
}



/* breadcrumb */
.breadcrumb {
  display: none;
}

/* title */
.ec-pageHeader h1 {
  font-size: 2.5rem;
}

/* product list */
.ec-productListRole {
  display: block;
}
.ec-productListRole__main {
  width: 100%;
}
.ec-productListRole__side {
  display: none;
}
.ec-searchnavRole__counter span {
  display: none;
}
.ec-searchnavRole__counter span.ec-font-bold {
  display: block;
}
.ec-shelfGrid {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

/* product detail */
.ec-productRole .ec-grid2 {
  display: block;
}
.ec-productRole .ec-grid2__cell {
  width: 100%;
}
.ec-productRole .ec-grid2__cell:last-of-type {
  padding: 0;
  width: 100%;
}
.ec-sliderItemRole .item_nav {
  display: none;
}
.ec-sliderItemRole .slick-dots {
  display: flex;
  justify-content: center;
  margin: 10px 0 30px 0;
}
.ec-sliderItemRole .slick-dots li button {
  display: none;
}
.ec-sliderItemRole .slick-dots li:before {
  content: "";
  display: block;
  margin: 0 3px;
  width: 8px;
  height: 8px;
  background: var(--bgColor);
  border-radius: 4px;
}
.ec-sliderItemRole .slick-dots li.slick-active:before {
  background: var(--keyColorSub);
}

/* other common */
.ec-borderedDefs dl {
  display: block;
}
.ec-borderedDefs dl dt {
  margin: 0 0 10px 0;
  width: 100%;
}
.ec-borderedDefs dl dd {
  width: 100%;
}

/* login */
.ec-login .ec-grid2 {
  display: block;
}
.ec-login .ec-grid2 .ec-grid2__cell {
  width: 100%;
}
.ec-login .ec-grid2 .ec-grid2__cell:last-of-type {
  padding: 10px 0 0 0;
}

/* cart */
.page-cart .ec-grid3 {
  display: block;
}
.page-cart .ec-grid3 .ec-grid3__cell2 {
  width: 100%;
}
.page-cart .ec-grid3 .ec-grid3__cell {
  width: 100%;
}
.ec-guest {
  margin: 30px 0 0 0;
  padding: 30px;
}
.ec-cartRole__totalText {
  margin: -10px 0 20px 0;
  padding: 10px;
  border: var(--borderColor) 1px solid;
  border-radius: 3px;
}
.ec-cartHeader {
  display: none;
}
.ec-cartRow__amountColumn {
  width: 26%;
}
.ec-cartRow li.ec-cartRow__subtotalColumn {
  display: none;
}
.ec-cartRow__sutbtotalSP {
  opacity: 0.7;
  display: block;
  font-size: 1.3rem;
}
.ec-cartRow__amount {
  display: none;
}
.ec-cartRow__amountSP {
  display: block;
  margin: 0 0 10px 0;
}
.ec-cartRole__actions .ec-blockBtn--action,
.ec-cartRole__actions .ec-blockBtn--cancel {
  margin: 10px 0 0 0;
  width: 100%;
}
.ec-orderRole {
  display: block;
}
.ec-orderRole__detail {
  width: 100%;
}
.ec-orderRole__summary {
  width: 100%;
}
.ec-selects .ec-select__delivery {
  margin: 0 0 10px 0;
  width: 100%;
}
.ec-AddAddress__selectAddress {
  margin: 0 0 10px 0;
}

/* mypage */
.ec-navlistRole__navlist .ec-navlistRole__item {
  margin: 0 0 1px 0;
  width: 100%;
}
.ec-navlistRole__navlist .ec-navlistRole__item a {
  display: block;
  padding: 10px;
  font-weight: bold;
  text-align: center;
  background: var(--bgColor);
  border-radius: 3px;
}
.ec-navlistRole__navlist .ec-navlistRole__item.active a {
  color: var(--bodyBgColor);
  background: var(--keyColorSub);
}
.ec-welcomeMsg {
  margin: 30px 0;
  padding: 0 0 30px 0;
  text-align: center;
  border-bottom: var(--borderColor) 1px solid;
}
.ec-historyRole__contents {
  display: block;
}
.ec-historyRole__header {
  margin: 0 0 20px 0;
  width: 100%;
}
.ec-favoriteRole__header {
  margin: 0 0 20px 0;
}
.ec-favoriteRole__itemList {
  display: flex;
  flex-wrap: flex;
  margin: 0 -15px;
}
.ec-favoriteRole__itemList li {
  position: relative;
  margin: 0 0 30px 0;
  padding: 0 15px;
  width: 25%;
}
.ec-favoriteRole__itemList li a.ec-closeBtn--circle {
  display: block;
  position: absolute;
  top: 5px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 3px;
}
.ec-favoriteRole__itemList li a.ec-closeBtn--circle:before,
.ec-favoriteRole__itemList li a.ec-closeBtn--circle:after {
  content: "";
  display: block;
  position: absolute;
  top: 19px;
  left: 10px;
  width: 20px;
  height: 2px;
  background: var(--keyColorSub);
  transform: rotate(45deg);
  border-radius: 1px;
}
.ec-favoriteRole__itemList li a.ec-closeBtn--circle:after {
  transform: rotate(135deg);
}
.ec-favoriteRole__itemList li a.ec-closeBtn--circle img {
  display: none;
}
.ec-favoriteRole__itemTitle {
  margin: 10px 0 0 0;
}
.ec-withdrawRole .ec-icon,
.ec-withdrawConfirmRole .ec-icon {
  display: none;
}

/* blog list */
.ec-blogListRole,
.ec-blogDetailRole {
  display: block;
}
.ec-blogListRole__main,
.ec-blogDetailRole__main {
  width: 100%;
}
.ec-blogListRole__side,
.ec-blogDetailRole__side {
  width: 100%;
}
.ec-blogListRole__main ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.ec-blogListRole__main .item {
  display: block;
}
.ec-blogListRole__main .image {
  width: 100%;
  height: auto;
}
.ec-blogListRole__main .text {
  margin: 20px 0 0 0;
  padding: 0;
  width: 100%;
}
.ec-blogListRole__main .text h3 {
  font-size: 1.8rem;
}
.ec-blogListRole__main .text p {
  display: none;
}
.ec-blogListRole__main .text .meta {
  margin: 10px 0 0 0;
}
.ec-blogListRole__main .text .meta .categories {
  display: none;
}

/* blog detail */
.ec-blogDetailRole__main h1 {
  font-size: 2.5rem;
}
.ec-blogDetailRole__main .sns ul li a .fa {
  margin: 0;
}
.ec-blogDetailRole__main .sns ul li a span {
  display: none;
}
.ec-blogDetailRole__main-content h2 {
  font-size: 2.2rem;
}

/* blog side */
