:root {
	--textColorSub: #0058cd;
}

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

/* header
------------------------------------------*/
.header,
#float-btn ,
#gnav-wrapper{
	display: none !important;
}
.sp-header {
	display: block;
	.sp-header-inner{
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
		padding: 0;
		height: 60px;
		.sp-header-logo{
			width: auto;
			text-align: left;
			margin-left: 5px;
			img{
				display: block;
				width: auto;
				max-height: 45px;
			}
		}
		.sp-header-guide{
			display: flex;
			align-items: center;
			justify-content: flex-end;
			gap: 15px;
			height: 60px;
			.drawer-btn{
				width: 60px;
				height: 60px;
				background-color: #0058cd;
				span{
					width: 20px;
					height: 2px;
					background-color: #444;
					-webkit-transition: .2sease-out;
					transition: .2sease-out;
					position: absolute;
					top: 50%;
					left: 50%;
					margin: 0 0 0 -10px;
					background: #fff;
				}
				&:before,
				&:after{
					background: #fff;
					width: 20px;
					height: 2px;
					margin: 0 0 0 -10px;
					top: 50%;
					left: 50%;
				}
				&:before{
					-webkit-transform: translateY(-6px);
					transform: translateY(-6px);
				}
				&:after{
					-webkit-transform: translateY(6px);
					transform: translateY(6px);
				}
			}
		}
	}
}




/* drawer
------------------------------------------*/
.drawer-bg{
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 60px;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 88, 205, 0.9);
	transition: all 0.2s ease;
	z-index: 9998;
}
.drawer-bg.open{
	opacity: 1;
	visibility: visible;
}
.drawer-close{
	cursor: pointer;
	display: block;
	position: fixed;
	top: 0;
	left: auto;
	right: 0;
	width: 60px;
	max-width: 60px;
	height: 16.7vw;
	background: #0058cd;
}
.drawer-close:before,
.drawer-close:after{
	content: '';
	display: block;
	position: absolute;
	top: 7.5vw;
	left: 5vw;
	width: 6.5vw;
	height: 0.9vw;
	background: #fff;
	transform: rotate(45deg);
}
.drawer-close:after{
	transform: rotate(135deg);
}
.drawer{
	opacity: 0;
	visibility: hidden;
	overflow: auto;
	position: fixed;
	top: 16.7vw;
	right: -90vw;
	width: 90vw;
	max-width: 90vw;
	height: 100%;
	background: rgba(0,54,88, 0.8);
	transition: all 0.2s ease;
	transform: none;
	z-index: 9999;
	overflow: scroll;
}
.drawer.open{
	opacity: 1;
	visibility: visible;
	transform: translateX(-90vw);
}
.drawer a{
	color: #fff;
}
.drawer-search{
	input{
		&::placeholder{
			color: #fff;
		}
	}
	button{
		color: #fff;
	}
}
.drawer-icon ul li a{
	color: #0058cd;
}

.header-search{
	padding: 2vw 4vw;
	.header-search-main{
		.searchform{
			display: grid;
			grid-template-columns: repeat(1, 1fr);
			gap: 1vw;
			width: 92vw;
			.ec-headerSearch__category{
				width: 100%;
				select{
					width: 92vw;
					height: 36px !important;
					line-height: 36px !important;
				}
			}
			.ec-headerSearch__keyword{
				width: 92vw;
				.ec-input{
					display: block;
					position: relative;
					input{
						width: 92vw;
						padding-left: 1.0em;
						height: 36px !important;
						line-height: 36px !important;
						border: 1px solid #ced4da;
						border-right: .25rem;
						&::placeholder {
							color: var(--textColor);
						}
					}
					button{
						position: absolute;
						top: 0;
						right: 1vw;
						bottom: 1vw;
						padding: 0;
						border: none;
						background: none;
						width: 25vw;
					}
				}
			}
		}
	}
}

.mainvisual{
	overflow: hidden;
	.slick-list{
		padding: 0 !important;
	}
}

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

.footer-info{
	padding: 0 4vw;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 4vw;
	.calendar{
		width: 100%;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 2vw;
		.calendar-main{
			width: 100%;
			.shop-calendar-inner{
				display: grid;
				grid-template-columns: repeat(1, 1fr);
				gap: 2vw;
				.calendar-once{
					width: 100%;
					table{
						width: 100%;
					}
				}
			}
		}
	}
	.sns{
		width: 100%;
		margin: 0 auto;
		ul {
			display: flex;
			gap: 3vw;
			justify-content: center;
			align-items: center;
		}
	}
}

.footer-map {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 2vw;
	margin-bottom: 3vw;
	width: 100%;
	.googlemap {
		width: 100%;
		height: 80vw;
		margin-bottom: 2vw;
		iframe {
			height: 80vw;
			width: 100%;
		}
	}

	.googleview {
		width: 100%;
		iframe {
			width: 100%;
		}
	}
}
.footer-maker {
	padding: 6vw 4vw;

	h2 {
		margin-bottom: 3vw;
	}

	ul {
		margin-bottom: 5vw;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 3vw 2vw;
	}

	.text {
		font-size: 3.4vw;
	}
}

.sp-footer {
	padding-bottom: 50px;
	background-color: rgba(0, 88, 205, .1);

	.sp-footer-inner {
		padding: 20px 20px 20px;
		display: block;
	}

	.footer-about {
		text-align: center;
		font-size: 3.1vw;
		h2{
			font-size: 3.1vw;
			font-weight: 400;
		}
		a{
			color: inherit;
		}
	}
	.footer-hr {
    margin: 20px 0;
    border-color: #dedede;
}

	.footer-nav {
		text-align: center;
		ul{
			li{
				margin-right: 10px;
				a{
					color: inherit;
					font-size: 3.1vw;
				}
			}
		}
	}

	.footer-copyright {
		padding: 5px 0;
		text-align: center;
		font-size: 2.8vw;
		background: none;
	}
}

.pagetop-btn {
	bottom: calc(50px + 10vw);
	right: 2vw;
	width: 12vw;
}

/* fixed-footer
------------------------------------------*/
.fixed-footer {
	border-top: 1px solid var(--bodyBgColor);
	display: block;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: var(--keyColorSub);
	z-index: 999;
	height: 50px;
	ul{
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		li{
			a{
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				text-align: center;
				color: var(--bodyBgColor);
				font-size: 2.6vw;
				height: 50px;
				gap: .3em;
				i{
					display: block;
					font-size: 4.5vw;
				}
			}
			&:not(:last-child){
				border-right: 1px solid var(--bodyBgColor);
			}
		}
	}
}
/* home
------------------------------------------*/
.main-products-list {
	padding: 6vw 4vw;

	.btns {
		margin: 5vw auto 0;
	}

	h2 {
		margin-bottom: 3vw;
	}

	ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 3vw 2vw;
	}

	.image {
		margin: 0 0 3vw 0;
	}

	&-code {
		font-size: 3.7vw;
		span {
			font-size: 3.3vw;
		}
	}

	.text {
		.prices {
			font-size: 3.7vw;
		}

		.price03 {
			color: var(--keyColor);
		}
	}
}

.main-products-list-newitems{
	ul{
		li{
			.image{
				.new{
					bottom: 2vw;
					left: 2vw;
					width: 10vw;
				}
			}
		}
	}
}


.main-news{
	padding: 6vw 4vw;
	h2{
		margin-bottom: 3vw;
	}
	.main-news-inner{
		ul{
			display: grid;
			grid-template-columns: repeat(1, 1fr);
			gap: 3vw 0;
			li{
				padding-right: 0;
				display: flex;
				justify-content: space-between;
				.image{
					width: 30%;
				}
				.texts{
					width: 68%;
					h3 {
						a{
							font-size: 3.7vw;
						}
						.date {
							font-size: 3.5vw;
						}
						.cat {
							a{
								font-size: 3.5vw;
								height: 5vw;
								line-height: 5vw;
							}
						}
					}
				}
			}
		}
		.btns{
			margin: 5vw auto 0;
			text-align: center;
		}
	}
}

.main-guide {
	padding: 6vw 4vw;

	h2 {
		margin-bottom: 3vw;
	}

	.faq {
		margin-bottom: 12vw;
	}

	.main-guide-main {

		ul {
			grid-template-columns: repeat(2, 1fr);
			gap: 2vw;
		}
	}
}

.main-banner{
	margin: 0;
	padding: 6vw 4vw;
	ul{
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 2vw;
		li{
			img{
				width: 100%;
			}
		}
	}
}

.main-reason {
	padding: 6vw 4vw;

	h2 {
		margin-bottom: 3vw;
	}
	ul {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 4vw;

		li {
			.image {
				margin-bottom: 2vw;
			}

			h3 {
				margin-bottom: 1.5vw;
				height: 8vw;
				padding-left: 1.5em;
				font-size: 5vw;
			}
		}
	}
}


.main-category {
	padding: 6vw 4vw;
	h2 {
		margin-bottom: 3vw;
	}

	ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2vw;
	}
}
/* page
------------------------------------------*/

/* title */
.page-title {
	margin-bottom: 10vw;
	padding: 0 4vw;
}

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


.ec-shelfGrid li.ec-shelfGrid__item{
	.prices {
		display: block;
		font-size: 3.7vw;
	}
}