/* Layout
------------------------------------------*/
.main {
  padding: 0 4vw;
}

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

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

.footer {
  margin: 10vw 0 0 0;
}
.footer-nav ul {
  display: block;
  margin: 0 auto;
  max-width: 300px;
}
.footer-nav ul li {
  text-align: left;
  border-bottom: var(--borderColor) 1px solid;
}
.footer-nav ul li a {
  display: block;
  position: relative;
  padding: 10px 10px 10px 20px;
  font-size: 1.3rem;
}
.footer-nav ul li a:before {
  content: "\f105";
  position: absolute;
  top: 10px;
  left: 5px;
  font-family: FontAwesome;
}
.footer-logo {
  width: 50vw;
}
.footer-copyright {
  font-size: 1rem;
}

/* home
------------------------------------------*/
.mainvisual{
	text-align: center;
	margin: 0 -30%;
}
.main-message{
	height: auto;
	padding: 10vw 4vw;
	h2{
		font-size: 6vw;
		margin-bottom: 4vw;
		strong{
			font-size: 7vw;
		}
		&::before,
		&::after{
			display: block;
			content: '';
			position: absolute;
			bottom: 0;
			width: 6vw;
			height: 8vw;
		}
		&::before{
			left: -10vw;
		}
		&::after{
			right: -10vw;
		}
	}
	p{
		font-size: 4vw;
	}
}
.main-cat{
	margin: 0 -4vw;
	padding: 10vw 4vw;
	h2{
		margin-bottom: 5vw;
		font-size: 7vw;
		span.sub{
			margin-top: 2vw;
			height: 8vw;
			line-height: 8vw;
			font-size: 4vw;
			-webkit-border-radius: 4vw;
			-moz-border-radius: 4vw;
			border-radius: 4vw;
		}
		&::before{
			left: -2vw;
		}
		&::after{
			right: -2vw;
		}
	}
	.main-cat-main ul{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 3vw 2vw;
	}
}

.main-cat01{
	h2{
		&::before{
			width: 15.7vw;
			height: 9.5vw;
		}
		&::after{
			width: 8.1vw;
			height: 10.4vw;
		}
	}
}
.main-cat02{
	background: var(--bgColorSub);	
	h2{
		&::before{
			width: 8.1vw;
			height: 10vw;
		}
		&::after{
			width: 13.1vw;
			height: 9.7vw;
		}
	}
}
.main-cat03{
	background: var(--bgColorSub02);	
	h2{
		&::before,
		&::after{
			top: 2vw;
		}
		&::before{
			width: 11.5vw;
			height: 4.1vw;
		}
		&::after{
			width: 6.5vw;
			height: 8vw;
		}
	}
}
.main-newitems{
	padding: 10vw 4vw;
	h2{
		margin-bottom: 5vw;
		font-size: 7vw;
		span{
			font-size: 4vw;
		}
	}
}

.main-products-list ul {
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.main-concept{
	padding-bottom: 10px;
	.image{
		margin: 0 -4vw;
	}
	.texts{
		margin-top: -5vw;
		padding: 4vw;
		h2{
			margin-bottom: 4vw;
			font-size: 6vw;
			span.sub{
				font-size: 5vw;
				border-bottom: var(--keyColorSub) 3px dotted;
			}
			strong{
				font-weight: 700;
				color: var(--keyColor);
			}
		}
		.text{
			font-size: 4vw;
		}
	}
}
.main-blog{
	margin: 0 -4vw;
	padding: 10vw 4vw;
	h2{
		margin-bottom: 4vw;
		font-size: 6vw;
		span.sub{
			font-size: 5vw;
		}
	}
	.main-blog-main{
		ul{
			margin-bottom: 5vw;
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 2vw;
		}
	}
}

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

/* title */
.page-title {
  margin: 0 0 30px 0;
}

/* 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 */
